登録して招待リンクを共有すると、動画再生報酬と紹介報酬を獲得できます。

検索結果 、Java)が68
、Java)が68 コミュニティ
1つのキーワードが1つのコミュニティです。
コミュニティ作成
アカウント
見つかりません
、Java)が68 を含む検索結果
📚 リポジトリ全体のドキュメントを、図つきで自動生成。最大140万行・8言語に対応し、DeepWikiを上回る品質を出すAIフレームワークCodeWikiです(ACL 2026採択)。 タイトル: FSoft-AI4Code/CodeWiki URL: 📦 概要 CodeWikiは、ソフトウェアリポジトリ全体に対して包括的なドキュメントを自動生成する、AI駆動のフレームワークです。単純なAPIリファレンスにとどまらず、アーキテクチャ図・データフロー図・シーケンス図・散文の説明を含む「システムレベル」の文書を作ります。大規模・多言語のコードベースで、ドキュメントを最新かつ完全に保つという課題に取り組みます。 ❓ 解決する課題 従来のドキュメントツールはスケールと文脈の扱いが苦手でした。CodeWikiは、モジュール間の相互依存の文書化、規模を保ったままのアーキテクチャ文脈の維持、孤立した部品ではなくシステム全体の相互作用を捉えること、という3つの核心課題に取り組みます。 🛠 方法論と提案手法 3段階で動作します。 ・階層的分解:動的計画法に着想を得たアルゴリズム的クラスタリングで、コードベースを一貫したモジュールに分割します ・再帰的マルチエージェント処理:複雑なモジュールにはタスクを動的に委譲する適応的なエージェントシステムを使います ・マルチモーダル合成:テキストと視覚成果物(Mermaid図)を統合し、図はNode.jsで検証します ・Python・Java・JavaScript・TypeScript・C・C++・C#・Kotlinに対応し、Claude# CodeやCodex CLI経由でトークン課金なしに実行できます 🎯 ユースケース 大規模・多言語コードの「生きたドキュメント」生成、新メンバーのオンボーディング資料、GitHub Pages互換のインタラクティブなHTML出力などに使えます。 📊 実験結果 ・独自評価CodeWikiBenchで、高水準言語(Python、JS)が79.14%、マネージド言語(C#、Java)が68#.84%の品質スコアを記録しました ・DeepWiki比で+4.73ポイント改善し、22.9万行のOpenHandsプロジェクトで82.45%を達成しました ・GitHubスター1.2k、フォーク193、ACL 2026採択で、8.6万〜140万行のコードベースを扱えます ・リポジトリ自身のドキュメントもCodeWikiで生成されており、その実力を体現しています #AIエージェント# #DevTools#
もっと見る
「DDDって実際のOSSでどう使われ、保守品質とどう関係してるの?」——有名な割に大規模な実証データがほぼなかったこの問いに、865リポジトリのマイニングで挑む研究です🔍 タイトル: Domain-Driven Design in Practice: A Mining Study of Maintenance and Evolution in Open-Source Repositories URL: ❓ 何を調べるの? 💡 GitHubのDDDタグ付き1,260件をフィルタした865リポジトリ(Java/C#/TypeScript)を対象に、8つの戦術的ビルディングブロック(Entities, Value Objects, Aggregates, Repositories, Domain Services, Domain Events, Application Services, Factories)の実態を分析します。 ❓ どうやって検出するの? 💡 3層パイプラインです。DDD固有のアノテーション、命名規約(例: OrderRepository)、パッケージ・ディレクトリ構造の3つを組み合わせ、精度0.75以上を満たした段階でのみ次へ進みます。 ❓ 何が一番の技術的課題? 💡 Bounded Context(境界づけられたコンテキスト)の境界違反です。「モデルとコードのギャップ」をクロスコンテキスト依存として定量化し、違反率=BC間依存÷全クラス間依存で測ります。境界推定は2名の人手でCohen's kappa 0.80以上を要求。 ❓ 信頼性の担保は? 💡 言語横断はKruskal-Wallis+Dunn事後検定、相関はSpearmanのρ。年齢・規模・言語・種別・チーム規模を交絡として制御し、検出が精度基準を割ったら結論を無効化せずスコープを狭める「劣化計画」を事前登録しています。 設計の堅牢さが際立つ研究で、DDDの保守・進化を語る実証基盤になりそうだと感じます。 #DDD# #ソフトウェア工学#
もっと見る
エージェントの共通言語「MCP」を、基礎からハンズオンで学べる公式カリキュラムが登場しました📚 しかも6言語対応です。 タイトル: microsoft/mcp-for-beginners URL: 📚 概要 Model Context Protocol(MCP)を、実践的かつハンズオンで教えるMicrosoft公式のオープンソース教育カリキュラムです。MCPは、AIモデルとクライアントアプリのやり取りを標準化する「ユニバーサルな翻訳機」と位置づけられています。 ❓ 解決する課題 MCPは、AIシステムとさまざまなツール・サービスの通信を標準化する最先端のフレームワークです。 ・しかし新しいプロトコルゆえ、体系立った入門教材が不足していました ・基礎からセキュリティ、実装、応用まで段階的に学べる土台が求められていました 💡 内容と構成 4フェーズ・11モジュールで構成されています。 ・基礎フェーズ(0〜2):導入、コア概念、セキュリティ ・構築フェーズ(3):15の実践ガイドで最初の実装を作る ・成長フェーズ(4〜5):高度な概念と実世界での応用 ・習熟フェーズ(6〜11):コミュニティ貢献と専門トピック、13ラボの総まとめ コードサンプルはC#・Java・JavaScript・Python・TypeScript・Rustの6言語で、電卓の例からDB統合の高度な実装まで段階的に進みます。# 🌍 ユースケース / 対象読者 いずれかの対応言語で基本的なプログラミング知識があり、クライアント・サーバーモデルやREST APIを理解している開発者向けです。AI/MLの背景は任意。MCPを業務に取り入れたい人の信頼できる出発点になります。 #MCP# #AIエージェント#
もっと見る
多分Javaが嫌いな人は、嫌いな人がJava使いなんだと思う。学生のときに、先生が嫌いだと教科も嫌いになるのと似てる。Javaは歴史も長いだけにね。私はJavaはライフサイクルポリシーがしっかりしていて素晴らしい言語だと思います。
もっと見る
AIでCOBOLからJavaへコード移植する方法の提案論文。 ・レガシーなCOBOLからJavaへの移行は、テストデータ不足で隅々まで検証するのが難しい ・そこで Locksmith Loop と呼ばれるAIエージェントによるテスト生成手法を提案 ・COBOLと生成されたJavaの双方にモックを組み込んで実行環境を用意 ・エージェントが入力値の探索と変異を反復し、プログラムの条件分岐の奥深くまで入り込む ・探索がブロックされた条件を特定して突破することで、カバレッジを広げていく ・今回は、430〜4,114行規模の3つのCOBOLプログラムでケーススタディを実施した ・結果として、オープンソースのプログラム2つではほぼ完全な網羅率に到達 ・実稼働相当の内製プログラムでも91.90%の分岐カバレッジを達成した
もっと見る
今週のナイトスクープ1本目は… 「伝説のJavaリングを復活させて」 茨城県の男子大学生(18)から。私はJavaというコンピューターに関しての技術が好きで、趣味が高じて中学生の頃にOracle Certified Java Programmer、GoldというJava最高難度の資格を取った。そして、様々なJavaに関するグッズを収集する中で、Javaリングなる大変興味深いものを発見し、即メルカリで購入。Javaリングは1998年に開かれた技術サミットで配布されたもので、指輪の中に小型のコンピューターが入っている。当時は来場者のプロフィールやコーヒーの好みを指輪に記録しておき、来場者管理やコーヒーマシンで利用したそうだ。私はこれを何とか動かしたいと思い、当時の機材を海外から買い揃えPCと繋いでみたのだが、上手く作動しない。指輪の内部構造を調べたところ、どうやら「Lithium Backup」なる部品が入っているようだ。名前から推測するにおそらくバッテリーのことで、30年もすれば切れていて当たり前。原因はこれにあると考え、交換を試みた。しかし、それが入っているであろう部分は台座に強く接着されているようで、およそ私の技術では開けられない。「超小型・指輪型コンピューター」の復活に力を貸して欲しい、というもの。
もっと見る
今週のナイトスクープは…🕵️ ①松井ケムリ 探偵 伝説のJavaリングを復活させて ②桂二葉 探偵 7年続く「カヨコ」への間違い電話 ③エース 探偵 虎の○○を漬けた高麗人参酒!? Javaリング、それは1998年に開発された 現代のスマートリングの先駆け💍 約30年の時を超えて目覚めさせることができるのか…!
もっと見る
# ADK 2.0の便利だけど知られていない機能 🌍 毎回同じシステムプロンプトやツール定義をLLMに送信するのは、コストもレイテンシも無駄だと感じませんか? ADK 2.0のコンテキストキャッシュ(ContextCacheConfig)は、繰り返し送信されるコンテキストデータをキャッシュし、LLMの呼び出しコストとレイテンシを削減する機能です。Gemini 2.0以降、Python v1.15.0以降、Java v0.1.0以降で利用可能です。 📌 タイトル:コンテキストキャッシュ (ContextCacheConfig) 🔗 URL: 🧩 概要 ContextCacheConfigは、LLMに送信するコンテキスト(システムプロンプト、ツール定義、会話履歴の固定部分など)をキャッシュすることで、トークン消費を削減します。3つの主要パラメータがあります。min_tokensはキャッシュを有効にするための最小トークン数のしきい値(デフォルト0)、ttl_secondsはキャッシュの有効期限(デフォルト1800秒=30分)、cache_intervalsはキャッシュの最大再利用回数(デフォルト10回)です。これらをAppオブジェクトに設定することで、自動的にキャッシュが適用されます。 🛠 使い方 ContextCacheConfigを作成し、Appに設定します。 ```python from import App from google.adk.context import ContextCacheConfig cache_config = ContextCacheConfig( min_tokens=1000, # 1000トークン以上でキャッシュ有効 ttl_seconds=3600, # 1時間キャッシュを保持 cache_intervals=20, # 最大20回再利用 ) app = App( agent=my_agent, context_cache_config=cache_config, ) ``` min_tokensを適切に設定することで、小さなコンテキストでは通常送信し、大きなコンテキストのみキャッシュするように制御できます。 🏗 本番システムへの組み込み方 ・大きなシステムプロンプトや多数のツール定義を持つエージェントで特にコスト効果が高い ・ttl_secondsをワークロードのパターンに合わせて調整する(短い会話→短いTTL、長い会話→長いTTL) ・cache_intervalsをリクエスト頻度に応じて設定し、キャッシュの鮮度とコスト削減のバランスを取る ・コスト削減効果をモニタリングし、パラメータを継続的に最適化する 💡 ユースケース 💰 大規模なシステムプロンプトを持つエージェントのAPI呼び出しコストを削減 ⚡ 繰り返しのツール定義送信を省略してレスポンスレイテンシを改善 🔁 高頻度のリクエストが発生するチャットボットでトークン消費を最適化 📋 固定的なコンテキスト(ルール、ガイドライン等)の再送信を効率化 ⚠️ 注意点 Gemini 2.0以降のモデルでのみ利用可能です。キャッシュが有効な間はコンテキストの変更が反映されないため、頻繁にシステムプロンプトを変更する場合はttl_secondsを短く設定してください。また、cache_intervalsを超えると新しいキャッシュが作成されるため、コスト最適化の効果が変動する可能性があります。 ✨ コンテキストキャッシュは、特にコンテキストが大きく頻繁にリクエストされるシナリオで、コストとパフォーマンスの両面で大きな改善をもたらします。 #ADK# #AIAgent#
もっと見る
# Palantir Foundryを学ぶ 🚀 ノーコードでは届かない複雑なロジックを、ソフトウェア工学の品質管理ごとデータ基盤に持ち込む。それがCode Repositoriesです。 📌 タイトルと機能のURL タイトル: Code Repositories(Pythonトランスフォーム) URL: 📝 概要 Code Repositoriesは、Foundry内で本番品質のコードを作成・協働するためのWebベースの統合開発環境(IDE)です。基盤にあるGitリポジトリをブラウザのUIから操作でき、コマンドライン無しでチーム開発を進められます。プラットフォーム固有の機能を備え、データエンジニアリングにソフトウェア開発の作法をそのまま適用できます。 🔧 機能の説明 バージョン管理とコラボレーションが中核です。 ・ブランチ作成・コミット・リリースタグ付けといったGit操作をWeb UIから実行できます ・プルリクエスト(PR)でコードレビューを行い、権限は「高度に設定可能」でレビュー必須化などの品質保証を支えます ・IntelliSense、リンティング、エラーチェック、文脈に応じたヘルプダイアログがすべてのリポジトリ種別で利用できます ・Transformsリポジトリでは、Python・Java・SQLでのデータ変換ロジックを記述し、プレビューとデバッグが可能です ・FunctionsリポジトリはオントロジーをネイティブにサポートしTypeScript/Pythonで低レイテンシのビジネスロジックを実装できます 🛠 実践的な使い方 ・PySparkを用いて、数十億行規模の名寄せや複雑な業務ルールをコードで実装します ・PRレビューを必須に設定し、マージ前に第三者の確認とCIチェックを通すことを強制します ・ユニットテストを組み込み、変換ロジックの回帰を防ぎます ・Functionsリポジトリでは、オントロジーのデータ型に基づくオートコンプリートを活かして安全にロジックを記述します ・モデル開発リポジトリで機械学習ワークフローもプラットフォーム内に取り込みます 🎯 ユースケース ・Pipeline Builderでは表現しきれない複雑な名寄せ・業務ルールをPySparkで実装 ・「本番直編集によるデグレ」を、レビュー必須化とブランチ運用で構造的に排除 ・派生KPIや検証ロジックをFunctionsとして実装し、各アプリから再利用 ・MLモデルの学習・推論コードをガバナンス下で管理 ⚠️ 注意点 ・ドキュメントの日本語訳は機械生成で未検証である旨が記載されており、ローカライズ内容には精度上の限界がある可能性があります ・リポジトリ種別(Transforms/Functions/Model)ごとに対応言語や用途が異なるため、目的に合った種別を選ぶ必要があります ・プロコード環境ゆえ、レビュー・CI・テストの運用ルールを組織として整備しないと品質管理の効果が出ません #PalantirFoundry# #DataEngineering#
もっと見る
# ADKの便利で実践的な使い方 📄 エージェントの定義をコードではなくYAMLファイルで行えたら、プロンプトの変更やモデルの切り替えが再デプロイなしでできますよね。ADKのAgent Configなら、宣言的なエージェント定義と環境ごとの設定切り替えが実現できます! 📌 タイトル:Agent Config — YAML宣言によるコードレスエージェント定義 🔗 URL: 🧩 概要 Agent Configは、ADKワークフローをコードなしでYAMLファイルとして定義できる機能です。`name`、`model`、`description`、`instruction`といった基本プロパティに加え、`tools`でのツール定義や`sub_agents`でのサブエージェント参照もYAMLで記述できます。`adk create --type=config`でプロジェクトを生成し、`adk web`、`adk run`、`adk api_server`で実行可能です。Pythonからは`config_agent_utils.from_config()`でプログラマティックに読み込むこともできます。 🛠 使い方 基本的なAgent Config YAMLの構成です。 ```yaml # root_agent.yaml name: assistant_agent model: gemini-flash-latest description: ユーザーの質問に答えるヘルパーエージェント instruction: | あなたはユーザーの様々な質問に答えるエージェントです。 丁寧で正確な回答を心がけてください。 tools: - google_search sub_agents: - config_path: specialist_agent.yaml ``` プロジェクトの作成と実行は以下のコマンドで行います。 ```bash # プロジェクト作成 adk create --type=config my_agent # 実行方法 adk web # Webインターフェース adk run # ターミナル実行 adk api_server # APIサーバーモード ``` Pythonから読み込む場合は以下のとおりです。 `google.adk.agents.config_agent_utils` の `from_config()` メソッドにYAMLファイルのパス(例: `"my_agent/root_agent.yaml"`)を渡して、エージェントオブジェクトをプログラマティックに読み込みます。 🏗 実践的な使い方 **環境別の設定切り替え**: dev/staging/prodごとに異なるYAMLファイルを用意し、環境変数でどのファイルを読み込むかを制御します。 ```yaml # config/dev/root_agent.yaml name: assistant_agent model: gemini-flash-latest instruction: | [DEV] デバッグ情報を含めて回答してください。 # config/prod/root_agent.yaml name: assistant_agent model: gemini-2.5-pro instruction: | ユーザーの質問に正確かつ簡潔に回答してください。 ``` `os.getenv("ENVIRONMENT", "dev")` で環境名を取得し、`config_agent_utils.from_config(f"config/{env}/root_agent.yaml")` で環境に対応するYAMLファイルを動的に読み込みます。 **プロンプトバージョニング**: YAMLファイルをGitで管理し、プロンプトの変更履歴を追跡します。コードの変更なしにインストラクションを更新でき、ロールバックも容易です。 **A/Bテスト**: 異なるインストラクションやモデルを持つ複数のYAMLファイルを用意し、ランタイムで切り替えてパフォーマンスを比較します。 `get_ab_variant(user_id)` でユーザーごとのA/Bバリアント(`"a"` または `"b"`)を取得し、`config_agent_utils.from_config(f"config/variant_{variant}.yaml")` で対応するYAMLファイルを読み込むことで、ランタイムでのA/Bテストを実現します。 💡 ユースケース 🔄 コード変更なしのプロンプト・モデル切り替え(再デプロイ不要) 🌍 dev/staging/prod環境ごとの設定管理 📊 インストラクションのA/Bテスト 📝 プロンプト変更履歴のGit管理とロールバック 🧩 非エンジニアによるエージェント設定の更新 ⚠️ 注意点 - 現在はGeminiモデルのみサポートされています。他のモデルプロバイダーは今後のサポートを待つ必要があります。 - カスタムコードを含むツールの利用はPythonとJavaに限定されています。 - `LangGraphAgent`や`A2aAgent`はAgent Configではまだサポートされていません。 - `.env`ファイルでAPIキーやプロジェクト設定を管理しますが、シークレットのコミットには注意してください。 ✨ Agent Configは、エージェントの定義をコードから設定ファイルに分離することで、非エンジニアでも安全にプロンプトやモデルを変更でき、環境ごとの切り替えやA/Bテストを容易にします。運用フェーズでの柔軟性を高めたい場面でぜひ活用してください! #ADK# #AIAgent#
もっと見る