プロフィール

  • Webプログラマー。Go、PHP、JavaScript/TypeScriptをメインでやってます。
  • IT関連のお仕事経験は10年以上
  • テストを大事にしたい派です。システムの設計・デザイン・アーキテクチャも重要だとは思っていますが、同じくらいか、それ以上にテストを重要だと思っています。 どのような場合でも、テストの作り方を工夫すれば、テストが足かせになることは無いと思っています!!
  • インフラやデータベースは基本的なことはだいたいできますが、専門家というわけではありません。
  • GitHub:https://github.com/yrichika
    • まだ公開できてるリポジトリ数少ないですが、これから追加していきます!
プログラミング言語詳細
PHP最初に使ったプログラミング言語がPHPで、そこから流れでPHP/Laravelをメインで使ってます。
JavaScript/TypeScriptReact/Next.jsの開発がメインです。JavaScriptよりTypeScript派で、npmよりyarn派です。WebpackからViteに切り替えました。
Go一番気に入っている言語です。自分のプロジェクトはメインで使っています。
GoでもJestのようにテストが書ける テストフレームワークGest を作ってみました。
CSS/SASSBootstrap, Foundation, Tailwind, Bulma, MUI, Vuetify, etc... CSSよりもフレームワークで作ることがメインになってしまって、CSSは忘れがち、苦手な方です。このサイトのデザインから推測できると思いますが、デザインも得意ではありません。それでも、フレームワークと素CSSのごちゃごちゃの地獄も経験し、目的のレイアウト作成は常になんとか達成しています
SQL基本的なことはだいたい書けますが、あまりガリガリSQLを書くようなことはしません。データ処理はアプリケーション側で書き、データの参照・保存だけをSQLを使うことが多いです。ORMを使う機会の方が多いので、時々忘れます😭
シェルスクリプトちょっとした作業の効率化や、コマンドエイリアスなどでよく使います。Dockerコンテナ環境の構築や、普段使うMacやWSL環境の設定などでもよく使います。
インフラ/クラウドなど詳細
AWSECSを使ったWebアプリにあるよくある/基本的な構成(ALB, RDS, ElastiCache, S3)程度なら1から構築できます。他のリソースを使った環境も構築できますが、普段そんなに手広く使うわけではないので、調べながらなんとかできる程度です。クラウド・インフラエンジニア並の知識というわけではなく、「クラウド・インフラエンジニアとプログラマーの橋渡しができる」程度の知識だと思っています。
TerraformAWSで自分ができる範囲ならだいたいできます(IAM権限あたりで時々つまずく)。フォルダ分けは細かくしてリソース管理する方です。
GitHub Actions必要に応じて使っています。GitHub Actionsも、必要な時に使うだけなので、調べながらやってるという程度です。
DockerDockerfile、docker-compose.ymlで目的のイメージ・コンテナ作成はだいたいできると思っています。dockerのコマンドはgitコマンド同様、よく忘れます。
Kubernetes勉強中です🤯 使う前に覚えることが多い・・・
Linux基本的にUbuntu専門です。他のディストリビューションでもだいたい何とかなりますが、慣れてないので時間がかかります。インフラメインの業務をしていた時は、OSやセキュリティの設定、サーバーを立ち上げたりしていました。今は離れてしばらく経つので、いきなりスムーズにできるわけではないですが、やれば多分思い出します(?)。カーネルの細かいこと等は全然分かりません。
設計・その他詳細
テスト駆動開発テスト重視派です。テストによって、モノ、考え、処理などの単位をちょうどよく分けることもできるため、設計としても使っています(複雑・コード量が多いテストになってしまうのは設計が間違ってるかも!)。できるだけテスト書きたいですが、「テストを書く時間がない!」という事情も分かります😭
ドメイン駆動設計知識はあり、現場での経験もありますが、未だに真髄が見えてません。悩みながら・勉強しながらDDD設計、という日々です。
マイクロサービスマイクロサービスのパターンやツール等勉強中🤯 マイクロサービス構造のプロジェクトでの経験もあります。ただ、設計的な部分はDDD同様修行中です。
データベース設計は実務で頻繁に行っています。MySQL, PostgreSQL, Oracle, Aurora等いろいろ触ってますが、それぞれの特徴とか、パフォーマンス・チューニングとかは、全然詳しくありません!
資格詳細
Oracle Certified
Java Programmer, Gold SE 11
知った気になっていたJavaをちゃんと理解したくなり取得しました (2022/4)
AWS Certified
Cloud Practitioner
AWSの全体を把握するために勉強しました(2022/4)。全体を把握した後は、実践で時々ECSでシステム作ったりしています。
TOEIC920点。学生のころ(2005年と大昔ですが)に取得しました。5年ほどアメリカに住んでいました。
LPIC-3 Coreインフラに主に関わっていたので、LPICを取得(2013年)しました。
CCNAこちらもLPIC同様インフラに関わっていたので取得しました(2013年)。今はCisco製品まったく触ることないですが、AWSのVPCの理解に役立っています。