いわゆる法人成りです。
かっこいい会社の名前が全然思いつかず*1、結局ハンドルネームを採用しました。このブログのタイトル(おもしろwebサービス開発日記)もだいぶアレな感じで、自分の命名センスの無さに震えますね><
単に名義が変わっただけで、特に何があるわけではないのですがこれからも引き続き頑張っていこうと思います。よろしくお願いします。
一応例のリスト置いておきますね (( ⁰⊖⁰)/)
*1:あまりに思いつかなかったので株式会社ベホマズンなどが候補に入っていた
読みました。自分はフリーランスなので直接誰かを採用することはないですが、お手伝いしている会社の方に「どうやったらいいwebエンジニア採用できますかねー?」と聞かれることがよくあるので、そのヒントになるかなと思い。
基本的に自分の考えているやり方で間違ってなさそうだという気持ちになれました。
よくweb上で見かけるエンジニア採用関係の文章は、この本が元になっていることが多いので違和感なく読めて当然なのかもしれません。
しかし「どうやったらいいwebエンジニア採用できますかねー?」にはやっぱり「頑張るしかないですね」としか答えようがないですね。難しい。
昨日開催された、Increments ++ Tech TalkにてRails 5.xというタイトルの話をしました。
内容はWEB+DB PRESSの連載ではページ数の関係で載せられなかったRails 5.0のトピックと、Rails 5.1で入る(入りそう)な機能の話です。分量が多くなってしまい、いろいろ端折りながら喋りました。
スライド中でも触れていますが、発売中のWEB+DB PRESS Vol.93でRails 5のメジャーな変更について取り上げ済みですので、気になる方はぜひ一読ください。
また、来週発売予定のvol.94ではRails 5で標準サーバになったPumaをテーマにしています。こちらも気になる方はどうぞ。
LTなどではなくて、きちんと喋るのは久しぶりだった気がします。素晴らしい機会を提供していただきありがとうございました > Increments 社のみなさん
せっかくスライド作ったので、機会があれば再演しにいこうかなーとも思っています。うちの勉強会でも内容シェアして欲しい!という人いたらお声がけください(今忙しいのでタイミングなどうまく合えばですが…)。
今月の24日発売のVol 93から、WEB+DB PRESS で Ruby の連載をすることになりました。よろしくおねがいします。
初回の題材は、みんな大好き Ruby on Rails の最新バージョンである Rails 5 です。もうじき正式リリースとなる Rails 5 にどんな機能が追加されたか、気になる方はぜひ一読ください!
youtube に DHH がしゃべっている動画があったので観ました。
The Complete Guide to Rails Performance という、Railsのパフォーマンスを改良するノウハウが書かれた本のコンテンツ*1の一つらしく、DHH に Rails のパフォーマンスについてインタビューをしています。
英語の聞き取りに自信がないので間違っているかもしれませんが、DHH は動画中で「Russian Doll Caching で N+1 を解決できる」ようなことを言っています。
例えば投稿の一覧と著者情報を表示したいとき、次のように書くと、二回目以降、 post が変更されない限り、post.author
のクエリは実行されません。
<% cache @posts do %> <% @posts.each do |post| %> <% cache post do %> <%= post.title %> <%= render post.author %> <% end %> <% end %> <% end %>
キャッシュが十分効いている状態では includes
メソッドなどで eager loading するよりも速そうですが、個人的にはなんか怖くて手を出しにくいなという印象です。
このような書き方をしている方、他にも居るようなら話聞いてみたいなー。
*1:買いましたが絶賛積読中です><
3/15は ginza.rb の33回目のミートアップでした。
Ginza.rb 第33回 もうすぐやってくる!Rails 5を見ておこう - Ginza.rb | Doorkeeper
前回のミートアップ時に、きっと Rails 5.0 がリリースされているだろうと思い Rails 5.0 をテーマとして設定しましたが、見事に期待が外れましたね><
未完成のリリースノートを読みつつ、主にメジャーな機能について内容を確認していきました。ざっとメモ書きを載せます。何か間違っている点などありましたら教えていただけると嬉しいです!
Ruby on Rails 5.0 Release Notes — Ruby on Rails Guides
Rails::API について発表した - おもしろwebサービス開発日記
Rails 5のActive Record attributes APIについて | 日々雑記
Rails 標準の test ツールが便利になりました
rails db:migrate
みたいな読んで字のごとく。Ruby 2.2.2 以降に対応
時間が余ったので、細かい変更も見ていました。以下気になった変更点
bin/rails restart
コマンドが追加された
bin/rails initializers
コマンドが追加された
bin/rails dev:cache
コマンドが追加された
tmp/caching-dev.txt
を作ったり消したりしてるだけbin/update
スクリプトが追加された
bin/setup
の update 版まだまだ読めていない変更点があるので、次回は続きを読んでいく予定です。
iOS アプリ開発をしている時に、web上のサーバではなく、ローカルマシンのサーバと通信させたくなる状況はよくあるかと思います。僕はまず次のようなコードを書いて、さらにコンパイラ用のフラグに -D DEBUG
と設定することで対応しました。
#if DEBUG let host = "http://localhost:3000/" #else let host = "https://production.example.com/" #endif
この Qiita の記事を参考にさせていただきました。
Swift での #ifdef DEBUG のやり方 - Qiita
これで大丈夫!…ではありません。ローカルサーバは http なので、ATS(App Transport Security) を許可する設定を追加しないと通信できません。
[iOS 9] iOS 9 で追加された App Transport Security の概要 | Developers.IO
単純に Info.plist に localhost:3000 を例外として許可する設定を追加して、しばらくは平穏に過ごせたのですが、実機で検証しようとした時に問題点に気づきました。そうです。実機からローカルマシンのサーバに接続する時には localhost ではダメなのでした。
それでは localhost をやめて、例えば willnet.local のような、mac に設定してある hostname を利用すればどうでしょうか。問題なく動きそうですね。ただ、これでは複数人数でiOS開発しようとした時に、各自のローカルマシンに立てたサーバと接続したくなるケースに対応できません。適宜ホスト名を書き換えてビルドし、コミットする時にはホスト名の変更を含めないように気をつける…そんな開発プロセスになりそうです。なるべくなら避けたいですね。
そこで次の二つのブログエントリを参考にしました。
上記のブログでやっていることを簡単にまとめると、Build Phases の Run Script 内に、Info.plist を書き換えるスクリプトを書きビルド時に実行することで、ビルドしたマシンの hostname を動的に Info.plist に設定しています。
これでURLを書き換えることなく快適に開発ができるようになりました。やりましたね。
しかしこれをiOSプロジェクトごとに毎回やるのは面倒ですね。Run Script を自動で追加できるライブラリのような仕組み*1があればそれを作りたいのですが、そのあたり詳しいかたいたら教えてください><
*1:そもそもそんなことできるんですかね…