並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 246件

新着順 人気順

jsonの検索結果1 - 40 件 / 246件

  • Model Context Protocol(MCP)とは?生成 AI の可能性を広げる新しい標準

    はじめに こんにちは。クラウドエースの荒木です。 ChatGPT や Claude などの生成 AI が日常生活やビジネスに浸透してきましたが、これらの AI の真価は外部システムと連携したときに発揮されます。しかし、この連携には大きな課題がありました。 これまで AI と外部システムを連携させるには、システムごとに個別の API 統合が必要で、認証方法やデータ形式、エラー処理など、細かな実装を繰り返す必要がありました。このような個別対応は開発効率を下げ、拡張性や保守性の面でも問題がありました。 そこで登場したのが「Model Context Protocol(MCP)」です。2024 年 11 月に Anthropic が発表したこのオープンプロトコルは、AI と外部システムの接続を標準化し、開発者の負担を大幅に軽減します。 この記事では、MCP の基本概念から実装方法、活用事例まで、技

      Model Context Protocol(MCP)とは?生成 AI の可能性を広げる新しい標準
    • MCPはゲームチェンジャーになるのか

      近年、Model Context Protocol (MCP)が脚光を浴びています。これは、大規模言語モデル(LLM)などのAIエージェントが、外部のツールやデータソースと安全に双方向接続するためのopenなプロトコルです。そして、MCPサーバーとは、そのプロトコルに従って外部サービスの機能やデータを公開するサーバーのことを指します。AIモデルとあらゆるデータ源との間の「橋渡し」を標準化しようという試みです。 例えるなら、MCPはAIアプリケーションにおけるUSB-Cポートのような存在です。USB-Cが機器と周辺機器を標準化された方法で接続するように、MCPはAIモデルと各種ツール・データ源を標準化された方法で連携させます。この画像がとてもわかりやすかったです。 今回は、MCPの仕組みと目的、そして生成AIの未来に与えるインパクトについて詳しく解説していきます。 MCPとは何か? MCPの

        MCPはゲームチェンジャーになるのか
      • VSCodeのDevContainer入門&Claude Codeのリファレンス実装を見てみる - くらげになりたい。

        この記事を読んで、Cline / RooCodeなどを使うなら、 ちゃんと使えるようにしたいなと思い、いろいろ調べてみたときの備忘録(*´ω`*) Cline / RooCodeを安全に使うためにDevContainerを使い始めた 環境は、macOS+OrbStack DevContainerとは Dev Containerは、Dockerコンテナ上で開発するための拡張機能。 環境構築をコンテナとして用意でき、ローカル環境も汚さないですむ Dev Containers - Visual Studio Marketplace Developing inside a Container また、開いたフォルダをコンテナ上にマウントして、コンテナ内で実行するので、 それ以外のファイルにアクセスできなくすることができるので、AIエージェントを使うときにも安全 コンテナへの接続方法はいくつかあり、そ

          VSCodeのDevContainer入門&Claude Codeのリファレンス実装を見てみる - くらげになりたい。
        • Blender MCP を試す|npaka

          「Blender MCP」を試したのでまとめました。 1. Blender MCP「Blender MCP」は、「MCP」を介して「Claude」を「Blender」と直接対話できるようにします。この統合により、プロンプトによる3Dモデル作成や操作などが可能になります。 2-2. Claude Desktop AIアシスタントのClaudeを利用するためのデスクトップアプリケーションです。 ・Claude Desktop​ 2-3. Python 3.10以降 + uvPythonは、公式サイトから適切なバージョンをインストールします。​ uvのインストール手順は、次のとおりです。 ・Mac brew install uv・Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex" set Path=C:\Users

            Blender MCP を試す|npaka
          • みんなのためのLLMアプリケーション開発環境の構築事例

            はじめに こんにちは。Game Platform DevのDong Hun Ryoo、Takenaka、Zhang Youlu(Michael)、Hyungjung Leeです。私たちの組織は、ゲームパブリッシングに必要なさまざまな機能を開発・運用する役割を担っています。 私たちは最近、組織内の業務効率を高めるためにさまざまなLLM(large language model)アプリケーションを開発し、それと連携してLLMOpsシステムの構築プロジェクトを行いました。プロジェクトの主な目標の一つは、参入障壁が高いLLMアプリケーション開発を、職種に関係なく誰でも簡単に作成できる環境を構築することでした。そのため、さまざまなことを考えながら試行錯誤を経た結果、誰でも簡単にアクセスできる開発・デプロイ環境を整えました。 今回の記事では、LLMアプリケーションの一般的な開発方法と開発プロセスで直面

              みんなのためのLLMアプリケーション開発環境の構築事例
            • 🚀 Figma MCP × Cursorで加速するUI実装とその先の工夫

              はじめに 近年、プロダクト開発の現場では「Design to Code」という概念が大きな注目を集めています。 これは、デザインツールで作成されたUIデザインを直接コードに変換する技術のことで、開発効率の大幅な向上が期待されています。 この流れの中で、Figma社は、Dev Mode(開発者向けの表示モード)やCode Connect(コードとデザインの同期機能)といった機能をリリースしてきました。 このような背景の中、つい最近では「Figma MCP」が話題となりました。 私たちのチームでは、このFigma MCPとAI搭載コードエディタ「Cursor」を組み合わせることで、実際のプロダクト開発に挑戦してみました! 本記事では、その導入過程で得られた知見、そして実際の運用における工夫について紹介します。 🤖 Figma MCPとは Figma MCPについては、こちらの記事が非常にわか

                🚀 Figma MCP × Cursorで加速するUI実装とその先の工夫
              • ココピーからChatGPTを呼んで文章生成させる - 無駄と文化

                ココピー (cocopy) というブラウザ拡張機能がある。 chromewebstore.google.com Webページを見ていて URL やページタイトルなどをコピー&ペーストしたくなったとき、ココピーを使うと思い思いの形式でクリップボードへのコピーができて便利だ。 ココピーについてはいろいろな人が紹介記事を書いているのでそれを読んでもらうのがいいと思う。 blog.pokutuna.com motemen.hatenablog.com ココピーは任意の JavaScript コードを実行できる ココピーは現在見ているページの URL・ページタイトル・コンテンツを JavaScript コードでいい感じに整形してからクリップボードに突っ込めるツールだ。 JavaScript コードはユーザーが好き勝手に書くことができる。fetch() を使って外部 API を叩くこともできる。 とい

                  ココピーからChatGPTを呼んで文章生成させる - 無駄と文化
                • GitHub - typedgrammar/typed-japanese: 🌸 Learn Japanese grammar with TypeScript

                  If you can write TypeScript, you can understand Japanese! Typed Japanese is a TypeScript type-level library that enables the expression of complete Japanese sentences through the type system. It creates a domain-specific language (DSL) based on Japanese grammar rules, allowing a subset of grammatically correct natural language to be written and verified using TypeScript's compiler. This project al

                    GitHub - typedgrammar/typed-japanese: 🌸 Learn Japanese grammar with TypeScript
                  • 私的MarkdownとGoogle Slidesでスライドを作成する方法(またはdeckの紹介) - Copy/Cut/Paste/Hatena

                    md2googleslides の体験が良すぎた結果、より体験向上のため、一から専用のツールを作った— k1LoW (@k1LoW) 2025年3月14日 md2googleslides 転職してKeynoteのスライドテンプレートがなくなったので*1、これを機にスライド作成環境をGoogle Slidesに移行することにしました。 ちなみに、今まではMarkdownで構成を書いて、それをあるタイミングでKeynoteに移して、以降はKeynoteを編集するという形で運用していたのですが、せっかくなのでもっとスライド作成体験が良くなる方法があるかもと思って調べてみました。その流れで見つけたのが md2googleslides です。 github.com これはMarkdownをもとにGoogle Slidesプレゼンテーションにページを追加してくれるツールで、本家は動きませんでしたが(メ

                      私的MarkdownとGoogle Slidesでスライドを作成する方法(またはdeckの紹介) - Copy/Cut/Paste/Hatena
                    • なるべくWSL側に寄せつつplaywright-mcpをClaude Desktopで使えるようにする

                      なるべくWindows側の環境には手を加えずにClaude Desktopからplaywright-mcpを使えるように設定する備忘録 環境 Windows 11 WSL v2.5.4.0 (Ubuntu 24.04.1) Claude Desktop for Windows v0.9.0 WSL側でNode.js環境は整備済みとする 手順 WSL側で npx playwright install-deps する WSL側で npx playwright install chrome する WSL側で npm install --global @playwright/mcp@latest する WSL側で which mcp-server-playwright でパスを確認して控えておく WSL側で which node でNode.jsのフルパスも控えておく Windows側でClaud

                        なるべくWSL側に寄せつつplaywright-mcpをClaude Desktopで使えるようにする
                      • GoogleのLLM「Gemini」でコードレビューをするGitHub Actionsを自力で構築してみた - NTT Communications Engineers' Blog

                        ビジネスdアプリ開発チームの立木です。現在、私たちのチームでは生成AIによる開発効率の向上を検討しています。その一環として、コードレビューの自動化を検討しています。 そこで、本記事では検証の一環として勉強も兼ねて、GoogleのLLM「Gemini」でコードレビューをするGitHub Actionsを自力で構築してみたのでその方法を紹介します。 Geminiとは Google AI Studio Vertex AI Google Gen AI SDK 着想の背景 コードレビューの観点 完成したもの ファイルの構成 処理の流れ gemini-code-review.yml gemini_review_code.py プロンプト 終わりに Geminiとは Geminiとは、Googleが提供しているLLMです。つい先日も、Gemini 2.5 proがリリースされ、コーディング能力を含め、そ

                          GoogleのLLM「Gemini」でコードレビューをするGitHub Actionsを自力で構築してみた - NTT Communications Engineers' Blog
                        • "「生成AIこんなものか」と諦める前に" 営業AIエージェント開発現場から学ぶLLM品質保証テクニック - Algomatic Tech Blog

                          こんにちは!Algomaticネオセールスカンパニーでソフトウェアエンジニアをしている越川と申します。 1月に弊カンパニーでリリースした アポドリ はまだまだたくさんの反響を頂いております。 apodori.ai 本記事では、アポドリを開発している中で向き合ってきた、LLMのアウトプット品質をいかにして担保するか?というお話をします。ぜひ最後まで見ていただけると嬉しいです。 ※本記事内のプロンプトはサンプルであり、アポドリで実際に使われてるものではありません なぜLLMのアウトプット品質の担保が難しいのか? 1. LLMのロジックがブラックボックスであるため 従来のシステム開発では、関数やアルゴリズムのロジックが明確で、入力と出力の関係性を追跡できました。 しかし、LLM(大規模言語モデル)は内部処理がブラックボックス化しており、同じ入力でも異なる出力を生成する可能性があります。 これは、

                            "「生成AIこんなものか」と諦める前に" 営業AIエージェント開発現場から学ぶLLM品質保証テクニック - Algomatic Tech Blog
                          • LLMによるパワポ自動生成にチャレンジしてわかった課題 - Insight Edge Tech Blog

                            はじめに こんにちは。2023年12月からInsight Edgeに参画したData Scientistのカイオと申します。 入社してから幅広い分野のAIや機械学習だけでなく、API構築やクラウドと関わり海外出張までする機会があって非常に感謝しています。 最近、LLMを使ってPPTXを生成する案件に携わり得た知識を共有しようと思ってこの記事を書きました。 目次 PPTXファイルの構成 PythonによるPPTXライブラリ(python-pptx) わかった課題 まとめ PPTXファイルの構成 皆様ご存知だと思いますが、PowerPointが世界一使われている発表資料です。OpenOffice等のオープンソースアプリも存在しますが人気度がそこまで高くありません。 PowerPointは2007においてPPTからPPTXフォーマットに変わってその中身の仕様は大きく変わりました。中身は非常に複雑

                              LLMによるパワポ自動生成にチャレンジしてわかった課題 - Insight Edge Tech Blog
                            • runn と Testcontainers で「ちょうどいい」Go API テスト - Techtouch Developers Blog

                              はじめに バックエンド API のテスト事情 バックエンドのテスト構成(これまでとこれから) テスト構成分類(これまで) テスト構成分類(これから) 「ちょうどいい API テスト」とは API テストに求める価値 実行の容易性 メンテナンスのしやすさ 技術選定のポイント runn の採用理由 Testcontainers の活用 実装例 API サーバー実体 APIテスト runn シナリオ APIテストコード おわりに はじめに バックエンドエンジニアの nome です。花粉症🤧なのでこの時期はリモート仕事の幸せを改めて実感しています。 テックタッチのバックエンドAPIでは、これまでユニットテストと Postman による API 統合テストを中心に自動テストを実施してきましたが、テストカバレッジの不足や実行・メンテナンスコストの課題がありました。 本記事では、これらの課題を解決する

                                runn と Testcontainers で「ちょうどいい」Go API テスト - Techtouch Developers Blog
                              • 5分で再入門する npm dependencies - 空の箱

                                最近pnpmのドキュメントを眺めていたんだけど、そこでよく知らない依存関係の種類が出てきた。なので、理解したことをまとめてアウトプットしておく。 そもそも依存関係とは? package-lock.jsonとは? といった話は理解できている前提で書く。 dependencies 最も基本となる依存関係。npm installするとdependenciesに書かれたものは全てインストールされることになる。 なので、本番環境で使うものしかここには入れてはいけない。 devDependencies 「dependenciesには本番環境で使うものしかいれてはいけない」と上で話した。「ではそれ以外のものはどこにいれるのか?」となるが、その答えがここ。 繰り返しだがこの話自体はいろんな記事やカンファレンスのトークで擦られ続けているので、もうお腹いっぱい感がある。 一応書くと、devDependenci

                                  5分で再入門する npm dependencies - 空の箱
                                • Vercel AI SDK で MCP クライアントをツールとして利用する

                                  Vercel AI SDK で MCP クライアントをツールとして利用する MCP(Model Context Protocol)は LLM に追加のコンテキストを提供するための標準化されたプロトコルです。Vercel AI SDK は v4.2 から MCP をサポートしており、MCP クライアントをツールとして利用できます。この記事では Vercel AI SDK を使って MCP ツールを使用する方法を紹介します。 MCP(Model Context Protocol)は、LLM(大規模言語モデル)に追加のコンテキストや機能を提供するための標準化されたプロトコルであり、AI アプリケーション開発において注目を集めています。MCP を利用することで、LLM は外部ツールやデータソースと連携し、より高度なタスクを実行できるようになります。 MCP サーバーの例としては、以下のようなものが

                                    Vercel AI SDK で MCP クライアントをツールとして利用する
                                  • WebAssemblyとマルチスレッドによる環境に依存しない高速画像変換

                                    画像変換の WebAssembly 利用 本稿では、画像サイズ変更やフォーマット変換といった処理を WebAssembly で行う方法について紹介します。また、必要に応じてマルチスレッドを使用することで、処理を並列化し、より高速な実行を実現できます。 なぜ画像変換を WebAssembly で行うのか JavaScript は大量のビットデータの扱いには強くありませんが、WebAssembly は SIMD(Single Instruction, Multiple Data)などを使い、並列処理をサポートしています。これにより、画像変換のような重い計算を高速化できます。また、WebAssembly はブラウザだけでなく、Node.js や Deno など他の環境でも利用可能です。 今回は Emscripten を使用して C++でコンパイルを行います。WebAssembly に関して Ru

                                      WebAssemblyとマルチスレッドによる環境に依存しない高速画像変換
                                    • Context is all you need: Better AI results with custom instructions

                                      Context is all you need: Better AI results with custom instructions March 26, 2025 by Rob Conery, @robconery.com, Burke Holland, @burkeholland Earlier this month, we announced the general availability of custom instructions in Visual Studio Code. Custom instructions are how you give Copilot specific context about your team's workflow, your particular style preferences, libraries the model may not

                                        Context is all you need: Better AI results with custom instructions
                                      • LLMモジュールの普通ではない使い方

                                        それはある日のこと ある日のこと、社内Slackに吉川部長からこんな投稿がありました。 「伊達さんがXでリポストしてたアリババクラウドのオープンソースLLMって、オフラインでLLMが動く小さいモジュールなのかしら?オフラインでLLMが使える可能性があるなら試してみたい感じではあります。」 これは、M5Stack社のLLMモジュールの発売案内に関するポストでした。 LLMモジュールが面白いのは、AI対話アプリケーションをハードウエア単体だけで実現しているところです。高価なGPUを積んだPCであれば単体で実現するのは比較的容易なのですが、安価な基板1つだけで音声対話型AIを実現してしまうのは、ちょっとびっくりする技術です。 一般的に、音声対話型のAIを実現するためには、以下の4つの技術が必要になります。 キーワード検出 KWS(Keyword Spotting):特定のキーワードやフレーズを音

                                          LLMモジュールの普通ではない使い方
                                        • 【Gemini】GPU不要!超軽量TTSとLLMを使ったチャットWebサービスの構築 ~ UTAU収録音声を用いたTTS ~

                                          はじめに エイプリルフールネタとして、「蒼月ハヤテ」という歌声合成音声ツール用の素材キャラクターを作りました。 その際に配布サイトも自作したのですが、折角キャラクターと歌声生成用の自分の声データがあったので、それらを組み合わせてLLM=>TTS(text-to-speech)を繋げたら、まるで自分のクローンが喋っているようになると思ったので、隠し機能としてTTSでのお試しと会話機能をWebに展開しました。 今回は備忘も込めて、各種技術の紹介をしようと思います。 できあがりイメージ ざっくり使用技術 Typescript arwes (frontend design) Next.js Gemini API (LLM) tone.js (sound) render.com (deploy) upstash (security) 要件の整理と技術選定 元々は「UTAU」という合成音声用の素材配布

                                            【Gemini】GPU不要!超軽量TTSとLLMを使ったチャットWebサービスの構築 ~ UTAU収録音声を用いたTTS ~
                                          • Aurora DSQL は何が新しいのか?(まとめ + 内部技術編)[DeNA インフラ SRE] | BLOG - DeNA Engineering

                                            こんにちは、IT 基盤部第4グループの西崎です。主に DeNA がグローバルに展開するゲームのインフラ管理を担当しています。 今回は昨年末の AWS re:Invent で発表された Amazon Aurora DSQL(以下 Aurora DSQL)について紹介します。ちょうど最近データベースについて調べていたのですが、その最中に AWS re:Invent 2024 での Aurora … 第2回:コンポーネント分割が進んでいる + 楽観的排他制御を採用している 第2回では Cloud Spanner(以下 Spanner) との比較を行いました。Aurora DSQL は同じ分散 SQL である Spanner よりもトランザクションに関係するコンポーネントの分割がより細かくなっています。さらに楽観的排他制御を採用しているため、以下のメリットがありました。 レイテンシが低い 特にマル

                                              Aurora DSQL は何が新しいのか?(まとめ + 内部技術編)[DeNA インフラ SRE] | BLOG - DeNA Engineering
                                            • otlp-http-spyでOTLP/HTTPの内容を目視する - febc技術メモ

                                              はじめに OpenTelemetryを活用した分散トレーシングやメトリクス収集が広がる中、OTLP/HTTP通信の内容を詳細に確認したいという場面がちょいちょいあります。 例えばさくらのクラウドのモニタリングスイートというサービスではログをOTLP/HTTPで送信可能です。 manual.sakura.ad.jp このモニタリングスイートと連携する時にどのようなリクエストを送っているのかだとかレスポンスの具体的な内容だとかを確認したいケースがあったりします。 これを簡単に行うためにOTLP/HTTPでのリクエスト/レスポンスを可視化する軽量プロキシツール otlp-http-spy というのを作ったのでご紹介します。 otlp-http-spyとは? otlp-http-spyは、OpenTelemetry Protocol (OTLP) のHTTP通信を監視し、リクエストとレスポンスの内

                                                otlp-http-spyでOTLP/HTTPの内容を目視する - febc技術メモ
                                              • Xee: A Modern XPath and XSLT Engine in Rust

                                                Xee: A Modern XPath and XSLT Engine in Rust By Martijn Faassen • 2025-03-27 • Tags: xml, rust, xpath, lxml For the last two years I've been working on a programming language implementation in Rust named Xee. Xee stands for "XML Execution Engine" and it supports modern versions of XPath and XSLT. Those are programming languages, and yes, that's XML stuff. Now hold on. Your brain might shut down whe

                                                • Meet Declarative Web Push

                                                  Web Push notifications are a powerful and important part of the web platform. As someone’s very famous uncle once said, with great power comes great responsibility. When we added Web Push to WebKit we knew it was imperative to maintain people’s expectations of power efficiency and privacy. We took a deliberate approach to maintain those expectations when implementing Web Push for Safari on macOS,

                                                    Meet Declarative Web Push
                                                  • 4 ステップでモダンな tsconfig.json を作る - mizdra's blog

                                                    tsconfig.json を使うと、型チェックを緩く/強くしたり、また出力する JS の形式を変えたりできる。しかしいくつかの事情から、正しく書くのが難しい。 オプションの数が非常に多い その数なんと 133 個 *1 オプションの意味や役割が理解しにくい 公式ドキュメントは丁寧にかかれているが... JavaScript や TypeScript の仕様、型の知識、歴史的経緯などを知らないと理解しづらい 推奨されるオプションが変わっていく 言語やエコシステムの進化/変化によって変わる 最近だと Node.js の require(ESM)/TypeScript サポートで変わった 「オプションの細かい意味とかは一旦いいから、モダンで最小限の tsconfig.json がすぐに欲しい!!!」。そうした声に応えて、id:mizdra がオススメする「4 ステップでモダンな tsconfi

                                                      4 ステップでモダンな tsconfig.json を作る - mizdra's blog
                                                    • m3.com iOSアプリにホーム画面とロック画面のウィジェットを導入しました - エムスリーテックブログ

                                                      こんにちは、マルチデバイスチームでモバイルアプリエンジニアをしている小林 (@bakobox) です。 先日、m3.com iOSアプリにホーム画面とロック画面用のウィジェットを実装しました。 エムスリーのiOSアプリでは初の導入ということもあり、ウィジェット実装に関する知見が得られたので共有いたします! ウィジェット導入の背景 導入したウィジェット ホーム画面用 ロック画面用 実装時のTips Widget Extensionを追加する方法(XcodeGenを利用している場合) はじめにXcodeでファイルを生成する project.ymlを編集 本体側とのデータ共有について UserDefaults HTTPCookieStorage ユーザーがウィジェットを設置しているかどうかを調べたい ユーザーの行動ログを荒らさないように気をつける 特定時刻にデータを更新する実装を行っている場合に

                                                        m3.com iOSアプリにホーム画面とロック画面のウィジェットを導入しました - エムスリーテックブログ
                                                      • Claude DesktopとMCPを使って学習ログを作る

                                                        やりたいこと 日々の学習を効率化するために、参考になったwebページの内容を振り返る仕組みが欲しい 最近はMCPの開発が盛んなのと、ClaudeDesktopからだと定額で利用できるため、これらを使って簡単な学習ログの仕組みを構築する 参考にした記事 必要なもの Claude Desktop Claude Pro アカウント fetch MCP サーバ URLを投げつけると中身を読んでくれる ページにあるLinkの先とかまで読んでほしいときはPlaywrightMCPを使うと良さそう Claude Code MCPサーバとして動かすとファイルの読み書きができる 作り方 ClaudeProに課金したアカウントであれば、ファイル>設定>開発者>構成を編集 とすると、 claude_desktop_config.jsonがあるディレクトリが開く。 claude_desktop_config.js

                                                          Claude DesktopとMCPを使って学習ログを作る
                                                        • Terraform実行ユーザー用の最小権限の原則を支援するPike触ってみた | フューチャー技術ブログ

                                                          はじめにTIG 真野です。Terraform連載2025の2日目です。 Pikeを触ってみた記事です。 PikeとはPike は James Woolfendenさんによって開発されたTerraformのコードを静的解析し、その terraform apply に必要な最小権限の原則に則ったIAMポリシーを生成するツールです。直接 .tf のコードをスキャンするというところが、良さそうと思ったポイントです。 Terraformを用いてインフラ構築する際には、強めの権限(本来は不要であるサービスの作成権限など)を付与して行うことが多いと思います。そのため、万が一のセキュリティ事故や誤操作で思いがけない結果に繋がる懸念がありました。しかし、最小権限の原則を忠実に守ろうとすると難易度・対応コストが高くなるため、ある程度割り切った運用を採用することが多いように思えます(もちろん、開発時は大きめを許

                                                            Terraform実行ユーザー用の最小権限の原則を支援するPike触ってみた | フューチャー技術ブログ
                                                          • 突然のデータ不整合!原因は Realtime Database の更新処理かも? 更新失敗を防ぐ TypeScript の解決策 - NTT Communications Engineers' Blog

                                                            TypeScript で Firebase の Realtime Database を利用すると、使い方次第でエラーが生じてしまう可能性があります。これは TypeScript の型チェックでは検知が難しいような undefined なプロパティを格納しようとしてしまうことがあるためです。この問題が起こるとデータ更新処理が失敗し、不整合な状態が発生してしまいます。 この記事では その問題を防ぐ方法を紹介します。 はじめに 環境 背景 Firebase Realtime Database の仕様 TypeScript の Partial 型 エラーの例 解決策 全パターンの更新関数を用意する 更新関数の中で undefined を除外する JavaScript のプロキシを使う プロキシの概要 プロキシを使った解決策の概要 実際の実装 各メソッドの解説 プロキシ処理の妥当性確認 各解決策の比

                                                              突然のデータ不整合!原因は Realtime Database の更新処理かも? 更新失敗を防ぐ TypeScript の解決策 - NTT Communications Engineers' Blog
                                                            • FeatureFlagツール内製化で実現するトランクベース開発 | CyberAgent Developers Blog

                                                              はじめに こんにちは!AI事業本部 アプリ運用カンパニーでバックエンドエンジニアをしている26卒内定者の荻原瑛史です。 本記事では、CyberAgent内定者バイト期間中にトランクベース開発(Trunk‑Based Development)をバックエンドチームへ導入し、それを支えるFeature Flag管理ツールをOpenFeature仕様に準拠して内製した取り組みを紹介します。 トランクベース開発とは トランクベース開発は各開発者が作業を小さな単位に分割し、少なくとも1日に1回メインブランチへマージを行うことで継続的インテグレーションを実現します。長期間存続するブランチを排除し、マージコンフリクトとレビューコストを大幅に削減できる点が最大のメリットです。 しかしながら未完成の機能がそのままmainブランチにマージされると本番環境に反映されてしまうため、Feature Flagで機能の切

                                                                FeatureFlagツール内製化で実現するトランクベース開発 | CyberAgent Developers Blog
                                                              • What's New in Neovim 0.11 | g.p. anders

                                                                Neovim 0.11 was just released. As in previous installments in this series, let’s talk a bit about some of the big highlights! As always, the full list of changes can be found in the release notes (use :h news to read inside of Neovim). Table of Contents Breaking Changes LSP Simpler LSP setup and configuration Builtin auto-completion Improved hover documentation Putting it all together Diagnostics

                                                                • Next.js App Router で実装!技術スタック共有っぽいサンプルアプリ

                                                                  先月執筆した 「Next.js App Router で実装!フリマっぽいサンプルアプリ」 という記事に続き、たまたま機会があったので Next.js App Router で実装シリーズの第二弾として、技術スタック共有サイトっぽいサンプルアプリを作ってみました。 前回の記事では、ディレクトリ構成やレンダリングモデルなどの基本的なところを手探りで書いていました。今回の記事では、ディレクトリ構成など踏襲しつつ下記の部分をアップデートとして取り組んでみました。 ORM を用いた DB アクセス 簡易的なテスト Next.js 特有のモーダル実装 認証認可 OpenTelemetry による計装 今回は「Next.js でフルスタックに実装する際の技術スタックは何を使う?」というのをテーマに実装してみました。一ヶ月間の隙間時間で実装したにしては色々な要素を詰め込めて、自分なりに最低限こういった周

                                                                    Next.js App Router で実装!技術スタック共有っぽいサンプルアプリ
                                                                  • Model Context Protocol specification

                                                                    Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. Whether you’re building an AI-powered IDE, enhancing a chat interface, or creating custom AI workflows, MCP provides a standardized way to connect LLMs with the context they need. This specification defines the authoritative protocol requirements, based o

                                                                    • IoTマルウェアMiraiの設定情報抽出ツール「mirai-toushi」の公開 | IIJ Engineers Blog

                                                                      セキュリティ本部データ分析課所属。2020年新卒入社。情報分析基盤のセキュリティログ分析を行う傍ら、マイニングマルウェアやIoTマルウェアを調査しています。 はじめに 2024年から2025年の年末年始にかけて、様々な企業に対するDDoS攻撃が発生し、サービス障害が相次ぎました。 DDoS攻撃の原因として、IoTマルウェアに感染したIoT機器(ルータ、DVR、IPカメラなど)が関与しており、これらの感染したIoT機器がC2サーバから指令を受けてDDoS攻撃を実行しています。 2016年にソースコードが流出したIoTマルウェア Mirai とその亜種が、2025年現在でも攻撃によく使われています。 攻撃者はオリジナルのソースコードをそのまま攻撃に使っているわけではなく、C2サーバなどの情報が格納された設定情報を編集した上で、攻撃に使うマルウェアをクロスコンパイルします。 このため、Mirai

                                                                        IoTマルウェアMiraiの設定情報抽出ツール「mirai-toushi」の公開 | IIJ Engineers Blog
                                                                      • 脅威インテリジェンスはショートケーキの苺なんです|Nasotasy

                                                                        サイバーセキュリティの界隈で注目度がまた上がってきた脅威インテリジェンスのネタ、つぶやいたがオチが見つからないので没にしようかと思ったが、タイトルとは裏腹に少し真面目に脅威インテリジェンスを購入(契約)することに対する期待値と、課題感について少しまとめてみる。 よく聞く期待値の話「脅威インテリジェンスって凄いらしいじゃないか!うちの組織でも活用できないか?」みたいな話がお偉いさんから飛んでくるらしいですね、そうです、こういった企業戦略や、サイバーセキュリティの銀の弾丸(…ではないのだが)として企業の上層部にはよく刺さる。 例えばこうだ、「あなたの組織の業界は◯◯に狙われている。この情報は参考にお渡しします」とベンダーにサンプルを渡される。彼らも真面目に分析した正当なパーツのインテリジェンスが分け与えられたら「そりゃすごい!」となるだろう。むしろならない組織はそれはそれで心配になる。 すると

                                                                          脅威インテリジェンスはショートケーキの苺なんです|Nasotasy
                                                                        • [Cline] Memory Bank を一括読み込みする MCP を作ってみた

                                                                          TL;DR Cline の Memory Bank は複数ファイルの読み込みが必要で、毎チャット5回程度のチャットのラリーが発生する MCP で簡単なツールを作り、一回のやり取りで前ファイルの読み込みが可能になった。 MCP は一種の Custom Instructions のようにも使える 課題 Cline で Memory Bank という、Cline にプロジェクトの知識を外部化して持たせるプラクティスがあるが、これをやっていると毎回チャットの初めにファイルの読み込みためのラリーが発生してしまいます。 これは Cline が使える read_file というツールが単一のファイル読み込みで、かつ、Cline は一回のチャットのラリーで一つのツールを一回しか使えないからです。 解決策 そこで今回は MCP で Memory Bank の一括読み込み用のツールを作ることで、このやりとりが

                                                                            [Cline] Memory Bank を一括読み込みする MCP を作ってみた
                                                                          • 【参加記】Web Speed Hackathon 2025で優勝した話

                                                                            はじめに 先日、CyberAgent主催のWeb Speed Hackathon 2025に出場しました。 Web Speed Hackathonはお題となるWebアプリケーションのパフォーマンス改善を行い、そのスコアで競い合うハッカソンです。似たようなものにISUCONがありますが、Web Speed Hackathonは主にフロントエンドの改善がメインとなっています。 ここでは参加記として改善の流れや感想などを書きます。 先にスコアの推移を載せます。途中でスコアが大きく伸びている部分がありますが、これは改善によってアプリがエラーで表示できなくなってしまった事によるものです。 また、リポジトリは以下のURLです。 環境構築・デプロイ・初期計測 以下のリポジトリをforkして始めます。アプリの内容は仮想の動画配信サービス「AREMA」だそうです。(なんか似た名前のサービスをCyberAge

                                                                              【参加記】Web Speed Hackathon 2025で優勝した話
                                                                            • Self-contained Python scripts with uv - the.dusktreader blog

                                                                              TLDR You can add uv into the shebang line for a Python script to make it a self-contained executable. I am working on a Go project to better learn the language. It's a simple API backed by a postgres database. When I need to test out an endpoint, I prefer to use the httpx python package inside an ipython REPL over making curl requests. It's nice to be able to introspect responses and easily packag

                                                                              • APIドキュメント管理が激変!Apidog MCPサーバーで実現するバイブコーディング(Vibe coding) - Qiita

                                                                                「え、これマジ?」AIとAPIの融合で開発が激変する瞬間 最近、開発現場でAIの波が押し寄せてきてますよね。私も昨日までは「AIなんて、まだまだ実用レベルじゃないでしょ」なんて思ってたんですが...衝撃的な体験をしてしまいました。それが今日お話しする「Apidog MCPサーバー」との出会いです。 いま、ソフトウェア開発の世界は大きな転換点に立っています。AIが私たちのコーディング方法を根本から変えようとしているんです。その中でも特に注目すべきなのが「モデルコンテキストプロトコル(MCP)」。これ、マジですごいんですよ! MCPって何かというと、AIコーディングアシスタントと外部知識ソースをスマートに繋ぐ革新的な技術なんです。ちょっと難しく聞こえるかもしれませんが、簡単に言うと「AIに必要な情報をピンポイントで与えられる仕組み」です。 従来のAIは訓練データの範囲内でしか答えられませんでし

                                                                                  APIドキュメント管理が激変!Apidog MCPサーバーで実現するバイブコーディング(Vibe coding) - Qiita
                                                                                • Form Control Styling Level 1 など: Cybozu Frontend Weekly (2025-03-25号)

                                                                                  Form Control Styling Level 1 など: Cybozu Frontend Weekly (2025-03-25号) こんにちは!サイボウズ株式会社フロントエンドエンジニアのsaku (@sakupi01)です。 はじめに サイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。 今回は、2025/03/25のFrontend Weeklyで取り上げた記事や話題を紹介します。 取り上げた記事・話題 CSS Form Control Styling Level 1 First Public Working Draft CSS Form Control Styling Level 1 の First Public Working Draft が公開されました。 長年OSやブラウザ間で一貫し

                                                                                    Form Control Styling Level 1 など: Cybozu Frontend Weekly (2025-03-25号)