青い豆腐 みなさんの人生を振り返った時、おおきな分岐点がいくつかあると思います。
そして、ほとんどの人はその分岐点の中に「進路(進学先)選択」があるのではないでしょうか。
私が高校受験をするとき、大いに影響を受けたのは漫画『桜蘭高校ホスト部』です。
高校卒業後は大学に進学しましたが、あの高校に通っていなければ大学進学先も変わっていただろうことを思うと、『桜蘭高校ホスト部』は私の人生に最も大きな影響を与えた作品といえます。
『桜蘭高校ホスト部』が好きすぎて漫画の編集者になりたかった時期もあります。
しかし『桜蘭高校ホスト部』の出版社しか考えられず、就活にやる気が出ないまま色々あってエンジニアとして働く今があります。
作中に出てくるセリフや価値観で、今でも大切にしているものがあります。
「人生何事も経験」「勉強ばかりしていても頭でっかちになるだけで人に寄り添えることはできない」
人の個性を尊重する心も『桜蘭高校ホスト部』で学びました。
今回のトークでは、実際に進路選択の時にどのような影響を受けたのかやどんな時に上記のセリフを思い浮かべているか、どのような価値観を持つようになり、それが人生のプラスになっていると思うかについてご紹介します。
このトークを聞いてみなさんが本を手に取ってもらえると嬉しいです!
Shunki Tamura 日々、トラフィックを捌き、バグと戦い、複雑な仕様をコードに落とし込む私たちバックエンドエンジニア。時に「動いて当たり前」とされ、その苦労や創造性が見過ごされていると感じることはないでしょうか。
本トークでは、アメリカの思想家アイン・ランドの代表作『肩をすくめるアトラス』を紹介します。この物語は、「世界を支えるアトラス」=「知性によって価値を生み出す者たち」が、理不尽な搾取に対して「肩をすくめる(ストライキする)」ことで、世界がどうなるかを描いています。
現代の「アトラス」は、まさにエンジニアです。
技術に命を注ぐこと、良いプロダクトを作ろうと足掻くこと、そしてイノベーションを追求することは、単なる労働ではなく、人間として最も尊い活動(Noble Activity)であるということを、この本を通して再確認しませんか?
明日のコミットに、確かな誇りを宿すための一冊です。
小泉岳人 ・本屋で探したけれど、聞いたタイトルと違っていて、見つからなかった本はありませんか?
・薦められて読んでみたものの、「悪くはないけど、そこまで刺さらなかった」という本はありませんか?
・一方で、その本をきっかけに仲間が増えたことはありますか?
・仕事がうまくいかないときに何度も手に取ってしまう本はないでしょうか?
私にとって『Fearless Change』は、まさにそんな特別な一冊です。
ただし、最初から特別だったわけではありません。正直に言うと、最初に一人で読んだときは、その面白さがよく分かりませんでした。書いてることは当たり前の内容に感じ、自分の仕事や日常とどうつながるのか、ピンと来なかったのです。
転機になったのは、この本を「誰かと一緒に扱う」ようになってからでした。読書会や勉強会で、異なる立場や組織の人たちとパターンについて話し合い、ワークショップや発信を通じて実体験と結びつけていく中で、本の意味が少しずつ立ち上がってきました。本の内容を語るたびに、自分自身の考え方や、組織との向き合い方に小さな変化が起きていったのです。
読書会では、同じパターンでも置かれているコンテキストが違えば解釈も使い方も変わることに気づきました。何度も本を読み返し、勉強会の題材として扱うたびに、新しい視点や問いが生まれます。また、この本は変革のためのハウツーであると同時に、自分自身を見つめ直し、立ち止まるための「ケア」としても機能してきました。単体のパターンを使うだけでなく、複数のパターンを組み合わせることで、状況の捉え方が変わる体験も重ねてきました。
この本がなぜ読み返され続けるのか、なぜ人と人をつなぐのか、その面白さを実体験とともに紹介します。
参加者の皆さんが「自分にとっての特別な一冊」と向き合うきっかけになれば幸いです。
弊社では物流Techとして物流業界の様々な課題を解決しようと奮闘しています。
今回はその中でも注文情報周りを扱う処理が肥大化してしまい、変更がどんどんと困難になってしまった話をします。
注文情報というのは各ECプラットフォームから取得される情報で、どこに配送するかや、なにを配送するかなど多くの情報を持っています。
また、配送済みかどうかや、そもそも弊社倉庫から出荷するのかなど、更に内部の状態を複数持つことになります。
DDDライクな設計で実装を進めていましたが、最初は保存処理などシンプルなもののみをOrderRepositoryとして実装していたので、特に問題はありませんでした。
しかし、どんどんと機能仕様が膨れ上がり、注文が持っているべき状態というのもそれに伴って増えていきました。
注文の状態を更新するために他のテーブルの状態を見ないといけなくなり、そのロジックをトランザクションの中に入れようとした結果記述量が増えたり、
注文の状態が変わったことをeventで通知するのをすべてRepository層でやったことで抜けが発生したりと、だんだんとOrderRepositoryが太っていきました。
また複雑になっていくことで、機能追加するたびに他の機能の変更を気にしなければいけない状態になっており、同時に機能開発をしているとコンフリクトと戦う時間が増えてしまうという問題もありました。
そんなOrderRepositoryとどうやって向き合って、どうやって綺麗にしていったかの話をしていきます。
やまずん 私たちは普段、当たり前のように「品質」という言葉を使っています。しかし、その言葉の定義や成り立ちを深く意識したことはあるでしょうか?
実は日本において「品質」には、ISO(国際標準化機構)という規格で定められたものと、TQM(総合的品質管理)という体系の中で使われてきたものという、2つの大きな文脈が存在します。これらは相互に関連していますが、捉え方は異なります。
本セッションでは、書籍『マネジメントシステムに魂を入れる』を題材に、特にTQMにおける「品質」の世界を紹介します。
本書が教えてくれるのは、単なる用語の解説ではありません。「品質」という概念がどのように生まれ、体系化されてきたのか。そして「品質管理(マネジメント)」とは、単に表計算ソフト等で数値を記録することではなく、チームや組織としてどのように対象を「コントロール」していくかという、より動的で深い営みであることです。
我々はエンジニアとして、チームとして、品質をどう扱い、どう実装していくべきか。
そのヒントが詰まったこの本を通して、PHPerの皆さんに「品質」という世界の奥深さと面白さを体感していただきたいと思います。
きんじょうひでき あなたがプログラミングに夢中になった原体験は、何ですか?
私にとっては、WordPressを入れてみて、テンプレートに少しだけ echo を書いてみて、表示内容が変わる様子は奇跡でした。
そこから随分と時が経ち、相変わらずプログラミングは楽しすぎますが、
どうしても経験を積むと「キレイな設計」「誰でも読めるし書き換えられるコード」を探求しがちです。
良いコードを追い求めるのは刺激的で、他にないくらい楽しい。
その一方で「無邪気に何かを作る」の楽しさも失いたくない!
そんな日々の中で出会ったのが、『雑に作る 電子工作で好きなものを作る近道集』です。
PHPはおろかプログラミングの本でもありません。
むしろ、『プログラミングなしで作品を作ることもできるんだ』という副題を冠した節すらあります。
そして、私は電子工作を嗜んでもいません。
たまたま著者のファンだからと手に取った書籍でしたが、
それでも、何かを作って動かして楽しんでいる立場にある自分にとって、
この本にはとんでもなく元気をもらいました!
見様見真似でも良い。ツギハギでも良い、笑っちゃうくらいみすぼらしい外見でも良い。
それでも「自分で動かした喜び」って掛け替えのないものになりますよね?
そんな気持ちを思い出させてくれる1冊です。
取り上げられている内容は、
「どんな材料が使いやすいか」「どこで買えばいいか(百均やらハンズやら秋月電子やら)」「配線の簡単な方法」といった具体的なTipsが中心ですが、
『盛るとテンアゲ⤴な素材』『気軽に分解してみよう』などは、作るのを楽しむ人・何かを始めようとする人への深い敬愛を感じて止みません。
これらは、ソフトウェア趣味人の我々にも語りかけるものがあります。
そんな「すごい元気をもらえた」本を紹介します。
自分の楽しみのためのものづくりを再開しませんか?
ぴんくもひかん まれにある深夜メンテは遠足気分(?)で楽しかったりしますが、頻繁にあると生活リズムを崩してしまいますし「もし未知のトラブルに遭遇して長時間サービスをダウンさせてしまったら・・・」などの心配も尽きません。
本トークではメンテナンスを日中にやるための交渉術や実現するためのテクニックについてご紹介します。
さくらい 「ハイコンテキスト」「ローコンテキスト」「言語間距離」。
これらは、日本語や英語といった自然言語を語る際によく用いられる言葉です。
言語が持つ"性格"を表す概念でもあります。
では、私たちのPHPはどうでしょうか。
文法があり、慣習があり、文脈によって意味が補われる。
PHPもまた言語である以上、「言語としての性格」を持っています。
近年、生成AIの普及によって、エンジニアの言語環境はより複雑になりました。
日本語で考え、英語を交えてPHPを書き、複数のAIと同時対話する。
このように異なる性格を持つ言語の行き来が、いまや日常となっています。
しかし、この切り替えは人間の脳にとって、時に無視できない認知負荷となります。
大AI時代となった今「以前より集中できない」「脳が疲れる」と感じる人が増えているのも、
この言語の切り替えによる負荷が、気付かないうちに積み重なっていることが原因かもしれません。
本セッションでは、技術選定や言語選定の是非は扱いません。
PHPを言語学の視点から捉え直し、AI時代の「脳疲れ」はどこから来るのか、
そして日々の思考を少し楽にする対策についてお話しします。
本セッションの対象者
AIをプロダクトに組み込んだとき、従来なかった壁にぶつかりました。実行する度に結果が揺れる非決定論的な出力に対して、どうテストすればよいのか。完全一致を求める従来のアサーションは使えず、人の目での検証には時間がかかり、バリエーションが増えるたびにデグレチェックが困難になるという問題です。
このトークでは、スプレッドシートへの出力が期待通りかどうかを検証するというケーススタディを取り上げます。一方はAIが出力するシート、もう一方は期待値(正解)を示すシートです。出力が予測できないためプログラマティックに検証できません。一方で、AIに検証を丸投げすると精度に不安があります。AIとプログラムの強みを組み合わせることで比較精度の安定と、不一致セルのハイライトのような検証利便性の向上も実現しました。
ケーススタディを通じて、LLMと向き合う際の発想について整理することも目指します。
加納悠史 "ジョシュアツリーの法則"を知ってますか?
「名前を知ればそれを認識できるようになる」「名前を知らないと認識できない」といった現象のことです。
我々エンジニアの身の回りには様々な現象があり、中にはみんなが経験したことがあるものも多数存在します。
そんな「現象」や「事象」の中にはあまりにも名前が付けられ、事象の解消や共有が行われているものがあります。
名前を知ることは認識すること!
この発表を聴いてそんな""あるある""の名前を知り、事象を正しく認識して、次に生かしましょう!
妹尾賢 GNU socialという2008年に生まれたPHP製のX/Twitter系のマイクロブログ型の分散SNSのフリーソフトがある。いろんな歴史的経緯があって、元の著者の手を離れ、複数のメンテナーを転々として、最終的に見捨てられたプロジェクト。
誰にも相手にされず、PHP経験ゼロ、Webアプリ開発経験ゼロ、人なし、金なし、コネなし、スキルなし。ないないづくしで、あるのはハンデだけの絶望的状態。ただの1ユーザーだった私が、この状態から、ここ何年かかけて、最終的にプータロー (無職) になって、この子の自称責任者になった。
ここまでのGNU socialで世界を変える物語の一番重要な始まりの序章を話す。
テクニカルな話は一切ない。あるのは泥臭い話だけ。というか、小手先の技術はネットや対話AIにきいたほうが人より詳しくて正確なことが大半。そんなことよりもっとクリティカルで重要なことがある。何をするか?方向と戦略が全て。
掃いて捨てるほどいるPHP技術者、IT技術者、人間の一人として、自分が世界でやりたいこと、すべきことって何?世界で自分しか理解できていない状態で、サラリーマンとして、組織に所属していて、しがらみ、忖度、組織の論理にまみれた中で、責任取れない立場で、組織のいいなり状態で、本当にやりたいこと・すべきことを邪魔されずにできるのか?
華やかな世界、規範、キャリア、組織・業界・コミュニティー・仲間からの評価・共感。所詮他人が勝手に作った基準。寄付、スポンサー、支援。基準や周囲の共感、理解、土台前提。恵まれた「普通」だからできる。他人・環境依存で弱すぎる。自分しか理解できないのだからどうでもいい話。
誰の力も借りず一人で自立。何のしがらみもなく、誰にも邪魔・指図を受けない「無敵の人」。それがプータロー。
言うのは簡単だがはたしてどうやる?気になったあなたを会場で待ってる。
新原雅司 チームに途中参加し、初見のアプリケーションを前にして「これ、どこから読めばいいんだろう」と立ち止まった経験はありませんか?
私は、技術サポートという仕事柄、すでに稼働している PHP アプリケーションに関わる機会があります。
中には長い歴史を持ち、コード量も多く、当時の設計意図がドキュメントとして残されていないケースもあります。
現場に入ると、こうしたアプリケーションをキャッチアップしていくのですが、
その様子を見ているメンバーの方から「どのようにキャッチアップすれば良いですか?」という質問を受けることがしばしばあります。
重要なポイントを一つ挙げるなら、すべてを理解するのではなく、必要となる箇所を効率よく把握することです。
本セッションでは、特に日々既存のアプリケーションのキャッチアップに課題を感じている若手の方に向けて、
私自身が実際に意識している考え方や、見るポイント、活用している手段などを具体的にご紹介します。
チームで既存アプリケーションの知識をシェアする方法を模索されている方にも言語化のヒントとして持ち帰っていただけると嬉しいです。
新原雅司 PHP アプリケーション開発において、Xdebug + IDE によるデバッグ実行を利用している方も多いでしょう。
ブレイクポイントを設定して、そこでアプリケーション実行を停止し、変数の内容を見ながらステップ実行で処理を追いかけていく作業はアプリケーションを理解する上で大いに役立つものです。
一方、便利そうな機能だと認識していても設定につまづいて敬遠している方もいるかもしれません。
デバッグ設定では、PHP(Xdebug) と IDE 双方の設定が必要であり、さらに昨今では PHP(Xdebug) は Docker コンテナで実行しているケースも多いので設定に難しさを感じる場面もあるかもしれません。
デバッグ実行は、Xdebug と IDE の間で行われる通信によって成り立っています。
この通信がどのように行われているか、またそれぞれの役割を知ることで設定のどこでつまづいているかを理解しやすくなります。
なにより、日頃便利に使っている機能がどのような仕組みで実現されているかを知ることは楽しいものです!
本セッションでは、Xdebug の内部動作や IDE との通信に焦点を当てて、どのような仕組みでデバッグ実行が実現しているかを見てみましょう。
PHPはZend VMの上で動いており、すべてのPHPプログラムはそのopcodeに変換され実行されます。
本発表では、そのopcodeを眺めてみて、他の言語処理系との違いについてご紹介します。
発表者はいくつか仮想マシンを作ったことがあり、とくにRubyの仮想マシンについてちょっと詳しいので、そういった観点でご紹介できればと思います。
参加者の皆様には、他の言語処理系との比較を通じて、Zend VMの独自性や利点を理解していただければと思います。
山田 尚人 クラウドインフラコストを成果報酬型で削減してきたDELTAが新たにPHP/Rubyを第一弾としてバージョンアップの代行を始めました。
コンセプトとしては生成AIを活用して、半自動的にVersionUpができる状態を目指していますが、サービス黎明期の今は1プロジェクトずつ、手作業で泥臭く調査や検証、実行を重ねています。
今回は数あるプロジェクトの中でも、CakePHPの2系を最新バージョンまでアップデートする道のりについて語ります
取り上げる内容
想定
佐藤 壮一 OSS コントリビュートに憧れつつも、「何から始めればいいのか分からない」「英語やお作法が不安」と感じ、なかなか一歩を踏み出せずにいました。
そんな中、「AI とともにならコントリビュートできるのでは?」という考えが思い浮かび、実際にやってみた結果、見事コントリビュートを果たしました!
本トークでは、「AIを相棒に3日間でOSSにコントリビュートする」という挑戦についてお話しします。
AIを活用することで、心理的・技術的なハードルがどのように下がったのかを具体的に共有します。
OSS に貢献してみたいけれど踏み出せていない方の、最初の一歩を後押しする LT です。
佐藤 壮一 レビューでつい「なんでこうしたの?」などと質問して、責める意図はないものの空気が気まずくなった経験はありませんか?
このLTでは、心理学をもとにした質問の技術を活用し、レビューを詰問ではなく「対話」に変えるためのヒントをお届けします。
「意図を引き出す」「気づきをもたらす」といった観点から、よくあるNG質問の言い換え例や、相手が話しやすくなる質問の工夫を紹介します。
レビューの空気を気にする方に届いてほしい内容です。
少し変えるだけで大きく変わる質問の仕方を一緒に見てみませんか??
ASANO Masaki Infrastructure as Code(IaC)とは、インフラ構築をコードや設定ファイルで定義し、再現性や自動化を実現するプラクティスです。IaC によって運用コストの削減やヒューマンエラーの防止といったメリットを得られる一方、導入初期の教育コストや特定メンバーへの依存といった課題も指摘されています。
私たちの組織では、2023年9月に既存サービスの稼働環境を見直した際に、AWS CloudFormation を用いて IaC を導入しました。導入からおよそ2年が経った現在も保守運用しています。
本セッションでは、はじめに IaC に関しての一般的な考え方やメリット・デメリットを解説します。続いて、私たちのチームでの導入に際しての実践内容や切り替えてからの運用の経過について共有します。最後に、IaC を導入してからのチームでの工夫や出てきた課題について紹介します。
IaC 導入での課題を感じられている方だけでなく、IaC 未導入の方や馴染みのない方にも、私たちの実体験から得た知見がヒントとなれば幸いです。
濱崎竜太 LaravelのQueueは便利ですが、Queueワーカーが裏でどのように動いているのかを知らない人も多いと思います。
ワーカーが内部で何をしているかが分かると、詰まり・遅延・失敗の原因に当たりを付けやすくなり、運用やデバッグがしやすくなります。
このトークでは、ライブコーディングを中心に、LaravelのQueueワーカーをゼロから(ただし必要最小限に簡素化して)実装しながら、php artisan queue:work が実際に何をしているのかを順番に解説します。
「Queueは使っているけれど中身はよく分からない」という人が、処理の流れを自分の言葉で説明でき、トラブル時に切り分けの視点を持てるようになることがゴールです。
ASANO Masaki 近年、量子コンピュータの実用化に向けた開発が急速に進展しています。
その一方で、量子コンピュータの進化はRSAや楕円曲線暗号といった公開鍵暗号技術の危殆化を意味します。
これに対抗する技術が「耐量子計算機暗号(Post-Quantum Cryptography: PQC)」です。
2024年8月、NIST(米国国立標準技術研究所)は長年の選定プロジェクトを経て、PQCの最初の標準規格(FIPS 203, 204, 205)を正式に発表しました。日本国内でも政府機関が2035年への移行目標を掲げるなど、PQCは実装・運用のフェーズへと大きくシフトしています。
本セッションでは、PQCの基礎知識から、その中心技術である「格子暗号」の仕組みや特徴にフォーカスして解説します。 さらに、AWS、Google Cloud、Azureといった主要クラウドベンダーの対応状況や、PHPエコシステムにおけるPQCの対応状況についても取り上げます。
今すぐにコードを書き換える必要はないですが、PQCは近い将来には当たり前となる技術です。このトークをきっかけに興味を持ってもらえれば幸いです。
【トークのアジェンダ】
・PQCの現状
・量子コンピュータの脅威(ショアのアルゴリズム)とHNDL攻撃(Harvest Now, Decrypt Later)のリスク
・NIST標準化(FIPS 203, 204, 205)について
・PQC(とくに格子暗号)の特徴について
・主要なPQCの紹介(格子暗号、同種写像暗号、符号ベース暗号、多変数多項式暗号、暗号学的ハッシュ関数)
・格子暗号の簡単な仕組みや特徴
・各クラウドベンダーやPHPでの対応状況
・AWS、Microsoft Azure、Google Cloud の状況
・PHP での検討状況