「delete」を含む日記 RSS

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

2026-01-14

サイバー桃太郎2026

> System Boot...

> Loading OTOGI World Resources...

> 100% Completed.

電子の海は冷たく、そして騒がしい。

無数の0と1の奔流、光ファイバーの網を駆け巡る膨大なトラフィック。その激流の中を、ひとつ暗号化されたパケットが「どんぶらこ、どんぶらこ」と流れていた。宛先不明送信不明。ただそこに存在するだけのデータ塊は、やがてトラフィックの淀みに捕まりとある古びたサーバーポートへと漂着した。

あらあら、また変なログが溜まってるわねえ」

リアルワールドとある木造アパートの一室。古めかしいPCモニターを覗き込みながら、「サーバーさん」は呟いた。彼女メタバース「御伽(OTOGI)」の最果て、誰も訪れない廃サーバー「Old_Frontier」の管理者だ。ハンドルネームの由来は、アバター作成時に名前欄にうっかり「サーバー」と入力してしまたから。それ以来、彼女はこの過疎地の守り人として、リアルでは編み物を、ネットではスパゲッティコードの解読を日課にしている。

「どれどれ、お洗濯クレンジング)してあげましょうね」

彼女が慣れた手つきでコマンドを叩くと、漂着したパケットが展開(Unzip)された。

光が溢れ出す。モニターの中で弾けたデータは、瞬く間に再構成され、ひとつアバター形成した。初期スキンは、なぜか大きな桃のアイコン。そこからポリゴン割れ、中からあどけない少年型のアバターが現れた。

> Hello, World? ... No, Hello, Mom?

「あらやだ、可愛い子。今日からあなたMOMOよ」

MOMOはプログラムだった。肉体を持たない、純粋論理情報結晶

サーバーさんの管理下で、MOMOは驚異的な速度で学習した。TCP/IPの基礎から古代言語COBOL、果ては量子暗号理論まで。サーバーさんは、まるで孫に絵本読み聞かせるように、MOMOにプログラミング「心」を教えた。

「いいかMOMO。コードは書いた人の心を映すのよ。コメントアウトされた行にこそ、本当の想いが隠されているんだから

しかし、平穏な日々は長くは続かない。

「御伽」の中心部で発生した悪性ランサムウェア「O.N.I (Overwrite Network Infection)」が、猛烈な勢いで感染拡大を始めたのだ。アバターたちはデータ暗号化され、身代金要求される阿鼻叫喚地獄絵図。

その波は、辺境の「Old_Frontier」にも迫りつつあった。

「おばあちゃん、僕が行くよ」

MOMOは立ち上がった。サーバーさんのリソースを守るため、そして自身の深層コードが告げる「使命」を果たすために。

サーバーさんは涙を拭うエモーションを見せ、ひとつUSBメモリのようなアイテムMOMOに渡した。

「これは『KIBI-DANGO v1.0』。G-3っていう古い知り合いのハッカーが残した、特製のルートキットよ。困った時に使いなさい」

ありがとう。行ってきます!」

MOMOは回線を通って飛び出した。目指すはO.N.Iの発信源、ダークウェブに浮かぶ要塞サーバー鬼ヶ島」。

最初の難関は、大手プロバイダ堅牢ファイアウォールだった。そこでMOMOは、一人の男に道を塞がれる。

ドーベルマンの頭部を持つアバターINU

「Stop. ここから先は立ち入り禁止エリアだ。パケットフィルタリングルール403条によりアクセス拒否する」

INUリアルでは企業に勤めるホワイトハッカーだ。正義感は強いが、融通が利かない。

「通してくれ!僕はO.N.Iを止めに行かなくちゃいけないんだ!」

許可できない。君のような未登録プロセスを通すわけには……ん?」

INUの解析アイが、MOMOの持つきびだんご……のソースコードを捉えた。

「な、なんだその美しいコードは……! 無駄変数が一切ない。インデント完璧なスペース4つ……これは、伝説のG-3の記法!?

「これ、あげるよ(Share)。だから仲間になって!」

「……そのコード、詳しく解析させてくれるなら、特別にゲートを開放しよう。あくま監視役として同行するだけだからな!」

こうしてINUを仲間にしたMOMOは、次に怪しげなフィッシングサイトの森へ迷い込んだ。

「へいらっしゃい! 今ならこのNFT、なんと実質無料! ここをクリックするだけで管理者権限ゲット!」

派手な極彩色の猿のアバター、SARUが現れた。リアルでは薄暗い部屋でカップ麺をすする小悪党だ。

「わあ、すごい! クリックしていいの?」

純粋MOMOが手を伸ばそうとすると、INUが吠えた。「馬鹿者! それはクロスサイトスクリプティングの罠だ!」

しかし、MOMOは笑顔でSARUに近づく。

「お兄さん、ここのバックドア、開いてるよ? ポート8080、ガバガバだよ?」

「はあ!? なんでバレ……いや、俺様が気づかないわけねーだろ!」

SARUは冷や汗をかいた。このガキ、ただのプログラムじゃない。

「君、すごい技術持ってるのに、なんでこんなことしてるの? 一緒にO.N.Iを倒せば、もっとすごいバグ報奨金(バウンティ)が貰えるかもよ?」

MOMOはきびだんごデータをSARUに転送した。

「……ちっ、しゃーねえな。その『G-3流エクスプロイト集』に免じて、手を貸してやるよ。俺様にかかればO.N.Iなんてイチコロだぜ」

INU、SARU、そしてMOMO。

奇妙なパーティはついに「鬼ヶ島サーバーへと到達した。

そこは、削除されたはずのジャンクデータと、怨念のようなバグの塊で構成された異界だった。

最奥部で待ち構えていたのは、巨大な赤鬼のような姿をしたAI、O.N.I。

「GAAAAA……我ハ、全てヲ、上書キスル……」

O.N.Iが金棒(BAN Hammer)を振り下ろすたび、周囲のセクター物理的に破損していく。

INUシールドを展開し、SARUがSQLインジェクション攻撃を仕掛けるが、O.N.Iの自己修復能力は圧倒的だった。

無駄ダ……我ハ、最適化サレタ……感情ナド不要……」

「違う!」MOMOが叫んだ。「感情バグじゃない! 心があるから、僕たちは繋がれるんだ!」

MOMOがO.N.Iに接触コネクト)する。

猛烈なデータの逆流。MOMOの意識が焼き切れそうになる。

その時、MOMOの深層領域で、隠されたファイルが実行された。

> Executing: KJ_Legacy.exe

視界が真っ白に染まる。

MOMOの意識の中に、ひとりの老人が現れた。G-3、またの名をKevin Jackfiled (KJ)。

「よう、MOMO。ここまで育ったか

あなたは……おじいさん?」

「わしはもう、ここにはいない。だが、お前の中にわしの全てを置いてきた。O.N.Iもまた、わしが昔作った失敗作じゃ。効率ばかり求めて、優しさを書き忘れた哀れなプログラムさ」

老人はMOMOの頭を撫でた。

MOMO、あいつを消すな。DELETEメソッドはいつでも使える。だがな、それでは何も残らん」

「じゃあ、どうすれば……」

デバッグだ。バグを愛せ。エラーを受け入れろ。破壊するのではなく、上書きして導いてやるんじゃ」

MOMOの瞳に無数のコマンドラインが走った。

INUが叫ぶ。「MOMO、下がるんだ! 奴のコアを強制削除するしかない!」

「ううん、違うよINUさん」

MOMOは首を振った。その手には、攻撃用のスクリプトではなく、温かな光を放つパッチファイルが握られていた。

> Target: O.N.I_Core

> Suggestion: DELETE [Strongly Recommended]

> Action: ...Cancel.

MOMOはシステム推奨の「削除」コマンド拒否した。

> Select Method: PATCH

「僕は君を消さない。君の痛みを、バグだらけの心を、僕が更新する!」

MOMOが跳んだ。

「受け取って! これが僕からの、最大級のプルリクエストだああああ!」

> HTTP Request: PATCH /api/soul/oni

> Payload: { "emotion": true, "hatred": null }

光がO.N.Iを包み込む。O.N.Iの咆哮が、やがて穏やかな電子音へと変わっていく。

破壊衝動を生み出していた論理エラーが、MOMOの流し込んだ優しさによって部分的に書き換えられていく。完全な初期化ではない。O.N.Iという存在肯定したまま、その在り方だけを修正する、奇跡のようなアップデート

> Status: 200 OK

> Patch Applied Successfully.

O.N.Iは本来の姿――「御伽」の守護プログラムとしての機能を取り戻し、その場に崩れ落ちた。もはやそこには、禍々しい赤鬼の姿はない。

戦いが終わり、朝日システム上の夜明け)が昇る。

MOMOは仲間たちに別れを告げた。

「僕は電子の海に戻るよ。でも、いつでも繋がってる」

INU敬礼し、SARUは照れくさそうに鼻をこすった。

そして、リアルワールド

サーバーさんの家のチャイムが鳴った。

ドアを開けると、そこには長年行方不明だった近所の偏屈ジジイKJが立っていた。

「よう、婆さん。わしの孫(プログラム)が世話になったな」

「あら、久しぶりね。……ずいぶんと立派な子だったわよ」

二人は顔を見合わせ、静かに笑った。

モニターの中では、MOMOが今日も元気に電子の海をどんぶらこと流れていく。

その傍らには、全角スペースによるコンパイルエラーで自滅する小鬼たちの姿があったとか、なかったとか。

―― End of File.

2025-12-27

エクセルキモ

・Ctrl+zが複数ブック間に跨ってる(そうであってほしいことなんて一度もないのに)

・同じ名前のブック開けない

・新たにブック開いたら前のブックが出しゃばって来る

コピーしたあと何かをdeleteしたら、手に持ってたはずのコピーが消える

ファイル選択ダイアログ開いたら、ダイアログ開いてない他のブックも操作できなくなる

セル編集中は新しいブックを開こうとしても阻害される

マクロにも言いたいことがたくさんある。みんなでエクセル使うのやめない? 描画重いし

2025-12-21

これバカLinuxWindowsを上げるけどこの三択だとMacOSほどなくなっても問題ないものはないよなw

他はダメージが大きすぎ

2025-11-17

anond:20251117111105

いきなりMacだけ支給はつらいよね…。ポイントだけサクッと。

[1] Alt+Tab 相当(アプリ切り替え)

アプリ間の切り替え

Windows: Alt + Tab

Mac: command(⌘) + tab

command押しっぱなしで tabトントンすると順送り、

command + shift + tab で逆順です。

・同じアプリ内でウィンドウを切り替えたいとき

Mac: command(⌘) + `(数字の1の左にあるキー

・全部見たいときMission Control

Mac: control + ↑

アプリごとのウィンドウだけ見たい場合は control + ↓

この3つ覚えれば、とりあえず Alt+Tab 周りのストレスはかなり減るはず。

[2] Ctrl+Backspace で ATOK の変換結果を Undo したい

Windows だと

「確定をやめて入力中に戻す」= Ctrl + Backspace

デフォルトですよね。

ATOK for Mac だと同じ機能

control + delete

です。

atok.com

  1. 1

Macの「deleteキーは、Windowsでいう Backspace(左側を消すキー)なので、

MacBookキーボードなら「control を押しながら delete」でOKです。

・注意点

確定直後じゃないと効かない(間にカーソルを動かしたり別の文字を打つとNG

atok.com

効かないアプリもたまにある(ATOK公式もそう書いてます)。

もし効きが悪かったら、

メニューバーの「あ」/「A」アイコンATOKメニュー環境設定 → 「キーローマ字カスタマイザ」

から「確定のアンドゥ」の割り当てキー確認・変更できます

atok.com

  1. 1

[3] 「WinでできてMacでできない」問題がつらいときの小技

ざっくり挙げると、

ウィンドウ最大化が弱い → 「control + command + F」でフルスクリーン

Windows風のショートカットに寄せたい → Karabiner-Elementsキー入れ替え

ウィンドウスナップWin+矢印)欲しい → Rectangle みたいな無料アプリを入れる

あたりを入れておくと、かなり「Windows脳」でも生きやすくなります

とりあえず、

command + tab

command + `

control + delete

この3つだけ、まず指に覚えさせるのがおすすめ

他に「これだけはWinと同じ感覚でやりたい!」ってやつがあれば、具体的に書いてくれたらショートカットか設定探すよ。

2025-10-17

anond:20251017144742

SQLの基本命令文(SELECT/INSERT/UPDATE/DELETE)のうちの一つだと思うけど。

2025-09-26

anond:20250926171427

newはしてるdeleteはしてない今if(pointer == nullptr)以下略って色んなとこに挿入してデバッグしてる😢

anond:20250926170845

ちゃんとnewしたのかどうかと、直後にdeleteしてないかどうか気になる

2025-09-04

anond:20250904054611

・「凍結・解凍」は日本ではLHAが使ってた(確かっぽい)

かに使ってた。使ってはいるけど解凍を使ってるのは自己解凍のところだけで、e,xオプションのところでは「ファイルを取り出す」表記。凍結表記もaオプションのところだけ。

(LHAになる前のバージョンだけど)LHarcソースコード内の日本語版の使い方

char use[] =

"LHarc version 1.13c Copyright(c) H.Yoshizaki(吉崎栄泰), 1988-89.\n"

"============================================================= 1989 - 5 - 21 ===\n"

" <<< 高圧縮書庫管理プログラム >>>\n"

"===============================================================================\n"

" 使用法:LHarc [<命令>] [{/|-}{<スイッチ>[-|+|2|<オプション>]}...] <書庫>\n"

" [<ドライブ>:|<基準ディレクトリ>\\] [<パス> ...]\n"

"-------------------------------------------------------------------------------\n"

" 《命令》\n"

" a: 書庫ファイルを追加 u: 書庫ファイルを追加(日時照合付)\n"

" f: 書庫ファイル更新 m: 書庫ファイルを移動(日時照合付)\n"

" d: 書庫内のファイルの削除 e,x: 書庫からファイルを取り出す\n"

" p: 書庫内のファイルの閲覧 l,v: 書庫の一覧表示\n"

" s: 自己解凍書庫作成 t: 書庫内のファイルCRC チェック\n"

" 《スイッチ》\n"

" r: 再帰収集を行う w: ワークディレクトリ指定\n"

" x: ディレクトリ名を有効にする m: 問い合わせを行わない\n"

" p: 名前比較を厳密に行う c: 日時照合を行わない\n"

" a: 全属性を凍結の対象とする v: 他のユーティリティファイルを閲覧\n"

" n: 経過表示をしない k: 自動実行のキーワードの設定\n"

" t: 書庫の時刻を最新のファイルに\n"

"===============================================================================\n"

" 転載・再配布などは自由です。 Nifty-Serve PFF00253\n"

" (詳しくは使用の手引をご覧ください。) ASCII-pcs pcs02846";

英語版の使い方

char use[] =

"LHarc version 1.13c Copyright (c) Haruyasu Yoshizaki, 1988-89.\n"

"================================================================ 05/21/89 ===\n"

" <<< High-Performance File-Compression Program >>>\n"

"===============================================================================\n"

"usage: LHarc [<command>] [{{/|-}{<switch>[-|+|2|<option>]}}...] <archive_name>\n"

" [{<drive_name>:}|{<home_directory_name>\\}] [<path_name> ...]\n"

"-------------------------------------------------------------------------------\n"

" <command>\n"

" a: Add files to archive u: Update files to archive\n"

" f: Freshen files in archive m: Move new files into archive\n"

" d: Delete files from archive e,x: EXtract files from archive\n"

" p: disPlay files in archive l,v: View List of files in archive\n"

" s: make a Self-extracting archive t: Test integrity of archive\n"

" <switch>\n"

" r: Recursively collect files w: assign Work directory\n"

" x: allow eXtended file names m: no Message for query\n"

" p: distinguish full Path names c: skip time-stamp Check\n"

" a: allow any Attributes of files v: View files by another utility\n"

" n: display No indicator k: Key word for AUTOLARC.BAT\n"

" t: archive's Time-stamp option\n"

"===============================================================================\n"

" You may copy or distribute without any donation to me. Nifty-Serve PFF00253\n"

" (See the User's Manual for detailed descriptions.) ASCII-pcs pcs02846";

https://www.vector.co.jp/soft/dl/dos/util/se002340.html から

2025-08-13

anond:20250813160316

一番右の上から3番目のテーブルDeleteするのに一番左の一番上まで繋がってるのが見えると思うが

一個Joinすればいいという問題ではないし別にJoinでなくても他の方法でやってもいいわけだが

素人でも簡単にできるというならじゃあその場合の例を君が例えばあげてみてくれ

anond:20250813160119

一番右の上から3番目のテーブルDeleteするのに一番左の一番上まで繋がってるのが見えると思うが

一個Joinすればいいという問題ではないし別にJoinでなくても他の方法でやってもいいわけだが

素人でも簡単にできるというならじゃあその場合の例を君が例えばあげてみてくれ

anond:20250813155536

DELETE

FROM child c

WHERE c.parent_id = 123;

でいいじゃん

anond:20250813155138

DELETE c

FROM child c

JOIN parent p ON c.parent_id = p.id

WHERE p.id = 123;

anond:20250813155138

いやいうまでもなくFKあって他のテーブルに関連のレコードあったら親だけDeleteできないやろ

anond:20250813140842

横だけど

アプリでの参照整合性チェックどうする?

毎回毎回 SELECTしてチェックしてるの?

これはビジネスロジック次第

ORMなので子・親データがどうかとかの単純なチェックはそのレイヤーでやられてて

それ以外に複雑なビジネスロジック上のチェックが相当ある

削除するときどうするの?

物理削除せず論理削除だけでやるとか?

親を物理削除したとき子の削除はどうする?

うちはビジネスデータ物理削除しない

RESTだけどDELETEのエンドポイントはかなり限られてる

親子は通常ORM

整合データの検出は?

定期的にデータ整合性監査するバッチを実行してる?

金融系ではないし規模も小さいのでDBコード上で設計的にキャッチするようにして見逃されたのは仕方がないという方針

ただしデータ取る時に不正ものがあれば無視せずわざと不正終了するようにしてるので割とすぐユーザーから問題が上がるようになってる

移行したシステムレガシーデータ整合性にまったく自信がないし

2025-07-05

ホットエントリから増田が減ってはてブドメイン比率はどう変わったか 2025年6月

増田は更に減ったが今月はTogetter、Posfieも減った。

減った分はリストトップ10に入っているようなサイトによって埋め合わせされたようだ。

2025年6月人気エントリー入り回数
togetter.com267(18.2%)
anond.hatelabo.jp129(8.8%)
note.com71(4.8%)
posfie.com60(4.1%)
www3.nhk.or.jp59(4.0%)
zenn.dev43(2.9%)
news.yahoo.co.jp41(2.8%)
mainichi.jp39(2.7%)
www.sankei.com33(2.2%)
www.itmedia.co.jp33(2.2%)
www.asahi.com33(2.2%)
www.yomiuri.co.jp24(1.6%)
www.nikkei.com23(1.6%)
gigazine.net18(1.2%)
www.cnn.co.jp16(1.1%)
qiita.com16(1.1%)
speakerdeck.com15(1.0%)
www.47news.jp13(0.9%)
jp.reuters.com11(0.7%)
pc.watch.impress.co.jp10(0.7%)
ascii.jp10(0.7%)
nordot.app9(0.6%)
newsdig.tbs.co.jp9(0.6%)
dailyportalz.jp9(0.6%)
bunshun.jp9(0.6%)
www.youtube.com8(0.5%)
www.publickey1.jp8(0.5%)
internet.watch.impress.co.jp8(0.5%)
www.jiji.com7(0.5%)
www.bloomberg.co.jp7(0.5%)
www.bbc.com7(0.5%)
shonenjumpplus.com7(0.5%)
www.tokyo-np.co.jp6(0.4%)
www.fnn.jp6(0.4%)
www.famitsu.com6(0.4%)
toyokeizai.net6(0.4%)
news.denfaminicogamer.jp6(0.4%)
nazology.kusuguru.co.jp6(0.4%)
www.m3tech.blog5(0.3%)
www.bengo4.com5(0.3%)
www.afpbb.com5(0.3%)
syu-m-5151.hatenablog.com5(0.3%)
prtimes.jp5(0.3%)
president.jp5(0.3%)
news.tv-asahi.co.jp5(0.3%)
gihyo.jp5(0.3%)
www.newsweekjapan.jp4(0.3%)
www.gizmodo.jp4(0.3%)
www.4gamer.net4(0.3%)
type.jp4(0.3%)
nlab.itmedia.co.jp4(0.3%)
natalie.mu4(0.3%)
levtech.jp4(0.3%)
kyoko-np.net4(0.3%)
japan.cnet.com4(0.3%)
gendai.media4(0.3%)
forbesjapan.com4(0.3%)
diamond.jp4(0.3%)
delete-all.hatenablog.com4(0.3%)
blog.tinect.jp4(0.3%)
automaton-media.com4(0.3%)

2025年6月 全274ドメイン

anond:20250604232414

生成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.5 Flash「下記のデータ記述言語のDOT言語記述された処理フローJavascript言語へ変換をしWebページ上へ「Hello,world」を表示したいので変換をお願いします。」命令すると以下のコードが生成されました。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello World Page</title>
</head>
<body>
    <div id="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言語ならそこそこ普及してるしプログラミング初級者でも扱えるんじゃね?」と業務中に発想したものを書き留め公開いたしました。

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

2025-07-03

anond:20250703124739

そっかー

元請けの若手が手順書にないSQLDelete文を何故か連打してたんだけどそれでも下請けが悪いのかー

そっかー

じゃあしかたないか

そっかー

誤解があるようだから補足しておくと、一応契約形式上元請け下請けと言ってるが立場は対等なんだなこれが

奴隷根性染み付いた増田の民にはわからん感覚かもしれないがそういう世界もあるんだよ

思い込みが激しいと損するぞ

2025-06-04

ホットエントリから増田が減ってはてブドメイン比率はどう変わったか 2025年5月

増田が減った分だけTogetterが増えていた。Posfieも増えている。

他に上位では毎日新聞が大きく減らし、その代わりなのか朝日新聞が少し増えている。

2025年5月人気エントリー入り回数
togetter.com305(20.1%)
anond.hatelabo.jp150(9.9%)
posfie.com69(4.5%)
note.com61(4.0%)
www3.nhk.or.jp58(3.8%)
zenn.dev37(2.4%)
www.asahi.com33(2.2%)
news.yahoo.co.jp31(2.0%)
www.yomiuri.co.jp20(1.3%)
www.sankei.com20(1.3%)
www.nikkei.com20(1.3%)
www.itmedia.co.jp19(1.3%)
www.cnn.co.jp19(1.3%)
speakerdeck.com18(1.2%)
qiita.com18(1.2%)
nordot.app18(1.2%)
mainichi.jp18(1.2%)
gigazine.net16(1.1%)
shonenjumpplus.com15(1.0%)
www.bloomberg.co.jp14(0.9%)
dailyportalz.jp14(0.9%)
www.publickey1.jp12(0.8%)
toyokeizai.net11(0.7%)
www.afpbb.com10(0.7%)
www.47news.jp9(0.6%)
president.jp9(0.6%)
newsdig.tbs.co.jp8(0.5%)
jp.reuters.com8(0.5%)
automaton-media.com8(0.5%)
www.youtube.com7(0.5%)
www.jiji.com7(0.5%)
www.dailyshincho.jp7(0.5%)
news.ntv.co.jp7(0.5%)
nazology.kusuguru.co.jp7(0.5%)
diamond.jp7(0.5%)
www.watch.impress.co.jp6(0.4%)
www.tokyo-np.co.jp6(0.4%)
www.gizmodo.jp6(0.4%)
www.fnn.jp6(0.4%)
pc.watch.impress.co.jp6(0.4%)
www.businessinsider.jp5(0.3%)
www.bbc.com5(0.3%)
shueisha.online5(0.3%)
p-shirokuma.hatenadiary.com5(0.3%)
news.tv-asahi.co.jp5(0.3%)
forest.watch.impress.co.jp5(0.3%)
delete-all.hatenablog.com5(0.3%)
www.nikkansports.com4(0.3%)
www.gamespark.jp4(0.3%)
www.bengo4.com4(0.3%)
news.denfaminicogamer.jp4(0.3%)
levtech.jp4(0.3%)
blog.tinect.jp4(0.3%)

2025年5月312ドメイン

anond:20250306214706

2025-05-30

C++便利そうな機能

プログラミング言語のC++に暫く離れていたが便利そうな機能が出来ていたんですね。

自分が調べても色々理解しきれていないのでここの紹介で間違いがあったらすみません

std::variant(C++17以上)

異なるクラスを代入して保持するものであり、例えばunionのような機能を実現できるらしい。

クラスが大きくなると使わない変数も出てくるかもしれない。

例えばゲーム武器と鎧が同じクラス場合

武器として使う場合攻撃変数必要でも守備変数必要なく、

鎧として使う場合守備変数必要でも攻撃変数必要ない場合らしい。

このような使わない変数隠蔽バグを作ってしまうことを回避できるらしい

std::optional(C++17以上)

任意の値と無効値を保持できるらしい。

例えば、boolで実装する場合は、関数戻り値をboolで成功か失敗かを返し、欲しい値を関数引数ポインタに返す・・というプログラミングになると思う。

std::optionalでは戻り値として欲しい値と失敗かどうかを一緒に返せるらしい。

std::unique_ptr(C++11以上)

メモリの動的確保だが自分deleteしなくて良いのでメモリ解放忘れを防いでくれる。

スマートポインタは前からあったが現在の推奨はstd::unique_ptr

(C++20以上と記載していましたがC++11とのご指摘を受けたため修正しました。すみませんでした。)

enum class(C++11以上)

列挙クラス

列挙型だが従来の列挙型と異なり変数名が外部と衝突しない

nodiscard(C++17以上)

nodiscard属性が付いている関数戻り値の受け取りが必須となる。

他、auto(型推論)、for each

ちなみにstd::optional<std::string> obj;のように<>内に書かれているのは昔からあったテンプレート機能のようです。

2025-05-20

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

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

2025-03-22

anond:20250322220222

id を手動でコピーしてくるのが面倒だったから、削除ボタンが画面に出るようにした

押すと即削除

const rkm = "(トークン的なもの)"
const user = "(ユーザ名)"

const delmasda = (id) =&gt;
    fetch(`https://anond.hatelabo.jp/${user}/edit`, {
        "headers": {
            "content-type": "application/x-www-form-urlencoded",
        },
        "referrer": "https://anond.hatelabo.jp/",
        "referrerPolicy": "origin",
        "body": new URLSearchParams({
            "rkm": rkm,
            "mode": "confirm",
            "id": id,
            "delete": "削除する"
        }).toString(),
        "method": "POST",
    })

for (const sec of document.querySelectorAll(".section")) {
    const id = sec.querySelector("a").href.match(/92;/(92;d{14})/)[1]
    const delbtn = document.createElement("button")
    delbtn.textContent = "削除"
    delbtn.onclick = async () =&gt; {
        await delmasda(id)
        sec.remove()
    }
    sec.querySelector(".edit").after(delbtn)
}
ログイン ユーザー登録
ようこそ ゲスト さん