以下の内容はhttps://tomio2480.hatenablog.com/entry/2025/11/28/004428より取得しました。


Claude の力で PHP でシリアル通信ができるようになるなどした

バイト先におんぶにだっこで,いろんな AI ツールを使わせてもらっているので,気が向いたときに気が向いたものを作っています.
 
最近だと以下のとおりです.
 

PicoRuby ハンズオン資料

【12月7日(日)】Okhotsk DEW Community IT交流・勉強会@網走 で使用する PicoRuby を用いた電子工作ハンズオンの資料です.さすがに図は自分で作りました.Fritzing さまさまです.
github.com  

イベント用 Discord Bot

テックブログ一気読み選手権 で時間管理してくれる Discord Bot です.Northflank で動いてもらっています.TZ を設定してなくて,いつもの 18:30 に発動せず,めっちゃ夜中の 03:30 にブログを読ませようとしてきました.
github.com  

SwitchBot 制御ソフト

家にある SwitchBot のいろいろを PC から制御するソフトウェアです.家の Windows 11 のシステムトレイに閉じ込めて,そこから電球の ON/OFF をができます.システムトレイに入れて使いたかったので .NET 8.0 の C# で作ってもらいました.
 
最初は electron で作ってきたのですが,そんなメモリを喰うソフトウェアはダメだといって Reject してやり直してもらいました.温湿度とかは別に見えなくていいので,そこは無視しています.
github.com  

PHP でシリアル通信をするライブラリ(?)

そして今回の PHP でシリアル通信するライブラリ(?)です. github.com

これを作ってしまってから,Serial Port に関するライブラリないかな~って Packagist で検索して,あるじゃんになってました.
 
Packagist - Serial port packagist.org  
去年 NT函館 2024 に向けて制作しているときは,まだ PHP の "ぴ" の字も知らなかったので,あんだけ PHPカンファレンス に通いながら,Packagist を検索するなんてことに辿り着かなかったのでした.
 
実際,NT函館2024 の報告スライドでも GitHub しかリンクしていません.ブログと GitHub のリンクくらいしか辿れていなかったし,2014 年のこちらの記事に辿り着いたところで力尽きていました.日本語以外で開発が進んでいるものに到達するだけの力はなかった......
www.docswell.com  
しかし,どうしてこんな後になって知ったかというと,この PHP でシリアル通信をするライブラリっぽいものが完成したタイミングで,Composer について勉強する必要が高まったためです.
getcomposer.org (Composer 公式 Web にアクセスするたびに,凛々しい指揮者の色が変わるのが好きです(思わずスーパーリロードしてしまう(よくない)).)
 
さすがの非エンジニアのぼくでも,毎回このコードをコピペで増やして使うなんてことはしたくない気持ちは持ち合わせています.そこで,Ruby の gem とか Python の pip みたいなことを,きっと PHP でもやるのでしょうと調べると,自ずと Packagist にたどり着きました.
 
Claude 大先生の強大な力の前では,なんか最初の方で Composer を導入して require 'vendor/autoload.php'; を即座に書かれ,まるで C 言語勉強したての #include <stdio.h> くらいの "おまじない" を感じていましたが,いざ調べてみれば,その便利さに感動するものでした.
 
たぶん,非エンジニアの自分が PHP を業務で使うでもなく,何か猛烈に Web アプリを作るでもない中では,放置状態で Composer や Packagist について調べたり,勉強したりすることはなかったと思います.これはさすがに Claude さまさまです.
 

php-serial が完成して何がうれしいのか

Claude の力とはいえ,比較的自分の把握できている範囲で,PHP のみでシリアル通信が可能になったことがデカいです.というのも,自分はもともと "電子工作をする民" かつ "全国各地の PHP カンファレンスにお世話になっている民" であり,電子工作と PHP の接点が欲しかったのでした.
 
この気持ちが湧いてきたのは PicoRuby の影響をかなり受けています.
 
PicoRuby には PicoPicoRuby というコミュニティもあるようで,X の TL や Discord を見る限りでは,比較的活発に活動が繰り広げられているように見えます.これはもう言うまでもありませんが,こういう類のイベントはだいたい東京開催なので,北海道勢の自分は行く機会に恵まれていません.
picopicoruby.connpass.com  
そんなこともあって 【12月7日(日)】Okhotsk DEW Community IT交流・勉強会@網走 でハンズオンの機会をもらえたのはめちゃくちゃ僥倖でした.#odewc 代表のはるさんRuby 界隈だったこともあっての実現でした.
 
思い返せば,RubyKaigi2025 でも mruby 含めてハードウェアなセッションも数多く,これが PHP カンファレンスにもあったらいいのになと勝手に思っていました.
 
実際,PHP で電子工作したい人がいるのかは,なんとも言えないし,Web 業界の人たちの業務の知見の流通を期待しているカンファレンスでもあるでしょうから,ノイズになるのかもしれません.
 
が,こればっかりは主宰陣じゃないとわからないので,可能性を広げる意味でも,自分は挑戦していきたいなと思っています.
 
もし,いい感じに PHP ✕ 電子工作の流れがやってきたら,PHP コミュニティへのぼくの貢献の機会が増える可能性があると思っています.今までは,カンファレンス運営の頭数とコミュニティ知見の垂れ流しおじさんくらいのもんだった貢献が,技術系の発表を拵えられる可能性が出てくるのです.
 
特に,カンファレンスや勉強会の少ない地域だと,PHP カンファレンスがその地域の技術者のハブとして機能することもあり,幅広な興味を持った人たちで構成されているようにも見受けられます.
 
そういうところであれば,いろんな要素技術に興味を持ってくださる方もそれなりにいるのではないかなと思っています.
 

具体から学ぶいい機会になっている

AI がコードを全部書いちゃうから勉強する必要もナシ!みたいなことを言っている人もいますが,やはりそんなことはないですね.結局,ちゃんと動くようにしようと思ったら,勉強しないと厳しい.
 
使う側の知識がない状態では,いくら AI が賢かろうと,相当回り道になることも実感しています.コマンド一つで終わることを知らなくて,AI に頼んでは待ちぼうけるみたいなことも,やはり起こります.
 
他にも各種サービスについても知らないと,Discord Bot みたいなものは思いどおりには動かせませんし,SwitchBot の制御に関してもソフトウェアで完結しない分,考慮しなければならない事項が頭に浮かばないと指摘もできません.
 
じっと AI が書くコードを見ていると,OS コマンドインジェクションや XSS の余地があるコードをしれっと生成してくれるんですよね.これをガードするプロンプトを仕込んでいない人たちのコードは,エライことになってそうだなと想像します.
 
ちょうど,この前の ゆるい勉強会@根雪前に手を動かす会GitHub Code Scanning を有効にしようハンズオンがあったので,可能な限りこれを機能させるようにしています.
docs.github.com  
これを設定していく過程で,Code Scanning で使っている CodeQL というツールは,現状 PHP に対応していないということもわかりました.何でもできると思っていたがそんなことはなかった.いずれ対応されるのかもですが,今のうちは GitHub のご加護がない状態で頑張ることになりそうです.
 
こういう不安を持てるかどうかも,サイバーセキュリティの知識が必要なので,やはり勉強が必要です.
 
これからもいろんな勉強会に行こうと思いました
(小学校低学年絵日記並の感想)
 




以上の内容はhttps://tomio2480.hatenablog.com/entry/2025/11/28/004428より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14