loginsrv 試したみた
注:これは私的メモに近いものです。
loginsrv は JWTログイン認証をマイクロサービスとして提供できるようにするサーバー。ログイン認証の無いサービスにログイン認証を追加したり、SPAとかで重宝するのかもしれない。
以下の記事を参考にloginsrvを試してみた。私が以下に記述していることはここに全部書いてます。
わからなかったこと。
- goreman の起動の仕方
- gorem の使い方
- github認証でのログイン
- htpasswdでのログイン
goreman の起動の仕方
上記記事中にもある通り、goremanはforemanのクローン。複数のアプリを一括で起動できる(?)
なので、foremanと同じく、Procfileをカレントディレクトリに作成して、`goreman start`で起動するだけ。
ちょっとはまったのは、記事中の `web1: ./app` の部分。Windows だと `web1: app.exe` としないと起動できなかった。(go build の仕方によって回避できる問題なのかもしれない)
あと、Port を自動で環境変数PORTに設定してくれる。今回使っているサービスは使っていないようなので問題ないんだけど、環境変数を引数指定よりも優先して設定するようなアプリの場合は注意が必要かも?
gorem の使い方
上記記事中にもある通り、gorem は リバースプロキシサーバー。
config.json をカレントディレクトリにおいて、gorem で起動すればいいだけだった。簡単。
github認証でのログイン
自分のgithubページに行き、フェイスアイコンからSettingsを選択。Developer settings から OAuth applications を選択し、アプリを登録する。
私の場合は以下の情報を登録した
- Application name : loginsrc
- Homepage URL : https://github.com/tarent/loginsrv
- Authorization callback URL : http://localhost:5000/login
登録すると、Client ID と Client Secret が表示されるのでそれを loginsrv の引数として設定してあげる。
loginsrv -github client_id=xxx,client_secret=yyy
簡単。
htpasswd認証でのログイン
htpasswd には {user}:{MD5等でハッシュ化されたパスワード} という文字列が記述されたアカウントリストファイル(?)
以下のページでその情報を疑似的に作成。.htpasswd としてカレントディレクトリに保存。
そのファイル名をloginsrv の引数として渡してやると完成。
loginsrv -htpasswd file=.htpasswd
簡単。
まとめ
ログインを外部サービスに任さることができるのはだいぶうれしい。loginsrv が拡張されてtwitter やら facebook とかのアカウントでもログインできるようになったら面白いかもしれない。
goreman や gorem を使用すると、簡単に別々のウェブサービスが連結できて便利。今まではDocker-compose とかでやってたことが、数ファイルでカジュアルに実行できるので、そんなにでかいサービスを動かす必要がないのであれば使っていきたいなと思った。
以下に試した結果を上げておきます。
この4ヶ月で10年分の読書をした
だいぶ釣り染みたタイトルですが、この4ヶ月で技術書を5冊読みました。去年までの10年間で4冊しか読んでなかったことを考えるととんでもないスピードな気がしたので記録に残しておこうかなと。書評とかはないです。そういうのは苦手なのと、良い書評書かれてる方がいっぱいいらっしゃるので、その方たちにおまかせしようかなと。
今年読んだ本
- 1月:
- 2月:
- 作者: DrewNeil,新丈径
- 出版社/メーカー: KADOKAWA / アスキー・メディアワークス
- 発売日: 2014/01/28
- メディア: Kindle版
- この商品を含むブログ (4件) を見る
- 3月:
- 作者: Travis Swicegood,でびあんぐる
- 出版社/メーカー: オーム社
- 発売日: 2009/08/12
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 305回
- この商品を含むブログ (101件) を見る
- 4月:
SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)
- 作者: ミック
- 出版社/メーカー: 技術評論社
- 発売日: 2015/04/11
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
こうやってみるとジャンルがバラバラですねw
何故4ヶ月で5冊読めたのか
ぶっちゃけプライベートにおけるプライオリティ付けを変更したってところが大きいと思います。というのは、今までは「読書<プログラミング」というプライオリティだったものを、「プログラミング<読書」に変えただけです。とはいえ、去年までの10年間ずっとプログラミングをハイプライオリティでやってきてたのか?って言われると返す言葉もないんですけどねw
でも、少なくとも、ここ数年はプログミラングを軸にプライベートを回してたってのは事実なので、そのプライオリティを変更したっていうのは読書を進める上での重要なファクターだったかなぁとは思います。
二番目に大事な点は、読みたい本、気になる技術の本を読むっていうことだと思います。やっぱりモチベーションは大事です。
後は、できるだけ毎日続ける。1ページでもいいから読書をするっていうのも大事だと思います。継続は力なりってやつですね。ですけど、気分が乗らないときは読まない。読書をするのが辛いという気持ちに自分の中でしないってのも大事ですね。強迫観念で読書をしても辛いだけですし、身にもならないと思います。
効果はあったのか?
それはまだわかりません。ですけど、この4ヶ月の間に知らなかった、もしくはうろ覚えだった知識が本を通して知れた、再認識できたってのは感じていて、今後の仕事なりOSSの活動にも影響してくるのは明確かなと思っています。VImは日々使う道具の一つなので、実践VImを読んでる途中でも。「お、これやってみよう」と思えるものがいくつかありました。また、最近goでアプリを作成することがあるんですが、みんなのGo言語にでてくる内容が参考になったりするので、コードを書いているときに、「そういえば、みんGoでこういうこと書いてたな」とか「こういう問題に対するやり方がみんGoに書いてたような気がいする」といった感じで、再読することがあります。そういう意味でも、読書は結構役に立ってるのかなと思います。
今後読みたい本
次は以下の本を読もうかなぁと思っています。
プロフェッショナルSSL/TLS(紙書籍+電子書籍)www.lambdanote.com
それが終わったら、以下の本が積読されてるので、順次消化していきたいなぁと思います。 あと、Amazonのほしいものリストにもまだまだ読みたい本があるので、そちらも消化していけたらいいなぁ。
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
- 作者: Alan A.A. Donovan,Brian W. Kernighan,柴田芳樹
- 出版社/メーカー: 丸善出版
- 発売日: 2016/06/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL (WEB+DB PRESS plus)
- 作者: 奥野幹也
- 出版社/メーカー: 技術評論社
- 発売日: 2015/03/10
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (18件) を見る
- 作者: ボーリスバイザー,Boris Beizer,小野間彰,山浦恒央
- 出版社/メーカー: 日経BP社
- 発売日: 1994/02/26
- メディア: 単行本
- 購入: 6人 クリック: 85回
- この商品を含むブログ (19件) を見る