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

大容量10,000mAhのモバイルバッテリー届いた

スマホのバッテリー少ない。画面輝度をあげたら昼には50%をきってしまう。 外部バッテリーは必要だなーということで買った。 このバッテリーは、iPhoneを4回以上充電可能なバッテリーだそうで。 タブレットPCにも対応。充電口が2つなので、同時2台充電も可…

MacBook ProのHDD320GBをHDD1TBに交換した

今回交換したMacBook 13-inch, Early 2011 買ってきたHDDに現行のパーティションを移す 参照 裏蓋とった ターゲット 使ったドライバー 外した つけた 使ったHDD 使った工具 感想 交換作業自体は難しいところはなかったけど、現行HDDから新HDDにコピーする操…

自分がよく使うiPhoneアプリ

一週間に最低1回は起動しているアプリを書く。 GlassComic (有料) zipで固めたjpgやpdfをインポートできるビューアー。 お手軽。 はてなtouch 毎朝チェックしている。必須。 友達を探す。 身内に位置情報を公開する時に使ってる。 dropbox 略 支出管理 (有料…

Simple_formを使ってみた

ソース https://github.com/plataformatec/simple_form/ gemをインストール gem 'simple_form' bundle install TwitterBootstrapを使う場合は オプションを付ける $ rails generate simple_form:install --bootstrap exist config create config/initializer…

その10

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

その9

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

外部キーにvalidates_presence_of検証をつけた関連モデルのフィクスチャーを定義する

外部キーにnil禁止検証を設けたらすべてのspecが落ちた。その時の備忘録。 環境 factory_girl 3.4.0 Rails 3.2.3 ruby 1.9.3p194 specが落ちた原因 FactoryGirlのフィクスチャー定義で、子の外部キーがnilで生成されていたため検証に引っかかっていた。 修正…

empty?とblank?とnil?

環境 ruby 1.9.3p194 Rails 3.2.3 空文字列 "".empty? # true "".blank? # true "".nil? # false 空配列 [].empty? # true [].blank? # true [].nil? # false 空ハッシュ {}.empty? # true {}.blank? # true {}.nil? # false 空Proc Proc.new{}.empty? # NoM…

フォームヘルパのcollection_selectとselectどちらを使うか悩んだ

環境 ruby 1.9.3p194 Rails 3.2.3 DBにあるレコードをセレクトボックスに出力したいと思って調べた時の備忘録。 select要素を出力するには以下のフォームヘルパメソッドを使える。 select collection_select selct "選択ボックスを生成。" select要素を作る…

新規アプリを作るの手順

備忘録 Gemfile gem 'rails', '3.2.3' gem 'kaminari' gem 'omniauth-twitter' gem 'omniauth' gem 'rosruby_msgs' #travis ci gem 'rake' #travis ci gem 'yard' #travis ci group :development, :test do gem 'launchy' #save_and_open_page gem "pry" #ra…

不十分な睡眠は心臓血管系に明らかに悪い影響を及ぼす

現代人の睡眠時間は、ここ最近徐々に短くなってきているという。2001年には8時間以上の睡眠を取る人は全体の4割近かったが、現在では3割を切ることが最近の調査でわかった。一方で睡眠時間と脳卒中になるリスクの相関性がアメリカで発表されたが、6時間に満…

その8

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

その7

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

その6

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

その4

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

その5

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

正規表現を使って複数の値を抜き出す

の備忘録。 コード /(\d{2})-(\d{2})-(\d{3})-(\d{2})/ =~ "12-34-567-34" puts $0 puts $1 puts $2 puts $3 puts $4 結果 regular.rb 12 34 567 34 メモ "( )"を使うとグルーピングできる。 "*?"で0回以上最短マッチ。 "\D"は数字以外。 "\d"は数字。 "{3}"…

その3

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

その2

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

その1

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

関連名を変える

概要 関連付けているテーブルから、関連するレコードを呼ぶ時にデフォルトだと @member.member_image のようになる。すごくださいし、ActiveRecordっぽくないので以下のように呼び出したい。 @member.image 時の備忘録。 環境 Rails 3.2.3 ruby 1.9.3p194 (2…

nilの時実行しない とか

備忘録 nilの時実行する a ||= "initizloize" a ||= "" p a 変数aがnilの時に代入が行われるので、出力は"initizloize"となる。 nilの時実行しない p box = "ice" if nil 代入は行われないので、出力はnilとなる。 nilの時こっちを実行 p box = nil ? "it's …

namespaceを使ったURLを作る

管理者ページだとかには以下の様に"admin"階層がある。 http://localhost.com/admin/post/new/ この階層の作成方法のメモ。 環境 ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.3.0] Rails 3.2.0 rvmのgemsetを作成する $rvm use 1.9.3-p194…

モデルの関連付けしたプロジェクトを作った時のメモ

チュートリアル通りにやるとうまくいくのだけど、 自分で作ると関連付けされなくてだいぶ詰まりまくったのでその時のメモ。 詰まったところ generatorに渡すモデル・コントローラー名の単数系・複数形 作るもの ブログでありがちな記事とコメントの1対多の関…

配列要素の合計を求める書き方

悪い score = [10 , 20 , 30 , 40 ] sum = 0 score.each do | v | sum += v end p sum 普通 score = [10 , 20 , 30 , 40 ] p score.inject{ | sum , v | sum + v }

Array#detect調べた

ブロック内で最初にtrueになった要素を返す。 score = [10 , 20 , 30 , 40 ] p score.detect { | v | v > 20 } 30

ブロックとクロージャ

Rubyのブロックとは ブロックっていうのは引数とは別で、命令の塊です。以下のようなものがブロックです。 do end { } do~~~endは複数行、{ }は一行の時に使うことが慣習としてあるようです。ちなみにブロックだけでは、存在することができません。 "文字列…

Array#mapを調べた

ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.3.0] eachと何が違うのかわからないし、mapって普段使わないのでちょっと調べてみた。mapというのは、『(レシーバの)配列の"各要素"をブロックの中の最後の値に置き換える』と認識した。 配列の…

モンキーパッチ

ソースコードに手をいれず振る舞いを変える手法、モンキーパッチって本当にできるのか確かめたときのメモ。 Rails3系だと、APP_ROOT/config/initializersにパッチを入れる。 patch.rb class UsersController < ApplicationController def index raise "huge"…

Gitむずい

git

githubにpushとpullしまくった時のメモ。 困ったときにすること $gitk 意味わからないこと git pull --rebaseするにはワーキングツリーとインデックスとHEADを同じにしないといけない。(.gitignoreさん活躍) git pull --rebaseするとHEAD-1が上書きされてる…