Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録

「TypeScript」を含む日記RSS

はてなキーワード:TypeScriptとは

次の25件>

2025-07-14

TypeScriptにしてからアップデートが面倒すぎる

昔のJSの頃も複雑で面倒ではあったけどまぁどうにかなるものだった

実行してエラーが出るところをそのライブラリの変更点に応じて変えるくらいだったし

 

でもTSになると実行すれば動くものなのに型エラーが山ほど出る

関連ツールも増えてしか依存関係があるから片方だけあげて見るとかはできず全部上がる

それでよくわからんエラーが出てどうしろ状態

 

最近あったのはこれまでだと期待通りに推論されてたところが勝手anyとみなされるようなった

その結果あちこちに暗黙的なany の受取はダメみたいなエラー

さすがに何百ページもあるのにそれ全部に実際の型を書いてられない

型がとても複雑だから推論に任せてたのに

その原因を辿ろうにもTS自体の推論方法が変わったのかライブラリの推論させるための型定義が変わったのかわからない

深く探ろうにもライブラリが多数組合わさってるところで簡単特定できない

そもそも原因をできたところでどうしようもないと思う

推論されなくなった以上自分で書くしかないんだから

 

さすがにこの規模はやってられないということでアップデートはせず元のバージョンに戻した

数年もすればきっと大幅に作り直すことになるんだろうし、そのときに一から作り直せばいいんじゃないかなと未来に投げた

ただそのプロジェクトに関わるメンバーの再編でビジネスロジック実装レベルならできるが開発環境更新とかそういう事できる人が残ってないわけで、どうなるんだろうな

まあ自分はもうそときには関わらないプロジェクトなんだしいいか

Permalink |記事への反応(0) | 11:54

このエントリーをはてなブックマークに追加ツイートシェア

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 PageApplication)にすることでユーザー体験を向上させたい(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 PageApplication)にすることでユーザー体験を向上させたい(Why)」、「コンポーネント指向の開発によって長期的な保守性を確保したい(Why)」、「Reactエンジニア採用市場が活発だからWhy)」といった、様々な「Permalink |記事への反応(0) | 17:09

このエントリーをはてなブックマークに追加ツイートシェア

2025-06-12

すべての不幸はブラウザ上で動く言語JavaScriptだけであることに始まる

何がトランスコンパイル

TypeScriptが直で動けるようにしろ

Permalink |記事への反応(1) | 10:08

このエントリーをはてなブックマークに追加ツイートシェア

2025-06-11

40代中年最近まで知らなかったこと。今もわかってないこと。

めちゃくちゃいっぱいある。

順不同、脈絡なく書いていく。

最近まで知らなかったことだけじゃなく、書いたけど結局わからんことも書く(そっちのほうが多い)。

製造業用語いろいろ

5Sといって整理、整頓、清掃、清潔、躾だそうだ。

全部日本語じゃねーかって思った。

QCサークルとか、サークルっていうから酒でも飲むのかと思ったら普通に業務じゃないか

会計用語いろいろ

簿記とか会計に疎かったので、営業利益とか経常利益とか違いがわからんかった。

ググってみても、本業の稼ぎが営業利益とか出てきて意味がわからなかった。

経費削減っていうから会社支出は全部経費かと思ったら、材労経だろJK

それにケイツネも特別もあるだろって言われた。

原価といっても全部原価とか直接原価とか標準原価とか次々新しい名前が出てきていまでもわからん

税金用語いろいろ

所得年収は違うことは知ってたが、わからん

雑損てなんだ?

配偶者控除配偶者特別控除の違いとかわからん

散々計算した挙句所得定義国税地方税で違うとか温厚な俺でもキレそうになる。 

税金難しすぎる。

消費税の仕組み、仮払いとか仮受けとかも知らんかった。

法律用語いろいろ

一番よくわからない。善意第三者っていえば、普通に考えて、親切な人だろ?なんで事情を知らない人をいうんだよ?

ヒトのことを、法人に対して自然人というとか、お前頭沸いてんのか?と思った。

法令政令省令とかもわからん

法令はそうそう変えられないから、細かいことは政令政令に定めるとか省令に任せるってことにしといて、パブコメだけで規則変えるのって頭いいけどズルくね?

統計学用語とか

母数は分母のことじゃないとか、n=100は標本数じゃなく標本サイズだとか、そういうの。

分類とクラスタリングは違うとか、俺がなにか喋るたびに訂正される。

自転車運転とか

自転車車道って言われても、5叉路とかになるとどの信号みていいかわからん

降りて歩行者になってる。

車道は無理じゃね?交通量と道の広さ考えると。

保育園とか学童保育とか放課後デイサービスとか

仕組みがよくわからん

なんでこんな何枚も似たような書類をいろんなところに書かないといけないのか。

事業者書類書いて、なんちゃら福祉事務所に書いて、自治体に書いてとまあ。

自治体に提出しにいくと、これは福祉課、これは子育て支援課、年収判定は課税課、子育て支援ゴミ無料になるから環境課に行けとかいろいろ。

その度に住所と名前を書く。

名目GDPとか実質GDPとか

あとイールドカーブとかも知らんかった。

住民票戸籍

説明されてもわからん

なんで住所情報管理するシステム家族関係管理するシステムが別なのかわからん

ガンダム用語とか

ジークアクスみてるんだけど、宇宙世紀教養なのか?知らねーよ。

IT言語とか

もう全部わからん

フレームワークなにそれ?Gitって美味しいの?

いにしえから続く名前をつけて保存しか知らねーよ。

コマンドプロンプトPowerShellの違いすらわかんないってのに、TypeScriptJavaScriptの違いなんか興味もないわな。

markdownだとかtexで書かれても困るわ。

Wordpdfで頼むよ。

女の化粧

下地ってなんだ?

エンジン

ジェスチャーエンジンの動きを教えてくれた人がいてさ、水平対向エンジンはこう、Vツインはこう、と熱心にモノマネしてくれたんだけど、気が狂ったのかと思った。

実は、そもそも4サイクルと2サイクルの仕組みすらわかってないんだ。

ディーゼルはまた別なんだろ?

軽油っていうけど、ガソリンのほうが軽いんだろ?違う?

電気とか電化製品のこと

前項でエンジンわからんって言ったけど、身の回り電化製品とかもほとんどわからん

例えばテレビの仕組みとかわからん

地上波デジタルってのは、VHFとUHFと違うのか?

手形とか印紙とか為替とか

収入印紙と少額小為替とかわかってない。

手形廃止されるとか聞いたけど、そんなものたこともない。

金融商品

株式だってよくわかってないし、先物とかオプションとかスワップとかって説明されてもわからん

PMSとか

生理周期とメンタルが関連するって聞いたけど、機嫌が悪いのは生理前なのか生理ときなのか生理直後なのか。

聞くのも憚られるから、女が怒ってるときは「なんかわかんないけどホルモンのせいだな」と諦めてる。

国会議員

誰が何をした人だとかどの選挙区だとか、さっぱりわからん

そもそも自民党共産党以外、どの党がどういう支持母体でなりたってるのかわかってない。

立憲民主党国民民主党の違いとか知らんし、維新の会ってなに?

Permalink |記事への反応(4) | 20:15

このエントリーをはてなブックマークに追加ツイートシェア

2025-05-28

anond:20250528223226

窓際どころかもうWEB仕事やってねーよ。

htmlも覚えたのにcssに取って替わられるし、JavascriptフレームワークモダンCSSだJamstackだTypeScriptだやってらんねーわ。

Permalink |記事への反応(5) | 22:36

このエントリーをはてなブックマークに追加ツイートシェア

2025-05-20

ガチプログラマーは淘汰されるかもしれない

先日の日曜、某IT系勉強会に参加してきたんだけど、そこでも話題に上がったのが「AIによって人間プログラマー不要になるのか?」って話。

正直俺も含めてその場にいたほとんどの人間が、腹の底ではいやいや、それはないっしょって笑ってたわけ。

たとえばChatGPTとかGitHub Copilotとか、最近はTabnine、Amazon CodeWhispererなんかもあるけど、どれも便利ではある。

でも結局のところAIが書いたコード品質をチェックするのは人間だし、プロンプト自体が難しいから結局基礎ができてないと無理だよねっていうある種の安心バイアスがあった。

でもその考え、甘かったっぽい。

聞いた話では今のAIでは分業化が進んでるらしい。

例えば、一般的言語モデルであるGPT-4はもちろん優秀なんだけど、今はそこからさらに“ドメイン特化型”のAIが開発されていて、分野別に専門AIが配置されてる。

データベース設計ならこのAIフロントエンドならこっち、セキュリティに関してはあっち、みたいな。

まり何が起きてるかっていうと、素人が「こういうアプリ作りたいんだけど」ってざっくりした質問をしたとしても、AIの中で自動的専門家AIルーティングされて、実際にプロレベルの回答が返ってくるようになってきてる。

マジでやばい

人間経験とか判断力に頼っていた領域が、いよいよAI侵食されはじめてる。

しか進化スピードが異常でMistralやAnthropic Claude、MetaのLlama 3、Google Geminiあたりの最新モデルはすでに「構文の正しさ」や「コード全体の可読性」まで含めて自己チェックできるようになってきてるらしく、OpenAIが次に出すGPT-5では、おそらく「仕様の良し悪し」までも判断できるって噂まである

もうこうなると、中堅レベルプログラマーが真っ先にいらなくなる可能性が出てくる。いやマジで

実務経験を積んでやっと「これがベターだな」って判断できるスキルが、AIにあっさり再現されるとしたらそれ以下の人材は何を武器にすればいいんだ?

正直かなりゾッとした。

俺も完全にその中堅側にいるから。

これまではいくらAIがすごくても使いこなせるのは人間だけって思ってた。

でも今後は違うかもしれない。

……たぶん、生き残るのは本当に一握りの設計思想まで含めて自分AIを育てられるレベルプログラマーだけになる。

言語でいうなら、RustやGoTypeScriptKotlinとかをベースに、フレームワークだけじゃなくて抽象化設計思想まで一人で持てるような人。

おかげで週末はとっても陰鬱な気分で過ごす羽目になった。

助けてドラえもん!!!

Permalink |記事への反応(3) | 19:04

このエントリーをはてなブックマークに追加ツイートシェア

エンジニアになりたかったけど喫煙所で心折れた

エンジニア転職を夢見て

基本情報技術者試験

ポートフォリオのためにreact,typescriptアプリ作成

競技プログラミング

帰宅後や休日コツコツやってる26歳男です。現職は旅行代理店

ビル喫煙所一服してたら私服男性2名が入ってきた。このビル私服なのはIT系会社だけ。仮にA社とする。

喫煙所に俺とその2人の3人しか居なかった。だからA社の人達雑談が耳に入るんだよね。

そしたら断片的だけど「DNSが〜」とか「要件が〜」とかまあ、話していたわけよ。

外部で話したらダメだろということは置いておいて、今勉強している単語たちが断片的に聞こえるわけな。

そしたら「あーならこうすればいいのか」とか「なるほどね」とかどんどん盛り上がって来ていたわけよ。課題解決したのかな。

ただ、難しい単語だらけ。

そしてたまに聞こえる知っている単語、俺が勉強しても勉強してもよく分からない概念だったりするわけよ。

それをさも当然かのように、まるで簡単かのように話しているわけよ。

見た目は汚いおっさんなんよ。私服もヨレヨレ。無精髭生やしてさ。

けど、その難しい概念簡単に使いこなし、それでどんどん楽しくなって行ってる(ように見える)

心が折れかけた。なんか、レベルが違いすぎた。

それでも向こうは専門職で何年もやっているだけ。そう思いたい。

そこに、スーツ若い男が入って来た。2人に混ざって雑談開始。多分新卒さんかなあ。若いし、スーツだし。

するとさ、「基本情報簡単でした」みたいなことが聞こえて来たわけよ。

僕がヒーコラ言ってる基本情報簡単扱いなんよ。

なんかさ、もうさ、怖い。

なんであれが簡単になるのさ。

人種が違いすぎる。

転職、別業種にしようかな。それとも同業種への転職にしようかな。

なんかさ、もうさ、本当にさ、エンジニアさんって凄いんだね。

Permalink |記事への反応(7) | 13:09

このエントリーをはてなブックマークに追加ツイートシェア

2025-05-03

2020年2024年IT技術の人気ランキング比較

https://survey.stackoverflow.co/2024/technology

https://survey.stackoverflow.co/2020#technology

言語

-2020---2024
JS67.7---62.3
Python44.1---51
TS25.4---38.5
Java40.2---30.3
C#31.4---27.1
C++23.9---23
C言語21.8---20.3
PHP26.2---18.2
Go8.8---13.5
Rust5.1---12.6
kotlin7.8---9.4
Lua----6.2
Dart4.0---6
Ruby7.1---5.2
Swift5.9---4.7
Scala3.6---2.6

HTML/CSS,SQL,Bash/Shell,とかそういうのは省いた


順調に伸びるPython人気、そしてTypescriptの伸びがすごいな

Javaって永遠に人気なのかと思ってたけどじわじわと人気が落ちている

PHPも長期的にみると厳しそう。

GoとRustが着実に人気を獲得。

Luaが地味に人気出てる。


データベース

-2020---2024
PostgraSQL36.1---48.7
MySQL55.6---40.3
SQLite31.2---33.1
SQLServer33.0---25.3
MongoDB26.4---24.8
Redis18.3---20
MariaDB16.8---17.2
Elasticsearch13.8---12.5
Oracle16.5---10.1


PostgraSQLの勢いが止まらない

MySQL+MariaDBではまだMySQL系が多いが・・・


フレームワーク

-2020---2024
Node.js51.4---40.8
React35.9---39.5
jQuery43.3---21.4
Next.js----17.9
Express21.2---17.8
Angular25.1---17.1
ASP.NETCORE19.1---16.9
Vue.js17.3---15.4
ASP.NET21.9---12.9
Flask14.2---12.9
Spring16.4---12.7
Django14.2---12
FastAPI----9.9
Laravel11.1---7.9
Svelte----6.5
Rails7.0---4.7

フロントバックエンドがごちゃごちゃなのなんでだろう。Node.jsってフレームワークじゃないだろ・・・


Next.jsの勢いがすごい。やはりWEBTSNext.js時代なのか

Pythonの人気は盤石だけど、DjangoとかFlaskは人気が落ちてる。FastAPIに食われたか

LaravelとRailsはこのまま消えていく予感

Permalink |記事への反応(0) | 15:36

このエントリーをはてなブックマークに追加ツイートシェア

2025-04-29

Why ChooseNext.jsOver React.js forWebsite Development in 2025?

Speed,SEO, scalability, and developer productivity aremore critical than ever. While React.js remains a powerhouse forbuilding interactiveuser interfaces, many businesses and developers arenow leaning towardNext.js for complete, production-ready solutions.So what exactly makesNext.js amore favorable choiceover React.js in 2025?Let’s explorethe reasons in detail.

🧱 React.js vsNext.js:Core Distinction

React.jsis aJavaScript library focused solelyonbuildingUI components.

Next.jsis a full-fledgedframework builtontop of React that includeseverythingyouneed for production — routing,SSR,SEO optimization, static site generation, andmore.

In essence, React givesyou the tools to build aninterface, whileNext.js givesyou thestructure to build, deploy, andscale a completewebapplication.

🚀Key Advantages of ChoosingNext.js in 2025

1. Built-in Server-Side Rendering (SSR)

2. ImprovedSEOOut of theBox

3. Hybrid Rendering Capabilities

4. Full Routing System

5.Image & Font Optimization

This alignsperfectly withGoogle’sperformance guidelines in 2025. React.js doesn’t offer this natively.

6.APIRoutes Without a Backend

7. Enhanced Developer Experience

Next.jshas evolved intoone ofthe most developer-friendlyframeworks in 2025, backedby the Vercelecosystem.In 2025,Next.js standsoutas the smarter, faster, andmore scalable solution forbuilding modernwebsites andwebapplications.It inheritseverything great about React —and addsstructure, optimization, and production-readiness. Ifyou’re planning to build awebsite that demands speed,SEO,and a seamless development process,Next.jsis the clear choice.

Formore details read this informative article:https://www.nimblechapps.com/blog/choosing-nextjs-over-reactjs-for-website-development

Permalink |記事への反応(0) | 17:34

このエントリーをはてなブックマークに追加ツイートシェア

2025-04-23

anond:20250423070910

それあるなら諦めず応募してたら受かるだろ。もっとザコかと思ってたわ

もっとポートフォリオサイト作ってDockerk8sAWSGCPAI使ってアピールしろRAGMCPサーバー構築できると良い。AWSとかの資格も取れ。あとはコード設計な。デザインパターンやれ。MVC理解したあとDDDやれ。IT系ビジネスの本も読め。Figmaデザイン作れ。とにかくがむしゃらに受かるまでやれば受かる。どうせ全部あとで役に立つ。AtCoder緑あるならコンパイラ作れるだろ。そういうの作ってGitHubに置け。Slack自分で使え。bot作れ。SOLID原則理解しろJava以外も書け。特にTypeScriptJava分かるなら楽勝だろ。データベース勉強しろNginx立てろ。プロマネの本も読め。勉強会参加してこい

あととにかくコード書け。たぶん足りん。

あと履歴書を規格通り出してないだろうな。履歴書なんかほぼ不要から何作って何ができてどこまで知ってるか全部精密に書け。

Permalink |記事への反応(2) | 07:36

このエントリーをはてなブックマークに追加ツイートシェア

2025-04-03

anond:20250403182822

もうReactもtypescriptも死んで巨大な技術負債になり、みんなHTMLXで作り直して終わるんだわ

Permalink |記事への反応(2) | 18:34

このエントリーをはてなブックマークに追加ツイートシェア

2025-03-30

anond:20250330171320

TypeScriptの是非はともかく、そういうアレルギー反応は技術屋の今後にとっていい傾向を生まないと思いますね…。

Permalink |記事への反応(1) | 17:15

このエントリーをはてなブックマークに追加ツイートシェア

anond:20250330160555

TypeScriptインストール時点でうお~~~xんでくれ~~~~ってなったから徹底的に思想が合わない

Permalink |記事への反応(1) | 17:13

このエントリーをはてなブックマークに追加ツイートシェア

anond:20250330162356

TypeScriptのやりたいことってすでにバックエンドで終わるから存在自体無駄

無駄フロント開発者食わせるためだけの公共事業みたいなとこある

フロント開発者バックエンドの動向に無知な人が多いから、自分たちのやってること無駄だって気づいてない

Permalink |記事への反応(1) | 16:29

このエントリーをはてなブックマークに追加ツイートシェア

anond:20250330160159

TypeScript共通言語になりつつあるのて流行ってるとか関係なく書けるようになっとけ

Permalink |記事への反応(3) | 16:05

このエントリーをはてなブックマークに追加ツイートシェア

anond:20250330155934

最近は何が流行ってんの?TypeScript

Permalink |記事への反応(2) | 16:01

このエントリーをはてなブックマークに追加ツイートシェア

2025-03-25

PHPは💩言語だとかJavaScript仕様が💩だとかF**kばかりほざいているやつ

掲題の通りだ。

じゃあお前が言語を作れよ。

プロなら、仕様通りに動くものを作れよ、金もらってやってるんだから

◯◯が💩なんて、猿でも言える。

俺達はほぼ例外なく無能で、先人たちが作ってくれたOSプロトコルにしたがって積み木を積んでいるだけだ。

新しいものなんて作れない。

JavaScriptを使うしかねーんじゃん。今は。TypeScriptとかあるかもしれないけど、実質はJavaScriptだ。

スクリプト以外の言語も、どうせもとを辿ればC言語だ。

重箱の隅をつつくようなことばかり言って理解したような気になってキーキー言っている猿どもは狭い世界で生きてる。

ダニング・クルーガー効果だよ。

最後に、俺もPHPJavaScriptは💩だと思う。

それと、バッチファイル。💩の極みだ

Permalink |記事への反応(0) | 12:37

このエントリーをはてなブックマークに追加ツイートシェア

2025-03-18

anond:20250318121310

今はGoとかTypeScriptとか流行ってるけど、Railsが爆発的に流行った頃はまだなくて、静的型付け言語Webに向いてるって言えば、JavaC#だった記憶

どっちにしろRails以上の負債になってそうだが

Permalink |記事への反応(0) | 12:25

このエントリーをはてなブックマークに追加ツイートシェア

2025-03-13

病院内で提供されるWiFi挙動メモ

身体を壊して先日ちょっと入院していたのだが、病院内ではWiFi提供されていたので、消灯時間外の日常生活アクセスはそれのお世話になっていた。消灯時間は夜9時から朝6時までだ。

事前に「入院生活にそぐわないサイトには接続できません」という告知が為されていたので、覚悟の上で使ったのだが、Webアプリ開発者としての業務必要サイトとかも禁止されていたので、ここにメモしておく。

どうせ数年以内には持病が悪化して再び入院するし。

通信制のしくみの考察

通信禁止されていると思われるサイト接続すると、ブラウザ側ではタイムアウトエラーとして表示される。もちろん、それなりに待たされる。ブラウザの開発ツールの様子を見るに、おそらくTCP handshake に失敗していそう。

正常に接続できるサイトの様子を見た範囲では、HTTPS接続証明書改ざんは行われていないようだったこからHTTPS暗号を解読してどうのこうの、という処理をしていない可能性が非常に高い。つまり通信制限は接続ドメインまたはIPアドレスによる判断実施している可能性が高い。

また、中間的なサイト存在する。通常2秒以内で表示できるようなサイトの表示に10秒(体感)かかるところがある。稀にタイムアウトする。

なのは通信禁止されていそうなサイトでも「待たされた挙句、つながることが非常に稀にある」ということと、curl等ではすんなりと接続できることである

DNS設定と一緒にproxy設定が落ちてきているのであればこの挙動理解できるのだが、手元のOSネットワーク設定にはproxy情報が何も出てこない。ちょっとよくわからない。

もしもDNSに対するAレコード(AAAAも?)問い合わせに対してニセモノを返すという仕組みで通信制限しているのだとしたら、「非常に稀につながる」挙動にはならないはずなので、透過型proxyによって頑張っているのではないか想像するところである

なお、消灯時間中は全てのリクエストタイムアウトになる。消灯時間開始直前にHTTP Request を送出して、応答が来る頃には消灯時間に入っている場合にはどういう挙動をするのか、というテストをやる暇は無かった。スマソ

つながるサイトと、つながらないサイトメモ

業務で使う全部のサイト検証できた訳じゃなくてゴメンね。結局のところ仕事携帯回線でやっちゃったから。

ドメインサイト概要接続の様子
hatelabo.jpはてな実験サービス置き場すんなり
anond.hatelabo.jp増田禁止
??????.hatenablog.jpはてなブログドメインの一つ、そして増田中の人ブログ遅い
console.aws.amazon.comAWS管理コンソール禁止
www.amazon.co.jpショッピングめちゃくちゃ遅いけどつながる
www.amazon.comショッピングめちゃくちゃ遅いけどつながる
ja.wikipedia.org百科事典禁止
www.php.netプログラミング言語PHP禁止
www.typescriptlang.orgプログラミング言語TypeScriptすんなり
stackoverflow.comプログラミング質問サイト(英語)すんなり
qiita.comプログラミング質問サイト(日本語)禁止
packagist.orgPHPパッケージ管理遅い(通常通り?w)
www.npmjs.comJSパッケージ管理すんなり

なお、自分ドメインサブドメイン禁止ドメインを入れたようなもの、例えばanond.hatelabo.jp.example.com のようなドメインに対する接続可否は検証していない(面倒だったw)

どこの会社受託しているのか?

サーバ目線で見えるclientIPwhois等で調べると、某F社さんだった。AWS管理コンソールへの接続禁止するあたり「あっ…!」と思ったり…w

Permalink |記事への反応(1) | 09:08

このエントリーをはてなブックマークに追加ツイートシェア

2025-03-12

TypeScriptの書き直しでC#を使わなかった理由でもあるように最近OOP流行らないしあまり使われないね

ゲームエンジンとかでも新しいのはOOPじゃなくしたとかなかったけ

ウェブフロントエンドでもreactやvueみたいなのはOOPじゃなくて関数で書くのが主流だし

Permalink |記事への反応(1) | 20:33

このエントリーをはてなブックマークに追加ツイートシェア

求人ボックス求人件数の変化

求人ボックス

https://xn--pckua2a7gp15o89zb.com/


技術1月3日3月12日
rails22,89127,570
node.js12,82916,178
Django13,34817,054
Flask1,5891,907
FastAPI1,2101,509
Laravel26,87932,624
spring16,38023,965
spring boot5,1107,002
React49,46565,273
Next.js7,38210,288
Vue34,32245,354


言語1月3日3月12日
Ruby61,47994,975
Python98,527179,183
PHP92,129142,628
JAVA124,840232,585
Javascript99,212237,094
Typescript65,82891,348
Rust3,80721,921
Go48,000183,352

Permalink |記事への反応(0) | 18:56

このエントリーをはてなブックマークに追加ツイートシェア

2025-03-06

AIエージェントを導入して安く上げられるだろと無茶振りされる皆さんへ(Clineに全部賭けないで編)

コンニチハ、オイソギデスカ

非常に良くない生成AIビックウェーブが来ちゃったんで憂鬱な皆さんこんにちは

生産性が上がるとか効率が良くなるとか宮仕え(みやづかえ)だと、福音どころか地獄ですよね。

ぼちぼち日経新聞AIエージェント導入で他社に差をつけようみたいな記事を書く頃だと思うので、備えましょう。

まずいつも通り前提からな。

すでに出来ること

ほぼできてるけど安定しないこと

ここまでは前提な。

なぜシンドクなるのか

生産性が上がっても、別にお前の給料が上がるわけじゃないか

DeNAがさ、既存事業3000人の従業員を半分で回すようにするって目標立てたじゃん。つまり、1500人の業務負荷は倍になるのよね。

倍になったら普通は回らないところ、生成AI使えば倍でも回るでしょ?って言われてるわけだよね。

アレが非難されずに、素晴らしいとか、(諦め半分で)まあそうなるよねって言われてるのが全てなんだけどさ、シンドイよね。

生成AI業務効率化されてハッピー毎日定時で何なら毎週金曜日カジュアルフライデーで飲みながら仕事だ〜、とはならないんだよ株式会社特に

騙し騙しやってた業務が消えるから

経歴詐称して潜り込むってウッソだろというホワイトなみなさんは、パワポ作るとかペアプロするとか輪読会するとか適宜置き換えてください。

新規プロジェクトに入った時に、なんか資料もねえし、コードをぼちぼち読みながら、急ぎでもクリティカルでも無い部分を書いてレビューしてもらって修正してマージして、

みたいな作業が消えます。この辺もう既に出来るから生成AIで。

というか、すでにこのへん置き換えて楽してるやついるだろ。そうそこのお前。

クソみたいなプロトタイプが増えるから

今までも、華麗なる経歴とやらの人物が作り上げていったコード保守運営する時に相当キッツイことになってた人は多いでしょう。

ほら、新規事業でも何でも、とりあえず動いて売り上げ立てた人が偉いのはその通りなんだけど、それを直すのは大変なのよね。実運用の時には大抵転職してて居ないし。

でもさ、まあ言うても立ち上げの時期に技術負債とか考える余裕もなく速度重視でゴリゴリ作った人の立場になってみると、まあ仕方がなかっただろうな、と感情移入もできる。

これが、スーツが「動くものは作っておいたか簡単だよね?」とかAIの作ったクソコードの山をギークに渡すようになるんだぜ。腹立つことにハンパに動くやつを。

今までも「AWSポチポチしたらすぐでしょ?」とか言うクソスーツは居たけど、実際に手を動かしてモノ作ってくるスーツは概ねまともだっただろ?

今後、手を動かすスーツの手が全てプロンプトになる。

ここまでが、憂鬱になる理由な。

AIエージェントで何が本質的に変わったの?

なぜ今AIエージェントブームになろうとしてんの?

金払えば使えるようになったから。身も蓋もないけど。

いやXXやYYが違う!

本質的には、今までとあんまり変わってません。

あえて言えば、簡単にお試しできるようになった、と言うところが本質的な部分です。

以前からChatGPT4とかAmazon BedRockとか使ってた人ならわかると思うんだけど、別に今までもできたんだよね。

ただ、全自動で回せるパッケージングとしての品質がそれなりに高いので、お試しのハードルがぐっと下がった。

これ、API簡単スクリプトで以前から自動化できてたんだよね。(やってたやつは俺以外にも割といると思う)

決まったフォーマットで出力してもらって、そっから切り出して実行して、出たエラーをもう一回入れて修正して、動くようになったら止める。

出来上がったコードとそれまでの途中経過を全部まとめて入れて、最初から出来上がったコードにするためのプロンプト考えてってところまでをワンショット

あとは、出てきたコードプロンプトを眺めて良さそうなら採用する。この繰り返しでめっちゃ楽出来てた。(壊れたらDocker建て直せば良いし)

これを、そう言うスクリプト書いて整備して良い感じにGit管理してたお手製のツール大手が良い感じに作り上げてきちゃった感じ。あーあ。

まり、何ができるようになるの?

洗練された自動化と、スピードアップ

特に速度は分かりやす効率に影響するので、自営業とかプレイングマネージャとかは、今導入しても元がとれるだろうね。

じゃあ、なんでCline(とそれに類似するツール群)に全部賭けない方が良いかというと、まだ過渡期の技術から

ツールオペレーションに全振りして、大手が改良版出しちゃってオペレーターとしての職が無くなった経験、あるでしょ?

今Clineで不満に感じてることとか、プロンプト調整しなきゃなあみたいなところ、全部自動化できるでしょ。

一年保たないと思うよ。

AIエージェント導入時に絶対に阻止すること

そりゃあ人間雇ったら高えのはわかるけど、単一障害点は怖いぜ。

みんな、生成AIAPIが逆鞘だろうことはわかってるよね?急に明日から10倍に値上げされて耐えられますか?

今、OpenAPIのたけえのだってたかだか3万ぽっちだけど、あれに毎月30万円だせって言われて耐えられる?90万なら?SLAも怪しいのに?

そう言う時、「じゃあやめ人間雇えば良いじゃん」って言った時に、話聞いてくれる相手がいて欲しいよね?不義理しないでおこう。

同じように、新人ちゃんと育てるべきなんだけど、多分聞いちゃくれないから、そう言うところはドンヅマったら転職しよう。

経営側にいる人間は、安易AIエージェント+中堅に頼った場合、中堅がその会社急所になるのは抑えておこうね。引き抜かれて崩壊する組織脆弱だよ)

AIエージェントでは(まだ)出来ないこと

IBMが訴えられてるよね。アレ、AIエージェントあったら回避できてた?

俺は無理だと思う。

無茶振りされてる皆さんへ

試験導入しますね、と言ってガンガン使ってコストをあげましょう。予算が尽きるまで使えば概ねそこまでです。

また、AIエージェントを導入しつつ、動作確認したり、自社のどこに活用できるのか見ておくのはとても役に立ちます

具体的に言うと、ググったコマンドを片っ端から試すような新人が入ってくると思ってください。

その新人は、概ね1000行以下のコードなら即レスしてきます。変えるなと言った箇所もたまに結果を出すために変えたりします。

そして、その新人相手の知見はおそらくそんなに長くは持ちません。何故なら我々が不満に思う箇所は改善されてお出しされるからです。

そのため、Cline(やそれに類似するツール)の知見を貯めよう!なるほどこんなプロンプトを与えてやれば良いのか!みたいな試行錯誤はやめた方が無難です。

今後も解決されないであろう部分を切り分けるのに留めましょう。

超具体的に言うと、AWSコマンドを片っ端から試されたりすると、すげえ課金されるやつ、あるよね。でもそれちゃんポリシー制限できるよね。

人間相手常識で縛ってたことを、ポリシーで縛るようにちゃんとしておこうね、ミスったコードで高速にIaCお試しされるとすげえことになるよ。

(なりました)

まとめに変えて

仕様検討にはo1 pro modeが(推論が強いから)、コーディングはClaude 3.5 Sonnetが(コーディングに万能に強いから)、コードデバッグはo3-mini-highが(コードの解析に強いから)という時代から、Claude 3.7 SonnetのAPIセットしたClineで全部お任せして試行錯誤した方が結果的効率が良くなってます

今はPythonTypeScriptのように、基本的に大量にコード存在して生成AIを開発する側が良く使うコードの性能が高くなっています

(ただ、相当にマイナー言語であっても、別に学習に支障があるとは思えません。おそらく単に優先順位問題です)

AIコーディングについてのレポートをあげて、稟議を通すための理由もつけておくように」みたいな指示は、ChatGPTのDeepResarchに振って、上がってきたレポートをそれっぽく書いておけば良いです。

なお、ChatGPT4.5があんまり性能が出てないと聞いてがっかりしている人に朗報ですが、4oから4.5に変わったことで、相当に性能は上がっています

具体的に言うと、「クソみたいな上司からムカつく指示が来てどうにも収まらないんだけど、以下の内容を相手が納得するように書き直してくれない?」みたいなのに、すごい親身になってそれっぽい感じに書き直してくれます人間力は多分俺より上です。

Permalink |記事への反応(1) | 13:14

このエントリーをはてなブックマークに追加ツイートシェア

2025-03-03

TypeScriptベースフルスタックフレームワークが増えてきたね。

フロントエンドバックエンドTypeScript実装できてとっても嬉しいね

しかし、バックエンドフロントエンドと密結合な事実はとても怖いんだ。

フロントエンドの成長速度はとても早い。

React がデファクトになりつつあるが、 Reactベースフレームワーク群雄割拠だ。

しろ、 React を排する新しい技術も出てくるくらいの戦国時代なんだ。

反面、バックエンド成熟してきた。

フレームワークを選定時、各言語でも多くて3つ程度に絞られるのではないか

成熟しつつあるバックエンドと成長中のフロントエンドを一緒のライブラリ運用すること。とても怖い。

特にTypeScriptフロントエンドを祖に持つので、フロントエンド事情フレームワークの開発ロードマップ意思決定に強い影響を与える。

フロントエンド破壊的変更が加わった時、バックエンド側にも影響を与える。

フレームワークにおけるフロントエンド実装について、あのRuby on Rails ですらバージョン上がるごとにフロントエンド破壊的な変更が入る。

反面、バックエンド側には破壊的な変更が非常に少ない。

まぁView の取り扱いの黒魔術は魔境だから極力触りたくないが、バックエンドの側面のみを切り出したAPIモードであれば爆速の開発体験テスト機構により信頼性が高い。

たぶん、フロントエンドの成長は止まらないのではないか

それなら、フロントエンドバックエンドを別々に管理にしたい。

いや俺は、TypeScriptアプリケーションが嫌いなのかもしれない。

フォルダ設計も、テスト機能の整備も、ORMの設定も、最初から設定する必要があるから。面倒なんだ。

どうせTypeScriptアプリケーション設計設計者の自己満足になる。

そして、設計者は運用責任を全うせずいなくなる。ドキュメントすら残さない。

それなら、規約で縛るフレームワークの方が、後任がキャッチアップしやすい。

アプリケーション設計気持ち良いのは設計者だけだ。

設計者が知識を普及もしくはドキュメントを整備して知識移転に心を砕いてくれれば、設計方針を汲み取りやすいのだが、そうしてる設計はいるのだろうか。

そして、俺が設計者になる時が来てしまった。

今の時代は生成AI もいる。

後任のために、せめてものドキュメンテーションを心がける。

Permalink |記事への反応(1) | 11:22

このエントリーをはてなブックマークに追加ツイートシェア

2025-03-01

anond:20250301140342

Typescriptってまじいらんと思う

型が異なるデータが入ってエラーになるのは開発段階で見つけられて解消可能から

 

定義しないタイプ言語運用管理してるけど異なるデータ型の侵入によるエラーなんか運用フェーズで見たことない

 

あれほんまただの自己満足やろ

Permalink |記事への反応(0) | 14:07

このエントリーをはてなブックマークに追加ツイートシェア

次の25件>
ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2025 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2025 Movatter.jp