タグ

ブックマーク / dev.classmethod.jp (76)

  • なぜゲーム業界はJenkinsを選ぶのか?その理由と利点 | DevelopersIO

    こんにちは ゲームソリューション部の出村です。 みなさんはソフトウェア開発においてCI/CDツールは何を利用していますでしょうか? これまでゲーム開発の現場を見てきましたが、ゲーム開発においてよく使われるCI/CDツールはやはりJenkinsです。このJenkins、一昔前ではWeb開発をはじめとしてさまざまなソフトウェア開発でよく利用されていました。ただ、ここ最近はGitHub Actionsなど他のツールに置き換えられているという印象があります。 しかし、ことゲーム開発においてはGitHub Actionsといった他のCI/CDツールではなく、Jenkinsが利用されている場面が圧倒的に多いです。これは、他のCI/CDツールを利用したくないという消極的な理由ではなく、Jenkinsを利用する明確な理由があるためだと考えています。 ゲーム業界はJenkinsが活用される理由 ここでは、ゲ

    なぜゲーム業界はJenkinsを選ぶのか?その理由と利点 | DevelopersIO
  • Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO

    今回はPythonで簡単にリトライ処理を追加できる「tenacity」を使ってみます。 デコレータ形式で簡単にリトライ処理を追加できるので便利です。 tenacityについて プログラムを書いていて、HTTPの通信などでリトライ処理を実装する機会は多いと思います。 今回はそんなリトライ処理を簡潔に書けるtenacityの使い方を説明します。 インストール インストールはpipで可能です。 インストール pip install tenacity 使い方 シンプルな例 シンプルな例 import random from tenacity import retry @retry def random_error(): num = random.randint(0, 10) if num > 4: print(f"Error: num={num}") raise Exception("Error!

    Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO
  • RAGの実案件に取り組んできた今までの知見をまとめてみた | DevelopersIO

    はじめに 新規事業部 生成AIチーム 山です。 ChatGPTOpenAI API)をはじめとしたAIの言語モデル(Large Language Model:以下、LLM)を使用して、チャットボットを構築するケースが増えています。通常、LLMが学習したときのデータに含まれている内容以外に関する質問には回答ができません。そのため、例えば社内システムに関するチャットボットを作成しようとしても、素のLLMでは質問に対してわからないという回答や異なる知識に基づいた回答が(当然ながら)得られてしまいます。 この問題を解決する方法として、Retrieval Augmented Generation(以下、RAG)という手法がよく使用されます。RAGでは、ユーザからの質問に回答するために必要そうな内容が書かれた文章を検索し、その文章をLLMへの入力(プロンプト)に付け加えて渡すことで、ユーザが欲しい

    RAGの実案件に取り組んできた今までの知見をまとめてみた | DevelopersIO
  • 書籍「ソフトウェアテスト技法ドリル」ではテスト設計の考えとツールの使い方まで学べちゃいました | DevelopersIO

    私は開発寄りのエンジニアであり、テストやQA専門の方と同じチームで頑張る機会が少なかったのですが、「なるほど、こうやって考えて、こういうツールを使っているのか」と非常に勉強になりました。 こんにちは。AWS事業部モダンアプリケーションコンサルティング部に所属している今泉(@bun76235104)です。 最近ではアジャイル開発やスクラム開発が多く採用され、ビジネスのスピードに負けないようにプロダクト開発・リリースのスピードが求められれている中で、「いかに効率よく、かつ効果的なテストをしていけるか」というのはテスト担当だけでなく、開発メンバー全員で考える必要があると思います。 とはいえ、実際のチームには「専任のQAエンジニアやテストアナリストはいない」ということは非常に多いと思います。 基的なテスト技法はで学んできたけど、どういう時にどんな技法でテストを設計すればよいの? 職のテスト

    書籍「ソフトウェアテスト技法ドリル」ではテスト設計の考えとツールの使い方まで学べちゃいました | DevelopersIO
  • Gmailで問題が生じる神奈川県立高校ネット出願システムの被疑箇所を調査、改善策を検討してみた | DevelopersIO

    神奈川県高校入試のネット出願システムの不具合影響を受けた利用者として、Gmailを扱えないメール環境について外部から調査しました。 出願システムで独自実装されたメールシステムの不完全な実装と、メール関連のDNSの設定不備が原因であった可能性が高いと推測します。 2024年の神奈川県立高校入試出願システムの不具合の影響を受け、@gmail.comのメールアドレス を利用出来なかった一利用者として、 インターネットから参照可能な範囲で、出願システムのメール環境について調査。 被疑箇所の推定と、状況を改善する対策について検討する機会がありましたので、紹介させて頂きます。 神奈川県公立高等学校入学者選抜インターネット出願システムの稼動状況について MX設定 「mail.shutsugankanagawa.jp」のMXレコードを確認しました。 1/18(21時) $ dig mx mail.shut

    Gmailで問題が生じる神奈川県立高校ネット出願システムの被疑箇所を調査、改善策を検討してみた | DevelopersIO
  • [電話予約の無人化]Amazon Connect + GPT-4 JSONモード + Whisperで、1回の発話から予約情報(日付,時間など)を抽出 | DevelopersIO

    [電話予約の無人化]Amazon Connect + GPT-4 JSONモード + Whisperで、1回の発話から予約情報(日付,時間など)を抽出 はじめに Amazon Connect + GPT-4 JSONモード + Whisperで、1回の発話から予約情報(電話番号,日時,名前,人数)を正しく抽出できるか検証しました。 コールセンターでは、有人対応から無人対応に変更したいニーズが増えているように思います。 電話予約の無人対応を想定し、1回の発話で、下記の5つの予約情報を抽出できるか確認します。 お名前 電話番号 予約日 予約時間 人数 発話で予約情報を抽出する方法として、GPT-4 Turbo のJSONモードを利用します。 JSONモードの詳細は、下記を参照ください。 例えば、「名前はクラスメソッドで、電話番号は09011111111。来週の火曜日の19時に4名で予約できます

    [電話予約の無人化]Amazon Connect + GPT-4 JSONモード + Whisperで、1回の発話から予約情報(日付,時間など)を抽出 | DevelopersIO
  • Amazon Connect + Whisper + GPT-4 Turboで、発話から個人情報(名前、住所、生年月日)を正しく認識できるか試してみた | DevelopersIO

    構成 構成としては、下記の通りです。 Connectのフローの詳細は下記の通りです。 例として、発話で住所を認識させる処理の流れは以下のとおりです。 コンタクトフロー内で「メディアストリーミングの開始」ブロックを使って、Kinesis Video Stream(KVS)への音声のストリーミングを開始します。 顧客は、住所を含めた発話をします。 「顧客の入力を保存する」ブロックで、顧客が特定の番号を押すと、ストリーミングを終了します。 「AWS Lambda関数を呼び出す」ブロックを使い、LambdaでKVSからデータを取得します。取得したデータをWAV形式に変換し、Whisper API文字起こしします。文字起こし内容から、GPT-4 Turboで住所のみを抽出します。 プロンプト再生で、住所のみを音声出力します。 以下の図は、電話での対話の流れを示しています。 前提 2023年11月時

    Amazon Connect + Whisper + GPT-4 Turboで、発話から個人情報(名前、住所、生年月日)を正しく認識できるか試してみた | DevelopersIO
  • AIチャットボットで問い合わせに対応し、回答が難しい内容に限り担当者にエスカレーション[Amazon Connect + Lex + Bedrock] | DevelopersIO

    AIチャットボットで問い合わせに対応し、回答が難しい内容に限り担当者にエスカレーション[Amazon Connect + Lex + Bedrock] はじめに Amazon Connect + LexでAIチャットボットを構築し、問い合わせに対して無人対応し、対応が難しい内容に限り、オペレーター(以降、担当者)にエスカレーションする仕組みを作成しました。 コールセンターの負担軽減や人手不足の解消を目指して、AIチャットボットを活用して有人対応から自動応答に切り替えたいというニーズは増えているように思います。 記事では、お問い合わせをAIチャットボットがヒアリングして、生成AIAmazon BedrockのClaudeを用いて種別判定を行い、回答できるものはチャットボットが回答し、それ以外の内容については、担当者にエスカレーションする方法をまとめました。 今回検証するお問い合わせの種別

    AIチャットボットで問い合わせに対応し、回答が難しい内容に限り担当者にエスカレーション[Amazon Connect + Lex + Bedrock] | DevelopersIO
  • 主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO

    ファイル比較 VSCodeのエクスプローラで、ファイル2つを選択して右クリックメニューから「選択項目を比較」で比較することができます。 また右クリックで、「比較対象の選択」をした後に「選択項目を比較」でも比較することも可能です。 VSCodeのSnippetの使い方 VSCodeのSnippetも便利です。似たような構造のクラスを実装する場合などや、プロジェクト共通で使いがちな書き方というものをSnippetに登録して、効率化することができます。 また、変数を持たせておくこともできます。この場合、Snippetを呼び出した後に変数部分にカーソルがあたるので、そこで変数部分をタイピングできます。 詳細は以下のリンクをご覧ください。 Visual Studio Codeに定型文(スニペット)を登録する方法 VSCodeのUser Snippetを活用しよう! また後述するSnippet Gen

    主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO
  • AWS ソリューション「AWS でのワークロード検出」で自動でシステム構成図作成してみた | DevelopersIO

    AWS ソリューション「AWS でのワークロード検出」をご存知ですか?自動でシステム構成図を作成できるソリューションです! 1. はじめに お疲れさまです。とーちです。 「AWS でのワークロード検出」というソリューションをご存知でしょうか? このソリューションは AWS 上のリソースを自動で検出し、 アーキテクチャ図を自動で生成 してくれるものになっています。使ってみて便利だと感じたので紹介させて頂こうと思います。 実は書き終わってから既に紹介ブログがあることに気づいたのですが、前回の記事から時間も経っていてソリューション名も変わっている(旧称: AWS Perspective)ので、改めて紹介ということでご了承ください。 2. 構築 早速ですが構築です。このソリューションは CloudFormation で提供されているので、CloudFormation テンプレートを使ってデプロイす

    AWS ソリューション「AWS でのワークロード検出」で自動でシステム構成図作成してみた | DevelopersIO
  • 【小ネタ】AIにVSCodeの設定ファイルの書き方などを尋ねてみると良かったです | DevelopersIO

    もちろん裏取りは必要ですが、エディターの設定ファイルをどう書くのかAIに聞いてみるのも面白かったです。特にエディターは「○○みたいにしたい」というのを言語化して、どう調べれば良いのかわからなかったので今後も助けてくれそうな気がしています。 こんにちは。AWS事業コンサルティング部に所属している今泉(@bun76235104)です。 今回は超がつくほどのの小ネタなのですが、生成系のAIVSCodeの設定周りについて聞いたり、作業をお願いしたらとても快適だったので使い方の一旦を紹介します。 やってみたことは以下のとおりです。 独自スニペット用のJSON文字列を書いてもらう キーボードショートカットの設定(keybindings.json)の書き方を教えてもらう 設定ファイル(settings.json)の書き方を教えてもらう 実際にやってみた 今回試している環境は以下のとおりです。 試し

    【小ネタ】AIにVSCodeの設定ファイルの書き方などを尋ねてみると良かったです | DevelopersIO
  • 【速報】 BigQuery の料金体系が変更されます | DevelopersIO

    ウィスキー、シガー、パイプをこよなく愛する大栗です。 先程開催されたGoogle Data Cloud & AI Summitにて、BigQuery の料金体系の変更が発表されましたので、レポートします。 Introduction to BigQuery editions Dataset storage billing models BigQuery editions BigQuery で Standard、Enterprise、Enterprise Plus という3種類の料金階層が発表されました。これらのエディションは個々のワークロードの必要性に基づいて適切な価格性能比を組み合わせられます。 BigQuery editions は、コンピュート キャパシティのオートスケーリングと、compressed storage(Preview 時には physical storage と呼ばれて

    【速報】 BigQuery の料金体系が変更されます | DevelopersIO
  • ChatGPTにペルソナを作ってもらったら完成度が高かった | DevelopersIO

    ChatGPTに共有するインタビュー内容について インタビューは1年前、社内のPMPdMエンジニアの方など計10名程にお話を伺いました。インタビューの経緯や詳細を知りたい方はこちらのブログをご覧ください。 インタビューのテーマはクラメソのデザイナー像(現状や理想)についてです。事前に質問を準備しましたが、半構造化インタビューの形式を取っていたことやインタビュアーと書記はチームの各メンバーがランダムに行っていたことがあり、人によって質問や解答の項目が異なります。ChatGPTが認識しやすくなるように項目を揃えることも考えましたが、あえて多少バラつきのある項目でも対応できるのか興味があったので、項目も文体もそのままで共有します。ただし具体的な案件名やメンバーの氏名、クラスメソッドという弊社名に至る固有名詞まで全てイニシャルに置き換えておきます。 また、今回はニールセン博士の理論に基づき、5

    ChatGPTにペルソナを作ってもらったら完成度が高かった | DevelopersIO
  • 【徹底解説】これからのエンジニアの必携スキル、プロンプトエンジニアリングの手引「Prompt Engineering Guide」を読んでまとめてみた | DevelopersIO

    【徹底解説】これからのエンジニアの必携スキル、プロンプトエンジニアリングの手引「Prompt Engineering Guide」を読んでまとめてみた こんにちは。CX 事業部 Delivery 部のきんじょーです。 ここのところChatGPT と戯れてアプリを作ったり、様々なプロンプトの検証をしていましたが、言語モデルの性能を最大限に引き出すために、体系的にプロンプトエンジニアリングを学びたいと考えていました。 GitHub に「Prompt Engineering Guide」という素晴らしいリポジトリがあったので、読んで検証した内容をブログにまとめていきます。 記事は、執筆時点の上記リポジトリの内容を元にしていますが、意訳や独自に検証した日語のプロンプトを含みます。 上記リポジトリも絶賛開発中の段階のため、最新情報や原文が気になる方はリポジトリを直接参照してください。 目次 プ

    【徹底解説】これからのエンジニアの必携スキル、プロンプトエンジニアリングの手引「Prompt Engineering Guide」を読んでまとめてみた | DevelopersIO
  • ChatGPTに要件定義をお願いしたらハンパなかった | DevelopersIO

    架空の営業管理システムを作ってもらう前提で、ChatGPTに要件定義をお願いしてみました。 実験として軽く試すレベルで始めてみたのですが、予想を超えるクオリティでしたので、一部始終を皆様にもご紹介します。 ChatGPTとのやりとり まず、ざっくりと必要な機能の洗い出しをお願いしてみました。 あっという間に必要な機能を網羅的にリストアップしてくれまた。私自身、SFA/CRMをいくつか触った経験がありますが、適切な内容だと思います。 中には、「データのインポート・エクスポート機能」のように、検討初期段階ではつい忘れそうな機能も含まれています。さらに頼んでもいないのにオススメの検討プロセスまで教えてくれました。気が利いてます。 機能ベースだと要件の妥当性が判断しにくく思ったので、画面ベースで要件定義してもらことにしました。 「図で教えて」とできないことをお願いしたところ、やんわり断りつつ、意図

    ChatGPTに要件定義をお願いしたらハンパなかった | DevelopersIO
  • 仕事の文章はもうChatGPTに任せたい | DevelopersIO

    来、エンジニアであれば実装の能力、デザイナーであればデザインの能力があればいい。 しかし仕事はチームで動くことがほとんどなので、こうした「専門的な力」にプラスして、コミュニケーション能力のような「普遍的な力」が求められる。これは、ポータブルスキル、ソフトスキルなどとも言われるものと同一である。 この「普遍的な力」の一つに、文章力がある。デジタルを活用しようとすると、メールやチャットなど、仕事の中で文章を書く機会は明らかに増える。リモートワークは文章が下手な人には不利な環境だ、という人もいるが、デジタル活用力と文章力は密接な関係にあることを示した発言だと思う。 ブログやソーシャルメディアによって、文章力がある人は、より一層、自分の価値を高めることができるようになった。 10の専門力+1の文章力で構成された人より、6の専門力+8の文章力で構成された人の方が、高く評価され、市場価値が高まり、い

    仕事の文章はもうChatGPTに任せたい | DevelopersIO
  • 【初心者必見】ChatGPTで知っておくと役立つ便利な使い方5選を紹介 | DevelopersIO

    ChatGPTを使うときに「これ知っておくと便利じゃね?」という知識をまとめてみました。 特にITが苦手という初心者の方にも「ChatGPTってこういう使い方もできるんだ!!」と知っていただけると幸いです。 創造力が必要な質問も答えてくれる 最近、とある内容で話をしようと思い、そのタイトルづけで悩んでいた私。 「内容は決まっているのだが、タイトルは決まっていない。何かキャッチーな内容で考えてほしいな。」と思い、ChatGPTに聞くと以下の返事が返ってきました。 このようにクリエイティブ性が求められる答えも瞬時に答えてくれるのがChatGPTです。 「自分の代わりに考えてくれる機能である」というのを前提知識として持っておくと、使い方の幅も広がりやすいのかなと感じてます。 出してくれた答えにアレンジを加えることが可能 一度提示された回答に追加で指示をすることで"より精度の高い回答を出させる"と

    【初心者必見】ChatGPTで知っておくと役立つ便利な使い方5選を紹介 | DevelopersIO
  • ChatGPTをもっと楽しく使えるようにするChrome拡張機能3つ | DevelopersIO

    こんにちは、ヌヌです。 初めに 最近、ChatGPTが大きな話題になっています。私もChatGPTを使ってみたところ、その素晴らしさに感動しました。 ChatGPTを最大限に活用するためには、様々な拡張機能を活用することができます。このブログでは、私自身が利用してよかった、ChatGPTのためのChrome拡張機能を紹介します。 前提 ChatGPTにログインができる リンク:https://openai.com/blog/chatgpt Chrome ブラウザを使用 拡張機能 AIPRM for ChatGPT 概要 ChatGPTからSEO、SaaSなどのために整形かされた回答を受けたい場合役に立てる拡張機能です。 AIPRMから提供されているテンプレートを利用して質問を投げることができます。このテンプレートのためChatGPTが質問の内容をよく理解できるしより良い回答を返します。 使

    ChatGPTをもっと楽しく使えるようにするChrome拡張機能3つ | DevelopersIO
  • 5年間は生き続ける考え方が凝縮された良書「AWSで実現するモダンアプリケーション入門」 | DevelopersIO

    「最近、モダンモダンすげぇ聞くけどモダンってなに?」 「人の数だけモダンはあるんだよ…」 近年、パブリッククラウドを主軸としたアプリケーション開発文脈の中で「モダンアプリケーション」という言葉をよく聞くようになりました。自分もMAD(Modern Application Development)事業部の部長を去年やっていたりして、モダンという言葉には人一倍敏感だったりします。 そんなおり、そのモダンアプリケーションについて真正面から解説するを、著者の落水さんから献いただいたので、僭越ながら書評という形でご紹介させていただきます。 モダンがなにかようやくわかるの…!? ( ゚д゚) ガタッ /   ヾ __L| / ̄ ̄ ̄/_ \/   / 丸わかりやで。 書籍の概要「AWSで実現するモダンアプリケーション入門」 AWSで実現するモダンアプリケーション入門 〜サーバーレス、コンテナ、マイ

    5年間は生き続ける考え方が凝縮された良書「AWSで実現するモダンアプリケーション入門」 | DevelopersIO
  • サービスメッシュについて理解する | DevelopersIO

    サービスメッシュは、マイクロサービスアーキテクチャの様々な問題点や課題を解決します。Kubernetes クラスターへの導入もそこまで複雑ではなく、サービスメッシュから得られるメリットは計り知れません。 カナダ・バンクーバーオフィスの山口です。 Kubernetes でマイクロサービスのアプリケーション開発をしていると、一度はサービスメッシュという言葉を聞いたことがあるのではないでしょうか。 マイクロサービス間の通信制御において、サービスメッシュは非常に強力な武器となります。しかし、Kubernetes クラスターへサービスメッシュを導入するのは多少敷居が高く、躊躇している方も多いかと思います。 今回はサービスメッシュの概要についてご説明します。そして次回以降で、EKS クラスター上で Istio や App Mesh といった主要なサービスメッシュの導入方法についてお伝えしていきます。

    サービスメッシュについて理解する | DevelopersIO