一区切りついたので開発で使ってたモノモノ棚卸し

(2025/08/29)

※本文章はnoteとのマルチポストです。お好きな方でお読みください。


 というわけで介護離職しまして。詳細は前回のヤツ以上には書くことできないので取り繕うこともできず。

 まぁ理由はなんであれ事実としては残ると。てな訳でひとつひとつ棚卸しをしつつ、ついでにおっさん語りを過剰に盛って、なんとか「たのしいよみもの」(c)DPZにでもならんかなといった試みです。とか言っておきながら対象がプログラマとしての開発話(昔話)なので敷居ガン上がりしてるのは気のせいでしょうか。そうだそうだ気のせいだ。開き直りやめろ。

 あくまで個人感を並べたててるだけなので、異論反論等あるかとは思います。場末年寄りの戯言と思って聞き流してくれても良し。万が一にでも参考にできそうなところがあればパクっていただいても良しです。以降ダラダラとお付き合いを。

言語/フレームワーク系

PHP

 https://www.php.net/

 なんのかんので主戦場その1。確かPHP3.xからのお付き合いなので、歴20年は超えてるのかな?Webシステム作るにあたってHTMLの中にコードを埋め込める走りな存在でしたから、とにかくまずはPHPという時代もありました。個人的にはPHP4からPHP5への切り替え案件でお仕事にありつけたという(一方的な)恩義もあります。

 ただし今となっては流石に作り方も変わりましたので。PHPにてフロントを描写する機会はほぼ無くなり、もっぱらDBとJSON操作に特化したバックエンド言語と化してます。

 バックエンドなら別言語、それこそRustやGoLangでもいいんちゃう?というのは至極ごもっとも。そっちの方が明らかに処理速度的にも有利ですしね。ただここいらへんはお客さん都合でもありますね。現存サーバでPHP5.xで動いてるんだから合わせてよ的な需要は消えてません。

 なにせ一時期はデファクト取った言語でもありますので、日本各地に膨大な数のPHPコード(ほとんどはPHP5.x)が今でも動いているはずです。その一方で(COBOL程極端では無いにせよ)若い人が学ぶ候補からは外れる可能性が高い言語でもあると。という訳でここいら辺にメシの種転がってないかなぁというのが、現在残された儚い希望でもあります。まぁそのためにはまず働ける環境に戻らなければならないのですが。

JavaScript

 なんのかんので主戦場その2。今をときめくというかフロントエンドにおいては2025年現在のデファクトでもあります。きっかけとしてはjQueryが登場し、Ajaxの概念が普及し。フロントエンドとバックエンドが明確に分かれ始めたことで、手を出さざるを得なくなりました。一方で手を出したからこそ、ここまで食いつなげられたという話でもあります。ナイス判断当時の俺。自画自賛やめろ。

 そういえば近年は全てライブラリがやってくれるので意識することも無くなりましたが。当時はブラウザの互換性、特にIEでの動作保証がネックになってましたな。IEの独自使用をどれだけ把握しているかがその人の評価に直結してる時代なんてのもありました。今ではIE自体がお墓に入ってしまいました。南無南無。

 なにせブラウザとテキストエディタ(極論ですがメモ帳でも)さえあれば動作確認までできるので、お手軽に学習できる言語・・・・という評価が当初はあったと思うのですが。いつの間にか消えましたね。やっぱり各種フレームワークにライブラリが増えていった結果、その組み合わせについていけない的な話もあるのですかね?勿論2025年現在においてJavaScript**のみ**というのはあり得ないので、世間様は正しく判別していた説もあります。

React

 https://ja.react.dev/

 という訳で私はReact派でーす。Vue派の人ごめん。争う気は無いので気を悪くせんでくれ。お互い生き延びましょう。なんだそれ。

 とある案件でリアルタイム表示をシビアに確保しなければならず、これまでのjQueryの書き方ではどうやっても達成できそうにないと。さてどうしましょうなところから手を出したのですが、気が付けば近年案件は全部これになっちゃいました。今取り上げられると途方に暮れます。まぁ今は仕事自体取り上げられたようなもんですが。ほっとけ。

 コードの中に突如コンポーネント(見た目はHTML)が現れるのを直感的と捉えるか気持ち悪いと捉えるかで、最初の印象が変わる模様です。自分は割とあっさり飲み込めましたね、というのはPHPで散々エゲつない書き方をしていたからなのかもしれません。

 React自体も時を経て様変わりしております。class定義だったのがfunction定義になり、Hooksが追加されてuseEffect祭りになり、memo化云々で宗派も別れたり。それでも根っこの使い方は変わってないようにも思えます。stateで状態保存してpropsで引き回すだけ。私が進化していないだけという説もあります。

 ちなみに世間様ではReactを基にしたNext.js等に既に移動してる感もありますが。こっちはあまり触ってないのが正直なところです。記述は割愛します。

TypeScript

 https://www.typescriptlang.org/

 Reactが出てきた時期と、TypeScriptがReactをちゃんとサポートするようになった時期って確かラグがあるんでしたっけね?もしくは当時の私が無知だっただけなのか。React触った初期はTypeScriptを使わずに、直で値の出し入れしてました。この時点で結果はご想像できますよね?意図しない型の混入、エラー大噴出祭りの開催決定。という訳で慌てて(お客さんに頭も下げて)追加した経緯がありました。今なら最初にやっとけボケの一言で終わる話。

 言ってしまえば、JavaScriptに型定義の強制を追加しただけなんですけどね。それでも現場によっては未だに使う使わないがくっきり分かれているような印象を覚えます。ちょいと前に打診受けたお話の中でも「TypeScriptを使わないこと」を条件にしている案件がありました(別理由で受けませんでしたけど)。PHP同様に手の施しようが無いレガシーコードが散見しているから?という勝手な邪推。例えばWindows EmbeddedのIE向けとかだとわからん話では無いのですが・・・まぁいいや。

 これは個人思想強め発言になるとは思うのですが、型強制は無いよりもあった方が絶対にラクです。考える要素は少しでも削れるに越したことは無いのです。

SWR

 https://swr.vercel.app/ja

 ライブラリの話まで踏み込んでしまうと、それだけで星の数ほどになってしまうのですが。それでもいっこだけ捩じ込ませてくれということで。それだけ個人的お気に入りということでもありますが。

 元々はSSRの効用云々な論争から始まって「それよりもこっち(ブラウザキャッシュ)使った方が速いんじゃね?」というVercel(Next.js開発元)の提案から出てきたライブラリ、と認識しているのですが。そことはあまり関係無く、単純にFetch取り回しと、そこからコンポーネント展開のラクさと。あとは合わせ技になりますがSuperstructかましてのTypeScript型確保と、必要十分が揃って絶対に手放せないライブラリとなりました。取り上げられたら赤子の如くギャン泣きします。何故。さぞかし見苦しいことでしょう五十路越えのおっさんギャン泣き。そうゆう話ではなく。

 実際問題、露骨に作り方使い方を間違えない限りは、コンポーネント単位で厄介なバグってそうそう出ないのですよね(主観です)。厄介なことになるのは大抵はこういったデータ運搬周りだったりします。そこを担ってくれる有り難さよ。

jQueryとかRubyとかPythonとかPerlとかshとか

 一応経験言語としてタイトルだけは書いた。けどもう忘れた。おい。

 唯一Pythonだけは2025年にも触るチャンスあったのですが、今回の介護離職に伴う形でみすみす機会を逃してしまいました。結局残ってる知識は昔のものばかりです。もう巡り会うことも無いのかもしれませんな。バイバイお達者でアディオス。え?これ自体がフラグ?大歓迎ですカモーン。

 こう言ってしまってはブラフにも聞こえるのかもしれないですけど。基本的なプログラミング知識があって、あとは言語毎の配列とオブジェクトの特性さえわかってしまえば、大抵のデータ操作云々は横展開でなんとかなりますよね?というのが根拠的な物言いになります。そこの現場でどの言語使えるかを決めるのは基本お客さんでもありますし。我々下請けコード書きは言われた環境で書くしか無いのです・・・・とか書くと悲観的過ぎますか。

ツール系

VSCode/Cursor

 https://code.visualstudio.com/
 https://cursor.com/ja

 世間様ではまさに一世を風靡しておりますCursorですが。そのCursorもVSCodeを基にしておりますので、ここでは一旦まとめてのお話とさせてください。

 元々開発用のテキストエディタといえば、世界的にはVimとEmacsが二台巨頭でした。一部抜け忍的な存在としてサクラエディタや秀丸エディタとかもありましたが所詮マイノリティ。Vim/Emacs使わずは人にあらず?的な冷たーい視線?が浴びせられるなんて局面もあったとか無かったとか。宗教戦争に首突っ込む勇気はありませんのでこれ以上の言及は避けます。当時の私としては一応形ばかりのEmacs派、運用の都合上最低限にVimも・・・といった日和見な立場でした。

 そんな折。いま調べ直したら初版リリース2008年ですか。そんな論争をもろともしない癒しのエディタが世に出ます。Sublime Text。もう皆さんいちいち最適化設定するの疲れたでしょ?設定なんか触らずにデフォルトでこれ使いなされと。いい塩梅でバランス取ってあげるからと。名目としては有料ソフトであったにも関わらず、実態としては無期限で制限無しに使えたということもあって、設定に疲弊していたユーザをじわじわと救い上げていきました。私もその一人でした。すげーなーーーんもせっていしてないのにこんだけつかえるーーーー。脳細胞死滅させながらSublime Textに飲み込まれていきました。

 そんな動きをじっと観察している企業がありました。Microsoftです。いろいろな事情があったのだと思います。Webアプリに押されてネイティブアプリが低迷していた(=Visual Studioのシェアも落ちた)、自ら主導するTypeScriptをもっと推したい、Macからもシェアを取り戻したい、etcetc。いや勝手に書いてるだけで根拠はありませんけど。

 そんな訳で2015年。Visual Studio Codeが無償でリリースされました。見た目操作性はまんまSublime Text。勿論リリース直後はパクんなゴルァと非難の声が上回っていたことを記憶していますが、そこはさすが天下のMicrosoftとでも言うべきなのでしょう。JavaScript/TypeScriptの完全サポート、ゼロコンフィグ方針の維持、拡張機能のフルオープン、GitHub統合(2018年MSが買収)と手厚い機能追加を継続したことで、着実にがっつりとユーザを取っていきました。私も勿論で飲み込まれました。弱いな俺。

 そんな昔話でした。今となっては入門者が最初にインストールするエディタはほぼほぼVSCodeでしょうし。なんなら最初に触ったエディタがCursorだという方もいらっしゃるのかもしれません。

 ではなんでこんな話をしたのか?ですが。今回の退職直前まで触ってた既存案件に対して、初めてCursorだけで機能追加と修正をしてみたのです。ちゃんと$20払いましたのでプライバシーモードも有効です(と信じることにする)。

 そこで触った時の感想が 「あぁこれ最初にSublime TextとかVSCode触った時と同じだぁ」 だったのです。インストール時に拡張機能のインポートだけは行いましたが、他は何もせず。巷で大流行りのプロジェクトルールもプロンプトも一切書いてませんのゼロコンフィグ。にも関わらずちゃんとCursorとしての機能が動作するのです。TABを押せば補完しまくってくれる。CTRL+Kでカーソル行に対してプロンプトが発行できる。CTRL+Iでチャットにお願いすればよしなに複数ファイル書き換えてくれる。時には明らかに間違った出力する時もあるけど、そん時はやり直せばいい。8割希望に沿った結果が出てくれれば、残りを手修正してしまえばいい・・・・・。

 あーそりゃCursor大流行りする訳だわと腹落ちした次第です。この感触を知ってしまった以上はもう戻れないように思えます。

Prettier / ESLint

 https://prettier.io/
 https://eslint.org/

 こちらも半ば昔話が入ってしまうのか。とはいえこちら今でもCursorと共存可能ですので。AI時代の今となっては霞んでしまいますが、特にJavaScriptにおいてコード整形や機械的な問題点抽出を自動化したという点で両者の果たした役割は偉大だった、と勝手に解釈しております。

 もっと具体的に言うなら・・・・重箱の隅にしか興味を持たず時間を浪費するだけ、そんな聳え立つクソの巨塔みたいなコードレビューを撲滅できた、ということになりますでしょうかね。無駄にトシ取ってる関係で、若手さんの書いたコードをレビューすることもあったのですが。「いっこでもPrettier/ESLintの警告表示でたらレビュー強制終了の不合格だからね」と念押ししただけで。数日後提出時のコードが見違えましたからね。確実に効果はあるのです。言われる側からすればクソ鬱陶しいジジイの小言なのだろうなぁ。気持ちはわかる。

 今はAIに投げればレビューして勝手に修正してコミットまでしてしまいますから。どこがマズかったのか不具合発生する可能性があるのか・・・を気付かないままに仕事が進んでしまうという話なのかもしれません。これが良いのか悪いのか。ここでは判断しません。

Git

 https://git-scm.com/

 「Git使わないのは紐無しバンジージャンプしてるのと同じ。あなた死にたいの?」

 このセリフを何十人に言ってきたことでしょうか。何百人、だとさすがに盛り過ぎ。2025年の今でこそ流石ににそうゆう現場も無くなってきた程度には、ソースコード管理としてのデファクトを取ったGitですが。現場参画して打合せして、まず最初に議論(ていうか喧嘩)になったのがGit使うか使わないか、なんて時期もありました。それだけ浸透には年月がかかってしまったということでもあります。

 どれだけコードを編集しようが、躊躇いなく、それこそ1文字単位でいつでも前の状態に戻れる安心感。これこそが今でも使い続ける原点ということになるのだと思います。

 とは言いつつ・・・・・実は白状してしまうと当方幾分原理主義なところもありまして。GitHub Actionをはじめとするリモート側の各種便利機能や、CI回すための諸々ノウハウに関しては、すっかり遅れをとっているというか、なんだったら全く触ってません。いまだにコマンド手打ちだしな。今となっては私の方が教えて貰わなければならない立場なのかもしれません。

Notion / Obsidian / Logseq

 https://www.notion.com/ja
 https://obsidian.md
 https://logseq.com

 こちらに関してはおまとめします。要はソースコード以外の情報管理。ざっくり結論言ってしまえば静的な情報はNotionにプロジェクト名の1ページを作ってしまい、見栄え完全無視でひたすらURLとコピペを全部放り込みます。データベース?知るかそんなもん。こら。無論時系列が進む度にページは肥大化していく訳ですが、目次つければそれなりにジャンプも機能しますし、何よりも「ここ見れば全部書いてある」の安心感の方が上回ります。共有に関してもいざとなればページごとURL渡すかPDF出力してしまえばいいので。

 Obsidian(Logseq)に関してはいずれもデイリーノートを軸にして「使い捨てノート」感覚ですね。その時使うコマンドラインの一時退避とか、メールの下書きとかです。蓄積するという意味合いでは重視していません。そっちに期待していた方はすまぬ。

 ちなみにObsidianに手を出したのは2025年に入ってからでして。2023年まではLogseqを使っていました。にも関わらず「とある理由」で使用を中止したというややこしい経緯があります。理由についてはここでは絶対に書けないのですが・・・・興味ある方は直接お会いした際に耳打ち頂ければです。Logseqは原因ではなく巻き添えの被害者であるということは名誉のために付け加えておきます。

 ついでに言えば「ObsidianとLogseqどっち使えばいい?」の問いに対しては。「基本はObsidian、ただし貴方がアウトライナーを使う人であればLogseq」と答えさせて頂きます。

ガジェット系

 ウザ語りも長くなってしまったので幾分だれてるよなという自覚もしつつ。こちらはイッコダケ。

キーボード HHKB Lite 2 / Realforce

 https://happyhackingkb.com/jp/products/discontinued/hhkb_lite2/
 https://www.realforce.co.jp/products/series_master_r3.html

 2001年に発売されたHHKB Lite 2はどこの現場にも必ず持ち込んでた「相棒」のような存在でした。去年2024年にとうとう1台が天寿を全うしましたが、まだ手元には2台のストックがあります。2台を使い潰す前におそらく私の寿命の方が先に来るのでしょう。

 ・・・・と書くといかにも頑固ジジイの強情みたくなってしまうのですが。この先を説明してしまうと実はそこまでトガり切ってる訳でもなく。まず当方プログラマ御用達の英語配列キーボードは全く受け付けません。JISキーボードでないと記号打つの無理です。加えてヘンな酔狂で日本語を親指シフトなんてもので入力してしまっているため、それが無理なく打てるキーボード自体が少ない故の消極的選択肢ではあるのです。Lite 2という名前の通り廉価版ですから、打つ時のパコパコ感も残ったりしますし。決して他人様に勧められるものではないのです。そもそも販売もサポートも終了してますし。

 という訳で現在、家環境に関してはMacでもWindowsでも使えるようにRealforce R3(R3HG21)を買い足しております。流石に打鍵感はこちらの方が上。値段も値段ですし当たり前か。現行HHKBと違ってカーソルキーが自然な位置に配置されているのもプラスポイント。

 やれと言われれば渋々ではありますが会社支給のペコペコキーボードでも仕事はできます。とはいえこうゆうところで自己満ガス抜きしておくのも必要なことではないですかねぇ。ていうかこの程度にすら文句ぶちぶち言ってきたり、あからさまに禁止令出したりねぇ・・・・どんだけケツの穴小さいんだ針の穴か。お下品ですね私怨入りましたすいません。

以上。

 ということでボロが出る前に〆ましょう。もう手遅れという話も。ごほんごほん。今回挙げた諸々をそのまま今後も使うことができるのか、これを元手にして次に繋げることができるのか・・・・・は全くわかりません。まずは働けるようにならないと話にならん。それが来月なのか来年なのか10年後なのか、それとも私の方が先に死ぬのか・・・・・。マジでわからん神様に聞いてください。

 ただその一方で。こんなまとまりのない形ではありますけど、こんだけだらだらだらだらと長文駄文重ねられるということは。そんだけこうゆうの触ってること自体が好きなのでしょうな。だから四半世紀続けられたという話なのかもしれません。

 ここでは書けなかった諸々も、書くまでもないくっだらない諸々も、どこかで誰かさんと話せる日が来るといいよなぁ・・・・と夢想しながら。明日からもまた世話の日々が続きます。それで結局戻れなかったら、冥土の土産にでもしておきます。やっぱり逝ったら逝ったでEmacserとVimerに囲まれて詰められるんですかね・・・・お目汚し失礼致しましたではでは。


戻る