BuriKaigi 2025 https://fortee.jp/burikaigi-2025/proposal/b0bb7bb3-c9b5-44a7-8124-a66e96ba3305
AIの活用では、MCPという言葉が注目を浴びています。連載の最後に、JavaでMCPサーバー/クライアントを実装してみて、MCPへの理解を深めます。 なお、この記事で取り扱ったコードはこちらからダウンロードできます。 MCPとは MCP(Model Context Protocol)は、Function Calling(Tool Use)をJSON-RCPに基づいてリモートで呼び出す仕組みです。 Function Callingの場合は機能の実装をチャットプログラムと一緒に行う必要がありました。MCPではチャットプログラムと機能の実装を分離できるため、チャットプログラムにあとから機能を追加できるようになります。つまり、LM StudioやChatGPTのチャットアプリケーションに様々な機能を登録して利用できるわけです。また、さまざまなアプリケーションやサービスがMCPの規格に対応したため、
要約一行 Draw.ioみたいな作図ツールがもっと欲しいから作っている。 モチベーションという名のポエム 世の中にはいい感じのカジュアルな作図ツールが少ない。ここでいうカジュアルとは、CADのような精密さは必要なく、多少座標がずれてても建物は倒壊しないし人も死なないという意味でのカジュアルである。Figmaみたいなデザインツールともまた違う。FigJamはそうかもしれない。tldrawはきっとそうだろう。言ってしまえばDraw.ioだ、そうつまりDraw.ioである。 というわけでカジュアル作図ツールの大御所と言えばやはりDraw.io(Diagram.net)だろう。何かを作図したくなってweb検索したことがある方ならきっと一度は使ったことがあるはずの、まさにカジュアル作図ツール界の金字塔。しかも無料。これでいいじゃんの代名詞。 実際にこれでいいと納得できる箇所は非常に多い。まずwebア
また「プロになるJava」の宣伝か、と思われるので、今回は「プロになるJava」の宣伝は自粛します。 Java力をあげるためには最適な「プロになるJava」がオススメなんですが、そうするとこのエントリもこのあたりで終わってしまうので、今回は自重します。 ということで、よく「Java力をあげるにはどうしたらいいか」という質問をみかけます。どうしましょうね、という話。 ここで、「Java力をあげたい」と言ってるときの大半はプログラミング力をあげたいという話です。 もちろん「プロになるJava」もプログラミング力をあげるのにとても役に立つのですが、今回は「プロになるJava」以外で攻めてみましょう。 そうすると実のところJavaにこだわる必要がなくて、そして最近はPythonで無償のテキストがたくさん手に入るので、そういうのを見るといいんではないかと思います。 たとえば「Think Python
最近、技術書を読んでいると「完成形から逆算された、書き手にとって嬉しいコード」によく遭遇しています。 これが自分の理解ステップと噛み合わず、自分はこうだと嬉しい、といっても文句だけいうのも良くないと思い、自分の思う良いサンプルコードをまとめてみようと思います。 先に言っておきます。自分も自分の要求を全部同時に満たすことはできません。また、普段が自分が書くものは想定読者は自分として手を抜いています。手間を書けたとしても、一定以上の文量で必ず手間や実現性の部分でトレードオフが発生します。 自分の考える良いサンプルコード 最小スタート ステップ毎に何らかの動的/静的検査で検証できる。TDD だと望ましい 一度のコード追加は20行あたりが上限 上から順にコピペするとモジュールが動作する 最小スタート これは何らかのコンパイラを想定した適当なサンプルコードで、良い点悪い点両方あります。 // BAD
PythonでRinna社が提供している対話LLM rinna/japanese-gpt-neox-3.6b-instruction-sft を動かすことで、ローカルで動作するChatGPTのような対話AIソフトを作成しました! 筆者自身もLLMや自然言語AIに全く詳しくなく1、Pythonに触ったのも久々だったのですが、言語モデルを手元で動かすのは案外簡単(大嘘2)だったため、本記事ではその紹介をしたいと思います! ↑アイキャッチのこれは成果物であるTauri製アプリです。内部でPython3によって前述のrinna言語モデルを動かすことで実現しています(後述)。 リポジトリ: https://github.com/anotherhollow1125/rinna_gpt リリース: https://github.com/anotherhollow1125/rinna_gpt/releas
GLM-5が出ていたので、公式サイトで試してみました。 https://chat.z.ai/ ちょっと触った感じ、かなり賢く、複雑なコードも書け、日本語もうまく表現力が高いです。 これは大手の商用モデルに追いついてきているように思います。 公式ブログはこちら。 https://z.ai/blog/glm-5 問題は、モデルがオープン化されるのかどうか、というところ。 ウェイトも公開されています。744B-A40Bの模様(2:45追記) https://huggingface.co/zai-org/GLM-5 パストレーシング 「HTML+JSでパストレーシングを作って」で、エラーを一回出しただけで動かしてきました。すごい。 レンダリングできたあと、ズームなどの動きを調整してもらったのだけど、この指示への対応もOpusさんに指示するときのような安心感がありました。 Spring Bootでの
SARS-COV-2関連情報を集めていると、国や自治体、企業が公開している情報がPDFなのにムカついてしまう。ExcelをPDF化したものもあって、素直にxlsも出せよと思う。 (それでも画像データで公開している組織に比べればかなりマシなのが悲しい) 例えば、沖縄県のワクチン接種率の情報がPDFだ。「沖縄県のワクチン接種進捗状況/沖縄県」に掲載されている「県内市町村ごとの新型コロナワクチン接種件数」がPDFだ。タイトルは .xlsx になっているので、元々はExcelであったのだろう。 ご丁寧なことに情報が更新されると過去のPDFが消されてしまうので、接種率の変化を追っかけたい場合はPDFを手元に保存しておかないといけない。沖縄県の情報公開はこういうところがダメダメだと思う。消すなよ。 表から情報を抜き出す情報を抜き出すツールとしては adobeの【無料】PDFをExcelに変換 – Ad
はじめに 自分は正直デザインが苦手です...。 なので個人開発で画面のイメージを作ってみたものの、パワーポイントでただ図形をはっつけたような悩ましいもので「なんとかならないものか」と頭を抱えていました。 そんな時に色々調べてく中で出会ったのが、VercelのAIツール「v0」。 なんとなく試してみたら、いい感じになったのでデザイン苦手な人でも大丈夫ですよってことで記事にしようと思いました! v0とは Next.jsを開発しているVercel社で開発されたAIツールです。 自然言語でUIないしはコードを生成してくれます。 いい感じにしてもらう画面とその概要 まずは、僕がfigmaで作った、こちらの壊滅的なデザインをご覧ください笑 以下のイメージで画面を作りましたが、ここからv0にいい感じにしてもらおうと思います。 コンセプト 身近にふと感じた些細な幸せを気軽に記録できる日記アプリ。 ユーザー
CodiumAI、作りたい機能を入力するとコードの実装計画案生成、コードの自動生成を支援する「Codiumate Coding-Agent」α版リリース AIによるプログラミング支援ツールを開発しているCodiumAIは、作りたい機能をAIに対してプロンプトで入力すると、コードの実装計画案をAIが示し、それを元にほとんどのコードを生成や補完してくれる「Codiumate Coding-Agent」(以下、Coding-Agent)α版のリリースを発表しました。 The Codiumate-Agent is the first step towards tandem development with your coding agent. It effortlessly slots into your development workflow, helps you be smart about
アクロクエスト アドベントカレンダー 12月9日 の記事です。 普段は Java, Python でバックエンドの開発をしている大塚優斗です😃 最近は Spring フレームワークのメジャーアップデートなどで盛り上がっていますね! 10月にこんな記事を見かけて、Spring Modulith がとても気になっていたので、手元で試したことを書いていきます✍️ Spring Modulith とは Spring Modulith でできること 0. Spring Modulith でのパッケージの扱いについて 1. モジュール構造の検証 循環参照の検知 別モジュールへのアクセス違反の検知 2. モジュールに閉じた結合テスト 単一のアプリケーションモジュールで結合テストができること Bootstrap モードによって、結合テスト時に他モジュールの Bean 生成ができること 3. イベントによ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 以前、シフトレフトのために静的テスト、動的テストの2つのアプローチからどんなアクションを取れるかを記事にしました。 上記記事で書いたように、以前までのwith QAチームではテスト設計以降の作業を重視せざるをえず、上流工程でのテスト活動を明文化できていませんでした。しかし、メンバーの増強とユニット制への体制移行により、より上流工程から積極的にQAが関わっていけるようになりました。 その中でQAとして何ができるとよいのかを考えた結果、より積極的にテスト活動が行えるようテストプロセスを詳細化することにしました。具体的にはwith QAチーム
フロントエンド連載の6記事目です。 今年のゴールデンウィーク(STAY HOME週間)に最近話題のSvelteに入門したので紹介を書きます。 Svelteとはなんですか? 公式のサイトはこちらです。有志の方々が日本語翻訳のサイトを作ってくれています。たいへんありがとうございます! Svelteは主にブラウザ上で動作するユーザーインタフェースを作るフレームワークで、ReactやVue.jsの対抗馬的な存在です。 特徴とReactやVue.jsなどほかとの違い公式サイトでも、コーディングする際のコード量が少ないという特徴があげられています。 詳しくはこちらのブログに書かれています。コードが多ければ作業時間とバグが増えてしまうため、コードが減らすことはこれらの問題を減らすことができるというようなことが書いてありました。またブログには具体的なコードで量の差について書いていますのでぜひ見てみてくださ
複雑なプログラムを書いてしまうのを避けるために、if 文の else を避ける制約を設けてプログラミングしてみましょう、というアプローチがあります。これはあくまで、ThoughtWorks アンソロジーに書かれていた、ある種のプログラミング思考のトレーニング方法のひとつにすぎないものです。 しかし、権威だからか、あるいは、あまりコードを書かない人がわかりやすいと感じるからか、プロダクションコードの規約に使おうとする誤った考えがあります。そんなことをすると、コード品質は下がります。 else 禁止制約というのは、「これまで if-else で記述していた多くのコードは、実は、生成するオブジェクトの多態性によって、分岐の前倒しが可能になるものだったのか」という認識を得られれば、すぐに忘れるべきルールです。 ある実在の OSS コードを例に説明します。 https://github.com/xr
本連載では、スピードと品質を両立するためのアジャイルテスティングにおける重要なキーワードである「テストの自動化」について、WebブラウザやAPIレベルのエンドツーエンドテスト(E2Eテスト、この連載でのテスト自動化は主にE2Eテストの自動化を指しています)が求められる時代背景から、戦略や戦術、組織づくり、ノーコード・SaaS型のAIを活用したテスト自動化サービスの進化と具体的な実装、ベストプラクティスを解説します。第1回は、アジャイル開発やDevOpsが当たり前になった時代において求められるテストや品質について、時代背景を追っていきます。 はじめに 技術の進化とともに開発スピードは格段に上がり、システムはより複雑になり、求められる品質も高まっています。アジャイル開発やDevOpsという言葉が一般的になった今、これまで幾度となく議論されてきた「スピードと品質」の問題は、トレードオフではなく、
Datasetteの開発者であるソフトウェアエンジニアのサイモン・ウィリソン氏が、ソフトウェア開発においてAIに丸投げすることがダメな理由を解説しています。 Your job is to deliver code you have proven to work https://simonwillison.net/2025/Dec/18/code-proven-to-work/ 生成AIの普及により、Microsoft製品のコードの30%はAIで書かれていたり、開発者の92%がAIコーディングツールを愛用していたりと、ソフトウェア開発の世界にもAIは着々と浸透しつつあります。 しかし、何かしらのAIツールを利用する権限を与えられた若手エンジニアが、AIを用いてソフトウェア開発を行ない、動作テストなどをコードレビュープロセスに丸投げするケースがあるそうです。このような行為について、ウィリソン氏
これは、 C++ でコンパイル時に出力まで済ませようとした話です。 コンパイラは GCC に限ります。 はじめに もうすぐクリスマスですね! クリスマスにすることといえば……、 そう、コンパイル時処理ですね!! コンパイル時処理 C++ のコンパイル時処理は非常に強力で、様々なことがコンパイル時にできてしまいます。 普通はコンパイル時に決まる定数の計算に使われますが、これを悪用利用してコンパイル時に処理がすべて終わるようなものも書くことができます。 例として、コンパイル時 FizzBuzz を書いてみます。 #include <array> #include <string_view> #include <algorithm> #include <concepts> #include <iostream> template <std::unsigned_integral T> conste
Kiro、便利ですねー! AWS(というかAmazonなのかな?)が本気出してきたなーという感じで、「仕様書駆動開発」を謳っており、まずは設計文書を作成し、タスクを整理してから、実装を始める、といったより実際の開発工程に近いフローでLLMに開発させることができます。 何よりロゴが可愛すぎる。 さっそく利用者がたくさんおり、いろんな記事が出ていますが、最初にこんな記事を目にしました。 Claude Codeとの棲み分けなどについても記載されており、大変ありがたなーと思って読ませていただいたんですが、「デメリット」の項目に記載されていたところがやっぱり気になりました。 どうせ、いづれ利用可能になるわけですが、2025/07現在ではClaude Sonnet 3.7 or 4.0しか利用できず、Opus 4.0は利用できません。 なので、仕様書などを作成させても、結局はClaude Codeで実
昨日は月に一度のラジオのレギュラー放送で、テーマは「シン・ウルトラマンと量子力学と三角関数」だった。 シン・ウルトラマンはシン・ゴジラよりも現代物理学の用語が散りばめられていて、メジャーなフィクションの世界に初めてモダンな宇宙論が導入された作品として意義深い。 ネタバレになるので詳しくは語らないが、既に公開されている情報としては、Hey!Say!JUMPの有岡くん扮する滝くんの職業は「非粒子物理学者」であるとされる。 非粒子物理学は、2007年に生まれた非常に新しい理論物理学の一つで、なぜ「シン・ウルトラマン」の禍特対に非粒子物理学者がいるのかといえば、非粒子物理学が扱う対象が、質量がほぼゼロであり、扱う対象の大きさ(スケール)を変えても性質が変化しない物質がありうるだろうという予測から生まれている。まだそのような非粒子は発見されていないが、「スケールを変えても性質が変化しない非粒子の予測
Claude Desktop 等から Cline のようなコーディングを可能にする VSCode 拡張機能です! インストール方法 & 使い方 まず VSCode 拡張機能をインストールします。 次に、MCP クライアント側の設定をします: mcp-installerを使っている場合: 「vscode-as-mcp-server という MCP サーバーをインストールして」等でお願いすればインストールできます その他: 例えば Claude Desktop の場合、claude_desktop_config.json にて { "mcpServers": { ... "vscode": { "command": "npx", "args": [ "vscode-as-mcp-server" ] } } } このように JSON を追加することで設定可能です。 最後に、拡張機能をインストール
こんにちは、とまだです。 SuperClaudeのコマンドはたくさんあるけれど、どの順番で使えばいいか迷っていませんか? 実はSuperClaudeには「Common Workflows」という推奨パターンがあります。 この流れに沿って進めると、要件定義から実装計画の策定、さらにコード品質の向上までスムーズに開発が進むようになります。 今回は天気予報アプリを題材に、SuperClaudeの4つのワークフローを実践してみました! 忙しい人のために要約 SuperClaudeの推奨ワークフローで効率的に開発できる brainstorm → design → workflow の3つで設計が完成 各コマンドの実行結果が具体的で実用的 コード品質の分析と改善が数値で可視化される ドキュメント生成機能で開発資産を残せる ちなみに、こちらの動画版の方が解説は手厚いのでおすすめです。 今回使うワークフロ
FlutterのためのDart製サーバフレームワーク「Serverpod 1.0」正式リリース。Dartでサーバからクライアントまで開発可能に FlutterアプリケーションをクライアントとしたバックエンドサーバのためのDart製フレームワーク「Serverpod 1.0」がオープンソースとして正式にリリースされました。 これでFlutterによるクライアント開発だけでなく、サーバでもDartを用いた開発体験を得ることができるようになります。 We are live! Watch the @ServerpodDev 1.0 release keynote on Youtube. Over a year in the making. Finally you can write your #Flutter app #backend in #Dart.https://t.co/c5P1SGqiO
・嫌いなものの記事に自分から突っ込んで行って嫌いと言う ・(類似製品の)好きなものの記事に行って嫌いなものの苦言を言う 自分から嫌いと言いに行くのはもうアレな人の手前なんよ… それが嫌いなら開かず無視したらええねん…ひたすら腐してるのはなんなん… あなたが望む実現しない要件を何度も挙げて最低条件って言うのは客観的に見て結構恥ずかしくないですか?他のみんなは大多数が興味があって覗いて、少数は内容を批判的に論じるんだけどxlc さんのは内容関係ないよね…? 超バズったからやってきた。とかならわかるんだけど公開ブクマ1桁以内でこういうの言っちゃったりしてるのは当たり屋じゃないっすかね… ちょっと心を落ち着けてはいかが? なぜコーディングにVSCodeを使うのか。 私がVSCodeを選んだ理由 xlc 2024-03-13 全く心が動かない。私的には80カラム固定のペインが2つ開きっぱなしの状態が
こんにちは、@p1assです。 最近、Next.js 13 から beta で導入されている App Directory を趣味で触っているのですが、今まで SPA を採用しづらかった事業領域でも React のエコシステムを使えるようになりそうな予感がして、ワクワクしています。 このブログでは、今までどういった課題があり、Next.js の App Directory がそれをどのように解決するのかを紹介します。 なお、内容はあくまで考察であり、実際に運用をしているわけでない点に注意してください。 これは「夢」なのです。 SPA に移行しづらいシステムたち レンダリングの移り変わり Angular や React、Vue.js が登場する前、HTML のレンダリングの多くはテンプレートエンジンを介して行われていました。 Rails や Spring、Django といったフルスタックフレ
LayerX Tech Advent Calendar 2025の9日目の記事です。 バクラク事業部 ソフトウェアエンジニアの @upamune です。 今日は、ローカル開発のシークレット設定をいい感じにした話をします。 ローカル開発環境のシークレット設定、手動でやっていませんか? 「シークレットは1Passwordにあるので設定してください」 開発環境のセットアップでこのようなことを言った・聞いたことがある人も多いのではないでしょうか。APIキーなど、ローカル開発でシークレットの設定が必要なことがあります。 この記事では、AWS Secrets Manager と Go の struct tags を組み合わせて、ローカル開発時のシークレット設定を自動化した仕組みを紹介します。シークレットを手動で設定する手間をなくし、開発体験を向上させることが目的です。 背景・課題 私たちのチームでは、
I often feel like javascript code in general runs much slower than it could, simply because it’s not optimized properly. Here is a summary of common optimization techniques I’ve found useful. Note that the tradeoff for performance is often readability, so the question of when to go for performance versus readability is a question left to the reader. I’ll also note that talking about optimization n
「あの人も読んでる」略して「も読」。さまざまな寄稿者が最近気になった情報や話題をシェアする企画です。他のテックな人たちがどんな情報を追っているのか、ちょっと覗いてみませんか? みなさんこんにちは。 「あの人も読んでる」、第2回目の投稿です。maguro (X @yusuktan)がお届けします。 今回のテーマ: MCPAIの進歩があまりにも目覚ましすぎる昨今、いかがお過ごしでしょうか。僕は少しキャッチアップが遅れ気味で危機感を持っているところです。 そんな中で僕が最近導入して即座に「もっと早く使い始めておくべきだった」と感じたのが「MCP(Model Context Protocol)」です。 すでに利用している方も多いと思いますが、2週間前の筆者のように「MCPって最近よく聞くけど、まあいつか気が向いたら設定するか」と考えているような方がもしいらっしゃったら、そのような方の背中を押したい
「母親が丸一日かけて作っていた30人分のシフト表を、プログラムで自動化した」という、とある人物のツイートが大反響を呼んだ。 母親が毎月ヒーヒー言いながらから丸一日かけて作成してた(意味わからないくらい条件が複雑な)シフト表(30人分)を、Pythonで自動作成するプログラム書いてあげた 日曜の3時間生贄になったけど、ITリテラシー皆無な母親は魔法みたいと言って5千円くれたし、PythonでExcel操作する勉強になったから○ このツイートは3.6万いいね、3000回以上の RTを記録。「技術者として最高の親孝行」「うちの息子になってほしい」「日本の未来は明るい」などといった、好意的な反応が寄せられた。 ツイートした24歳のシステムエンジニアmorioさんは、キャリコネニュースの取材にこう語る。 「驚きましたね。Twitterは“見る専”で、たまに気持ちをつぶやくくらい。自分のツイートがバズ
AIに全てを任せた危険な実験 Claude Code(月100ドル)に課金し、バイブコーディングに挑戦してみました。 (バイブコーディングとは、AIに振動的に高速でコードを生成・修正させ続ける開発スタイルです。) 今回は危険を承知でAWSの認証情報まで渡し、デプロイも含めて完全にAI任せにするという実験を1か月間行いました。 結論から言うと、最初の1週間は天国、その後は地獄でした。 最初の1週間 初週の生産性はとても良かったです。 エラーが出ても、そのままClaudeに投げれば瞬時に解決策を提示し、修正までしてくれます。UIデザインも仕様書を渡せばモダンなコンポーネントが次々と生成されました。 うまくいったコードはGitHubにコミットし常に良い状態をキープするようにしてました。 AWSへのデプロイもAI任せ。1週間でデモアプリが完成し、多少のバグはあったものの、ちゃんと動作していました。
JWS/JWE/JWT/IDトークンの包含関係 JWS (JSON Web Signature) と JWE (JSON Web Encryption) の直列化方法には、それぞれ JSON 形式とコンパクト形式がある。 JWT (JSON Web Token) は JWS か JWE だが、いずれにしてもコンパクト形式である。仕様でそう決まっている。 仕様により、ID トークンには署名が必要なので、ID トークンは JWS もしくは「JWS を含む JWE」という形式をとる。 ID トークンは「JWE を含む JWS」という形式はとらない。なぜなら、仕様により、ID トークンを暗号化する際は「署名してから暗号化」という順番と決まっているため。 アクセストークン/JWT/IDトークンの包含関係 アクセストークンの実装が JWT だとは限らない。 仕様により、ID トークンは必ず JWT で
Claude Code のツール検索ツールを有効にすることで、MCP ツールの定義を事前にコンテキストウィンドウに読み込まず、必要に応じて動的にツールを検索・呼び出しできます。これにより、多数の MCP ツールをインストールしている場合でもトークン使用量を大幅に削減できる可能性があります。この記事では Claude Code のツール検索ツールの概要と使用方法を紹介します。 Claude のツール検索ツール は Claude がすべてのツール定義を事前にコンテキストウィンドウに読み込むのではなく、必要に応じてツールを検索・呼び出すことができる機能です。これにより、不必要なツール定義がコンテキストウィンドウに含まれてコンテキストを圧迫する問題を回避できます。 2025 年 12 月現在、環境変数 ENABLE_TOOL_SEARCH=true を有効にすることで実験的に Claude Cod
使い捨ての電子タバコ上にウェブサーバーを立て、ここにウェブページをホストすることにエンジニアのボグダン・イオネスク氏が成功しています。 Hosting a WebSite on a Disposable Vape :: BogdanTheGeek's Blog https://bogdanthegeek.github.io/blog/projects/vapeserver/ イオネスク氏はここ数年、友人や家族から使い捨ての電子タバコを集めています。当初、使い捨て電子タバコを集めていたのは「バッテリー回収」のためだったそうです。しかし、近年の使い捨て電子タバコはUSB-Cポートを搭載しているなど、急激な進化を遂げているとイオネスク氏は指摘。 そこで、イオネスク氏が使い捨て電子タバコを分解してみました。すると、集積回路は特定用途向け集積回路(ASIC)ではなく「PUYA」と刻印された小さな集積
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く