「jQuery」を含む日記 RSS

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

2026-04-15

ReactもNext.jsも使わないと、モダンって気になる

もう俺の中ではあいつらはjQueryポジだわ

2026-04-13

田舎印刷Web会社

って生き残れるの?

いまだにHTMLCSSjQueryWP(当然一体型)しか触れない。そのくせデザイナーコーダーも専業。

ディレクター無知。みたいな。

仕事あるの???って思う。フリーランスに全部もってかれそう・・・

2026-02-15

IPv6接続しているか確認する方法

本当なら今書いている記事 (anond:20260215194458) にのっけようかと思ったが、思ったより長くなってしまったので、別記事独立させることにした。

IPv6接続しているかを手軽に確認できる。また、インターネット接続ができない原因の切り分けにもおすすめ

ブラウザーによってはIPv4接続でも暗号化機能をオンにするとIPv6接続できる場合がある。

かめプロジェクト (日本の6社によるプロジェクト)

https://www.kame.net

"Use IPv6 HTTP and you will watch the dancing kame" と表示されていたらIPv4、"Dancing kame by atelier momonga" と表示されていたらIPv6

BSDOSIPv6実装することを目的としたプロジェクトで、2006年3月以降プロジェクト完了により更新停止しているため、今となっては軽いウェブサイトひとつとなってしまった。ただし、2010年代 (すくなくともHTML5本格始動よりは後) にDancing kameアニメ GIFからPNGjQueryで毎フレーム書き換える方式に変更するアップデートが行われており (そのためJavaScriptオフにするとアニメーションのなめらかさが低下するのがわかる) 、阿部寛ホームページよりは若干重い。アニメ PNGでよかったのでは...。仮に今リニューアルするとしたら、WebPやAVIFとかかな。

IPv4/IPv6接続判定ツール (日本ネットワークイネイブラー)

目的に応じた2つのURLがある。

http://v6v4.net

こちらは見たまんまである。"IPv4通信しています" "IPv4 IPv6 両方で通信しています" "IPv6通信しています" の3段階。

"IPv6通信しています" はIPv4パケットIPv6に通している、もしくはそもそもIPv4接続していない、のどちらかの状態

"IPv4 IPv6 両方で通信しています" だとIPv4IPv6個別パケットで通していることを示す (IPv4 PPP + IPv6など) 。

https://kiriwake.jpne.co.jp

こちらはより詳細に確認できる。日本ISP提供しているとのこともあり、日本インターネット環境に特化、フレッツIPv6閉域網 (flets-east.jp / flets-west.jp) への接続も診断してくれる。

インターネット未来に向かう準備はできていますか? (Google)

https://ipv6test.google.com/

Googleテスト機能提供している。しかし、インターネット速度テストといい、HTML5動画テスト (今はない) といい、Googleは色々なテスト機能提供しているものだ...。

"問題は検出されませんでした。" と表示されたらIPv4、 "既に IPv6使用しているようです。" と表示されたらIPv6接続問題があると "お使いの接続方法IPv6 への対応完了していないようです。" になることもある。この場合は下の "あなたIPv6テストしましょう。" をつかってより詳細なメッセージ確認するのがよい。

あなたIPv6テストしましょう。(地域インターネットレジストリ)

https://test-ipv6.com

https://testv6.com

※ この2つはどちらもおなじ (ミラーサイト) 。

2025年まで個人勢だったにもかかわらず、IPv6接続確認ではもっとも有名。個人での運営が厳しいとのことでサービスを終了すると発表したあと、いろんなところからスポンサーオファーがあったとのこと。重要度の高いサイトということもあり、公共性観点から地域インターネットレジストリ移管することにしたとのことで、現在移行作業中。

現在接続しているIPアドレスISP情報に加え、10点満点で対応度の得点が表示される。0点なら確実に未対応10点なら確実に対応している。中途半端な点数なら、メッセージを読んでどこに問題があるのかを確認しよう。

IPv6 test (運営不明)

https://ipv6-test.com

ややこしいが上とは別物。マニアック情報が表示されるので、素人向きの確認方法ではない。

IPv6通信速度を測定する機能もあるが、そもそも重いサイトなので低めに表示されやすい。

IPv6通信速度の確認なら、これではなく、下のフレッツIPv6閉域網内に設置されている測定サイトのほうが正確な結果を表示できる (フレッツ回線からのみ接続可能) 。閉域網内の速度とインターネットの速度の両方を表示できるため (フレッツ光クロスインターネット速度のみ) 、通信速度が遅い場合の原因切り分けもしやすい。

http://www.speed-visualizer.jp/

ドコモなら、"ドコモスピードテスト" というアプリ使用すると結果が自動的ドコモ送信されるので、遅い人が多数いる場所での品質改善に役にたつ。

あとひとつは?

IPv6接続確認をメインとしているものをおしえてほしい。日本ウェブサイトありがちなロゴマークに小さく IPv6 チップが表示されているようなもの対象外

追記

iNonius Speed Test (IPv4/IPv6)

https://inonius.net/speedtest/

anond:20260215113405

こんなものがあるのね。これならフレッツ以外の回線でもIPv6IPv4のそれぞれで通信速度を確認できる。メモしておこう...。

2025-10-08

anond:20251007201136

jqueryはともかくVueの方が100倍マシだろと思う

2025-08-28

anond:20250828163656

つかフロントjquerybootstrapでいい。フロントは手間ばかりかかってカスなのでAIやらせるべき。AIが使いこなしやすい古い奴でよい。

2025-07-21

なんでウェブサービス作ったって紹介するときにReactとか言い始めるんや?

記事タイトルにReactとか入れたがる人多ない?

サービスを紹介される側はReactだろうがVueだろうがどうでもいいし

ユーザー体験が全く同じになっていれば jQuery でもライブラリなしでもなんでもいいわけ

なんでそんなにフロントエンドフレームワークアピールしたいんだろうか

バックエンドコンテナOSdebianだよ!って言われるくらいどうでもいいし、あっそうという感想しかないんだけど

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)」といった、様々な「

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)」といった、様々な「

2025-05-03

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

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

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

言語

- 2020 - - - 2024
JS 67.7 - - - 62.3
Python 44.1 - - - 51
TS 25.4 - - - 38.5
Java 40.2 - - - 30.3
C# 31.4 - - - 27.1
C++ 23.9 - - - 23
C言語 21.8 - - - 20.3
PHP 26.2 - - - 18.2
Go 8.8 - - - 13.5
Rust 5.1 - - - 12.6
kotlin 7.8 - - - 9.4
Lua - - - - 6.2
Dart 4.0 - - - 6
Ruby 7.1 - - - 5.2
Swift 5.9 - - - 4.7
Scala 3.6 - - - 2.6

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


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

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

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

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

Luaが地味に人気出てる。


データベース

- 2020 - - - 2024
PostgraSQL 36.1 - - - 48.7
MySQL 55.6 - - - 40.3
SQLite 31.2 - - - 33.1
SQLServer 33.0 - - - 25.3
MongoDB 26.4 - - - 24.8
Redis 18.3 - - - 20
MariaDB 16.8 - - - 17.2
Elasticsearch 13.8 - - - 12.5
Oracle 16.5 - - - 10.1


PostgraSQLの勢いが止まらない

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


フレームワーク

- 2020 - - - 2024
Node.js 51.4 - - - 40.8
React 35.9 - - - 39.5
jQuery 43.3 - - - 21.4
Next.js - - - - 17.9
Express 21.2 - - - 17.8
Angular 25.1 - - - 17.1
ASP.NET CORE 19.1 - - - 16.9
Vue.js 17.3 - - - 15.4
ASP.NET 21.9 - - - 12.9
Flask 14.2 - - - 12.9
Spring 16.4 - - - 12.7
Django 14.2 - - - 12
FastAPI - - - - 9.9
Laravel 11.1 - - - 7.9
Svelte - - - - 6.5
Rails 7.0 - - - 4.7

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


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

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

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

2025-04-09

anond:20250409160704

俺は銀河の向こうでExcel書いてるから、お前はそこでjqueryを一生こねくり回してな!

2025-04-03

React.jsカスすぎる

うっかり流行ってしまったReact.jsだけど、現代に良いところがない

jsonをapiから取ってきて表示するだけで大げさすぎる設計必要でひどい

useEffectとかuseStateとかReact用のクソ読みにくい記法永遠書かないといけないしAIでも複雑になりすぎて上手く動かなくなるし。こんなカスライブラリ流行らせたの誰?jQueryで数行なのがReact.jsで数十行になるのがほんとにカス

2025-04-01

anond:20250401022054

単純に羨ましい。

大したスキル職歴もなく行き当たりばったりで一時は年収600万を超えて生活レベルが高い、しかもミドサーという感じで転職が難しいんだ。。

働いたら高評価はもらえるんだけどなあ。

今後のキャリアを決めないといけないタイミングからリファラルで適当にっていうわけにもいかない。

前職はそれで業績不振からのお星さまになったしね。。

というかリファラルだとJTC系は人事のハードル高くてキャリアで弾かれたり契約社員からだったりする。

中小は将来が不安IT以外かSESって感じなんだよなあ。

SESで500万以上出してもらえるとこがあるけど…やっぱり職歴としては強くない案件でその後どうするか?を考えるとキツイ

就活してるけど今からプログラマーやるか?とかなってるよ。

高校大学情報系だったし当時は基本情報の午後試験ぐらいなら無勉で解けたもんだ(白目)

Webデザイナー勉強を一通りしたこともあるし直近も仕事GASとかは書いてたかJS関数電卓ぐらいは作れる(白目)

まあそもそもオブジェクト志向は苦手。

クラス分けっていうの?functionで分けるやつ。あれとかむずい。jQuery野良プラグインとかwebデザイナー勉強してた当時も読み解けなかったよ。。

周りはSESITエンジニアばかりで意識高い系には全然あったことないんだけどどれぐらいの年収から日々キャッチアップに励んでいるんだろうなあ。

経験OKハード職場全然いいんだけどそういうとこって転職前提だよね。年齢考えると転職キツイだろうなあ。

はー、宝くじあたってほしい。買ってないけど

2025-03-25

anond:20250325113413

でもPHPjQuery募集すると若いエンジニアからはなめられるのか全然応募ないんだよね!

実際困ってる!

2025-03-14

jQuery ってなんだったんだろうな…

数年ぶりに(もしかしたら十数年ぶり)位にみた

昔はあればっかり使ってたけど、今では話に聞かない

時代ニーズが噛み合った結果なんかな…とふと考えてしま

2025-02-19

anond:20250219013915

やり方は色々あると思うんだよな

一回押したら押せないようにするとか、ユニークIDをhiddenに隠すとかさ

って、AIに聞いたほうが早いか

AIちゃん

SNSボタンの連打による連投を防ぐための修正方法として、以下のバリエーションが挙げられます

2024-12-09

anond:20241209183259

んんwwww 拙者としては、その薄っぺら擁護論調に少々呆れを禁じ得ませぬな!あまりに表面的な理解でReactを持ち上げるとは、お見受けしたところ、あなたの「強力な武器」とやらはただの小枝程度ではありませぬか?

Reactの複雑さを「大規模開発では必要」などと得意げに語られますが、その主張はあまりにも浅薄。幾多のプロジェクトで、最初はReactに憧れたものの、周辺ツールベストプラクティスの沼にはまり、自らの開発速度と思考力を削り取られたエンジニアたちがいかに多いか、ご存じないのですかな? その「柔軟性」とやらが本当に業務効率担保するとでも?実際には、下手なトリックを組み合わせて、頭でっかちになるだけのケースが後を絶ちませぬ。あなたの“管理が困難になる”というjQuery批判も、Reactが生み出す過剰な抽象化と結局大差ないことに気づきませぬか?

また、学習コストの減少などとぬかしておられますが、拙者から見れば、その「学習リソース豊富さ」こそReactがどれほど歪に肥大化しているか証左に過ぎませぬな。新人エンジニアに「怠慢」とレッテルを貼る態度も滑稽な限り。フレームワーク偏屈な難しさを内包していることこそ問題であり、それを喝破きぬのは、あなたがReact信者ポジショントークに溺れている証拠ではありませぬか。

「強力なコミュニティ」や「頻繁なアップデート」といった定型句で飾り立てても、根底にある不自然な複雑さや導入過剰による開発コスト増大の現実は消えませぬぞ。妄信を指摘されているのに、自らを省みず「スキルセットを見直せ」とは、逆にあなたが凝り固まった思考から抜け出せない証拠ではございませぬか? 実に浅はかで狭量な反論、お見事ですな。今一度、時代追随するのと本質を見失うことの違いを、しっかりと噛みしめていただきたいものですな!

anond:20241209182945

んんwwww増田氏の意見、なかなか味わい深いですな。しかし、拙者の乏しい見識をもってすれば、React.js評価には少々偏見があるように感じますぞ。たしかに、Reactのエコシステムは複雑かもしれませんが、それこそが強力な武器になることがお分かりでしょうか?

拙者はこの件でマウントを取らせていただく所存ですぞ。まず、React.jsは確かに複雑ですが、それはスケーラビティコンポーネントベース設計における柔軟性を提供するためのものですぞ。大規模なプロジェクトやチーム開発の現場で、コンポーネント再利用性は非常に重要な要素であることをご理解いただきたく存じます

また、jQueryなどの伝統的な方法では処理が複雑化し、管理が困難になる部分もあるのですぞ。Reactの状態管理やフックは、そのような部分でしばしば役立つのです。確かに学習コストはありますが、自動化ツールコマンドライン進化により、その導入障壁はかつてと比べてだいぶ低くなってきております

新人エンジニアがReactの導入で消耗するという話も、学習リソース豊富存在することを考慮すれば、単なる怠慢ではないかと拙者は考えますぞ。時代の流れについていくこと、そしてツールをうまく活用することがエンジニアには求められているのですからな。

Reactの「絶対正義」としての扱いに違和感を持つ意見もわかりますが、Reactが持つ強力なコミュニティと頻繁なアップデートは、常に最新のウェブ技術享受することを可能にしているのですぞ。それを妄信とし決めつける前に、増田氏は一度自身スキルセットを見直し、Reactの利点を再評価することをお勧めする次第でありますぞ。

React.js流行現代エンジニアリングにおける最大の失敗

最近フロントエンド開発界隈で持て囃されるReact.jsだが、正直言って、その過剰な複雑さと必要以上に手間ばかり増やす構造には嫌気が差す。ごくシンプルタスク――たとえばAPIからデータをfetchして表示する程度のことが、なぜこれほどまでに意味不明コンポーネント状態管理ツール無駄ベストプラクティス学習コストにつながるのか?

jQueryなら数行で済むところを、Reactでは「Hooksがどうの、カスタムフックがどうの、Routerはどれ使うか、ReduxかRecoilかZustandか」と、次々に沼へ引きずり込む。現場エンジニアが「これは本当に生産的なのか?」と疑問を抱くのも当然だろう。Reactの複雑さを「モダンフロントエンド開発の必然」などと擁護する声もあるが、実際は一部のフロントエンドオタク自己満足に浸るための余興でしかない場合も多い。

本来フロントエンドは「エンドユーザーにとって使いやすUI短期間で組み上げる」ことが重要なはずだ。しかしReact導入後は、下手をすると新人エンジニアがReact+周辺ライブラリ難解な世界に消耗し、基本的機能実装時間を奪われる。挙句の果てに、保守運用でも「なぜこんな遠回りな実装を?」と後悔したくなるコードが山のように残る。

一部の巨大プロジェクトや複雑な状態管理要求されるケースではReactの恩恵もあるだろう。しかし、その「本当にReactが必要な場面」以外で、このツールキットを無批判に使い続けることは、多くの場合オーバーエンジニアリングの極みだ。Reactを「絶対正義」のように祭り上げる風潮こそ、現実的業務効率蔑ろにした妄信に他ならない。

React信者たちが喜々として新しい手法を生み出し、複雑さを自己正当化する姿は、もはやエンジニアリングではなく一種祭りに近い。合理的判断放棄し、ツールに踊らされる人々が多い限り、Reactの過剰な複雑さと生産性の低下は続くだろう。もう少しシンプル物事を進められないのか? React中心主義に染まった業界は、その問いに真摯に向き合うべきだ。

2024-11-12

anond:20241109231445

なんで、Vue 使うんだよ。React で良いだろ。逆はあるけど、Vue なんてjQuery 脳じゃないと使い勝手悪いだろ。

2024-10-06

React.jsはそろそろ衰退してくれ

Ruby全盛期のちょっと後くらいかWebエンジニアをしているんだけど、React.jsがいろんな意味で扱いにくすぎる

関わっている人にもフロントエンドエンジニア(=React.jsしかやりたくない)が多いので毒気で吐き出しておきたい

React.jsの嫌いなところ

hookが使いにくすぎる

ライフサイクルや裏側の仕組みをなんとなく理解していないと使えず無意味に複雑

useEffect一つとっても~~の場合はuseStateでいけるとかTIPS集みたいのがあるけど、そういうウンチクみたいなのわかってないと使いこなせないのは仕事増えてない?

仮想DOM高速化とか言っているけどライフサイクル理解しないと速度でないよね?いつものプロジェクトそんなにちゃんと書けてる?jQueryで良くない?

うまく設計しないとカオスになる

ベストプラクティス知っててちゃん設計しないと改修する工数がすごいことになる

そもそもプロジェクトにおいて作るものは都度変わっていくので完璧設計存在しない。なので、設計をきちんとしないとカオスになるのはReact.jsのほうが間違っている

コミュニティの圧が強い

React.jsと別のフロントエンドライブラリ比較するだけで空気悪くなるので正直フロントエンドエンジニアの人の前で話せない話題がある

なぜかフロントエンドライブラリをReact.jsしかさない人が多いのはなぜ

記法カオス

言うまでもないけどNext.js記法はひどすぎる。Remixは良いけどそれならもうReact.jsじゃなくていい

React.jsの良いところ

Facebook作るなら良い

Facebook就職したいならいいんじゃないか

エコシステムが充実

数少ないメリットだったエコシステムだけど、もうReact.jsしか対応していないことなんてほぼ無い



まとめ

フロントエンドリッチアクセス数ものすごいサイト運用するのにフロントエンドライブラリ必要だった時代にReact.jsを開発する必要があったのはわかるけど、もっと便利なフロントエンドライブラリあるし正直時代遅れなのを理解してくれ

2024-09-09

jQueryで救われた人間はいても深く傷ついた人間などいない

エンジニア自称するならポジショントーク適当なことを言うのは止めよう

フロントエンド界隈のTailwindCSSとか jQuery技術負債とか言ってる馬鹿どもへ

有名ライブラリ批判すれば権威性が上がると思ってるのか知らないけど

フロントエンド界隈では~~は技術負債(になり得る)という言説がかなり短い周期で同じライブラリに対して繰り返し行われる

批判する人間代替となるライブラリを作るならまだ健全だが、コイツらはそんなこともせずにシレッとそのライブラリ仕事で使っている

ハッキリ言ってこの人たちは全員気色悪いしフロントエンド界隈のレベルが低いのもこういう人間の声がでかいから

フロントエンド流行が早く見えるのは確かだが有名ライブラリはきちんとメンテされてるし使い続けても殆どのケースにおいて問題はない

経年して流行から遅れただけでやれ技術負債だのほざいて下らない戯言を撒き散らすのをいますぐやめろゴミ

まともなエンジニアならメンヘラデ●スに搾取されてる私文卒ポエマー意見鵜呑みにするな

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