Ruby
他人の書いたコード読むのがあまり好きじゃない私だが、いくつかのRailsプロジェクトのコードだけは自分のフォルダにクローンしてよく読んで参考にしている。「この世でもっとも理想的なRailsプロジェクトのソースコードってどんなのだ?」「どこかにそうい…
英語圏のエンジニア職に転職しようとする際に避けては通れないのが技術面談。何度かこのブログでも紹介しているが、もし海外のエンジニア職への挑戦をお考えの方が居ればこれは十分に対策をとっておいた方がいい。きっと思っているよりも実際にやるとその難…
元ネタはこれstackoverflow.comご存知スタックオーバーフローが全世界のエンジニアの状況をアンケート調査した結果。対象はもちろん全世界。 結果は想定通りのものと「え?そうなの?」と予想を裏切るものがあった。こういうのは自分の肌感覚より精密なデー…
RailsでDeviseを使っていて、ログアウトした際になぜかRouting Errorになったり、もしくはまったく意図していないRouteに行ってしまう問題の対処方。以下のブログにも同じ問題について言及しているが、deleteをgetにしてしまっているので、なにか消化不良が…
海外の会社にエンジニアとして転職する際には必ず技術系質問を何時間も受ける面談がある。そうした技術面談の際には意外な落とし穴がある。(ただしネイティブとまったく同レベルで英語ができる人は別)その落とし穴とは 技術質問を英語で聞かれて英語で答え…
YouTubeには英語でプログラミングを解説する動画が山ほどある。これらは英語のリスニングの勉強と同時にプログラミング知識も身につくので重宝している。私は常に50本近くのこれらのビデオファイルをiPhoneの中に入れておき、ちょっとしたすきま時間に視聴…
元ネタはこちら。 Tell, Don't Askキャッチフレーズから非常に分かりやすい。 Tell, Don't Ask 言え!、聞くな理想的なオブジェクト指向設計においてはオブジェクトに対してただやって欲しいことを「言う」だけ。 こちらでどうればいいのか聞いたり、判断し…
ちょっと古いブログだけど、オブジェクト指向設計を誰でもカンタンに実現するための4ルールを見つけた。 Sandi Metz' Rules For Developersブログ記事は「Practical Object-Oriented Design in Ruby」の著者が提唱しているコーディングルールをthoughtbot社…
Deviseの認証メールをカスタマイズする方法がググっても日本語ではあまり出てこないので書いた。Deviseをconfirmableにした場合、デフォルトだととても簡素なメールでの認証になってしまう。 ユーザーにとってはただの1回だけの認証メールで「リンクを押せ…
Ruby 2.2.2がリリース(2015年の4月)されて、古いバージョンのRubyをバージョンアップする時の極めて地味な問題。リストに最新版が出ない場合。 $ rbenv install --list Available versions: 1.8.6-p383 1.8.6-p420 1.8.7-p249 : : 2.2.1 :なんで2.2.2がず…
後から考えればしょーもないことでもその問題にハマっている時は「この状況を助けだしてくれるモノなら藁でも掴むわ!」となっている。で、それがコーディングに関する問題になると往々にして救い出してくれるのはどこかのエンジニアが書いた、小さなブログ…
職場の同僚エンジニアAに対して抱いた思いは「コイツよく分かってるなー」だった。Aはその分野ではもちろん重宝されている人材。今はシンガポールで暮らしているが、持ち前の技術力で世界の気に入った国を見つけてそこでエンジニアとして働いて、国々を移り…
まずはchefのインストール。安易にgemでインストールするとknifeが入ってない、とか不完全なまま放置される可能性があるので以下のようなgemコマンドで入れる方法はオススメしない。 $ gem install chefとするよりも ここからとった方がいい。 Chef Developm…
短時間で効果的に英語とプログラミングを同時に勉強したい、となったらその方法として「英語でプログラミングの本を読むこと」がある。ただこれで私は何度も失敗した。失敗の原因は「本選びが悪い」に尽きるが、その主な理由として3つある。 英語が難し過ぎ…
Rails4.1からActiveRecord::Enumが使えるようになった。よく使う事例はUserモデルにrole(役割種別)があって、データはIntegerで0ならguest, 1ならuser, 2ならadminの3種類にするって場合。何の説明もなしにuser.role = 1 とかして「1? なに?どういう意味…
Rubyでクローラーを作りましたので、その方法の解説。まずウェブサイトを巡回してデータ集めるプログラムのことをクローラーと言ったり、スクレイパーと言ったりしますがその定義は以下。 クローラー:ウェブサイトを巡回的にまわってデータを集める。ページ…