私たちは「はたらこねっと」という求人広告サービスを開発しています。
「はたらこねっと」は2000年からサービスを開始しました。サービス開始以降何度かリプレイスを行っていますが、レガシーなコードがまだまだ残ってしまっている状況です。
そんなはたらこねっとに残ってしまっている技術的負債やレガシーコードを、PHPInsightsで可視化する取り組みを開始しました。
本トークでは、PHPInsightsを利用してコードを解析し、技術的負債を特定する方法について紹介します。
技術的負債の可視化にご興味のある方におすすめのトークです!
PHPはインタプリタ言語であり、Zend EngineによってPHPコードが「OPcode」という中間表現にコンパイルされます。
またOPcodeは、OPcacheを有効にすることで共有メモリ上にキャッシュされるものです。
※OPcacheとは、予めコンパイル済みのバイトコード(OPcode)を共有メモリに用意し、パフォーマンスを向上させる仕組みです。
ではPHPコードから変換されたOPcodeを読んだことはありますか?
本トークでは下記の内容について話すことによって、PHPコードから変換されたOPcodeと慣れ親しみます。
このLTを聞き、PHPコードが内部でどのようなOPcodeに変換されるかを目の当たりにすることで、PHP処理系内部や低レベルへの興味が掻き立てられることでしょう。
みなさん、commitで物語は書いていますでしょうか?私は書いています。
commitとは「読み手を意識して書くもの」、すなわち物語なのです。
commitは歴史に残る重要な資産と考えている私のcommitの積み方を聞いてください!
共感したら始めてみて欲しいです!
私がcommitを積む上で気にしていること
現在、私はPHP5.2で稼働しているレガシーアプリケーションのバージョンを最新の8.2に上げるプロジェクトに参加しています。
このプロジェクトは、7系へのバージョンアップをスキップするという挑戦的なプロジェクトで、さらに、現状は使用中のフレームワークが古かったり、テストがほとんど書かれていないという状況でもあります。
このような制約がある中で、「バージョンを8.2に上げて、アプリケーションを問題なく動かす」という目的を達成するために私が今考えている戦略についてお話しします。
このプロジェクトは今まさに進行中であるため、もっといい案があったり同じような課題を解決したことがある方がいれば助けていただけると嬉しいです!
バージョンアップのプロジェクトは多くの企業で共通の課題であるため、お話しする内容が皆さんの取り組みの一助となれば幸いです!
本LTでは、入社半年を迎えるエンジニアの私が、社内外で主体的に参加・主催したカンファレンス・勉強会でのエピソードや取り組み、そこから得た学びを紹介します。そして、少しだけ未来の自分に伝えたいメッセージをお話します。
エンジニアを取り巻く環境はここ数年で目まぐるしく変化しています。リモートワークの増加によってエンジニアリングのスタイルやコミュニケーション方法も大きく変わりました。
人と技術、人と人の出会いの場となるオフラインカンファレンスや勉強会のニーズの高まりを改めて感じる機会が増えています。
本LTは、PHPに直接関連する内容ではありません。私が過去に参加した様々なカンファレンスや勉強会から得た学びについて、多くの方々に共感していただけるような体験談をお届けしたいと思います。
そして、今を生きるエンジニアとして、未来の自分に送るタイムカプセルになるようなLTができればと思います。
~君はそのアルファベットの意味を考えたことはあるか?~
技術的な話題には、数多くの"略語"が利用されます。
技術的な名称は英語であるため、「PHP」や「JIT」などアルファベット3文字程度の略称が用いられることが多いでしょう。
しかし、その略語の正式な名称、または語源をご存じでしょうか?
正式名称を知れば、その略語の正体が見えてくる??
本トークではエンジニアになじみ深い"略語"をクイズ形式で紹介します。
私は沖縄で約6年間システム開発会社を経営してます。
最初は1人で始めた会社でしたが、今は全体で12人、エンジニアは8人となりました。
これまで採用活動でやってきたことや地方での採用事情をお話しできればと思います。
・エンジニア向けイベント開催
・未経験の人を採用してエンジニアとして育成
・地方に即戦力エンジニアはどれだけいるのか?
・地方でスカウト媒体を使ってエンジニアは採用できるの?
・地方にエンジニア向け勉強会ってあるのか?
プルリクのサイズは小さい方が良い。
ただし大きい/小さいの定義は人それぞれ。
大きいかな?小さいかな?を自身で気付くタイミングがない。
ということで大きい/小さいを定義して、プルリク作成時に気付ける/意識できるような仕組みをGithub Actionsに作ってみました!
皆さん! 何かしらcomposerコマンドを叩いたことがありますか?
おそらくこの会場に足を運んでくださっている皆さまなら、何回も叩いたことがあると思います!
しかし、どうでしょう?
パッケージの導入や依存関係の管理をサポートしてくれる神ツールだと思いながら、特定のコマンドだけなんとなく叩いていませんか?
ComposerはPHPシステム開発現場において、大体どこでも導入されているが当たり前すぎてあまり普段気にかけてやれない、、、そんな技術だと思います。
このLTでは、Composerのすごいところ、良いところを5分間できる限り話します!
具体的にはこんな話をします。
・Composer単体でのinstallからパッケージ導入までの話
・Composerがおすすめパッケージを勧めてくれる話
・痒い所に手が届くComposerコマンドの話
・Composerへの感謝の言葉