青い豆腐 みなさんの人生を振り返った時、おおきな分岐点がいくつかあると思います。
そして、ほとんどの人はその分岐点の中に「進路(進学先)選択」があるのではないでしょうか。
私が高校受験をするとき、大いに影響を受けたのは漫画『桜蘭高校ホスト部』です。
高校卒業後は大学に進学しましたが、あの高校に通っていなければ大学進学先も変わっていただろうことを思うと、『桜蘭高校ホスト部』は私の人生に最も大きな影響を与えた作品といえます。
『桜蘭高校ホスト部』が好きすぎて漫画の編集者になりたかった時期もあります。
しかし『桜蘭高校ホスト部』の出版社しか考えられず、就活にやる気が出ないまま色々あってエンジニアとして働く今があります。
作中に出てくるセリフや価値観で、今でも大切にしているものがあります。
「人生何事も経験」「勉強ばかりしていても頭でっかちになるだけで人に寄り添えることはできない」
人の個性を尊重する心も『桜蘭高校ホスト部』で学びました。
今回のトークでは、実際に進路選択の時にどのような影響を受けたのかやどんな時に上記のセリフを思い浮かべているか、どのような価値観を持つようになり、それが人生のプラスになっていると思うかについてご紹介します。
このトークを聞いてみなさんが本を手に取ってもらえると嬉しいです!
Shunki Tamura 日々、トラフィックを捌き、バグと戦い、複雑な仕様をコードに落とし込む私たちバックエンドエンジニア。時に「動いて当たり前」とされ、その苦労や創造性が見過ごされていると感じることはないでしょうか。
本トークでは、アメリカの思想家アイン・ランドの代表作『肩をすくめるアトラス』を紹介します。この物語は、「世界を支えるアトラス」=「知性によって価値を生み出す者たち」が、理不尽な搾取に対して「肩をすくめる(ストライキする)」ことで、世界がどうなるかを描いています。
現代の「アトラス」は、まさにエンジニアです。
技術に命を注ぐこと、良いプロダクトを作ろうと足掻くこと、そしてイノベーションを追求することは、単なる労働ではなく、人間として最も尊い活動(Noble Activity)であるということを、この本を通して再確認しませんか?
明日のコミットに、確かな誇りを宿すための一冊です。
小泉岳人 ・本屋で探したけれど、聞いたタイトルと違っていて、見つからなかった本はありませんか?
・薦められて読んでみたものの、「悪くはないけど、そこまで刺さらなかった」という本はありませんか?
・一方で、その本をきっかけに仲間が増えたことはありますか?
・仕事がうまくいかないときに何度も手に取ってしまう本はないでしょうか?
私にとって『Fearless Change』は、まさにそんな特別な一冊です。
ただし、最初から特別だったわけではありません。正直に言うと、最初に一人で読んだときは、その面白さがよく分かりませんでした。書いてることは当たり前の内容に感じ、自分の仕事や日常とどうつながるのか、ピンと来なかったのです。
転機になったのは、この本を「誰かと一緒に扱う」ようになってからでした。読書会や勉強会で、異なる立場や組織の人たちとパターンについて話し合い、ワークショップや発信を通じて実体験と結びつけていく中で、本の意味が少しずつ立ち上がってきました。本の内容を語るたびに、自分自身の考え方や、組織との向き合い方に小さな変化が起きていったのです。
読書会では、同じパターンでも置かれているコンテキストが違えば解釈も使い方も変わることに気づきました。何度も本を読み返し、勉強会の題材として扱うたびに、新しい視点や問いが生まれます。また、この本は変革のためのハウツーであると同時に、自分自身を見つめ直し、立ち止まるための「ケア」としても機能してきました。単体のパターンを使うだけでなく、複数のパターンを組み合わせることで、状況の捉え方が変わる体験も重ねてきました。
この本がなぜ読み返され続けるのか、なぜ人と人をつなぐのか、その面白さを実体験とともに紹介します。
参加者の皆さんが「自分にとっての特別な一冊」と向き合うきっかけになれば幸いです。
やまずん 私たちは普段、当たり前のように「品質」という言葉を使っています。しかし、その言葉の定義や成り立ちを深く意識したことはあるでしょうか?
実は日本において「品質」には、ISO(国際標準化機構)という規格で定められたものと、TQM(総合的品質管理)という体系の中で使われてきたものという、2つの大きな文脈が存在します。これらは相互に関連していますが、捉え方は異なります。
本セッションでは、書籍『マネジメントシステムに魂を入れる』を題材に、特にTQMにおける「品質」の世界を紹介します。
本書が教えてくれるのは、単なる用語の解説ではありません。「品質」という概念がどのように生まれ、体系化されてきたのか。そして「品質管理(マネジメント)」とは、単に表計算ソフト等で数値を記録することではなく、チームや組織としてどのように対象を「コントロール」していくかという、より動的で深い営みであることです。
我々はエンジニアとして、チームとして、品質をどう扱い、どう実装していくべきか。
そのヒントが詰まったこの本を通して、PHPerの皆さんに「品質」という世界の奥深さと面白さを体感していただきたいと思います。
きんじょうひでき あなたがプログラミングに夢中になった原体験は、何ですか?
私にとっては、WordPressを入れてみて、テンプレートに少しだけ echo を書いてみて、表示内容が変わる様子は奇跡でした。
そこから随分と時が経ち、相変わらずプログラミングは楽しすぎますが、
どうしても経験を積むと「キレイな設計」「誰でも読めるし書き換えられるコード」を探求しがちです。
良いコードを追い求めるのは刺激的で、他にないくらい楽しい。
その一方で「無邪気に何かを作る」の楽しさも失いたくない!
そんな日々の中で出会ったのが、『雑に作る 電子工作で好きなものを作る近道集』です。
PHPはおろかプログラミングの本でもありません。
むしろ、『プログラミングなしで作品を作ることもできるんだ』という副題を冠した節すらあります。
そして、私は電子工作を嗜んでもいません。
たまたま著者のファンだからと手に取った書籍でしたが、
それでも、何かを作って動かして楽しんでいる立場にある自分にとって、
この本にはとんでもなく元気をもらいました!
見様見真似でも良い。ツギハギでも良い、笑っちゃうくらいみすぼらしい外見でも良い。
それでも「自分で動かした喜び」って掛け替えのないものになりますよね?
そんな気持ちを思い出させてくれる1冊です。
取り上げられている内容は、
「どんな材料が使いやすいか」「どこで買えばいいか(百均やらハンズやら秋月電子やら)」「配線の簡単な方法」といった具体的なTipsが中心ですが、
『盛るとテンアゲ⤴な素材』『気軽に分解してみよう』などは、作るのを楽しむ人・何かを始めようとする人への深い敬愛を感じて止みません。
これらは、ソフトウェア趣味人の我々にも語りかけるものがあります。
そんな「すごい元気をもらえた」本を紹介します。
自分の楽しみのためのものづくりを再開しませんか?
ぴんくもひかん まれにある深夜メンテは遠足気分(?)で楽しかったりしますが、頻繁にあると生活リズムを崩してしまいますし「もし未知のトラブルに遭遇して長時間サービスをダウンさせてしまったら・・・」などの心配も尽きません。
本トークではメンテナンスを日中にやるための交渉術や実現するためのテクニックについてご紹介します。
AIをプロダクトに組み込んだとき、従来なかった壁にぶつかりました。実行する度に結果が揺れる非決定論的な出力に対して、どうテストすればよいのか。完全一致を求める従来のアサーションは使えず、人の目での検証には時間がかかり、バリエーションが増えるたびにデグレチェックが困難になるという問題です。
このトークでは、スプレッドシートへの出力が期待通りかどうかを検証するというケーススタディを取り上げます。一方はAIが出力するシート、もう一方は期待値(正解)を示すシートです。出力が予測できないためプログラマティックに検証できません。一方で、AIに検証を丸投げすると精度に不安があります。AIとプログラムの強みを組み合わせることで比較精度の安定と、不一致セルのハイライトのような検証利便性の向上も実現しました。
ケーススタディを通じて、LLMと向き合う際の発想について整理することも目指します。
妹尾賢 GNU socialという2008年に生まれたPHP製のX/Twitter系のマイクロブログ型の分散SNSのフリーソフトがある。いろんな歴史的経緯があって、元の著者の手を離れ、複数のメンテナーを転々として、最終的に見捨てられたプロジェクト。
誰にも相手にされず、PHP経験ゼロ、Webアプリ開発経験ゼロ、人なし、金なし、コネなし、スキルなし。ないないづくしで、あるのはハンデだけの絶望的状態。ただの1ユーザーだった私が、この状態から、ここ何年かかけて、最終的にプータロー (無職) になって、この子の自称責任者になった。
ここまでのGNU socialで世界を変える物語の一番重要な始まりの序章を話す。
テクニカルな話は一切ない。あるのは泥臭い話だけ。というか、小手先の技術はネットや対話AIにきいたほうが人より詳しくて正確なことが大半。そんなことよりもっとクリティカルで重要なことがある。何をするか?方向と戦略が全て。
掃いて捨てるほどいるPHP技術者、IT技術者、人間の一人として、自分が世界でやりたいこと、すべきことって何?世界で自分しか理解できていない状態で、サラリーマンとして、組織に所属していて、しがらみ、忖度、組織の論理にまみれた中で、責任取れない立場で、組織のいいなり状態で、本当にやりたいこと・すべきことを邪魔されずにできるのか?
華やかな世界、規範、キャリア、組織・業界・コミュニティー・仲間からの評価・共感。所詮他人が勝手に作った基準。寄付、スポンサー、支援。基準や周囲の共感、理解、土台前提。恵まれた「普通」だからできる。他人・環境依存で弱すぎる。自分しか理解できないのだからどうでもいい話。
誰の力も借りず一人で自立。何のしがらみもなく、誰にも邪魔・指図を受けない「無敵の人」。それがプータロー。
言うのは簡単だがはたしてどうやる?気になったあなたを会場で待ってる。
新原雅司 チームに途中参加し、初見のアプリケーションを前にして「これ、どこから読めばいいんだろう」と立ち止まった経験はありませんか?
私は、技術サポートという仕事柄、すでに稼働している PHP アプリケーションに関わる機会があります。
中には長い歴史を持ち、コード量も多く、当時の設計意図がドキュメントとして残されていないケースもあります。
現場に入ると、こうしたアプリケーションをキャッチアップしていくのですが、
その様子を見ているメンバーの方から「どのようにキャッチアップすれば良いですか?」という質問を受けることがしばしばあります。
重要なポイントを一つ挙げるなら、すべてを理解するのではなく、必要となる箇所を効率よく把握することです。
本セッションでは、特に日々既存のアプリケーションのキャッチアップに課題を感じている若手の方に向けて、
私自身が実際に意識している考え方や、見るポイント、活用している手段などを具体的にご紹介します。
チームで既存アプリケーションの知識をシェアする方法を模索されている方にも言語化のヒントとして持ち帰っていただけると嬉しいです。
山田 尚人 クラウドインフラコストを成果報酬型で削減してきた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は使っているけれど中身はよく分からない」という人が、処理の流れを自分の言葉で説明でき、トラブル時に切り分けの視点を持てるようになることがゴールです。
内藤勇介 私たちのプロジェクトでは、Lumen FrameworkとCodeception / Specifyを採用していましたが
Codeception / Specify の更新が終了してしまいました。
移行先は pestphp を検討していましたが、1万を超えるテストケースを具体的にどうやって移行するのかが課題になっていました。
これらに、この1年でどう立ち向かったのか、どのように方針転換をしたのかをお話しします。
山岡広幸 できるエンジニアは高額の報酬をもらって当たり前、と思っていませんか。
エンジニアは能力の差が大きいので、報酬の幅も大きいと言われています。
ところで、「能力」とは何でしょうか。技術力?本当にそれだけでしょうか。
本トークでは、一般的に受け入れられている能力主義の考え方を批判的に見直し、
概論にとどまらず、現在エンジニアが置かれている状況を整理していきます。
その上で、エンジニアとそのチームにとってより好ましい考え方、ふるまい方を探求します。
気が付けばいつの間にか「能力」にとらわれすぎていませんか。
新たな視点を提供することで、すこしでも解きほぐすお手伝いができたらうれしいです。
河瀨 翔吾 「i18n」や「k8s」など、長い英単語を数字で省略する語をヌメロニム(数略語)と言います。
PHP の標準関数でも当たり前の様に使われているヌメロニム。Web 開発者であれば毎日のようにどこかで目にするこれらの言葉ですが、いつの間にか自分の知らないヌメロニムが当たり前のように使われていたり、その意味を理解したつもりが雰囲気だけで使っている……そんなことはありませんか?
この LT では我々PHP開発者の身の回りに溢れるヌメロニムをクイズ形式で出題しつつ、その意味をちょっとだけ深掘りしていきます。
あなたも今日からヌメロニムマスター!
河瀨 翔吾 あなたの担当するプロジェクト、変更が難しい「モンスター」になっていませんか?
機能追加のたびに修正箇所が広範囲に及び、テストもままならない……。その原因の一つは、オブジェクト指向設計の基礎であるSOLID原則への理解不足や誤解にあるかもしれません。
SOLID原則はソフトウェア開発において高品質で保守性の高いコードを書くための重要なガイドラインですが、やたら難しい言葉が並んでいるせいで理解が難しかったり、誤解が広まってしまっている面があります。
本トークでは、SOLID 原則に含まれる下記の5つの原則について、アンチパターンやPHP での実践的な例を交えながら解説し、その活用方法や得られるメリットについてお話しします。
このトークを聞けば、難しかったSOLID原則が「いつでも使える便利な武器」へと変わり、より変更に強く、テストしやすい、自信を持てるPHPコードを書くための第一歩を踏み出せるはずです。
きんじょうひでき deptrac、便利ですよね。
設定ファイルを書いて実行するだけで、アーキテクチャのルール違反を検出してくれる。神ツール。
内部では、一体どんなことが起きているのでしょうか?
考えてみると、私はdeptracのことを何も分かっていなかった──
依存関係をどう収集しているのか。グラフとしてどう表現しているのか。ルールチェックはどうやって…?
「こういう情報を集めて、上手く使っているんだろうな」と想像してみても、実装方法まではピンと来ません。
そして思ったのです。
自分で読んで作って、動かしてみよう!
そうすれば納得感が増すに違いありません。
今の時代、知らないコードを読むのにAIの力を借りないなんて、 嘘 ですよね!
少し前なら「読み解くハードルが高いぞ…」と感じていたものも、挑戦しやすくなりました。
今回は、その力を存分に借りながら、
「どういう技術要素が詰まっているのか」「どういう流れで処理していくのか」をひも解いて、
「deptracもどき」を動かすところまで進めます。
きんじょうひでき とあるカンファレンスの廊下で、こんな会話が聞こえてきました。
「その◯◯ライブラリは、コンストラクタを通さないでインスタンス化しているんですよ」
決してテスト用のライブラリでもなく、メタプログラミング用のユーティリティでもなく、
Doctrine ORMの話です。
Entityとして定義したクラスを用いて、DBから取得したデータを元にオブジェクトを作る時、コンストラクタを通さないのです。
私自身、過去にその挙動を知らずにハマってしまった事もありました。
しかし、よくよく考えてみると、
「EntityはORMから独立して存在できるようにする」世界観と、
「DBのカラムとPHPオブジェクトのプロパティのマッピングは、Attiribute等の情報で管理する」作法によって、
Doctrineは「コンストラクタを、ユーザーが自由にできる土地として解放する」という強力なパワーを授けているようにも感じます。
「どんな場面で、こんな設計思想が”アリ”になるのだろうか」を考えてみると、面白いのではないでしょうか。
このLTでは、
「そもそも、どんな技術で”コンストラクタを使わないインスタンス化”を実現しているのか」
「その方法が、何をもたらすのか」
について、考えを共有します。