タグ

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

  • Cloudflare Workers + Hono + Cloudflare D1を使って、CDNエッジのみで動くWebAPIを作ってみた | DevelopersIO

    Cloudflare Workers + Hono + Cloudflare D1を使って、CDNエッジのみで動くWebAPIを作ってみた 遅くなりました。記事はCloudflareアドベントカレンダーの16日目の記事です。 Cloudflare Advent Calendar 2022 の記事一覧 この記事では、Cloudflare WorkersとCloudflare D1を使って、CDNエッジ上で動作するWebAPIを作成してみたいと思います Cloudflare D1で何が変わったか もともと、Cloudflare Workersは既存のアプリケーションの補助的に使われることが多いサービスの印象でした。例えば、リクエスト時のA/Bテスト振り分けとかHTTP Headerの追加、変更などです。CDN上で何らかの処理を施してオリジンのアプリケーションに送るようなプロキシ的な動作をさせ

    Cloudflare Workers + Hono + Cloudflare D1を使って、CDNエッジのみで動くWebAPIを作ってみた | DevelopersIO
    kazuph1986
    kazuph1986 2023/08/10
    上からやった。ところどころ修正が必要だったけど、流れがわかってよかった。
  • GitHubでMermaid構文の表示機能が強化されていました | DevelopersIO

    こんにちは、CX事業部 Delivery部の若槻です。 今回は、GitHubMermaid構文の表示機能が強化されていたので共有します。 Mermaidとは Mermaidとは、Markdown構文の拡張ツールで、様々なタイプの図(Diagram)をコードやテキストで記述し、視覚的に表示することができます。 Mermaid構文を利用することにより、次のような図をMarkdownで記述することができます。 Flowchart Sequence Diagram Gantt Chart Class Diagram State Diagram Pie Chart Git Graph 公式サイトより引用 GitHubでのMermaid構文の表示機能が強化されていた GitHubではMermaid構文をサポートしており、MarkdownファイルにMermaid構文を記述することで、図を表示すること

    GitHubでMermaid構文の表示機能が強化されていました | DevelopersIO
    kazuph1986
    kazuph1986 2023/03/28
    すばら。
  • [レポート] SmartHR が少人数で Google Cloud へ(ほぼ)全移行を完了させた方法 #GoogleCloudDay | DevelopersIO

    こんにちは。CX事業部MAD事業部のYui(@MayForBlue)です。 「Google Cloud Day: Digital ’22」が2022年4月19日~21日に開催されました。 ブログはイベント内のセッション「SmartHR が少人数で Google Cloud へ(ほぼ)全移行を完了させた方法」のレポートブログです。 セッション概要 概要 SmartHR は、今年 1 月にほぼ全てのプロダクトを Google Cloud へマイグレーションしました。 我々が、どのような課題を持っており、どう考え、どこで苦労したか?を交えながら、 如何にして少人数でマイグレーションを実施したかをご紹介させていただきます。 取り上げる主な Google Cloud 製品 / サービス App Engine Cloud Run Cloud SQL スピーカー 株式会社SmartHR 藤村 宗彦

    [レポート] SmartHR が少人数で Google Cloud へ(ほぼ)全移行を完了させた方法 #GoogleCloudDay | DevelopersIO
    kazuph1986
    kazuph1986 2022/04/28
    “Citus Cloud (DBaaS)のサービス終了に伴う対応”お、なるほど?Azureにしないとそのままでは使えなかったみたいだけど、GCPでは代替はどうしたんだろう?
  • Rustでブラウザを操作する「rust-headless-chrome」を試してみた | DevelopersIO

    こんにちは。MAD事業部のきんじょーです。 最近Rustの入門書を読んだので、何かに使ってみようと模索していました。 その中で、Rustでヘッドレスブラウザを動かすライブラリを検証したのでこの記事にまとめます。 ヘッドレスブラウザとは ヘッドレスブラウザはGUIを持たないWebブラウザです。 一般的なブラウザと同じく、HTMLを解析しJavaScriptを実行できますが、GUIを持たないため、CLIやプログラム上から操作を行います。 主に以下のような用途で用いられます。 WebアプリケーションのE2Eテストの自動化 Webページのスクリーンショット取得 JavaScriptの自動テスト Webページで行うワークフロー処理の自動化 Webページのクローリング 古くはPhantomJSやCasperJSなどを用いていましたが、現在では主要なブラウザもネイティブでヘッドレスモードを搭載しています

    Rustでブラウザを操作する「rust-headless-chrome」を試してみた | DevelopersIO
    kazuph1986
    kazuph1986 2022/04/21
    ちょうどRustでスクレイピング切らしてたので助かる。
  • Rustベースのモダンなterminal 、 Warp | DevelopersIO

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

    Rustベースのモダンなterminal 、 Warp | DevelopersIO
    kazuph1986
    kazuph1986 2022/04/09
    これは絶対試すやつ。
  • GitHub Actionsのローカル実行ツール「act」を使う事でCI/CDコンフィグとローカルでのタスクランナーを1つにする | DevelopersIO

    GitHub Actionsのローカル実行ツール「act」を使う事でCI/CDコンフィグとローカルでのタスクランナーを1つにする actというローカル端末でのタスクランナーとしても使える、GitHub Actionsのローカル実行ツールを紹介します。 合わせて私のCI/CDのローカル実行ツールが必要だと思う理由、タスクランナーに対して感じている課題を紹介します。 はじめに おはようございます、加藤です。CI/CDツールとしてGitHub Actionsが2019年11月にリリースされてから一気に広まり、私もファーストチョイスとしてGitHub Actionsを検討・提案する機会が最近増えてきました。 先日、下記のTweetでactというGitHub Actionsのローカル実行ツールがあり、タスクランナーとしても使えるという事を知りとても興味を持ったのでブログにまとめました。 Actってい

    GitHub Actionsのローカル実行ツール「act」を使う事でCI/CDコンフィグとローカルでのタスクランナーを1つにする | DevelopersIO
    kazuph1986
    kazuph1986 2022/04/01
    おっと、ローカルでGithub Actionsって実行できないよね、だから利便性考えるとある程度shellスクリプトに寄せて、GAからはそれ実行する方が良いよねって思っていたけど、これがデファクトになるなら話は別だわ。
  • GitHub ActionsでDockerイメージをキャッシュする | DevelopersIO

    吉川@広島です。 案件で、「S3やDynamoDBを含む自動テストをCIで回す」を実現するために「GitHub Actions上でLocalStackのDockerコンテナを起動してテストを実行する」という方法を採りました。 localstack/localstack: ? A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline! ただ、実際に構築したGitHub Actions workflowの実行を見ていると、 LocalStackをGitHub Actions上で動かしてテストする | DevelopersIO 上記のコードはプルリクエストへのコード修正時に毎回Docker Hubからイメージを取得しているため、時間がかかるのとDocker Hub

    GitHub ActionsでDockerイメージをキャッシュする | DevelopersIO
  • AWS CDKv2にマイグレーションしてみた #reinvent | DevelopersIO

    これはCDK Advent Calendar 2021の3日目の記事です。 IoT事業部のやまたつです。 もともとは別の記事をアドカレ用に用意していたのですがAWS CDK v2.0.0のRCが取れたので急遽CDKv2の話をします。 AWS CDKv2リリース!! ??? わーい!!! re:Inventでも発表があったようですね! [速報] AWS CDK V2 がリリースされました! alphaが出てから1年がかり。。。長かったなぁ。。。 簡単に主な差分に説明すると以下のとおりです。このv2によってCDKの各リソースに大幅な変更が入ったということはありません。 パッケージがaws-cdk-libに統一された(いくつもインストールする必要がなくなった) 明示的にインストールしないと非安定版のクラスが使えないようになった deprecatedなプロパティやメソッドが削除された 早速マイグレ

    AWS CDKv2にマイグレーションしてみた #reinvent | DevelopersIO
    kazuph1986
    kazuph1986 2021/12/04
    いつの間に!
  • オープンソースで話題のBaaS「Supabase」を使ってみた | DevelopersIO

    その他詳細の料金プランページはこちら 今回はホビー用途となっているFreeプランを使います。無料でプロジェクトを2つ作ることができますが、APIを1週間未使用の場合はデータベースが一時停止となるようで再開する場合はダッシュボードから起動し直す必要があるようです。 サービスへの登録 では、早速Supabaseのサービスに登録を行っていきます。 Supabase.io Supabase.ioへの登録はGitHubアカウントを利用するようです。 「New Project」から新規プロジェクトを作成します。 プロジェクト名とデータベースのパスワード、リージョンを指定します。今回は「Tokyo」リージョンを選択しました。 「Create new project」を押下後、数分待つとプロジェクトが作成されます。 完了後に画面に表示されるProject API keyとURLを後ほど利用するのでメモして

    オープンソースで話題のBaaS「Supabase」を使ってみた | DevelopersIO
    kazuph1986
    kazuph1986 2021/10/25
    おもしろいね。
  • React Native と事業速度について React Native Matsuri で喋りました | DevelopersIO

    10/02 に開催された React Native Matsuri で登壇してきました。当日のセッションは動画で公開されています。私は 1:49:41 から喋っています。 喋ったときの資料を主張をまとめるために調査した内容とともに公開しています。 当日は 30 分だったので、主張のみを伝えるので精一杯でした。この記事では削ぎ落とした内容も含めて、資料を振り返ってみます。 なぜ英語の資料にしたのか React Native Matsuri は React Native をテーマとした、はじめての日初の大規模カンファレンスです。日で開催されているカンファレンスならば資料も日語で書くべきだと思ったのですが、日React Native コミュニティがどういったことを考えているのか発信するセッションがひとつくらいあってもいいだろう、ということで英語で書きました。 メタ分析の対象企業 メタ

    React Native と事業速度について React Native Matsuri で喋りました | DevelopersIO
  • ECSタスクのコンテナ異常終了を検知する3つの方法 | DevelopersIO

    以降、それぞれの検知方法を紹介していきます。 検知方法①:サービスのランニングタスク数をメトリクスから検知 一番代表的な方法です。ECSコンテナエージェントは、タスク内のコンテナの状態をモニタリングしています。構成①と②においては、essential=trueのコンテナのみ含まれているので、コンテナの停止は即ECSタスクの停止となります。 あとは、ECSサービスにおけるDesiredTask Count(期待するタスク数)をしきい値としたランニングタスク数のCloudWatchメトリクスを用意しておき、しきい値を下回った時=タスクが異常終了したときにアラームを発火します。 一点、CloudWatch Alarmはある一定期間のメトリクスの状態からアラームを検知するものなので、検知までいくらかのタイムラグが有ることは注意しておきましょう。 基的にECSのサービス運用においては、そのDesi

    ECSタスクのコンテナ異常終了を検知する3つの方法 | DevelopersIO
  • 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
    kazuph1986
    kazuph1986 2021/09/16
    なるほど嬉しい!けど、どうしてこれで(セキュリティ、認証とかが)良いのか理解してないわ。
  • AWS CDKにおける基本的なテストと実装方法を調べて試した | DevelopersIO

    AWS CDKがGAされたので好きなサービスはAWS CDKと胸を張って言えるようになりました。 さてAWS DevDay Tokyo 2019でAWS CDKについてのセッションがありました。見ていない方はよろしければセッションレポートを見てください。 セッションの中でAWS CDKにおけるテスト方法について触れていました。今後自分でCDKライブラリを実装していく中でも避けられない内容なのでAWS公式ブログを見つつ実際に試してまとめてみました。 CDKのテストについて 今回記載するテストが指すものはCDKライブラリのテストです。 実際にライブラリが作成したCloudFormationテンプレートを元にCloudFormationスタックを作成するのはCDK CLIの責務です。 なのでCDK CLIから実際に作成するようなE2Eテストについては記載しません。またCDKライブラリのテストは通

    AWS CDKにおける基本的なテストと実装方法を調べて試した | DevelopersIO
  • CDKとGithub ActionsによるCI/CDパイプライン | DevelopersIO

    その昔、初めてのサーバーレスアプリケーション開発というブログを書きました。 このシリーズを通して出来上がるものは、AWSのコードシリーズを用いてAWSリソースをデプロイするためのパイプラインです。 時は流れ、2020年。同じような仕組みを作るのであればCDKとGithub Actions使いたいという思いに駆られたので、こんな感じのパイプラインを作成してみました。 今回作成したコードは以下のリポジトリにあげています。 cdk-github-actions 目次 CDKとGithub Actions 今回構築するアプリケーションの全体構成はこちら。 CDKで「クライアントからリクエストを受けて文字列を返却する」簡単なアプリケーションを作成します。 AWSにデプロイされるまでの流れは以下のようになります。 ローカルでCDKを使ったアプリケーションを作成 featureブランチを作成しmaste

    CDKとGithub ActionsによるCI/CDパイプライン | DevelopersIO
  • Github Actionsの個人的ユースケース備忘録 | DevelopersIO

    はじめに Github Actionsで色々なフローの自動化に取り組んで一番大変だと感じているのは、目的とするデータをコンテキストのどこから取れるのか見つけるところです。 公式ドキュメントも正直目的の情報に辿り着きやすいとも言えず、StackOverFlow等のFAQフォーラムも類似した質問が多くありすぎて逆に絞るのが大変となる繰り返しでした。 私自身で頻繁に用いそうなものを中心に、調査の手間を省くために備忘録として書き出してみました。2020年5月26時点のデータとなります。 各コンテキストについて 利用可能なコンテキストは以下の8つです。公式ドキュメントが個人的にやや見難いため、必要なところだけを抜粋しました。 github workflowの情報にアクセスする用途 env workflow、job、stepの環境変数にアクセスする用途 job jobの情報にアクセスする用途 step

    Github Actionsの個人的ユースケース備忘録 | DevelopersIO
  • ECSがSecrets ManagerのバージョンやJSONキーに対応。機密情報管理がめっちゃ便利になりました! | DevelopersIO

    手順2:ECSタスク定義への機密情報指定、動作確認 ここまでで、Secrets ManagerのSecretの準備は完了。次は、ECSのタスク定義に実際に値を設定しながら、読み込まれる値を確認します。 参考公式ドキュメント:Specifying Sensitive Data Using Secrets Manager 実際のタスク定義の作成 適当なクラスターとVPCは事前に作成しておいたあと、タスク定義作っていきます。 参考公式ドキュメント:Creating a Task Definition that References Sensitive Data launch typeはEC2を選択し、最小限のタスク設定を実施していきます。 Task Definition Name:[secrets-manager-test-task](任意の名前) Network Mode:[awsvpc] T

    ECSがSecrets ManagerのバージョンやJSONキーに対応。機密情報管理がめっちゃ便利になりました! | DevelopersIO
  • ECS(Fargate)のServiceをCDKで構築・デプロイしてみた | DevelopersIO

    仕事AWS環境を構築する機会がありましたので、今回はじめてCDKを使って構築してみました。CDKで環境構築する記事はたくさんありますので全体は割愛するとして、記事ではCDKを使ったECS(Fargate) Serviceのデプロイフローにフォーカスしてご紹介します。 バージョン $ cdk version 1.32.0 (build 9766ad6) 全体構成 全体構成としては、以下の図のようにオーソドックスなWeb3層アプリケーションの構成です。 ECS Serviceに関連する主なリソース構成を以下の図に示します。 このリソース構成のうち、緑色の線で示したリソースはインフラ管理用のCDKで管理し、オレンジ色の線で示したリソースはECS Serviceデプロイ用のCDKとしてアプリケーションのリポジトリで管理しています。 デプロイフロー デプロイフローを以下の図に示します。 Git

    ECS(Fargate)のServiceをCDKで構築・デプロイしてみた | DevelopersIO
    kazuph1986
    kazuph1986 2021/09/02
    CDKでFargate使う時のコンテナの更新は、自分はgitのcommit hashをECRにpushするimageのtagに指定して、それをCDKに渡すようにしてみたけど、この部分については公式でも触れられてない気がする。みなさんどうやってますか?
  • 実践!AWS CDK #19 Secrets Manager | DevelopersIO

    Aurora DB クラスターのマスターパスワードの仕様は以下の通りです。 Aurora MySQL の場合、パスワードには 8~41 個の印刷可能な ASCII 文字を使用する必要があります。 Aurora PostgreSQL の場合は、8~128 個の印刷可能な ASCII 文字を使用する必要があります。 /、"、@、またはスペースは使用できません。 [参考]:Aurora DB クラスターの設定 | Amazon Aurora User Guide 公式のサンプルを参考にしたのと、コンソール上(上記の画面キャプチャ)で 単一引用符(')はダメ と書かれていたので ", @, /, \, ' の記号 5 つを含めないように設定します。 [参考]:Examples | AWS Secrets Manager User Guide シークレットのローテーションは行いません。 実装 Sec

    実践!AWS CDK #19 Secrets Manager | DevelopersIO
  • AWS CDKでAWS Systems Manager パラメータストア及びAWS Secrets Managerからパラメータを取り込む方法 | DevelopersIO

    valueFromLookup このメソッドを使うと生成するテンプレートにパラメータストアに格納されていたStringを転記します。テンプレートに転記する為、SecureStringに対して使用する事ができません。SecureStringに対して使用できてしまうと、CloudFormationに対する読み取り権限があれば誰でもテンプレートを閲覧する事で内容を確認できてしまいます。Stringに対してパラメータストアの階層構造などで権限管理している場合、その管理から外れて閲覧できるユーザーが発生しうるので注意が必要です。 パラメータのバージョンはlatestに強制されます。 実は、SecureStringに対して使用する事は出来ますが、暗号化されたままの文字列で取り出されるので使い道はありません。 import { Construct, RemovalPolicy, Stack, Stack

    AWS CDKでAWS Systems Manager パラメータストア及びAWS Secrets Managerからパラメータを取り込む方法 | DevelopersIO
  • EC2 Systems Manager のパラメータストアを利用したアプリケーション環境設定の管理 | DevelopersIO

    こんにちは、藤です。 AWS re:Invent 2016 で EC2 Systems Manager がリリースされ、EC2 の運用がより便利になりました。今回はその一機能のパラメータストアで実際の開発現場を想定して、アプリケーションの環境設定を管理する方法を考えてみました。 アプリケーションの環境設定管理 アプリケーションが動作する上で環境に依存する設定は多くの場合、存在します。例えば、Web アプリケーションであれば、データベース、キャッシュシステム、マイクロサービス化が増えてきている昨今では他マイクロサービスコンポーネントなど、多くの他システムとの接続情報があります。データベースへ接続するにはデータベースのエンドポイント、ポート番号、ユーザ名、パスワード、データベース名、キャッシュシステムへ接続するにはエンドポイントの情報が必要となります。これらはアプリケーションが動作する環境に

    EC2 Systems Manager のパラメータストアを利用したアプリケーション環境設定の管理 | DevelopersIO
    kazuph1986
    kazuph1986 2021/08/20
    なるほど、aws cliで取得して環境変数にぶつこむのね。これならライトなラッパーを書くだけで済む(できればEC2使いたくないけど)。