はてなキーワード: Javascriptとは
新卒で入った会社で、外部のシステムを導入する仕事をしている。何かをゼロから開発するんじゃなくて、すでにあるパッケージとかSaaSを、導入先の業務に合わせて設定して、ローコードのツールでちょっとカスタマイズして、他のシステムと繋いで、動く状態にして納める。そういう立場だ。製品名はぼかすけど、まあドラッグ&ドロップで画面を組んで、ポチポチ設定して、ワークフローを繋いで、みたいなやつだと思ってくれればいい。
そういう導入案件をもう4年くらい回してきた。社内では案件を任せられるやつとして普通に重宝されてるし、現場の要件を聞いて、それを製品の設定に落として、期日までに動かして納める、みたいなのは正直得意になった。ただ、得意にはなったけど、やってることそのものは、慣れさえすれば正直誰でもできるようなことばかりだ。製品のマニュアルに書いてある手順を、お客さんの事情に合わせて並べ替えてるだけというか。特別な発想がいるわけでも、難しいものを自力で作り出してるわけでもない。やりがいがないとは言わないけど、自分じゃなきゃできない仕事かと言われると、まったくそんなことはない。
このスキル、今の製品と今の会社から離れた瞬間に、ほとんど価値がなくなるんじゃないか、と気づいてしまったからだ。
試しに転職サイトを眺めてみる。特定製品の導入経験者歓迎みたいな求人がないわけじゃない。でもよく見ると給料は今と変わらないか下がるし、やることは結局、別のベンダーの別の製品のお守りでしかない。製品が世代交代したり、導入先が他社製品に乗り換えたりした瞬間、4年かけて溜めたノウハウは大半が吹き飛ぶ。自分のキャリアが特定の製品にロックインされてるって、よく考えたら相当ヤバい状態だ。
一方で開発寄りの求人を開くと、当たり前みたいにGitだのフレームワークの経験だのが並んでる。学生の頃に授業や独学でプログラミングを一通り勉強はしたから、知識として何も知らないわけじゃない。そのときにフレームワークを使って小さいものを作ってみたこともあるし、SQLも課題でひととおり書いた。考え方が全然分からないという感じではない。ただ、それを全部もう何年も前の学生のうちにやったきりで、仕事として実務で使った経験がほぼないままここまで来てしまった。しかも当時かじったものは今となっては古くて、求人で当たり前みたいに求められてるフレームワークは、ちゃんと触ったことが一度もない。今やってるのも、製品のプラグインをC#で書いたり、UIのちょっとした挙動をJavaScriptでいじったりはするけど、どっちも製品が用意したお作法の中で、決められた関数の中身を少し埋める程度だ。結局、求人の世界では実務経験のない技術は持っていないのと同じで、4年も働いてるのに事実上は未経験扱いになる。製品が隠蔽してくれてた部分はぜんぶブラックボックスのまま、4年が過ぎた。
実際に転職活動もやってみた。paiza自体は登録だけはしてあったから、腕試しのつもりでスキルチェックをやってみたらAランクは取れた。学生の頃の貯金が残ってたのか、アルゴリズムを解くだけならまあそこそこできる。ランクが上がったからか、放っておいてもスカウトがそれなりに来るようになった。paizaのスカウトは届いた時点で面接が確約されてるやつなのでとりあえず面接の席にはつける。
問題はそこからだ。面接で実務で何を作ってきたかを掘られると、もう何も出てこない。製品の設定をしてきました、プラグインを少し書きました、と正直に話すと、向こうの顔がスッと変わるのが分かる。Gitは一応使ってるけど、プラグインのソースを管理してるくらいで、複数人でブランチを切ってレビューして、みたいなチーム開発の運用としては使えてない。設計書も書くには書くけど、中身はプラットフォームのどこに何を設定するかを並べてるだけで、世間でいう設計スキルとして通用するのかどうか自分でもまるで自信がない。フレームワークでの開発経験は? と聞かれればゼロだし、設計はどこまで踏み込んだ? と掘られると製品の設定の範囲から一歩も出られない。paizaのランクは通過の足切りにはなっても、その先で評価されるのは結局、実務で何をどう作ってきたかなんだなと思い知った。スカウトは来るのに、最後はスキル不足、経験不足で落ちる。これを何社か繰り返して、ああ自分はそういうフェーズにすらまだ立ててないんだと分かってきた。
こう書くと、これからはバイブコーディングが当たり前になるんだから、人間が細かいコードの知識なんて持ってなくてよくなるでしょ、って言われそう。
でも現場の流れを見てると、むしろ逆なんじゃないかと思う。AIにコードを書かせるのが前提になればなるほど、出てきたものを読んで、これは正しいのか変なのか判断して、おかしければ直せる人間の価値が上がってる。コードを書く作業そのものはAIに投げられても、コードがわかってるという前提だけは投げられない。
そうなったとき、たぶん一番いらなくなるのは自分みたいなタイプだ。働いた年数だけはそこそこあるのに、技術の実務経験で見れば未経験と変わらない人間。バイブコーディングで誰でもそれっぽいものを出せる時代に、わざわざ年齢だけ重ねた未経験者を高い金で採る理由がない。それなら本当に何も知らないぶん変な癖もない若いやつにAIツールを持たせたほうが早い、って普通になる。積み上げたつもりの経験が、武器じゃなくて、ただ歳を食っただけのハンデになる。
ローコード、というか製品導入みたいな仕事そのものを否定したいわけじゃない。会社にとっては必要だし、業務をちゃんと回すという意味では価値がある。問題は、これをエンジニアとしてのキャリアの主軸に据えてしまうと、いつまで経ってもちゃんとコードがわかる人間には到達しないってことだ。経験年数だけは順調に増えていくのに、自分にできることの天井が、扱ってる製品の天井とぴったり一致してしまう。
しかもタチが悪いのは、社内ではちゃんと評価されるから危機感を持ちにくいことだ。毎日それなりに忙しいし、感謝もされるし、案件は普通に回ってる。でもそのちゃんと回ってるという感覚が、外の市場価値とは別の軸でどんどんズレていく。ゆでガエルってこういうことかと思う。茹だってる最中は気持ちいいから気づけない。
この4年、1on1のたびに上司から、将来どういうエンジニアになりたいか、10年後どうなっていたいか、みたいなことを何度も聞かれてきた。そのたびにそれっぽいことを答えた気もするけど、正直、毎回まったく分からなかった。今の延長線上に未来の自分を置いてみても、製品のバージョンが上がって、扱う案件が増えて、後輩に設定のやり方を教えてる姿しか出てこない。それはなりたい姿というより、ただ同じことを続けた結果でしかなくて、そこに自分の意思でこうなりたいと思える像がひとつもない。何度聞かれても答えが出ないことで、自分はキャリアを選んできたんじゃなくて、ただ流れてきただけだったんだと思い知らされる。
同じような立場の人、どうしてる?
製品導入で飯を食いつつ、裏でちゃんとコードの勉強をしてる人いる? それとも割り切って導入専門でずっとやっていけるもんなんだろうか。
そもそも「Node」とは何ぞや?
Node は、JavaScriptの実行環境である
終了
本来、JavaScriptはブラウザのクライアントでしか動かない言語だったが
これを、ブラウザに頼らず通常の言語と同じように、OSの上で動かすためのツールだ
Node.jsというモジュール群の中には、HTTP通信をサポートするライブラリなどがあり
それを使うと、JavaScriptでHTTP通信を待ち受けるプログラムを記述できる
ここに関しては、C言語などと変わらない
Node.jsをWEBサーバーとして動かせるのは、そのように書いたJavaScriptのユーザープログラムがあるからであり
例えば、Apacheを考えてみると違いは明確だ
ApacheはWEBサーバーとして開発されたアプリケーションである
アクセスされたURIを解析し、HTMLで記述されたファイルを読み込んでクライアントへ転送する
URIとフォルダ構成の関係も、Apache内で規定されたものがあり
Node.jsではどうだろうか?
前述したように、Node.jsではこのWEBサーバーとしての機能を
apache であれば、下記のようなフォルダ構成が存在した上で
piyo.htmlがhogeフォルダに存在している必要がある
/root
/test
/hoge
URI に応じたフォルダ・ファイルが無ければ、「404 Not Found」となる
ユーザーが記載したJavaScriptが処理するため
なんで非表示にしてたのか忘れた。非表示にしている間に有用なブコメをしていたらもったいないことをした
次非表示にするときは理由も控えておく。理由さえ見ればこんなクソ解除する価値もないわってなるし
| ユーザー名 | 備考・紹介文(抜粋) |
| atoh | あとで読む / 増田 / 映画 / 食 など |
| securecat | あとで読む / a11y / AI / ダークパターン |
| TakamoriTarou | web / 社会 / 論理 / Animation / 経済 / software |
| charun | 詐欺 / 政治 / コロナ / リスクなど |
| RRD | 美しい日本語 / 映画化希望 / 言語表現 |
| buu | はてな / 馬鹿発見 / メモ / 引用など |
| mori-yoshiro | ヘイトスピーチ関連 |
| ustam | Webサービス / 禁煙 / ネタ / JavaScript / Google |
| napsucks | 原罪論理 / 功利主義への反例など |
| yarukimedesu | — |
| mouseion | ネタ / バカ / 政治 / ミニチュアティなど |
| Hayano | — |
javascriptをジャバスクって呼んでます
ご主人様がご覧になっている記事の主張どおり、ITmediaの「続きを読む」機能は、技術的には以下のような仕組みで実装されているケースがあります。
■ 仕組みの概要
多くのWebメディアでは、「続きを読む」をクリックした際に次のいずれかの方法が用いられます。
1. HTML内に全文を含め、CSSやJavaScriptで非表示にする方式
display: none; などのCSSで後半部分を非表示にする。
「続きを読む」ボタンを押すと、JavaScriptによって表示状態に切り替わる。
特徴
ブラウザの「検証(DevTools)」で簡単に全文を確認できる。
Webクリッパー(例:Obsidian Web Clipper)でも全文が取得されることがある。
2. クリック時に追加コンテンツを取得する方式(API通信)
「続きを読む」クリック時に、サーバーへリクエストを送り、残りの本文を取得する。
特徴
DevToolsでHTMLを見ただけでは全文は確認できない。
■ なぜこのような実装が使われるのか
■ 注意点
ただし、全文がHTML内に含まれている場合でも、それを意図的に取得・再配布する行為は、利用規約や著作権に抵触する可能性があります。技術的に閲覧可能であっても、法的・倫理的な観点には配慮が必要です。
もう20年触ってないけどPHPと当時のJavascriptよりはマシだがPythonと同レベルにファックだった記憶がある
4,5年前に自分が書いたtemplate全開の黒魔術コードをぱっと見把握とかできない
JavaScript, Swift, Kotlin, Go, C#tか行ったり来たりしてる中でいきなり数年前に書いたコードの相談がくるとかわりとよくある
この辺りWebとかのスクリプト系言語とC/C++とかのネイティブ寄りのやってるフィールドの違いでやすいから一律こうだって言ってるやつマジ無能感ある
コードコメントの件Xに書いた記憶があるのに見つからないと思ったら画像だった
— Takuto Wada (@t_wada) March 18, 2026
「コードコメントを書くべきか、コメント不要なコードを書くべきか」という二択ではなく「コメント不要なコードを書いたうえで(大前提)、それでもコメントを書くべき(書くと効果的な)状況は意外と多い」という話です pic.twitter.com/QWubH8kQrb
いや、ブラウザでHTMLとJavaScript以外の何かを動かそうという試みは、FlashとSilverlight以後両手の指で数え切れないほど生まれたけど、全てポシャったよ
本当なら今書いている記事 (anond:20260215194458) にのっけようかと思ったが、思ったより長くなってしまったので、別記事に独立させることにした。
IPv6で接続しているかを手軽に確認できる。また、インターネット接続ができない原因の切り分けにもおすすめ。
ブラウザーによってはIPv4接続でも暗号化機能をオンにするとIPv6で接続できる場合がある。
"Use IPv6 HTTP and you will watch the dancing kame" と表示されていたらIPv4、"Dancing kame by atelier momonga" と表示されていたらIPv6。
BSD系OSにIPv6を実装することを目的としたプロジェクトで、2006年3月以降プロジェクト完了により更新停止しているため、今となっては軽いウェブサイトのひとつとなってしまった。ただし、2010年代 (すくなくともHTML5本格始動よりは後) にDancing kameがアニメ GIFからPNGをjQueryで毎フレーム書き換える方式に変更するアップデートが行われており (そのためJavaScriptをオフにするとアニメーションのなめらかさが低下するのがわかる) 、阿部寛のホームページよりは若干重い。アニメ PNGでよかったのでは...。仮に今リニューアルするとしたら、WebPやAVIFとかかな。
こちらは見たまんまである。"IPv4 で通信しています" "IPv4 IPv6 両方で通信しています" "IPv6 で通信しています" の3段階。
"IPv6 で通信しています" はIPv4のパケットもIPv6に通している、もしくはそもそもIPv4に接続していない、のどちらかの状態。
"IPv4 IPv6 両方で通信しています" だとIPv4とIPv6を個別のパケットで通していることを示す (IPv4 PPP + IPv6など) 。
こちらはより詳細に確認できる。日本のISPが提供しているとのこともあり、日本のインターネット環境に特化、フレッツIPv6閉域網 (flets-east.jp / flets-west.jp) への接続も診断してくれる。
Googleもテスト機能を提供している。しかし、インターネット速度テストといい、HTML5動画テスト (今はない) といい、Googleは色々なテスト機能を提供しているものだ...。
"問題は検出されませんでした。" と表示されたらIPv4、 "既に IPv6 を使用しているようです。" と表示されたらIPv6。接続に問題があると "お使いの接続方法は IPv6 への対応が完了していないようです。" になることもある。この場合は下の "あなたの IPv6 をテストしましょう。" をつかってより詳細なメッセージを確認するのがよい。
※ この2つはどちらもおなじ (ミラーサイト) 。
2025年まで個人勢だったにもかかわらず、IPv6接続確認ではもっとも有名。個人での運営が厳しいとのことでサービスを終了すると発表したあと、いろんなところからスポンサーのオファーがあったとのこと。重要度の高いサイトということもあり、公共性の観点から地域インターネットレジストリに移管することにしたとのことで、現在移行作業中。
現在接続しているIPアドレスとISPの情報に加え、10点満点で対応度の得点が表示される。0点なら確実に未対応、10点なら確実に対応している。中途半端な点数なら、メッセージを読んでどこに問題があるのかを確認しよう。
ややこしいが上とは別物。マニアックな情報が表示されるので、素人向きの確認方法ではない。
IPv6の通信速度を測定する機能もあるが、そもそも重いサイトなので低めに表示されやすい。
IPv6通信速度の確認なら、これではなく、下のフレッツIPv6閉域網内に設置されている測定サイトのほうが正確な結果を表示できる (フレッツ回線からのみ接続可能) 。閉域網内の速度とインターネットの速度の両方を表示できるため (フレッツ光クロスはインターネット速度のみ) 、通信速度が遅い場合の原因切り分けもしやすい。
http://www.speed-visualizer.jp/
ドコモなら、"ドコモスピードテスト" というアプリを使用すると結果が自動的にドコモに送信されるので、遅い人が多数いる場所での品質改善に役にたつ。
IPv6接続の確認をメインとしているものをおしえてほしい。日本のウェブサイトにありがちな、ロゴマークに小さく IPv6 チップが表示されているようなものは対象外。
iNonius Speed Test (IPv4/IPv6)
こんなものがあるのね。これならフレッツ以外の回線でもIPv6とIPv4のそれぞれで通信速度を確認できる。メモしておこう...。
デフォルトの検索エンジンをBingに設定しているせいでつい最近気がついたけど、最近、JavaScriptをオフにしているとGoogleでは検索できなくなった。
そのとき、現在使用しているブラウザーでの設定方法が自動的に表示されるようになっている。
これはアクセスした端末の情報を確認して呼び出すデータを変更するだけなので、そんなに難しいことではない (ホームページサービスとかを使っているなら別だが) 。
しかし、他のブラウザーの操作方法はデフォルトで隠されており、クリックすることで表示されるようになっている。
JavaScriptなしでこんなことできるのかと思った。不思議。
ちなみにどうやったらできるんだと思いソースを見たら、見出しのところに隠しチェックボックスが用意してあって、スタイルシートでチェックを入れている時だけ表示、外している時は非表示、という制御になっていた。
そんなことができたのか...。勉強になった。
こんなこと
できま
せんした
いや大嘘だわ
久しぶりにPowershell+WFPに帰ってきたけど、AIめっちゃ素直に的確にやってくれるわ
悪いのはHTMLでありJavascriptだった