Fargateでタスク実行する with CodePipeline + CodeBuild

Fargateが魅力的だったので今更ながらDockerを仕事にも取り入れるようになってきました。Fargateは既存のECSのようなクラスタインスタンスが不要なのでLambdaの延長のような形でコストや運用をあまり気にせずに使えるのが良いですね。特にLambdaが苦手な長時間の処理であったりVPCの中でRDSを操作するような処理はこれからはFargateに任せたいところです。

WordPress移行メモ – ECS+EFS+CloudFront

これまでOpsWorksベースの環境でWordPressを運用していたんですが、re:inventで発表されたFargateに移行したくなり大晦日にECS周りを触っていました。将来的にはECS(Fargate)+EFS+Aurora Serverlessみたいな構成にしたいと考えてますが、Fargateはまだ少し早かったようです。今回はその前段階としてECS+EFS+RDSの構成になりました。

IntelliJでSpring Bootを動かす

Spring BootのアプリケーションをIntelliJでどのように動かすか試しました。Java自体触るのがかなり久しぶりで、Spring Bootも初めて触ったので、少しハマりました。Javaの開発も色々変わってるんですね…。

flux/ReduxのStoreの持ち方について思う事

fluxもReduxもどうデータを持つかについてはあまり多く説明されてない気がします。もちろんアプリケーションによって持ち方は異なるとは思うんですが、自分用のメモとして改めて考え方を整理しておきたいと思います。

GraphQL Subscriptionsのお手軽お試しコード

GraphQL SubscriptionsというGraphQLでSocket.ioのようにリアルタイム通知を受ける仕組みがあります。リンク先はApollo社の記事だとサンプルコード全体がないので、どのような実装になるかサンプルを作ってみました。

SQLAlchemyのモデル定義を複数のDBに対応させる

最近PythonのORMのSQLAlchemyを使っています。SQLAlchemyはおそらくPythonの中でも最もよく使われているORMで、Wikipediaによると最初のリリースが2006年なので、かなり歴史があるライブラリです。今回、このSQLAlchemyのモデル定義を複数のDBで切り替えて使ってました。備忘録として記事にしておきます。

もっと積極的にgeneratorを使おうと思った話

これまであまり積極的にgenerator を使ってこなかったんですが、最近作ってたプログラムが多めのデータを扱うもので、DBの読み込み負荷を減らす必要があって今回初めて使いました。Pythonのgenerator書きやすい。ついでにJavaScript, Ruby, PHPでもどう書くか調べました。自分メモです。

GraphQLのお気軽お試しコード

最近たまにGraphQLを触ってました。せっかくなので備忘録的にお試し用の簡単に試せるコードを残しておきます。本来はexpress-graphql等を使ってHTTP経由でアクセスすると思いますが、このコードは直接APIでアクセスして結果を取得してます。GraphQL自体がどのような動きをするのか確認するのに試しやすいと思います。

Pythonのテストでpytestを使ってます

最近Pythonでプログラミングをしています。仕事でPythonを使うのは初めてですが、書きやすくてけっこう捗ってます。Pythonではユニットテストは組み込みのunittestを利用するのがおそらくデファクトスタンダードだと思うんですが、今はpytest使ってます。個人的備忘録です。

Socket.ioで通知を実装する

今回リアルタイムでWebブラウザに通知を送る簡単なサンプルを書いてみました。Socket.ioはチャットのサンプル(特にブロードキャストの)は腐るほどあるように思うのですが、ユーザー個別の通信だったり通知の実装は案外サンプルを見かけなかったように思います。