Macで複数バージョンのPHPを使い分けるのって意外と難しくないですか?
Docker経由でしかPHPを使わない猛者スタイルなら困らないかもしれませんが、
パフォーマンスや開発体験の問題からローカルのPHPを使いたい事情もあると思います。
phpenvやsymfony-cliと.php-versionファイルを併用すればディレクトリごとに使用するPHPバージョンを指定することもできますが、
この辺はいざ導入しようとするとYak Shavingの嵐が待っていて(実体験)非常に面倒だったりします。
というわけで、このLTでは私がMacのローカル環境で複数バージョンのPHPを楽に使い分けるために実際にやっていることを5分でサクッとお伝えします。
実際に運用していてまったくストレスを感じていない方法なので、ちょっとでも困っている人には明日からすぐにお役立ていただける内容だと思います!
アセンブリ言語といえば,mov とか jmp とかよくわからないワードがズラズラと並んでいるイメージがあると思います。
PHP は高級言語なだけあって,変数も関数もメモリの許す限り定義し放題。一方,アセンブリは限られたレジスタと呼ばれる一時的に値を格納するモノと
いくつかの命令を駆使するものです。
そのためアセンブリ言語の入門はハードルが高いなと感じてしまうことでしょう。
そこで PHP をアセンブリ言語っぽくかけたらハードルも下がりますし,アセンブリの理解が深まるのではないかと考えました。
本トークではなるべくアセンブリ言語と同じ制約のもとに PHP を置き,アセンブリ言語っぽく PHP を書く技術について紹介しつつ FizzBuzz を出力することをゴールとします。
なお,トーク中のアセンブリ言語は NASM (Netwide Assembler) と呼ばれるものを例に用います。
今年の3月に実施されたPHPerkaigi2024でコードゴルフ大会に参加し、とても楽しかったため、「自分の会社でも実施したい!」と思い立ち、実際に開催しました。結果は大成功で、とても楽しい時間を過ごせたので、その時の話をします。
コードゴルフの内容は、「FizzBuzz」問題や、1時間で解ける程度のの難易度のものを採用しました。言語はPHPを使用しました。
具体的には以下のような内容を話す予定です。
•コードゴルフ大会を実施するにあたって、コードゴルフができるWEBアプリをどのように作成したか
•コードゴルフ大会の雰囲気や参加者からの評判
•参加者たちの感想
•コードゴルフ大会を定期的に開催していることでの社内への影響
•コードゴルフ大会を開催した私自身の感想