「UML」を含む日記 RSS

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

2026-06-29

anond:20260629163819

机上での話なら、

「実際そのままでは動かない、AIエージェント設計から実際に動くプログラムを作れる」

って話に

「いやUMLで動くなら」

って反論風に噛みついてきたのは何でなん?

anond:20260629163555

バカに付き合ってやってるだけで

UML上で動くなら(机上でとか普通にある表現)とかをUMLが立ち上がって動き出すうう!とか言ってるアホはお前だけやで

こだわりの強いタイプから平日の昼間も暇なの?

anond:20260629162820

で、どれならできるんだよ?

UMLで動かす

UMLが動かす

UMLを動かす

まさか、結局どれもできないのにそこに難癖つけてるわけじゃないよな?

anond:20260629162230

UMLが動かす

でも

UMLで動かす

でも

UMLを動かす

でもどれでもいいぞ。さあやってみろ。



(ところで突然ド下ネタ言い始めるの何なんだろ?老化で脳が劣化するとこうなるの?)

anond:20260629161834

お前はまさかUMLで書いたからってコードじゃないから動かないとかマジで言ってるのか?

そもそもお前の言ってたのはUML「が」動くとかUML「を」動かせとかいう話だぞ

お前は「で」と「が」と「を」がおんなじか?

お前の彼女「で」オナニーするのと

お前の彼女「が」オナニーするのと

お前の彼女「を」オナニーさせるのと

なんでもミソもクソもおんなじか?

お前はバカか?

あ、彼女なんかいいかごめん

anond:20260629160448

おい、今更UMLが動く論引っ込めるのかよ

anond:20260629155740

AIでっていうのはこっちが言ってるんだよ

お前は「UMLを動かす」んだろ

言ってること変えるな

頑張ってUMLを動かすんだ

anond:20260629155559

君が理解できないことはまあ確かに通じてはないのか

UMLで動いてりゃそれこそ今後AIでそのまま動くで

そもそもロジックさえ完璧ならビジネスロジックなんてノーコードで動くんだから

anond:20260629155135

話通じなさすぎるからもういいよ

UMLを動かして便利なソフトが作れたら呼んでね

anond:20260629153722

これからそういう時代になるってことだよ

でもUMLじゃないと思う

anond:20260629153007

UMLで動くとかよくわからないんだが

なんかそういうツール使うってこと?

ノーコードとか超高速開発とか言ってプログラミング無しにソフト作るのを流行らせようとしてる勢力がいたのは知ってるけど、別に流行らなかったよね

anond:20260629153007

UMLで動くって概念初めて見たわ

ただのフローチャートちゃうんか

anond:20260629152311

いや君は日本語で異常系とかやってたから動かなかったんだろうけど

俺は普通にUMLで動くレベルなら普通に動くってかむしろUMLちゃんとしてないから動かないんだけど

ロジックを君自身が分かってないのにAIで動かしてるってこと?

どういうソフトなの?俺が今やってるのとかはコンプライアンス絡みでロジックの厳密性が一番ヤバい部分なのでそこはAIやらせられないが

UIリアクトのこれどうすんのとかはガンガンやらせるけど

anond:20260629151940

全然関係ないけど、UMLの中で一番の役立たずはクラス図だと思う

何か書いてるようでいて何もわからない

anond:20260629151940

「もうできてる」って言ったって、今までは日本語仕様書だろうがUMLだろうがそのまま動作はしなかっただろ

そこを埋めるのがAIエージェントだって言ってんの

実際それで仕事回してて外注は切ってる

ただ、この仕事のやり方だと社内の若手がプログラミング経験する機会がなくなりそうだけど、どうするか、ってのを今考えてるところだよ

anond:20260629151456

「異常系」とかじゃなくてどういう場合にどうやって動くかというのは日本語でも英語でも定義しなきゃいけなくて

その定義ができてるならほぼもうソフトなんかできてるんやで

君は「日本語」で「上流に了解とって」やってるんだ

なるほど

UMLとかそういうのだけどね

普通

で、UMLで出来てればほぼもう出来てる

日本語で上流とお話しするのね

それ上流がAIでやればいいか逆に下流がやればいいかで君いらなくない?

2026-05-12

anond:20260512082340

全然関係ないけどUMLクラス図って一見良さそうに見えるけどクラス図だけでシステム全体を記述しようとする誤った用法に陥りがち

UMLの中では一番のポンコツ

絶対許すまじ

anond:20260512081333

設計製造ってどうなってるの?

UMLクラス図まで詳細に書いといて自分でそのクラス図通りに作るの?

そこまでがっちりきまってるならTDDテスト要件設計通りに書いたらいいのでは?

うちはそもそも要件コロコロかわるからテスト適当にしてるが

2025-07-15

ベン図とかUMLとか書く機能あったら一発なのになぁ

と思うことが多いね

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.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-04-19

ソフトウェアアーキテクトの常識

🧔‍♂️ワシ:

「いやぁ、昨日もまたRFC7231読んでてな、

気づいたらAcceptヘッダーと結婚してたわ……」

 

🎙️相方

「お前の人生、Content Negotiationされすぎやろ!!

しかも向こうから 406 Not Acceptable 返ってきたんやろ!?そらフラれるわ!!」

 

🧔‍♂️ワシ:

「この前アーキテクチャ会議で、サービス通信はgRPCがええって言うたらな、

後輩が「じゃあProtoBufで詩を書きました」言うてきよってな…

message 孤独 { string 心 = 1; } て……」

 

🎙️相方

「どんなポエムやねん!!スキーマ駆動純文学まれてるやんけ!!

しかもgRPCのくせにRESTに未練残しとるのが切ないねん!!」

 

🧔‍♂️ワシ:

最近の若手、すぐイベントストリームアーキテクチャ導入しようとするけどな、

この前「Kafkaのパーティション分割がバランス悪くて…」って悩んでたか

ワイ真顔で言うたったんや、

そのKafka、輪廻してるでって」

 

🎙️相方

「なんで分散メッセージ基盤が仏教思想取り入れてんねん!

試行失敗したメッセージ前世因果で戻ってきてるやんけ!!」

 

🧔‍♂️ワシ:

「あとワイの同期、設計資料UML使わんと、

全部PlantUMLシーケンス図でラップバトル表現しとるんや。

オブジェクトが`ー>+ DJController : Yo!処理呼ぶぜ!`てな……」

 

🎙️相方

「お前それ設計ちゃうHIPHOPフレームワークやないかい!!

非同期通信の代わりに即興バトルでロジック連携すな!!」

 

🧔‍♂️ワシ:

「そんでよく聞かれるんがな、

分散システム本質ってなんですか?」って質問や。

ワイは即答したったわ。

クラウド上で孤独分散する技術やって」

 

🎙️相方

「どんだけ孤独のシャーディングすんねん!!全ノードに寂しさ均等にばら撒くなや!!

最終的にAmazon S3に虚無が永続化されとるやないか!!」

 

🧔‍♂️ワシ:

「ちなみに、Terraform書いてる時は瞑想状態に入るのが基本や。

ワイの脳内、こんな感じやねん。

resource "自己肯定感" "low"

count = var.社会から評価

 

🎙️相方

自己評価IaCすな!!

しかリソース作られへんのやろ!?Error: Too many imposter syndrome とか出るんやろ!?

 

🧔‍♂️ワシ:

最後に言わしてくれ。

ワイ、今でもたまに聞こえるねん。

昔のMonolithが言うてくるねん……

クラス肥大化してごめんな…でも全部まとめたかったんや…」って」

 

🎙️相方

「それフレームワークじゃなくて未練ワークやんけ!!

責務の分離ができへんのは、気持ちの整理もできへんのと一緒や!!」

 

🧔‍♂️🎙️二人:

ソフトウェアアーキテクト、それは正気狂気境界で踊る設計シャーマンや!!」

「ほなまた、次のデプロイで会おうや!!」

2024-12-25

anond:20241225110038

俺にかかればどんなツールだろうとUML書いてやんよ

anond:20241225105226

あ、わかった

無職なのか

パワポUML書く人いるわけないもんね

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