タグ

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

  • 突貫でおぼえるSPF、DKIM、DMARC | DevelopersIO

    しばたです。 昨年10月にGoogle(Gmail)および米国Yahoo!においてスパム対策の強化がアナウンスされました。 この件に関してつい先日まで他人事でいたのですが、実は全然他人事では済まないことが発覚し突貫で知識を仕入れています。 アナウンスに対する具体的な対応策についてはこちらのZennの記事を見れば全部わかる感じです。 最高ですね。 また、メール送信にAmazon SESを使っている場合はAWSのブログを確認すると良いでしょう。 「これらの記事を読み解けば万事解決!」という感じではあるのですが、私自身が学んだなかで予め知っておくと良さそうに思えた点がいくつかありました。 記事ではその辺を共有するのと、実際にAmazon SESの環境を作って動作確認をしたのでその結果も合わせて共有します。 はじめに覚えておくと良い基礎知識 Zennの記事でも詳細な解説がありますが、個人的に「最

    突貫でおぼえるSPF、DKIM、DMARC | DevelopersIO
  • [アップデート] S3 インターフェースエンドポイントでプライベート DNS 名を使用できるようになりました | DevelopersIO

    (ゲートウェイ型を利用できる)VPC 上のアプリケーションがインターフェース型のエンドポイントを利用するメリットはありません。データ処理量に応じた料金が発生するためです。 *1あくまでインターフェース型はオンプレミスのアプリケーションなど、VPC 外からの S3 アクセスを想定したものになっています。 なお、2023/3現在の東京リージョンでの「データ処理量に応じた料金」は 1GB あたり 0.01 USD です。(一定量を超えると段階的に安くなります。) 料金 - AWS PrivateLink | AWS インターフェースエンドポイントのプライベート DNS 名 インターフェースエンドポイントのプライベート DNS 名 を有効化すると、それに応じたサービス用のプライベートホストゾーンが自動で生成され、エンドポイントを配置した VPC に自動で関連付けられます。例えば東京リージョンで S

    [アップデート] S3 インターフェースエンドポイントでプライベート DNS 名を使用できるようになりました | DevelopersIO
    giass
    giass 2023/03/17
  • [初心者向き] OpenAI APIを使ってPythonでChatGPT遊びするための最初の三歩くらい | DevelopersIO

    ChatGPT面白いですね! あんなことやこんなことできるんじゃないかと夢想して楽しんでいます。 そんなわけで、OpenAIAPIキーを発行できたんだけれども、そのあとどうすればいいの? という過去の自分のために、Pythonでの超基的な使い方をまとめておきたいと思います。 結論から言うと、 Pythonのコード15行程度でChatGPTを使ったアプリが出来上がりました! (APIキーを発行するやり方は他の記事をご参照ください) 準備 Python3でOpenAIのライブラリを使うので、pipでインストールしておきます。 pip install openai また、最小限のコードとはいえ、環境変数はハードコードしたくないので、 コマンドラインの環境変数に設定します。 export OPENAI_API_KEY="sk-xxxx" コード Pythonのコードを書いていきます。 ここに書

    [初心者向き] OpenAI APIを使ってPythonでChatGPT遊びするための最初の三歩くらい | DevelopersIO
  • そのRDS Proxyホントに必要?立ち止まって一度考えよう | DevelopersIO

    CX事業部@大阪の岩田です。 一般的にアンチパターンとされているLambdaとRDS(もしくはもう少し対象範囲を広げてRDB)の組み合わせですが、VPC Lambdaの改善やRDS Proxyの登場によって採用しても問題ないケースが増えました。ここ数年でLambda × RDSというアーキテクチャが選定されることも増えたように感じています。その一方で、RDS Proxyのメリット・デメリットをよく精査せずに、Lamba × RDSだから...という理由だけでRDS Proxyを導入し、あまりRDS Proxyのメリットを享受できないような構成も目にする機会が増えました。 このブログではRDS Proxyのメリットが薄くなる構成の具体例を紹介しつつ、RDS Proxy導入の手助けができればと思います。RDS Proxyというサービスの概要やメリット・デメリットについては既に色々な記事が出て

    そのRDS Proxyホントに必要?立ち止まって一度考えよう | DevelopersIO
    giass
    giass 2022/12/30
  • VS Code の統合ターミナルで Git Bash や fish もサポートされたので試してみた | DevelopersIO

    VS Code 1.71 がリリースされました? マージエディタの改善や、スティッキースクロールが GA したり (editor.stickyScroll.enabled)、統合ターミナル周りの改善など様々なアップデートがありました。 またプレビュー機能ですが、ファイルの移動や名前を変更したときに、該当ファイルを参照している Markdown のリンクを自動で追随して変更してくれる機能も来ているようで気になっています。 (markdown.experimental.updateLinksOnFileMove.enabled) 今回のアップデートで個人的に一番嬉しかったのは、統合ターミナルで Git Bash も(まだ実験的ですが)サポートされたことです。 統合ターミナルではコマンドの検出や装飾、ナビゲーションなどの便利な機能が使うことができますが、サポートされているのは以下の組み合わせのみ

    VS Code の統合ターミナルで Git Bash や fish もサポートされたので試してみた | DevelopersIO
    giass
    giass 2022/09/07
  • 意外と知られてない?AWS Prescriptive Guidance(AWS規範的ガイダンス)めっちゃ使えるよ | DevelopersIO

    AWS Prescriptive Guidance(AWS規範的ガイダンス)について紹介されているものが少なったので、ひょっとして未だ認知度低いんじゃないか?ということで紹介したいと思います! AWS Prescriptive Guidance(AWS規範的ガイダンス) Amazon Web Services (AWS) Prescriptive Guidance provides time-tested strategies, guides, and patterns to help accelerate your cloud migration, modernization, and optimization projects. These resources were developed by AWS technology experts and the global communi

    意外と知られてない?AWS Prescriptive Guidance(AWS規範的ガイダンス)めっちゃ使えるよ | DevelopersIO
    giass
    giass 2022/07/09
  • AWSのマルチアカウント戦略が難しい! | DevelopersIO

    今日(2022/07/07)は弊社、Classmethodの創立記念日ということで、 AWSのマルチアカウント戦略で思ったこと をそのまま書き殴ってみました。 共感するところや他に苦労しているところ思いついた方は Twitter 等で共有いただけると嬉しいです! 思いつく限り書いた結果の目次がこちらです。 「アカウントをどう分割するのか」問題 「AWS Control Tower を活用したほうがいいのか」問題 「ユーザー管理どうするのか」問題 「最小権限とは言っても」問題 「管理アカウントでの作業が怖い」問題 「OU/SCP周りの更新が怖い」問題 「セキュリティをどう向上するか」問題 「アカウント数のスケールにどう対応するのか」問題 「ベースラインの構築/管理をどうするか」問題 「ログ集約するのか/しないのか」問題 「どのアカウントかぱっと見て分からない」問題 「Security Hub

    AWSのマルチアカウント戦略が難しい! | DevelopersIO
    giass
    giass 2022/07/08
  • ZenHubというGithub向けの開発リポジトリ管理ソフトを使ってみた | DevelopersIO

    ZenHubとは? ZenHubはGithubに向けるプロジェクト管理(チケット管理や工程データ分析など)ソフトです。 ZenHubを使ってみる ZenHub for Github (Chrome Extension) ZenHub for GithubをインストールしてからGithubに入ったら、GithubのメニューにZenHubというタブが追加されます。 そのタブでZenHubにアクセスします。 Issue関連 GithubのIssue作成は、ボタンで新しいページに移行しますが、ZenHubはその画面を右からサイト画面として出てきます(左の情報を確認ながら、Issueを作ることができ、新たらしいページに移行することがページのロードに時間かかるので、Issueの作成効率が高くなる)。 そしてIssueにSprints(スクラム開発に使える)、Epics(Issueグループ)、Estim

    ZenHubというGithub向けの開発リポジトリ管理ソフトを使ってみた | DevelopersIO
  • 消えた AWS リソースを誰が・いつ削除したか確認する方法を教えてください | DevelopersIO

    困っていた内容 ECS でアプリを稼働させています。先日、アプリに接続できなくなったと社内から問い合わせがあり確認したところ、ECS クラスターごと消えていました。誰がいつ削除したか確認する方法を教えてください。 なお、AWS Config を確認しましたが、サポートされていないリソースでした。 どう対応すればいいの? CloudTrail のイベント履歴をご確認ください。 CloudTrail Event 履歴でのイベントの表示 - AWS CloudTrail CloudTrail コンソールで過去 90 日間の運用およびセキュリティインシデントのトラブルシューティングを行うには、[イベント履歴] を表示します。リージョンごとに、AWS アカウントでのリソース (IAM ユーザーまたは Amazon EC2 インスタンスなど) の作成、変更、または削除に関連するイベントを参照できます。

    消えた AWS リソースを誰が・いつ削除したか確認する方法を教えてください | DevelopersIO
    giass
    giass 2022/04/22
  • [書評] AWSの知識地図 | DevelopersIO

    Prismatixオペレーションチーム の高橋隆太です。 中途採用され格的な業務は始まっていませんが、 業務についていくためにクラスメソッドの現場で活躍中の先輩エンジニアが執筆した「AWSの知識地図」を読みました!! 私の業務経験や知識としては以下になります。 広く浅くIT業務を4年ほど具体的には、ネットワーク構築やPHPのプログラミングやWEBサーバーの負荷テスト AWSの実務経験はほぼなしでプライベートで簡単にECSやRDSを利用して3層アーキテクチャを作成した 資格はCLFとSAAとDVA持ってるだけで実務はほぼない。。。。 記事では簡単に概要と感想を紹介します? AWSの知識地図 読んで感じたこと 初学者の方に合わせた優しい内容で、最適な書籍と感じました。 主な理由としては3点あります。 前提知識と専門用語をしっかりと解説している どの章でもしっかりと前提知識を簡単に身につける

    [書評] AWSの知識地図 | DevelopersIO
    giass
    giass 2022/04/14
  • AWS WAF を急に導入することになったときに参考にした資料まとめ | DevelopersIO

    急ぎのご依頼で AWS WAF の導入を支援をする機会がありました。当に急な話だったので準備する時間もなく必要な設定の資料を都度見繕っていたので、また急に依頼されたときに備えて今回の対応で必要だった資料をまとめます。 AWS WAF を急に設定することになったあなたへ向けの記事です。 応急処置として以下の構成に AWS WAF を急遽導入することになったときのお話です。 2023/3/8追記 非常に良い記事でしたので紹介します。こちらもご覧ください。 状況と対応内容 Webサイトに不正なアクセスを受けていることがわかり、AWS WAF を導入して急場を凌ぎたい。 WordPress が起動している(Webサイトを提供しているサービス) 不正なアクセスはCloudFront経由と、Classic Load Blancerから直接の2パターン確認されている Classic Load Blan

    AWS WAF を急に導入することになったときに参考にした資料まとめ | DevelopersIO
    giass
    giass 2022/04/11
  • Rustベースのモダンなterminal 、 Warp | DevelopersIO

    Introduction Warpは、生産性と使い勝手を考えて再設計されたRust製のterminalです。 先日パブリックベータが開始され、誰でも使えるようになりました。 ※現在はMacのみ。他のプラットフォーム近日対応予定とのこと 完全Rustネイティブのアプリで、GPUでレンダリングするので高速です。 いまの開発に適した、モダンな機能をそなえたterminalになっています。 Why Warp? ここに、なんでいまさらterminal? の理由が書いてます。 かんたんにまとめると、 開発者ならコードエディタとターミナルは絶対使う コードエディタはどんどん進化してるがterminalは昔から変わってないから再開発した Warpの入力は最新のテキストエディタみたいに使える。出力はnotebookみたいに使える。 よく使うコマンドをsuggestionしたり、ワークフロー機能でコマンド入力

    Rustベースのモダンなterminal 、 Warp | DevelopersIO
    giass
    giass 2022/04/09
  • よくあるAWSサーバーレス構成のシーケンス図をMarkdown(Mermaid)で描いてみた | DevelopersIO

    こんにちは、CX事業部 IoT事業部の若槻です。 今までシステムのドキュメントなどでUML図を使用したい場合は、別途PlantUMLで書いて画像ファイルを生成し、MarkdownAsciiDoc内に配置するということをしていました。 しかしこちらの記事の通り、Mermaidを使用すればMarkdown内で直接UML図の定義をコードで記述し、さらにGitHub上ではそのまま描画までしてくれるとのことです。知らなかった…! GitHubmermaid記法が使えるようになったのでアーキテクチャーの図を書いてみた | DevelopersIO そこで今回は、下記のようなよくあるAWSサーバーレス構成(API Gateway + Lambda + DynamoDB + α)のシーケンス図をMermaidで描いてみました。 描いてみた Mermaidにおけるシーケンス図の文法はこちらを参考にしま

    よくあるAWSサーバーレス構成のシーケンス図をMarkdown(Mermaid)で描いてみた | DevelopersIO
  • Raspberry Pi 4 で小さなSSD1306 OLEDディスプレーに文字を表示させてみた | DevelopersIO

    はじめに 最近リモートワーク中のおうちの室内のCO2濃度が気になり、計測したい&遊んでみたい、という気持ちでRaspberry Piに入門しました。モノクロのディスプレーに惹かれて、ついでに0.96インチの小さなOLEDディスプレーモジュールも購入しました。 今回はこのディスプレーに文字を表示することをゴールとします。また手軽に動かせるということでCircuitPythonを利用することとします。 環境 128×64 OLED display module (SSD1306) Raspberry Pi 4 Model B Raspbian 10 やってみる Raspberry Piとディスプレーを接続 今回はメス-メスのデュポンワイヤーで↓のように接続します。 [ディスプレー] -> [GPIO] GND -> Ground (14) VDD -> 3V3 power (1) SCK ->

    Raspberry Pi 4 で小さなSSD1306 OLEDディスプレーに文字を表示させてみた | DevelopersIO
  • Raspberry Pi 4にSSHとVNCで接続してみた | DevelopersIO

    Raspberry Piの設定 Raspbian OSには最初からSSHとVNCサーバーが組み込まれていますので、Raspberry Piの設定から両方とも有効にします。デフォルトでは無効で設定されています。 SSHで接続する方法 MacのターミナルからSSHコマンドでRaspberry Piに接続します。 Raspberry Piのデフォルトの設定は次の通りです。 ホスト名: raspberrypi(raspberrypi.local) ユーザー名: pi パスワード: raspberry ssh <ユーザー名>@<ホスト名> ~ takahashi.yudai$ ssh pi@raspberrypi.local pi@raspberrypi.local s password: Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:

    Raspberry Pi 4にSSHとVNCで接続してみた | DevelopersIO
  • Raspberry Piを極限まで無駄なくバックアップする | DevelopersIO

    はじめに Raspberry PiのSDカードの取り扱う上で、複製したり、イメージとして保存しておきたいシーンは多いと思います。 しかし、大容量のSDカードが一般的になった今では、空き容量が大半を占めるベタイメージを作成することは、以下の点から現実的でありません。 イメージファイルの大半を空き容量が占め、時間およびストレージの効率が悪い 元より容量の小さいSDカードに書き込むことができない SDカードに書き込む際、空き領域にも書き込みが行われ、カードの寿命を縮めてしまう ファイルシステムが破損していても、コピー時に気づくことがない パーティションの構造とLinuxの操作を学びながら、SDカードのバックアップをしていきましょう。 背景 Raspberry PiのSDカードの論理構造を見ていきましょう。難しく考える必要はありません。大体こんな感じといったイメージを掴むだけでOKです。 まず、セ

    Raspberry Piを極限まで無駄なくバックアップする | DevelopersIO
  • AWS WAFを完全に理解する ~WAFの基礎からv2の変更点まで~ | DevelopersIO

    こんにちは、臼田です。 皆さん、WAFWAFしてますか?(挨拶 今回はタイトル通りAWS WAFを完全に理解するための情報を全部詰め込んだブログです。長いです。 そもそもWAFってなんだっけ?という話から初めて「全部理解した」と言えるようになるまでをまとめています。直近AWS WAF v2がリリースされたため、この変更点を中心に機能の説明をします。 Developers.IOではWAFを扱った記事がたくさんあるので、細かいところはブログを引用します。いわゆる元気玉ブログです。 おさらい的な部分も多いので変更点が気になる方は適当に飛ばしてください。 そもそもWAFとは AWS WAFの前にWAFの話をします。WAFはWeb Application Firewallの略でWebアプリケーションを保護するためのソリューションです。 一般的なWebアプリケーションに対する攻撃手法としてSQLインジ

    AWS WAFを完全に理解する ~WAFの基礎からv2の変更点まで~ | DevelopersIO
    giass
    giass 2020/03/05
  • Gitコマンドを快適に使う環境を整える | DevelopersIO

    こんにちは、CX事業部の岡です。 みなさんGitクライアント何使ってますか? SouthTree?GitUp?Github DesktopGUIクライアントももちろん素晴らしいですが、CUIクライアントの方がなんだかんだ使いやすかったりしますよね。 今日はGitコマンドを快適に使う為の設定方法をご紹介します。 認証設定 プロジェクトによってGitHubを使ったりCodeCommitを使ったりするので credential の設定はlocalで管理するようにします。 GitHub GitHubにHTTPS経由でアクセスする場合、毎回認証情報を求められるので osxkeychain を使って 認証情報を記憶させます。 brewでgitをインストールしている場合は標準で入っていると思います。 $ git config --local credential.helper osxkeychai

    Gitコマンドを快適に使う環境を整える | DevelopersIO
    giass
    giass 2019/08/26
  • 知らないのは損!npmに同梱されているnpxがすごい便利なコマンドだった | DevelopersIO

    Nodeのパッケージマネージャーであるnpmにはnpxというコマンドが同梱されています。これまであまり使ってこなかったのですが、調べてみたらとても便利なコマンドだったので使い方などをお届けします。 こんにちは。サービスグループの武田です。 Nodeは現代のフロントエンド開発にはなくてはならない存在となりました。またクラスメソッド社内で静かなブームとなっているAWS CDKでの開発もNodeを利用します。そのCDKプロジェクトのひな型を作成する際に、npxコマンドを使用している例をよく見かけたのですが、そういえばこのコマンドよく知らないな?ということで調べてみました。 検証環境 次の環境で検証しています。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.5 BuildVersion: 18F132 $ node -v v10.16.

    知らないのは損!npmに同梱されているnpxがすごい便利なコマンドだった | DevelopersIO
    giass
    giass 2019/08/24
  • TypeScript のサーバサイドフレームワーク – NestJS と Marble.js で書き比べ | DevelopersIO

    公式 sample http://api.com/cats を get された場合 Decoratorで処理していく手法です GetのDecoratorをimportし findAll -> this.catsService.findAll の流れ import { Get } from '@nestjs/common'; class CatsController { constructor(private readonly catsService: CatsService) {} @Get() async findAll(): Promise<Cat[]> { return this.catsService.findAll(); } } 公式 sample http://api.com/me を get された場合 chainで処理していく手法です EffectFactoryからchai

    TypeScript のサーバサイドフレームワーク – NestJS と Marble.js で書き比べ | DevelopersIO