netlify をお試ししてみた

f:id:dojineko:20170917205154j:plain

今回はメモ的な感じで。

netlify とは?

f:id:dojineko:20170917183219p:plain

静的コンテンツをベースにしたWebサイトのホスティングに特化したサービスです。「Hexo」や「Hugo」などの静的サイトジェネレータで作るWebサイトを公開するのにもってこいというわけですね。なおバックエンドには Amazon Web Service を使用している様子でした。基本機能の殆どは無料で使用できます。

ちなみに無料プランではなんとこれだけの機能が使えてしまいます。

なおチーム向け、法人向けの有料プランが存在し、有料プランにアップグレードすると複数人での管理機能の強化など便利な機能が開放されるようです。

続きを読む

haconiwa をお試ししてみた

f:id:dojineko:20170504174857j:plain

Yet another container, haconiwa.


そもそもコンテナってなんじゃ

「コンテナ」というと真っ先に「Docker」が思い浮かびますね。

軽いつかみとして用途を一つ上げるとすると、アプリの開発環境を用意するのに いちいちVM上げて、サービスが上がってくるの待つのがだるいから コンテナで環境を用意してその中でアプリを起動するみたいな感じに使います。

その実は、 Linux Kernel の機能を駆使して、実行環境を隔離する技術です。
主に下記のような技術が利用されています。
1つ1つを掘り下げると大変なことになるので「フワッ」っとご紹介します。

続きを読む

Golint < Json should be JSON!

f:id:dojineko:20170216213454j:plain

「えっ、そんなん言われても・・・」


使ってますか Golint

github.com

この子です。Golangを使ってるときには欠かせない(はず)の静的解析ツールです。

細かな関数名のスペルだったり、明らかに冗長なコードを書いていたり、
あるいは公開している関数や構造体なのにドキュメントコメントが無い場合などなど
色々アドバイスをくれる憎いやつです。

続きを読む

io.TeeReader を使って Teeコマンドを作る

f:id:dojineko:20170211215431j:plain

下記のエントリに触発されたのでかるーくやってみました。
ターゲットは tee コマンドです。

takatoshiono.hatenablog.com

teeコマンドって?

標準入力で受け取ったデータを標準出力しながら、
指定したファイルにも出力するようなコマンドです。

Linuxコマンド集 - 【 tee 】 標準入力を標準出力とファイルに出力する:ITpro

他のコマンドの実行結果を tee にパイプして表示しつつログを取るというような使い方をしたりします。

io.TeeReaderって?

teeコマンドのように golang上で指定したReaderで読み取った内容を、
指定したWriterに渡しながら処理をすることのできるReaderです。

io - The Go Programming Language

サンプルプログラム

実際に使ってみないとなんともイメージが湧きにくいと思いますので
最低限 teeコマンドと同じ挙動をする gogotee というコマンドを作ってみます。

続きを読む