はじめに 2000年代の開発現場では、UML という語は一種の共通語でした。オブジェクト指向を語るならUMLを知っていて当然だとされ、書籍も研修もツールも、その前提で組まれていました。しかし現在、日常会話の中で「UMLを描こう」と言う場面は激減し、代わりにMermaid(軽量な図記述ツール)やPlantUML(テキスト記述からUML図を生成するツール)で必要な図だけを書くという言い方が普通になっています。この落差は、単なる流行語の交代ではありません。設計の正本をどこに置くのかという、開発の重心そのものが移った結果です。 本稿はラショナル起源の重いUML と、ファウラーが後から整理した 軽いUML と、2010年代以降の 高速な開発環境 が、どのようにぶつかったのかということを語ります。結論を先取りすれば、消えたのは図そのものではなく、UMLという名称に付着していた制度と商売でした。そして残
はじめに 2026 年 5 月 1 日、マネーフォワードが「GitHub への不正アクセス発生に関するお知らせとお詫び(第一報)」を公表しました。GitHub の認証情報が漏えいし、第三者によりリポジトリがコピーされ、ソースコードと一部の個人情報が流出した可能性があるという内容です。同時に、銀行口座連携機能を一時停止する措置もとられました。 この事案は、エンジニア視点で見ると「仕方ない部分」と「明らかにアウトな部分」がはっきり分かれる、教科書のような事例になっています。GitHub 認証情報の漏えい自体は、正直に言ってどの会社でも起こり得ます。一方で、流出したとされる中身に 本番カード保持者の氏名と下 4 桁が 370 件、そして ソースコード内に各種認証キー・パスワード が含まれていたという点は、設計と運用の問題として議論せざるを得ません。 この記事ではセキュリティエンジニアの立場から、
Markdown Preview Mermaid Support Adds Mermaid diagram and flowchart support to VS Code's builtin Markdown preview and to Markdown cells in notebooks. Currently supports Mermaid version 11.12.0. Usage Create diagrams in markdown using mermaid fenced code blocks: ```mermaid graph TD; A-->B; A-->C; B-->D; C-->D; ``` You can also use ::: blocks: ::: mermaid graph TD; A-->B; A-->C; B-->D; C-->D; ::: Su
小説を読んでいる時と、映画を観ている時では、脳の使い方が違う。無論こんなことは自明な事実ではあるが、『プロジェクト・ヘイル・メアリー』という作品の原作と映画を見比べた時、そのような実感を顕著に持った方も多かったのではないだろうか。 原作小説を読んだことのある人間なら、あの小説が要求していたものを覚えているはずだ。ページをめくる手が止まる瞬間が何度もあった。止まって、考えた。グレースが立てた仮説の意味を、自分の頭で追いかけようとした。追いかけられないことも多々あっただろう。それでも読み続けた。そしてグレースが正しかったと判明する瞬間に、奇妙な達成感があった。自分は何もしていないのに、自分がたどり着いたような感覚があった。そんな感覚を覚えた人も多いのではないだろうか。 小説一般に言えることだが、"意味"とはテキストの中に存在するのではなく、読者が自力で構築するものだ。文字は素材に過ぎず、脳がそ
初めに 今回は fl_chartというパッケージを使って、グラフを表示させる実装を行いたいと思います。 fl_chart ではさまざまなタイプのグラフが実装できますが、今回は以下の三つに絞って実装を行います。 折れ線グラフ 棒グラフ 円グラフ 記事の対象者 Flutter 学習者 モバイル、Webでグラフを表示させる実装がしたい方 データを扱うアプリ開発に携わっている方 APIで取得したデータをグラフに変換する実装がしたい方 目的 今回の目的は、fl_chart パッケージを使ってグラフの実装を行うことです。 最終的には以下の画像にあるような実装をすることを目的とします。 折れ線グラフ 棒グラフ 円グラフ
RubyKaigi 2026 の本屋さんで Ruby コンピューター Harucom ボードを頒布します2026年4月20日 いよいよRubyKaigi 2026 まであと2日になりました。私もさきほど函館に到着したばかりです。 今年の RubyKaigi の1日目、Small Hall (#rubyKaigiC) 16:40〜17:10 にて "Building a Standalone Ruby Programming Environment" というタイトルで登壇させていただくことになりました。このトークは Ruby が動作する小さなプログラミング環境をつくった話になっています。このトークで登場する私が作っているちいさな Ruby コンピューター Harucom のボードの量産試作品を、RubyKaigiの会場内の本屋さん "@. bookstore" にて委託頒布していただくことに
はじめに 昨今はAIエージェントに作業をさせるためにGit Worktreeというものを使うようです。Git WorkTreeについて知らなかったので整理してみました。以下の記事では「必須技術!」と言われていますね。 Claude Code、GitHub Copilot、Cursor など、様々な AI ツールが同時に複数のタスクを並行して処理することを可能にしました。しかし、従来の Git ワークフローでは、ブランチ間の切り替えによる作業の中断や、複数のタスクを同時進行する際のコンフリクトが課題となっています。 詳しくはリンク先を読んでみてください。 Git Worktreeとは Git Worktreeについては以下の記事が詳しかったです。 しかしながら体感しないとわからない(愚者😢な)ので原典に当たりながら試してみます。特にワーキングツリーごとにディレクトリで管理するという表現がし
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? お前がコードを書き始める前に 言っておきたい事がある かなりきびしい話もするが 俺の本音を聞いておけ はじめに これから少しの間、不器用で、偉そうで、厳しいことを言う。けれど最後まで聞いてくれれば、その裏側にあるものもわかってもらえると思う。だから先に謝っておく。生意気な口を、許してほしい。 まず、お前に話す前に、業界を取り巻く空気の話をさせてくれ。ソフトウェア業界には、昔から消えない風潮がある。 「売れたプロダクトはすべて正しい」 「品質? 障害が起きなければそれでいい」 「細かいことはベンダーに丸投げで構わない」 ビジネスの現場で生
はじめに 動画埋め込みの実装方法を選ぶ際、「mp4で十分?」「YouTubeじゃダメ?」「HLSって必要?」と迷うことはありませんか? そこで今回は一般的な要望パターンとともに、どんなケースで HLS が効果的なのか、採用判断の基準とメリット・デメリットをまとめてみました。 HLSとは HTTP Live Streaming(HLS) は Apple が開発したストリーミングプロトコルで、動画を小さなセグメントに分割して配信する技術です。 分割したファイルは sample000.ts、sample001.ts のようなファイル名になります(※他の拡張子も使えます)。 この .ts はTypeScriptの拡張子と同じなので紛らわしいですが、 「Transport Stream」 を略した別物です。 m3u8(拡張子は .m3u8)はこの .ts ファイルが列挙された 「この順番で再生する」
はじめにこの記事では効率的な合成データ生成からそのデータを学習したモデルのGGUF変換、OllamaやLM Studioでの推論まで行います。 データ合成にはSDG LOOM、学習にはUnsloth Studio、推論にはLM Studioを用います。 これを理解すれば誰でもオリジナルのLLMを作成することができます。 今回は「小説生成ローカルモデル」を例に挙げて作成を行います。 それでは初めて行きましょう。 合成データの作り方このステップでは、LLMを用いた合成データを作ります。 オリジナルのLLMを作成するにあたって、1番大事なのは合成データです。 どのようなデータを作り、そしてそれを用いてどのような大規模言語モデルを目指すのかを決定するのがこのフェーズになります。 合成データを作るにあたって、以下の3つの点が大切だと個人的に思っています。 ・データの品質 ・コストパフォーマンス そし
OpenClaw The AI that actually does things. Clears your inbox, sends emails, manages your calendar, checks you in for flights. All from WhatsApp, Telegram, or any chat app you already use. New OpenClaw Partners with VirusTotal for Skill Security → "Setup @openclaw by @steipete yesterday. All I have to say is, wow. First I was using my Claude Max sub and I used all of my limit quickly, so today I ha
wenaは“腕時計に取り付けられるスマートウォッチ”という独自コンセプトにより、お気に入りの腕時計の美しさを損なうことなく、スマートウォッチの利便性を拡張するプロダクトです。 シリーズ最新作である、日本発・世界最小スマートウォッチ※1「wena X(クロス)」が誕生しました。 augment AI株式会社:クラウドファンディングNo.1記録※2を樹立したスマートウォッチwenaの開発チームが、ソニーグループ株式会社から商標・特許※3を継承し、独立起業した会社です。wenaの美学・哲学はそのままに、引き続き本プロジェクトを推進しています。 wena Xの最大の特徴は、腕時計スタイルとスマートバンドスタイルを行き来できる”2way”構造。ワンタッチ着脱機構により、付け替えは驚くほどスムーズです。 外出するときはフォーマルに腕時計スタイルで。運動するときや眠るときは腕時計を外し、スマートバンドと
はじめに こんにちは!千株式会社 システム開発部のkoinunopochi(社内:おかき)です。SEN Advent Calendar 2025の7日目になります! 昨日はN1206Kさんによる『「Tidy First?」で考える、“片付け”としての設計とリファクタリング』をお届けしました。 今日は新しいPCを買ったので自宅クラウドに入門してみた話になりますー! これなに? VMを立てまくって自宅クラウドみたいなことをしたい!の入門編。 特にやりたいこととしては、Giteaとかを立ててセルフホストの完全ローカル完結CI/CDを組んだりしたい。 ロマンしか求めていないので、実用性があるかと言われると微妙かもしれない。 セルフで色々遊べる環境があることがもう嬉しい。 Proxmoxのインストール ざっくりここを見ながら試した。 たぶん設定ミスってIPからしかアクセスできないが、一旦アクセスでき
Motivation and DefinitionsAn Architectural Decision (AD) is a justified design choice that addresses a functional or non-functional requirement that is architecturally significant. An Architecturally Significant Requirement (ASR) is a requirement that has a measurable effect on the architecture and quality of a software and/or hardware system. An Architectural Decision Record (ADR) captures a sing
カスタムリンター戦略: エージェント向けルールの設計 Factory.aiの4カテゴリ Factory.aiがオープンソースで公開したeslint-pluginは、エージェント向けリントルールを4カテゴリに分類しています。 Grep-ability(検索容易性): デフォルトエクスポートよりnamed exportを強制。一貫したエラー型と明示的なDTO。エージェントがコードベースをgrepで走査する際の命中精度を高める Glob-ability(配置予測可能性): ファイル構造を予測可能に保つ。エージェントがファイルを確実に配置・発見・リファクタリングできるようにする アーキテクチャ境界: クロスレイヤーのインポートをブロック。ドメイン固有のallowlist/denylistで依存方向を強制 セキュリティ/プライバシー: 平文シークレットのブロック、入力スキーマのバリデーション強制、e
コアパターンすべての AI コーディングエージェントは同じループを共有する:モデルを呼び出し、ツールを実行し、結果を返す。実運用ではこの上にポリシー、権限、ライフサイクル層が重なる。 while True: response = client.messages.create(messages=messages, tools=tools) if response.stop_reason != "tool_use": break for tool_call in response.content: result = execute_tool(tool_call.name, tool_call.input) messages.append(result)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く