DZone.com Feed 日本語 ノート

DZone.com Feed 日本語

DZoneは、技術とプログラミングの多くの側面に焦点を当てる包括的なオンラインプラットフォームです。このサイトは、異なるプログラミング言語、技術、フレームワーク、ツールに関する豊富な情報を提供します。サイト上で利用できる主な機能とリソースには、技術セクターの最新のトレンドと更新に関するニュースと記事、異なるプログラミングスキルを学ぶための多くのリソースとチュートリアル、ユーザーが互いに交流し、経験と知識を共有するコミュニティがあります。さらに、DZoneはテックプロフェッショナル向けの求人情報も提供し、技術とプログラミングに興味のある人々にとって有用なリソースとして機能します。

ノートのスレッド

エンタープライズアプリケーションにおける認証、特にAngularやSpring Bootのようなフレームワークを使用する場合、単なる追加機能ではなく、基本的なアーキテクチャ上の考慮事項です。シングルサインオン(SSO)や多要素認証のような機能の実装は、アプリケーション全体の機能に大きく影響します。SSOは、一見単純に見えますが、フロントエンドが新しい認証フローに適応する必要があります。コンポーネントがロードされる前にユーザーが認証されていることを確認するために、アプリケーションはルートガードを組み込む必要があります。アイデンティティプロバイダーへの、およびアイデンティティプロバイダーからのリダイレクトの処理は、アプリケーションの意図された状態を維持する必要があります。さらに、フロントエンドはトークンの有効期限切れを異常ではなく、標準的で予期される出来事として、適切に管理する必要があります。これらの複雑さは、認証がルーティング管理や状態処理に影響を与え、コアなフロントエンドアーキテクチャを決定することを示しています。これは、ログイン画面を超えて、アプリケーションの内部動作を根本的に変えます。したがって、認証は後付けではなく、開発の初期段階から統合されるべきです。
ほとんどのチームは、壊れたウェブスクレイパーを厄介な仕事として扱います。誰かがデータの不備に気づき、ブラウザでページを開き、セレクターを修正し、再デプロイします。これは、スクレイパーが1つしかなく、その出力を毎日確認する人がいる場合には機能します。しかし、それが12個にもなると機能しなくなり、壊れたスクレイパーは、数日後に下流のレポートに奇妙な数字として現れます。この記事では、LLMが修正を提案し、プレーンなPythonがその修正をリリースするかどうかを決定するという、他の本番サービスと同様にカタログ化され、ヘルスチェックされ、トレースされ、修理されるスクレイパーを構築した方法を説明します。このプロジェクトはWeMakeDevsハッカソンから生まれ、そこで最優秀賞を受賞しました。製品自体は小規模です。3つのストリーミングプロバイダーの約12日間のテレビガイドデータを抽出し、今後10本の映画と今後10本の番組をランク付けし、Philoでワンクリックでそれらを録画できるようにします。ここでは製品については省略し、配管、つまりドリフトルール、状態モデル、検証者、そしてそれぞれの背後にあるコードに焦点を当てます。これらの要素は、スクレイパーを実行するあらゆるチーム、またはLLMにライブシステムを変更させるあらゆるチームに適用できます。
Feature stores は、ML モデルのトレーニングとサービング間の特徴の一貫性という重要な問題に対処します。Feast は、特徴レジストリ、マテリアライゼーション、オンライン取得を管理することで、このギャップを埋めるように設計されたオープンソースソリューションです。これにより、モデルはトレーニング時と同じデータを本番環境で一貫してアクセスできます。リレーショナルデータベースやクラウドデータウェアハウスで実証されることが多いですが、この記事では代替アプローチを探ります。特徴計算のエンジンとして Neo4j Desktop を利用します。5 つの特徴は、Cypher クエリで簡単に処理できる単純な集計を含みます。6 番目の特徴である顧客コミュニティ ID は、グラフアルゴリズムを使用して派生されます。これらのアルゴリズムは、Graph Data Science のノード類似性を通じて、類似した購入パターンを持つ顧客を特定します。その後、Louvain コミュニティ検出がこれらの類似した顧客をグループ化します。Feast はその後、これら 6 つの特徴すべてを取り込みます。推論中の効率的なサービングのために、それらを SQLite オンラインストアにマテリアライズします。このプロセスは、ポイントインタイムで正しいトレーニングデータの構築も保証します。
ソフトウェアチームは、AIエージェントを採用して、これまで以上に迅速にテストを作成、実行、修正しています。ブレークスルーは、通常、モデル単独ではありません。ChatGPTとCursorは、同じ基盤となるインテリジェンスを共有できますが、一方はコピー&ペーストのアシスタントのように感じられるのに対し、もう一方はファイルを編集し、コマンドを実行し、タスクが完了するまで反復できるチームメイトのように感じられます。違いはエージェントハーネスにあります。これは、モデルを指示、ツール、コンテキスト、およびガードレールでラップするオーケストレーションレイヤーであり、生の推論を信頼性の高いアクションに変えます。テスト自動化では、そのギャップはさらに重要になります。失敗したシナリオは、何千行ものPlaywright出力を生成し、ページオブジェクト、ステップ定義、テストデータ、および複数の環境にまたがることがあります。それらすべてを単一の長いチャットにダンプすると、モデルは遅くなり、コストは増加し、決定はよりノイズが多くなります。適切に設計されたハーネスは、モデルをダンプトラックではなくプランナーとして扱います。コードベースをインデックス化するため、エージェントは完全なファイルを読み取るのではなく、構造的な質問をすることができます。テストの実行とファイル生成を、コンパクトな要約を返す、より小さく分離されたワーカーに委任します。実行が開始される前に、資格情報、環境プロファイル、および参照フィクスチャを検証するため、失敗は「壊れたロケーター」として誤ってラベル付けされるのではなく、早期に検出されます。そして、何かが壊れた場合、それは管理されたパスを通じて障害をルーティングします。診断、修正、パッチの監査、変更されたもののみの再実行、人間が対応できる形式での結果の報告を行います。
バックログリファインメントセッションの準備は、時間のかかる反復的な作業となる可能性があります。人工知能は、すべてのバックログアイテムやチームのコメントを確認するといった、このような退屈な作業の処理に長けています。しかし、AIエージェントに「リファインメントの支援」というタスクを割り当てると、重大なリスクが生じます。そのようなエージェントは、意図せずチームから会話を逸らしてしまう可能性があります。受け入れ基準を作成しなくても、エージェントはバックログアイテムを閉じたり、マージしたり、分割したり、作成したりするようなアクションを提案できます。これは、チームがリファインメント中に探求するはずだった質問に先回りして答えてしまうことになります。これを軽減するためには、エージェントを使用する前に明確な境界線を設定する必要があります。エージェントの役割は、証拠を特定し、質問を形成することであるべきです。その後、プロダクトオーナーがこれらの質問を確認し、実際のリファインメントセッションのアジェンダを設定する責任を負います。チームは、このアジェンダに基づいてリファインメントプロセスを実行します。これらの境界線をA3ハンドオフキャンバスに文書化することで、エージェントの責任が明確になり、プロダクトオーナーは遵守を確実にすることができます。