長谷川智希 本書は、CPUが電気回路としてどのようにプログラムを実行しているかを解説する「CPU入門書」です。
CPUを作るチュートリアルとしては論理ゲートからOSまで自作する nand2tetris が有名ですが、本書は10個の汎用ロジックICで作るごくごくシンプルな4ビットCPUを題材に解説されているので、より「入門」に近い構成になっています。
プログラミング歴30年を超える私ですが、本書に出会うまでCPUがどのようにプログラムされた通りに動作しているかを理解していませんでしたし、それ以前に考えたこともありませんでした。
このトークではそんな私が本書を読んで受けた衝撃をみなさんにも共有します。
りばすと 森見登美彦氏の『太陽の塔』は、元・恋人である水尾さんを、日々のスケジュールから住んでいるマンションに至るまで研究し続ける「私」の日々を描いた作品である。
偏屈な大学生の阿呆なやりとりの中に横たわる、どこまでも深く、深く落ちていくような失恋。
それがまるで人生のすべてだと言わんばかりのほの暗い感情は、果たして彼の中では人生そのものなのだ。
この小説を読むたびに鮮明に失恋の感情を思い出すことができる。そういった点で私はこの小説が大好きだ。
「あの時ああしていれば」「こうだったんじゃないか」「あれだってそうだ」「これだって」。
主人公である「私」のじわっとした感情は、あまりに等身大で、リアルで、青く、そして愛おしい。
また、これだけの感情を浴びて思うのは、こういった負の感情で満たされた一日も、のんびりご飯を食べたりテレビを見たりして何気なく過ごす一日も、同じ人生の「一日」という事実である。
私たちは日々をどれだけ自覚的に過ごせているだろうか?
やや拡大解釈ではあるが、日々を見直すきっかけとしてもおすすめの本作を紹介します。
山岡広幸 野﨑まどによる『タイタン』は、至高のAIによって社会が平和に保たれた未来を描いた作品です。
舞台は2205年。2048年に誕生したタイタンAIによって、人間は「労働」から解放されています。
そんな時代に、主人公・内匠は今や失われたはずの「仕事」を依頼されます。
依頼内容は、突然働けなくなってしまったタイタンAI「コイオス」のカウンセリング。
内匠とコイオスのやり取りは、次第に「仕事」とは何かという話につながっていくわけですが…。
現実の2026年に生きる我々エンジニアは、いつの間にか当たり前のように生成AIを使っています。
しかし、問いかけてみたいのです。AIに指示を与え、AI同士で相談をさせたりして、
我々は本当に仕事をしていると言えるのか、と。あるいは、仕事の実感を得られているのか、と。
あらためて「仕事」とは何か、自分自身にとってどう位置づけられるものなのか、
見つめ直すきっかけになりうる1冊として、ぜひ手に取っていただきたいと思います。
0yu 本作は、交通系ICの暗号化技術を専門とする架空の企業「ジェイ・プロコトル」に勤める主人公が、香港を中心としたアジアの街並みを舞台に陰謀の渦へと巻き込まれていくハードボイルド小説です。
東南アジアへの交通系ICカード営業や、ICチップの暗号化技術(AES)とそれにまつわる特許の攻防といった技術的要素を軸にしながら、酒、煙草、カジノ、闇犯罪といった退廃的な世界が交錯します。
さらに本作の大きな特徴は、シェイクスピア四大悲劇の一つ『マクベス』になぞらえた、運命的で不穏な物語が中心に据えられている点にあります。
ハードボイルド小説やミステリ小説を愛するエンジニアに、ぜひ手に取っていただきたい一冊として、本作をご紹介します。
『未必のマクベス』(早瀬耕 著/早川書房)
fkuMnk 原著副題:Exposing Fraud, Bias, Negligence and Hype in Science
(科学における詐欺、バイアス、過失、誇張を暴く)
"科学は間違いなく人間の活動であり、従って人間の欠点が刻み込まれている。"
本書 エピローグより
ポイント1
熱狂的な脚光を浴びた定説は、後世のより公平で正確な実態調査によって覆されることがあります。
「パワーポーズ」2012年にTEDトークで提唱され、史上2番目に多い視聴回数を記録しました。オンラインで目にした方も多いのではないでしょうか。
さらに「スタンフォード監獄実験」「成長マインドセット」など、これらの有名な実験結果について、のちの検証で再現性が見られなかった例が記されています。
ポイント2
この本は様々な理由により世に出た偽りの科学を暴くだけではなく、なぜそのような事が起こったのか、誤りを産む環境、そしてそれらを是正する取り組みに関して踏み込んでいます。
カリフォルニア州史上最大規模の災害復旧作業で発生した「逆インセンティブ」では何が起こったのでしょうか。
ポイント3
本書からソフトウェア開発者として省みる点はなにか。
論文発表システムという視点から科学の直面する課題を知ることで、ダイナミックに移り変わるソフトウェア開発の未来に備えることができるかもしれません。
"科学的知見に直面したとき、あなたには選択肢がある"
本書付録 科学論文の読み方より
ネット・ゲーム依存症対策条例が施行された市民として本書を広く社会に推薦します。
ダイヤモンド社刊 翻訳:矢羽野 薫、著者は元King's College Londonの研究者で、現AnthropicのResearch Comms lead を務める Stuart Ritchie
nsfisis 『Rubyソースコード完全解説』、通称『Ruby Hacking Guide』は、Ruby 処理系のソースコードを上から下まで網羅的に解説するという稀代な書籍である。
Ruby に限らず、そもそも「あるソフトウェアのソースコードを解説する本」という例自体が非常に少ないと言ってよいだろう。
私が言語処理系に興味を持ったり作ったりするようになったのはこの本の影響である。中学生の頃はゲームや小さなデスクトップアプリケーションを作っていた私が、高校 3 年間を自作の言語の設計と開発に費したのは、確実にこの本が原因である。
この本の執筆当時、Ruby は 1.7.3 (2002-09-12) であった。そこから 20 年以上の時を経て、Ruby はバージョン 4 となった。かつて抽象構文木を辿って実行していた評価器は YARV に始まる VM ベースの実行へと置き換えられ、JIT による機械語への変換さえもおこなわれるようになった。構文解析器すらもリライトされ、書籍中の解説と今の実装とでは乖離点も多い。
そのような状況で、今この本はどのような価値を持つのか?
現在に至るまでの私の興味関心領域を決定付けた本書を、是非紹介したい。
なお、本書は紙では絶版しているものの、当時から全文が Web 上で無償公開されている。したがって、古い書籍であるものの、現在も極めて容易にアクセス可能である。
青い豆腐 みなさんの人生を振り返った時、おおきな分岐点がいくつかあると思います。
そして、ほとんどの人はその分岐点の中に「進路(進学先)選択」があるのではないでしょうか。
私が高校受験をするとき、大いに影響を受けたのは漫画『桜蘭高校ホスト部』です。
高校卒業後は大学に進学しましたが、あの高校に通っていなければ大学進学先も変わっていただろうことを思うと、『桜蘭高校ホスト部』は私の人生に最も大きな影響を与えた作品といえます。
『桜蘭高校ホスト部』が好きすぎて漫画の編集者になりたかった時期もあります。
しかし『桜蘭高校ホスト部』の出版社しか考えられず、就活にやる気が出ないまま色々あってエンジニアとして働く今があります。
作中に出てくるセリフや価値観で、今でも大切にしているものがあります。
「人生何事も経験」「勉強ばかりしていても頭でっかちになるだけで人に寄り添えることはできない」
人の個性を尊重する心も『桜蘭高校ホスト部』で学びました。
今回のトークでは、実際に進路選択の時にどのような影響を受けたのかやどんな時に上記のセリフを思い浮かべているか、どのような価値観を持つようになり、それが人生のプラスになっていると思うかについてご紹介します。
このトークを聞いてみなさんが本を手に取ってもらえると嬉しいです!
小泉岳人 ・本屋で探したけれど、聞いたタイトルと違っていて、見つからなかった本はありませんか?
・薦められて読んでみたものの、「悪くはないけど、そこまで刺さらなかった」という本はありませんか?
・一方で、その本をきっかけに仲間が増えたことはありますか?
・仕事がうまくいかないときに何度も手に取ってしまう本はないでしょうか?
私にとって『Fearless Change』は、まさにそんな特別な一冊です。
ただし、最初から特別だったわけではありません。正直に言うと、最初に一人で読んだときは、その面白さがよく分かりませんでした。書いてることは当たり前の内容に感じ、自分の仕事や日常とどうつながるのか、ピンと来なかったのです。
転機になったのは、この本を「誰かと一緒に扱う」ようになってからでした。読書会や勉強会で、異なる立場や組織の人たちとパターンについて話し合い、ワークショップや発信を通じて実体験と結びつけていく中で、本の意味が少しずつ立ち上がってきました。本の内容を語るたびに、自分自身の考え方や、組織との向き合い方に小さな変化が起きていったのです。
読書会では、同じパターンでも置かれているコンテキストが違えば解釈も使い方も変わることに気づきました。何度も本を読み返し、勉強会の題材として扱うたびに、新しい視点や問いが生まれます。また、この本は変革のためのハウツーであると同時に、自分自身を見つめ直し、立ち止まるための「ケア」としても機能してきました。単体のパターンを使うだけでなく、複数のパターンを組み合わせることで、状況の捉え方が変わる体験も重ねてきました。
この本がなぜ読み返され続けるのか、なぜ人と人をつなぐのか、その面白さを実体験とともに紹介します。
参加者の皆さんが「自分にとっての特別な一冊」と向き合うきっかけになれば幸いです。
やまずん 私たちは普段、当たり前のように「品質」という言葉を使っています。しかし、その言葉の定義や成り立ちを深く意識したことはあるでしょうか?
実は日本において「品質」には、ISO(国際標準化機構)という規格で定められたものと、TQM(総合的品質管理)という体系の中で使われてきたものという、2つの大きな文脈が存在します。これらは相互に関連していますが、捉え方は異なります。
本セッションでは、書籍『マネジメントシステムに魂を入れる』を題材に、特にTQMにおける「品質」の世界を紹介します。
本書が教えてくれるのは、単なる用語の解説ではありません。「品質」という概念がどのように生まれ、体系化されてきたのか。そして「品質管理(マネジメント)」とは、単に表計算ソフト等で数値を記録することではなく、チームや組織としてどのように対象を「コントロール」していくかという、より動的で深い営みであることです。
我々はエンジニアとして、チームとして、品質をどう扱い、どう実装していくべきか。
そのヒントが詰まったこの本を通して、PHPerの皆さんに「品質」という世界の奥深さと面白さを体感していただきたいと思います。
きんじょうひでき あなたがプログラミングに夢中になった原体験は、何ですか?
私にとっては、WordPressを入れてみて、テンプレートに少しだけ echo を書いてみて、表示内容が変わる様子は奇跡でした。
そこから随分と時が経ち、相変わらずプログラミングは楽しすぎますが、
どうしても経験を積むと「キレイな設計」「誰でも読めるし書き換えられるコード」を探求しがちです。
良いコードを追い求めるのは刺激的で、他にないくらい楽しい。
その一方で「無邪気に何かを作る」の楽しさも失いたくない!
そんな日々の中で出会ったのが、『雑に作る 電子工作で好きなものを作る近道集』です。
PHPはおろかプログラミングの本でもありません。
むしろ、『プログラミングなしで作品を作ることもできるんだ』という副題を冠した節すらあります。
そして、私は電子工作を嗜んでもいません。
たまたま著者のファンだからと手に取った書籍でしたが、
それでも、何かを作って動かして楽しんでいる立場にある自分にとって、
この本にはとんでもなく元気をもらいました!
見様見真似でも良い。ツギハギでも良い、笑っちゃうくらいみすぼらしい外見でも良い。
それでも「自分で動かした喜び」って掛け替えのないものになりますよね?
そんな気持ちを思い出させてくれる1冊です。
取り上げられている内容は、
「どんな材料が使いやすいか」「どこで買えばいいか(百均やらハンズやら秋月電子やら)」「配線の簡単な方法」といった具体的なTipsが中心ですが、
『盛るとテンアゲ⤴な素材』『気軽に分解してみよう』などは、作るのを楽しむ人・何かを始めようとする人への深い敬愛を感じて止みません。
これらは、ソフトウェア趣味人の我々にも語りかけるものがあります。
そんな「すごい元気をもらえた」本を紹介します。
自分の楽しみのためのものづくりを再開しませんか?
nsfisis Quine とは、自分自身のソースコードと一致する文字列を出力するようなプログラムのことです。
PHP なら、
$ php a.php > output.txt
と実行したとき、output.txt と a.php が完全に一致するような a.php を「Quine」と呼びます。
一見すると不可能にすら思えますが、実のところほとんどの言語で簡単に書くことができます。
この記事では、基本的な Quine の書き方をいくつか説明した後、それを応用して更に面白い挙動をする Quine を書く方法について紹介します。
<?eval($s='printf("<?eval(\$s=%c%s%c);\n",39,$s,39);');
meihei PHPerKaigi 2026 楽しかったですかーー!!! \全員「はーーい!!」/
楽しかった思い出を残しつつ、学んだことを今後の成長に結びつけましょう!
このパンフレット記事では、PHPerKaigiを含むカンファレンスに参加したあとにすぐにでも行える、是非やって欲しい事を紹介します。
小山健一郎 FrankenPHPをご存知でしょうか?(前回のPHPerKaigi 2025に参加された方はご存知かもしれません)
公式サイトによると "「Go」で書かれたモダンな「PHP」アプリサーバー" だそうです。
どういうことでしょう???
「CaddyにPHP実行環境を組み込んでいる」 ... あ、Caddy知ってる。
あ、そういえば私Goチョットヨメル。
ということで、FrankenPHPを全く知らない、PHPerなGopherがFrankenPHPソースコードリーディングをしていきます。
目標は「HTTPリクエストから$_POST までを読み解く」!!
果たしてPHPまで辿り着けるのか?(筆者が)苦手とするCgoの壁を超えることができるのか?
git clone https://github.com/php/frankenphp.git # !!!
(注意:これはソースコードリーディング読み物です。いちソフトウェアエンジニアがどうやってコードを読み解いて目的を達成するのかを楽しむものとなります。FrankenPHPを正しく理解したい人は他のドキュメントを参照しましょう)
斉田真也 この現代でAIも盛んに使われる用になった中、「この言語じゃないとダメな理由」というのはかなり無くなってきてる気がします。
逆に言えば、言語の多様性がどんどん高まっている状況。
でもそうなってくると、出てくる一つの疑問「なんでPHPを使う必要があるのか?」
これを聞かれた時に「いや、それはね・・・」とかっこよく説明したいですよね。
欲を言えば、もうこれを見せるだけで終わらせられるような記事が欲しいですよね。
今回のPHPerKaigiのパンフレットはもれなく持ち帰りましょう。
そして、このパンフレットに書かれた記事を見せて「見てみて、こんなメリットがあるよ!」とプレゼンしましょう。
そのための記事を提供します。
うさみけんた PHPStanは簡単に使いはじめることができるツールですが、「きちんと」型をつけるのは案外簡単ではありません。
今回の記事では、これまで紹介してきたPHPStanの基礎知識を前提として、より具体的なプラクティスを紹介します。
PHPStanクイックガイド https://zenn.dev/pixiv/articles/7467448592862e
キミにも作れるPHPStan拡張 https://zenn.dev/pixiv/articles/1e6cade978808a
PHPStan 型付けマニュアル https://zenn.dev/pixiv/articles/09ae64aad4a2f6
こまもか 古典的なPHPはCGIで実行されます。CGIはリクエスト毎にメモリを破棄するモデルとなっており、リクエスト間でのメモリ空間は独立しています。しかし、パフォーマンスに難があります。
Erlang VMもまた、リクエスト毎にメモリを破棄するという点では同じアプローチを取ります。Erlang VMではprocessと呼ばれる軽量なグリーンスレッドを用いて並列分散処理を行い、リクエスト毎にprocessを割り当てて実装するのが一般的です。
PHPのCGIとメモリ管理の考え方は共通していますが、Erlang VMは軽量なprocessにより高いパフォーマンスを実現しています。
Erlang VMは優れた処理系ですが、メジャーな言語であるErlangやElixirは動的型付け言語です。一方、最近v1に到達したGleamは、静的型付けかつシンプルな構文で、ErlangとJavaScriptにコンパイルできます。
本記事ではGleamを用いてWebアプリケーションを実装し、PHPとErlang VMの類似点と相違点を実際に検証します。堅牢なメモリ管理や高度な並列処理など、Erlang VMの魅力を紹介していきます。
きんじょうひでき 抽象構文木: ASTについて、「名前は聞いたことがあるけど、よく知らない」「ASTを使うことで、何が手に入るのかイメージが掴めていない」なんて人も、多いのではないでしょうか。
「ASTの世界」へ入門してみませんか?
この記事では、「木としてコードを扱うこと」を体感して、読者が「ASTの面白さや可能性にワクワクした!」になることを目指します。
定義や原理の解説よりも、「手を動かしながら、自分で何かを作ってみる」に重きを置いた、ハンズオン形式のアプローチをとります。
扱う内容は、「ASTを活用して、PHPのコードを生成する」です。
PHPでASTを扱うためのライブラリである、nikic/php-parserを利用して、「木を組み上げる」と「コードが出来る!!」を体験しましょう。
終わった時には、関数やクラス定義も、ループや条件分岐も、メソッドの呼び出しも、「全ては木になるんだ!」という気になれるはずです。普段のコードも、少し違った形に見えてくるかもしれません。
具体的な内容:
たけてぃ 「このプロジェクトはPHP 8.3、あっちは8.1、拡張モジュールも違う…」
複数プロジェクトを抱えるPHP開発者にとって、環境管理は悩ましい問題です。
Homebrewでバージョンを切り替えればグローバル環境が汚染され、Dockerを使えばオーバーヘッドでネイティブより動作が遅くなる。
本記事では、第三の選択肢としてパッケージマネージャ「Nix」を紹介します。
Nixは純粋関数型言語で設計されたパッケージマネージャで、「同じ入力からは常に同じ出力」という再現性を保証します。
仮想化を用いずにプロジェクト単位の完全な環境分離を実現し、ネイティブな実行速度を維持したまま、PHPバージョンや拡張モジュールをプロジェクトごとに宣言的に管理できます。
「開発環境構築のIaC(Infrastructure as Code)」を実現するNixで、チーム全員が同一環境で開発できる世界を体験してみませんか。
asumikam あなたのPHPerKaigiは、今年で何回目ですか?
はじめてのドキドキ、2回目の成長した自分との再会、3回目からの“ただいま”感…。
もしかしたら、毎年皆勤賞で、すっかり“ホーム”になっている人もいるかもしれません。
私自身、PHPerKaigiだけでなく様々なカンファレンスに参加してきましたが、
いつも思うのは「最初にこれ知ってたら、もっと楽しめたのに!」という小さなヒントやコツの存在です。
そこで今回は、私が「最初に知りたかった!」と思った PHPerKaigi の楽しみ方のコツをパンフレットとしてお届けします!
こんなことを書きます!
もちろん、楽しみ方は人それぞれ。
この中からひとつでも「いいな」と感じるものがあれば、あなたのPHPerKaigiに少しだけ取り入れてみてください!!
zoe 昨年、私はPHPerKaigi 2025のコードゴルフ企画に初参加し、決勝後の“非公式コードゴルフ”で決勝問題に挑んでランキング入りするほど熱中しました。この原体験から「この熱量は社内でも再現できる」と考え、社内向けCodeGolfの内製と運営を開始しました。半年以上の継続運営で見えてきたのは、PHPコードを安全に評価する難しさや、継続参加を生む問題設計といった、本質的ながら意外に複雑な論点でした。
本セッションではどのように社内コードゴルフサービスを構築したか、半年間で実際に出した問題も全部例示しつつ、どう運営をしてどんな反応を得られたかについて話します。
提出コードを隔離実行しつつ無限ループや負荷暴走を防ぎ、公平性を保つ必要がありますが、実際には、「どこまで自由に動かせるべきか」や「安全性をどう確保するか」といった複数の論点が絡み合いました。本セッションではこうした“考えるべきポイント”を整理して紹介します。
継続参加の鍵は「短く書ける余地」「適度な難易度」「5〜10分で試せる小粒さ」の両立でした。AIに大量生成させることで良い題材の基準が明確になり、PHPの仕様がゴルフ的おもしろさにどう寄与するかも見えてきました。これらを踏まえ、問題設計の観点を紹介します。
ランク制によるレベル差吸収、忙しい時期でも取り組める構成、技術的対話が自然に生まれる環境づくりなど、CodeGolfは遊びを超え、組織の技術文化を育てる取り組みになり得ると分かりました。