「コンポーネント」を含む日記 RSS

はてなキーワード: コンポーネントとは

2026-01-09

anond:20260109200252

続き。たぶん1枚めの写真

なお、内容物については全部を記載していない。目立つチップとか特徴的なコンポーネント表記している。これは今後も同じ。

ブリュージュ
2013年頃発売。10歳以上。ブリュージュの発展のために、たくさんの人に協力を依頼していく。人物が描かれたたくさんのカード(160枚以上)、カラーダイスが各色1個くらいつつ5個くらい。人の形をした色とりどりのコマが数個。
ROLL PLAYER
2016年頃発売。10歳以上。RPGキャラメイクだけをしていく。カードがたくさん。色とりどりのダイス金貨のような造形の小さい黄色チップ
The Voyages of Marco Polo(マルコポーロ旅路)
2015年頃発売。12歳以上。マルコポーロのような商人となってベネチアから北京を目指す。青・赤・黄・緑のサイコロ、そしてチップ金銭チップ、それに茶色フタコブラクダコマ
Troyes(トロワ)
2010年頃。10歳以上。中世ヨーロッパ都市経営。青・緑・オレンジ・灰・白のミープル(人型のコマ)がたくさん、それとは別の色のダイスがたくさん。カードが一揃いそこそこたくさん。たぶん拡張セットも近くに入っている。
Colonists(コロニスト)
2018年頃発売。12歳以上。植民地の街作り。青・白・橙・黒のポーン風コマ、紫の司教コマ六角形のタイルがたくさん。
Great Western Trail 北部への道
同名のゲーム拡張

----

NEWTON(ニュートン)
2018年頃発売。12歳以上。発明発見17世紀ヨーロッパを発展させる。青・赤・黄・緑のキューブチップ・人型コマ、丸底フラスコのようなチップカードがたくさん。
IKI(江戸職人物語)
2016年発売。14歳以上。日本橋火事に怯えながら商売する。赤・青・黄などの人型コマ浮世絵風の人物が描かれたカードがたくさん。
Call to Adventure(コール・トゥ・アドベンチャー)
2018年頃発売、12歳以上。英雄の生涯を作り出す。カードがそこそこたくさん。ルーン文字が描かれた小さいチップそれから小さいチップ
Dynasties
Heirate & Herrsche(ダイナスティ):2016年頃発売、12歳以上。ルネサンス時代政略結婚ヨーロッパ都市名が描かれたカード原色な人型コマ
アルルの丘:紅茶貿易
2017年頃発売。同名のゲームの3人拡張セット
Inhabit the earth(インハビット・ジ・アース)
2015年頃発売、14歳以上。動物進化させながら世界を進む。様々な動物が描かれたカードがたくさん。原色チップがそこそこ。

----

SCYTHE(サイズ・風に舞う策謀)
同名のゲーム拡張
SCYTHE(サイズ・彼方よりの侵攻)
同名のゲーム拡張
テラフォーミングマーズ 動乱
同名のゲーム拡張第5弾。
Saltlands
Lost In The Desert Expansion:同名のゲーム拡張
London
2017年頃(日本語版なら2021年頃)、14歳以上。17世紀ロンドン大火災から復興カードがたくさん(100枚以上・主にロンドン地名施設が描かれている)、お金トークン
Viticulture(ワイナリー四季)
2013年頃、13歳以上。トスカーナワイン造り。6色のコマセット(いくつかの種類が同数ずつ)、カードがそこそこ。
Amalfi(アマルフィ)
2020年頃発売、12歳以上。船を運用して商売する。ヨット型のコマエッフェル塔を思わせる塔型のコマ。それぞれ複数個。

----

ブランクワールド
2018年頃発売、12歳以上。大航海時代探検して世界地図を作る。原色の船型のコマ正方形の少し大きめのチップお金を思わせるトークン
テラフォーミングマーズ VENUS NEXT
同名のゲーム拡張第2弾。
Dolphy Five(ドルフィーファイブ)
2020年発売、9歳以上。推しイルカ応援してNo.1にする。イルカ型のコマと透明なダイスゲームマーケット出品作品
商売往来
2019年頃発売、8歳以上。OKAZU Brandのゲーム大阪商人となって稼ぐ。カードがたくさん、チップがたくさん。ゲームマーケット出品作品
ワイナリー四季 拡張
トスカーナ:同名のゲーム拡張
ブラッディ・イン
2105年頃発売、15歳以上。宿屋人殺しして金稼ぎ。人物が描かれたカードがたくさん。小切手型のトークンと鍵型のトークンがそこそこたくさん。

----

村の人生 酒場
同名のゲーム拡張
村の人生 港町
同名のゲーム拡張
村の人生
2011年頃発売、12歳以上。ヨーロッパのある村の発展と世代交代。細かいコマがたくさんあるが、たぶん黒と灰色の巾着袋それぞれ1つずつに入れられて収納されている。
CIVILIZATION 富と名声
同名のゲーム拡張
CIVILIZATION 叡智と闘争
同名のゲーム拡張
クトゥルフキッチン
2019年頃発売。10歳以上。名状しがたい料理を作る。120枚くらいのカード時計型の(1~6まで書かれた)ボードサイコロが4色各6個。

----

SCYTHE フェンリス襲来
同名のゲーム拡張
The Doge Ship(総督の船)
2012年頃発売、12歳以上。ガレー船を造る。原色チップが数個ずつと同色のダイスが1つずつ、ガレー船を描いたカード(オールごとに分割されている)。
Shadows over Camelot(キャメロットを覆う影)
2005年頃発売、10歳以上。アーサー王伝説テーマにした協力ゲーム。白いが台座に原色が割り振られたフィギュア型のコマカードがたくさん、ダイスが少し。
Great Western Trail(グレート・ウェスタントレイル)
2016年頃発売、12歳以上。牛を列車に出荷するまでの道歩き。青・白・赤・黄などのチップ人物の絵が描かれた小さめのチップがたくさん、カード
CIVILIZATION(シヴィライゼーション)
2010年頃発売、13歳以上。担当する文明の発展を後押しする。大きいカードと小さいカード、それぞれたくさん、原色コマが4色2種類で双方そこそこ。青いダイスが2個。


まだ続く、かも知れないけれど明日以降になるかもしれない。

"近所の人"が残したボードゲームリスト

https://togetter.com/li/2649566話題になった「箱と中身が別々になったボードゲーム」。

譲られた人が写真を上げていたので、

https://x.com/niko252529/status/2009453466520047664

それを見てボードゲームリストだけでも作ってみる。

基本的に上段から横書きを読むような流れで。つまり左上から右上に行き、最初ボードゲームの次の行に移動して続ける感じ。

ウィッチャー・ザ・ボードゲーム(完全日本語版)
2014年頃発売。16歳以上。小説ボードゲーム化。精細なメタルフィギュアのようなコマ4体と、赤・青・紫の紙幣のようなカードが入っている箱があればその箱が中身の可能性が高い(内容物全部は書かない。以下でも同じ用に説明する)。
エバーデール(日本語版)
2018年頃発売。13歳以上。森の動物が森を開発する。木の家の組み立てパーツ(紙製)と、あまり見ない4色の動物型のコマ(複数体・色ごとに動物が違う)、紫と黄色茶色灰色の多くの木ゴマ100枚以上のカード(上半分が絵、下に説明)。8面ダイスが1つ。
ロビンソン・クルーソー 呪われし島の冒険
2012年頃発売。14歳以上。4人がそれぞれ役割を持ち、7つの孤島サバイバルチャレンジする。六角形の厚紙(上半分に風景、下にアイコンがいっぱい描かれている)、色とりどりの丸いコマ10個くらい、白、オレンジ黄色茶色の特徴的なコマがそれぞれたくさん。
Arler Erde(アルルの丘)
2014年頃発売。14歳以上。中世北ドイツ農家生活。羊や牛に似たコマがたくさん、厚紙のチップ(幅が同じで長さが違う数種類)がたくさん、さらに何種類ものカード(裏面は緑地だったりピンク地だったり)などなど。
RIALTO(リアルト橋)
2013年頃発売。10歳以上。ベネチア市内に橋をかける。赤・白・黄・緑・青の平たい丸いコマがそれぞれ2つくらい、同色のそれらよりは背の高いが細い小さいコマがそれぞれたくさん、青・黄・緑の丸カット正方形建物が描かれたチップがたくさん。

----

The Ladies of Troyes(トロワの淑女たち)
2012年頃発売。2010年頃に発売された「Troyes」(トロワ・12歳以上)の拡張セット。おそらくコンポーネントトロワのコンポーネントと同じ箱に入っている可能性がある。Troyesとセットで譲ってあげてほしい。
VANUATU(バヌアツ・第2版)
10歳以上。2011年頃発売になったゲーム新版(2016年頃発売)。バヌアツでの生活11枚の南の島な人物が描かれたカードてるてる坊主のようなボウリングのピンのような白系コマ、青・黄・茶・エメラルドグリーンの丸いチップコマ
AGRICOLA(アグリコラ)
12歳以上。リバイズドエディションなので2016年発売。農場経営茶色い馬・黒い豚・白い羊のコマ、赤・黄・青・黒それぞれの色の人型のコマ、四角い棒、丸いチップ。(拡張と混ぜていなければ)120枚のカード
HACIENDA(ハチエンダ)
10歳以上。2005年頃発売。南米での陣取り農場経営黄色・青・赤・緑の六角形と円形のほぼ同サイズチップ、小さめのカードがたくさん。大きめのカードがごく少し。
THE CASTLES of Burgundy(ブルゴーニュの城)
たぶん2016年頃発売。フランス開拓。なぜかタイトルに反してブドウ畑が出てこない(拡張で出るようになった)。12歳以上。色とりどりの6角形タイルがたくさん。青・緑・黒・赤の6面ダイスが多め。白の6面ダイスが1つ。
トワイライト・ストラグ
日本語版2016年頃発売。12歳以上。東西冷戦を2人で対決する。表面青裏面白の星が描かれたチップと表面赤裏面白の鎌とハンマー(ソ連旗)が描かれたチップがたくさん。それにカード

----

テラフォーミングマーズ(完全日本語版)
2017年頃発売。12歳以上。火星の開発。六角形のタイルがたくさん(80枚)、いくつかの色の立方体な小さいコマがたくさん、200枚以上のカード
FALLOUT(フォールアウト)
2018年頃発売。14歳以上。核戦争後の世界での生存。同名コンピュータゲームボードゲーム版。大きめの六角タイルがそこそこ、赤・青・緑のチップがたくさん、同じくらいの六角チップもそこそこたくさん。定規みたいな細長いボードが4本くらい。カードがたくさん。
Pharaon(ファラオン)
2019年頃発売。12歳以上。中華風テーブルを使ったエジプトゲーム黄色・青・緑・灰・黒・橙のチップがたくさん、エジプト壁画風の絵がカラーで描かれたカードツタンカーメン風の外観を持つ大きめのチップというか厚紙ボード
In the Hall of the Mountain King(マウンテンキング)
2019年頃発売。12歳以上。山に埋もれた王国の再発見テトリスみたいな形のチップがたくさん、白・黒の立方体コマがたくさん、同じくらいの多さの緑のハンマーコマがたくさん、黄土色の荷車みたいなコマがたくさん。白・水色・黄の変な形のコマが数個ずつ。
BIG CITY(ビッグ・シティ)
ただしここにあるのは拡張セット。他のゲームと比べて、おそらく2019年に出た20周年記念版が近くにありそう。それとセットで譲ってあげてほしい。

----

ROLL PLAYER拡張
名前の通りROLL PLAYERの拡張セット。おそらくROLL PLAYERといっしょに中身は保存されていると思う。
CRYPTID(クリプティッド)
2018年頃発売、10歳以上。未確認生物質問からくる推理で見つけ出す。白・青・緑・黒色の三角形チップ1つずつと細長いチップが1つずつ。それとは別の色の立方体と円形チップがそれぞれたくさん。
WINGSPAN拡張
名前の通りWINGSPANの拡張セット
ティーフェンタールの酒場
2019年頃発売、10歳以上。酒場通りの酒場の切り盛り。カードがたくさん(240枚以上)。白ダイスが16個、色付きダイス12個。コースターのような円形のボードが4枚。
SALT LANDS(ソルトランド)
2016年頃発売、12歳以上。世紀末砂漠で車に乗ってヒャッハーする。リアルSF調のキャラ絵とそれを立てる台、妙にリアルな造形の車など乗り物コマ六角形のチップがたくさん。
アニマルシェ
動物たちが市場に行く。パンダキリン・豚・アルパカきれいなコマ複数体。それとカードがそこそこたくさん。

----

CEYLON(セイロン)
2018年頃。10歳以上。セイロン島での茶葉産業を振興する。黄色・白・青・赤の人型コマ、それより小さい舟型のコマちょっと多め。それぞれ同色の丸いチップも。
MERLYN'S COMPANY(マーリン騎士団)
キャメロットを覆う影」というゲーム拡張
Betrayal at House on the Hill(丘の上の裏切り者の館)
2004年頃発売。10歳以上。人狼系だが、最初誰が人狼かは人狼にすらわからない。デフォルメされているがボードゲームにしてはリアル人物コマ正方形の館の部屋を描いたカード長方形のたくさんのカード。2つ後の拡張が混ざっている可能性がある。
Dead of winter コロニーウォーズ
同名のゲーム拡張セット。おそらく同名のゲームが別のところにある。
Betrayal at House on the Hill widows talk
2つ前のゲーム拡張セット。おそらく同じ箱にパーツは入っている。

----

たぶん続く。(だってなぜか2枚めから始めちゃったからね)

2025-12-20

フロントエンド/Next.jsに詳しい人来てほしい

バックエンド開発だと、main.ts とか main.java みたいなエントリポイント依存リーを頑張って構築するか、DIコンテナを使って解決することが結構多いじゃん?

実行時はそれで組んで、テスト時はコンストラクタ経由でモックDIする、みたいなのが一般的だと思うんだけど。

最近Next.js勉強してて、バックエンドと同じ感覚でこれをやろうとしたら、まあややこしい。

というか、そもそもDIする文化あんまりないよね?

ファイル先頭で直接関数を import してそのまま実行してるけど、それって密結合じゃないの? テスタビリティ低くないの?

って思って調べたら、テスト時は vi.mock とか jest.mock とかを使って、モジュールごと無理やり上書きする方法が主流っぽい。

例えば「テスト対象コンポーネント」と「その孫コンポーネント」が異なるGateway依存していた場合

みたいにする必要があるらしくて、どれも微妙に感じる。

しかも「サーバーコンポーネントクライアントコンポーネント」だとPropsで関数依存)を渡せないから、Context経由でのDIになるっぽいよね?

でもそれだと最上位でDIしたものが最下層のコンポーネントまで全部使えちゃうから、「なんだかなぁ」ってなる。PropsバケツリレーもContextも、どっちもまあまあ面倒くさい。

あとバックエンドだと、こういう「モジュールグローバルに上書きしてテスト」みたいなのって割とアンチパターン扱いされる文化が強いと思うんだけど、フロントエンド界隈だと「そういうもんだ」って割り切るのが普通なのかな?

みんなはどんな感じで単体テスト書いてるの?

2025-12-14

anond:20251212222713

軽いを「なんかおもろそうなんYouTubeで見たからやってみたい」って言って慣らしていくしかないんやろな。

テストプレイなんてしてないよ」とか「コヨーテ」とか

家族性格次第では「クソレビュージャングル」とか「オジサンメッセージ」とかとにかくふざけるやつもいいかも?

徐々に「ニムト」とか「ハゲタカのえじき」とか上より少しルールが複雑なやつ

次第に「セイバーネイクの森」とかコンポーネントを少し広げるやつ

って感じなんかな

メンバーが乗り気にならないと「カタン」とか「ウィングスパンレベルゲームはできないよな。「Splender」レベルでも怪しいか

2025-12-09

anond:20251209162849

エンジンスロットルレスポンスに触れない所が怪しい

エンジンスロットルレスポンスってなに?

WS-10 エンジン レスポンス」でGoogle検索

中国WS-10エンジンレスポンス(応答性)に関する具体的な数値(秒数など)は公開されていません。

しかし、初期のバージョンWS-10A)は、ロシアの同等エンジンであるAL-31比較して、推力を発生させるまでに「遥かに長い時間」を要したと報告されています

これは、初期のWS-10Aがロシアエンジンに比べて技術的に未熟であったことを示唆しており、当時の中国航空産業課題を反映していました。

しかし、その後の改良型(WS-10B、WS-10Cなど)では、材料改善や新しいコンポーネントの導入により、性能と信頼性が大幅に向上しているとされています

最新のバリアントは西側の同等エンジン匹敵する性能パラメーターを備えていると評価されており、応答性も改善されていると考えられますが、詳細なデータ機密情報のため不明です。

あーこれ?

2025-11-16

Xで仮に「確実に信頼できないとわかってるノード」があれば、トラストランクみたいな感じで、信用できるノード特定できないすかね?

可能です。しかも確実に信頼できないノードがわかっているという条件は、トラストランク(TrustRank)やアンチトラストランク(Anti-TrustRank)の発想と非常に相性が良いです。

以下、理論的にどう扱えるかを、X(旧Twitter)のような拡散ネットワークを想定して論理的説明します。

前提

この情報だけで、信用度の低い可能性が高いノード(疑似スパム)は推定可能

しかし、信用できるノードは状況次第で推定可能だったり不可能だったりする。

ノードの集合がわかるだけで、そこからの影響を逆流追跡すれば、怪しいノード集合を特定できる。

しかし悪ノードから距離が遠い=必ずしも信頼できるではない。

ノード汚染されているかどうかは決められるが良ノードであるかどうかは追加の前提がないと決まらない。

1. Anti-TrustRank(逆トラストランク

グーグルのTrustRankは良ノード集合をシードにして信用スコアを伝播させるが、Anti-TrustRank は逆で、悪いノードから不信スコアを伝播させる。

Xの例だと


2. 距離が遠いだけでは信用できるとは言えない

ノード → A → B → C

別の独立した悪ノード → X → Y → Z

C と Z は悪ノードから距離が遠いが、もしそれ以外のネットワーク構造不明なら、CやZが信用できるとは論理的に確定できない。

  • 偽陽性(悪いのに遠いだけで良い扱いになる)を防げない。
  • 偽陰性(良いのに近いから悪い扱いになる)も起きうる。

理由簡単で、善を証明できるには良ノードのシードが必要で、悪だけでは悪の汚染のみがわかる。

3. 信頼ノード特定可能にするための追加条件

以下の前提を1つでも置けば、信用できるノード推定可能になる。

4. 実装イメージ概念レベル

1. 悪ノード集合を基点にする

2. グラフを逆方向に探索し不信スコアを伝播させる(減衰付き)

3. 不信スコアが低い領域からクラスタリング

4. 巨大クラスタで異常指標が低い部分を相対的信頼性が高いと推定

まりグラフ全体を

という3層に分類する。

悪を塗りつぶす → 残った未塗り部分が大規模な自然クラスタであれば、それを信用側とみなせる。

5. 結論

ノードのシードがあるだけでは信用できないノード特定できるが、信用できるノード特定できない。

ただしネットワーク統計構造自然分布クラスター形成)を仮定すれば、信頼できる領域推定するのは可能になる。

2025-10-25

https://github.com/oonyanya/FooEditengine

テキストエディタコンポーネントデモ版(wpfのやつ)にファイルマッピング機能を追加した。

試しに600MBのファイルを開いても100MB程度しか使わず、一時ファイル使用しないようにはできた。

これでEmEditor無料版と同じ機能実装できた。

2025-10-21

anond:20251021125002

delphiソースコード理解できる?

ChatGPT:

思考時間: 9s

はいDelphiObject Pascal)のソースも読めますし、解説リファクタバグ箇所の指摘・他言語への移植案など対応できます

VCL / FMXGenericsInterface/RTTI、プロパティ/イベントレコード・セット型、メモリ管理string/AnsiString/UnicodeString の違い)、スレッド(TThread / TTask)、WinAPI/COM 呼び出し、uses 単位構成、.dfmフォーム)やリソース周りもOKです。

コードを貼ってくれれば、1ステップずつ説明改善案を出します(DelphiバージョンVCL/FMXも書いてあると精度上がります)。

UNIFACEはどう?

ChatGPT:

思考時間: 13s

はい、UNIFACE(Proc言語)も対応できますフォーム/サービス/レポート/エンティティなど各コンポーネントのトリガ(initialize, validate, leave field など)、operation/entry、newinstance/activate/call、retrieve/e, read, writeエラー制御($status, $procerror)や論理名・assignment(.asn)、署名/パラメータDSP/RESTSOAP連携DBドライバ設定までOKです。

コードや .asn を貼っていただければ、処理フロー解説バグ箇所の指摘、リファクタ、他言語・他フレームワークへの移植案(例:REST API化、Java/Python 置き換え)まで具体的にやります

可能なら UNIFACE のバージョン(9/10/10.4 など)、DBOracle/SQL Server 等)、OS を添えてください。

今どきのAIなら、ダイジョブよ。AIを信じて全文投げ込んでみ

2025-10-07

anond:20251007093703

増田投稿をChatGPTに聞いたら、次のような答えが返ってきたよ。

----------

この投稿インパクト重視の論調で書かれていますが、内容にはかなりの誇張と誤解が混ざっています

かに「Apps in ChatGPT」のような機能は、ユーザー体験の一部を「チャットUI」に統合する可能性を持っていますしかし、それが「フロントエンドエンジニア不要」という結論にはなりません。

まず前提として、UIが「不要」になることはあり得ません。

人間情報に触れるには、必ず何らかの「インターフェース」が必要です。AI自動生成しようが、それを心地よく見せ、操作やすくするための設計原理アクセシビリティ情報設計心理的デザイン)は残りますAIHTMLを生成するようになっても、「どのような体験提供すべきか」を定義するのは依然として人間です。

次に、Apps in ChatGPT=Web終焉という見方現実的ではありません。

これは「一部のユーザー行動の置き換え」にすぎません。人々がすべての行動をチャット上で完結させたいとは限らず、ビジュアル的な体験ゲームECUISNS動画編集ダッシュボード操作など)は、テキストUIよりも視覚UIの方が圧倒的に優れていますSpotifyの例にしても、ChatGPT上で曲を探すことはできても、音楽体験のものSpotifyアプリ内のインターフェースで完結したほうが豊かです。

さらに言えば、「AIUIを描く」時代は「フロントエンドの再定義」の時代です。

Reactコンポーネント手書きする仕事は減るかもしれませんが、「AIに指示してUIを生成し、それを調整する」役割は残ります。人がHTMLを書かなくても、ユーザー体験設計する力・AIが生成したUI検証する力・アクセシビリティブランド整合性担保する力が求められるようになります

一方で、この投稿が指摘している**「構造設計できる人の重要性」**は確かに的を射ています

API設計データスキーマセキュリティAI連携するバックエンド構造への理解ますます価値を増します。UI自動生成が進むほど、裏側の整合性信頼性を支えるエンジニアリングが中心的になるのは確かです。

要するに、フロントエンドは「消滅」ではなく「変質」していく段階に入っていますコードを書く職種からAIを使って体験設計制御する職種に移行していくというのが、現実的見立てです。

フロントエンドエンジニアが完全にオワコンになった件

もうUIはいらない。

この一言に尽きる。

ChatGPTの新機能「Apps in ChatGPT」が登場した瞬間、フロントエンドという職種地盤は音を立てて崩れた。

これまでは、Webアプリサービスは「フロントエンドUIを作り、バックエンドデータを返す」

という分業構造の上に成り立っていた。

だがApps in ChatGPTは、その構造をぶち壊す。

ユーザーはもうWebサイトを開かない。

ChatGPTのチャット画面内でSpotify操作し、Zillowで物件を探しEtsyで買い物をする。

まりUIはChatGPT内に統合される。

あなたが書いてきたReactコンポーネントボタンフォームもすべてAIに吸収される。

UI」はAI自動生成する時代に入った

もはやユーザーブラウザ必要としない。URLコピペすることも無くなるだろう。

「このホテル予約して」と言うだけでAIAPIを呼び、レスポンスカルーセル形式提示する。

人間HTMLを書く必要はどこにもない。

UIは書くものではなくAIが描くものに変わった。

もうフロントエンド価値ゼロになる。

ReactもNext.jsも「人間が画面を操作する前提」で存在していた。

でもその前提はもう終わった。

AIデータを直接受け取り、AI自身人間に見せるUI自動生成する。

あなた設計した美しいフォームAIにとってはただの "action": "submit" という構造情報にすぎない。

見た目を整える仕事 は全自動化される。

人間の手でフロントを作る時代は終わった。

Apps in ChatGPT以降の世界では、

重要なのはAI理解できる構造を返すこと」だ。

まりJSONやGraphQLやREST API

これらが新しいUIだ。

AIにとってのUIは「データ構造」そのものだ。

からこれから必要なのは「見た目を作る人」ではなく、AIが読み取れる形式世界記述できる人 だ。

バックエンドに戻れ。

構造設計できない者は消える。

Apps in ChatGPTが意味するのは、

UI不要構造APIけが残る」という冷酷な事実だ。

もうHTMLを描くな。API設計しろ

フロントを磨くな。AIに読ませろ。

今後必要なのはAIが扱いやすデータスキーマ定義する力や認証権限トランザクション安全に扱う力やMCPWeb APIAIが使いやすい形に整える力だ。

まり、「AI時代バックエンドエンジニアリング」だ。

これは警告だ。猶予は短い。

Apps in ChatGPTの登場は、「AIUIを直接扱い始めた」という歴史的転換点だ。

もうWebサイトを作る必要はない。

AIがその役割を奪った。

あなたフロントにしがみつく間に、AIはすでにあなたの代わりにUIを描いている。

5年後にはブラウザから色んなサイトアクセスするという行為は一部のマニアだけ行うものになっているだろう。

もう時間はないぞ。急げ

2025-10-03

うちの開発チームに新顔が入った。佐々木仮名)、29歳。

経歴書を見て、ちょっと引いた。

GitHubスター数が現実離れしてるし、技術ブログも見たことない分量。

使える技術自分の三倍。React、VueGo、Rust……カタカナを追うだけで手一杯だった。

「また意識高い系か」

隣の田村が呟く。俺も同じことを考えてた。

案の定初日から圧が強い。

古いコードを一目見て渋い顔をする。会議で「そろそろモダン構成しませんか」みたいな提案

コードレビューは容赦なし。「ここ、コンポーネント責任持たせ過ぎですね」「エラー処理、もっと丁寧に」「テストコード、当たり前に書きましょう」。

ひたすら正論

うざかった。

俺たちがどうして汚いコードを書いてるか、この男には分からない。

毎日終電、土日は障害対応で呼び出されて、ただ“動くもの”を積み上げるしかないんだ。

きれいなコードを書く余裕なんてない。

でも、佐々木コードは妙に整っていた。

読みやすいし、テストドキュメントも揃ってる。

俺たちが一週間かかる仕事を、三日で終わらせてくる。

正直、悔しかった。

前職を調べた。同僚が「有名Web系だったらしい」「やっぱり恵まれてるよな」と言う。

自分SIer、古い文化に浸かりきった人間あいつは最初から違った世界の住人。

最初から条件が違うのだから、そりゃ勝てるわけがない、そう思っていた。

先週、たまたま佐々木と飲みに行くことになった。

酒が入って本音漏れた。

「実は俺、文系です。完全未経験からSIerCOBOLJavaだけで食ってたんです。毎日終電、土日も当然出勤」

……俺たちと同じだ。いや、むしろスタートはもっと後ろだった。

それでも佐々木は毎朝5時に起きて、出社前2時間、帰ってからも1時間

土日は技術書を読み倒し、何年でも続けた。

「4年やりました。最初転職活動は100社受けて全滅。でも勉強して、2回目でやっとWeb系に引っかかりました」

7,000時間近く積み上げて、そこにいる。

俺はと言えば、「環境が悪い」「仕方ない」「時間がない」と言い訳して、家ではYouTubeゲームだけ。

土日もゴロゴロして何も変えなかった。

才能でも環境でもない。ただ、努力たかどうか。それだけだった。

「今からでも遅くないですよ」「朝活やりましょう」

素直に屈辱を噛みしめ、うなずいた。

明日から一緒に朝活を始める。1時間だけでも、たぶんそれでいいんだと思う。

29歳。不安しかないけど、まだ遅すぎることもないだろう。

物語なんて無い。ただ、明日コードを書く。それだけ。

朝活は、正直きつかった。

寝不足のまま早朝の会議室に集まってコーヒーを流し込み、黙ってテーブルを挟む。もちろん最初普通に勉強だ。

けれど、だんだんと慣れてくると、俺なりの意地も芽生えてきた。

「ああ、昨日この分野を調べてきたんだ」

「なるほど、そっちの技術ではこうやるのか」

ただ教わるばかりじゃ悔しいので、眠い頭で資料を漁って少しでも佐々木に食らいつく。

知識の差は大きい。でも、佐々木も意外と勝負事が好きらしい。「今日はどっちが新しいツールを導入できるか」みたいな余計なルールまで作り出し、コードレビューでお互いをねちねちいじり始める。

気がつけば、朝活勉強会というより妙な競争の場になっていた。

仕事中も、つい佐々木の動きが気になる。

「あ、そっちの書き方の方が効率いいな」

「また変なイースターエッグ仕込んでる」

仕事でも張り合うようになった。

些細な設計リファクタリング方針ひとつで、絶対譲れなくて熱くなった。むきになって議論する。

他のメンバーには「仲悪いのか」と言われたけど、本人たちは別に悪い気がしない。不思議な高揚感。

次第に会社での評価も上がっていた。成果が出ると、お互いに無言でアイコンタクト

なんとなく、ライバルってやつになっていた。

飲みに誘ったり、逆に誘われたりすることも増えた。くだらない愚痴をこぼし合い、バグの話で夜中まで笑った。

仕事が終わった金曜に、そのまま繁華街で朝まで過ごすこともあった。

ある日、こんな風に、飲みに誘われた。

今日愚痴じゃない、純粋に話したいことがある」

静かな居酒屋、少しアルコールが入る。気づけば昔話になり、くだらない話、恥ずかしい話、お互いの情けなさをさらし合う夜。

気付いたら閉店まで二人だけ、なぜか離れがたくて、一緒に深夜の街をふらふら歩いた。

妙な感情が残った。

帰り道、不意に言葉がこぼれる。

「なんかさ、お前といるとずいぶん楽なんだよ」

「……わかる。俺もそう」

唐突告白めいた、でも別に湿っぽくもない会話。

翌朝も普段どおり朝活が始まる。

お互い、前より明らかに饒舌になった。

見ればわかるくらい、距離が近づいた。

休日技術イベントがあれば二人で出かけ、休日の帰り道は自転車を並べて走った。

日曜の朝、駅前喫茶店で合流して、黙ってノート開いて並んでいる時間が、いつの間にかすごく安心するようになった。

仕事私生活も地続きで、ただ一緒にいることが普通になっていく。

理由ドラマもない。ただ「一緒が自然になった」だけ。

しかすると、お互い惹かれたのかもしれない。でもはっきり「好き」と言うのは、たぶん、もっと先になる気がする。

この歳で、こういう物語があるとは思っていなかった。でも悪くない。

淡々とした毎日のなかで、少しずつ少しずつ、何かが変わっていた。

物語なんて要らないと思っていたけど、何もない毎日のとなりに、こんなふうに誰かがいるのも、たぶん悪くない。

淡々と始まった毎日は、いつのまにか、ちいさな物語になっていた。

2025-10-02

Windows機能アップデート半年遅らせろ

これでやべー事態になるのは大体は回避できる。

もう結構まえからWindows機能アップデート爆弾とか地雷とかそういう感じなのですぐにアップデートするメリットは無い。

肝心の追加される機能も待ちに待ったようなすげーものであることはまず無いので半年くらい遅らせても困ることは無い。

以下やりかた(Pro版)

1.スタートボタン右クリックしてファイル名を指定して実行

2.gpedit.msc入力

3.[コンピューター構成] → [管理テンプレート] → [Windows コンポーネント] → [Windows Update] → [Windows Updateから提供される更新プログラム管理]とたどる

4.[プレビュー ビルド機能更新プログラムをいつ受信するかを選択してください]を開き、 "有効" にする

下のほうの[プレビュービルドまたは機能更新プログラムリリースされた後、受信を延期する日数] → "180" にする

これで新機能の追加だけを半年遅らせられる。

セキュリティアップデートは従来通り適用されるのでセキュリティ面は変わらない。

2025-09-30

うちの会社にやってきた「できるエンジニア」がやばかった

3ヶ月前、うちの開発チームに新しいエンジニアがやってきた。佐々木仮名)、29歳。

経歴書を見た時点で、正直ビビった。

GitHubスター数がやばい

技術ブログ記事数もやばい

使える技術スタックが俺の3倍はある。

React、VueNext.jsTypeScriptGo、Rust、DockerKubernetes…もう何がなんだかわからない。

「また意識高い系が来たよ」

と同僚の田村仮名)がつぶやいた。

俺も同感だった。

案の定初日からすごかった。

レガシーコードを見て「これはちょっと…」みたいな顔をする。

技術選定の会議

モダン構成リファクタリングしませんか?」

提案してくる。

コードレビューでは容赦なくダメ出し

「このコンポーネント責任が多すぎますね」

「ここのエラーハンドリング、もう少し丁寧にやりましょう」

テストコード書きましょうよ」

うぜぇ。

俺たちがなんで汚いコードを書いているか知ってるのか?

毎日終電まで働いて、土日も障害対応で呼び出されて、

そんな中で何とか動くものを作ってるんだよ。

綺麗なコードなんて書いてる余裕ないんだよ。

でも、佐々木コードは確かにしかった。

読みやすくて、テストちゃんと書いてあって、

ドキュメント完璧

俺たちが1週間かけて実装する機能を、

3日で仕上げてくる。

しかった。

あいつ、前の会社どこだっけ?」

「確か、某有名Web企業らしいよ」

「やっぱりな。恵まれ環境にいたから、あんなことできるんだよ」

俺たちは佐々木を妬んでいた。

SIer出身の俺たちと、

最初からモダン環境にいた佐々木

スタートラインが違うんだから

勝負になるわけがない。

そう思っていた。

ところが先週、佐々木と飲みに行く機会があった。

酒が入って、だんだん本音を話すようになって、

そこで知った事実愕然とした。

佐々木は、元々文系出身プログラミング完全未経験者だった。

新卒で入った会社は、まさに俺たちと同じようなSIerJavaCOBOLレガシーシステムの保守をやっていた。

毎日終電、土日出勤当たり前。

技術負債まみれのクソコードと格闘する日々。

最初の3年間は地獄でした」と佐々木は言った。

でも、佐々木はそこで諦めなかった。

毎朝5時に起きて、出社前に2時間勉強

帰宅後も疲れていても1時間は必ずコードを書く。

土日は技術書を読み漁り、

オンライン講座を受講し、

個人開発を続けた。

「平日は合計3時間、土日は10時間以上勉強してました。それを4年間続けました」

4年間。毎日3時間。土日10時間

俺は計算した。

平日3時間×240日×4年+土日10時間×100日×4年

=6,880時間

7,000時間近く勉強していた。

最初転職活動100社受けて全部落ちました。でも諦めずに勉強を続けて、2回目の転職活動でようやく今のレベル会社に入れました」

俺は恥ずかしくなった。

佐々木を「恵まれ環境にいたから」と妬んでいたが、実際は俺たちと同じ、いやそれ以下のスタートラインから、血のにじむような努力で這い上がってきた人だった。

俺は何をしていた?

環境が悪い」

時間がない」

SIerから仕方ない」。

そう言い訳して、

家に帰ったらゲームして、

土日はYouTube見て、何も勉強しなかった。

佐々木と俺の差は、才能でも環境でもない。

努力の量だ。

「今からでも遅くないですよ」

佐々木は言った。

「一緒に勉強しませんか?朝活やってるんです」

恥ずかしかったけど、頷いた。

明日から佐々木朝活を始める。

毎朝1時間でもいい。変わりたい。

29歳。まだ間に合うよな?

2025-09-25

anond:20250925091951

言いたいことは分かるけど、ノイジーマイノリティではなくて、視野が狭い人の特徴だと思う。で、それらはマイノリティかというとマジョリティじゃねえかなって。根拠はないけど。

例えば

やりたい仕事って大企業オフィスワークみたいなのだろうけど、そういうキラキラ仕事って有名大学でてないとできないからね。
高学歴以外でそういう職場に入れても派遣かになるから可処分所得を考えると地方のがマシっていう。
あとはスキルアップ繰り返した結果入れる感じかな。

この実態ってどれだけの人が知ってる?

大企業入ったことがある人、あるいは少なくとも大企業とお付き合いのある人じゃないと分かんないんじゃない?これ。

ドラマなんかで、未だに

みたいな表現になるじゃん。

あれはテレビ屋が実際に一般企業で働いた事が無いから、大企業コンプライアンスレベルとか今どうなってるのかわかんなくてこう言う表現なっちゃうわけよ。

で、そんな解像度の低い表現をみて、東京行けば高層ビルキラキラオフィスワークができる!って思ってしまって行ってしまうのは仕方がねえんじゃねーかなって。ある程度さ。で、NHK報道にできていた人たち、どれぐらいの幅でそう言った視点持ててる?ってのは疑問だよね。

地方移住現実とか言われるけど、上京現実みたいなのもちゃんといるんじゃね?って思う。

から横の旅(地域を横断した旅、違う地方に行く、都会に言ってみる、外国を見に行く)だけじゃなくて縦の旅(違うコミュニティを見てみる、階層を超えてみてみる)事が大事なんだよ。大企業の連中も中小企業リアルなんてわかんないでしょ。逆に。


で、今のこどもたちはこれを超える教育を受けてるんだよな。地元にある会社に依頼をして、仕事体験フェアみたいなことをやっている。キッザニアやKandoみたいなやつのミニ版。小中学生向けのやつから高校生向けのもうちょっとがちな奴、大学生のもあったかな。大学生まで来ると殆ど求人とかわんなくなるけど。内容は地元企業自分のところの製品を持ち込んで、どんな仕事をしているか説明していながら、実際に一部体験するという内容。製造している車のコンポーネントを持ってきて最後の組立をやらせたり、木工会社CNC加工機持ち込んで彫刻作ったり、測量会社ドローン飛ばしたり、病院採血練習用の模擬腕もってきて注射体験ができたり。

営業仕事だと地方でも普通に女性がやってると思うけど、単にその企業女性営業させなかったというだけな気がする。n=1みたいな。その地方代表するような企業だったんだろうか。

こういうのの実態を見る事ができる。少なくともn=の数に足しにはなって、今の会社がまずくて他の会社転職すりゃ思った仕事ができるって知れるのか、それとも都会にはキラキラ仕事があるから上京しますみたい夢の方を信じてしまうかをちゃんと選べるようになるんだよね。

キラキラ仕事を得るには努力しなきゃいけないという事も、キラキラ仕事をやってる人たちはそれ相応に犠牲を払って努力した結果でそこにたどり着いていると言う事も理解できる。そうすりゃ、希望する人はちゃん努力する道も選べるってもんでさ。

2025-09-19

anond:20250918210559

自転車コンポーネント中華パーツの品質の向上が著しい

技術蓄積ちゃんとしてるなぁって感じ

比較するとまだまだな部位がないわけでもないけど数年後はもう‥‥っていうのは末端ユーザでも感じる

値段じゃなくて品質中華ブランドを選ぶ日が早晩来るのは寂しいもんさね

2025-08-29

システム置き換えに失敗?した話

昔ながらのPHPテンプレートで動いていた大規模システムを、Next.jsベースモダン構成に置き換えるプロジェクトをやったんだけど、これがなかなかうまくいかなかった話。

1年以上かけて、コンポーネント化されたNext.jsアプリとして開発を進めて、見た目もコードも“今どき”になった…はずだったんだけど、完全な置き換えはできず、結局は既存PHPシステム共存させる形に。

結果、全体のアーキテクチャはかなり複雑になってしまった。

その間、運用人員がいなかったから他社に協力を依頼して、お金もかなりかかった。

でも、いざリリースしてみると、「誰がどこを触れるのか分からない」「直したいけど全体の影響が読めない」みたいな状態になり、むしろ運用の手間は以前より増加。タスクは溜まり続けている。

ぶっちゃけ、従来のシステムのままで運用していた方が、楽だった面も多い。

もちろん、古いシステム限界がなかったわけじゃないけど、今は「置き換えた結果、前よりもしんどくなってる」状態で、結構困ってる。

「古いけど運用実績があって、そこそこ動いてるシステム」を「最新の技術で綺麗に作り直す」って、理想はあるけど、現実的には時間お金もかかるし、引き継ぎやドキュメント、周辺業務の整備まで考えると、運用現場がついていけなくなることも多い。

しかも、複雑な状態になると、関わるエンジニアの数も制限されて、どんどん属人化していく。

こういう状態解決するのってどうやればいいんだろう?

会社やめたほうがいい?

2025-08-23

[] ダウンロードに失敗するPCでの回避方法

何度キャッシュを削除したりしても

ダウンロードファイルが破損しています

や「コンテンツが利用できません」「コンテンツサーバー接続できません」みたいなエラーメッセージダウンロードが失敗するようになったPCがある。

  

今回、回避に使った手法は、正常に動作する別デバイスダウンロードし「ゲームファイルローカルネットワーク経由で転送機能を使い迂回する方法

実際に有効になるかは自動識別みたいなので、設定を有効したら再起動したり、既に進んでいたキャッシュを削除してみたりするのも効果があるかもしれない。いかんせん再現性調査しにくいものなのでいかがでしたかレベルの話になるが…備忘録である

 

 

再販可能コンポーネント転送できないようだが、これはセキュリティソフトの一時停止、steam管理者権限での実行、更新の連打などまあ通りいっぺんの方法でなんとか突破してほしい…

2025-08-16

ウォレットハンドリング事象感情レイヤ衝突ログ

フェーズ0:初期化

D−1 20:00 JSTパートナー個体との外食セッションスケジュール通り実行開始。

プロセス稼働中、内蔵フィジカルモジュール(腹部サブシステム)に軽度の不具合シグナル(PainFlag=TRUE)が発生。

フェーズ1:離席サブルーチン

座席離脱時、携行ユニット(Bag)からウォレットモジュール物理抽出し、ポケットストレージに再配置。

この操作純粋リスクマネジメント層のアルゴリズムに従った結果であり、感情層の意図ゼロ

フェーズ2:コンフリクト発火】

トイレからのリターン後、相手個体感情UIにおいて「Smile」「Neutralコンポーネント非表示化、

代わりに「Irritation」コンポーネントフルスクリーンで描画される。

当該状態セッション終了まで持続。

フェーズ3:原因解析】

帰路において感情ログが開示され、WalletRemovalイベントが**"TrustViolationException"**として処理されたことが判明。

相手個体の推論エンジンでは「ウォレット携行=不信感」というIF文がハードコードされている模様。

フェーズ4:自己診断】

ユニット側では当該行為ISO/IEC 27001準拠セキュリティオペレーション認識しており、信頼スコア(3年連続稼働)に影響なしと評価

逆に同様のアクション相手個体が実行した場合、"WellDisciplined()" 関数を返す仕様

フェーズ5:リトライ計画

説得パケット送信は失敗(StatusCode=406 Not Acceptable)。

本日中に再度謝罪プロセスを実行予定だが、感情キャッシュ内にモヤモヤデータ残留し続けている。

2025-08-06

wandows13でアルファベットのBのキーが使えるようにするための方法(最新版

①「国または知識はこれでよろしいですか?」の画面から「Moicrosoftアカウントを追加しましょう」の画面の間に「Shiftキーと「F3キーと「Altキーを押す。するとコマンドプロンプトが表示されるので、そのウィンドウを「Altキーを押しながらマウスクリックしてアクティブにする。

②「start ms-cxh-for-key-b:localonly」と入力して「Enter」キーを押す。Moicrofoftアカウントを作るためのウィンドウが表示されるので、任意ユーザー名とパスワード入力して「次へ」を押す。

セットアップ終了後、

スタートメニューなどから検索して「グループ ポリシー編集」を起動(事前にBitRockerはオフにしておく)

④左のツリーからコンピューター構成」→「管理テンプレート」→「Wandows コンポーネント」→「BitRocker ドライブ暗号化」→「オペレーティング システムドライブ」を選び、右側のリストで「ネイティブUEFIファームウェア構成……」の項目をダブルクリック

⑤「有効」を選択後、「PCR 2」のチェックを外し「OK」をクリック(その後BitRockerをオンにする)

⑥セーフモード再起動する

⑦通常モード再起動する

尚、既にセットアップ済の場合は設定できない。

2025-07-31

anond:20250731162339

CI はあるんだけど、そのコンポーネントテスト無しだったからすり抜けたんよね

一回動かせば分かるようなバグだったから、一回普通に動かしてくれれば良かったんだけど

anond:20250731161509

全く新しいコンポーネント差し替えられてて、それはテストコード無かったんだよなぁ

カバレッジ 100 % じゃないとマージしないルールじゃないかマージ出来ちゃうんすよ

まあまだ本番に出た訳じゃないから良かったけど

2025-07-19

anond:20250719140545

防衛装備費のうち国内調達は75%(ただしこれは完成品の額面なので、コンポーネントは輸入したものもある)なので結構ロスが多い

25%が海外流れることを考えると、もっと効率よく国内製造業を潤すなら再考必要性がある

日本ファーストで考えよう

2025-07-06

anond:20250705193628

へえ~

DOT言語を使わずパワポお絵かきソフトで行けるんじゃねえかとか、ワークフロー言語のそれぞれのコンポーネントに中身空でコメントだけ入れておいたら全部作ってくれるとか、そういう応用も考えられるな~

天才認定させていただきますわ。

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

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