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

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

2013-01-01から1年間の記事一覧

デザインビギナーズミートアップ第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…

p4d 温泉ハッカソンを開催した

@satococoa さんが「p4d で温泉ハッカソンやりたいけどだれか主催しませんか」と言っていたので手を上げて主催してきました。ちょうど、そろそろまた合宿やりたいと思っていた時期だったので渡りに船。 合宿場所は去年の別の合宿でも使ったはじめのいっぽ。…

さくらVPSのサーバで https のリポジトリを git clone する

これまで、さくらVPSのサーバ(CentOS 6.3) で、なぜか https のリポジトリから git clone ができませんでした。他のプロトコルを使えば問題なく clone できるのですが、なんとなく気持ち悪い。今日ようやく解決法が分かったのでエントリとして残しておきます…

rack-ssl で http と https を混在させようとして諦めた

表題の通りのメモ。rails で一部のパスだけ http 、他は https にしたいなーと思ってざっくり調べたのでした。 調べたこと Rails 3 では config.force_ssl = true としたら rack-ssl が使われる Rails 4 では ActionDispatch::SSL が使われる ソース見た感じ…

coffee script 1.4 では動くけど 1.5 では動かないコードについて

coffee script のバージョンを上げたらテストがこけるようになりました。問題となったのは下記のようなコード。これは 1.4 では動きますが 1.5 だとコンパイルエラーになります。 func 'arg' hoge: 'fuga' 関数に渡す引数が複数で、かつ改行後にオブジェクト…

Devise でメールアドレス変更時にも確認メールを出す

有名なRails用認証プラグインである devise は、機能毎にモジュール化されており必要な物だけを選んで使うことができます。例えば Confirmable というモジュールを使うと会員登録時に確認メールを飛ばすことができます。ただ、デフォルトではメールアドレス…

ransack という検索用の gem について

ransack はちょう便利な検索用 gem です。パラメータの name 属性で検索条件を定義できるので、多数の検索項目があってスクラッチで検索ロジックをつくるのがしんどいギョームwebアプリなどで絶大な威力を発揮します。 ただ一つの問題はドキュメントがとても…

第0回 Hack Design 読書会 を開催した

水曜日に 第0回 Hack Design 読書会 を開催しました。 第0回 Hack Design 読書会 - connpass なんで第0回なの? connpass の方にも書いてますが、Hack Design は 分量が多い! 内容が本格的(なので難しい)! 英語! なので、進め方をきちんと考えた上でやら…

rake_shared_context を 0.0.2 にバージョンアップ

以前作った Rspec で rake タスクをテストする用の gem に初の pull request が来たので取り込んで 0.0.2 にバージョンアップしました。 これまで(0.0.1)は、テスト対象の rake ファイルのみを読み込む仕様にしていたため、テスト対象外のファイルに定義され…

Rails 4.0 と bundler install --binstubs について

Rails 4.0.beta1 でアプリ作ってみようとして、途中で bundle install --binstubs としたら、なぜか rails generate などのコマンドが効かなくなってしまいました。、これは、Rails 4.0 が生成する bin/rails を bundler がオーバライドしてしまったことが原…