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

deviseでユーザ新規登録させない

devise (3.2.4)ユーザレコードはseedとかから取り込むので、利用者には新規登録させないみたいなケース. controller app/controllers/registrations_controller.rb class RegistrationsController < Devise::RegistrationsController def new redirect_to '/…

seach_formオブジェクトのテスト

検索項目が多い検索フォームを実装する時は、form_forヘルパーとActiveModel::ModelをMixinしたオブジェクトを使ってると思う。 (こういうやつ→http://kazuph.hateblo.jp/entry/2012/10/06/222831) その検索フォームで使ってるオブジェクトのテストを書いて…

vim

vim

Unite.vimを使い始めた。 今まではNerdTreeを使っていたんだけど、毎回ツリーを辿るのめんどさくなったと、バッファをもっと有効に使いたさが高まったため。 NerdTreeはツリーを俯瞰できるので併用って感じになる気がしている。 ちょっと触った感じなんかい…

ネームスペース付きのモデルをfixutureで読み込ませる

Rails4.1.4 FactoryGirlはテストデータを作成するコストは低いけど実行時が超遅い。 なので最近は、読み込みだけのテストならfixtureを使う派になってきていまぁす。本題。 特定のタグが付いているレコードを返すモデルのテストを書いてて、 その特定のタグ…

remove_indexでnameオプションが無視される

https://github.com/mbleigh/acts-as-taggable-onacts-as-taggable-onで使うテーブル名に、プレフィックを付けてmigrate:redoやったらdownの時にエラーになった。 Index name 'index_momiji_taggings_on_taggable_id_and_taggable_type_and_context' on tabl…

PolymorphicなTableに無関係なモデルからhas_one Associationを定義する

analysesテーブルにanalyzable_idとanalyzable_typeという項目があって、 analyzable_typeには、'Event'と'Spot'という値が入っている。 hasする側からは↓と定義すれば、@event.analysisというふうに呼べる。 class Event < ActiveRecord::Base has_one :ana…

gemでよくある設定内容を上書きする書き方

[14] pry(main)> RUBY_VERSION => "2.1.0" module Rspec def self.configure(&block) yield(config) end def self.config @config ||= Config.new end class Config attr_accessor :verstion, :unko def initialize @verstion = '2' @unko = 'yamada' end en…

SSDの容量増やしたよ

先日、MacBookRetinaがマイナーバージョンアップしたよね。 200MHz高速化!Haswell Refresh版のMacBook Pro Retinaが登場内容は、200MHzとメモリが13インチで16GBを積めるようになったとかそんな感じだったはず。 メモリ16GBのマシンが欲しいと思ったけど、…

うどんはじめました

上京してから自炊している。 社会人1年目の時は、モヤシと焼きそばで飢えを凌いでた。味的な意味でひどかった。 モヤシは安いけどまずい。炒めるとすぐ汁出る。4日くらい放置すると汁を出して青臭くなる。 当時リーマンショックの影響を受けた中小独立系SIer…

capistrano2を3にした

rails (4.1.2) capistrano (3.2.1) capistrano-bundler (1.1.2) capistrano-rails (1.1.1) capistrano-rvm (0.1.1)cap2とcap3でデプロイコマンドは若干違ってる。(3は:migrationsがいらない。) 今自分は2と3を使っているプロジェクトをそれぞれやっており、 …

手でパフォーマンスモニタ

ロードアベレージ uptimeコマンド。 $ uptime 19:58:08 up 17:30, 1 user, load average: 0.03, 0.04, 0.05数字が大きいとたくさん仕事している。 CPU topコマンド。 コマンド起動中にtキーを押すと一部の情報がトグルしたりする。できること多そう。 デフォ…

データ解析の本を読んでみた

Head Firstデータ解析という本を先週くらいに読み終わった。Head Firstシリーズらしくいい感じの内容だったと思う。 内容的には広く浅くな感じ。章ごとに内容が(だいたい)独立しているのでだるくなった場合に読み飛ばしても大丈夫な安心設計になっている。 …

サーバかえた

少し前までぺろぺろあんてなを某レンタルサーバで動かしていたんだけど、サーバがまともに稼働していなかったので一昨日くらいにVPSへ戻した。 サーバがまともに稼働していない 先週の21時あたりからぺろぺろあんてながずっと503を返していることがあって調…

変更を捨ててバッファを読み直す

vim

gitでブランチ変えりしててとか、オープンしているファイルに変更があった場合にバッファを保存しようとすると次のようなメッセージが出るはず。 警告: 読込んだ後にファイルに変更がありました!!! 本当に上書きしますか (y/n)?古い状態で上書きしてしまった…

30億のデバイスで走る

開発初期はdatabase dropとcreateしてデータベースを変更しがちだけどオーバーヘッドが大きい

本番リリースする前のアプリを開発していて、カラム追加とか変更をしたくなった時 (カラム変更するマイグレーションファイルをジェネレイトしないで) create_tableを書いてるマイグレーションファイルを直に修正して $ rake db:drop; rake db:create; rake d…

グラフのX軸で使う感じの連続した日付の配列を返す

Rails4.1Date#beginning_of_monthはactive_sucpportとのこと。 [140] pry(main)> (Date.new(2011, 1, 1)..Date.new(2013, 1,1)).map(&:beginning_of_month).uniq.map{ |x| x.to_s.match(%r!\d{4}-\d{2}!).to_s } => ["2011-01", "2011-02", "2011-03", "2011…

金額入力フィールドにカンマを自動挿入する

https://github.com/randoum/autonumeric-rails キー入力毎にカンマ入れてくれるやつ。サーバに送信する時はカンマ抜いてくれてるっぽい。 Gemfile gem 'autonumeric-rails' js //= require jquery //= require autonumeric View <%= f.text_field :field, d…

情熱と開発

勤怠管理システム、常になぜこうなるのかわからないUIでイライラするけれど、一体誰が勤怠管理システムを作る仕事をたのしく情熱を持って開発できるかを想像するとつねに投げやりな完成度にも納得できる— ku (@ku) 2014, 7月 3今会社で勤怠管理システム的な…

Arelデビュー

Rails4.1ArelはActiveRecordは中で使ってるライブラリ。詳しくはしらん。 ActiveRecord使ってるのになんで内部のライブラリを使わないといかんのかとか今まで必要になったことがなかったので使ってなかったけど今回は条件をorで繋げたくなったので仕方なく使…

Raspberry Piのケース買ったよ

Pi Tin for the Raspberry Pi - Clearボートをしっかり固定してくれるので、まったくぐらつきがなくてとてもよい。 ケースから外しにくいので、ケースから外す事が多い人にとっては不便な感じがする。 また、ヒートシンクもついてくのでお得感がある。 つい…

レンタルサーバーが再起動したらアプリケーションを起動して欲しいです

gehirn rs2というレンタルサーバでRailsアプリケーションを公開しているのですが、 たまにOSの再起動があるようで、自分のアカウントで立ち上げているプロセスが全部消えていることがある。OSの再起動後、自分のアプリケーションが起動していて欲しい。 前に…

(active_adminで)strong_paramsに*User.column_namesを使ってエラー

active_adminデビューしました。 rails4からマスアサインメント脆弱性の対策である、strong_paramsがデフォで入ってます。 なので、controller周りを使うライブラリ(deviseとかactive_adminとか)には、どの項目をブロックするのか通すのかを明示しなくていけ…

acts-as-taggable-onでタグが登録されていないレコードを返す

acts-as-taggable-on (3.2.2) rails (4.1.1) Word.where.not(id: Word.joins(:taggings).uniq)

geokit-railsを使って距離で絞りながら距離でソートする

緯度経度から距離を計算するgeokit-railsの使い方rails (4.1.0) geokit-rails (2.0.1)withinメソッドを使えば距離で絞れるけど距離で並ばない。 by_distanceメソッドを使えば近い順になるけど距離で絞れない。 みたいになってハマってた。geokit-railsのREAD…

development環境でAssetsPrecompileを有効にすると捗る

rails (4.1.0) 最近のマイブームはdevelopment.logをtailで垂れ流しながらコード書くこと。 こっそりwaningとか意図通りにパラメータが渡っているのかとかすぐ確認できるので結構便利。デフォの設定をだと、development.logにはjQuery周りの配信でログが汚れ…

Lazy Load Plugin for jQuery で一部ページにだけ遅延読み込みを無効にする

http://www.appelsiini.net/projects/lazyload公式ページにトリガーを任意のイベントに設定できると書いていたのでloadと書いたら遅延ロードが無効になった。 $("img.lazy").lazyload({ event : "load" });

良い話を聞いた

http://githubkaigi.org/ に行ってきた。全部とてもよかった。また、昼からのスタートなので昼ご飯の時間を潰す必要ないとかでとても楽だった。Atomの設計思想の話もよかった。ジャバスクリプトから逃げてるマンなのでこれを機会にAtomへとか少し考えていた…

すごくつらい思いをした

[27] pry(main)> params => {:foo_text=>"", :hoge_text=>"hoge"} [28] pry(main)> (params[:foo_text] || params[:hoge_text]).present? => false キーfoo_textとキーhoge_textのどちらかに値があればtrueを返すコードを書いていたんだけど、falseしか返え…

パーティションテーブルを表示する

パーティションテーブルとは、ディスクのパーティション設定が書かれている領域。 このテーブルの通りにパーティションきるらしい。ちなこの領域は、ディスクの先頭にあるMBRにあるようですだ。 $ sudo /sbin/fdisk -l /dev/sda