タグ

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

  • 「世界一流エンジニアの思考法」の内容を実践してみた | DevelopersIO

    生産性を爆上げしたい おのやんです。 みなさん、生産性を爆上げしたいと思ったことはありませんか?私は毎日の業務に取り組む上で、どうすれば生産性を上げられるか日々考えています。 そんな中出会ったのが、こちらの「世界一流エンジニアの思考法」です。 書を読んだ際には、「なるほど、こういう取り組み方をすれば生産性を向上させられるのか」とものすごく腹落ちしました。 その後、書に書かれている内容を私なりに解釈・適用して実践してみました。その結果、目に見えて生産性やアウトプットに変化が見られました。ということで、今回は実際にやってみた取り組みとその変化について、記事で紹介したいと思います。 書について 書を書かれた牛尾さんは、アメリカのマイクロソフトで現役のソフトウェアエンジニアでいらっしゃいます。マイクロソフトで働く同僚の生産性の高さを観察し、彼らが実践していることなどを紹介する内容となって

    「世界一流エンジニアの思考法」の内容を実践してみた | DevelopersIO
  • RAGの実案件に取り組んできた今までの知見をまとめてみた | DevelopersIO

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

    RAGの実案件に取り組んできた今までの知見をまとめてみた | DevelopersIO
  • Amazon ECSタスクを冪等に起動できるようになりました | DevelopersIO

    旧聞ですが、2023/11/13からAmazon ECSが冪等なタスク起動をサポートし、副作用無しに再試行、複数回呼び出せるようになりました。 現時点では、以下のECS APIが冪等性をサポートしています。 CreateService CreateTaskSet RunTask 冪等性を実現する場合、主に次の2通りがあります。 複数回呼び出される前提で、アプリを冪等に実装 一度しか呼び出されない前提で、アプリをシンプルに実装 Amazon SQSを例に取ると、at least onceなスタンダードキューが前者で、exactly onceなFIFOが後者です。 今回のECSアップデートは後者です。ECSタスクの冪等起動対応により、ライブラリ・フレームワークの力を借りながら頑張って冪等に実装していたタスクを、シンプルに実装できるようになることがで期待できます。 ポイント 重要なポイントを述べ

    Amazon ECSタスクを冪等に起動できるようになりました | DevelopersIO
  • Amazon Bedrock を利用して生成 AI でなにができるのか?を体験できる AWS のワークショップをやってみた | DevelopersIO

    Amazon Bedrock を利用して生成 AI でなにができるのか?を体験できる AWS のワークショップをやってみた re:Invent 2023 で開催予定の Game Day の 1 つに「Amazon Bedrock: Building with Generative AI」があります。私はこちらのイベント参加予定なのですが Amazon Bedrock を触ったことがありません。現地で焦る前に最低限のことを把握するべくAWS が提供している「生成系 AI 体験ワークショップ」をやってみました。 生成系 AI 体験ワークショップ 以下の環境を構築し、文章を校正してもらったり画像生成したりしました。 画像引用: 生成系 AI 体験ワークショップ ワークショップで学べること Amazon Bedrock を利用して ChatGPT の様なチャット機能や、画像生成を Web UI

    Amazon Bedrock を利用して生成 AI でなにができるのか?を体験できる AWS のワークショップをやってみた | DevelopersIO
  • 管理画面を作るフレームワークrefineを使って、Next.jsで管理画面を作ってみた | DevelopersIO

    管理画面って作るのめんどくさくないですか?そんなわけでrefineを使ってみました。 refineは、管理画面を作成するためのReactベースのフレームワークです。refineを使ってNext.jsな管理画面を作ってみました。 管理画面って作るのめんどくさくないですか? 管理画面は一般的に、データのCRUD(Create, Read, Update, Delete)が行えるデータの管理画面として使われることが多いです。 そうすると、一覧画面があって、データの登録画面があって、データの編集画面があって、データの削除画面があって、データの詳細画面があって…、という感じで大体似たような画面を作ることになります。 そういった手間を軽減するために、refine を試してみました。 refine は、管理画面を作成するためのReactベースのフレームワークです。 refine | Open-sourc

    管理画面を作るフレームワークrefineを使って、Next.jsで管理画面を作ってみた | DevelopersIO
  • Azure AI Bot ServiceとAzure OpenAIを使って「生成AIチャットボット」を作ってみる – 第1回:シンプルな「オウム返し」ボットを作る | DevelopersIO

    Azure AI Bot ServiceとAzure OpenAIを使って「生成AIチャットボット」を作ってみる – 第1回:シンプルな「オウム返し」ボットを作る みなさん、こんにちは! 福岡オフィスの青柳です。 Microsoft Azureには「Azure AI Bot Service」というチャットボット (会話型AIボット) を作成できるサービスがあります。 今回は、この「Azure AI Bot Service」と生成AIサービス「Azure OpenAI Service」を使って、「生成AIと会話できるチャットボット」を作ってみたいと思います。 「Azure AI Bot Serviceを使うのは初めて」という方も多いと思いますので、ステップ・バイ・ステップ形式で何回かに分けて進めたいと思います。 第1回: シンプルな「オウム返し」ボットを作る ← 当記事です (Azure A

    Azure AI Bot ServiceとAzure OpenAIを使って「生成AIチャットボット」を作ってみる – 第1回:シンプルな「オウム返し」ボットを作る | DevelopersIO
  • LLMアプリ開発を体系的に学ぶには最適の入門書「ChatGPT/LangChainによるチャットシステム構築[実践]入門」 | DevelopersIO

    こんにちは、つくぼし(tsukuboshi0755)です! ChatGPTから始まった第四次AIブームは、まだまだとどまる事を知らないですね。 さらにAzure OpenAI ServiceやAmazon Bedrock等の生成AIサービスが主要クラウド上で出揃った事で、エンタープライズ業界でも徐々にLarge Language Models(以下LLM)を用いたシステム開発の需要が高まってきています。 しかし普段はAWSインフラ関連の業務を専門とする私を含め、LLMアプリ開発初心者のエンジニアにとって、生成AIを活かして一からシステムを開発するのは、まだまだハードルが高いように感じられます。 特に以下のような点で、まだ理解が追いついていないと感じているエンジニアの方が多いのではないでしょうか? LLMを使うと何ができるのか? ChatGPTAPIを触ってみたいが、どのように使えばいいの

    LLMアプリ開発を体系的に学ぶには最適の入門書「ChatGPT/LangChainによるチャットシステム構築[実践]入門」 | DevelopersIO
  • Security-JAWS DAYSに「ECS on Fargate のセキュリティ対策は何をやるべき? 開発者目線で考える」というタイトルで登壇しました #secjaws #secjawsdays | DevelopersIO

    はじめに CX事業部アーキテクトチームの佐藤智樹です。 今回は以下のイベント「Security-JAWS DAYS」で登壇させていただきました。 以下のSpeakerDeckで資料を公開しました。今回話しきれなかった内容として、NIST SP-800 190の中で対象外として内容の紹介やコンテナランタイムという場合の種類などについて書いたのでよければご覧ください。 登壇のモチベーション 今回の登壇ではNIST SP800-190をベースにECS on Fargateだと何をやるべきか考えてみました。これを日中のいろんな会社で個別にやっていると時間がもったいないので、自分なりに読み解いて関連部分を切り出して対応方法を話させてもらいました。ECS on Fargateには関連ない部分と判断したものは省いたりしています。もしこの部分はこの方がよいなどあればどんどん改善していきたいので、Twi

    Security-JAWS DAYSに「ECS on Fargate のセキュリティ対策は何をやるべき? 開発者目線で考える」というタイトルで登壇しました #secjaws #secjawsdays | DevelopersIO
  • ChatGPTに要件定義をお願いしたらハンパなかった | DevelopersIO

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

    ChatGPTに要件定義をお願いしたらハンパなかった | DevelopersIO
  • ChatGPTでダミーデータ作成が便利すぎる | DevelopersIO

    はじめに 面倒なことは自動化したいですね。とくにテストデータ、理論的には部分はわかって実際の値を作るのが苦痛です。 たとえば、名前は1文字以上10文字以下だったときに、境界値分析で0文字と1~10文字と11文字以上を用意すればいいまでいいけど、じゃ具体的な値を考えるとabcとかtestとか何がちで、もっとそれっぽい名前にしようとそれを考えるのに五分ぐらいかかりますよね。 ChatGPTでダミーデータを作ってもらえないか試してみた。 テストページを作成 シンプルなフォームを作りました、名前と年齢があります <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Title</title> </head> <body> <form> <div> <label for="name-input">名前</lab

    ChatGPTでダミーデータ作成が便利すぎる | DevelopersIO
  • AWSアーキテクチャのサンプルをまとめてみた | DevelopersIO

    こんにちは。たかやまです。 みなさんアーキテクチャを検討するときに、なにか参考にするアーキテクチャがあると助かりますよね? 私もアーキテクチャ検討をするときは、車輪の再発明を避けるためゼロベースではなく先人たちのアーキテクチャを参考にさせていただくことが多いです。 そのおり、ちょうどお客様にアーキテクチャ検討に役立つサイトをご紹介する機会があり、参考にしているサイトを改めて調べると結構あったので今回こちらをブログにまとめてみたいと思います。 30 の目的別 クラウド構成と料金試算例 目的別クラウド構成と料金試算例 日利用者向けに公開されているリファレンスアーキテクチャのサイトになります。 全ドキュメント日語で料金試算も載っているため、アーキテクチャの検討はじめにおすすめのサイトです。 サーバレスパターン サーバーレスパターン サーバレスの汎用的なユースケースがまとめられたサイトになりま

    AWSアーキテクチャのサンプルをまとめてみた | DevelopersIO
  • Unit Test の改善に取り組んでみました | DevelopersIO

    はじめに prismatix 事業部で QA エンジニアをしている長友です。 今回は私の所属するチームの方がテスト改善を行ってくださったので、そのお話です。 経緯 今私のいるチームには、私以外に K さんというメンバーの方がおられます。 これまで私の所属する prismatix 事業部で、いろいろなマイクロサービスの開発に携われてきた方です。エンジニアリング力が高く、テストに関するも出されている方で、私もその方のを持っています。ですから話すときはよくテストの話題になります。 その方が、これまで開発チームにいた中で作っていたテストコードによるテストのやり方に課題を感じていたということで、今回その改善をすることになりました。 いろいろ試行錯誤をされて、こうしたらいいのではないかというアイデアが出てきたので、それをどうやって開発チームに実践してもらうかをやってみたことをお話します。 なお、私

    Unit Test の改善に取り組んでみました | DevelopersIO
  • Terraform ベストプラクティスを整理してみました。 | DevelopersIO

    こんにちは。クラメソのスジェです。 ほとんどのサービスにはベストプラクティス(=best practices)というのがあります。 そのサービスを利用する際、このベストプラクティスを守るとより効率的に性能を100%活用することができます。 もちろんterraformにもこのようなベストプラクティスがあります。 今回はこのベストプラクティスについて整理してみました。 参考資料 記事は下記の資料を参考にして作成しました。 記事ではほとんどのプロジェクトに活用できる程度の項目を紹介しています。つまり、ベストプラクティスについて軽く説明している感じなので、詳細な内容までは上記の資料をご参照ください。 また、紹介した資料以外にもベストプラクティスを調べてみたら、たくさんの資料がありますので、そちらもあわせて確認することをお勧めします。 読む前に 実際にベストプラクティスをプロジェクトに適用しよう

    Terraform ベストプラクティスを整理してみました。 | DevelopersIO
  • わかりやすくて最高だった「ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本」レビュー | DevelopersIO

    わかりやすくて最高だった「ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基」レビュー 「ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基」を読んだところ、とても良かったのでレビューしたいと思います。 私の状況 まずこのを読む前の私がどの程度ドメイン駆動設計について理解していたかご紹介します。 以前同僚が書いてくれたサンプルコードを手にレイヤードアーキテクチャみたいなTypeScriptLambda関数を書いている 「Service」とか「Repository」とかの単語を命名に使っているが、使い方あってるのか自信ない、というか意味をよくわかっていない 実装中「この構成でええんか?」と何度も思い悩む 時間かかるくらいなら雑にさっさと書いてしまったほうが良いのでは、と思うこともある。けどちゃんとしたコードを書きたいんや。 こういうのを読んで、テストしや

    わかりやすくて最高だった「ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本」レビュー | DevelopersIO
  • よく使いそうなS3関連のセキュリティ機能をまとめてみる | DevelopersIO

    よく使いそうな S3関連のセキュリティ機能を主観でまとめてみます。 「汎用的」、「便利」、「コスパが良い」といった基準で選びました。 6つのセキュリティ機能を説明していきます。 ブロックパブリックアクセス ACL無効化 デフォルト暗号化 S3 Storage Lens GuardDutyの「S3保護」 Security Hubの「セキュリティ基準」 ブロックパブリックアクセス(以降 BPA) 「意図しないS3バケットの公開」を未然に防ぐ ための機能です。 アカウントレベル、もしくはバケットレベルで設定できます。 設定パラメータは 4つあります。 BlockPublicAcls … パブリックACLを付けた投稿(Put Object)ができなくなります IgnorePublicAcls … すべてのパブリックACLを無視します BlockPublicPolicy … パブリックなバケットポリ

    よく使いそうなS3関連のセキュリティ機能をまとめてみる | DevelopersIO
  • Microsoft の「クラウドアプリケーションのベストプラクティス」が良かったので紹介したい | DevelopersIO

    こんにちは。CX事業部MAD事業部のYui(@MayForBlue)です。 最近調べものをしている中で見つけたドキュメントが良かったのでご紹介したいと思います。 先にまとめ Microsoft の RESTful Web API の設計 のドキュメントが API 設計を考える上で勉強になった 関連する クラウド アプリケーションのベスト プラクティス のドキュメントもアプリケーションを設計する際の指標として良さそう RESTful Web API の設計 最近 API 設計やパス設計について考える機会があったのですが、これという正解がなかったり、人によって思想やこだわりが違ったりして結構難しいなと感じていました。 そんな中で下記のドキュメントを見つけてひとつの指標として良いなと思ったのでご紹介します。 内容(項目) REST とは何か リソースを中心とした API 設計の整理 HTTP

    Microsoft の「クラウドアプリケーションのベストプラクティス」が良かったので紹介したい | DevelopersIO
  • Markdownでシーケンス図とかが書けるMermaid記法で業務フローを書いたら意外とイケたので自分なりのコツを紹介してみる | DevelopersIO

    こんにちは、臼田です。 みなさん、業務設計してますか?(挨拶 今回はMarkdownでシーケンス図やフローチャートなどの図を記述できるMermaidを使って業務フローを書いてみたら、意外と書けたので自分なりのTipsを紹介したいと思います。 その前に 注意点として、まだMermaidを使い始めたばかりなので、「もっとこうしたらいいぞ」とか「こっちのほうがいいぞ」とかあれば建設的なフィードバックとしてSNSとかでいただけるとありがたいです。 あと業務フローって表現しましたが、人によって思い描く業務フローが違うと思うので、業務フローの定義に関するツッコミはご容赦ください。私が今回Mermaidで書いたのは以下の図です。(内容はブログ用に簡素化しました) この図のコードは以下のとおりです。(後ほど解説します) sequenceDiagram autonumber actor お客様 partic

    Markdownでシーケンス図とかが書けるMermaid記法で業務フローを書いたら意外とイケたので自分なりのコツを紹介してみる | DevelopersIO
  • React Developer Toolsでレンダリングを可視化する | DevelopersIO

    こんにちは。データアナリティクス事業部 サービスソリューション部の北川です。 React Developer Toolsは、React用開発ツールです。Reactの開発元であるMetaが提供しています。 結構有名ですが、まだ使ったことがない人に向け、簡単に書いていきます。 React Developer Toolsの使い方 拡張機能を追加します。 https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi アイコンが追加されていることを確認します。通常のReactページで使用する場合、アイコンは青いですが、開発環境ではアイコンの色が赤くなります。 ローカル環境で使用するために、拡張機能の一覧から、React Developer Toolsの「拡張機能を管理

    React Developer Toolsでレンダリングを可視化する | DevelopersIO
  • 「AWSの日本リージョンのデータセンターはどんな災害を想定して設計されているんですか?」に答えるためのレポート紹介 | DevelopersIO

    システム監査における安全性の観点からタイトルのような内容についてお客様よりご質問いただくことがあります。 AWSデータセンターの耐障害性については既にAWS Artifactで公開されたレポートがあるのですが、あまり知られていないのかも?と思い、あらためてご紹介しておきます。 AWS Artifact からレポートのダウンロード AWSコンソールから[AWS Artifact]-[レポート]を開きレジリエンスで検索。日におけるAWSリージョンのレジリエンスというレポートが見つかりますので、こちらをダウンロードしてください。 基的にAWS Artifactの内容はAWS機密情報であり、ドキュメントの内容を抜粋してブログに転載するようなことは出来ませんので、お手数ですがご自身の環境より入手いただきご確認ください。 10ページに満たないボリュームですのでサクッと読めます。 「どんなレベルの災

    「AWSの日本リージョンのデータセンターはどんな災害を想定して設計されているんですか?」に答えるためのレポート紹介 | DevelopersIO
  • あたらしいテストフレームワークVitestをReactで試してみた | DevelopersIO

    単純なテストですがそれでも各項目で想像以上に速度の差があることがわかりました。 開発環境 MacBook Pro (13-inch, M1, 2020) macOS Monterey node v16.13.1 vite v2.7.2 vitest v0.1.20 jest 27.4.7 ts-jest 27.1.3 happy-dom 2.27.0 さいごに まだ開発中ながら一度この速度感に慣れてしまうとJestには戻れなくなってしまいそうです。。Jest互換の記載で書きすすめることができ、移行も容易そうなので正式リリース後にはテストフレームワークとして有力な選択肢となりそうです。Vitest今後の開発が楽しみですね。

    あたらしいテストフレームワークVitestをReactで試してみた | DevelopersIO