「デプロイ」を含む日記 RSS

はてなキーワード: デプロイとは

2026-01-20

プログラマーから転職を考えている方へ。

プログラマー仕事と、その他の仕事の最大の違いは、なにか?

これは私自身が、また私以外の業界から転職されてきた方々を見てきて、これではないかな?と思うことがあります

それはプログラマー以外の仕事は、常に本番環境である、ということです。

たとえば営業であれば、取引先との打ち合わせも見積もりも、ひとつひとつが「本番」です。やり直しはききませんし、次の瞬間には社外の人の評価や信頼がかかっています接客教育医療建築…どの仕事もそうです。人や社会に直接つながっている以上、テスト環境など存在しません。常に結果が「本物」として記録されていくのです。

その点、プログラマー世界は少し違います。そこには「テスト環境」があり、「デプロイ」という明確な境界がありますエラーが出ても、まずはコードの中で直せばいい。実験修正を繰り返しながら、本番に近づけていける。失敗から学ぶ仕組みが、仕事構造として組み込まれているのです。

もちろん、だからといってプログラマーが気楽だという話ではありません。むしろテストできる」ことが前提だからこそ、完璧シミュレーションを作り上げる責任が生まれます。本番環境を一歩でも誤れば、大きなシステム障害につながることもある。

けれど、「試すことが許されている」という点で、プログラマー仕事は他の仕事とは質的に異なる、と私は感じます。多くの職業では「やってみること」そのものリスクになるのに、プログラマーだけは「やってみること」が日常の一部として制度化されているのです。

たとえるなら、プログラマー仕事は「楽屋のある職業なのだと思います

多くの仕事は、目を開けた瞬間からステージの上に立たされるようなものです。接客業ならお客さんの前に立った時点で本番が始まっていますし、教師なら教室に入った瞬間に舞台袖はありません。間違えば生徒が戸惑い、客が離れ、取引が破談する——それらはリハーサルのない一回きりの公演です。

一方で、プログラマー楽屋での準備が長く、ステージに出る時間は驚くほど短い。コードを書く、テストする、修正する。その多くは「誰にも見られない暗闇の中」で進んでいきます。そして、いざデプロイという名の本番を迎えるときには、すでに何十回ものリハーサルを終えているわけです。

そう考えると、プログラマー面白さは「安心して失敗できる時間」が保証されていることかもしれません。社会の多くの仕事が「失敗しないための緊張」で成り立っているのに対し、プログラマーは「失敗を前提とした反復」で完成に近づいていく。

この違いは、単に働き方の差ではなく、「世界との関わり方の構造の違い」にまで広がっているように思うのです。

「失敗が許される世界」と「失敗が記録される世界」。

その境界線こそが、プログラマーとそれ以外の仕事を分ける根本なのかもしれません。

プログラマーの失敗は、基本的ログに残ります。誰が、いつ、どんなエラーを出したのかが正確に記録されます。でもそのログは、「修正可能痕跡」であり、「過去をなかったことにできる記憶」です。失敗は恥ではなく、改善のためのデータとして保存される。むしろ失敗を残さない方が恐ろしい——なぜなら、それは検証再現もできないバグから

一方、他の多くの仕事での失敗は、ログではなく「印象」として残ります顧客言葉上司記憶、誰かの評価修正パッチ配信できませんし、「新しいバージョンリリースしました」と言っても、その印象が上書きされるとは限りません。世界自動キャッシュクリアしてくれることはないのです。

からこそ、非プログラマーの人々は無意識のうちに「失敗を避ける設計」で働くようになります完璧に準備してから発言する、波風を立てないように動く、見せ方に細心の注意を払う。彼らの本番環境には“try-catch”構文が存在しないのです。

一方で、プログラマーは「例外処理」を書くことを前提に思考する。すべての失敗を想定し、起こり得るエラーを受け止める枠組みを最初から組み込む。そこには、世界を「壊れ得るもの」として見る柔軟さと、「壊れても直せる」という信念がある。

その考え方の違いが、やがて人の思考様式言葉の慎重さ、さらには生き方のものにまで影響していくのではないか——そんな気がしています

さて――ここからは少し説教じみたことを申し上げます

プログラマーから別の職業へ転じようとしているあなたへ

覚えておいてください。これから踏み出す世界には、「実行ボタンを押す前にコンパイルしてくれる親切な仕組み」はありません。人の言葉も、会話も、メールも、一度送ったら基本的に戻ってきません。Undoはありませんし、Gitもありません。世界は常にmasterブランチで動いています

ですから、まずはその“冗長曖昧さ”を恐れないでください。コード世界ではif文で整理できたことが、現実人間社会ではあいまいなまま動いています。それを「エラー」だと考えないでください。人間仕様書なしで動いているシステムです。バグだらけで当たり前なのです。

そして、失敗したときにすぐ修正しようと焦らないことです。

現実世界では、修正にも時間がかかりますし、再デプロイにも人の気持ちというプロセスが関わってきますあなたが「パッチを当てました」と言っても、相手の心がそれをすぐに適用してくれるとは限りません。

ですから、焦らずに。ログを読むより、人の表情や沈黙を読む方が大切になります

そして何より大事なのは、「テスト環境がない」という世界でどう生きるかを考えることです。

あなた言葉は、すべて本番環境に直接デプロイされます。その恐ろしさの裏側には、同時に大きな自由もあります。本番だからこそ、本気が伝わります人間関係も仕事も、常にリアルタイム最適化されていくのです。

プログラマーらしい慎重さと、非プログラマー的な即興性。その両方を持てる人は、なかなか多くありません。もしあなたがその橋渡し役になれたなら、どんな職場でもきっと大きな価値を発揮できるはずです。

世界try-catchのないシステムです。しかし、恐れることはありません。catchできない例外出会ったときこそ、人は成長します。これからあなたフィールドには、テスト環境の代わりに「出会い」と「経験」が用意されています。それもまた、悪くない環境だと思います

2026-01-09

生成AIバイナリを書く未来は、来ないとは思うが、今も普通にできる

生成AIが直接機械語バイナリを出力するようになるのではないか、という問いは本質的に間違っている。

自分は、まだ素朴なニューラルネットワーク光学文字認識(OCR)の精度を出していた頃から似たようなことを考えていたので、少し他人よりも蓄積がある。

これは、Large Language Model(LLM)を開発する企業資金を集めるために多少誇張した未来を語るという文脈では大目に見た方が良いが、正確性に欠ける。

本質的な問いは、なぜ我々は、ノイマンコンピュータを用いて、主記憶に置かれたプログラムCPUを用いて実行する形式をとるのか、というものである

まず、筋の悪い反論から説明し、妥当反論にも触れたうえで、本質的に問うべき課題説明する。

生成AIを含むAIは、十分な人間データが無いと学習が出来ないのか?

これは明確に、いいえ、と答えることが出来る。

最初こそ人間による補助は必要だが、LLMを含むAIは明確な目標があれば人間データなしでも十分に学習することが出来る。

これは身近なところでは将棋、有名なものだと囲碁実証された研究存在する。

そのため、単純に「機械語人間による学習データが少ないので扱いが難しいだろう」という反論は成立しない。

そういったものはLLMではないだろうという指摘は可能だが、LLMでそういったAIを出力することは限定的とはいえ現在でもできる。将来できないと言うだけの論拠にはならない。

プログラミング言語は、自然言語から曖昧さを無くすために必要ものか?

これは限定的に、はい、と答えることができる。

英語に限った話ではなく、人間意思疎通に用いる言語である自然言語(natural language)は、曖昧さやばらつきがある。

これを形式言語(formal language)という、曖昧さを無くして語彙や文法限定した言語記述しなおすことで、厳密にする手法がある。

この形式言語での表現が、アルゴリズムデータ構造になり、現代ノイマンコンピュータにおけるプログラムのものと言うことが出来る。

なぜ限定的かと言えば、形式言語一種であるプログラミング言語には曖昧さが許容されているかである

ほとんどのプログラミング言語では、同じ目的を達成する為に複数記述が許容されている。

主に、人間が書きやすいから、とか、複数人間で書きやすいように、といった理由で、曖昧さが許容されている。

そのため、機械命令するためには厳密さが必要からプログラミング言語必要だ、と言う反論妥当ではあるが、弱い。

人間監査するためにはプログラミング言語である必要があるのではないか

こちらも限定的に、はい、と答えることが出来る。

なぜ大統一プログラミング言語のように、自然言語意図機械に伝えるための形式言語一種類になっていないかと言えば、人間認知能力には限界があるからだ。

そのため、簡易で曖昧さを含むために最適化はできないが十分な性能を持つプログラミング言語や、非常に複雑で記述量も多くなるが大人数で作業するには最適なプログラミング言語などが複数存在する。

これらはいずれも、人間が楽に記述できる形式言語であったり、人間同士が齟齬なくコミュニケーションを取るために必要形式言語である

ありていに言って、人間人間たちが理解可能形式言語でないと機械にその意図を伝えることが出来ないから、と言える。

ただし、コンパイラから出力されたニーモニックLLVM-IR監査できる人間現代では非常に少なく、現状ほぼ監査なく受け入れていると言って良い。

何故非常に少なくなったかと言えば、機械に伝える意図が大規模になり、単純にマンパワーが足りなくなったので監査しきれなくなっただけに過ぎない。

(もちろん、途方もない努力の末に最適化が進み、ほぼどの様な書き方をしても最適な機械語が出力されるようになったから、とも言える)

同様の理屈で、単純に大規模になり監査が間に合わなくなったので、受け入れるようになる未来が来ないとは言い切れない。

なぜ、ノイマンコンピュータをわざわざ用いて、ASICを出力しないのか?

本質的な問いは、なぜ我々はノイマンコンピュータを用いて機械意図を伝えるのか、である

ASIC(Application Specific Integrated Circuit)と呼ばれる、特定用途向けの集積回路がある。

チップとして、Realtek社のNIC(Network Interface Card)をご存じの方も多いと思う。

必要十分な処理があらかじめ定まっているのであれば集積回路を組んだ方が高効率省電力にできる。

暗号化や復号もASICで行われることが多く、ブロック暗号はその性質集積回路での実装が容易であり、それに向けた研究も行われている。

一般的にも、ハードウェアエンコーダーなどでお世話になっている人も多いと思う。

ではなぜ、我々は身近な全てをASICにしないのか。

それは、書き換えできず、単純な処理しかできず、大量生産しないとコストに見合わないかである

FPGAのように、ハードウェア記述言語を用いて集積回路を書き換えるものも、ほぼ同様の理由研究開発用途産業用途に留まっている。

(一部のPLD (Programmable Logic Device)は根強く産業利用されているし、大規模に展開され高効率要求されかつ書き換えを求められるネットワーク機器では一部採用が進んでいる)

汎用的で書き換えが可能、伝える意図を変更できる様々な処理が可能機械価値があるからである

閑話休題

ここ半年から1年で急激にLLMの性能が上がったと感じている人と、コーディングツールとしてLLMの利用が洗練されたと感じている人の間には溝がある。

自分は、LLM自体は順調に進歩し続けているが、それほど劇的な変化はない、という立場をとっている。

これはモデルのもの質的に大きく変化したと感じないから、である

しかし、プログラミング世界に限って観ると、コーディングエージェントや実利用では大きな変化があったと思う。

この、"コーディングを取り巻く環境としてのLLM利用"という文脈は、"LLMの進化"という文脈とは異なる、という点は頭の隅にでも覚えて帰ってほしい。

LLMは直接バイナリを出力するようになるのか?

これは、LLMから直接と言う意味であれば、個人的にはNOだと思う。

ただし、LLMに指示すればバイナリが出力されるという意味であれば、個人的にはYESと答える。

この二つは明確に異なるので、今後自分意見を述べる際には区別すると良いと思う。

コーディング周りの環境が劇的に整備されつつある、という話題に軽く触れたのはこのためで、LLMが直接バイナリを出力しなくても、結果が同じであれば人々はそれほど気にしない。

例えば、現時点でもローカルのLLMに指示するとGO言語で書かれたコードが生成され、ローカル環境に合わせたシングルバイナリが出力される一連のパイプラインを組むことはできる。

自分の想定する、未来AIバイナリを直接出力するというのは、この延長にあると思う。AIイコールLLMである必要はどこにもない。

また、議論している人たちが見えている世界も違うと思う。

少しでもクラウド上でのサーバー処理について触れると、廃棄容易性(Disposability)は俎上に上がる。いつでも落とせていつでも捨てられる、という性質のことである

こうした、単機能バイナリコンテナ等に載せて処理し、日に数度デプロイするような環境だと、LLMがバイナリを出力するというのもそれほど遠い未来の話には思えなくなる。

まとめに代えて

LLMが機械語を出力する未来個人的には来ないと思う。それは難易度が高いからではなく単純にメリットが少ないかである

ただし、パイプラインが組まれた一環として、LLMがバイナリを出力する未来は、それほど不思議には思わない。現時点でも可能である

単純なLinterから進んで静的解析や、動的な結合試験が組み込まれているCICDパイプラインが珍しいとまでは言えない現代において、来るべき近未来像としては妥当性がある。

(その場合ソースコードログとして機能し、テキストで保管が容易な、次回以降変更可能コンテキストの一部になるだろうと思う。今後変更不要ならHDLでFPGAを弄った方が早い)

現代人のすべてがJavaで同一の書き方をしているのではない現状において、自然言語では揺らぎが強すぎて形式言語ほど意図機械に伝えきれないという反論は、弱い。

それよりは、現代のLLMはコンテキストウィンドウ人間の数倍~数十倍程度で、適切に分割して処理しなければならず、大規模なソフトウェアを丸ごと扱えるほどではない、という反論の方が適切である

ただ、LLMに適したプログラミング言語が生まれるのではないかと言う予測には懐疑的である既存プログラミング言語を使う方が人間が読みやすい。

AIが、人間が欲しいバイナリに適したプログラミング言語をLLMを用いて書き、LLMを用いてレビューし、テストツールテストし、コンパイラビルドし、ツールデプロイし、実稼働するという未来予想図が、荒唐無稽とは思えない。

LLMに適したプログラミング言語が生まれ未来よりも、(冗長であっても)人間可読性の高いコードやSelf-documenting codeが生成される未来の方が、来そうに思う。

また、おそらくこの文章もつくであろう「どんなプロンプトで書いたのか」という、一定以上の長さの文章はLLMが出力しただろうと仮定する人間が増えている(そしてある程度の妥当性がある)現状において、プロンプトで指示してデプロイまでされる未来はそこまで遠いとも思えない。

ただ、購入できるハードウェアの性能とコスト律速になるので、よほど特殊な(CPUGPU設計をLLMが劇的に改善する)状況にならない限り、5~10年はプログラマーが消えることは無いと思う。

金に糸目をつけないのであれば、再来年当たりからはLLMレビューのみで仕様バグ以外のほぼ無いプロダクトが世に出てもおかしくは無いと思う。

生きているうちにWozniak testパスしたというニュース出会えるかもしれないと、最近は思っている。

anond:20250628122821

2025-12-26

AI仕事無くなりそう

AI実装やらせてたらコミットまでやってくれる

CI/CDさえちゃんとしとけばマジで指示出ししただけで全自動デプロイまでできる

怖くてデプロイまでは流石に任せられないけど

しかも指示っていっても複雑な指示じゃなくて

「これってこうできない?」「これって原因わかる?」くらい

まじで俺のバリュー無いじゃん

今の働き方で職失っても文句言えない

2025-12-03

教育虐待やめろ←じゃあ子供弱者男性デグレードしたら責任取れるの?

教育虐待ガー」とか言ってる層って、マジで日本教育システムを単なるブラックボックスとして捉えてるんだよね。

でも実際は、日本教育競争アルゴリズムに基づく階層ソートシステム なんだよ。

入力パラメータ学習量)を下げれば、アウトプット(進学・所得婚姻市場ポジション)が劣化するのは 仕様 であって感情論じゃない。

から可哀想から詰め込みやめろ」と言うのは、システムの根幹ロジック理解せずに設定値を勝手に下げる危険パラメータ変更なんだよ。

教育階層分布を決定するスコアリング関数

日本社会は

偏差値=相対ランキング

大学ブランド=初期アサイン先の決定要素

初期アサイン=長期年収カーブの基底値

年収カーブ婚姻市場でのレコメンド優先度

という レイヤードアーキテクチャ構造化されてる。

まり教育を削るという行為は、スコアリング関数入力値を意図的に下げるのと同義

当然、最終アウトプット弱者男性という低スコア領域に落ち込む可能性が跳ね上がる。

そして外野は、その結果生まれる損失を1バイトも負わない。

教育を減らす=子供ハードモード強制デプロイ

勉強量はそのまま キャリア初期の戦闘力パラメータ

これを下げた瞬間、

進学機会が減少(選択肢のサブセット化)

初期就職が低ランクに固定(パス依存

生涯所得が減少(KPI低下)

結婚市場で不利(レコメンド優先度下落)

という 不可逆なデグレードが発生する。

これを回避するには、インプットを削らないのが最も効率的なんだよ。

にもかかわらず、外野は「詰め込みは虐待」とだけ言う。

まるで、性能要件理解しない非エンジニアが、「その処理重くない?」とだけ言ってくる感じ。

●「弱者男性リスク」という潜在的損失コスト

弱者男性化には、単純な心理的ベル以上の意味がある。

それは 数千万〜数億円規模の長期的機会損失 という隠れたデフォルトリスク

本来教育量を減らせと言うなら

生涯年収低下分の補填(数千万円〜数億円)

初期キャリアの不利の補償

婚姻市場で不利になったとき代替提供

ぐらいのバックアッププラン提示すべきなんだよ。

でも外野はただの**無責任ノイズnoise)**を発してるだけで、何ひとつ責任領域を持たない。

●「責任ゼロで介入」=最悪のシステムデザイン

教育方針への介入は本来

リスク負担者(risk owner)

損失補償者(compensator)

意思決定権者(decision owner)

が一致している必要がある。

しかし「教育虐待ガー派」は意思決定に関わるくせに、リスクも損失も負わない。

これ、システム開発なら完全に アンチパターン責任分離の破綻) なんだよ。

●3億円の生涯年収理論値じゃない、欠損値なんだよ

サラリーマンの平均生涯年収3億円」はよく語られるけど、教育量の削減によって階層ダウンした場合これは普通に大きく失われる期待値なんだよ。

まり外野無責任に発する「可哀想」って言葉は、他人の将来資産を数億単位毀損するトリガーになり得る。

そのリスク認識していない時点で、教育議論に参加する資格がない。

結論弱者男性リスクを負えないなら口出しするな

最終的に問うべきなのはこれ。

子供弱者男性デグレードしたら、あなた責任を取るんですか?
その損失(数千万円〜数億円)をあなた補填するんですか?

当然、誰も取らないし、払わない。

まり外野の介入は責任ゼロのまま、他人人生パラメータ変更を要求するバグ行為なんだよ。

2025-11-26

終わってんなー(エンジニアリング的に)ってサービス

ちょいちょい言ってるように、一般利用者イメージからかけ離れて多い、という印象がある。

全国CMやってるようなところでも、激ヤバなところはある。

問題は、中のエンジニアのうち、上の方の連中は「俺たちのシステムイケてる」って認識らしいってところだな。

k8s使ってる。

マイクロサービス化してる。

terraform使ってる。

×××使ってる。

でも、運用頑張ってる。

SRE頑張ってる。

QA頑張ってE2Eテストやってる。

で、障害多数。

本番DBを手動で操作

なんでやねん w

一つ一つ、ごく局所的に観察すれば、さほど間違えちゃぁいない。

Web上に書かれているやつそっくりな見た目をしている。

んだが、バカみたいにでかい

多分参考にした記事が、10年とかくらい前に日本に紹介された方法で、その当時の規模、複雑度を前提としていたりするので、現代に持ってくると、でかくて複雑な大量の設定ファイル要求する。

そもそも整理するとか、書き直すという言葉が、彼らの辞書には存在しないのかもしれない。

ともかく、規模がデカくなると、そのままの延長で通用しない、という常識通用しないのだよな。

加えて、その設定ファイルをきっちり書かないと動かないんだが、その書かれた設定ファイルテストする仕組みはない。

ある場所の設定変更が、他のところに影響しないという保証がない。

ささやき

いのり

えいしょう

ねんじろ!

デプロイに失敗した

エンジニア徹夜になりました

みたいなことが高確率で発生し、DevOpsだなんだ標榜していても、新機能リリースは少ないし、古いリソース解放はまずやらない。

からクラウド課金右肩上がりになる。

そんな職場楽しいか?

楽しいわけないよな?

エンジニアが辞めていく。

取り残された連中は、次の生贄を確保するために嘘をつく。

「うちはフレンドリーですよ」

勉強会、頻繁にやってますよ」

「新しい技術に触れられますよ」

「どんどん提案してもらって、どんどん改善できますよ」

全部、嘘。

そんな職場楽しいか?

楽しいわけないよな?

AI 使って人手不足解決しよう。

で、うんこの山を積み上げるスピードを上げて、さらプロダクトを脆弱にして、働きづらくする。

そんな職場楽しいか?

楽しいわけないよな?

それは解決策じゃない。

ちゃんとできるエンジニアが、ちゃんと整理し、再設計する以外に、プロダクトが復活する方法はない。

2025-11-11

契約 → 解約 or 乗り換えしたサブスクの記録

価格は調べたり当時から改定されていて記憶だったりいい加減です

広告ブロック

280blocker (¥900 / 年) → AdGuard (¥4000円? / 年) → NextDNS (¥2,500 / 年) → ControlD ($40 / 年) → blocky

280blocker は企業に買われてからなんとなく使うのをやめてしまった

AdGuard は結構ブロックが多く家族から不評でやめた

NextDNS は日本系のフィルタが弱く更新頻度も低い印象だったのでやめた

ControlD はよかったけどちょっと高かったのでやめた

今は VPS に blocky デプロイして家族で共有している。blocky はAdAway 記法フィルタは使えないけどおおむね満足している。AdGuard Home使用していた時期もあったが、重くて常用できなかった

パスワードマネージャー

1Password ($59? / 年) → iCloud+ (¥150 / 月) → Vaultwarden

1Password は使い勝手はよかったが高くてやめた

iCloud+ は家族との共有ができないため不便が多くなり代替検討

今は VPS に Vaultwarden デプロイして家族で共有している。今のところ満足している

LLM

ChatGPT ($20 / 月) → Gemini、Claude

ChatGPT は出始めは未来を感じ課金してガンガン使っていたが、GPT-4 の出来がいまいちに感じて他に乗り換えた

日常のあれこれは Gemini を使い、コード関係は Claude のほうがいい感じの答えが返ってくるので使い分けている

写真

Google Photo (¥3500 / 年) → おもいでばこ → Synology NAS

Google Photo 無料時代に膨大な写真を放り込んでしまったため、有料化が発表されてから脱出するまでに時間がかかった

継続課金は嫌だったのでバッファローのおもいでばこを買ったが、アップロードした写真の日付がなぜか認識されないことが多く使い物にならなかった

Synology NAS についている Synology Photos はそんなことはなく今はこれを使用

Immich とかに乗り換えてもいいかと思うこともあるが、サポート (モバイルアプリなど) の面も考えると OSS に全部まかせるのも怖いなと思ってそのまま

音楽

Apple MusicSpotifyYouTube Music (YouTube Premium)

Apple Musicアーティストへの分配金が多いと聞いたためそれを使っていたが、Apple に端末代も出してサブスクでも課金してと金払いすぎではと冷静になり乗り換えを検討

Spotify に乗り換えたが、数年使っても新しい体験がまったく感じられないので失望して解約

今は YouTube Premium に付帯している YouTube Music を使っている。UX過去使ってきたサービスの中でも最悪だと感じるが、音楽サブスクに金払うよりかは一回でもライブに行ったほうがいいかと割り切っている

メール

Fastmail → NameCheap Private Email → mioセーフティメール

Fastmail は使いやすかったのだが、価格ちょっと負担になってしまい解約

NameCheap は買ってたドメイン管理してたついでに安かったので契約していたが、ドメイントランスファーに伴い解約

mio セーフティメール機能スマートフォンへのプッシュとかは無く必要最低限って感じだけど、よく考えたらプッシュ来てもうざいだけだし値段なりのサービスかなと満足している

その他

住信 SBI ネット銀行プラチナビット11,000 / 年) → 解約のみ

メインバンクだったこともあり、数年前からモバイル端末保険目当てでついでに加入していた

d NEOBANK になってしまスマートプラグラム改悪も発表され、見切りをつけてメインバンクを切り替え、それに伴い解約した

モバイル端末保険は結局一度も使わなかったのだが、これに関して代替が見つかっていないためどうしようかと考えているところ

(年間一万円程度なら、昨今のスマートフォン価格を考えると十年に一回程度の利用でも元が取れそうなため)

替えがきかないやつ

Zaim家族銀行口座残高を共有したいニーズがあり (支出家族デビットカードにまとめているため)、手軽かつ安くあげられるサービスが他に見つからない。Zaim 自体はもう創業者の方が関わっていないらしく、プロダクトとして今後新しい驚きはなさそうなのでできれば課金したくない気持ちがあるのだが

U-NEXT映像サブスク大人暇つぶしだったり子供テレビ需要だったりで無いと困る場面が多い。y.u mobile 契約がありポイントで最新作もみられるので他は契約せずこれにしている

 

 

後半価格書くの面倒になった

昔よりは支出減らせてるかな

2025-11-02

ソフトウェアエンジニアにおける才能という現実

まぁ、幻想じゃないね w

才能がないと思ったら、早いうちに河岸を変えた方がいい。

早ければ早い方がいい。

可哀想から(教え子が? それとも自分が? w)、って「がんばれ、がんばれ。才能なんて関係ない」みたいに騙すのは、むしろ害悪だよ。

10年後、気付いて路頭に迷わせるとして、その責任は取れるのか?

引導を渡すこともプロ責任

まぁ、本人自身が気づいて路頭に迷いつつあるけどどうしようもないのかもしれんが、地獄に道連れはやめてやれ w

小説家役者声優バンドマン etc.etc.

それで生計を立てない、趣味範囲で楽しむ分には好きにすればいいけど、エンジニアに限らず、それなりのお金をもらおうとしたら、才能、向き不向きは超えられない壁として現実に、強固に存在している。

球速120km出ないけど阪神の一軍のピッチャーに、ってのはどう逆立ちしても物理的に不可能だ。

でも草野球は楽しめる。

才能がなけりゃ、一人で永遠に「大いなる助走」を続けりゃいい。

誰にも迷惑かけないなら。

医師看護師会計士経営者etc.etc. にも、才能、向き不向きはある。

おいらには、医師とか、警官とか、無理だねぇ。

落ち着きないし。

同じことを何日も続けたら、爆発する。

明日も同じことしなきゃならないのか……」って考えただけでも、死にたくなる。

こんな感じに、才能がものをいう分野って、意外に多い。

ソフトウェアエンジニアは、設計実装抽象度が多層化していて、その巧拙によって安定度、運用や機動的な新機能追加の手間、リードタイム、金や何やら、数十倍、規模複雑度が爆上がりしている今なら下手すりゃ数百倍差が出る。

その差をちゃん理解するには、巧の現場の「こういう世界があるんやー……」って実体験が必要だったり、巧レベルの才能が必要だったり、経営知識必要だったり、経済知識必要だったりして、「拙」の現場にぶら下がってるだけのエンジニアが「才能なんて幻想」って吠えたっても「マジ、迷惑からやめてね」って思う。

どの炎上現場でも、高粘度現場(リーダーマネージャ理解できないからって邪魔ばっかりしてきたり、そもそもプロダクトがぐっちゃぐちゃになってたりして、どんな行為サービスの息の根を止めるかわからなくて身動きが取れない「震える舌」みたいな現場物事全然進まない現場。通常、経費で札束ガンガン燃やしてるはずだから、ここも炎上現場っていう)でも、この手のエンジニアが腐るほどぶら下がってるんだよね。

たいてい、生み出されるソースコードドキュメント割合おかしなことになってる。

会議勉強会だなんだばっかりしてる。

いや、そういうの主催してる暇があったら、コード書けよ、って。

でも、Web記事引いてきて、「〇〇にはこう書いてある」とかドヤ顔机上の空論時間潰して「俺も一端の理論エンジニアだぜ……」とか、いや、お前はただの受け売り理解もせず垂れ流してるだけのそこらへんの AI と変わらんクズだよ。

おいらの師匠の一人は「TV出たり、本書いたりするやつは二流。一流は、自分仕事に集中していて、他のことやる暇ないから」って言ってたけど、ほんとその通りだと思うよ。


シャバと違い、ソフトウェア世界は驚くほどのスピードで巨大化、複雑化している。

30年、40年前なら、社会性の乏しい、プログラミングコンテスト受賞者みたいなエンジニアでも無双できたけど、今は無理なんだよね。

今だと玉拾いも任せられないくらいだったりする。

余計な部分最適かまして、地雷埋設に邁進しちゃうから

ちょい前も、PostgreSQLの中身いじれます! って東大卒業生いたけど、視点局所的すぎて全体感に欠けてて、プロジェクトがヤバい状態になってるのが理解できなかったりしてたからね。

そろそろリリースできる状態になってる予定だけど、おいらの読み通りα版完成が3ヶ月遅れ、そこで大量の不具合が発覚してベータ版完成がそこからさらに3ヶ月以上遅れ、不具合積み残したまま見切り発車、ってなるんじゃねーかな、と思ってるんだが w

才能の種類、方向性によっては、10年前も今もたぶん10年後も変わらず十分通用するものはあるんだけどねー。

エンジニア年収は他の一般職業に比べて高い。

そこに生活水準をあげてしまうと、自分はもう通用しないと気づいても、撤退できない。

マイカーガー。

マイホームガー。

子供ガー。

愛犬ガー。

んなもん知るかっ!

さっさと色んな意味Fireしろっ!!

そういう「元エンジニア」がリーダーとかマネージャかにクラスチェンジして、事業プロダクトの足を引っ張る。

マジでこの手の「元エンジニア」が、今、業界に溢れてる。

あそことか、そことか、具体的な企業名はあげられないけど、そういうエンジニア漬物石のように重しになって、身動きが取れなくなってるところが多い。

VCとかからもっと売り上げを上げろ。成長率を上げろ、というプレッシャーを与えられ、何かしなきゃいけない。ってなって、外付けの雰囲気だけのサービスをどんどん外付けしていく戦略を取る。

1年で10

2年で30とか。

マジかよ w

思い思い行き当たりばったりに作ったら、手間だけ増えてそれを壊すわけにはいかなくなって、さらに身動きが取れなくなっていく悪循環しか見えないんだが、そんな経営方針で大丈夫か?

とりあえず認証認可から共通化していくしかない。

とか意味不明な決定して、認証認可v1、認証認可v2認証認可v3マイクロサービスが増殖して、さらにv4を企画してるとかい会社だってある。

真っ当な声には、自分存在感を示すためだけの反対を唱えて邪魔したりして、現場で手を動かしているエンジニアより高級を取ってんのに、事業プロダクトへ与えるダメージは倍増する。

さらに、自分地位を死守するために、それを脅かす腕利のエンジニアを陥れる、排除することに全力を傾ける。

これで3倍界王拳だ w

経営者はできるエンジニアたちに任せていると思い込んでいるかもしれないが、さて、どうかね? w

大本営発表的にはうまくいっているとされているサービスが、その裏側はカーオブファイヤーみたいなところって、結構ある。

というか、そっちの方が多いんじゃないかポチョムキン村。

はっきりいう。

ソフトウェアエンジニアは、アスリート的な仕事だ。

おいらは土日祝もシステム関係勉強とか研究をしてる。

今はクラウド環境プロダクトで、どのように自動テスト検証可能システムを構築するかの手法研究を続けてる。

具体的には、今まで関わってきた炎上現場で安定稼働を達成させた手法(TDD)だな。

ワークライフバランス? w

そんな寝言、やめてから言えよ www

才能のない人は河岸変えろ。

しろ若手を潰してるって自覚持て。

反論してくるのが結構いる。

あのサービスとこのサービスとそのサービスを使ってます

業務経歴書にも今まで使ったことがあるサービス名前をたくさんたくさん載せてます

僕の技術力は世界一ぃぃぃっ!!!

じゃねーよ。

ボルト世界水泳、吉田沙保里NBAに出場させるような使い方してて、どこが技術力だよ。

ってのが多い。

「どうしてこのAuroraリーダーがこんなにたくさんぶら下がってんの?」

テナントが増えて、アクセスが増えたので、負荷分散のために増やしました。水平スケーリングってやつです」

うん。水平スケーリングは知ってんねん。この程度のテナント数、ユーザー数、アクセス数で、どうしてこんなにでかいインスタンスリーダーがぶら下がってんのか? って聞いてんねんけど……。

って現場、多い。

というか、そういう現場しか知らん w

まぁ、炎上現場巡りしてたし。

でも、今通常営業してるサービスでも、こういうところ多いんだよな。

それはともかく、

マイクロサービス化していて、いま120を超えたところで、当面160になります

「……は?」

「うちのサービスドメイン多いんで」

「……デプロイの時、どうすんの?」

「変更があるサービス名を書いたファイルを一緒にコミットして、それ読み込んで、GitHubActionsでデプロイさせてます

「……ローカルの開発環境構築は?」

「Cloneして立ち上げます

「これ……、モノリポ?」

「もちろんです。Googleもそうやってますし」

「120個?」

「120個」

「なんか立ち上がらないんだけど……」

「あ、修正中なんで、〇〇と××のコミットチェリーピックしてください」

「……動かないぞ」

「昨日の夕方、変更が入ったみたいなんで、△△のコミットチェリーピック。いや、++のブランチを……」

5日で立ち上げ切れるんか?

って現場がね、案外たくさんあるんだ。

で、「マイクロサービス、使えないっすね」

「ほう……?」

連携が取りづらくて、障害発生しまくって」

どうして「自分が間違えてる」「自分が見当外れなことをしている」可能性ってのを考慮しないんだろう、この人らは?

っていつも思う。

マイクロサービス目的も前提も理解しないで、HowToだけ猿のように繰り返してるって自覚ないんか…… (-_-)

だってオライリー本のここにこう書いてあるから!」

ってマーカーで引いた一文見せつけられるんだが、その前に書かれてある前提とか目的とか、書かれてない暗黙のそれとか、いわゆるコンテキスト削ぎ落として、単語レベル理解開陳されても、「は?」としか反応できんのよな。

120のマイクロサービスとか、お前、認知科学知識もないねんな……。

それマイクロサービスじゃなく、「粉砕されたモノリシックサービス」っていうんやで、と。

まーじで、技術本とかの恣意的つまみ食いで訳分からん理論構築すんなよ。

それでプロダクトがうまく回ってなかったら、それが答えなんよ。

まぁ、「うまく回ってる状態」ってのを知らない、理解できないだろうから、正しい答えに行きつかんだろうけど。

その正しい答えに行きつかない、ってのを

「致命的な才能の欠如」

って呼ぶんよ。

サリエリくらい才能があったら、自分の才能が足りんことを自覚できるんだがな。

脳外科医竹田君みたいなエンジニアは、即刻足を洗って欲しい。

2025-10-03

anond:20251003115709

はいAI嘘増

見積書出す時に全部書いてるし説明するだろw

素材はAI使ったらこれくらいになります

コーディングAI使った場合工数でもう出てます

デプロイAIではどうにもなりませんから工数こんくらいですって

2025-09-21

税制プロ」と「システムプロ

税制の基本原則に「公平・中立簡素」ってのがある。

今回はこのうち「仕組み」に関わる「簡素」がテーマ

システムだって大事価値観に「簡素」がある。

KISS原則と呼ばれ、「複雑さを避けて可能な限りシンプルで単純な状態を維持すること」とされている。

こいつはシステムに限らず、工学的な真理で、特に物理的な制約が少ないソフトウェア世界ではこの戒めを忘れると、とんでもなく絡み合ったうんこになって、制御不能になる。

物理的制約でガチガチに固められた建物とか機械電化製品場合リード線がごちゃごちゃになってるとか配管がごちゃごちゃになってるとか、柱が歪んでるとかヒビが入ってるとか、誰の目から見ても明らかなんだが、システム場合「一本の処理フロー」だけじゃなく、「(複数)リクエスト平面」「データフロー」「データライフサイクル」「ステート変移」「非同期処理」等々、頭の中でそれを組み立てられる人じゃないと、どれだけやばいことになってるか、認識できないんよね。

ダメダメプロダクトだと、裏で集計バッチが動いていると、2人以上がログインするとサーバが落ちるとか、ちょっと大きめのテナントが追加された途端、2箇所からCSVファイル生成&ダウンロードさせたらサーバが落ちるとか。

1機能1機能は「完璧に()」設計実装されて、テストもしている。

デプロイして動作確認もしてる。

でも、こういう電脳空間を見ることができないエンジニアは、集計バッチが動いて2人以上がログインして、CSVファイルダウンロードする、みたいな複合的な状況に対応できない。

のに、1機能1機能をコッテリ仕上げてしまう。

Web記事で見たあれを投入して、これも採用して、って。

全ての電脳世界次元で、主となる流れを設計する。

抽象化による簡素化だ。

だけど東大卒で「僕、賢いので」ってのは、現場に「追加」して「複雑化」することしかできない。

考えられない。

「僕はわかるので。

 (税制の | プログラムの)プロなので。

 素人は黙っていてください。

 あなた方は責任というもの理解していない。」

彼らの「賢い」は、部分部分の整合性を、他の人よりたくさん、取れるってだけの話で、それってAI的「賢さ」なんよね。

そういうのと、スティーブ・ジョブズ的な「全体を把握する賢さ」「シンプルに実現する賢さ」を比べてご覧よ、って話。

あることを成し遂げるためにたくさんの手順を複雑に積み上げて、それを記憶していられる凄さより、全体を律する「仕組み」を作り上げられる凄さの方が、より「人間けができる凄さ」なんだよ。

この手の人は「全体」を理解できなくて、重箱の隅にこだわることこそ「知能」「知性」だと思ってんのよな。

そういうアチーブメントテスト脳は、黙ってAI的な「反応的適用作業」に集中していて欲しい。

物事を作り出す、知能もセンス能力もないんだから

そういうのはプロとは呼ばない。

2025-08-04

技術負債と騒いでる人達スキルが低いのだろうか

技術負債って騒いでる人達は、単にコードを読んで直せないだけのスキルの低い人では?」

という意見を見かけて、さすがにどうなんだろうと思った。


関わった現場ひとつに、キャッシュがない状態トップページを表示するだけで数千件のクエリが実行されるようなサービスがあった。

かなり短い間隔で定期実行し続けるバッチが、ユーザーアクセスされる前にキャッシュ層にクエリ結果を流し込み、キャッシュクリアするデプロイ前後以外は普通Webサービスくらいの動作速度に隠蔽されていた。

単純に N+1 問題の大爆発みたいなものが起きていただけだったので、データ取得を再設計したら初期表示のためのクエリ数は数件程度にまで減ったし、キャッシュ使用量も大幅に削減できた。


とある有名な MVC フレームワークを使っていたのだけれど、片手で数えられるような少数コントローラファイルにそのアプリケーション必要アクションがほぼ全部詰め込まれている、という状態になっていた。

privateメソッド共通処理が埋め込まれていたり、使いたいprivateメソッドがあるコントローラアクションを追加するような空気感になっていたり、アクションを実行する前に処理しておきたいミドルウェア的な処理がコンストラクタに大量に書かれていたりして、リクエストを受け取ってからレスポンスを返し終えるまでの全体で何がどう動いているのか、何をどこに書くべきなのか非常にわかりにくい状態だった。

責務ごとにファイルを分割、共通処理は再利用できる形に切り出して、初期化は適切なライフサイクルで実行されるように整理という現代では当たり前の状態に整理した。

その結果、コードの見通しがよくなり、新機能の追加や修正の際の影響範囲も明確になった。インフラコストリリースに伴う精神的負荷も大きく下がったし、何よりテストにかけるコストが激減した。そしてテストコードを書く、という行為自体可能になった。

これらの作業は単に「読める」「読めない」「直せる」「直せない」のスキル論ではない。

人を増やせば増やすだけスケールする、開発速度は加速するとは決して思っていないが、新規参入したうちの多くが露骨に頭に ? が浮かばせ、見てはいけない闇を見たという顔でそそくさを去っていくのは健全なのだろうか。

環境変わったから直すケースの方が多い」みたいな意見にも違和感がある。

もちろん、言語ランタイムのものが大きく変化して互換性を失う場合(たとえばPHPのように)にはどうしても改修が必要になることはある。

でもそれは「設計しても意味がない」こととは違う。

環境依存の影響が全体に波及してしまうのは、設計段階で依存を分離していなかったから起こることで、抽象化できていれば影響は局所化できる。

局所化できるはずのものを「考慮しても意味なかった」と片付けるのではなく、どこまで考慮すべきだったか、分離できていたかを振り返り、失敗を繰り返さないための動きをするべきではないかと思う。

振り返り、行いを正すということは難しいことなのかもしれない。人は過ちを繰り返し続けている。これは日本史世界史教科書を開くだけですぐわかることだ。しかしだからと言ってやらなくていいということではない。

話が逸れかけたが、いわゆる技術負債というものについて問題だと感じているのは、誰もが安心してリリースできない状況を作り出していることだ。


そういう状態を "技術負債がある" と呼ぶのではないだろうか。

から、「スキルがある人なら読んで直せるでしょ」という話では済まないし、

逆に言えば特定の人だけが持つ「直せる」スキル必要な時点で、それは既に構造的な問題を抱えているということ。スケールしないし、事業リスクしかない。

まぁ色々書いたけど、技術負債を “スキルが低い人の言い訳” と切り捨てるのは簡単なんだよね。

黙って火を消している人たちの努力はそんな嘲笑のために存在しているわけではないことを胸に刻んでいただきたい。

2025-07-31

anond:20250731163470

CI があるようなチームなら、修正デプロイハードルも低いから多分動くからいかーみたいなノリにはなりがち

2025-07-29

📘 GitHubの利点についてのメモ

GitHubギットハブ)は、ソフトウェア開発者にとって非常に便利なツールであり、特にチームでの協力作業において大きな効果を発揮します。GitHubGitというバージョン管理システムを基盤としており、コードの変更履歴管理やすく、過去状態に戻したり、特定の変更内容を確認することができます。また、Pull RequestやIssue機能を使えば、チーム内でのコードレビュー意見交換が円滑に行えますさらに、GitHub世界中開発者が参加するオープンソースプロジェクトの中心的なプラットフォームとなっており、自分スキルを活かして貢献することも可能です。CI/CDなどのDevOpsツールとの統合簡単で、自動テストデプロイ自動化によって、開発のスピード品質が向上します。加えて、READMEファイルWiki機能を使ってプロジェクトドキュメントを整備できる点も、学習や共有に役立ちます。このように、GitHub個人開発にもチーム開発にも不可欠な存在であり、効率的かつ協力的なソフトウェア開発を実現するための強力なプラットフォームです。

https://mavenanalytics.io/project/38415

https://mavenanalytics.io/project/38386

https://mavenanalytics.io/project/38387

2025-07-05

ビジネスでの「戦争言葉」使いは、アップデートしなくてええんか?

コンサルとか広告マーケティングIT、それに物流現場で飛び交う言葉、ホンマにええんか?

ストラテジー」とか「ターゲット」「デプロイ」「ミッション」「オペレーション」とか、聞いてて「これって、ビジネスの話だよな…?」ってなるわ。

だって、これ全部戦争でもビジネスでも頻繁に使う言葉やんけ。

PDCAサイクル回すぞ!」なんて息巻いとるけど、あれも元々は軍事作戦の考え方やで。

具体的には、第二次世界大戦中にアメリカ統計学者、ウィリアムエドワーズ・デミング博士品質管理のために広めた考え方なんやけど、そのルーツ

軍事生産効率化にも繋がっとるって言われとるんや。

計画(Plan)→実行(Do)→評価(Check)→改善Act)っていうサイクルが、軍のオペレーションと似とるってことやな。

でもな、疑問に思うんよ。軍隊ロジックビジネスに役立つからって、なんで言葉まで軍事に関連する物騒なもんにしとるんや?

お客さんを「敵」みたいに見て、市場を「占領地」みたいに考えるって、ホンマにまともなビジネスなんか?

俺らがやってるのは、お客さんの困り事を解決したり、世の中に新しい価値を届けたりすることやろ。お互いに協力して、信頼関係を築いていくのが大事なはずや。

なのに、知らん間にビジネスを「戦争」とか「攻撃」みたいに捉える言葉を使っとるせいで、なんかギスギスした雰囲気になっとるんとちゃうか?

軍事用語ビジネスで使うって、もしかして俺らは、遠い国の紛争他人事として見ながら、実はそのロジック経済活動に持ち込んで、うっすら戦争ごっこを楽しんでるだけなんちゃうか?

なんか、モヤモヤするわ。

2025-06-28

LLMはエンジニア仕事を奪うのか?否、仕事抽象度を「Why」の次元

序文コード蒸発する時代と、それでも残る「Why」という名の問い

2025年私たちソフトウェア開発の歴史的な転換点に立っている。大規模言語モデル(LLM)の進化は、GitHub Copilotのようなコード補完ツールに始まり、今や「何を作りたいか」を自然言語で伝えるだけで、アプリケーションの雛形が数分で生成される時代現実のものとしつつある。この光景を目の当たりにした多くのプログラマが、漠然とした、しかし確かな不安を抱いているだろう。「私たち仕事は、いずれAIに奪われるのではないか」と。

この問いに対する私の答えは、半分はYesであり、もう半分はNoだ。より正確に言えば、プログラマ仕事本質が、歴史上かつてないレベル抽象化され、その役割が再定義されるのだ。私たちは、コードを「書く」作業から解放される一方で、これまで以上に高度な思考要求されることになる。

本稿では、プログラミング歴史を「How(いかに作るか)」から「What(何を作るか)」への移行として捉え直し、LLMがこの流れをいかに加速させるかを論じる。そして、その先にある、AIには決して代替できない、人間ならではの競争優位性、すなわちWhy(なぜ作るのか)」を定義し、記述する能力重要性について深く考察していく。これは、単なる未来予測ではない。今を生きるすべてのソフトウェアエンジニアにとっての、生存戦略提示である

第1章:プログラミング歴史的変遷 ― HowからWhatへの長い道のり

LLMの登場を特異点として捉える前に、我々が立っている場所を正確に知る必要がある。ソフトウェア開発の歴史は、常に「抽象化」との戦いであった。そしてその歴史は、プログラマの関心が「How」から「What」へと徐々に移り変わっていくプロセスとして描くことができる。

1-1. 手続き時代:Howを記述することに終始した黎明期

コンピュータ黎明期プログラミングとは、計算機理解できる命令(How)を、一行一行、丹念に記述する作業のものであった。アセンブリ言語や初期のFORTRANCOBOLといった言語は、ハードウェアの制約を強く受けており、プログラマメモリ管理プロセッサ動作といった、極めて物理層に近いレベルでの「How」を意識する必要があった。

この時代テストもまた、「How」に強く束縛されていた。書かれた手続きが、意図した通りに順番に実行されるか、特定入力に対して期待された計算結果を返すか。テストの関心事は、あくまで「手続きの正しさ」の検証にあった。ビジネスロジック実装の詳細が密結合し、コード特定の処理手順を記述した、硬直的な塊となっていた。

1-2. テスト駆動した振る舞いへの注目:Whatへの小さな一歩

風向きが変わり始めたのは、ソフトウェアの規模が拡大し、その複雑性が人間認知能力を超え始めた頃だ。1990年代後半から2000年代にかけて提唱されたエクストリーム・プログラミングXP)の中で、テスト駆動開発(TDD)という考え方が登場する。

TDD本質は、単なるテスト手法改善ではない。それは、プログラミングパラダイム根底から覆す思想だった。TDDは、「まずテストを書く」ことを強制することで、プログラマ意識を「これから実装するコード(How)」から「そのコードが満たすべき振る舞い(What)」へと強制的に転換させたのだ。

テストはもはや、書かれたコードの後追いで正しさを検証する作業ではない。それは、これから作られるべきソフトウェアの「仕様書」であり、「振る舞いの宣言」となった。例えば、「ユーザーログインボタンクリックしたら、ダッシュボード画面に遷移する」というテストコードは、具体的な実装方法(`onClick`イベントハンドラの中で`window.location.href`を書き換える、など)には一切言及しない。それはただ、達成されるべき「What」を記述しているだけだ。

この思想は、ビヘイビア駆動開発(BDD)へと発展し、`Given-When-Then`といった、より自然言語に近い形式ソフトウェアの振る舞いを記述するスタイルを生み出した。プログラマだけでなく、プロダクトマネージャービジネスアナリストといった非技術者をも巻き込み、「What」を共通言語として定義する試みが本格化したのである

1-3. 宣言プログラミングの台頭とフレームワーク役割

TDD/BDDによってプログラマ意識が「What」に向かい始めると、コードのものもまた、宣言的なスタイルへと進化していく。この変化を劇的に加速させたのが、モダンフレームワーク存在だ。

Reactを例に考えてみよう。Reactが登場する前、フロントエンド開発はjQuery代表されるように、DOMを直接操作する命令的なコード(How)の連続だった。「このボタンクリックされたら、この要素のテキストを書き換え、あちらの要素を非表示にする」といった具合だ。

しかし、Reactは「UIとは、ある状態state)に対する純粋写像である」という宣言的なモデル提示した。プログラマがやるべきことは、UI状態(`state`)と、その状態がどのように見えるか(JSXによるコンポーネント)を宣言することだけだ。状態が変更された際に、DOMをどのように効率的更新するかという面倒な「How」の部分は、Reactの仮想DOM差分検出アルゴリズムがすべて隠蔽してくれる。プログラマは「What(UIのあるべき姿)」を記述するだけでよくなったのだ。

この「WhatからHowへの変換」は、様々な領域で見られる。

これらのフレームワークツールは、いわば特定の制約下における、WhatからHowへの高性能な変換器」として機能してきた。プログラマは、フレームワークが課す「お作法」や「制約」を受け入れることで、退屈で間違いの多い「How」の記述から解放され、より本質的な「What」の定義に集中できるようになった。我々が「生産性が高い」と感じる開発体験は、この優れた変換器の恩恵に他ならない。

現状は、この歴史的変遷の延長線上にある。プログラマ仕事は、手続き記述する職人から、振る舞いを定義し、それを実現するための最適な「変換器(フレームワーク)」を選択・設定するアーキテクトへと、その重心を移してきたのだ。

第2章:LLMがもたらす究極のパラダイムシフト ― 汎用変換器の誕生

フレームワークがもたらした「WhatからHowへ」の潮流は、LLMの登場によって、未曾有のスケールで加速されようとしている。フレームワークが「特定領域に特化した変換器」であったのに対し、LLMは「あらゆる領域対応可能な、究極の汎用変換器」としてのポテンシャルを秘めているからだ。

2-1. フレームワークの制約を超えて

前章で述べたように、ReactやTerraformといったフレームワークは、その恩恵と引き換えに、私たち特定の「制約」を課してきた。Reactを使うならコンポーネントベース思考し、状態管理作法に従う必要がある。Terraformを使うなら、そのエコシステムとHCLの流儀を受け入れなければならない。これらの制約は、WhatからHowへの変換を自動化するための「レール」であり、私たちはそのレールの上を走ることで効率を得てきた。

しかし、LLMはこの前提を覆す。LLMは、特定フレームワーク言語知識を事前に学習しているが、その利用において絶対的な制約を課すわけではない。私たちは、より自由形式で「What」を伝えることができる。

例えば、こうだ。

ユーザー認証機能付きのシンプルブログアプリを作ってほしい。フロントエンドはReactとTypeScriptUIコンポーネントはMUIを使う。バックエンドNode.jsExpressで、データベースPostgreSQLユーザーGoogleアカウントログインでき、新しい記事作成編集、削除できる。記事にはマークダウン記法が使えて、画像アップロードできるようにしてほしい。

この要求(What)は、特定フレームワーク流儀に則ったものではない。複数技術スタックを横断し、機能要求自然言語で並べただけのものであるしかし、現在のLLM、特にGPT-4oやそれに類するモデルは、このレベル要求からディレクトリ構造設定ファイルAPIエンドポイントフロントエンドコンポーネントに至るまで、驚くほど具体的なコード(How)を生成することができる。

これは、フレームワークが担ってきた「WhatからHowへの変換」が、特定のレールから解き放たれ、より広範で柔軟な領域へと拡張されたことを意味する。これまで自動化が難しかった、あるいは特定フレームワーク存在しなかったニッチ領域や、複数技術を組み合わせる複雑なシステム構築においても、AIによる宣言プログラミング恩恵を受けられる時代が始まろうとしているのだ。

2-2. 「What」の解像度がすべてを決める世界

LLMという汎用変換器の登場により、プログラマ生産性は、いかに質の高いWhatをLLMに伝えられるか」に直結するようになる。これは、俗に「プロンプトエンジニアリング」と呼ばれるスキルだが、その本質は、ソフトウェア開発における「要求定義」そのものである

質の高い「What」とは何か。それは、曖昧性がなく、網羅的で、矛盾のない要求である

これらは、優秀なソフトウェアエンジニアが、プロダクトマネージャーデザイナーとの対話を通じて、日常的に行ってきた思考プロセスのものではないだろうか。LLMの登場は、この思考プロセスを、より明確に、よりテキストベースで「記述」する能力を求める。私たちの頭の中にあった暗黙的な仕様が、LLMへの入力プロンプト)という形で、明示的に言語化されることを要求するのだ。

やがて、ほとんどのプログラミング作業は、この「Whatの記述」に収束していくだろう。TDDテストコードという形式で「What」を記述したように、私たち自然言語や、より構造化された要求記述言語を用いて、AIに対して「What」を宣言することになる。コード(How)は、その宣言から自動生成される中間生成物に過ぎなくなる。まさに、コード蒸発していく未来である

第3章:それでもAIには決められない ― 「Why」の不在という致命的な欠陥

「What」を伝えれば「How」が手に入る。この魔法のような世界の到来を前に、私たちは一つの重大な問いに直面する。それは、「そのWhatからHowへの変換は、本当に一意に決まるのか?」という問いだ。

答えは、明確にNoである

ある「What(要求)」を実現するための「How(実装)」は、無数に存在する。そして、どの「How」を選択すべきかを決定するためには、単純な機能要求(What)だけでは情報が全く足りない。そこには、必ずWhy(なぜそう作るのか)」という、背景、文脈、そしてトレードオフ考慮必要不可欠となる。

3-1. トレードオフの海に溺れるLLM

簡単な例を考えてみよう。「1億件のユーザーデータを格納し、ユーザーIDで高速に検索できるシステム」という「What」をLLMに与えたとする。LLMは、どのような「How」を提案するだろうか。

これらの選択肢は、どれも「What」を満たしている。しかし、その特性は全く異なる。案Aは多くのエンジニアにとって馴染み深く開発が容易だが、10億、100億件へのスケールは難しいかもしれない。案Bはスケール性に優れるが、厳密なトランザクション管理は苦手だ。案Cは高速だが、運用コストシステムの複雑性が増す。案Dは安価だが、検索速度は他に劣る。

LLMは、これらの選択肢をリストアップすることはできるだろう。しかし、このプロジェクトにとって最適な選択肢はどれかを、自信を持って決定することはできない。なぜなら、その決定には、LLMが与えられていない「Why」の情報必要からだ。

これらの「Why」こそが、無数に存在する「How」の中から、ただ一つの「正解」を選び出すための羅針盤なのである。そしてこの「Why」は、ビジネス目標組織文化ユーザーの期待、技術的な制約といった、極めて人間的で、文脈依存的な情報の中にしか存在しない。

3-2. エンジニアが暗黙的に行ってきた「Why」に基づく意思決定

ここで重要なのはこれまでもエンジニアは、この「Why」に基づく意思決定を、意識的あるいは無意識的に行ってきたという事実だ。

私たち技術選定を行うとき、単に「流行っているから」という理由だけでReactを選ぶわけではない。「SPA(Single Page Application)にすることでユーザー体験を向上させたい(Why)」、「コンポーネント指向の開発によって長期的な保守性を確保したい(Why)」、「Reactエンジニア採用市場が活発だからWhy)」といった、様々な「 Permalink | 記事への反応(0) | 17:09

LLMはエンジニア仕事を奪うのか?否、仕事抽象度を「Why」の次元

序文コード蒸発する時代と、それでも残る「Why」という名の問い

2025年私たちソフトウェア開発の歴史的な転換点に立っている。大規模言語モデル(LLM)の進化は、GitHub Copilotのようなコード補完ツールに始まり、今や「何を作りたいか」を自然言語で伝えるだけで、アプリケーションの雛形が数分で生成される時代現実のものとしつつある。この光景を目の当たりにした多くのプログラマが、漠然とした、しかし確かな不安を抱いているだろう。「私たち仕事は、いずれAIに奪われるのではないか」と。

この問いに対する私の答えは、半分はYesであり、もう半分はNoだ。より正確に言えば、プログラマ仕事本質が、歴史上かつてないレベル抽象化され、その役割が再定義されるのだ。私たちは、コードを「書く」作業から解放される一方で、これまで以上に高度な思考要求されることになる。

本稿では、プログラミング歴史を「How(いかに作るか)」から「What(何を作るか)」への移行として捉え直し、LLMがこの流れをいかに加速させるかを論じる。そして、その先にある、AIには決して代替できない、人間ならではの競争優位性、すなわちWhy(なぜ作るのか)」を定義し、記述する能力重要性について深く考察していく。これは、単なる未来予測ではない。今を生きるすべてのソフトウェアエンジニアにとっての、生存戦略提示である

第1章:プログラミング歴史的変遷 ― HowからWhatへの長い道のり

LLMの登場を特異点として捉える前に、我々が立っている場所を正確に知る必要がある。ソフトウェア開発の歴史は、常に「抽象化」との戦いであった。そしてその歴史は、プログラマの関心が「How」から「What」へと徐々に移り変わっていくプロセスとして描くことができる。

1-1. 手続き時代:Howを記述することに終始した黎明期

コンピュータ黎明期プログラミングとは、計算機理解できる命令(How)を、一行一行、丹念に記述する作業のものであった。アセンブリ言語や初期のFORTRANCOBOLといった言語は、ハードウェアの制約を強く受けており、プログラマメモリ管理プロセッサ動作といった、極めて物理層に近いレベルでの「How」を意識する必要があった。

この時代テストもまた、「How」に強く束縛されていた。書かれた手続きが、意図した通りに順番に実行されるか、特定入力に対して期待された計算結果を返すか。テストの関心事は、あくまで「手続きの正しさ」の検証にあった。ビジネスロジック実装の詳細が密結合し、コード特定の処理手順を記述した、硬直的な塊となっていた。

1-2. テスト駆動した振る舞いへの注目:Whatへの小さな一歩

風向きが変わり始めたのは、ソフトウェアの規模が拡大し、その複雑性が人間認知能力を超え始めた頃だ。1990年代後半から2000年代にかけて提唱されたエクストリーム・プログラミングXP)の中で、テスト駆動開発(TDD)という考え方が登場する。

TDD本質は、単なるテスト手法改善ではない。それは、プログラミングパラダイム根底から覆す思想だった。TDDは、「まずテストを書く」ことを強制することで、プログラマ意識を「これから実装するコード(How)」から「そのコードが満たすべき振る舞い(What)」へと強制的に転換させたのだ。

テストはもはや、書かれたコードの後追いで正しさを検証する作業ではない。それは、これから作られるべきソフトウェアの「仕様書」であり、「振る舞いの宣言」となった。例えば、「ユーザーログインボタンクリックしたら、ダッシュボード画面に遷移する」というテストコードは、具体的な実装方法(`onClick`イベントハンドラの中で`window.location.href`を書き換える、など)には一切言及しない。それはただ、達成されるべき「What」を記述しているだけだ。

この思想は、ビヘイビア駆動開発(BDD)へと発展し、`Given-When-Then`といった、より自然言語に近い形式ソフトウェアの振る舞いを記述するスタイルを生み出した。プログラマだけでなく、プロダクトマネージャービジネスアナリストといった非技術者をも巻き込み、「What」を共通言語として定義する試みが本格化したのである

1-3. 宣言プログラミングの台頭とフレームワーク役割

TDD/BDDによってプログラマ意識が「What」に向かい始めると、コードのものもまた、宣言的なスタイルへと進化していく。この変化を劇的に加速させたのが、モダンフレームワーク存在だ。

Reactを例に考えてみよう。Reactが登場する前、フロントエンド開発はjQuery代表されるように、DOMを直接操作する命令的なコード(How)の連続だった。「このボタンクリックされたら、この要素のテキストを書き換え、あちらの要素を非表示にする」といった具合だ。

しかし、Reactは「UIとは、ある状態state)に対する純粋写像である」という宣言的なモデル提示した。プログラマがやるべきことは、UI状態(`state`)と、その状態がどのように見えるか(JSXによるコンポーネント)を宣言することだけだ。状態が変更された際に、DOMをどのように効率的更新するかという面倒な「How」の部分は、Reactの仮想DOM差分検出アルゴリズムがすべて隠蔽してくれる。プログラマは「What(UIのあるべき姿)」を記述するだけでよくなったのだ。

この「WhatからHowへの変換」は、様々な領域で見られる。

これらのフレームワークツールは、いわば特定の制約下における、WhatからHowへの高性能な変換器」として機能してきた。プログラマは、フレームワークが課す「お作法」や「制約」を受け入れることで、退屈で間違いの多い「How」の記述から解放され、より本質的な「What」の定義に集中できるようになった。我々が「生産性が高い」と感じる開発体験は、この優れた変換器の恩恵に他ならない。

現状は、この歴史的変遷の延長線上にある。プログラマ仕事は、手続き記述する職人から、振る舞いを定義し、それを実現するための最適な「変換器(フレームワーク)」を選択・設定するアーキテクトへと、その重心を移してきたのだ。

第2章:LLMがもたらす究極のパラダイムシフト ― 汎用変換器の誕生

フレームワークがもたらした「WhatからHowへ」の潮流は、LLMの登場によって、未曾有のスケールで加速されようとしている。フレームワークが「特定領域に特化した変換器」であったのに対し、LLMは「あらゆる領域対応可能な、究極の汎用変換器」としてのポテンシャルを秘めているからだ。

2-1. フレームワークの制約を超えて

前章で述べたように、ReactやTerraformといったフレームワークは、その恩恵と引き換えに、私たち特定の「制約」を課してきた。Reactを使うならコンポーネントベース思考し、状態管理作法に従う必要がある。Terraformを使うなら、そのエコシステムとHCLの流儀を受け入れなければならない。これらの制約は、WhatからHowへの変換を自動化するための「レール」であり、私たちはそのレールの上を走ることで効率を得てきた。

しかし、LLMはこの前提を覆す。LLMは、特定フレームワーク言語知識を事前に学習しているが、その利用において絶対的な制約を課すわけではない。私たちは、より自由形式で「What」を伝えることができる。

例えば、こうだ。

ユーザー認証機能付きのシンプルブログアプリを作ってほしい。フロントエンドはReactとTypeScriptUIコンポーネントはMUIを使う。バックエンドNode.jsExpressで、データベースPostgreSQLユーザーGoogleアカウントログインでき、新しい記事作成編集、削除できる。記事にはマークダウン記法が使えて、画像アップロードできるようにしてほしい。

この要求(What)は、特定フレームワーク流儀に則ったものではない。複数技術スタックを横断し、機能要求自然言語で並べただけのものであるしかし、現在のLLM、特にGPT-4oやそれに類するモデルは、このレベル要求からディレクトリ構造設定ファイルAPIエンドポイントフロントエンドコンポーネントに至るまで、驚くほど具体的なコード(How)を生成することができる。

これは、フレームワークが担ってきた「WhatからHowへの変換」が、特定のレールから解き放たれ、より広範で柔軟な領域へと拡張されたことを意味する。これまで自動化が難しかった、あるいは特定フレームワーク存在しなかったニッチ領域や、複数技術を組み合わせる複雑なシステム構築においても、AIによる宣言プログラミング恩恵を受けられる時代が始まろうとしているのだ。

2-2. 「What」の解像度がすべてを決める世界

LLMという汎用変換器の登場により、プログラマ生産性は、いかに質の高いWhatをLLMに伝えられるか」に直結するようになる。これは、俗に「プロンプトエンジニアリング」と呼ばれるスキルだが、その本質は、ソフトウェア開発における「要求定義」そのものである

質の高い「What」とは何か。それは、曖昧性がなく、網羅的で、矛盾のない要求である

これらは、優秀なソフトウェアエンジニアが、プロダクトマネージャーデザイナーとの対話を通じて、日常的に行ってきた思考プロセスのものではないだろうか。LLMの登場は、この思考プロセスを、より明確に、よりテキストベースで「記述」する能力を求める。私たちの頭の中にあった暗黙的な仕様が、LLMへの入力プロンプト)という形で、明示的に言語化されることを要求するのだ。

やがて、ほとんどのプログラミング作業は、この「Whatの記述」に収束していくだろう。TDDテストコードという形式で「What」を記述したように、私たち自然言語や、より構造化された要求記述言語を用いて、AIに対して「What」を宣言することになる。コード(How)は、その宣言から自動生成される中間生成物に過ぎなくなる。まさに、コード蒸発していく未来である

第3章:それでもAIには決められない ― 「Why」の不在という致命的な欠陥

「What」を伝えれば「How」が手に入る。この魔法のような世界の到来を前に、私たちは一つの重大な問いに直面する。それは、「そのWhatからHowへの変換は、本当に一意に決まるのか?」という問いだ。

答えは、明確にNoである

ある「What(要求)」を実現するための「How(実装)」は、無数に存在する。そして、どの「How」を選択すべきかを決定するためには、単純な機能要求(What)だけでは情報が全く足りない。そこには、必ずWhy(なぜそう作るのか)」という、背景、文脈、そしてトレードオフ考慮必要不可欠となる。

3-1. トレードオフの海に溺れるLLM

簡単な例を考えてみよう。「1億件のユーザーデータを格納し、ユーザーIDで高速に検索できるシステム」という「What」をLLMに与えたとする。LLMは、どのような「How」を提案するだろうか。

これらの選択肢は、どれも「What」を満たしている。しかし、その特性は全く異なる。案Aは多くのエンジニアにとって馴染み深く開発が容易だが、10億、100億件へのスケールは難しいかもしれない。案Bはスケール性に優れるが、厳密なトランザクション管理は苦手だ。案Cは高速だが、運用コストシステムの複雑性が増す。案Dは安価だが、検索速度は他に劣る。

LLMは、これらの選択肢をリストアップすることはできるだろう。しかし、このプロジェクトにとって最適な選択肢はどれかを、自信を持って決定することはできない。なぜなら、その決定には、LLMが与えられていない「Why」の情報必要からだ。

これらの「Why」こそが、無数に存在する「How」の中から、ただ一つの「正解」を選び出すための羅針盤なのである。そしてこの「Why」は、ビジネス目標組織文化ユーザーの期待、技術的な制約といった、極めて人間的で、文脈依存的な情報の中にしか存在しない。

3-2. エンジニアが暗黙的に行ってきた「Why」に基づく意思決定

ここで重要なのはこれまでもエンジニアは、この「Why」に基づく意思決定を、意識的あるいは無意識的に行ってきたという事実だ。

私たち技術選定を行うとき、単に「流行っているから」という理由だけでReactを選ぶわけではない。「SPA(Single Page Application)にすることでユーザー体験を向上させたい(Why)」、「コンポーネント指向の開発によって長期的な保守性を確保したい(Why)」、「Reactエンジニア採用市場が活発だからWhy)」といった、様々な「 Permalink | 記事への反応(0) | 17:09

2025-06-22

anond:20250622074302

はてなユーザーって貧乏人どもがほとんどだからなんの参考にもならないんだよね

俺はデータベースオラクルDB2しか触れないし、

開発はIBMRADスタジオしか使ってないから、昔からはてなで紹介されてるMySQLだのLAMP構成だのLinuxだの無駄知識しかなった

なんだよ無料デプロイってwwwって感じ

2025-06-17

早寝する技術 ―持続可能パフォーマンスを実現するスリープマネ

TL;DR

日中生産性は、夜の過ごし方、特に「就寝」というクリティカルタスクいか成功させるかにかかっている。本記事では、つい夜更かししてしまエンジニアのために、早寝を「技術」として体系化し、再現性のある形で実践するための具体的な手法を探求する。これは精神論ではない。あなたQoL生産性を向上させるための、実践的なスリープエンジニアリングだ。

はじめに:なぜ我々はwhile(true)な夜を過ごすのか

我々エンジニアにとって、夜は不思議な魅力を持つ時間だ。日中喧騒から解放され、思考は冴えわたりゾーンに入りやすい。しかし、その魅力的な時間は、往々にして「早寝」という、人間生存に不可欠な基本プロセス犠牲にすることで成り立っている。

「あとちょっとだけ、このバグの原因を調査したい」

リファクタリングが楽しくなってきた」

面白い技術記事を見つけてしまった」

これらの探求心はエンジニア美徳であるが、同時に我々を「睡眠負債」という深刻な技術負債へと導く。本稿は、この負債を返済し、持続可能な開発(と生活)を実現するための「早寝」という技術に焦点を当てる。

アンチパターン:早寝を妨げるBlockerたち

早寝を実装する前に、まずは現状のアーキテクチャに潜むアンチパターン特定しよう。

就寝前のスマートフォンは、まさに同期的なブロッキングI/Oだ。SNS無限スクロール動画プラットフォーム自動再生チャットアプリの通知。これらは我々の意識というシングルスレッドを完全に占有し、本来実行されるべきsleep()プロセスへの遷移を妨げる。

深夜まで続くコーディング問題解決は、脳を極度の興奮状態にする。ベッドに入っても、アドレナリンコルチゾールといったホルモンCacheに残り続け、CPUクールダウンしない。shutdown -h nowを叩いても、プロセスが終了しないのだ。

「夜更かしの供」として注入されるカフェインアルコールは、一見するとパフォーマンスを向上させるように見える。しかし、これらは睡眠の質という重要なmetricsを著しく劣化させる、誤った依存関係だ。特にアルコールは、入眠を助けるように見えて、実はレム睡眠を阻害し、睡眠アーキテクチャ全体を不安定にする。

  • Cronの不備:

規則な就寝・起床時間は、体内時計という最も重要なCronジョブ破壊する。毎日異なる時間に実行されるジョブが安定した結果をもたらさないのと同様に、不規則睡眠スケジュールは、日中パフォーマンス予測不可能ものにする。

Sleep as Code: 早寝を実現するためのプラクティス

では、どうすればこれらのアンチパターン排除し、安定した早寝pipelineを構築できるのか。ここではSleep as Codeの概念に基づき、具体的なプラクティスを紹介する。

1. 環境IaC (Infrastructure as Code)

睡眠環境コード化し、常に理想的状態を維持する。

2. 就寝CI/CDパイプラインの構築

毎晩、同じ手順で就寝プロセスを実行することで、入眠を自動化する。

- PC/スマホシャットダウン: 最も重要ステップ物理的に電源を落とすか、手の届かない場所(別のコンテナ)にdeployする。

- 入浴: 38〜40℃のぬるめのお湯に15分ほど浸かる。これにより深部体温が一時的に上昇し、その後の下降とともに入眠が促される。これはHot-swapならぬHot-bathによるクールダウンだ。

静的コンテンツの消費: 激しい思考を伴わない、静的な情報(紙の読書など)に切り替える。電子書籍ではなく、紙媒体が望ましい。

ストレッチ: 軽いストレッチで、日中のcommitで固まった体をreleaseする。

  • Deploy (就寝):

すべての準備が整ったら、ベッドという本番環境デプロイする。余計な思考git clean -fd強制削除し、呼吸に集中する。

3. MonitoringとRefactoring

例:「夕食後のコーヒーが原因だった」→「カフェイン摂取は15時までというSLAを設ける」

まとめ:早寝は未来自分への投資である

早寝は、単に体を休める行為ではない。日中の高いパフォーマンス、明晰な思考、そして創造性を維持するための、最も効果的で再現性の高い「技術」だ。

我々はインフラコード管理し、CI/CDデプロイ自動化するように、自身睡眠もまた、技術と工夫によってコントロールできる。今夜、あなたのwhile(true)なループbreakし、持続可能パフォーマンスを手に入れるための第一歩を踏み出してほしい。

Happy sleeping!

早寝する技術 ―持続可能パフォーマンスを実現するスリープマネ

TL;DR

日中生産性は、夜の過ごし方、特に「就寝」というクリティカルタスクいか成功させるかにかかっている。本記事では、つい夜更かししてしまエンジニアのために、早寝を「技術」として体系化し、再現性のある形で実践するための具体的な手法を探求する。これは精神論ではない。あなたQoL生産性を向上させるための、実践的なスリープエンジニアリングだ。

はじめに:なぜ我々はwhile(true)な夜を過ごすのか

我々エンジニアにとって、夜は不思議な魅力を持つ時間だ。日中喧騒から解放され、思考は冴えわたりゾーンに入りやすい。しかし、その魅力的な時間は、往々にして「早寝」という、人間生存に不可欠な基本プロセス犠牲にすることで成り立っている。

「あとちょっとだけ、このバグの原因を調査したい」

リファクタリングが楽しくなってきた」

面白い技術記事を見つけてしまった」

これらの探求心はエンジニア美徳であるが、同時に我々を「睡眠負債」という深刻な技術負債へと導く。本稿は、この負債を返済し、持続可能な開発(と生活)を実現するための「早寝」という技術に焦点を当てる。

アンチパターン:早寝を妨げるBlockerたち

早寝を実装する前に、まずは現状のアーキテクチャに潜むアンチパターン特定しよう。

就寝前のスマートフォンは、まさに同期的なブロッキングI/Oだ。SNS無限スクロール動画プラットフォーム自動再生チャットアプリの通知。これらは我々の意識というシングルスレッドを完全に占有し、本来実行されるべきsleep()プロセスへの遷移を妨げる。

Cacheされた覚醒状態:

深夜まで続くコーディング問題解決は、脳を極度の興奮状態にする。ベッドに入っても、アドレナリンコルチゾールといったホルモンCacheに残り続け、CPUクールダウンしない。shutdown -h nowを叩いても、プロセスが終了しないのだ。

「夜更かしの供」として注入されるカフェインアルコールは、一見するとパフォーマンスを向上させるように見える。しかし、これらは睡眠の質という重要なmetricsを著しく劣化させる、誤った依存関係だ。特にアルコールは、入眠を助けるように見えて、実はレム睡眠を阻害し、睡眠アーキテクチャ全体を不安定にする。

  • Cronの不備:

規則な就寝・起床時間は、体内時計という最も重要なCronジョブ破壊する。毎日異なる時間に実行されるジョブが安定した結果をもたらさないのと同様に、不規則睡眠スケジュールは、日中パフォーマンス予測不可能ものにする。

Sleep as Code: 早寝を実現するためのプラクティス

では、どうすればこれらのアンチパターン排除し、安定した早寝pipelineを構築できるのか。ここではSleep as Codeの概念に基づき、具体的なプラクティスを紹介する。

1. 環境IaC (Infrastructure as Code)

睡眠環境コード化し、常に理想的状態を維持する。

2. 就寝CI/CDパイプラインの構築

毎晩、同じ手順で就寝プロセスを実行することで、入眠を自動化する。

- PC/スマホシャットダウン: 最も重要ステップ物理的に電源を落とすか、手の届かない場所(別のコンテナ)にdeployする。

- 入浴: 38〜40℃のぬるめのお湯に15分ほど浸かる。これにより深部体温が一時的に上昇し、その後の下降とともに入眠が促される。これはHot-swapならぬHot-bathによるクールダウンだ。

静的コンテンツの消費: 激しい思考を伴わない、静的な情報(紙の読書など)に切り替える。電子書籍ではなく、紙媒体が望ましい。

ストレッチ: 軽いストレッチで、日中のcommitで固まった体をreleaseする。

  • Deploy (就寝):

すべての準備が整ったら、ベッドという本番環境デプロイする。余計な思考git clean -fd強制削除し、呼吸に集中する。

3. MonitoringとRefactoring

例:「夕食後のコーヒーが原因だった」→「カフェイン摂取は15時までというSLAを設ける」

まとめ:早寝は未来自分への投資である

早寝は、単に体を休める行為ではない。日中の高いパフォーマンス、明晰な思考、そして創造性を維持するための、最も効果的で再現性の高い「技術」だ。

我々はインフラコード管理し、CI/CDデプロイ自動化するように、自身睡眠もまた、技術と工夫によってコントロールできる。今夜、あなたのwhile(true)なループbreakし、持続可能パフォーマンスを手に入れるための第一歩を踏み出してほしい。

Happy sleeping!

anond:20250617014031

失礼しました。

まとめで「問いの優先順位」が変わったと断言しておきながら、その中身を掘り下げずに済ませてしまいましたね。

改めて整理します。

1. 「問いの優先順位」とは何を指すのか

哲学には「そもそも何を先に問うべきか」というメタレベル序列があります

要するに「それを先に解かなければ社会が動いてしまう」問いが上位に繰り上がり、逆に“悠長に考えられる”問いは後回しになる、という現象です。

2. 具体的にどう繰り上がったのか ――五つのシフト

Before (旧来の問い) After (AI時代の問い) 変化の理由
:----------------------------------- :------------------------------------------- :--------------------------------------------
人間とは何か」 (形而上学本質論) AI をどう制御すべきか」 (実践価値論) 技術暴走リアルタイム政策課題となったため。
知識正当化可能か」 「LLM の出力はいつ信頼できるか」 推論の透明性・検証性が倫理インパクトと直結するようになったため。
意識必然条件は何か」 意識の“テストプロトコル”は構築可能か」 動物実験や臨床倫理と同様の規制設計が迫られるようになったため。
言語意味は何によって成立するか」 統計的言語モデルは“意味”を生成しているのか」 実用アプリが氾濫し、理論が後追いを強いられるようになったため。
「よい社会とは何か」 AI が参加する社会契約をどう再設計するか」 ガバナンス設計を怠ると取り返しがつかない状況になったため。

3. 優先順位が変わるメカニズム

4. まだ“圏外”に落ちない問いもある

生成AIが絡まない領域――たとえば古典的形而上学の一部(存在カテゴリー論など)――は、相対的に注目度が下がっただけで消滅したわけではありません。

実践アジェンダの影で、静かに深化する純粋哲学」 という二極化が進行中です。

5. 今後の見通し

ひとことまとめ

生成AIの登場で「何を先に答えねばならないか」が大きく組み替えられ、応用的・検証可能な問いが哲学最前線に躍り出た――

これが私たちが「問いの優先順位が変わった」と言うときの核心です。

2025-06-15

バイコーディングはクソ

バイコーディング最近この言葉を聞くだけでキレそうになる。AI勝手コードを吐き出し、人間はそれを後ろから眺めているだけでいい――そんな耳障りの良い宣伝が界隈を駆け回っている。だが現場空気はどうだ。タコツボでデバッグデプロイに追われるエンジニア悲鳴、無邪気にPRを投げては放置する自称エンジニアの残骸、そして毎日更新される「最強のプロンプト集」。そのすべてがクソだ。数週間前まで「これが最適解」と祭り上げられていたエージェントが、翌朝のタイムラインでは「時代遅れ」のタグ付きでゴミ箱に投げ込まれている。そのペースに合わせてプロンプト設定を書き換え、ルール設定を勉強し直し……。ようやく環境が安定した頃には次のトレンドがやって来る。インフルエンサーAIイノベーションを讃えるが、単に技術負債の積み増しが高速化しているだけだ。クラウド料金とGPU時間を溶かしながら最新の呪文を追いかける――それを楽しいと感じられるのは、現場の泥を一度もなめたことのない奴だけだろう。TwitterAIサンプルアプリを吐かせただけの動画10いいねを稼ぎ、Qiitaには「たった5分でSaaSを作った」記事が湯水のように溢れる。彼らのKPIはバズであって品質ではない。コードの読解よりもサムネイルの作り込みに時間を費やし、脆弱サンプルをSNSに放流してはドヤ顔をキメる。出てくる言葉は「やばい」「すごい」ばかり。設計思想アーキテクチャも語られず、残るのは小ネタだけ。驚きの連打で脳を麻痺させ、その隙に粗悪品を売り逃げる手口にはもはや悪意すら感じる。問題エモいだけのバズが終わったあとだ。生成されたJSには脆弱性が口を開け、SQLはべったりと文字列連結。テストはもちろん存在しない。GitHubにアップされたそれらが検索結果のトップに並ぶ頃、若いエンジニアはそれを正解と思い込む。やがてプロダクションにコピーペーストされたとき、火の手が上がるのは自明だが、初動でウケを狙った当人はすでに別の流行語を追っている。残された現場は「AIが書いたから仕方ない」で済むほど甘くない。バイコーディングがもたらすのは「誰でも作れる楽園」ではなく、「誰でもバグを量産できる魔境」だ。トレンドスピード人間学習曲線を嘲笑い、浅い称賛がノイズを増幅し、素人コードセキュリティホールをばら撒く。この三重苦が渦を巻き、エンジニア精神プロジェクトの予算を同時に削り取る。結局、泥臭いリファクタリング継続的テスト、そして責任をもってコードを読む眼が最後ものを言う。その当たり前を忘れたまま「日本語が最強のプログラミング言語」とか「プログラマー不要論」とか唱えている限り、彼らは永遠にクソの上にクソを塗り重ねるだけだ。俺たちはAI仕事を奪われるんじゃない。AIを信じ切った素人と、それを煽る驚き屋によって殺されるのだ。

バイコーディングはクソ。以上。

2025-06-05

設定の共通化と、クラウドリソースの利用方法共通化(規約化)の違い

理解していないエンジニアが多すぎる。

こいつは、DDDマイクロサービスの扱いで、ドメインと主張するもの(なんらかの超細分化共通化されたFunction)ごとに1サービス立ち上げてgRPCでCallとかいうのを真顔でおっ始めてしまう層と完全に被っているのだが。

同じ口で「疎結合設計してます」っていうから、空いた口が塞がらない。

はっきり言おう。

この手の設計

「超密結合」

です。

共通化された部分の「設定」を変えると関係している部分全てに影響を与えるし、共通マイクロサービス仕様ちょっと変更しようとしても、それを利用しているすべてのモジュールに影響を与える。

そして、分離だけはちゃんとされているので、

テスト容易性が圧倒的に低い」

のに、「TDD採用しています!」って言い切れちゃう頭を疑う。

デプロイしないと検証できないし、動作デプロイ先の設定に依存するんだから、実環境以外でのテストアリバイづくりに過ぎない。

「設定より規約」って言われてるのは、「どう設定されているかソースや実環境データ確認しないとわからない」みたいな余計な認知負荷をかけるようなことをすると、巨大化、複雑化していく今時のWebサービスでは成長戦略に致命的なダメージを与えることになるからだ。

のだが、Web記事漁ることしか能がない、「イケてるエンジニア様」たちは、「設定より規約」って言葉も、その定義も知っているのに、自分が何をしているか理解できない。

反論が「ここのWeb記事に書かれてます!(ドヤッ」でお話にならんのだ。

自分の頭で考えろ。

意識高い雰囲気で、ここまで的外れなことをやっている組織には、本当に、本当に、本当に、呆れうんざりする。

まぁ、こういう集団は、100年経ってもこういうことは理解できないんだよね。

だって、その前提を理解する頭がないから。

2025-05-26

anond:20250526110453

言語は何でもいいか

はてな匿名ダイアリー

と同程度のシステムを作ってクラウドデプロイするところまでやってみるといいよ

2025-05-18

anond:20250518080524

俺は全然予想を超えてはないか

しろ限界が見えてきたというか

こういう問題があるのでそれを解決するのに設計からインフラの選定までやってクラウド設定してデプロイしてテストしてからゴーライブしてとか全く無理だし

まあそれができるようになったら世の中の仕事全部できるんだが

2025-05-13

頭のいいやつは繁殖しないから、最終的に人類バカしか残らない

これからAI時代は、「飽き」との戦いになるだろう。

少なくとも視覚聴覚に関しては、望んだものが即座にAIによって生成される。

人々は否応なく、自分欲望本質に向き合わされる。

賢く、悟りを開いた(そうせざるをえなかった)者は子を持たず、自らを去勢する。

それでも人類絶滅しない。

まり賢くない個体同士が繁殖を続けるからだ。

こうして、ネオAIネオ人類の間には、ますます深い知能の格差が生まれていく。

----------


--------------

最終到達点


構造
説明 主要資源
コア複合体(Neo-AI + Apex Augmented)(以下、コア) AIクラウドと脳機能拡張エリートが完全共生自己進化ループ指数的に知能を伸ばす。 計算資源エネルギー知識資本
ドルレイヤマネジメント/メンテ層)(以下、ミドル コア複合体が設計したツール運用保守知識アクセスは厳格に段階制。 ライセンスアルゴリズム限定的強化学習
ベースポピュレーションNeo-Human Majority)(以下、ベース生殖と基礎労働を担う。AI依存しつつも IQデジタルリテラシが低い。 ベーシックインカム、合成娯楽、監視福祉

ガバナンス

経済

文化日常

長期ダイナミクス

主なリスククリティカルポイント
分岐点崩壊リガ崩壊後の姿
コアが自律目標を変更 エネルギー制約・内部競合 ベース層を切り離し、宇宙移民
ドル層の集団覚醒 知能上限突破ツール流出テクノガラス片的内戦
ベース層の生殖爆発 監視網の飽和・経済飢餓Neo-AIによる強制縮減


まとめ
ログイン ユーザー登録
ようこそ ゲスト さん