2024年に行われた/行われるPHP系カンファレンスの実行委員長ズをお招きしていろいろお話を伺います。
「コンピュータは0と1しか処理できない」とよく言われています。
ビット演算があったり、浮動小数点演算があったり、文字コードが16進数だったりと、PHPerのみなさんもなんとなく実感としてはあると思いますが、なぜ「0と1しか処理できない」のでしょうか。
このトークではアナログの世界・電気回路でデジタルの世界・コンピュータ処理がどの様に表現されるのか、私たちがC言語やPHPで書いたプログラムの実行結果がディスプレイやスピーカーで認識できるところまでがどの様にできているかをお話します。
ふだんの活動ではあまり気にすることのないコンピュータの基本的な仕組みの話になりますが、このトークを聞いたみなさんが今までより少し解像度の上がった目でコンピュータを楽しめることを願っています。
Chatwork ではリリースから10年以上経った現在も機能の大部分はPHPで実装されています
PHPのアプリケーションの大部分は Amazon EKS 上で運用されていますが、現在も100以上のバッチの処理が Amazon EC2 で運用されています
そして Amazon EKS と Amazon EC2 の 2重運用となっていることから PHP のバージョンアップや環境変数周り、インフラ管理等が負担となっていました
これを解決するために Amazon EC2 で動いているバッチを Amazon EKSへ移す取り組みを始めています
本セッションでは Amazon EC2で動いているレガシーな PHP アプリケーションを、どのように Amazon EKS へ移行しているのか? 実際に移行するにあたってどのような問題が発生したのか、今後どのように進めていくのか?の事例を紹介したいと思っています
オープンロジのシステムは10年ものということもあり技術的負債が溜まってきており、開発生産性に影響を及ぼしています。
今後の事業拡大に向けて現在負債解消に向けた機運が高まっており、全社的に取り組みを開始しています。
その中で私はアプリケーションの負債解消専門チームに所属しており、システムの心臓部である巨大で重要な処理「出庫依頼作成処理」のリファクタリングと向き合っています。
リファクタリング自体はまだまだこれからという感じですが、
・どのような負債が溜まってしまっているのか
・どのようなステップでリファクタリングを実施しようとしているのか
・今は何をやっているのか
・どのような工夫をしているのか
などについてお話できればと思います。
育成について悩んだことはありませんか?
2023年1月。エンジニアのマネージャーになり、人生ではじめてメンバーマネジメントをすることに!
メンバーをどうやって育成したらいいのか、どう向き合ったらいいのかはじめはわからないことだらけでした。育成されるメンバー側も悩むことがあると思います。
私たちは二人三脚で1年間かけてさまざまな施策を行い、改善を繰り返してきました。
例えば…
・お互いの価値観を共有する
・毎日夕会
・slackのtimesチャンネル活用
・ペアレビュー
など
本セッションでは、中途若手社員をどうやって育成していけば良いのか悩みながらも、一緒に試行錯誤した1年間をマネージャー視点とメンバー視点の両軸から振り返ります。
対象者
・メンバー育成のナレッジを知りたい方
・これからメンバー育成を任されたい方
・もっと成長確度をあげていきたい若手エンジニア
サイボウズのGaroon開発チームでは「完成度低いの歓迎LT大会」を不定期に開催しています。
このLT大会の目的は、登壇のハードルを下げることです。
https://note.com/sakay_y/n/n4ffd91ad8a09
昨年のPHPerKaigiでは、スポンサーセッションとアンカンファレンスで「完成度低いの歓迎LT大会」出張版を開催しました。
https://fortee.jp/phperkaigi-2023/proposal/b3cf069f-e7bb-44e5-97cc-4f2def2a6aa6
https://twitter.com/tomio2480/status/1639136756238008325
昨年は「完成度が高い」という指摘を多数いただいてしまったので、今年こそ「完成度が低い」状態でもどんどん登壇する姿勢を見せていきたいと思います。
DDDの戦術パターンや、複雑化してしまったシステム、
マイクロサービスアーキテクチャなどとうまく付き合うためにはイベント駆動型のシステムが必要不可欠です。
再度ES+CQRSという仕組みに注目されている方も多いのではないでしょうか?
APIベースのアプリケーションではなぜ難しくなってしまうのでしょうか?
なぜES+CQRSなどが必要になっていくのでしょうか。
PHPだけで実現するには複数の手法を組み合わせる必要がありますが、
本セッションでは実際にES+CQRSを導入する際のポイントや、アンチパターン、
ドメインモデルからの落とし込み方、他言語での実装方法なども踏まえて簡単に解説します!
天然の問題の養殖の問題より奇なり。
現場で見つかった驚きの事実を皆様にお送りします。
※フィクションです
PHP8が2020年11月26日に登場してから、日々進化し続けているPHP。
つい最近はPHP8.3の登場もあり、以前の言語とは比べない程に型システムの改善や、パフォーマンス向上されてきました。
一部機能を取り上げれると以下の改善があります。
筆者も普段はPHP8で業務のコードを書いて、その恩恵を受けています。
このプロポーザルでは、PHP8の沢山ある機能の中でも実際の業務を通じて、学んだ事のアウトプットとしてPHP8で堅牢にコード書くTipsについて紹介します。
エンジニアは開発だけではなく、仲間集めを会社から求められることもあります。
多くの採用フローでは最初にカジュアル面談というステップがあり、候補者に会社について興味を持ってもらう場が存在します。
採用フローの入り口であり、ここを上手くできなければその後の面接に繋がらない大切な会ですが、慣れるまではなかなか上手く行かなかったり、何話したらいいのか分からないことも多いと思います。
自分もここ1年ほどで週1〜3回カジュアル面談を担当しましたが、最初はめちゃめちゃ難しかったです。
この経験を踏まえて、採用におけるカジュアル面談ってどういう準備をして、何を話して、どうやって次の面接につながればいいのかお話します。
BEAR.Sundayの分散キャッシングフレームワークは、クライアントサイドとサーバーサイドのキャッシュ管理を統合することで、Webアプリケーションの堅牢性とパフォーマンスを大幅に向上させます。このキャッシングフレームワークは、静的な情報APIと動的な計算APIの2つのタイプに基づいて、それぞれ異なる戦略を採用します。従来のTTLキャッシュを超えて、依存管理を伴うイベントドリブンキャッシュ、静的と動的コンテンツを効率的に分離するドーナツキャッシュアプローチ、そしてネットワークキャッシュの重要性について詳しく解説します。
このプレゼンテーションは、単に特定のフレームワークの機能紹介に留まりません。DI(依存性注入)やAOP(アスペクト指向プログラミング)のようなソフトウェア設計の原則を組み合わせることで開かれる新たな可能性を探ります。REST原則に基づいてHTTPや最新のCDN機能を最大限に活用するキャッシュシステムの構築にも深く焦点を当てます。このセッションを通じて、参加者は技術的な理解を深めるだけでなく、設計者としての視点も獲得できるでしょう。
『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』(Boswell & Foucher)
エンジニアのみなさんなら、一度は読んだことがあるのではないでしょうか。
私はブライダル専門メディアを自社開発・運営している会社で保守開発を担当しており、
現在はサイトの一部機能を削除する案件にジョインし、開発を行っています。
Laravelで構築された弊社のサービスは、約20年続く結婚式場のクチコミサイトです。
改修に改修を重ね長年運用されてきたサイトの機能を削除することは、簡単ではありません。
例えば、以下のような問題に苦戦しました。
・表記揺れをしている、または意味を汲み取れない関数名・変数名である
・あちこちでクラスが継承され、メソッドやViewファイルの依存関係が複雑である
・おそらくもう二度と使われないプログラムをきれいさっぱり削除できているか、不安になる
この経験から、普段からシンプルで美しいコードで運用・保守していくことの大切さを痛感しました。
本トークでは、歴史ある大規模サービスの機能を削除する上で直面した問題と、そこから得た学びを共有します。
“機能削除”という観点から、『リーダブルコード』をどのように意識して実践していくべきか、一緒に考えませんか?
ソフトウェア開発において、品質と生産性の向上は常に追求される目標です。
しかし、これらの目標を達成するための手段として、コードレビューの重要性がしばしば見落とされます。
本セッションでは、
・効果的なPRテンプレートの作成方法
・レビューイが良いコードレビューを受けるためのポイント・テクニック
・レビュアーがコードレビューをする上で気をつけるべきポイント・テクニック
などの我々が実際に取り組んできた効果的なコードレビューの実施方法とその重要性について解説します。
「コードレビューをどのように行えばよいかわからない」「他のチームはどのようにコードレビューを行っているのか知りたい」という方々にとって、
本セッションは有益な情報を提供します。