u16suzuの blog

日々学んだことのメモブログです。

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

javascript の書き方についてモジュールパターンとオブジェクトリテラルパターン

オブジェクトリテラルパターンは手軽な反面、オブジェクト指向でコードをかけない。 モジュールパターンは隠蔽がしやすいので、オブジェクト指向でコードをかける。 オブジェクトリテラルパターン var Person = { name: 'kazuaki', age : 36, init : functio…

layoutの中で複数の yield を使う

viewでcontent_forメソッドを使用すればよい。multi_layout.html.erb (layout) <%= yield :extend_menu %> <%= yield %> <%= yield 'extend_menu' %>multi.html.erb (view) 文字列とシンボルは区別される。 <% content_for :extend_menu do %> header <% end…

railsのビューに関してまとめ

rails の view に関する なかなか覚えきれない事柄を記述しておきます。 erb のコメントの書き方 <%# erbのコメントその1 %> <%= =begin erb のコメントその2 =end %> concat 出力するコードをスクリプトブロックの中に埋め込む <% if 2.odd? concat label_t…

Method#source_locationで メソッドの定義場所を探す

Method#source_location が便利だと @ikm さんに教わったので使ってみた。method(:method_name).source_location とすると, メソッドを定義しているファイル名と行数を返してくれる。 #hoge.rb require './fuga' def mel; end p method(:mel).source_locatio…

unix command

ls -t タイムスタンプ順でソート -u アクセス時間でソート -r 逆順で表示 -R ディレクトリを再帰的に表示 df (display free disk size) df -h du

ローカルにないリモートのブランチをもってくる

ローカルにないリモートのブランチをもってくる。 g fetch --all g checkout -b b_name origin/b_name

surround vim の使い方

vim

surround vim は括弧などの囲み系の入力時に便利な vim プラグインです。 使用頻度が高そうな 機能のキーマップをメモしておきます。 機能 キーマップ 備考 選択範囲を囲む (ビジュアルモードで範囲選択後) s 複数行を選択するとインデントされる 1単語を囲…

ブロック引数を使う場合の haml のシンタックスエラー

ブロック引数 なのに、インデントができていないこと が原因 以下の例で発生する。 = form_for @book do |f| # ブロック引数 -# この行でインデントなし以下のエラーが全て発生する。 syntax error, unexpected ')' unterminated string meets end of filesy…

Ruby on Rails Naming Conventions (Rails の命名規則というか命名規約というか)

いわゆる Railsの基本理念の1つ CoC (Convention over Configuration, 設定より規約) の規約部分です。Railsではファイル名、クラス名などを規約通りに書かないと動きません。(そして rails vim でも Rcontroller book とかやって怒られる。ただしくは Rcont…

エラーのファイル出力

>> /tmp/err 2>&1

記号の読み方メモ

~ チルダ ^ カレット ( ) パーレーン, parenthese [ ] ブラケット, bracket, square bracket { } ブレース, カーリーブラケット, カール, curl, curly bracket, brace

pow の使い方

pow のアクセスログの場所/Library/Logs/Pow/apps/再起動#touch rails_root/tmp/restart.txt

mac のディスク使用量を確認する

# sudo du -h -x -d 1 /

curl で postやputメソッドのテスト

macにインストールされているcurl コマンドで、postやputメソッドを発行できる。"-d" オプションで、パラメータを渡せる。 curl http://192.168.0.1:4000/hoge.json -X PUT -d "user_id=123"&で区切ることで複数のパラメータを渡すも可能。 curl http://192.1…

Objective-Cのエラーメッセージメモ

unrecognized selector sent to instance 不正な引数が オブジェクトに渡された

gem

warekky: 年号 meta_search: 検索機能をつける dalli: High performance memcached client for Ruby

Xcode4.3のシュミレータの場所

Xcode4.3のシュミレータにインストールされるファイルの場所 以下のDocuments に保存されている。~/Library/Application Support/iPhone Simulator/5.1/Applications/BUNDLE_ID/

Objective-Cでオブジェクトのクラスを調べる

オブジェクトのクラスを調べる。 NSLog( @"%@", [@"hoge" class]);出力 2012-06-30 23:04:29.474 fuga[1320:10703] __NSCFConstantString

Objective-C で Method定義

メソッド定義とその呼出し。 ここでは、viewCon.h and .mを編集する hogeController.h (void)hello; (void)al: (NSString*)str; hogeController.m -(void)hello{ printf("hello world\n"); } -(void)al:(NSString *)str{ UIAlertView *a = [[UIAlertView all…

xcode のショートカットキー

Cmd + shift + O クラス名で『素早く開く」Ctrl+Cmd+Up/Down .hファイルと.mファイルの切り替えCtrl+Cmd+Left/Right 以前/次のファイルをひらくCmd+任意のシンボルをクリック クリックしたシンボルが定義された所を開くCmd+[ インデントを上げるCmd+]…

jsの setInterval で not defined Error

js

以下のように書いたら大丈夫でした。 setInterval( countDown, 1000 ); function countDown(){ if(t>0) t--; if(t==0){ $('#counter').html('Go!' ); } else{ $('#counter').html( 'あと'+ String( t) + '秒で移動します'); } }

AbstractController::DoubleRenderError

Rails で AbstractController::DoubleRenderError が出た時の対処法。 2回render しちゃってるので、 and return をつけて、終了させる。 redirect_to(...) and returnエラーメッセージに書いてあります。親切。

Hamlについて

タグをエスケープしない書き方。 !="a<br>b"

ubuntuでgem install mysql2 したら失敗した。原因は mysql client が64bit版で なかったこと。以下のコマンドで成功した。 sudo apt-get install libmysqlclient-dev #(mysql development headers) sudo gem install mysql2 -- --with-mysql-dir=/etc/mysql…

rubyっぽい書き方。

mapをつかったrubyっぽい書き方をみなとruby会議の発表で知りました。 user_names = [] users.each do |u| user_names << u.name end↑これが、↓こう書ける users.map( &:name )

ruby で外部イテレータ

外部イテレータ #minatork01 で @nagachikaさんの発表で知りました。 呼ばれるたびにカウントアップしていくので、デバッグのときに使えそう。 >> e = (0..2).to_enum => #<Enumerator: 0..2:each> >> >> e.next => 0 >> e.next => 1 >> e.next => 2 >> e.next</enumerator:>

Passenger

tmp/restart.txt を作ると再起動

therubyracerのインストールに失敗

エラーはこんな感じ。 Building native extensions. This could take a while... ERROR: Error installing therubyracer: ERROR: Failed to build gem native extension. /Users/u16suzu/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb checking for main…

vim usage memo

tcomment_vim Comment out with gc in visual mode. line visual mode input V

telnet で HTTP response header, body を確認する。

HTTP response の ボディ部分はブラウザからソースを表示することで、手軽に確認できるのですが、ヘッダ部分の確認はchromeのデベロッパーツールやFirebugを使用しなければならず、少し面倒です。今回は、コマンドラインから手軽にレスポンスヘッダを確認す…