読者です 読者をやめる 読者になる 読者になる

がんばるぞいクラブの開発環境をDocker化した。

以下がんばるぞいクラブ の改善の続きです。

背景

がんばるぞいクラブの開発は Mac内にbrewRuby/Railsとnodejs、PostgreSQLを入れるオーソッドックスなやり方で行っていた。特にこれといった不満はなくこのままでよかったけれども、brew upgradeを実行した際にPostgreSQLが立ち上がらなくなってしまいうまく対処ができなかった。。そこで、開発環境のDocker化に重い腰を上げて取り掛かることにした。

Docker化にあたって事前にみた資料

あまりDockerに触ってなかったので、今回はDocker化に取り組む前に以下資料をみてDockerの学習をした。公式ページのTutorialがすごくわかりやすく、スムーズにすすめられたこと、Docker for Macを入れるだけでDockerのセットアップ自体は完了するのはよかった。

やったこと

コンテナの構成はdb(PostgreSQL)とweb(Rails)、node(webpack)の3つで、dbは既存イメージをそのまま使い、webとnodeはRubyのイメージを使って変更を加えている。webではRailsサーバの起動、nodeはWebpack(https://github.com/rails/webpacker)の起動をしていて、特段変わったことはしていないと思う。 bundleをキャッシュさせるためにGemfileのみをADDすること、Webpacker用のコンテナを立ち上げたりるべきかどうかを悩んだかも。Dockerfileとdocker-compose.ymlは公開するのでこうできるとありがたいです🙏

gistae1c403a80d0696a66fad484c2cff58d

おわりに

いざやってみると開発環境のDocker化はわりとすんなりとできてしまった。がんばるぞいクラブの開発は一人で行っているので、開発環境のポータビリティ性の向上といったメリットはないが、Mac内の環境の依存がなくなっただけでも導入の価値はあったのもかなと思っている。ということで、開発環境のDocker化はあまり工数かけずにできたのでおすすめです🙏

REF

今回以下の記事を参考にさせていただきました。特にSoftware Design 2017年02月号のDocker特集はこれまでDockerにあまり触ってなかった僕にはとてもわかりやすい記事でしたので、おすすめです。ありがとうございました!

Heroku+Let's Encryptを使ってHTTPS化する

以下がんばるぞいクラブのアップデートの続き。

2017年になったのでRailsアプリ(5.0.1)をHTTPS化することにした。HerokuのPaid Dyno($7/月)とLet’s Encrypt、gemを使えばHTTPS化できるので今回はそのやり方を紹介しようと思う。最初は自前でLet’s Encrypt対応しようと考えていたが90日(https://letsencrypt.jp/blog/2015-11-09.html)で証明書を更新しなければならず、その処理がめんどくさい&既にgemで提供されていたので今回はそれを使うことにした。そもそもLet’s Encryptの仕組みについて知りたい場合は公式ページが参考になるのでぜひ。Let's Encrypt の仕組み - Let's Encrypt 総合ポータル

手順概要

と、がんばって手順を書こうとしたが、力尽きたのでやり方の概略だけ紹介する。はじめの証明書発行はMac内で行い、証明書の更新処理はHeroku内でHeroku schedulerで行っているのがポイント。以下概略だけ。

という手順である。わりと手軽にできるのでやってみてくださいm( )m

REF

がんばるぞいクラブをRails5にアップデートした

最近は触ったことない技術を試しサンプルをつくることを無限に繰り返していたのだけれど、ちょっと実際に動いているものに適用しようと思い、がんばるぞいクラブで試してみることにした。

その第一弾、準備としてRails5.0.1にアップデートした。今まではRails4.2.5で動いていたので以下の手順でアップデートした。

  • Rails4.2の最新版にあげる(4.2.7)
  • Rails5にあげる
  • updateスクリプトを走らせる
  • スクリプトで消された部分を設定し直す

小さいサービスであること&Rails5にアップデートする知見が既に広く公開されていたことから特にハマることもなくできた。皆々様に感謝です🙏具体的な対応した箇所はこんなところだった。

対応箇所

activemodel-serializers-xmlいれた

ActiveModel::Serializers::Xmlがgemに切り出されたのでgemでいれて対応。

http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#xml-serialization

draperを3.0.0.pre1にあげた

decorator層を追加するgemのdraperですが、以下のようなRails側の変更でバージョンを上げる必要があった。

https://github.com/drapergem/draper/issues/681

Active Recordの継承元をApplicationRecordに変更

Rails5からModelはActiveRecord::Baseを直接継承するのではなく、ApplicationRecordから継承するようになっいてるのでそれに合わせて修正。

http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#active-record-models-now-inherit-from-applicationrecord-by-default

rails_12factorを削除

Railsのコア機能に組み込まれたのでgemの方は削除。herokuをつかっていたので、環境変数も設定した。

https://github.com/heroku/rails_12factor#rails-5

Rails5の自動読み込みの仕様変更に対応

以下のように設定。

Rails.application.config.enable_dependency_loading to true.

http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#active-record-models-now-inherit-from-applicationrecord-by-default

REF

Rails5アップデートに際して以下ページを参考にさせていただきました。ありがとうございました 🙏

2016年決定版 僕の行動指針

本エントリは「行動指針 Advent Calendar 2016」の2日目の記事です。

お久しぶりです。最近は「響け!ユーフォニアム」を見て感動してて、充実した毎日を過ごしています。

では早速、僕の行動指針を紹介していくぞい。

行動指針

悩んだらワイルドな方を選ぶ

これYahoo!Japan CEOのお言葉なんですが、僕の行動指針にしています。この言葉を知る何年か前、大学2年くらいからそういう意思決定をしていたように思います。その結果、つまらない・失敗だったという経験がないしワクワクして楽しかったので、今後も継続していきたい所存です。

人に期待しない

文字にするとすごい冷たい言葉になってて、びっくりなんですがまあ文字の通りです。人に期待をすると、期待が裏切られた時に怒りって感情が入ると思います。期待はせず、やってもらえたらHAPPYな考えると、その時はすごいHAPPYになります。

感情では怒らない

感情で怒ってるときって基本的に人のためではなく、自分のストレス発散だと思います。ロジックをちゃんと組み立てて説明するのが大事かなあと。書いてて思ったんですが、これって怒ると叱るの違いなのかなと。

人はみんな違って、でもそれがいい

人ってびっくりするくらいいろんな人間がいます。自分の考えとかルールを押し付けるとうまくいかない局面がいくつかでてきました。僕の場合。そんな時に「あの人はそう考えてるのね、なるほどね。たしかにそういう考え方もできるかもしれない」と人の考え方を理解するのが価値観が広がってよかったです。

石橋を叩いて叩いて叩いてどうするか考える

僕はすごい慎重な性格で、ものの大小によりますが、あらゆる可能性をできるだけ考えちゃいます。考えた上でこれなら大丈夫だなって時にやるかひくか考えます。優柔不断ですいません。。でも、まあしょうがないです。

試してみる

人から言われたことはできるだけ試してみます。そんな時間かからずにできてしまうことがほとんどなので。結局は人のレコメンドが最強かなと思ってます。

情を大事にしたい

感情では怒らないとか人に期待しないとか書いておきながらアレなんですが、人間の情はすごい大事にしたいです。なんだかんだ最後はロジックで動くことは少ないのが人だと思うので、情は大事。人を動かすとかに書いてあったような

おわりに

書きながらどんどん増えていってびっくりしてます。減らしてグルーピングとかもできそうだなあとも思ったのですが、そこは自分の思考の大きさを表してるってことで。

ここらへんがどんどんでてきたのはストレングスファインダーで自分の考えを知っておけたってのが大きいです。人から言われることであーたしかにそういう意思決定してたと認識することも多かったです。

明日は@yaginuuu さんです。人の行動指針をみるのはたのしいです。

本エントリは「行動指針 Advent Calendar 2016」の2日目の記事です。

最近の情報収集

みなさんの情報集術を知りたいので、まずは僕から公開してみる。一般編と技術編で

一般

  • LINEニュース
  • SmartNews
  • antenna
  • Twitterで気になってる人をフォロー

これらは通勤中とかをスキマ時間を中心にみてる。気になったニュースで出た知らない単語とかについて調べてる。

技術

  • はてなブックマーク
    • アプリとWeb両方でみてる。一般とテクノロジーカテゴリは毎日みてる
    • なおやさん作の HBFavでお気に入りユーザのブックマークからたどることもよくある
    • はてなブックマークのタグ検索で気になる技術のタグページをFeedlyに登録して追ってる
  • はてなブログで気になるユーザのブログを購読
  • Feedlyでブログ購読。個人/企業のテックブログがほとんど。メディアは更新が膨大なので購読してない
  • WEB+DBは一通り流し読みする
  • Podcast聞く。よく聞くのはこれら。前はもっと聞いていたけど、追いつかなくなってる・・
  • HackerNewsをたまにみる

終わりに

定期的に見てるソースはこんな感じ。ほかはKindleでてきとーな技術な漁ったりすることが多い。

青春の一冊

特別お題「青春の一冊」 with P+D MAGAZINE
http://blog.hatena.ne.jp/-/campaign/pdmagazine

エイジ (新潮文庫)

エイジ (新潮文庫)

高校生の頃にめっちゃ読んでた。

株式会社はてなに入社しました

株式会社はてなに入社しました

株式会社はてなに入社しました - hitode909の日記

  • 4/1はエイプリルフールです。