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

  • HTTP Client MockツールのHTTPrettyを使って、requestsの処理を拡張したクラスのテストを書こう | DevelopersIO

    HTTP Client MockツールのHTTPrettyを使って、requestsの処理を拡張したクラスのテストを書こう サーモン大好き、横山です。 requestsの拡張クラスを作っていて、実際に動かした際のMockResponseを作成するのが難しいなと思ったことは無いですか?私はあります。 今回はそういうときのためのHTTP Client Mockツール、HTTPrettyを紹介します。 前提の環境 今回は仮想環境に下記のコマンドを叩いてパッケージをインストールした環境です。 $ mkdir -p /path/to/httpretty $ cd /path/to/httpretty/ $ python3 -mvenv venv $ . venv/bin/activate (venv)$ pip install requests pytest pytest-cov httpretty

    HTTP Client MockツールのHTTPrettyを使って、requestsの処理を拡張したクラスのテストを書こう | DevelopersIO
    kak888881
    kak888881 2021/10/06
  • 「AWS Step Functions上でエラーが発生した場合の効果的な通知方法を検討してみた」というテーマで喋りました #devio2021 | DevelopersIO

    Developers.IO 2021 Decadeという弊社オンラインイベントにて、「AWS Step Functions上でエラーが発生した場合の効果的な通知方法を検討してみた」というテーマでお話させていただきましたので、ご紹介します。 セッション概要 突然ですが、皆さんはエラー通知方法についてよく検討されていますか? 私自身、開発をする中で、サービスのメインロジックに焦点をあてがちで、 エラー通知方法について深く検討ができていない状態でした。 セッションでは、私が開発業務で利用することが多い、AWS StepFunctionsについて、 効率的なエラー通知方法を検討したので、皆さんにご紹介します。 通知イメージ セッションで検討した、AWS StepFunctionsからSlackへの通知イメージは下図です。 実現方法や検討内容について興味がある方はぜひ動画をご覧ください! 動画や

    「AWS Step Functions上でエラーが発生した場合の効果的な通知方法を検討してみた」というテーマで喋りました #devio2021 | DevelopersIO
    kak888881
    kak888881 2021/10/05
    喋りました!
  • GitHub ActionsでAWSの永続的なクレデンシャルを渡すことなくIAM Roleが利用できるようになったようです | DevelopersIO

    GitHub ActionsでAWSの永続的なクレデンシャルを渡すことなくIAM Roleが利用できるようになったようです アクセスキー、撲滅してますか? ナカヤマです。 目黒方面より、以下のような福音が聞こえてきました。 何がどのくらい最高かと言いますと! GitHub Actions に AWS クレデンシャルを直接渡さずに IAM ロールが使えるようになることがまず最高で! クレデンシャル直渡しを回避するためだけの Self-hosted runner が必要なくなるところも最高です!!✨✨✨ https://t.co/IUQmfzkIB0 — Tori Hara (@toricls) September 15, 2021 元ネタはこちら。 Ok I blogged about it. That's how excited I am. 1. Deploy this CFN templ

    GitHub ActionsでAWSの永続的なクレデンシャルを渡すことなくIAM Roleが利用できるようになったようです | DevelopersIO
    kak888881
    kak888881 2021/09/22
  • AWS Step Functions の Map ステートの挙動を調べてみた。 | DevelopersIO

    休日に自由に外出することもままならない昨今、おうち時間はたくさんあるけど何をすればいいのかわからない。 そんなときは、AWS のサービスの挙動を調べてみるのはいかがでしょうか。 新しい時代の新しい時間の使い方を提案するこのブログ、今回は AWS Step Functions の Map ステートの挙動を調べてみました。 AWS Step Functions の Map ステートとは ドキュメント には Map ステートについて、次のように書いてあります。 Map 状態 ("Type": "Map") を使用して、入力配列の要素ごとに一連のステップを実行できます。Parallel 状態は同じ入力を使用して複数のステップのブランチを実行しますが、 Map 状態は状態入力の配列の複数のエントリに対して同じステップを実行します。 どうやら Map さんに配列を渡すと、配列の要素それぞれに対して同じ

    AWS Step Functions の Map ステートの挙動を調べてみた。 | DevelopersIO
    kak888881
    kak888881 2021/09/16
    Map ステートで配列の一部の要素の処理が失敗しても、ステートマシン全体を成功させる方法、めっちゃ参考になりました
  • Pythonで作ったコマンドをGitHub経由でpipインストール可能にする | DevelopersIO

    Pythonで作ったコマンドをpipでインストールできる形にしてGitHubで公開する方法を紹介しています。 こんにちは、ターミナル住人の平野です。 先日Pythonで作ったコマンドを公開する際、 Pythonなんだし、やっぱりpipでインストールできるようにしたいなと思い、 そのやり方を調べたので記録しておきます。 CSV変形のお供に。テキストの一部分にだけコマンド適用するツールを作ってみた。 GitHubでの公開 pipを使うと通常はPyPIからパッケージを探そうとしますが、 探しに行く先としてGitHubを指定することもできるようです。 いくらPyPIが誰でもパッケージを登録できるリポジトリとは言え、 いきなりここに登録するのは心理的なハードル高すぎなので、 まずはGitHubでの公開だけに留めておきます。 スタート地点 スタート地点としては、sample_command.pyという

    Pythonで作ったコマンドをGitHub経由でpipインストール可能にする | DevelopersIO
    kak888881
    kak888881 2021/09/09
  • Lambdaのテスト領域に関する技術共有会を開催しました | DevelopersIO

    はじめに CX事業部の佐藤智樹です。 今回は先月中頃に実施したLambdaのテスト領域に関する技術共有会の資料と当日にいただいた意見を紹介します。技術共有会自体はお客様含め5人ほどで実施予定でしたが、社内の方を誘ったところ15人程と大人数でディスカッションしながら知識を深めました。有意義な時間となったのでブログで共有します。 記事はLambdaに対してどのようなテストをすべきか、Lambdaでこれからテストを書くがどうやれば良いか悩んでいる方などは参考になるかと思います。いくつか紹介するテストパターンのメリット/デメリットもあげるので、テスト選定の上で参考にしてください。 例となる題材がなければ抽象的な話ばかりになり分かりづらくなるので、今回は以下のIoTデータ収集システムをベースにどうテストを書いていくか検討します。IoTデバイスからきたデータをRDSに保存するシステムです。色々書い

    Lambdaのテスト領域に関する技術共有会を開催しました | DevelopersIO
    kak888881
    kak888881 2021/08/18
  • デジタル広告配信のゲームチェンジャーになり得るか!?Brave Browser は単なるアドブロックブラウザではなかった、という話 | DevelopersIO

    デジタル広告配信のゲームチェンジャーになり得るか!?Brave Browser は単なるアドブロックブラウザではなかった、という話 最近、仮想通貨ブロックチェーンについて情報収集しているなかで Brave Browser という興味深いブラウザを見つけたのでご紹介したいと思います。 まずはこちらの動画をご覧ください。 テレビCM放送中 from Brave on Vimeo. ターゲティング広告について 近年のデジタル広告は個人の性別・年齢・居住地などの情報であったり、検索などの行動に基づき表示される広告が選別されているケースが多いかと思います。いわゆるターゲティング広告と呼ばれるものです。 ターゲティング広告は、より個人の趣味嗜好に合わせた広告を表示させることでコンバージョン率の向上を期待する戦略と考えられます(私の興味をひく広告が表示されているか疑問を感じますが、、) 一方で適した広告

    デジタル広告配信のゲームチェンジャーになり得るか!?Brave Browser は単なるアドブロックブラウザではなかった、という話 | DevelopersIO
    kak888881
    kak888881 2021/07/15
  • RustからWebAssembly (wasm)を生成してJavaScriptとブリッジ通信してみる | DevelopersIO

    Rustはじめました Rustイイですよね。Cと同程度のパフォーマンスで動作して、メモリリークを防止し、マルチスレッドも安全に記述できます。GC(ガベージコレクション)処理よりも高速にメモリーを開放します。今まで、より高速に動くプログラミング言語を求めるとC/C++等が必要になり、安全面で気をつけないところが増えてしまって手が出しづらく、一方で、Javaなどの安全面が確保された言語や、JavaScriptPythonなどのスクリプトで記述できる言語は、nullやundefinedなどを気をつける必要があり、更に実行速度を上げるには課題がありました。(Javaは十分速いと思います) Rustは、C/C++と同程度のパフォーマンス(強い)を持ちつつ、型やメモリやスレッドに関する安全面を備えているため、今後、OSやミドルウェアの開発に使われることが増えるのではと思っています。一方で、JavaS

    RustからWebAssembly (wasm)を生成してJavaScriptとブリッジ通信してみる | DevelopersIO
    kak888881
    kak888881 2021/07/13
  • 脱ハンコ!?Slack と Step Functions で実現するチャットベースの承認ワークフロー | DevelopersIO

    Slack と Step Functions でチャットベースの承認ワークフロー Slack アプリを開発して、脱ハンコを目指してみませんか? 筆者が所属するオペレーションチームでは、弊社メンバーズサービスをご利用中のお客様へ AWS に関するお知らせのメールを送付する機会が多く、チーム内部で承認フローを利用する機会が多い状況でした。また弊社では、社内コミュニケーションツールとして Slack を利用していることもありチームメンバーからは「Slack 上で承認作業を完結できるツールが欲しい」という要望があったため、下記のブログを参考にプロトタイプを開発し、利用しています。 つい先日、Step Functions のサービス統合パターンでコールバックタスクを利用することによりプロトタイプよりもシンプルに実装できることが分かったため、サーバーレスで検証した際の PoC ソースコードを含め Sl

    脱ハンコ!?Slack と Step Functions で実現するチャットベースの承認ワークフロー | DevelopersIO
    kak888881
    kak888881 2021/07/08
  • 【メンバーズを支える仕組み】 AWS から届くメールを自動処理するサービスをつくってみた | DevelopersIO

    記事では、2020年6月末時点で 8,800 を超える弊社メンバーズの管理 AWS アカウントへ向けて AWS から配信されるメールを自動処理するために開発したサービスの裏側を少しだけご紹介いたします。 リリース日(2020年7月3日)からおよそ1年分の稼働データを確認してみると年間累計 34万3千通を超えるメールが処理されており月平均で3万弱程度のメールが処理されておりました!! はじめに こちらのブログでも触れていますが、弊社のサポートチームは下記の課題を抱えておりました(2019年12月当時) AWS から配信されるメールのうち、メンバーズ顧客が利用している AWS リソースに関するメンテナンス等の通知を人手で選り分け、顧客へ案内している(より迅速に顧客へ案内したい) AWS から配信されるメールのうち、メンバーズ顧客が利用している AWS アカウントのインシデント通知等を人手を介

    【メンバーズを支える仕組み】 AWS から届くメールを自動処理するサービスをつくってみた | DevelopersIO
    kak888881
    kak888881 2021/07/06
    神システム
  • 私のチームで行っているドキュメント管理方法の紹介(GitHub Actions, S3, AsciiDoc) | DevelopersIO

    ドキュメントツールのインストール(Windows) Macの場合の設定方法は、項の後に記載 PowerShellの起動 各種ツールをインストールするため、PowerShellを管理者として実行 Windowsボタンを押下 powershell と入力 右クリックで管理者として実行 を選択します Chocolateyのインストール 手順は前述で起動したPowerShellを利用 1.Chocolatey のサイトにアクセスし、インストールコマンドをクリップボードへコピー 2.前項でコピーしたコマンドをPowerShellにペーストして実行します Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServiceP

    私のチームで行っているドキュメント管理方法の紹介(GitHub Actions, S3, AsciiDoc) | DevelopersIO
    kak888881
    kak888881 2021/07/06
  • [初心者向け]AWS Well-Architected ドキュメントの歩き方 | DevelopersIO

    2022バージョンについて 新バージョンをリリースしています。 今後はこちらをご参照ください。 以下2021バージョン AWS認定トレーニング講師の平野@おんせん県おおいたです。 今日はWell-Architectedがテーマです。 はじめに AWS Well-Architected フレームワークとは AWSAWSユーザの10年以上の経験からまとめられたベストプラクティクス集です。 いいかえれば、多くの失敗反省を元に作られています。 これからAWSを活用する際に、皆さんが同じ失敗をしないためのガイドラインとも言えます。 AWSを始めたら、まずは目を通してもらいたいドキュメントです。 とはいえ... とはいえ、このドキュメントなかなか読みづらいです。 私も正直最初は???という感じでした。 そこで、これからWell-Architected ドキュメントを読む方のサポートができないかと思い

    [初心者向け]AWS Well-Architected ドキュメントの歩き方 | DevelopersIO
    kak888881
    kak888881 2021/07/05
  • curlでパフォーマンス測定 | DevelopersIO

    コマンドラインツールのcurlを用いてHTTPによる通信のパフォーマンスを調べる方法を考えていこうと思います。 curlとは curlはURLを用いてデータをやりとりするためのコマンドラインツールもしくはライブラリです。 コマンドラインツールとしてはcurl、ライブラリとしてはlibcurlがあります。 HTTPだけではなくFTPやSMTPなど様々なプロトコルに対応しています。 自分は主にCLIからHTTPリクエストを送りたい時などに使っています。 使ってみたい方は以下の方法でインストールできると思います brew install curl apt install curl --write-outを使ってパフォーマンス測定 curlには様々なオプションが用意されていますが、今回、主に用いるのはこの-w, --write-outオプションです。 このオプションは指定したフォーマットを用いてコ

    curlでパフォーマンス測定 | DevelopersIO
    kak888881
    kak888881 2021/07/05
  • Zendesk Guideのテーマファイルをカスタマイズする際に必要になりそうなこと | DevelopersIO

    今回は、Zendesk Guideのテーマファイルをカスタマイズする際に必要になりそうなことを書いていきたいと思います。 Zendesk Guideの管理画面でも設定可能な項目がございますが、テーマファイル側で制御できるものは、そちらで行う方針で記載しております。 作業環境のセットアップ 編集したテーマファイルを毎回Zendeskにアップロードするのは面倒なので、ローカル環境でプレビューできるようにします。 手順は下記に記載しております。 Zendesk Guideテーマの編集結果をローカルで確認できるようにする テーマファイルの取得 テーマファイルをイチから作るのではなく、Zendesk Guideの標準テーマであるCopenhagenに対してカスタマイズを行うことが推奨されております。 テーマファイルは下記から取得できます。 https://github.com/zendesk/cop

    Zendesk Guideのテーマファイルをカスタマイズする際に必要になりそうなこと | DevelopersIO
    kak888881
    kak888881 2021/07/05
    丁度知りたかった内容が!
  • AWSサービスを一枚絵でサラッと抑える!グラレコ満載の「awsgeek.com」は眺めるだけで楽しい | DevelopersIO

    AWSサービスをグラレコで確認できて、事前の学習にも知識のおさらいにも使える便利サイトawsgeek.comのご紹介です。 AWSギークの皆さんコンバンハ、千葉(幸)です。 「結局、このAWSサービスの肝って何なの?」 日々AWSに触れる中で、このような思いを抱く機会があるのではないでしょうか。 例えば触ったことのないAWSサービスを調べるときは、事前にざっくり概要を抑えてからにしたいものです。詳細な確認はAWSドキュメントやBlack Beltの資料、先人のブログを一通り調べることになりますが、そこより一歩手前で大まかな概要を抑えられると、その後の理解が進みやすくなります。 また、自分が使ったことがあるサービスであっても、他の人に説明する時にはちょっと悩む時もあります。そのサービスの特色やどこの観点を切り取るかなど、なるべく勘所を伝わるように工夫したいものですが、ただ単に触ったことがある

    AWSサービスを一枚絵でサラッと抑える!グラレコ満載の「awsgeek.com」は眺めるだけで楽しい | DevelopersIO
    kak888881
    kak888881 2021/07/04
  • AWSアカウントを作ったら最初にやるべきこと ~令和元年版~ | DevelopersIO

    はじめに 中山(順)です 4年ほど前にこの記事のタイトルと同じテーマで資料を作成したことがあるのですが、古い内容があったり新しいサービスのことが含まれていなかったりするので改めてまとめてみました。令和だし! その時の資料はこちらです(クラスメソッドにジョインするくらい2年前です)。 AWSアカウントを作ったら最初にやるべきこと サインアップ (業務利用の場合)非個人メールアドレスでサインアップ サポートプランの確認 ID管理 / 権限管理 CloudTrailの有効化 ルートアカウントのMFA設定 IAM User / IAM Groupの作成 パスワードポリシーの設定 GuardDutyの有効化 Security Hubの有効化 請求 IAM Userによる請求情報へのアクセス許可 支払通貨の変更 Budgetの設定 Cost Explorerの有効化 Cost Usage Report

    AWSアカウントを作ったら最初にやるべきこと ~令和元年版~ | DevelopersIO
    kak888881
    kak888881 2021/07/04
  • API Gatewayのデフォルトエンドポイントをパブリックに公開してたのに通信不達で悩んだ話 | DevelopersIO

    オペレーション部の加藤(早)です。 発端 とあるAPIサービスについて、こんなやり取りがありましたとさ。(フィクションです) 公開側「API公開しました!URLはこちらです!」 https://{API-ID}.execute-api.ap-northeast-1.amazonaws.com/prod とある利用者「うちのサーバから到達できないみたいなんだけど…」 公開側「え?インターネットに公開しているし、特にアクセス制限もしてないよ?他の人はみんな使えてるし、URL間違えてない?」 原因 到達できなかった利用者のサーバはAWS上にあり、そのサーバが存在するVPCに東京リージョンのAPI Gateway( *.execute-api.ap-northeast-1.amazonaws.com ) 宛のVPC Endpointが設定されていたため、対象APIへの接続経路にプライベートリンクを

    API Gatewayのデフォルトエンドポイントをパブリックに公開してたのに通信不達で悩んだ話 | DevelopersIO
    kak888881
    kak888881 2021/06/30
    図がとてもわかりやすい!
  • [レポート]サーバーレスアプリ用のロードバランサーの選択方法 #reinvent #NET301 | DevelopersIO

    re:Invent 2020のセッション「 Choosing the right load balancer for serverless applications 」を聴講しましたのでレポートします。 サーバーレスとありますが、on Fargateで稼働するECSやEKSについても扱っています。ELBファミリーの各サービスの差異や、Lambda、ECS、EKSをターゲットにする場合の注意点、またELBとAPI Gatewayの比較や、マイクロサービスのアーキテクチャーパターンについても述べられていて、非常に有意義なセッションでした。最下部に視聴リンクを置いていますので、より詳しく学びたい方はre:Inventにサインインした上でそちらをご確認ください。 セッション概要 Elastic Load Balancing automatically distributes incoming ap

    [レポート]サーバーレスアプリ用のロードバランサーの選択方法 #reinvent #NET301 | DevelopersIO
    kak888881
    kak888881 2021/06/28
  • Amazon API Gateway プライベート API の「プライベート」を誤解してると、とても危ないという話。 | DevelopersIO

    API Gateway にはパブリック API と、プライベート API が作成できますが、「プライベート」という言葉を正しく理解していますでしょうか? 「自分の AWS アカウント内からのみアクセスできる API でしょ?」 と考えたあたなに質問です。図にすると、このようなイメージでしょうか? あなたのアカウント内にプライベートな API Gateway が存在し、他の AWS アカウントから接続するには承認しないと接続できない。それが「プライベート」だと。 このようにお考えの場合、API Gateway にはリソースポリシーでアクセス元を制限したり、API Gateway で認証なども実装できますが「今回はプライベートなので、特に制限は必要ありません。」と考え、以下のようなリソースポリシーを設定していたりするでしょうか? { "Version": "2012-10-17", "Stat

    Amazon API Gateway プライベート API の「プライベート」を誤解してると、とても危ないという話。 | DevelopersIO
    kak888881
    kak888881 2021/06/26
  • AWSの負荷テストソリューションを試してみた | DevelopersIO

    シナリオを用いた負荷テストツールとしてJMeterやGatlingなどがございますが、AWSでも負荷テストのソリューションが用意されております。 こちらのソリューションは、Fargateで1秒あたり選択した数のトランザクションを生成する数千規模の接続ユーザーを簡単にシミュレートできます。 エントリでは、AWS負荷テストソリューションを使った負荷テストを紹介します。 構成要素 公式の構成図を拝借しています。 フロントエンドでは、バックエンドの負荷テストエンジンを実行するAPIと、テストシナリオの作成やモニタリングに使用するウェブコンソールが提供されています。 なお、使用するテストシナリオにはJMeterのシナリオを指定できるため、既にJMeterを使っている場合は簡単に大規模な負荷テストを行うこともできます。 バックエンドでは、負荷を生成するためのDockerイメージを作成します。イメー

    AWSの負荷テストソリューションを試してみた | DevelopersIO
    kak888881
    kak888881 2021/06/21