並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 290件

新着順 人気順

DynamoDBの検索結果81 - 120 件 / 290件

  • ドメイン駆動設計を実践して自分の LINE 環境をリファクタリングしてみた | DevelopersIO

    手元にある LINE ボット環境のソースファイルが 1 ファイルにも関わらず 350 行超えたので、最近勉強したドメイン駆動設計を実践も兼ねてリファクタリングしてみました。 こんにちは、高崎@アノテーションです。 はじめに 過去の拙記事にも何度か登場している自身の LINE ボットの環境ですが、cdk のスタック定義が約 100 行、Lambda のソースが約 370 行と注ぎ足し注ぎ足しでだんだんと大きくなってきました。 一方、業務で使用している環境はドメイン駆動モデルを元に設計・構築を行っているものが多いため、これらの環境やドメイン駆動設計を学んだことを実践すべく、この LINE ボット環境をリファクタリングしてみました。 この記事の対象 筆者と同じく「ドメイン駆動設計を始めたばかりの方」向けと考えております。 今回の内容は筆者個人が参考文献を元に記載した記事で、ドメイン駆動設計の正確

      ドメイン駆動設計を実践して自分の LINE 環境をリファクタリングしてみた | DevelopersIO
    • FractalDBを内製するに至った背景とサービス設計概要

      こんにちは。エンジニアの中野です。前回は、私たちが開発している FractalDB: LINEヤフーのオンプレミス・マルチテナンシー型データベースシステムの紹介という記事を公開しました。 今回は続いて、開発に至った背景とそれからどのようなサービス設計を行ったのか、少し具体的な話をさせていただきます。 課題(FractalDB開発の背景) 社内クラウドDBが欲しい 比較的昔から「パブリッククラウドの"クラウドDB"、例えばAWS DynamoDB(以下DynamoDB)やGCP Cloud Spanner、Microsoft Azure CosmosDBのようなデータベースが社内にも欲しいよね」という漠然とした話はありました。 例えば、DynamoDBを使ったアプリケーション作成は、通常のRDBMSを使ったアプリケーション開発と以下のような違いがあります。 普通のRDBMSを使ったアプリDy

        FractalDBを内製するに至った背景とサービス設計概要
      • DifyとSlackを連携したSlack Botをつくってみた - NRIネットコムBlog

        こんにちは堤です。 最近よくDifyを使って遊んでいます。使っていくなかで他のチャットツールと連携させる方法を知りたいと思ったので、今回はSlackと連携する方法を備忘がてらまとめてみました。 Difyとは Slack Botの作り方 Slack Botの準備 権限の付与 Lambdaの関数URLの作成 Event Subscriptionsの設定 Difyのアプリ作成 Lambda関数の作成 動作確認 Bot作成例 まとめ Difyとは Difyは、オープンソースのLLMアプリケーション開発ツールで、ドラッグアンドドロップの簡単な操作で複雑なワークフローのアプリケーションを作ることができるのが特徴です。 コードを書くことなく、LangChainなどのフレームワークよりも簡単にLLMアプリを作成することができます。 dify.ai 主な特徴や機能をまとめてみました。 幅広いモデルが選択でき

          DifyとSlackを連携したSlack Botをつくってみた - NRIネットコムBlog
        • アプリケーションの動作を担保するテストをどう書くか - JX通信社エンジニアブログ

          こんにちは。kimihiro_nです。 今回はアプリケーションの動作を保証するために不可欠なテストコードの書き方についてです。 特に外部依存要素のテストに焦点を当ててみていきたいと思います。 外部に依存するテストコード 皆さんはアプリケーションのテストコードを書いていますか? 内部的な状態を持たず、入力と出力が常に変化しない関数であれば、テストコードを書くのは比較的容易です。実際に関数を呼び出ししてその出力と期待値が一致しているかをみればテストすることができます。 しかし実際にアプリケーションを開発する場合、データベースへの接続だったり外部へのAPI呼び出しだったりといった外部の状態に依存した処理が含まれることが多いです。このような場合、素直にテストを書くのが難しいです。 多くの場合モックを利用して実際のデータベース呼び出しを置き換えたり、テスト用のリソースをdockerなどで構築してダミ

            アプリケーションの動作を担保するテストをどう書くか - JX通信社エンジニアブログ
          • 順序性の担保とスループットはトレードオフだという話

            この記事について AWS SQSからメッセージを受けとって処理するLambdaを書いているときに、 標準キューだから順序保証されてないな、じゃあ順序バラバラできても捌けるように処理を書かないと! → ... → あれ???意外とこれ難しくない??? と思った経験、皆さんにもあるのではないでしょうか。 この記事では、筆者が上記のような壁にぶつかったときに「順序を保つってなんでそんなに難しいんだろう?」「保てないならどうやってそれに耐えうるようにすればいいんだろう?」と色々考察した結果を書いていきたいと思います。 使用する環境・バージョン 2024/6/22時点で提供されている機能に基づき考察 読者に要求する前提知識 AWSのSQS, SNS, Kinesis Data Streamがどういうサービスなのかは既知という前提のもとで書きました 順序セマンティクスとは 順序セマンティクスとは「イベ

              順序性の担保とスループットはトレードオフだという話
            • re:Invent2023 で登場した AWS Backup Restore testing でリストア検証を手軽に始める #LayerXテックアドカレ - LayerX エンジニアブログ

              こんにちは!バクラク事業部 Platform Engineering 部 DevOps チームの id:sadayoshi_tadaです。今期の呪術廻戦のアニメは原作にない描写が描かれてて最高でした。 この記事は LayerXテックアドカレ 49日目の記事です。前日は id:watau_lx さんによる 継続的なパフォーマンス改善のプロセスを紹介します でした。明日は kakeruさんが担当します。この記事では AWS の学習型カンファレンスである、re:Invnent 2023 で登場した AWS Backup Restore testing を検証した内容をまとめていきます。なお、re:Invent 2023 でのアップデートや新サービスをさらえる AWS re:Invent 2023速報 の資料と動画をもしチェックされてない方がいたら年末年始のタイミングでチェックしてみてください🔎

                re:Invent2023 で登場した AWS Backup Restore testing でリストア検証を手軽に始める #LayerXテックアドカレ - LayerX エンジニアブログ
              • AWS、Aurora MySQLとRedshiftをほぼリアルタイムに同期する「Amazon Aurora MySQL zero-ETL integration with Amazon Redshift」正式版に。追加料金なしで利用可能

                Amazon Web Services(AWS)は、Aurora MySQLとAmazon Redshiftのあいだでデータをほぼリアルタイムに同期する新サービス「Amazon Aurora MySQL zero-ETL integration with Amazon Redshift」(以下、zero-ETL)が正式版となったことを発表しました。 参考:[速報]Amazon AuroraのOLTPとRedshiftのDWHを統合する「Amazon Aurora zero-ETL integration with Amazon Redshift」発表。AWS re:Invent 2022 Amazon Auroraは高速なトランザクション処理を特徴とするリレーショナルデータベースであり、Amazon Redshiftは大規模データの高速分析を特徴とするデータウェアハウスのサービスです。ze

                  AWS、Aurora MySQLとRedshiftをほぼリアルタイムに同期する「Amazon Aurora MySQL zero-ETL integration with Amazon Redshift」正式版に。追加料金なしで利用可能
                • スタートアップで“より活かせる”AWS CDKの良いところ3つ 人が足りないために起きる「もういいか…」を補い、生産性を向上する

                  「Startup Day 2023」は日本中のAWSを利用するStartupが、AWSの知見を披露するHubとなる1日です。2023年はサブテーマに「スタートアップ冬の時代を共に乗り越える」を掲げて、スタートアップが面しているこの逆境をどうやって跳ね除け、成長につなげていけるかを共有します。ここで、株式会社メイツのk.goto氏が登壇。まずは、AWS CDKの良いところの5つのうち3つを紹介します。 k.goto氏の自己紹介 k.goto氏:では「スタートアップでこそCDKが活きた ~生産性を向上できた5つの理由~」というお話をします。どうぞよろしくお願いします。 gotoと申します。ふだんはテックリードをやっていて、AWS Community Builderというものにも選んでもらっています。プライベートで技術ブログとか自作ツールのオープンソース開発とか、あとは今日話すAWS CDKのC

                    スタートアップで“より活かせる”AWS CDKの良いところ3つ 人が足りないために起きる「もういいか…」を補い、生産性を向上する
                  • マルチテナントのAWSアカウントとKubernetesにおけるコストの可視化 - ZOZO TECH BLOG

                    こんにちは、カート決済SREブロックの飯島と、ECプラットフォーム基盤SREブロックの織田です。 本記事では複数チームで運用する共通のAWSアカウントとKubernetesにおけるコストの可視化についてご紹介します。 背景 コスト可視化に対する課題 課題解決へのアプローチ AWSリソースのコスト可視化 AWSコスト配分タグ タグの定義と運用ルール タグの付け方 AWS Cost Explorer AWSコスト配分タグの活用例 Kubernetesクラスタのコスト可視化 Kubecost 比較検討 カスタムバンドル採用の決め手 アーキテクチャ 可視化の仕組み ダッシュボード 効果 コスト可視化の活用事例 最後に 背景 現在、ZOZOTOWNはモノリスなサービスを機能ごとに分け、マイクロサービスに移行しながらモダンアーキテクチャへのリプレイスを実施しています。マイクロサービスの移行先としてクラ

                      マルチテナントのAWSアカウントとKubernetesにおけるコストの可視化 - ZOZO TECH BLOG
                    • 職場を明るくする - BASEプロダクトチームブログ

                      この記事は BASE Advent Calendar 2023 と 身の回りの困りごとを楽しく解決! by Works Human Intelligence Advent Calendar 2023 の12日目の記事です。 はじめに こんにちは、BASE BANK Division で資金調達サービス「YELL BANK」の開発を担当している Doarakko です。 BASE BANK Division については、最近社内異動制度を使用して入られた方がブログを書いてくださったので気になる方は読んでみてください。 参考:フルサイクルエンジニアリングの第一歩を進める - BASE BANKでの新たな挑戦 昨今リモートワークが増えていますが、弊社でも出社とリモートを組み合わせたハイブリッドワークとなっています。 出社頻度が少なくなったことで「オフィスに全然人がいない…」「なんだか職場が暗いな

                        職場を明るくする - BASEプロダクトチームブログ
                      • フォロー新着: 多様なサービスに対応したタイムラインシステムの技術的変遷 - dwango on GitHub

                        こんにちは。ニコニコ共通バックエンド開発担当の小野塚です。 2024年8月8日から順次「フォロー新着」機能がリリースされましたので、技術的な側面についてこれまでの歴史やニコニコに特徴的な点を含めご紹介したいと思います。 フォロー新着とは フォロー新着とは、フォローしているユーザー、チャンネル(入会しているチャンネルを含む)、マイリストの更新情報をまとめて新着順にタイムラインとして見られる機能です。 2024年9月リリース予定で開発を進めていましたが、前身であるニコレポのシステムがサイバー攻撃によってダウンしたため、代替として急遽前倒しでリリースされました。[1] フォロー新着システムに至るまでの歴史 今回のフォロー新着のために開発したシステムは、ニコレポ時代から数えると3つ目のタイムラインシステムとなります。 以前のシステムについて公開されている情報も無いようですので、これを機に簡単に紹介

                          フォロー新着: 多様なサービスに対応したタイムラインシステムの技術的変遷 - dwango on GitHub
                        • 新卒配属2ヶ月目でChatGPTを活用した新規機能開発プロジェクトにアサインされた話 | MEDLEY Developer Portal

                          2024-03-29新卒配属2ヶ月目でChatGPTを活用した新規機能開発プロジェクトにアサインされた話はじめに自己紹介はじめまして。人材プラットフォーム本部プロダクト開発室第一開発グループの田中です。 私は、2023 年の 4 月に新卒エンジニアとして入社し、日本最大級の医療介護求人サイト「ジョブメドレー」のフロントエンドとバックエンドの開発を担当しています。 学生時代は情報系ではなく、経済学を専攻していました。プログラミングには大学の授業で出会い、主にデータ分析に用いる R や Python を触っていました。そのため Web アプリケーションの開発は行っていませんでした。 エンジニアという職業に興味を持ったきっかけは、大学院時代に参加したインターンでした。インターン先の会社ではエンジニアが誰もいなかったのですが、開発未経験の私に機械学習を使ったアプリの PoC を作れという、かなり破

                            新卒配属2ヶ月目でChatGPTを活用した新規機能開発プロジェクトにアサインされた話 | MEDLEY Developer Portal
                          • IAM ユーザーのログイン失敗を検知して複数回失敗すると権限を剥奪する仕組みを作ってみた | DevelopersIO

                            こんにちは、AWS 事業本部の平木です! AWS における PCIDSS v3.2.1を見た時に要件 8 を参照するとアカウントロックに関する要件があります。 現状、執筆時点では IAM ユーザーで連続してログイン失敗してしまったとしてもアカウントをロックできる仕様はありません。 ただ、AWS 公式のコンプライアンスガイドを見ると以下のように記述されていました。 PCI DSS 審査の適用範囲内であると判断された IAM ユーザーには、8.1.6 および 8.1.7 のアカウントロックに関する要件を満たす追加の仕組みが必要です。お客様がこれを達成するには、AWS CloudTrail、Amazon DynamoDB、AWS Lambda、Amazon CloudWatch を組み合わせて連続したログイン失敗を追跡して、ログイン失敗がしきい値である 6 回連続で発生した場合に制限を強めた I

                              IAM ユーザーのログイン失敗を検知して複数回失敗すると権限を剥奪する仕組みを作ってみた | DevelopersIO
                            • 「現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策」で登壇してきました&質問の回答 #RAG_Findy - スタディサプリ Product Team Blog

                              こんにちは。@chaspyです。 先日こちらのイベントで登壇してきました。 findy.connpass.com 発表資料はこちらです。 概要については以下の @aoi1 さんの以下のブログも参照ください。 blog.studysapuri.jp 内容は資料を見ていただきたいですが、ポイントとしては以下になります。 基本的には検索システムと捉えている AI Search がクエリの生成と検索結果から回答生成を行っている そのため、E2E で評価しないと実際のアプリと同様の回答が得られない 若干高コストにはなるが、E2E で簡易的はリグレッションテストを行っている とにかく素早くフィードバックサイクルを回すことが重要(ソフトウェア開発と同じ) ユーザに使ってもらい、評価する、自分でテストを回して、修正する、を繰り返す 評価手法にこだわるよりは改善を繰り返す方が大事 また、アーキテクチャの補足

                                「現場で実践!RAG活用術 Lunch LT ― 運用して分かった"つらみ"とその対策」で登壇してきました&質問の回答 #RAG_Findy - スタディサプリ Product Team Blog
                              • Aurora MySQLで実現する運用ユーザー権限の最適化と秘密情報保護 - ZOZO TECH BLOG

                                はじめに こんにちは、ZOZOMO部SREブロックの蔭山です。普段はFulfillment by ZOZOやZOZOMOのSREを担当しています。 今回ZOZOMOで提供しているサービスの1つである「ブランド実店舗の在庫確認・在庫取り置き」のマイクロサービス(通称realshop-api)にてMySQLにアクセスできる運用ユーザーの権限管理の最適化を行いました。本記事でその取り組みについてご紹介いたします。 目次 はじめに 目次 なぜ権限管理を最適化したのか 権限管理が複雑化してきた 秘密情報を閲覧できるメンバーを制限する必要がでてきた どのように最適化したか ロール機能を使った権限の標準化 秘密情報の保護自動化 秘密情報カラムの管理 秘密情報カラムへの権限剥奪を自動化 秘密情報カラムを除いたVIEWの自動作成 実施した結果 まとめ なぜ権限管理を最適化したのか realshop-apiで

                                  Aurora MySQLで実現する運用ユーザー権限の最適化と秘密情報保護 - ZOZO TECH BLOG
                                • AWS SDK for Rust is now generally available

                                  Today, AWS announces the general availability of the AWS SDK for Rust, allowing customers to now use this for production workloads. The AWS SDK for Rust empowers developers to interact with AWS services and enjoy APIs that follow Rust idioms and best practices. AWS SDK for Rust provides idiomatic, type-safe API and supports modern Rust language features like async/await, non-blocking IO, and build

                                    AWS SDK for Rust is now generally available
                                  • PowerPoint Presentation

                                    AWS クラウドとオンプレミスとの違い 2017年2月 アマゾンウェブサービスジャパン株式会社 -TCOで考える- • AWSクラウドのサービスは、ご利用いただいた時間や量により費用が変動する従量課金です。そのため、事前に料金 確定見積を作成することはできない旨はご了承ください。 • 特に断りがない場合、本資料では2017年2月1日現在の東京リージョンの価格で説明しています。最新の価格は、 オフィシャルサイト(http://aws.amazon.com)でご確認ください。 • 価格は税抜表記となっています。日本居住者であるお客様が東京リージョンを使用する場合、別途消費税をご請 求させていただきます。 • 資料作成には十分注意しておりますが、資料内の価格とオフィシャルサイト記載の価格に相違があった場合、オフィ シャルサイト(http://aws.amazon.com)の価格を優先とさせていた

                                    • 特級呪物と化したAWS IoT Enterprise Buttonを勤怠ボタンとして活用する - Qiita

                                      この記事はHRBrain Advent Calendar 2023 9日目の記事です。 はじめに 初めまして。11月からHRBrainで業務委託として関わっている yakiniku0220です。 12月になり、いよいよ年末感が少しずつ出てきましたね。 年末といえば大掃除ですが、一気にやるのは億劫なので私は週末に細かくやっています。 そこで久々にあるものを発見しました。 そうですAWS IoT Enterprise Buttonです。 HRBrainでは各々がtimesのチャンネルを作っており、そこで作業の開始と終了を投稿しているのですが、毎回打ち込むのは面倒くさいのでアドベントカレンダーのネタとして面白いと思ったのと、実用的にも使えそうだなと思ったので今回記事として作りました。 AWS IoT Enterprise Buttonとは AWS IoT Enterprise Button ボタ

                                        特級呪物と化したAWS IoT Enterprise Buttonを勤怠ボタンとして活用する - Qiita
                                      • Amazon CloudWatch のクエリを自然言語で生成できるようになりました (プレビュー) #AWSreInvent | DevelopersIO

                                        どんなクエリを投げれば良いのか分からない こんにちは、のんピ(@non____97)です。 皆さんはCloudWatch Logs InsightsやCloudWatch Metrics Insightsにどんなクエリを投げれば良いのか分からないなと思ったことはありますか? 私はあります。 CloudWatch Metrics Insightsにはビルダー機能は存在しますが、それでも慣れていない方からするとハードルは高いように思えます。 今回、アップデートによりCloudWatch Logs InsightsやCloudWatch Metrics Insightsにて自然言語でクエリ生成ができるようになりました。 (2023/11/26時点ではプレビューです) AWS Blogsも公開されています。 Use natural language to query Amazon CloudWat

                                          Amazon CloudWatch のクエリを自然言語で生成できるようになりました (プレビュー) #AWSreInvent | DevelopersIO
                                        • CSVデータをS3にアップロード時AWS Lambdaをトリガーし、自動的にDynamoDBへデータを書き込んでみた | DevelopersIO

                                          CSVデータをS3にアップロード時AWS Lambdaをトリガーし、自動的にDynamoDBへデータを書き込んでみた はじめに Amazon S3バケットにアップロードしたCSVデータをAmazon DynamoDBテーブルに自動的に書き込むAWS Lambdaの作成方法を紹介します。 CSVデータをAmazon S3バケットにアップロード時、AWS LambdaをトリガーしAmazon DynamoDBテーブルにデータを書き込む方法について紹介します。 CSVデータをAmazon S3バケットにアップロード時、AWS LambdaをトリガーしDynamoDBにデータを書き込んでみた 構成は以下の通りです。 本構成では、AWSマネジメントコンソールからS3バケットにCSVファイルをアップロードすると、S3のPUTイベントをトリガーとしてLambda関数が起動します。Lambda関数は、CS

                                            CSVデータをS3にアップロード時AWS Lambdaをトリガーし、自動的にDynamoDBへデータを書き込んでみた | DevelopersIO
                                          • AWSが2024年7月25日に新規利用終了したサービスと代替 - Qiita

                                            AWSがCloud9、CodeCommit、他いくつかのサービスで、新規利用受付を終了したと、チーフエヴァンジェリストのJeff BarrがX(旧Twitter)に投稿しました。これらのサービスをすでに利用開始しているAWSアカウントでは現時点で引き続き利用できますが、未利用のAWSアカウントでは新規利用開始ができないようです。 終了されるサービスの代替情報などを(私見ですが)まとめます。 終了すると言及されたサービスは? 以下です(Jeff Barrの投稿での記載順)。 S3 Select CloudSearch Cloud9 SimpleDB Forecast Data Pipeline CodeCommit いくつかはすでに類似サービスがあり、そちらが主流になっていて、影響が小さいかと思います。ですがCloud9とCodeCommitはいまでも利用者が多く、後継サービスがAWSになく

                                              AWSが2024年7月25日に新規利用終了したサービスと代替 - Qiita
                                            • AWS CDKでサーバレスのローカル開発環境を構築した理由とは? デメリットの解消方法と実運用で直面した課題

                                              新規プロダクト開発にサーバレスアーキテクチャを採用 Works Human IntelligenceはERP市場 人事・給与業務分野 シェアNo.1[1]を獲得しているエンタープライズ向け統合人事システム「COMPANY」の開発、販売、サポートを行っている企業である。Works Human Intelligenceによると、COMPANYは国内大手法人の3社に1社にあたる約1200社が導入しており、約510万人の人事データを管理している。同社ではこの膨大な人事データを活用し、より顧客にとって価値のある製品や機能の開発に取り組んでいる。その一つが齋藤氏の紹介する「COMPANY Human Capital Insight(HCI)」である。HCIはCOMPANYやその他外部のシステムと連携し、人事データなどのあらゆるデータを集約。そのデータを元に男女間賃金差異や女性管理職比率などの人的資本に

                                                AWS CDKでサーバレスのローカル開発環境を構築した理由とは? デメリットの解消方法と実運用で直面した課題
                                              • 【セッションレポート】同期という思い込み 世界は非同期で構成されている(AWS-56)#AWSSummit | DevelopersIO

                                                はじめに AWS Summit Japan 2024 に参加しました。 「同期という思い込み 世界は非同期で構成されている」のセッションレポートです。 セッション概要 サーバーレスサービスである API Gateway や Lambda を使って REST API を構築されている方は多いのではないでしょうか。サーバーレスで REST API をつくると、サーバーの確保作業や設定の手間から解放され、デフォルトの可用性が与えられるなどメリットは大きいです。そして、その効果を最大化させるのが非同期アーキテクチャです。サーバーの呪縛から解放されるサーバーレスの真価はここにあります。このセッションではさまざまなサーバーレスの非同期パターンを紹介するとともに、実際の顧客事例においてどのようなユースケースで非同期系サーバーレスが利用されているかをご紹介いたします。 セッションスピーカー:下川 賢介 所

                                                  【セッションレポート】同期という思い込み 世界は非同期で構成されている(AWS-56)#AWSSummit | DevelopersIO
                                                • [プレビュー] AWS App Studio がプレビューリリースされたのでセットアップしてアプリ作成とテスト環境への公開までしてみた | DevelopersIO

                                                  [プレビュー] AWS App Studio がプレビューリリースされたのでセットアップしてアプリ作成とテスト環境への公開までしてみた いわさです。 2024 年 7 月 10 日 にAWS Summit New York が開催されています。 今年はバンバンアップデートが紹介されていてすごいですね。 そんな中、AWS App Studio という新サービスがパブリックプレビューでリリースされました。 アナウンスはこちら。 ちょっと触ってみたのですが、ノーコード・ローコードの類のアプリケーション開発サービスです。 今回はセットアップから適当なアプリの作成までを行ってみたのでその様子をまずは紹介します。 実際に思い通りのアプリを作成したり、何が出来て何が出来ないのかを知るにはもう少しアプリを作ったり壊したりすべきですが、まずはサービスの使い方のイメージが紹介出来ればと思ってます。 AWS A

                                                    [プレビュー] AWS App Studio がプレビューリリースされたのでセットアップしてアプリ作成とテスト環境への公開までしてみた | DevelopersIO
                                                  • Amazon Bedrockで発話での注文から、商品名と数量を抽出し、商品マスタの商品名と突合してみた[AIチャットボット] | DevelopersIO

                                                    Amazon Bedrockで発話での注文から、商品名と数量を抽出し、商品マスタの商品名と突合してみた[AIチャットボット] はじめに Amazon Connect、Amazon Bedrock、Whisper APIを組み合わせて、電話で発話された注文内容(商品名と数量)を認識し、商品マスタと突合する方法とその精度を検証しました。 精度の確認方法は、発話された商品名と数量がAWS Lambdaのログで発話通りに認識されているかを確認しました。 利用シーンとしては、電話での注文を無人対応するケースです。注文をヒアリング後は、自動で発注、もしくはオペレーターにエスカレーションが考えられます。 電話での対話の流れは、以下のようなイメージです。 発話した商品名と商品マスタの商品名を、生成AIを利用して突合することができれば、自動で発注が実現できます。 注文内容を復唱後、ユーザーには発話やプッシュ

                                                      Amazon Bedrockで発話での注文から、商品名と数量を抽出し、商品マスタの商品名と突合してみた[AIチャットボット] | DevelopersIO
                                                    • Idempotency-Keyヘッダによるマイクロサービスの冪等性の担保 - エムスリーテックブログ

                                                      こちらはエムスリー Advent Calendar 2023の15日目の記事です。 デジスマチームの田口です。 去年のアドベントカレンダーでイベント駆動アーキテクチャの記事を書きましたが、ありがたいことにデジスマ診療のサービスとしての成長も著しく、開発も一層活発になっています。 去年と比較してどれくらいスケールしたかはCTOでありデジスマPdMでもある山崎さんがpmconf 2023で発表した資料にもあるので、興味がある方は是非ご覧ください。 speakerdeck.com 本記事では去年の記事でも少し触れた「冪等性」について、デジスマチームでの考え方・実装についてまとめます。 なぜ冪等性が重要か Idempotency-Key ヘッダ デジスマでの実装 おわりに We are hiring!! なぜ冪等性が重要か デジスマ診療(以降デジスマ)はQRコードによるチェックインや自動後払い、オ

                                                        Idempotency-Keyヘッダによるマイクロサービスの冪等性の担保 - エムスリーテックブログ
                                                      • バウンスマネジメント用のメールアドレス帳をAWS移行しました - LIVESENSE ENGINEER BLOG

                                                        概要 背景 移行 移行前の構成 (MySQL, PHPバッチ) 移行後の構成 (DynamoDB, Kinesis) 移行の段取り 詳細 ストリーミング処理 APIサーバー APIクライアント 移行を終えて 最後に 概要 技術部インフラグループの春日です。 2024年上期現在、弊社ではオンプレデータセンターで稼動しているサーバーのクラウド移行を進めており、 2024年1Qの時点で大半はAWSへの移行が完了しています。 本記事では社内で古くから運用し続けているメール配信サーバーのバウンスマネジメントに使用するアドレス帳データをクラウド移行した件について振り返ります。 メール配信サーバー自体のクラウド移行に関しては本記事では触れません。 以降の章ではメール配信サーバーを自前で運用している背景やクラウド移行前後での構成比較、および移行後のシステム詳細について触れていきます。 なお記事内ではEメー

                                                          バウンスマネジメント用のメールアドレス帳をAWS移行しました - LIVESENSE ENGINEER BLOG
                                                        • Announcing Toasty, an async ORM for Rust | Tokio - An asynchronous Rust runtime

                                                          Announcing Toasty, an async ORM for RustOctober 23, 2024 Toasty is an asynchronous ORM for the Rust programming language that prioritizes ease of use. Toasty supports SQL and NoSQL databases, including DynamoDB and Cassandra (soon). Toasty is currently in the early stages of development and should be considered a "preview" (not ready for real-world usage yet). It also isn't released on crates.io y

                                                          • AWS入門ブログリレー2024 〜AWS Step Functions編〜 | DevelopersIO

                                                            当エントリは弊社AWS事業本部による『AWS 入門ブログリレー 2024』の50日目のエントリです。 このブログリレーの企画は、普段 AWS サービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。 AWS をこれから学ぼう!という方にとっては文字通りの入門記事として、またすでに AWS を活用されている方にとっても AWS サービスの再発見や 2024 年のサービスアップデートのキャッチアップの場となればと考えておりますので、ぜひ最後までお付合い頂ければ幸いです。 では、さっそくいってみましょう。今回のテーマはワークフローを制御する『AWS Step Functions』です。 AWS Step Functionsの概要 AWS Step Functio

                                                              AWS入門ブログリレー2024 〜AWS Step Functions編〜 | DevelopersIO
                                                            • ECS on Fargate 1.4.0で「ResourceInitializationError」を解決する方法 - Uzabase for Engineers

                                                              こんにちは。ソーシャル経済メディア「NewsPicks」で検索システムを開発しております崔(ちぇ)です。 弊社の検索システムはAWS EC2(Elastic Compute Cloud、以下、EC2)で動いていました。それを昨年、Amazon ECS(Elastic Container Service、以下、ECS)に移行しました。前回のブログでは、移行のために調べた「アプリケーションをコンテナ化するベストプラクティス」をまとめましたので、ご興味ある方は読んでいただけると嬉しいです。 tech.uzabase.com 今日は、ECS on Fargateのタスク起動に手こずった話をしてみようと思います。タイトル通りFargate 1.4.0 で発生しうる ResourceInitializationError の解決方法について述べるのですが、「まさに今それにハマってた!」という方はぜひ読

                                                                ECS on Fargate 1.4.0で「ResourceInitializationError」を解決する方法 - Uzabase for Engineers
                                                              • Amazon Connect フローでの離脱箇所と放棄呼をStep FunctionsとLambdaを組み合わせてDynamoDBに保存してみた | DevelopersIO

                                                                Amazon Connect フローでの離脱箇所と放棄呼をStep FunctionsとLambdaを組み合わせてDynamoDBに保存してみた はじめに Amazon Connectのフローで離脱箇所や放棄呼をAmazon Kinesis Data Streams(以降、KDS)とAWS Step Functions、AWS Lambdaを用いて取得し、Amazon DynamoDBに保存する方法をまとめました。 本記事の内容は以下のような用途に役立ちます。 IVRでの途中離脱箇所を知りたい オペレーターにつながる前に切られる放棄呼の有無を知りたい Connectは、各通話ごとに問い合わせレコード(Contact Trace Record, CTR)として通話記録を保存します。 Connectでは、KDSに問い合わせレコードを出力できます。通常は問い合わせレコードは、どのフローで切断され

                                                                  Amazon Connect フローでの離脱箇所と放棄呼をStep FunctionsとLambdaを組み合わせてDynamoDBに保存してみた | DevelopersIO
                                                                • Athena で S3 と MySQL を JOIN する | DevelopersIO

                                                                  目的 クラスメソッドタイランドの清水です。 本記事では Amazon Athena を使って、S3 と MySQL を JOIN するクエリを発行します。 大まかに以下のような構成になります。 前提条件・知識 AWS アカウントを作成済み IAM Role, Policy, Cloud9 の環境を作成できる権限がある 使いたいAWS アカウントのリージョンで cdk bootstrap コマンドを実行済み aws cli の使い方 手順 環境構築 Cloud9 を使って CDK をデプロイしたり、必要なコマンドを実行するための環境を構築します。 もし手元に環境があればこの工程はスキップしても問題ありません。 まずは Cloud9 の環境が使う EC2 インスタンスにアタッチするロールを作成します。 ロールには以下のポリシーを関連付けます。 ⚠️ 最小権限ではありません。実際のプロジェクトで

                                                                    Athena で S3 と MySQL を JOIN する | DevelopersIO
                                                                  • DynamoDBのIncremental Exportの仕様を理解する #LayerXテックアドカレ - LayerX エンジニアブログ

                                                                    こんにちは。最近NuPhy Air75 V2を衝動買いしたのですが、届いた直後にNuPhy Air60 V2が発売され、購入したい衝動を抑えるのに必死な@civitaspoです。バクラク事業部Platform Engineering部DevOpsグループとバクラク事業部Data &ML部Dataグループに所属しています。 この記事は、LayerXテックアドカレ2023の7日目の記事です。 昨日は@yuya-takeyamaが「Microsoft Graph API へのキーレス認証 (GitHub Actions編)」を書いてくれました。 次回はサクちゃんさんがエモい記事を書いてくれそうです。 2023年9月26日にDynamoDBがIncremental Exportをサポートしました。このIncremental Exportは「直近35日以内における特定期間の変更をChange Dat

                                                                      DynamoDBのIncremental Exportの仕様を理解する #LayerXテックアドカレ - LayerX エンジニアブログ
                                                                    • [AIチャットボット]Amazon LexとAmazon Kendraを利用して、お問い合わせ内容を種別判定してみた | DevelopersIO

                                                                      [AIチャットボット]Amazon LexとAmazon Kendraを利用して、お問い合わせ内容を種別判定してみた はじめに Amazon LexとAmazon Kendraを利用して、チャットでのお問い合わせ内容を種別判定する方法をまとめました。 お客さまのお問い合わせを種別判定し、種別ごとに担当者に振り分ける一次対応を想定したチャットボットシステムを構築する際に、Kendraが種別判定機能を担います。 種別判定は、一般的な生成AIモデルでも可能ですが、生成AIが利用できない企業様もいらっしゃいますので、今回はKendraで試してみます。 構成 構成としては、下記の通りです。 ユーザーがお問い合わせする際、種別判定までのフローは以下の通りです。 事前に複数のFAQファイルをS3に保存し、それらをKendraにインポートします。 ユーザーからお問い合わせ内容をLexで受け取ります。インテ

                                                                        [AIチャットボット]Amazon LexとAmazon Kendraを利用して、お問い合わせ内容を種別判定してみた | DevelopersIO
                                                                      • カミナシのセキュリティチャンピオンは誰だ!?「ごーとんカップ 2023」を開催しました - カミナシ エンジニアブログ

                                                                        こんにちは、セキュリティエンジニアリングの西川です。 カミナシのエンジニアリングチーム向けにセキュリティ競技会「ごーとんカップ」を開催しました。ごーとんというのはカミナシのヤギのキャラクターです。非常にかわいいですね。 開催のきっかけ 今回の取り組みは取締役CTOの原トリ(以下トリ)と「Hacktoberfest(https://hacktoberfest.com/ )みたいなのしたいよね」という軽いノリから始まったのですが、いわゆるCTFをエンジニアリング向けにやっても意味がないので、あくまでも教育の機会になることを目的としコンテンツを検討していきました。合わせてモチベーションアップのために、参加者特典や優勝者特典でTシャツやステッカーを制作しました。結果的にこれは大正解だったと思います。あるとないとではイベントのクオリティが全然違うと実感しています。 出題コンセプトと感想 今回の取り組

                                                                          カミナシのセキュリティチャンピオンは誰だ!?「ごーとんカップ 2023」を開催しました - カミナシ エンジニアブログ
                                                                        • DynamoDB のスケーリング: パーティション、ホットキー、Split for heat がパフォーマンスに与える影響(第 1 部: ローディング) | Amazon Web Services

                                                                          Amazon Web Services ブログ DynamoDB のスケーリング: パーティション、ホットキー、Split for heat がパフォーマンスに与える影響(第 1 部: ローディング) Amazon DynamoDB の一般的な原則は、高いカーディナリティのパーティションキーを選択することです。しかし、なぜそのようにすべきなのか、そしてそうしなかった場合の影響は何か?お客様のユースケースをもとに、この疑問に深く迫り、異なるパーティションキーの設計とテーブルの設定を使用して DynamoDB のロードおよびクエリのパフォーマンスを調査します。 各実験の後、生成されたパフォーマンスグラフを分析し、私たちが観察したパターンを説明し、繰り返しの改善イテレーションを通じて、DynamoDB の内部構造の基礎を紹介し、パフォーマンスの高いアプリケーションを構築するためのベストプラクティ

                                                                            DynamoDB のスケーリング: パーティション、ホットキー、Split for heat がパフォーマンスに与える影響(第 1 部: ローディング) | Amazon Web Services
                                                                          • Terraform v1.10 からは S3 Backend の State Lock に DynamoDB が必要なくなる

                                                                            terraform { backend "s3" { bucket = "tf-s3-state-lock-example-tfstate" key = "terraform.tfstate" + use_lockfile = true # これだけで State Lock が有効化される - dynamodb_table = "example-state-lock-table" # こっちは不要 } } この機能は v1.10 から実験的に導入されます。 そしてこの機能追加に伴い、従来の DynamoDB テーブルを使用した State Lock の機能は将来的に削除されます。 In a future minor version the DynamoDB locking mechanism will be removed. github.com/hashicorp/terraform/w

                                                                              Terraform v1.10 からは S3 Backend の State Lock に DynamoDB が必要なくなる
                                                                            • DynamoDBをゲームアプリで使う際の課題と対策(後編) - Tech Inside Drecom

                                                                              はじめに これは ドリコム Advent Calendar 2021 の25日目です。 24日目は 吉岡ひろき さんの DynamoDBをゲームアプリで使う際の課題と対策(前編) です。 前編では理論を説明しましたので、この後編では実際の適用例について説明していきます。 適用例 ここまでスキーマ設計のための観点を記して来ましたが、アプリケーションの要件によってはすべての観点で最適な選択をできない場合があるので、優先順位の高い条件を満たすスキーマを選択することになります。以下では上述の観点を実際に利用して設計した例をいくつか示します。 例1. ランキング ユーザ間でスコアを競うイベントのランキングについて考えます。アクセスパターンは次の3つとします。 個々のユーザのスコアを加算する 上位100ユーザのスコアとニックネームと使用中のキャラクタを取得する ニックネームまたは使用するキャラクタ変更

                                                                                DynamoDBをゲームアプリで使う際の課題と対策(後編) - Tech Inside Drecom
                                                                              • Amazon Connectのフローでの離脱箇所と放棄呼をKinesis Data Streamsを用いて取得し、DynamoDBに保存してみた | DevelopersIO

                                                                                Amazon Connectのフローでの離脱箇所と放棄呼をKinesis Data Streamsを用いて取得し、DynamoDBに保存してみた はじめに Amazon Connectのフローで離脱箇所や放棄呼をAmazon Kinesis Data Streams(以降、KDS)を用いて取得し、DynamoDBに保存する方法をまとめました。 利用用途は以下が挙げられます。 IVRでの途中離脱箇所を知りたい オペレーターにつながる前に切られる放棄呼の有無を知りたい Connectは、各通話ごとに問い合わせレコード(CTR)として通話記録を保存します。 Connectでは、KDSに問い合わせレコードを出力することができます。通常は問い合わせレコードは、どのフローで切断されたか情報はありませんが、フロー内で工夫すると取得ができます。工夫内容は後述します。 以下の構成図をもとに処理の流れを説明し

                                                                                  Amazon Connectのフローでの離脱箇所と放棄呼をKinesis Data Streamsを用いて取得し、DynamoDBに保存してみた | DevelopersIO
                                                                                • Moving from DynamoDB to tiered storage with MySQL+S3

                                                                                  Originally we implemented a feature to persist an event-stream into DynamoDB to allow customers to retrieve them. This proved effective, serving as a strong use case for a key/value storage, yet the drawback was its high cost. Moving to provisioned billing-mode reduced cost by ~50%, but that was not going to be sustainable as we scaled to more customers. We also kept multiplying the cost each time

                                                                                    Moving from DynamoDB to tiered storage with MySQL+S3