おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

morning hack という名の朝活をしています

常駐のお仕事をしていないフリーランスは、朝出社しなくていいので生活リズムがどんどん崩れていきます。個人的には、生活リズムが崩れると能率も落ちるしあんまりいいことないです。かと言って自分の意志だけで朝早く起きるのとか不可能。 そこでMorning Ha…

実践 Vagrant を読んだ

Vagrantを使って仮想マシンを立ち上げるだけなら、適当にググってコマンド2つ(vagrant init と vagrant up)叩くだけでできます。Vagrant ちょう簡単。なので簡易的な使い方をする分には書籍とか読む必要はないです。でも、Vagrantって何をどこまでできるのか…

rspec-rails を 3.0.0.rc1 にアップデートする際に気をつけること

rspec-rails を 3.0.0.rc1 にアップデートすると、きっとテストがこけまくるようになるはず。そんな時は spec_helper.rb に次の設定を足してあげてください。 config.infer_spec_type_from_file_location! これまでの rspec-rails は、例えば spec/controlle…

ginza.rb 第11回の募集を開始しました

Ginza.rb 第11回 君ならどう書く? 機能を作って、コードレビューをしてみよう! 今回は、あらかじめ決められたお題に対して事前にプルリクエストを投げてもらい、ミートアップ中にコードレビューするという形式です。 お題は、僕が主催しているデザインビギ…

パーフェクト Ruby on Rails という本を書きました

ここのところブログの更新頻度が下がっていたのはそういうことです。 @sugamasao、@udzura、@joker1007と共同で書きました。 パーフェクト Ruby on Railsposted with amazlet at 14.05.02すが まさお 前島 真一 近藤 宇智朗 橋立 友宏 技術評論社 売り上げラ…

Travis CI から heroku にデプロイするのってセキュリティ的に問題ないのか調べた

ci

Travis CI べんりですね。「テストが通ったらherokuにデプロイする」ということもできるようなのでやってみました。すでに Travis CI の基本の設定は済んでいる前提です。 gem i travis # travis gem を入れていなかったら cd YOUR_APP_PATH travis setup he…

Rails 4.1.0 で新しく導入された便利メソッド

Rails(ActiveSupport) は標準クラスを拡張した便利メソッド群を提供してくれています。時々これは使わないなー…という微妙なやつもありますが、僕はけっこう好きです。 Rails 4.1.0 で新しく入ったそんなメソッドをまとめます。 Numeric#in_milliseconds 数…

TokyuRuby会議07で流しについてLTをした

今日行われたTokyuRuby会議で、フリーランスなエンジニア(流し)がどのように仕事をしているのか、需要あるかなあと思ったので話してみました。しかし話した感触的にそれほど興味のある人は多くなかったような。単価とか契約とかもっと深い話をしたらよかった…

Rails4 技術者認定シルバー試験

合格してました

デザインビギナーズミートアップ第6回を開催した

あまりちゃんと告知していなかったのですが、Hack Design 読書会はデザインビギナーズと名前を変え、勉強の内容も、なるべく手を動かして勉強する形にシフトしています。 そんなデザインビギナーズも前回で第6回を迎えました。Hack Design 読書会は10回まで…

tachikoma を使って毎日自動で bundle update

sanemat さんが作っている tachikoma という gem があります。tachikoma の機能は簡単に言うと「github の指定のプロジェクトで bundle update して、差分を pull request してくれる rake タスク」です。cron や jenkins などで定期的に実行するようにする…

rake_shared_context を 0.1.0 にバージョンアップした

rake_shared_context という、rake タスクをテストする際にべんりな shared context を gem にしたものがあります。これをバージョンアップしました。 バージョンアップしたときに RubyGems.org を確認したら、地味に 2000 ダウンロードされていて驚きました…

最近の Hack Design 読書会

Hack Design 読書会をやりたい というエントリを書いてから約五ヶ月が過ぎ…、Hack Design 読書会は先日8月8日に第8回目を迎えました!小規模な勉強会ですが、粛々と継続しております。 デザインを勉強したいと思っている方の数はそれなりに多いのではないか…

devise のコントローラを継承して authenticate_user! するときの注意事項

下記のようなコード。hoge アクションには authenticate_user! が効きません。 class RegistrationsController < Devise::RegistrationsController before_filter :authenticate_user!, only: :hoge def hoge; end end なぜか。authenticate_user! に該当す…

ginza.rb 第1回を開催して strong_parameters のソースコードを読んだ

7月16日(火)に ginza.rb 第1回を開催しました。 Ginza.rb 第1回 strong parameters - Ginza.rb | Doorkeeper やったこと 今回からコードリーディング開始です。最初のお題は、Rails 4 から追加された strong_parameters。Rails 4 のコアに組み込まれています…

gimei を 0.1.0 にバージョンアップした

gimei をバージョンアップして、0.1.0 にしました。2celebさんから pull request を投げてもらい、それに合わせて API を整備。主な変更点は下記のようになります。 サンプルデータを拡充(約14000行のYAMLに!) 男女を指定して名前を返すAPIを追加 コード例 …

ランダムで日本人の名前を返す gem を作った

gimei という、ランダムで日本人の名前を返す gem を作りました。 似たようなライブラリに faker があります。faker は人の名前だけではなく、住所やメールアドレスやユーザ名や電話番号など、たくさんのジャンルのダミーデータを返してくれるすごい gem で…

ginza.rb 第0回を開催して Rails 4.0 のリリースノートを読んだ

先月にginza.rb 第0回を開催しました。ちょっと遅れましたがやった内容などを書きます。 やったこと Ruby on Rails 4.0 Release Notesを頭から一通りざっくり読んで、Rails 4.0 の新機能と変更点を勉強しました。 まず、4.0 での大きな追加項目なはずの Stro…

Tokyo Rubyist Meetup に参加した

Tokyo Rubyist Meetup (trbmeetup) seeks to help bridge the Japan and international ruby and ruby on rails community. ということで、海外の技術者とミートアップできるコミュニティ Tokyo Rubyist Meetup に初参加しました! 今回のミートアップでは、…

capybara 2.1 を学ぶ

Introducing Capybara 2.1 — Elabs を読んでのメモです。 capybara 2.1 を 2.0 と同じ挙動にする capybara 2.1 を 2.0 と同じ挙動にするには下記のように設定する Capybara.configure do |config| config.match = :one config.exact_options = true config.i…

devise でログインログアウトのパスを変更したいときの注意点

例えば User モデルで devise を設定したとき、ログイン用のパスは /users/sign_in、ログアウトは /users/sign_out になります。個人的には /login /logout の方が好みなのでroutes.rb を下記のようにしました。 devise_for :users, skip: [:sessions] devis…

TokyuRuby会議06 で english.rb について LT した

今日行われた TokyuRuby会議06 に参加して、english.rb について LT させていただきました! スライドは以下。 今回は english.rb の宣伝ということで、英語でLTをしてみました。とくに英語のLTを求められていない中でそれをするのは少し抵抗がありましたが…

復習用メモサービス revenger をリリースしました

revengerという、復習を効果的にするためのwebサービスを作りました。 僕はよく自分のための学習メモをブログや evernote に書くのですが、書いてから見返すことがほとんどありません。結果、後になって「あれ?こんなの書いてたっけ?」となることが多いで…

Capybara の README 訳を更新した

ちょうど 2 年ほど前にCapybara の README を訳しました。しかし 2 年の間に Capybara も 1.x 系から 2.1 になり、訳の内容が古くなっています。現在の仕様とは矛盾する部分も出ており、今読んだ人は混乱してしまうかもしれません。 ということで最新の内容…

english.rb を作った

というわけで、english.rb という facebook グループを作りました。RubyKaigi に参加して「英語の勉強やらなきゃなー」と思った方は是非ご参加下さい。

nginx で solr のアクセスを制限する

solr(tomcat) のアクセス制限のメモです。 前提 nginx, solr(tomcat), rails アプリが全部同一のサーバに混在してる やりたいこと solr の admin ページにベーシック認証をかけたい solr の検索関連のクエリは rails アプリからのみに制限したい(IP 制限をか…

ginza.rb を始めます

新しい地域Rubyコミュニティ、ginza.rb を始めます。 第0回目のミートアップを 6/18(火) にやりますので、気になった方はぜひ申し込みください! Ginza.rb 第0回 - Ginza.rb 第0回では Rails 4 での新機能をチェックします、次回からは Rails 4 のソースコー…

rubykaigi & rubyhiroba に参加した

RubyKaigi 2013 と RubyHiroba 2013 に参加しました。以下感想をつれづれに。 RubyKaigi RubyKaigi に参加するたびに、もっと勉強しないといけない!という気持ちになります。 英語 まず英語。僕と同じように、英語勉強しなければ…と思ったRubyistも多いので…

rubyhiroba で minitest について LT した

今日行われた RubyHiroba 2013 に参加して、minitest vs rspec というタイトルで LT させていただきました! 半年ほど minitest & rails 3.2 で web アプリ開発をして感じたことを簡単にまとめたものになります。素人の方が Rails & minitest に手を出すのは…

Cells で params や cookies を扱うテストを書く

それなりに大きめなRailsアプリを書くとき、Cells を使うと部分テンプレート単位で controller のようなものを作ることができて、controller の肥大化を防ぐことができます。たいへん便利です。 Cells に対してのテストも普通に書けますが、params や cookie…