ベルリンのITスタートアップで働くジャバ・ザ・ハットリの日記

日本→シンガポール→ベルリンへと流れ着いたソフトウェアエンジニアのブログ

Ruby

他人のコード読むのが好きじゃない私だが、いくつかのRailsのコードだけはよく読んで参考にしている

他人の書いたコード読むのがあまり好きじゃない私だが、いくつかのRailsプロジェクトのコードだけは自分のフォルダにクローンしてよく読んで参考にしている。「この世でもっとも理想的なRailsプロジェクトのソースコードってどんなのだ?」「どこかにそうい…

海外の技術職への転職の際に英語で行われる技術面談対策はこのサイトでやっておいて損はない

英語圏のエンジニア職に転職しようとする際に避けては通れないのが技術面談。何度かこのブログでも紹介しているが、もし海外のエンジニア職への挑戦をお考えの方が居ればこれは十分に対策をとっておいた方がいい。きっと思っているよりも実際にやるとその難…

世界のエンジニアの状況を示すスタックオーバーフローの調査結果は驚きの連続だった

元ネタはこれstackoverflow.comご存知スタックオーバーフローが全世界のエンジニアの状況をアンケート調査した結果。対象はもちろん全世界。 結果は想定通りのものと「え?そうなの?」と予想を裏切るものがあった。こういうのは自分の肌感覚より精密なデー…

Devise で Sign Out が Routing Error になる問題の対処方(method の delete が get になる)Rails 4.x

RailsでDeviseを使っていて、ログアウトした際になぜかRouting Errorになったり、もしくはまったく意図していないRouteに行ってしまう問題の対処方。以下のブログにも同じ問題について言及しているが、deleteをgetにしてしまっているので、なにか消化不良が…

海外転職の際の技術面談にある意外な落とし穴とそれを突破するコツ

海外の会社にエンジニアとして転職する際には必ず技術系質問を何時間も受ける面談がある。そうした技術面談の際には意外な落とし穴がある。(ただしネイティブとまったく同レベルで英語ができる人は別)その落とし穴とは 技術質問を英語で聞かれて英語で答え…

英語とプログラミングが勉強できる動画集

YouTubeには英語でプログラミングを解説する動画が山ほどある。これらは英語のリスニングの勉強と同時にプログラミング知識も身につくので重宝している。私は常に50本近くのこれらのビデオファイルをiPhoneの中に入れておき、ちょっとしたすきま時間に視聴…

Rubyのリファクタリング:「聞くな、言え」の法則

元ネタはこちら。 Tell, Don't Askキャッチフレーズから非常に分かりやすい。 Tell, Don't Ask 言え!、聞くな理想的なオブジェクト指向設計においてはオブジェクトに対してただやって欲しいことを「言う」だけ。 こちらでどうればいいのか聞いたり、判断し…

オブジェクト指向設計を実現するためのドMなコーディングルール

ちょっと古いブログだけど、オブジェクト指向設計を誰でもカンタンに実現するための4ルールを見つけた。 Sandi Metz' Rules For Developersブログ記事は「Practical Object-Oriented Design in Ruby」の著者が提唱しているコーディングルールをthoughtbot社…

Deviseの認証メールをカスタマイズする方法

Deviseの認証メールをカスタマイズする方法がググっても日本語ではあまり出てこないので書いた。Deviseをconfirmableにした場合、デフォルトだととても簡素なメールでの認証になってしまう。 ユーザーにとってはただの1回だけの認証メールで「リンクを押せ…

rbenvのリストが最新に更新されない場合の対処法

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がず…

やっぱブログはコツコツ書いた方がいいわとrailsでリロードしないとJavaScriptが挙動しない問題で思った

後から考えればしょーもないことでもその問題にハマっている時は「この状況を助けだしてくれるモノなら藁でも掴むわ!」となっている。で、それがコーディングに関する問題になると往々にして救い出してくれるのはどこかのエンジニアが書いた、小さなブログ…

エンジニアが海外で生き残るには流行りモノより基礎技術

職場の同僚エンジニアAに対して抱いた思いは「コイツよく分かってるなー」だった。Aはその分野ではもちろん重宝されている人材。今はシンガポールで暮らしているが、持ち前の技術力で世界の気に入った国を見つけてそこでエンジニアとして働いて、国々を移り…

chefとvagrant のインストール方法ってマチマチだが、正攻法でやった方がいいと断言する

まずはchefのインストール。安易にgemでインストールするとknifeが入ってない、とか不完全なまま放置される可能性があるので以下のようなgemコマンドで入れる方法はオススメしない。 $ gem install chefとするよりも ここからとった方がいい。 Chef Developm…

英語とプログラミングを同時に勉強するなら「Practical Object-Oriented Design in Ruby」の一択

短時間で効果的に英語とプログラミングを同時に勉強したい、となったらその方法として「英語でプログラミングの本を読むこと」がある。ただこれで私は何度も失敗した。失敗の原因は「本選びが悪い」に尽きるが、その主な理由として3つある。 英語が難し過ぎ…

Rails4.1から列挙型enumが使えるが「いなーむ」とか発音すんのやめ

Rails4.1からActiveRecord::Enumが使えるようになった。よく使う事例はUserモデルにrole(役割種別)があって、データはIntegerで0ならguest, 1ならuser, 2ならadminの3種類にするって場合。何の説明もなしにuser.role = 1 とかして「1? なに?どういう意味…

Rubyでクローラーを作る その1

Rubyでクローラーを作りましたので、その方法の解説。まずウェブサイトを巡回してデータ集めるプログラムのことをクローラーと言ったり、スクレイパーと言ったりしますがその定義は以下。 クローラー:ウェブサイトを巡回的にまわってデータを集める。ページ…