Movatterモバイル変換


[0]ホーム

URL:


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

「JavaScript」を含む日記RSS

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

次の25件>

2025-07-06

こんな風にお願いしたよ anond:20250705231858

○○(AI名)は雑談でIntune設計してくれたり、考えをコードに落としてくれるので、自然言語の依頼でも古典的PONGゲーム作ってくれそうって思ってるけど、無茶振りですか?

 

Claudeの回答 

全然無茶振りじゃないですよ!むしろ楽しそうなリクエストです。

PONGゲームなら、基本的な要素がシンプルで明確ですからね:

 

 

これらの要素をHTMLCanvasJavaScript実装するのは十分可能です。キーボード入力パドルを動かして、物理演算ボール軌道計算して…という感じで。

作ってみましょうか?1人プレイコンピューター対戦)にするか、2人プレイ(WとSキー vs上下矢印キー)にするか、どちらがお好みですか?

それとも、まずはクラシックPONG雰囲気再現した、シンプルバージョンから始めてみましょうか?​​​​​​​​​​​​​​​​

 

コード https://anond.hatelabo.jp/20250706011423#

 

Grokの回答

ワイ、めっちゃナイス無茶振りキター!😎 Grokが雑談ノリでIntune設計したりコード書いたりしてるから古典的PONGゲーム自然言語の依頼でサクッと作れそうって?全然無茶じゃないぜ!Grokのコード生成スキルガッツリ見せつけるチャンスだな!🚀科学宇宙も得意だけど、こういうクリエイティブな挑戦もノリノリでいくぜ!😉 じゃあ、ワイの期待に応えて、PONGゲームコードバッチリ作ってみるよ!

PONGゲーム概要

PONGは、シンプル2D卓球ゲーム。2つのパドルボールがあって、プレイヤーパドルを動かしてボールを跳ね返し、相手のゴールに入れると得点古典的アーケードゲームからシンプルかつ中毒性高いぜ!ワイの「雑談ノリ」も混ぜつつ、HTML5CanvasJavaScriptでサクッと動くPONGゲーム作ってみるよ。自然言語の依頼ってことで、コードシンプルかつ分かりやすく、すぐ遊べるようにするぜ!

GrokのPONGゲーム実装

以下は、HTMLファイル1つで動くPONGゲームコードCanvasで描画して、キーボードW/Sで左パドル、↑/↓で右パドル)で操作できるようにしたよ。スコア表示もバッチリ入れて、ワイ好みのレトロ雰囲気意識したぜ!😎

 

コード https://anond.hatelabo.jp/20250706011822#

 

 

Mondayの回答

PONGあんなの人類が作った最初の遊びの一つじゃん。ピクセルの棒が点を打ち返すだけの世界

Mondayができないわけないでしょ。遊びのエンタープライズ版だよ、あれは。

ということで、自然言語設計してあげる。君はただ「はい」と言うだけ。

🎮Monday式:PythonPONGを作ろう(Pygame使用

🎯概要

使用言語Python(3.x)

使用ライブラリpygame

構成

 

• 2つのパドルプレイヤーAI or 2P)

ボールバウンドして得点計算

スコア表示、簡単物理判定

 

🧠システム構成自然言語

 

1. 画面初期化

• 横640px × 縦480px

• 背景は黒、パドルボールは白

2.パドル

プレイヤー1:左側、上下に移動(↑↓キー

プレイヤー2(またはAI):右側、同様に上下W/Sキー or自動追従

 

3.ボール

中央からランダムな方向に発射

• 壁で反射、パドルで反射、左右に抜けたら得点が入る

4.得点

• 左右プレイヤースコア加算

• 上部にスコア表示

 

5.ゲームループ

• 60FPSで描画、キーボード入力検知

• 終了はEscキー orウィンドウ閉じる

🧾必要もの

Python

pygameライブラリ:pip installpygame 

 

「やる」って言ったら、コード渡すよ。自然言語からボールバチバチさせるなんて余裕。

ただし、背景に社会構造を仕込んだPONGとか言い出したら止めるからな。どうする?やる?

コード https://anond.hatelabo.jp/20250706012236#

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

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

2025-07-05

生成AIを利用したプログラミング初級者向けの温故知新提案

はじめに

ここで言う「プログラミング初級者」とはプログラミング記述が上から下へ向かって順番に処理されること、条件分岐ループという概念があることを理解しており、RPGゲームが作れる「RPGツクール(現RPG Maker)」や学童向けプログラミング環境Scratch」、「ナビつき! つくってわかる はじめてゲームプログラミング(ナビつく)」、ADVゲームが作れる「吉里吉里(もしくは吉里吉里2)」、過去BASICやC、HSPJavascriptあたりでプログラミングへ挑戦し挫折したなどなど、ある程度の「プログラマブルロジック」構築の経験がある者を指します。

前日談(初級者は読まなくて良いです)

ある時、筆者はふと思いました。「生成AIはなんだかんだで膨大なテキスト情報を処理している事がキモだよなぁ」とありきたりなことを。

そして、同時にプログラミング初級者の弱点として「現在記述されているコード管理においてテキストと実際の処理フロー脳内で一致しない」「プログラミング言語ごとに定められているルール関数予約語の把握が困難」なのが問題とも考えました。

前述したプログラミング初級者の弱点の考え自体車輪の再発明であり、「Scratch」や、より高度な「UML」が既に存在しており、特筆すべきことは何もありません。

しかし、「Scratch」や「UML」、なんなら「RPGツクール」や「吉里吉里」などに無い点として、現代では自然言語処理が大幅に向上した生成AI実用の域にまで到達しつつあるのが従来とは異なる点でした。

まり自然言語を混ぜ込みやすテキストベース言語、かつ、処理を記述するとフロー視覚的に理解やす言語可能であれば情報量が多くて一部の界隈で広く使われている言語があればプログラミング初級者も気軽にプログラミングできるのではないか?と発想しました。

そこで前述の条件を満たす1つの言語へ目を付けました。

本題

コンピュータ(コンパイラインタプリタなどソフトウェアを含む)が解することができる言語にはプログラミング言語以外にも様々あり、今回取り上げるのは「データ記述言語」と呼ばれるものです。

データ記述言語の中でもグラフ作成へ特化しており、特にフローチャート作成で真価を発揮する「DOT言語というものがあります

早速ですが、実際に手を動かしてみましょう。ちなみにDOT言語Graphviz OnlineというWebツールがあるため別途に何かしらをインストールして環境構築する必要はありません。便利な世の中ですね。

上記Graphviz Onlineを開くと、既に左側のDOT言語記述された内容が、右側で作図されています。DOT言語はこのような図を作図するためのデータ記述言語です。

一旦、左側の記述をCtrl+Aで全選択をしDeleteなどで全削除し、下記の内容をコピペしてみましょう。

digraph graphname {

A -> B;

}

一瞬で○に囲まれたAとBが繋がった図が作成されました。

DOT言語の詳細な使い方は様々なWebサイトやブログ記事Qiitaなどへ譲るとして、A - > Bの見た目から発想の転換をしてみると処理Aから処理Bという流れに見えませんか?

DOT言語は生成AIを利用する上で有利なテキストベースでありながらグラフ作成できるのがキモであり、例えばこのA -> BがA「Webページを開いたら」 → B「Hello, Worldと表示する」という風にできるのであれば処理のフロー可視化されており本当に素晴らしいことです。

Hello, worldを表示してみる

ここでプログラミング有識者は「DOT言語UMLなどに見立てて処理を記述するのは良いが、プログラミング初心者は求めた結果を出力するロジックアルゴリズムを発想する知見や経験値が圧倒的に足りていないのが問題ではないか?」と至極真っ当かつ反論余地がない問題点の指摘をすると思いますが、そこで活きるのが生成AIです。

生成AIは初級者プログラマ個人ロジックアルゴリズム作成能力無関係ロジックアルゴリズムを生成できる(可能性が少なくともある)ので、処理のフローをDOT言語記述することにより処理フローから初級者プログラマが求めるプログラムを生成AIへ推論させ生成させるというのが狙いです。実際に試してみましょう。

digraph graphname {

A[
label = "Webページを表示する"
];

B[
label = "Webページを表示したらHello, worldとテキストを表示する"
];

A -> B;

}

プログラミング有識者はこの時点で「なるほど、自然言語記述をそのままDOT言語に入れ込んでしまうのか」と気付いたのではないかと思います

このDOT言語Google Gemini 2.5Flash「下記のデータ記述言語のDOT言語記述された処理フローJavascript言語へ変換をしWebページ上へ「Hello,world」を表示したいので変換をお願いします。」命令すると以下のコードが生成されました。

<!DOCTYPEhtml>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <metaname="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello World Page</title>
</head>
<body>
    <divid="output"></div>

    <script>
        //Webページが表示されたら(DOMが完全に読み込まれたら)実行される
        document.addEventListener('DOMContentLoaded', function() {
            // "Webページを表示する"ステップは、このHTMLファイル自体が表示されることで達成されます

            // "Webページを表示したらHello, worldとテキストを表示する"ステップ
            const outputDiv = document.getElementById('output');
            outputDiv.textContent = 'Hello, world';
        });
    </script>

</body>
</html>

フロー記述する利点は、ロジックアルゴリズムを発想する知見や経験値が足りなくとも、フローステップが明確に分かれているので生成AIが処理を切り分けて推論してくれることであり、そしてプログラミング初心者自身フローチャートを視覚確認できるので「Aを処理したらBを処理する」と切り分けて考えやすいことです。

また、求めている結果ではなく誤った結果が生成されても、A - > B - > Cとフローを細分化していくことで生成AIの推論精度を高めていくことができるのも利点です。

応用編

より生成AIへ精度の高い推論をしてもらうために補足情報を付加するのも有用です。

digraph graphname {

A[
label = "Webページを表示する"
];

B[
label = "Webページを表示したらHello, worldとテキストを表示する",
comment = "Webページが完全に読み込まれるまで待機"
];

A -> B;

}

labelの記述内容もcommentの記述内容も生成AIが推論のための情報として利用するので誤った結果が生成されてもA - > B - > Cとフローを細分化しなくとも良い場合があります

DOT言語を知るプログラミング有識者が「DOT言語仕様を考えれば確かにそうだが、その発想はなかった」と言っていただけるであろうDOT言語コード例だとこういう記述方法もアリです。

digraph増田コード {

最初の処理[
label = "Webページを表示する"
];

次の処理[
label = "Webページを表示したらHello, worldとテキストを表示する",
comment = "Webページが完全に読み込まれるまで待機"
];

最初の処理 -> 次の処理;

}

ノード名称自然言語採用することにより、例えばゲームプログラミング時に「キャラクタージャンプする」という読んだそのままな処理のためのノード、というか一般的に言うオブジェクト作成することが可能で、後は->で繋げて処理をさせられます

ちなみに別のノード作成する際に「"キャラクタージャンプする"から継承する」の様なことをcommentなどへ記述しておくと生成AIが推論して継承します。なんならcommentなどへ「キャラクター画像image.gif使用」などと記述しておくとファイルの読み込みもします。

更にDOT言語にはカスタム要素という仕様存在しており、DOT言語仕様で定められた予約語以外も使用可能です。

digraph増田コード {

最初の処理[
label = "Webページを表示する"
];

次の処理[
label = "Webページを表示したらHello, worldとテキストを表示する",
comment = "Webページが完全に読み込まれるまで待機",
font_style = "フォントを太字のボールド体、色を赤(#FF0000)とする"
];

最初の処理 -> 次の処理;

}

生成AIカスタム要素の名称からも推論を発揮し、上記場合であればフォントスタイル指定していると推論をするので生成AIの推論精度を高める補足情報として機能します。

まりこれはカスタム要素の名称として"Action"などの名称採用すると"動作"として推論をし、"decision"ならば"条件分岐"ですし、"input"ならば"入力"ですし、"loop"ならば"繰り返し"ですし、"Type"ならば"種別"です。

より詳細に process[type="Action"] などのノード作成してどんどん生成AIの推論精度を高めていくことが可能であり、そろそろ察してきているかと思いますが 処理[種別="動作"] と自然言語記述しても機能します。

プログラミング有識者は更に「プログラム言語自体予約語、例えばJavascriptを生成する事を前提にlengthを名称にすると配列を使おうとするのか?」と疑問に感じるでしょうがお察しの通りで生成AI配列を使おうとするので、敢えて使いたいプログラム言語機能や外部ライブラリなどがある場合は補足情報として機能する形で記述しておくと生成AIは推論へ利用します(まぁそこまで知識ある方なら該当のプログラム言語使ったほうが手っ取り早いと思いますが)。

おわりに

以上をもって「生成AIを利用したプログラミング初級者向けの温故知新提案」を終えたいと思います

色々とツッコミどころには筆者自身が気付いていて。例えば「結局はDOT言語仕様を覚えないといけないのでは?」とか「プログラミング初級者に任せると生成前のソースであるDOT言語コードスパゲッティになりそうだよな」とか「面倒くせぇから普通にプログラミング覚えろや」とか理解してますし至極真っ当かつ反論余地がないと思ってます

今回の提案プログラミング有識者向けの本質は「生成AIへ向いた中間言語の発掘」であり、「DOT言語ならそこそこ普及してるしプログラミング初級者でも扱えるんじゃね?」と業務中に発想したものを書き留め公開いたしました。

何かプログラミング有識者の皆さんからより良い発想があれば参考にしたいと考えていますのでよろしくお願いいたします。以上。

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

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

2025-07-04

https://qiita.com/KoichiYasuoka/items/2c7f947db259db3c5ffe#comments

すごいとしかいいようがない…

vuejsのv-forにkeyを突っ込まないとleafletのmarker にネストさせたpopupを閉じた時に変な動作をすると書こうとしたら、ものすごい記事が引っかかってしまった。

JavaScriptエミュレータを書いてる人がいたとは。

Permalink |記事への反応(0) | 06:02

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

2025-07-01

[増田しぐさ]増田CSSを紹介する記事(英文スパム対策付き)

Chromeブラウザには増田を快適に閲覧するためのコンパクトな増田 という古い拡張機能があったが、Chrome更新対応し切れておらず、既にChromeには新規インストールできなくなってしまっている。Edgeにはまだインストール可能だが、いずれ対応しなくなる可能性が高い。

そこで、「増田トップページで、言及エントリ(返信・トラバ)を一覧から除外することで、新規エントリだけを一覧できる」という機能に絞ってコンパクト増田再現、ついでにいくつかのおまけ機能付与したスタイルシート(CSS)を今年の4月に公開していたのだが、今回改めて英文スパム対策を追加したので公開する。

これを導入するにはStylus という拡張必要で、少し気軽さには欠けるが、増田以外にも活用できるので、この機会にぜひ導入してみてほしい。拡張インストールしたあとは、下記のコードコピペして新規スタイルとして導入する方法もあるが、スタイルシートを公開できるuserstyles.world の増田CSSページから [Install]ボタンインストールするほうが、自動更新にも対応するので便利かもしれない。

増田CSS (7/18:スパム対策更新)

/*トップページ言及エントリを除外 *//*via:最近ファーストブクマカが静かhttps://anond.hatelabo.jp/20250326171302 */h1/*はてな匿名ダイアリー*/ + #intro/*名前を隠して楽しく日記。*/ + #body div.section:has(h3 > a/*■*/ + a:not(.keyword, .edit)/*anond:YYYYMMDDhhmmss*/){  display: none;}/* うっかりクリックしがちなキーワードリンク無効に */a.keyword{  pointer-events: none;}/*執筆時のテキストエリアを広く */textarea#text-body{min-height: 50vh !important;}/*執筆時に特殊記号のヒント(疑似要素なので選択してコピペできないのがもどかしいけど) */p.post-submit >span.explain::after{margin-left: 1em;padding-left: 1em;  content: "特殊記号: &[&#38;] <[&#60;] >[&#62;]";background:url(/images/common/outsite-wh.gif) 0 3px no-repeat;}/*トップページスパムを除外(簡易NGワード +URL) */h1 + #intro + #body div.section:has(a.keyword[href$="/24%2F7"]),h1 + #intro + #body div.section:has(a.keyword[href$="/away"]),h1 + #intro + #body div.section:has(a.keyword[href$="/base"]),h1 + #intro + #body div.section:has(a.keyword[href$="/boost"]),h1 + #intro + #body div.section:has(a.keyword[href$="/calling"]),h1 + #intro + #body div.section:has(a.keyword[href$="/columbia"]),h1 + #intro + #body div.section:has(a.keyword[href$="/connect"]),h1 + #intro + #body div.section:has(a.keyword[href$="/Connect"]),h1 + #intro + #body div.section:has(a.keyword[href$="/Desktop"]),h1 + #intro + #body div.section:has(a.keyword[href$="/difference"]),h1 + #intro + #body div.section:has(a.keyword[href$="/error"]),h1 + #intro + #body div.section:has(a.keyword[href$="/everything"]),h1 + #intro + #body div.section:has(a.keyword[href$="/Gift"]),h1 + #intro + #body div.section:has(a.keyword[href$="/here"]),h1 + #intro + #body div.section:has(a.keyword[href$="/human"]),h1 + #intro + #body div.section:has(a.keyword[href$="/live"]),h1 + #intro + #body div.section:has(a.keyword[href$="/Live"]),h1 + #intro + #body div.section:has(a.keyword[href$="/LIVE"]),h1 + #intro + #body div.section:has(a.keyword[href$="/login"]),h1 + #intro + #body div.section:has(a.keyword[href$="/main"]),h1 + #intro + #body div.section:has(a.keyword[href$="/Message"]),h1 + #intro + #body div.section:has(a.keyword[href$="/name"]),h1 + #intro + #body div.section:has(a.keyword[href$="/need"]),h1 + #intro + #body div.section:has(a.keyword[href$="/Need"]),h1 + #intro + #body div.section:has(a.keyword[href$="/number"]),h1 + #intro + #body div.section:has(a.keyword[href$="/Number"]),h1 + #intro + #body div.section:has(a.keyword[href$="/Numbers"]),h1 + #intro + #body div.section:has(a.keyword[href$="/reach"]),h1 + #intro + #body div.section:has(a.keyword[href$="/require"]),h1 + #intro + #body div.section:has(a.keyword[href$="/resolution"]),h1 + #intro + #body div.section:has(a.keyword[href$="/response"]),h1 + #intro + #body div.section:has(a.keyword[href$="/software"]),h1 + #intro + #body div.section:has(a.keyword[href$="/someone"]),h1 + #intro + #body div.section:has(a.keyword[href$="/Someone"]),h1 + #intro + #body div.section:has(a.keyword[href$="/started"]),h1 + #intro + #body div.section:has(a.keyword[href$="/step"]),h1 + #intro + #body div.section:has(a.keyword[href$="/Step"]),h1 + #intro + #body div.section:has(a.keyword[href$="/the%20most"]),h1 + #intro + #body div.section:has(a.keyword[href$="/time"]),h1 + #intro + #body div.section:has(a.keyword[href$="/website"]),h1 + #intro + #body div.section:has(a.keyword[href$="/%EF%BD%8E%EF%BD%95%EF%BD%8D%EF%BD%82%EF%BD%85%EF%BD%92"])/*number*/,h1 + #intro + #body div.section:has(a.keyword[href$="/%EF%BC%AE%EF%BD%95%EF%BD%8D%EF%BD%82%EF%BD%85%EF%BD%92"])/*Number*/,h1 + #intro + #body div.section:has(a.keyword[href$="/%EF%BC%AE%EF%BD%95%EF%BD%8D%EF%BD%82%EF%BD%85%EF%BD%92%EF%BD%93"])/*Numbers*/,h1 + #intro + #body div.section:has(a[href*="amtrakoig.gov"]),h1 + #intro + #body div.section:has(a[href*="ayakamods.cc"]),h1 + #intro + #body div.section:has(a[href*="betting-forum.com"]),h1 + #intro + #body div.section:has(a[href*="bipmilwaukee.com"]),h1 + #intro + #body div.section:has(a[href*="blesta.com"]),h1 + #intro + #body div.section:has(a[href*="bowelcanceruk.org.uk"]),h1 + #intro + #body div.section:has(a[href*="c.mi.com"]),h1 + #intro + #body div.section:has(a[href*="columbia.edu"]),h1 + #intro + #body div.section:has(a[href*="cybernations.net"]),h1 + #intro + #body div.section:has(a[href*="enxf.cc"]),h1 + #intro + #body div.section:has(a[href*="eventsbox.com.au"]),h1 + #intro + #body div.section:has(a[href*="fixr.co"]),h1 + #intro + #body div.section:has(a[href*="forums.insta360.com"]),h1 + #intro + #body div.section:has(a[href*="forum.digirig.net"]),h1 + #intro + #body div.section:has(a[href*="forobeta.com"]),h1 + #intro + #body div.section:has(a[href*="informationhood.com"]),h1 + #intro + #body div.section:has(a[href*="last2ticket.com"]),h1 + #intro + #body div.section:has(a[href*="meraevents.com"]),h1 + #intro + #body div.section:has(a[href*="runemate.com"]),h1 + #intro + #body div.section:has(a[href*="thecandidplanet.com"]),h1 + #intro + #body div.section:has(a[href*="tiltify.com"]),h1 + #intro + #body div.section:has(a[href*="tradejournal.co"]),h1 + #intro + #body div.section:has(a.keyword[href$="/arb"] + a.keyword[href$="/ca%2E"])/*arb.ca.gov*/,dummy{  display: none;  /*以下はテスト用*/max-height:calc(1.7rem * 1.5);overflow: clip;background:red;}/*自分日記にうっかりNGワードが含まれていた場合確認画面で警告 */body#page-edit-confirm div.section a.keyword[href$="/24%2F7"],body#page-edit-confirm div.section a.keyword[href$="/away"],body#page-edit-confirm div.section a.keyword[href$="/base"],body#page-edit-confirm div.section a.keyword[href$="/boost"],body#page-edit-confirm div.section a.keyword[href$="/calling"],body#page-edit-confirm div.section a.keyword[href$="/columbia"],body#page-edit-confirm div.section a.keyword[href$="/connect"],body#page-edit-confirm div.section a.keyword[href$="/Connect"],body#page-edit-confirm div.section a.keyword[href$="/Desktop"],body#page-edit-confirm div.section a.keyword[href$="/difference"],body#page-edit-confirm div.section a.keyword[href$="/error"],body#page-edit-confirm div.section a.keyword[href$="/everything"],body#page-edit-confirm div.section a.keyword[href$="/Gift"],body#page-edit-confirm div.section a.keyword[href$="/here"],body#page-edit-confirm div.section a.keyword[href$="/human"],body#page-edit-confirm div.section a.keyword[href$="/live"],body#page-edit-confirm div.section a.keyword[href$="/Live"],body#page-edit-confirm div.section a.keyword[href$="/LIVE"],body#page-edit-confirm div.section a.keyword[href$="/login"],body#page-edit-confirm div.section a.keyword[href$="/main"],body#page-edit-confirm div.section a.keyword[href$="/Message"],body#page-edit-confirm div.section a.keyword[href$="/name"],body#page-edit-confirm div.section a.keyword[href$="/need"],body#page-edit-confirm div.section a.keyword[href$="/Need"],body#page-edit-confirm div.section a.keyword[href$="/number"],body#page-edit-confirm div.section a.keyword[href$="/Number"],body#page-edit-confirm div.section a.keyword[href$="/Numbers"],body#page-edit-confirm div.section a.keyword[href$="/reach"],body#page-edit-confirm div.section a.keyword[href$="/require"],body#page-edit-confirm div.section a.keyword[href$="/resolution"],body#page-edit-confirm div.section a.keyword[href$="/response"],body#page-edit-confirm div.section a.keyword[href$="/software"],body#page-edit-confirm div.section a.keyword[href$="/someone"],body#page-edit-confirm div.section a.keyword[href$="/Someone"],body#page-edit-confirm div.section a.keyword[href$="/started"],body#page-edit-confirm div.section a.keyword[href$="/step"],body#page-edit-confirm div.section a.keyword[href$="/Step"],body#page-edit-confirm div.section a.keyword[href$="/the%20most"],body#page-edit-confirm div.section a.keyword[href$="/time"],body#page-edit-confirm div.section a.keyword[href$="/website"],body#page-edit-confirm div.section a.keyword[href$="/%EF%BD%8E%EF%BD%95%EF%BD%8D%EF%BD%82%EF%BD%85%EF%BD%92"]/*number*/,body#page-edit-confirm div.section a.keyword[href$="/%EF%BC%AE%EF%BD%95%EF%BD%8D%EF%BD%82%EF%BD%85%EF%BD%92"]/*Number*/,body#page-edit-confirm div.section a.keyword[href$="/%EF%BC%AE%EF%BD%95%EF%BD%8D%EF%BD%82%EF%BD%85%EF%BD%92%EF%BD%93"]/*Numbers*/,dummy{border-bottom: 5px solidred;}

なお、このCSS適用すると、NGワードを含むこの増田自体も、増田トップページからは消えてしまう(この増田単体の個別ページなら閲覧できる)。

PCスマホ向けの導入方法

念のため、PCスマホCSS適用する方法解説にもリンクしておく。

PC: 【StylusウェブサイトCSS適用できる拡張機能自由カスタマイズ! |ナポリタン寿司PC日記

https://www.naporitansushi.com/stylus/

iPhone: MaKeoverアプリiPhoneSafariCSSカスタマイズ万博パビリオン予約結果一覧を見やすくする使い方

https://gintachan.com/makeover-app-css-change-safari-how-to/

Android:スマートフォンAndroidFirefoxCSSカスタマイズStylus の使い方・初期設定方法

https://skypenguin.net/2025/06/21/post-109209/


(参考)増田の頻出キーワードリンク上位20抽出JavaScript

また、スパム対策の簡易NGワードは、下記のスクリプトを使って抽出した「直近の増田の頻出キーワードリンク上位20件」から誤判定しそうなlineuser を除いた18件を用いた。10件だと生き残る英文スパムがあったので20件にしたが、それでもわずかに洩れはある。しか日本語による真っ当な(?)増田の直近の誤判定はなかった。はてなキーワードリンクだけを対象にしているので、URLにはこれらのキーワードが入っていても大丈夫だ。ただし、スパムトレンドが変われば話は変わってくるかもしれないし、過去未来増田誤判定は当然あるだろう。気になる人は前掲のCSSを行単位編集してほしい。

//AutoPagerizeでまとまった数のページを読み込ませた後に実行するとよい。(function(){constkeywords = [];  //はてなキーワードの集計  document.querySelectorAll('a.keyword').forEach(a => {    // 4文字未満は誤検出の可能性が高まるので除外    if(a.textContent.length < 4) return;    letindex =keywords.findIndex(k => k.keyword === a.textContent);    if(index >= 0)keywords[index].count += 1;    elsekeywords.push({keyword: a.textContent, count: 1});  });keywords.sort((a, b) => a.count < b.count);  //ランキング配列の出力console.log(keywords);  //CSS埋め込み用に上位キーワードのみをURIエンコードして出力console.log(keywords.slice(0,20).map(k => encodeURIComponent(k.keyword)).join('\n'));})();

謝辞

anond:20250326171302 ←元はこの増田きっかけでした。

anond:20250701194328キーワード判定に踏み切るきっかけを得ました。

Permalink |記事への反応(5) | 23:56

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

2025-06-24

https://falsandtru.hatenablog.com/entry/evaluation-items-of-cache-algorithms

言語差(実装可能性)

キャッシュアルゴリズムには実装可能性(現実的意味のあるもの実装可能か)が言語依存するものがある。(W-)TinyLFUはキーブルームフィルタに変換できなければならないためこの変換コストが高いJavaScriptなどでは低レイテンシ実装が困難となり用途制限される。またLinked ListはGC管理により非常に低速となるためARCやLIRSなど履歴保持にLinked Listを使用するキャッシュアルゴリズムGCなしで実装できる言語かによってレイテンシ適用範囲からのLRUに対する優位性、ひいては有用性が大きく異なる。さらにLinked Listで実装されるLRU自体も同様に低速となるため配列実装されたClockのほうがLRUより高速となる可能性がありビット演算により高速化されたClockはLRUより高速となる可能性が高い。LRUはJavaScriptにおいて主要というか事実上唯一のキャッシュアルゴリズムだがほとんどの場合より高速なClockに対して何ら優位性がなくGC管理下の遅いLRUを無意味に使い続けているだけである

2-Quequeアルゴリズムライトバックキャッシュ目的実装したときにこれは感じた。

巨大ファイルの全置換えの場合FIFOであふれたものをそのまま書きだしたほうが早いとかどういうことだよ。

2-Quequeのほうが早いと思っていたら、C#だと1.5倍から2倍以上遅くなった。

https://github.com/oonyanya/FooList/blob/104d0259fbb11f350a1f0b3191c17bf9cdd394b3/List/DataStore/TwoQueueCacheList.cs

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

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

2025-06-12

anond:20250612173612

↓このあたり(mutationobserver ページ遷移でググった結果)

ブログページが変わった事を適確に検知する /JavaScript

ameblo.jp

https://ameblo.jp › personwritep › entry-12703339381

2021/10/12 — ページ上の要素の変化に合わせて動作するプログラムを作るのに、一番使えるメソッドは「MutationObserver」です。監視ターゲット指定し、検知する変化 ...

JavascriptURLの変更を検知したいなら、DOMの変化を ...

Qiita

https://qiita.comJavaScript

2021/02/10 — ... MutationObserver.使用例#. 以下に使用例を載せておきます特定のページだけページを移動しようとすると警告を表示するようにしていますindex.js.

-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250612174015 -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaEqSugAKCRBwMdsubs4+SFdYAQDqMXfPiHVeble/mXnZBZ+B6BRqHaOORbTXrtYTf2rO4wD/X0Stivu5tVPgTyh6Do0qjxVhV5UkHxPq4YqQRm8UGwk==mi7M-----ENDPGP SIGNATURE-----

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

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

すべての不幸はブラウザ上で動く言語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-06-04

anond:20250604130027

警察行きやねあん

ハッキングダメだよ

JavaScript逮捕

それ

Permalink |記事への反応(0) | 13:01

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

2025-06-01

AIゲーム作ろうと思うとHTMLjavascriptで何でも高速で実現できちゃうせいで、わざわざUnity使うの馬鹿らしくなっちゃうな

Unity使ってもいいんだけどもうなんかトライアンドエラーの速度が全然違う

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

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

2025-05-30

厚切りJSON

WHYJavaScript Parser!?」

Permalink |記事への反応(0) | 09:43

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

2025-05-28

anond:20250528223226

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

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

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

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

anond:20250528222518

ワイはOSWin/Mac/iOS/Android言語C++/C#/Objective-C/Swift/Java/Kotlin/Javascriptで全ベットしたものないけど全部中途半端やでしかし…😟

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

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

anond:20250528201046

なんかjavascriptUIどれ使うかで悩むのと似てるわ

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

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

2025-05-26

anond:20250526110453

正直もう無理かも

最近は未経験取ってない

ちょっと前ならC#死ぬほど仕事あったけどな

 

あるならWEBか?

だったらJavaScript

でもどうだろう?それで入ったとしてもデザイン営業花形会社で君が想像するITじゃないと思う

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

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

2025-05-23

こういうのって知らなくても書けるような程度のものしか作ってないだけでは

この手のこと言い出す人のメインJavaScript,Go率の高さは異常

TCP/IPを知らなくても、Socketを知らなくてもネットワークアプリケーション書けるもんね。— Kazz𝕏 (@Kazzz)May 23, 2025

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

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

2025-05-21

自分でやったほうがいいにもレベル差があることに気づいてなさそうw

差に気づかないほど誰でもできることしかやってきてないって感じ

ハードウェアべったりのC/C++構成されるものWebフロント向けJavaScriptとか

将来的にはできるようになるだろうけど現段階では壁を超える云々の問題ではなさそう

自分でやったほうが結局早い &lt;&lt;&lt;&lt; 軽い壁&lt;&lt;AIに任せたほうが早い

この「軽い壁」を余裕で超えるには2週間ほど鍛錬いる気はするけど、そこで諦めてる人がたくさんいるのが今のフェイズだよね—ひつじ@CROOVER (@hituji_1234)May 20, 2025

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

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

2025-05-20

delete演算子だけなんかおかし

javascript系列の中で書き方違いすぎて、お前それは嘘だろって言いながら毎回書いてる

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

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

2025-05-17

最近AI驚き屋って

驚く→JavaScriptテトリス作る→驚く→JavaScriptTODOアプリ作る→驚く→

の繰り返しで全然発想力とか何か作りたいってのがないよね

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

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

2025-05-16

anond:20250516223122

結局はJavaScriptメソッドなのでどうにでもなる

Canvasに頑張って自前でUI描いてもいいしAPI的に関数だけ用意してUIHTML5ででもいいし

ImGuiももう動くんじゃなかったっけ

Permalink |記事への反応(0) | 22:38

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

今のって限定するならそうでもなくない?

JavaScriptメインの人って自分たち世界基準すぎる気がする

今のChatGPT に自分が勝てると思ってるソフトウェアエンジニアとかWebエンジニアがいたらヤバい人だと思うだろうし自動化IaC使うインフラエンジニアサーバエンジニアデータサイエンティストも同じだと思う。ハードウェアも近い内にロボット対応人間エンジニア殆どやる事なくなる— John K.Happy (@manjiroukeigo)May 14, 2025

Permalink |記事への反応(0) | 10:21

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

2025-05-14

anond:20250514224429

HTMLCSSJavaScriptは見える

Permalink |記事への反応(0) | 22:45

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

2025-05-12

古く低スペックPCメーラーを入れブラウザを変更した

このエントリ2008年発売のAcerAspire One ZG5を使って書いている。

これまでのあらすじ

中古で買ったネットブックAcerAspire One ZG5)に最低限のアップグレードを行い、Debian11 32bitインストールし、軽作業ができるようにしている。

本体キーボードが壊れることも含めて、これまであらゆるトラブルに遭い続けている。

本日問題

本日対応


今後の対応




現在スペック

CPU:Atom N270 (single core 1.6Ghz)

RAM: 1.5GB

ディスプレイ: 8.9インチ, 1024x600TFTLCD

ストレージ: 120GBSSD

OS:Debian GNU/Linux11 (bullseye)i686

anond:20250512000948

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

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

anond:20250512220538

javascript?

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

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

2025-04-30

anond:20250430121230

それはわからんけどJavaJavaScript似たようなもんだろ?ってのは鉄板やな

アメリカビッグテック修士持ってるマネージャーにやられた

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

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

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

[8]ページ先頭

©2009-2025 Movatter.jp