タグ

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

  • SESで30万通のテストメールを送信、発生したエラーや遅延を調査してみた | DevelopersIO

    Amazon SESで 不特定多数の宛先にメールを送信する場合、十分なウォームアップと、配信制限(バウンス)に加え、予兆となる配信遅延についても、見逃さないようにしてご利用ください。 Amazon SES、 Gmail 宛に 1日 1万通規模のメール送信に利用できる事を確かめるため、 約1ヶ月かけて 30万通のテストメールの送信を実施。 その送信結果の確認を試みる機会がありましたので、紹介させて頂きます。 SESの設定 認証 Easy DKIM、カスタム MAIL FROM ドメインを設定しました。 DMARC関連設定も実施しました。 SESで送信したメールのDMARCレポートをCloudflare DMARC Management で確認してみた 設定セット IPプールはデフォルトとしました。 Virtual Deliverability Managerは有効化しました。 全てのログをF

    SESで30万通のテストメールを送信、発生したエラーや遅延を調査してみた | DevelopersIO
    mickn
    mickn 2024/03/12
  • GitHub PagesのSourceにGitHub Actions(beta)を指定し、AsciiDocとSwaggerUIを公開する構成 | DevelopersIO

    ※ リポジトリのページから「Settings」->「Source」設定確認可能 Source指定にDeploy From a branchと比較し、GitHub Actions(beta)を利用するメリットには以下があります。 ホスティングのために用意しているブランチやビルド成果物が不要になり、認知負荷を下げられる ビルド資材をコミットする作業がなくなる ビルド資材の容量が大きい場合、pullやcheckoutにかかる時間を削減できる(モノレポの場合コードに対するCIにも影響する) 設定方法 前提 今回は以下をホスティングする想定にします。 Swagger UI AsciiDoc with PlantUML 何らかのHTTP REST APIの仕様書を作る想定です。 リポジトリテンプレート リポジトリテンプレートは公開しています。用途に応じてカスタマイズして頂けたらと思います。 ファイル/

    GitHub PagesのSourceにGitHub Actions(beta)を指定し、AsciiDocとSwaggerUIを公開する構成 | DevelopersIO
    mickn
    mickn 2024/03/04
  • Retrieval Augmented Generationを改良する2つの方法 | DevelopersIO

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

    Retrieval Augmented Generationを改良する2つの方法 | DevelopersIO
    mickn
    mickn 2023/09/22
  • 【徹底解説】これからのエンジニアの必携スキル、プロンプトエンジニアリングの手引「Prompt Engineering Guide」を読んでまとめてみた | DevelopersIO

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

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

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

    ChatGPTに要件定義をお願いしたらハンパなかった | DevelopersIO
    mickn
    mickn 2023/03/20
  • SQLiteを分散データベースに変えるmvSQLite | DevelopersIO

    Introduction 先日Githubに公開されたmvSQLiteですが、 「SQLite互換のスケーラブルなデータベース」とのことで話題になってます。 mvSQLiteの特徴は、SQLiteのストレージレイヤーをFoundationDBに分離しているところです。 これにより、DynamoDBのように際限のないスケーラビリティ、point-in-timeでの読み取り、 そしてRDBの厳密な一貫性を提供します。 作成者曰く、mvSQLiteの目標は 「SQLiteを分散データベースに変えること」 とのことです。 FoundationDBとは FoundationDBは大量の構造化データを処理するために設計された分散データベースです。 2015年にAppleが買収したことでもニュースになりました。 データをソート済みのKeyValueデータとして保管し、 すべての操作にACIDトランザクシ

    SQLiteを分散データベースに変えるmvSQLite | DevelopersIO
    mickn
    mickn 2022/08/27
  • PostgreSQL 15ではpublicスキーマへの書き込みが制限されます | DevelopersIO

    PostgreSQLではデータベースを作成すると、デフォルトで public スキーマが作成され、任意のユーザーがこのスキーマにオブジェクトを作成できました。 CVE-2018-1058 でpublicスキーマのこの仕様とsearch_pathを使ったトロイの木馬攻撃の脆弱性(仕様の潜在リスク)が報告されました。 この攻撃から守るために、以下のような方法が推奨されています。 public スキーマの CREATE 権限を REVOKE ユーザーごとにスキーマを割り振る search_path に public スキーマが含まれないように調整 PostgreSQL 15からは、1つ目の回避策がデフォルトで有効になり、データベースのオーナーだけがpublicスキーマにオブジェクトを作成できるようになります。 Remove PUBLIC creation permission on the pu

    PostgreSQL 15ではpublicスキーマへの書き込みが制限されます | DevelopersIO
  • DeepLの”公式”Chrome拡張がヤバイ。TwitterもSlackも英語でつぶやき放題 | DevelopersIO

    ちゃだいん(@chazuke4649)です。 DeepLの公式Chrome拡張機能がヤバかったので勢いにまかせて紹介します。 "公式版"がリリースされてたの知ってた? DeepL翻訳(ベータ版) - Chrome ウェブストア ベータ版ではありますが、いつの間にか公式版がリリースされていました。自分は今まで公式版がなかったので、以前は非公式版のツールを使っていました。 インストールする Chromeウェブストアからインストールすると、右上にアイコンが表示されます。それをクリックすると以下ポップアップ画面が表示されます。 現時点では以下2つの機能が存在します。 読む: ブラウザ上の文章を任意の言語に翻訳して表示できる 書く: ブラウザ上に入力している文字を任意の言語に変換できる それぞれ試してみます。 「読む」 一般的にはこちらがよく認知されている機能だと思います。 下図のように、翻訳したい

    DeepLの”公式”Chrome拡張がヤバイ。TwitterもSlackも英語でつぶやき放題 | DevelopersIO
    mickn
    mickn 2021/12/25
  • uBlacklistを使ってDevelopersIOを検索結果から除外する | DevelopersIO

    uBlacklistについて uBlacklistはウェブ検索の結果から特定のドメインが表示されないように除外するプラグインです。StackOverflowなどをベースに自動生成された質の悪い自動翻訳記事 *1や、出自の怪しい情報をまとめたプログラミング学習サイト *2など、技術調査の上でノイズとなるウェブサイトをドメインレベルで検索結果から排除することができます。 記事ではDevelopersIOを対象にuBlacklistを使って検索対象から除外する方法を紹介します。 uBlacklistはChrome Web StoreとFirefox Add-onsで提供されています。ここではChrome版を利用します。 uBlacklistをブラウザに追加する ChromeブラウザでこちらのURLを開き、右側に表示される「Chromeに追加」ボタンをクリックするとuBlacklistが追加され

    uBlacklistを使ってDevelopersIOを検索結果から除外する | DevelopersIO
    mickn
    mickn 2021/03/17
  • WEBサーバをコンテナにした際に静的コンテンツはどこへ保存するのか | DevelopersIO

    WEBアプリ WEBフレームワークはEchoを利用します。views/index.htmlと、assets/images/orora24O.jpgを読み込んでEC2ローカルに保存した画像を表示するだけページを作成しました。このアプリケーションをEC2インスタンスで実行しWEBサーバとして起動します。 手元でビルドしてEC2へ必要なファイルをコピーする計画です。ディレクトリ構成は以下です。 $ tree . ├── assets │   └── images │   └── orora240.jpg ├── go.mod ├── go.sum ├── main.go └── views └── index.html main.go package main import ( "io" "net/http" "text/template" "github.com/labstack/echo/v

    WEBサーバをコンテナにした際に静的コンテンツはどこへ保存するのか | DevelopersIO
    mickn
    mickn 2021/02/21
  • GitLab.comはどうやって6TBのPostgreSQLを9.6から11にたった2時間で移行したのか? | DevelopersIO

    GitレポジトリのホスティングサービスGitLab.comは2020年の5月に 6TB あるPostgreSQL 9.6クラスターをたった2時間のメンテウィンドウ中に11.7へアップグレードしました。 GitLab.comのエンジニアブログに、このPostgreSQLのメジャーアップグレードプロジェクトが解説されていたので、かんたんにご紹介します。 How we upgraded PostgreSQL at GitLab.com | GitLab ポイント PostgreSQL 9.6から 11.7 へのメジャーアップグレード 2時間のメンテナンスウィンドウ内でアップグレード完了 データサイズは6TB DBクラスターは GCP 上の 12台の VM インスタンスで構成 クラスターはアップグレード用の8台とリカバリー用の4台に分割 pg_upgrade & ハードリンクでインプレースアップグ

    GitLab.comはどうやって6TBのPostgreSQLを9.6から11にたった2時間で移行したのか? | DevelopersIO
  • 【速報】Auth0の東京リージョン開設が発表されました #Auth0JP #Auth0アドカレ | DevelopersIO

    時間 2020年12月15日 に日ユーザー待望の東京リージョン開設が発表されました。 これで、パブリッククラウド環境下でUS,AU,EUに加えて4つのリージョンからAuth0の利用をできるようになります。 テナント作成画面でも日を選べるようになっています。 ドメインは jp.auth0.comですね。 Auth0のステータス確認サイトでも日が増えていました。 https://status.auth0.com/ 今のところリージョン移行ツールのようなものは提供されていないようなので、移行したい場合はこれまでと同じくAuth0 Management APIを使ってUsers、Applications、Connections設定などを転送する必要があります。 APIの他、拡張機能で提供されているツールを使って移行も可能です。 レイテンシーの影響をできるだけ少なくしたい、日国外のデータ

    【速報】Auth0の東京リージョン開設が発表されました #Auth0JP #Auth0アドカレ | DevelopersIO
    mickn
    mickn 2020/12/15
  • microCMS + Gatsby + GitHub Actions + S3 でJamStackのチュートリアル | DevelopersIO

    What is Jamstack? ここ数年でよく聞くようになったワード。 Jamstackとはウェブサイトを構築および運用するための、技術の組み合わせです。 JavaScriptAPI・事前にレンダリングされたMarkupの組み合わせでJamStackとのこと。 (以前はJAMStackといってたけど、最近はJamstackだったりする) Jamstackは、 「ウェブをより速く・より安全に・より簡単に拡張できるように設計されたアーキテクチャ」であり、 生産性を最大化するツールやフレームワーク、ライブラリやワークフローなどを 組み合わせて構築されるもの、とのことです。 ※jamstack.orgより 従来のCMSではアクセスがあったとき動的にページを生成しますが、 Jamstackではデプロイ以前に必要なページを生成します。 具体的には、下記。 Webサイトのフロントエンド全体(HTM

    microCMS + Gatsby + GitHub Actions + S3 でJamStackのチュートリアル | DevelopersIO
    mickn
    mickn 2020/11/07
  • はじめてのsystemdサービス管理ガイド | DevelopersIO

    はじめに MarketplaceでCentOS 7 AMIがリリースされましたね!(ex. Amazon EC2 CentOS 7 AMIファーストインプレッション) ということで、これはもう格的にsystemdを学ばないとあかん、という危機感に駆られた次第です。systemdは"system and service manager"なので、電源やロケールなどのシステム部分の管理も可能ですが、差し当たってEC2で使う上で最低限押さえとかなければいかないのはサービス管理になるでしょう。そこでsystemdを操作するためのコマンドであるsystemctlを使って、サービスを管理する方法についてまとめました。 systemdサービス管理 systemdでは、これまでサービス起動スクリプトで定義されていたものがUnitという形で定義されますので、サービスの管理=Unitの管理となります。 有効化

    はじめてのsystemdサービス管理ガイド | DevelopersIO
  • BRAVIAのREST APIを使ってテレビを操作してみた | DevelopersIO

    はい、どーも!CX事業部の吉田です。 今日 Twitterをいつものように見てたところ、以下のようなツイートが流れてきました。 BRAVIAはガッツリAPIあるな。いいこと聞いた。 "はじめに | BRAVIA Professional Display Knowledge Center" https://t.co/0ngvvFMIrM — moyashi (@hitoriblog) August 21, 2020 ちょっと見た感じ、法人向け製品のみに実装されてるのかな?と・・・ ちょうど我が家のテレビもBRAVIA(KJ-55X8550G)だったので、試しにそのIPを叩いてみると、nginxのレスポンスが返ってくるではありませんか。 多分REST APIで叩けそうだぞ!ということで試してみました。 前準備 まずはテレビ側を準備します。 テレビのホーム画面から設定に入ります。機種によってこ

    BRAVIAのREST APIを使ってテレビを操作してみた | DevelopersIO
    mickn
    mickn 2020/08/24
  • 最初のAWSは、どのサービスだったのかを探る旅 | DevelopersIO

    こんにちは、ゲストブロガーの佐々木拓郎(@dkfj)です。小ネタシリーズの第二弾として、最初のAWSサービスは何かというAWS考古学の話をしてみましょう。 目次 目次 最初のAWSサービスは何? S3より前に公開されていたSQS 歴史の闇に埋もれた最初の『Amazon Web Service』 結論 最初のAWSサービスは何? 企業の公式サービスなので、最初のサービスを探すのは別に難しくはないのではと思うのではないでしょうか。実は、定義によって色々変わるので、これが意外に難しいのです。そんな中で多くの人が思い浮かぶのがEC2かS3ではないでしょうか?まず、そこの前後関係を見てみましょう。 2006年3月 Amazon Simple Storage Service(S3) 2006年8月 Amazon Elastic Compute Cloud(EC2) 実はEC2より先に、S3が出ています

    最初のAWSは、どのサービスだったのかを探る旅 | DevelopersIO
    mickn
    mickn 2020/07/20
  • 画像の座標を空間の座標に変換する | DevelopersIO

    カフェチームの山です。 現在カフェチームでは、カメラから取った映像に映っているユーザの骨格や手の位置を検出し、そのユーザがどの商品を取ったかを認識することに取り組んでいます。画像処理によって、関節など(Landmark)が画像上のどこに位置しているのかはわかりますが、実際の空間においてどの位置に存在するかは直接はわかりません。(そのため、例えば、棚に置かれたどの商品を取ったかを判定する、といったことができません。) 前回は、基的な座標変換と、ワールド座標系とスクリーン座標系との間の変換について調べました。 座標変換について調べてみた 今回は、画像上の位置(+奥行き)から、実際の空間における位置に変換するため、行列を利用した計算方法をまとめ、コードを実装しました。また、テストとして3DCG(UnrealEngine)を利用しました。空間に配置したオブジェクトを撮影し、その画像内の座標とデ

    画像の座標を空間の座標に変換する | DevelopersIO
    mickn
    mickn 2020/07/11
  • Auth0で保護されたAWS AppSync(GraphQL)をReactからApollo Clientで利用する方法をチュートリアルとしてまとめた | DevelopersIO

    Create React App(CRA)を使ってアプリケーションを生成します。任意の作業用ディレクトリに移動後、下記のコマンドを実行します。 再現性を高めるために、パッケージのバージョンを固定してインストールしています。 npx create-react-app@3.4.1 --template typescript react-appsync-protected-by-auth0 cd react-appsync-protected-by-auth0 React RouterとAuth0のSPA用SDKをインストールします。 yarn add react-router-dom@5.1.2 @auth0/auth0-spa-js@1.8.1 yarn add -D @types/react-router-dom@5.1.2 Auth0Reactで利用する為のCustom Hookを作成

    Auth0で保護されたAWS AppSync(GraphQL)をReactからApollo Clientで利用する方法をチュートリアルとしてまとめた | DevelopersIO
  • 社長として最低限のテレワーク環境を整えてみた | DevelopersIO

    1月末から全社員を対象に原則テレワークを開始 皆さんこんにちはー! 現在クラスメソッドでは、世界5カ国(日、カナダ、ドイツ韓国、インド)、国内18フロアに勤務する約500名の社員の99%が毎日テレワークをしています。そうです、いきなり非日常が来てしまい、そしてそれが日常として定着してしまいました。これは、クラウドの世界の均衡を保つ為に暗躍する超人秘密結社「クラメソ」の知られざる活動の記録である。(ここでUNION SQUARE GARDENの曲が流れる) 社長業とはすなわち意志(WILL)の発信である 私はしがない零細企業の工場長として16年目の社長をしておりますが、創業時から大事にしていることは、「お前は何を考えて何をして何を成すんだ」という意志を言葉にして周囲に伝えることでした。もともとシャイなエンジニアでしたので、カフェとか居酒屋とか休憩室とかでの対面のコミュニケーションや、3ヶ

    社長として最低限のテレワーク環境を整えてみた | DevelopersIO
    mickn
    mickn 2020/04/08
  • Slack絵文字による川柳を効率化するためのスラッシュコマンドを開発しました | DevelopersIO

    通常のリアクションと川柳によるリアクションを比較すると、川柳によるリアクションの完了には通常のリアクションの約3倍~10倍程度の時間が必要になります。 +:絵文字コード: を活用してもかなりのタイプ数になるので、こういった反応が出てくるのはもっともです。 Tip : 一番最後に受け取ったメッセージにリアクションするには、メッセージボックスで +:絵文字コード: と入力して送信します Slack の使い方 Slack職人たちが暇か?と言われないように、またSlack職人たちの業務負荷軽減のために、効率よく川柳を詠むためのスラッシュコマンドを作ることを心に誓いました。 構成 今回作成する環境です。 各AWSリソースはざっくり以下のように利用します スラッシュコマンドインストール時 ユーザーのブラウザがAPI Gatewayのエンドポイントにアクセス API GatewayからLambdaを起動

    Slack絵文字による川柳を効率化するためのスラッシュコマンドを開発しました | DevelopersIO
    mickn
    mickn 2019/07/29