about Makefile When use golang development, almost use Makefile. Used by build and run go application.but I don't understand this format. So, I explain structure of Makefile. title of process: process this command is minimum. other how to.…
Use swagger when make open api Use swagger in work project. I feel is great tool at openapi. First, when I made the new api at current project. Make dummy response api, its client side develop efficient. We have many new develop points. it…
久しぶりの更新になります。今回はGCPのCloudSpannerについてです。 決してサボっていた訳ではありません。仕事が・・・というよくあるやつです。 CloudSpannerとは GCPが誇る分散型データベースです。 なんと言っても最大の特徴は、ノードを増やすことでス…
先日、GCPが5900億円の赤字であるニュースが掲載されていました。forbesjapan.com現状、パブリッククラウドはシェア1位のAWSを筆頭に、2位のAzure、GCPは3位という位置にいます。 3位といえど差は歴然で、去年のデータですが下記のようになっています。www.…
今回は使ってみて良かったツール類を紹介したいと思います。 数ヶ月前にセールをやっていたので、前々から気になっていたTablePlusを購入しました。 tableplus.com 購入した理由とメリット 一番の大きな理由はモダンで軽快なUIで使い勝手が良いという点です…
まだまだ使っているところが多いと思われるMySQL5.6が2021年2月のEOLになります。www.mysql.com意外に早いなーと思いましたが、ExtendedSupportはGAから8年なので、リリースされたのは2013年なんですね。 移行するのでしたら、5.7は2023年10月までいけるので…
久しぶりにゲーム制作をやったので、今回はその時にハマった事を。ゲーム自体は某ノベルゲーなのですが、そのテキストや背景、BGMの情報を保存するのに都合が良かったのでSQLiteを使う事にしました。 スタンドアロンなゲームで特に通信はしないので、DB使お…
今年も終わりに近づいてきたので、去年に続き抱負の記事を書きます。 こうして振り返ってみるとブログも1年半くらい続いているんですよね・・・すぐ書かなくなるかなと思いましたが、習慣にすると続けられるものです。 この調子で2年、3年と続けていきたいで…
Goでエラー処理する事は頻繁に出てくると思います。 使われるのは大体標準パッケージのerrorsを使う事が多いと思いますが、Goには準標準パッケージとしてxerrorsがあります。 最近使ってみたら良かったので、今回はxerrorsについて書いていきます。 何がメリ…
MySQLのインデックスには一般的にB-Treeインデックスというものが使われています。 BTreeはインデックスのアルゴリズムなのですが、今回は何故これが一般的なのかについてです。 B-Treeとは インデックスは実テーブルのデータを素早く探す為の索引ですが、ア…
terraformは手軽にファイルに書いて実行できますが、しばらくするとある事で悩む事になります。 それは・・・terraform自体の構成をどうするかという事です。最初は同じファイルにどんどんリソースを定義していくと思います。それで数が増えたら種類毎にファ…
RESTAPIの各メソッドの処理には冪等性であるべきものと、そうでないものがあります。 冪等性とは。についてはwikiさんによるとこういう事だそうです。 冪等 - Wikipedia詳しく書いてありますが、要するに「何度同じ事をしても同じ結果になるということ」です…
最近NoSQLであるDynamoDBを使用したので、そのとき学んだことをまとめていきたいと思います。 DynamoDBの仕組み DynamoDBキーバリュー型のNoSQLになります。なのでキーを元にレコードの情報を引っ張ってくる形式になります。 比較的構造としてはシンプルなの…
APIGatewayからlambdaを統合するときに、プロキシ統合でバックエンドに渡す方法があります。 確か去年あたりに新しくできた方法で、これのおかげでかなり楽にマッピングができるようになりました。 今回、業務でAPIGatewayを使用したのでその事を書いていき…
エラーとの遭遇 エンジニアとして開発をしていると、エラーなどにハマる事があります。 そのとき大半の解決方法としては、同じチームの人に聞くか、目の前のパソコンでググるか。という解決方法をとる事が多いと思います。 チームメンバーに聞いて解決するの…
lambdaのAPI化としてよく使われるAPIGatewayですが、APIの認証を入れたいときがあると思います。 特にAWS内部への処理をする場合、誰でも叩かれたらマズいですしね。 なのでAPIGatewayには認証機能が実装されています。 一番簡単なのはAPIキーを設定して、そ…
インフラのコード化に使われるTerraformですが、クラウド上のリソースを管理するresource以外にもdataという属性があります。 これはデータソースというもので、簡単に説明すると実際のクラウド上には存在しないけど、Terraform内で完結するように作られるリ…
CodeBuildのキャッシュの種類 最近CodeBuildを導入して使っていますが、ビルド時に使用するリソースをキャッシュしておく機能があります。 主に2種類のタイプがあって、S3に保存するタイプとローカルに保存するタイプがあります。 それぞれ特徴があって、利…
Fargate運用するとなると、真っ先に整備しないといけないのがデプロイ周りです。 EC2のようにローカルから送ってデプロイという訳にはいかないので、導入するのならセットで導入する必要があります。 もし現状全くCIとか使ってない環境でしたら、導入する絶…
はじめに サーバーレスを進めるにあたって、既存のサーバーとの設計の違いで悩む事があると思います。 私も最初は「通常のサーバーだったら簡単にできるのに・・・」と思った事があります(特にログ周りとか) が、これはサーバーレスアーキテクチャに慣れて…
最近のサーバーレスの流れに乗り、Fargateを導入したので、その時に気がついたことを残しておきます。 まず従来使っていたECSonEC2と比較しての違いを挙げてみます。 ネットワークモードがawsvpcのみ EC2タイプでしたらbridgeでインスタンスから接続できたの…
こちらの記事は転職ドラフト体験談投稿キャンペーンに参加していますjob-draft.jp 今回は私が上記の転職ドラフトさんを利用して転職活動したときの体験記を書こうと思います。 転職ドラフトを使ったきっかけ とあるWebサイトで広告バナーを見かけたので登録…
PHPの次のバージョンである8.0で遂に名前付き引数が使えるようになるみたいです。(まだ確定ではありませんが) これはかなり強力なアップデートなのではないでしょうか。開発効率が爆上がりです(個人差あり) そもそも名前付き引数って? かなりざっくりと…
このブログを書き始めて約1年経ったので、振り返りを兼ねて今回は記事にしてみます。 1年を振り返って ブログ開設したのが去年の7月7日でした。 最初は「エンジニアとしてアウトプットって大事だしブログでもやるかー」という気持ちで始めたのは今でも覚えて…
前回に引き続きterraformの話題です。 terraformにはリソースの状態を管理しているtfstateというファイルがあります。 これはtfファイルとの差分を見て、 terraform plan したときに追加や変更、削除などの判断をしています。 なのでこれを消してしまうと管…
はじめに 最近terraformを会社で導入しました。 インフラをVPCから新規で一式用意することになって、せっかくなのでインフラのコード化をしてみようかなと思いました。 しばらくしか使わない可能性がありますし、コードで管理していたほうが後々便利だなと思…
どうもこんにちは。 最近はECSを使って本番構築しているので、しばらくはその時に学んだ内容を書いていきます。 今回は動的ポートマッピングについてです。 動的ポートマッピングとは ECSのサービスがホスト側のポートを動的に割当する機能です。 何故これが…
前回に引き続き、SSMを利用して実際に使用した事を書き記しておきます。 今回はEC2の環境変数をパラメータストアから取得しようという話です。 EC2で何故SSMを使うのか ECSでは普通にSSMを参照出来るのに、EC2だけサーバー内に直置きだからです。 せっかくAW…
SSMにはインスタンスを管理する他にパラメータを管理するパラメータストアがあります。 Fargateとか使用するのだったらほぼ必須となってくると思いますが・・・ 最近EC2で使用する機会があったので今回はパラメータストアについて書きます。 パラメータスト…
最近、コードレビューで突っ込まれて「なるほどな〜」と思った事があります。 今まであまり意識したことは無かったのですが・・・型からコードの意味を読み取れるようにする。ということです。 熟練のエンジニアの方からしたら「当然だろ」と思われるかもし…