2020-02-10から1日間の記事一覧

SAM CLIでサーバレスアプリケーションを作ってみる【API Gateway + Lambda + DynamoDB】

SAM CLIでAPI Gateway + Lambda + DynamoDBを使う AWSでのサーバレス構築を考えた時に最も無難でポピュラーな構成(悪く言えばあまり面白みのない)として挙げられる、 API Gateway Lambda DynamoDB の構築を、SAM(Serverless Application Model) で行います…

CodePipelineでS3にデプロイしてCloudFrontでコンテンツを配信する

CodeStarでさくさくCI/CD作りもいいのだが、とりあえず一旦はCodeCommitからDeployまでCodePipelineで連携する方法を理解しておこうと思ったので、軽く試してみた。 CloudFrontで配信するところまでやってみる。 やること CodePipelineを利用して、CodeCommi…

ReactとReduxで複数のReducerを組み合わせてみる

簡単な機能を実装する場合にはreducerは一つだけでも問題はないですが、 機能が増えるとreducerをモノリスにしておくわけにもいかなくなります。 複数のreducerを機能別に分けて使うにはreduxのCombineReducersを使う方法があります。 使い方のまとめとして…

API GatewayとLambdaとDynamoDBでサーバーレス環境を構築する

API Gateway + Lambda + DynamoDB = Serverless AWSでサーバーレスを構築するアーキテクチャを考えた時に、もっとも基本的でわかりやすい構成は、API Gateway + Lambda + DynamoDB(ないしはS3)の組み合わせだと思います。 このエントリーで触れること Lambda…

Gormでトランザクションを実装する

Gormでトランザクションを利用する時の覚書。 DBとの接続およびトランザクションの開始 以下ではTranscation関数を定義し、その中でCRUDの処理を実行するようにしている。 そして、deferでは最終的にTransaction関数から返ってきたerrがnilかどうかを見てロ…

Amazon ECSにGoサーバとMySQLのコンテナをデプロイする

Elasctic Container Service Dockerコンテナをいい感じにさばいてくれるコンテナオーケストレーションサービスです。 GoのEchoで作ったサーバとMySQLがやり取りする構造を作りたいとき、ECSでどのように実現すれば良いのか調べてみました。 変なことを書いて…

ReactとAmazon Cognitoで認証機能を作ってみる

Amazon Cognitoを使ったのでその覚書ついでに:pencil2: 細かい説明とかはないです:relaxed: ユーザー管理機能を設定する前に Amazon Cognitoでユーザーを管理できるようにしますので、とりあえず、Reactのアプリを作成します。 $ npx create-react-app react…

EC2のNodeサーバーと連携するReactクライアントをS3にデプロイしてみる

AWS Summitに参加してからAWS関連でなんかしたいなあと思っていたので、 S3にReactで作ったクライアントを、EC2にNodeのサーバーを置いて、 簡単にアプリをデプロイしてみます:desktop: 以下の準備が整っていることを前提とします。 ・Reactでクライアントア…

styled-componentsで再利用可能なグリッドレイアウトを作る

やること Reactでコンポーネントを組み立ててUI作っていくのも楽なんですが、 styled-componentsでグリッドレイアウトのコンポーネントを作って、 それらを組み合わせて使うと非常に楽だということに気がつきました。 一度作ったやつを取っておけば再利用す…

Goのmgoで$lookupと$projectを使って結合したデータを取得する

mongoDBでの結合とフィルター mongoDBはドキュメント型のNoSQLですが、左外部結合ができます。 で、左外部結合したうえでフィルターにかけ、要求されたデータを返すことができます。 前半の説明は以下のページを参考にしています。 Mongodb Join on _id fiel…

React HooksでReducerを使ったグローバルステイト管理

Reduxを使わずに、useReducerなどの機能だけを用いてReactでグローバルに値を管理します。 コーディングはTypeScriptでやります。 reactのプロジェクト作成 TypeScriptでReactのプロジェクトを作るなら、 create-react-app my-app --typescript こいつを一発…

Reactで無理やり関数コンポーネントの親子間のprops受け渡しをしてみた

Reactで親コンポーネントから子コンポーネントへ値を渡すのは以下のようすれば十分だったが、子コンポーネントから親コンポーネントに値を渡す方法がわからなかったので調べてみた。 import React from 'react'; const App = () => { const greeting = 'Hell…

GoでGraphQLのMutationを実装する

このエントリーではGolang + MongoDBでGraphQLを使ってみるに書きつぐ形で、GraphQLのMutationについての説明を行います。 一度改めて、まとめを兼ねたGraphQLの説明をします。 GraphQLとは GraphQLでは、これまでRESTfulで作ってきたように複数のエンドポイ…

GoとMongoDBでGraphQLを使ってみる

GraphQLとは すでに紹介されている記事があるので、その辺を参考にしてみてください。 GraphQL入門 - 使いたくなるGraphQL アプリ開発の流れを変える「GraphQL」はRESTとどう違うのか比較してみた GraphQLはRESTの置き換えではない GraphQLは何に向いている…

TruffleとVue.jsとTypeScriptでブロックチェーンアプリを作ってみる

自分の備忘録としてDappの作り方の手順をまとめてみました。 最近やり始めたので間違いもあるかもしれません。ご承知ください。 環境構築 Macでやっています。 solidityのインストール $ brew install solidity truffleのインストールとプロジェクトの作成 $…

Vue.jsとExpress.jsでSPAを作ってみる

フロントエンドにvue.jsを利用し、バックエンドにexpress.jsを利用しました。 前提 私の環境ではそれぞれのバージョンは以下のようになっています。 一応OSはmacOS mojave バージョン10.14です(2019年1月の時点での状態です)。 $ node -v v10.1.0 $ npm -v…

Azure FaceAPIでアイドルの顔を見わけさせる

Azure FaceAPIの利用 AzureのFaceAPIを利用するには、まずAzureにアカウントを作成しなければなりません。 アカウント作成は無料で行えます。 https://azure.microsoft.com/ja-jp/ 登録後、ポータルへ入り、リソースの作成を行ます。 AI + Machine Learning…

Express.jsサーバでSequelize.jsを使ってMySQLデータベースとやりとりさせる

Nodeにはrailsのようにデータベースを管理できるモジュールであるsequelizeがあります。 expressで開発をやっていると、railsがどれだけ便利だったのかを思い知らされますね笑 expressでアプリケーション開発 https://gist.github.com/mitsuruog/fc48397a8e8…