タグ

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

  • データ変換処理をモダンな手法で開発できる「dbt」を使ってみた | DevelopersIO

    奈良県でリモートワーク中の玉井です。 日では全くと言っていいほど知名度がありませんが、国外(アメリカ?)のデータ分析界隈では既にメジャーな存在になりつつある「dbt」(data build tool)について、ご紹介します。 dbtとは? 公式情報など 公式はこちら(ググラビリティが低い名前なので検索しづらい)。 (死ぬほどざっくりいうと)データ変換を効率よく実施できるツールです。SaaSとしての提供になっているので(最初からあったわけではなく、後から登場したようです)、Webブラウザさえあれば、すぐに利用することができます。 主な特徴 ELTの「T」を担当するツール データの前処理における作業をELT(Extract、Load、Transform)と呼称することがありますが、それの「T(変換)」を担当します。E(抽出)やL(ロード)はやりません。 そして、その変換処理をどうやって設定す

    データ変換処理をモダンな手法で開発できる「dbt」を使ってみた | DevelopersIO
    nyasba
    nyasba 2021/12/02
  • DynamoDB Stream を利用してDynamoDBとElasticsearchのデータ連携をやってみた | DevelopersIO

    こんにちは!コンサルティング部のキムです。 以前から外国で仕事をしたいなーと思ってましたが、言語が違うことの難しさを感じてます。もっと頑張っていきたいと思います!:) ここ数年、DynamoDBに興味があったのですが、DynamoDB Streamは全く触ったことがありませんでした。AppSyncでよく使われるパターンでもあるので、良い機会だと思ってDynamoDB Stream → ElasticSearch のデータ連携の構成をやってみました。 ElasticsearchのIndexingは1秒ほど掛かるためリアルタイムで連携されるのではありませんが、普通のユーズケースには大丈夫と思います。DynamoDBがメインDBになった場合でも、検索機能の限界の為、GSIやLSI等で頑張らなくて済む良いパターンだと思います。 それでは、始めます! 目次 DynamoDB Streamとは Dyn

    DynamoDB Stream を利用してDynamoDBとElasticsearchのデータ連携をやってみた | DevelopersIO
  • CodePipelineでアカウントをまたいだパイプラインを作成してみる | DevelopersIO

    こんにちは。かたいなかです。 最近CodePipelineを使用していて、ステージング環境と番環境をまたいだパイプラインなどで、アカウントをまたいだパイプラインを構築したくなることがありました。 そこで、今回はそのときに試したアカウントをまたいだパイプラインを構築する方法をご紹介します。 今回の構成 今回は以下のような構成を構築します 開発環境用のアカウントにあるCodeCommitのリポジトリでの変更を契機に番アカウントでパイプラインを実行する構成です。CodeCommitだけ別アカウントで少し変な構成に見えますが、devブランチは開発環境にデプロイ、masterブランチ番環境にデプロイされるようなケースの番環境へのデプロイの部分をイメージした構成です。 CodePipeline/CodeBuildはS3に暗号化されたファイルを置くことでアーティファクトをやり取りしています。

    CodePipelineでアカウントをまたいだパイプラインを作成してみる | DevelopersIO
    nyasba
    nyasba 2020/02/26
  • 【祝!】ECSへの機密情報受け渡しがCloudFormationに対応しました! | DevelopersIO

    今まで、ECS関連リソースをCloudFormationだけで定義するのは難しかったんですが、今回のアップデートで機密情報受け渡しにCloudFormationが対応しました! 先日、みんな大好きCloudFormationに、ECSタスク定義において待望のアップデートがやってきました! Release History - AWS CloudFormation 端的にいうと、ECSのタスク定義で機密情報をSecrets ManagerやParameter Storeをキー指定で取得する方法が、今まではJSONやWebコンソールのみ設定可能だったのが、CloudFormationでも設定可能となったというものです。 AWS::ECS::TaskDefinition In the ContainerDefinition property type, use the ResourceRequir

    【祝!】ECSへの機密情報受け渡しがCloudFormationに対応しました! | DevelopersIO
    nyasba
    nyasba 2020/01/16
  • 【レポート】Bolt を使った Slack 連携アプリの開発からデプロイ・運用まで超入門 – Developers.IO TOKYO 2019 #cmdevio | DevelopersIO

    Bolt を使った Slack 連携アプリの開発からデプロイ・運用まで超入門 2019年11月1日(金)に、クラスメソッド主催の技術カンファレンス「Developers.IO 2019 TOKYO」が開催されました。 【11/1(金)東京】国内最大規模の技術フェス!Developers.IO 2019 東京開催!AWS機械学習、サーバーレス、SaaSからマネジメントまで60を越えるセッション数! 記事では、瀬良和弘氏によるセッション「Bolt を使った Slack 連携アプリの開発からデプロイ・運用まで超入門」をレポートします。 スピーカー Slack Japan 株式会社 ディベロッパーリレーションズ パートナーエンジニア 瀬良和弘 様 セッション資料 レポート Slack Platformの紹介 APIだけでなくUIも合わせてSlack Platformと呼んでいる Slackクラ

    【レポート】Bolt を使った Slack 連携アプリの開発からデプロイ・運用まで超入門 – Developers.IO TOKYO 2019 #cmdevio | DevelopersIO
    nyasba
    nyasba 2019/12/06
  • CloudFormationの全てを味わいつくせ!「AWSの全てをコードで管理する方法〜その理想と現実〜」 #cmdevio | DevelopersIO

    CloudFormationの全てを味わいつくせ!「AWSの全てをコードで管理する方法〜その理想と現実〜」 #cmdevio AWSにおける代表的なIaCの手段、CloudFormationについて、その使いこなしについて主観強めに喋ってきました。あまりマニュアルにも乗ってないような事項も結構あるので、是非参考にしてください。 「俺は、なんだかんだCloudFormationが大好きだ!」 うららかな小春日和の11月、下記イベントで登壇してきました。 【11/1(金)東京】国内最大規模の技術フェス!Developers.IO 2019 東京開催!AWS機械学習、サーバーレス、SaaSからマネジメントまで60を越えるセッション数! | Developers.IO このブログでは、「AWSの全てをコードで管理する方法〜その理想と現実〜」というタイトルで思う存分喋ったその様子を丸ごと喋り含めて

    CloudFormationの全てを味わいつくせ!「AWSの全てをコードで管理する方法〜その理想と現実〜」 #cmdevio | DevelopersIO
  • ECSでgRPC+ServiceDiscoveryな構成を試してみました | DevelopersIO

    はじめに 先日開催された Mercari Tech Conf 2018 にて発表されたマイクロサービスアーキテクチャの話に触発されてgRPCをさわってみました。また、マイクロサービスといえば...で思い出して、まだ試していなかったECSのServiceDiscoveryもさわってみました。 用語の説明 gRPCとは、Googleが開発したOSSで、RPC(Remote Procedure Call)をモダンに使えるようにしたフレームワークです。特徴としては、http/2ベースで様々な通信方法をサポートしており、多数のプログラミング言語に対応したライブラリとprotocol buffersをインターフェイス定義言語として用いることで異なるプログラミング言語間のサービスでも使うことができます。この他にも数多くの機能があるようです。 ServiceDiscoveryとは、動的に増えたり減ったりす

    ECSでgRPC+ServiceDiscoveryな構成を試してみました | DevelopersIO
  • 詳説「AWS Cloud Map」 #reinvent | DevelopersIO

    ほな、ここから、Cloud Mapの各リソースを解説していきます。 ( ゚ Д゚)   イタダキマス ( つ旦O と_)_) 名前空間の作成とインスタンス検出方法の解説 AWS Cloud MapのWebコンソールにアクセスし、「名前空間の作成」ボタンをクリックします。 名前空間の作成時重要なのが、サービスインスタンスの検出方法の違い。最初にここを完全に把握しておく必要があります。 API呼び出し(API calls) サービスインスタンスの検出をAPIコールのみで実施します。具体的に利用するAPIはDiscoverInstancesで、ヘルスステータスやサービス名でのサービスインスタンス検出が可能です。 aws servicediscovery create-http-namespace --name hamako9999.com API呼び出しとVPCDNSクエリ(API call

    詳説「AWS Cloud Map」 #reinvent | DevelopersIO
    nyasba
    nyasba 2018/12/11
  • [Swift] Swinjectを使ったDependency Injection | DevelopersIO

    はじめに こんにちは。 最近生後7ヶ月の娘を見た人から「眉毛が垂れててお父さんそっくりですね〜」と言われるのが定番になっている加藤です。 さて、今回はSwiftのDIフレームワークであるSwinjectの話です。 DIとは DIはDependency Injectionの略で、日語では「依存性の注入」と訳されます。 「DIとは何か」を説明した記事は山ほどありますが、ここでは一番端的に表現している記事を見つけたので引用します。 “依存性注入とはインスタンス変数にオブジェクトを与えるということです。当にただそれだけです。” - James Shore Swiftにおける現実的なモックより引用。 つまり、あるオブジェクトが依存しているオブジェクトを外から渡してあげることを意味します。 依存しているオブジェクトを中で作らずに外から渡してあげることで、オブジェクト同士を柔軟に組み合わせることが可

    [Swift] Swinjectを使ったDependency Injection | DevelopersIO
    nyasba
    nyasba 2018/11/20
  • Fargateがタスクスケジュールをサポートし定期実行処理の幅が超広がりました! | DevelopersIO

    「せっかく、EC2インスタンスを気にしなくてよいFargateなんだから、もっとバッチ処理で気軽に使いたいよね」 そんなハマコーの一日千秋の想いが届いたのか突如として、Fargateにごついアップデートが舞い降りました。 AWS Fargate Now Supports Time and Event-Based Task Scheduling 今まで、「AWS Lambdaでは、ライブラリや実行時間に制限があって使いにくい」けど「AWS Batch使うには荷が重い」的なユースケースにバッチリハマる機能だと思うので、全国のコンテナファンは今すぐ使ってみると良いと思います。 Fargateきたか…!! ( ゚д゚) ガタッ /   ヾ __L| / ̄ ̄ ̄/_ \/   / タスクのスケジュール機能とは ECSクラスター内に存在するタスクを、スケジュールに則り実行する機能です。 構造的に、EC

    Fargateがタスクスケジュールをサポートし定期実行処理の幅が超広がりました! | DevelopersIO
    nyasba
    nyasba 2018/11/14
    こんな機能が追加されてたのか。awsで業務的なバッチならfargateだな。試そう
  • テストデータを作成する際に役立つツールやサイト | DevelopersIO

    はじめに WEB案件でテストデータを作成する際にさくっと使えて、重宝しているツールやサイトをご紹介したいと思います。 添付ファイルのテスト ブラウザからファイル選択して、サーバへPOSTしたりS3へ保存させたりと添付ファイルを扱う際にファイルサイズのテストは必須かと思います。そこで必要になるのが要件にあったファイルサイズのファイルです。ちょうどほしいサイズのファイルなんてそうあるものではありません。そんな時はコマンドからファイルを作りましょう。任意のファイルサイズのファイルを以下のコマンドを使って作成できます。 windowsの場合 コマンドプロンプトを起動してfsutilコマンドでファイルを作成できます。 以下の例ではc:\のディレクトリに1000バイトのファイルサイズのdummy_fileが作成されます。 fsutil file createnew c:\dummy_file 1000

    テストデータを作成する際に役立つツールやサイト | DevelopersIO
  • CloudFormationのヘルパースクリプトcfn-initによるインスタンスの初期化 | DevelopersIO

    よく訓練されたアップル信者、都元です。みなさん、CloudFormation使ってますよね! まだの方は、ひとまずCloudFormation入門を読んでみてください。 さてところで、EC2において「何らかの役目を持ったサーバ」を立てる場合、方針は大きく分けて2つあります。1つ目は「プレーンなAMIからサーバを立ち上げ、必要なものをインストール及び設定し、そのAMIを取得。この機能特化AMIからインスタンスを立ち上げる」という方針。もう1つは「機能特化したAMIは作らず、プレーンなAMIにUserDataを与え、起動したら勝手に特化するように仕組む」という方針です。 前者は、AMIさえ作ってしまえば、あとはそれを立ち上げるだけですので、そういった面から見れば非常に運用が楽です。ただし、AMIというのはある意味ブラックボックスですので、同じAMIを再現する手順はきちんと管理しなければすぐに迷

    CloudFormationのヘルパースクリプトcfn-initによるインスタンスの初期化 | DevelopersIO
  • Developers.IO 2017セッション「AWS Serverless Application Modelのデプロイ戦略」で話しました #cmdevio2017 | DevelopersIO

    はじめに こんにちは、中山です。 クラスメソッドが運営するIT技術ブログDevelopers.IOのカンファレンスイベントDevelopers.IO 2017にて、セッション「AWS Serverless Application Modelのデプロイ戦略」を発表しました。そのレポートです。 発表スライド セッション概要 AWS Serverless Applicaiton Modelの概要から始まり、それを使った上でどうやってデプロイ環境を整えていくかというお話をさせていただきました。アジェンタは以下の通りです。 AWS Serverless Application Modelって何 開発フローを考える ソースコードはどう管理すべきか CI/CDを整える 今後の展望 まとめ まとめ スライドの中にも書いていますが、インテグレーションテスト部分をもっと上手くやる方法を検討していきたいなぁと

    Developers.IO 2017セッション「AWS Serverless Application Modelのデプロイ戦略」で話しました #cmdevio2017 | DevelopersIO
  • AWS SDK for Python (Boto3) で Amazon Athena にクエリする | DevelopersIO

    こんにちは、藤です。 現地時間 5/19 に Amazon Athena の API が公開され、各種言語の AWS SDK や、AWS CLI でのアクセスもサポートされました。今までプログラムから扱う場合に JDBC しかなかったため、Java 以外の言語でクエリすることができませんでした。(OSS ツールなどでやっている方もいるようですが。)それが AWS SDK を利用するだけで簡単に各種言語のプログラムからアクセスできるようになりました。 Amazon Athena adds API/CLI, AWS SDK support, and audit logging with AWS CloudTrail 弊社ブログエントリでも AWS CLI を利用したクエリの使い方が早速エントリされました。 新機能 AWSCLIから Amazon Athena のクエリを実行する API や流

    AWS SDK for Python (Boto3) で Amazon Athena にクエリする | DevelopersIO
    nyasba
    nyasba 2017/05/24
    ついに!
  • [新サービス] 一撃でCI環境を作れる AWS CodeStar | DevelopersIO

    渡辺です。 2017/04/19開催(日時間:2017/04/20)の『AWS Summit in San Francisco』で発表された新サービス『AWS CodeStar』についてお知らせします。 一言で言えば、CodeCommit, CodePipeline, CodeBuild, CodeDeployとそれらに付随する実行環境を一撃で構築・管理できます(2017年4月の時点で、東京リージョンでは利用できません)。 実行環境もカバーする最強のスキャホールド AWS CodeStarが何者か、一言で言えば、一時期に流行ったスキャホールドの類です。 Ruby on Railsが登場した時、コマンドひとつでウェブアプリケーションの雛形ができることに衝撃を覚えた人は多いでしょう。 ベース部分をスキャホールド(足組)として作り、肉付けをしていくというスタイルが流行ったかと思います。 AWS

    [新サービス] 一撃でCI環境を作れる AWS CodeStar | DevelopersIO
    nyasba
    nyasba 2017/04/20
    おぉ!!!
  • 【Tips】jqが入ってなくてもjsonをpythonで見やすくする方法 | DevelopersIO

    サーモン大好き、横山です。 jsonを見るときに、大活躍するjqですが、「入れたと思ったサーバに実は入ってなかった!」という経験があるんじゃないでしょうか? Amazon Linuxの場合ですと、 $ sudo yum install -y jq のコマンドを叩けばインストールできますが、今回は敢えてjqがなかった場合の方法をご紹介いたします。 この記事はjqの使用を抑制するような記事ではございません jsonを取得する 今回は OpenWeatherMapAPIを使い、東京の天気の情報をjsonで取得します。 $ curl -s "http://api.openweathermap.org/data/2.5/weather?q=Tokyo,jp" {"coord":{"lon":139.69,"lat":35.69},"sys":{"message":0.0179,"country"

    【Tips】jqが入ってなくてもjsonをpythonで見やすくする方法 | DevelopersIO
    nyasba
    nyasba 2017/04/20
  • 【新機能】S3がVPCのプライベートサブネットからアクセス可能になりました! | DevelopersIO

    ウィスキー、シガー、パイプをこよなく愛する大栗です。 日、VPCのプライベートサブネットからS3へアクセスできるアップデートがありましたのでご紹介します。 どういう仕組み? プライベートサブネットからアクセスするために、VPC内に特別なエンドポイントを作成します。ルートテーブルでS3へアクセスするIPアドレスVPCエンドポイントへ向けるようにしてアクセスを可能とさせます。 設定 Management ConsoleのVPCダッシュボードに、以下のように「エンドポイント」という項目が増えています。 ではエンドポイントの作成を行います。 VPC:エンドポイントを作成するVPCを選択します。 サービス:現状ではS3(com.amazonaws.ap-northeast-1.s3)固定になっています。 ポリシー:今回は「フルアクセス」を選択します。ポリシー作成ツールを使用してVPC Endpo

    【新機能】S3がVPCのプライベートサブネットからアクセス可能になりました! | DevelopersIO
    nyasba
    nyasba 2017/03/15
  • CodeBuild でデータベースを利用したテストを実行する | DevelopersIO

    こんにちは、藤です。 CodeBuild でテストする時に DBアクセスするのってどうするんだろう、と気になったので、方法を考えてみました。 概要 AWS re:Invent 2016 で CodeBuild がリリースされました。AWS が提供するビルドサービスがです。CodeBuild に関しては下記エントリをご参照ください。 【速報】フルマネージドのビルドサービスCodeBuild爆誕 #reinvent 私はビルドサービスをTravis CIしか利用したことがなかったのですが、Travis CI ではビルド環境に手軽にデータベースを利用することができます。設定ファイル(.travis.yml)にservices: mysqlを追加するだけで簡単に利用できます。CodeBuildbuildspec.yml にはデータベースを利用する設定がありません。と思っていたのですが、よく

    CodeBuild でデータベースを利用したテストを実行する | DevelopersIO
    nyasba
    nyasba 2017/03/06
  • はじめての AWS CodeDeploy (プラス Auto Scaling) | DevelopersIO

    こんにちは、菅野です。 突然ですが、Auto Scalingって便利ですよね。 昔 Auto Scaling を使っていた時の話ですが、PHPのプログラムを変更する度に AMI を作り、Launch Configurations を作り直して・・・といった作業をしていました(所要時間20分くらい)。 昔の話なのでもういいのですが、AWS CodeDeployを使えばそんな苦労は不要らしいという事を知り今回初めて使ってみることにしました。 今回の目標 AutoScaling により作成されたEC2インスタンスへブラウザでアクセスした時に表示されるwebページを AWS CodeDeploy を使って更新する webページの管理に GitHub を使う では早速始めましょう! EC2 の準備 インスタンスを作成します。 作成時にタグを一つ追加しておいてください。(apl-name:test-a

    はじめての AWS CodeDeploy (プラス Auto Scaling) | DevelopersIO
    nyasba
    nyasba 2017/03/03
    勉強会ネタにするかなぁ
  • サーバーレスでAuroraの実行中クエリをCloudWatch Logsへ出力する | DevelopersIO

    大栗です。 RDSで障害が発生する一因として、想定外に長時間実行しているクエリが邪魔になっていることがあります。RDS for MySQLAuroraの場合はSlow Queryで長時間実行されたクエリは分かりますが、実行が完了したものしか出力されないため現在動いているものはshow processlist;を実行して実行中のクエリを確認する必要があります。監視システムで定期的にRDSにログインして実行すれば良いのですが、面倒なのでEC2を使わずに実装してみました。 全体概要 Auroraの場合は、ストアドプロシージャ経由でLambdaを実行できます。この機能とMySQLが持っているスケジュール機能を利用します。 AuroraのEvent Schedulerでinformation_schema.processlistの内容を取得してlambda_asyncを呼ぶ LambdaでPROC

    サーバーレスでAuroraの実行中クエリをCloudWatch Logsへ出力する | DevelopersIO