zakihayaメモ

RubyとRailsのことが中心

Object#tryでインデクサを対象にする

まずはObject#tryについて def try(method, *args, &block) ・・・ end なんと!ブロックも使えるのか、知らなかった。tryを使うと @object ? @object.name : nil が @object.try(:name) こんな感じで書けるようになります。 モデルのインスタンスを扱う時と…

Railsアプリを作る時の基本設定

自分用にメモGemfile source 'https://rubygems.org' gem 'rails', '3.2.6' # Bundle edge Rails instead: # gem 'rails', :git => 'git://github.com/rails/rails.git' gem 'sqlite3' gem 'mysql2' gem 'haml-rails' # Gems used only for assets and not r…

rails s を実行すると uninitialized constant Syck::MergeKey (NameError) というエラーが発生する

localhost $ bundle exec rails s localhost $ RAILS_ROOT/vendor/bundle/ruby/1.9.1/gems/configatron-2.8.0/lib/configatron/store.rb:324:in `<class:Store>': uninitialized constant Syck::MergeKey (NameError)こんなエラーが出るのでなんだろうなーと思って30分く</class:store>…

fluentdを使ってnginxのログを溜めてみるメモ

まずはローカルのファイルにログをためてみる fluentdインストール td-agentというパッケージを使う。参考 Installing td-agent for Redhat and CentOS / Installing td-agent daemon / Knowledge Base - Treasure Data Platform Support [root@localhost ~]…

ホットコーナーを利用してお手軽に画面をロックする

Mac

WindowsでいうWindowsキー+lショートカットみたいなのがMacにも無いのかなーと思っていたら、ちょっと違うけど方法を発見しました。OSは10.7 Lionです。 システム環境設定で「デスクトップとスクリーンセーバ」を選ぶ スクリーンセーバーのほうを選んで、左…

I18n.tメソッド

今動いているサイトのソースを見たら t 'activerecord.users.name' みたいのがいて、tってなんだろうと思い調べてみた。 どうやらtranslateメソッドの短縮形らしい。 同じようなのでlocalizeメソッドもあるらしい。 I18n.translate "store.title" I18n.local…

Finderにdotfileを表示する方法

「Command」キー+「Shift」キー+「 . 」(ピリオド)を入力すると、 「 . 」で始まるファイルが見えるようになる!

MacからCentOSへ公開鍵認証を使ってSSH接続する

環境 ローカル OS X Lion ホスト CentOS6.2 ローカルでの作業 鍵ファイルを作成する $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/username/.ssh/id_rsa): # Enterを押す Enter passphrase (e…

RSpec::Mocksが少しだけわかったので、忘れないようにまとめておく

用語 テストダブル テストコードの中で別のオブジェクトの代役を務めるオブジェクト メソッドスタブ レスポンスを自由に定義できるメソッド メッセージエクスペクテーション コールされることが保証されるメソッドスタブ テスト対象コード class Statement d…

勉強会初心者のための勉強会(#study4bg) 2012年初春の陣に行ってきました

勉強会初心者のための勉強会(#study4bg) 2012年初春の陣 : ATND粕谷大輔さん(@daiksy)の勉強会についてのお話しと、自己紹介をネタにしてLTをやってみましょうというものでした。 粕谷さんによる講演:「勉強会について」 勉強会に集まる人たちは天上人で…

Gemfileの ~> の意味

Gemfileを見ていたら「gem "thin", "~>1.1" 」という指定が。 ~>ってなんだろうと思い調べてみた。mg ☂. » [bundler]Bunderを使ったGem管理のメモ Most of the version specifiers, like >= 1.0, are self-explanatory. The specifier ~> has a special mean…

remove_methodとundef_method

メソッドを未定義化する時に用いるremove_methodとundef_methodの違い。・remove_method スーパークラスに同名のメソッドがある場合は、そのメソッドが残る。・undef_method スーパークラスに同名のメソッドがあっても、完全にそのメソッドを未定義化する。

cannot rollback - no transaction is activeというエラーが発生する

ある時から急に「cannot rollback - no transaction is active」というエラーが発生するようになった。 それもタイミングが微妙で、あるモデルのレコードを作成する時は発生しないが、更新する時に発生する。何だかわからず調べていたらそれっぽい投稿を発見…

【Objective-C】アラートビューの使い方

OKだけのアラートビューを作成する UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert Test" message:@"OKのみです" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil]; OKとキャンセルのアラートビューを作成する UIAler…

【Objective-C】UIDatePickerの使い方

日付を設定する myDatePicker.date = [NSDate dateWithString:@"2011-01-01 00:00:00 +09:00"]; 設定した日付を読み取る NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease]; df.dateFormat = @"yyyy/MM/dd HH:mm"; myLabel.text = [df st…

【Objective-C】UITextFiledで使いそうなプロパティとイベント

イベント Did End On Exit 編集が終了したとき ※Did End On Exitイベントを使うと、編集が終了した時に キーボードを隠すことができる。 プロパティ Text 文字内容 Placeholder 入力用の薄い説明文 Alignment 文字の配置 Clear Button 入力クリアボタンの有…

【Objective-C】オブジェクトの値を比較する時の注意

演算子==は変数が一致しているかどうかを判定する。 ポインタ変数の場合は、参照先ポインタの値を比較してしまう為、中身が一致していてもNOが返る。オブジェクトの中身で比較する場合は、NSObject.isEqualを用いる。 NSString *a = [NSString stringWithStr…

【Objectice-C】連想配列の使い方

固定長はNSDictionary。 可変長の場合はNSMutableDictionaryを使う。 連想配列を作る NSDictionary *myDict = [NSDictionary dictionaryWithObjectsAndKeys: @"480x320", @"iPhone", @"960x640", @"iPhone4", @"1024x768", @"iPad", nil]; NSDictionary *連…

【Objectice-C】配列の使い方

固定長の配列はNSArray。 可変長にする場合はNSMutableArrayを使う。 配列を作る NSArray *myArray = [NSArray arrayWithObjects: @"A", @"B", @"C", nil]; 配列の個数を取得する NSLog(@"%d", myArray.count); 番号で指定して読み出す [myArray objectAtInd…

bashのコマンド

bashでコマンド実行 ↓ 権限無いと怒られる ↓ 上キー押す ↓ 左キーを押しっぱなしにして先頭に行ってsudoをつけて再実行なんていうことがあったので、カーソルを先頭に持って行けるコマンドが無いか調べてみた。 あるよねえ、当然。http://linux.kororo.jp/co…

Rails3コマンドのまとめ

新規アプリケーションの作成 rails new [アプリケーション名] 例)rails new TestApp WEBrickの起動 rails server

LionでCコンパイラが見つからない?

Mac

Rubyの最新版をインストールしようとすると、Cコンパイラが無いみたいなエラーが。 ログを見てみると、command gcc-4.2 not fountみたいなことが出ている。 which gcc-4.2では当然見つからず。 こちらを参考にgccをインストール Mac OS X Lion に gcc-4.2 を…

Box.netで50Gの容量がずっと使えるキャンペーン中

Box.netという恐らくDropboxみたいなものだと思うのですが、 iPhoneかiPadでBox.netのアプリをインストールして登録すると、 もれなく50GBがもらえるキャンペーンをやっているようです。The Box Blog » iPad and iPhone Users Get 50 GB FREE. Get Your #Box…

GMailに送られて来た画像をPicasaに保存する

GMailをメインに使っていると不便に思うことが1つ。 メールに添付されてきた画像をPicasaにアップすることができない。 同じグーグルのサービスなんだからあるはずだろうと結構探してみたんだけど、結局見つからず。ちなみに今は画像を一回ローカルに保存し…

Windows7上でWindows8を動かしてみる

Windows8のDeveloper版がダウンロードできるようになったとのことなので、早速入れてみます。マイPCにはVMWareが入っているのですが、どうもVirtualBoxが良いようなので、合わせて入れてみます。 VirtualBoxのインストール VirtualBox Downloads こちらから…

はじめてのGoogle App Engine for Java

Eclipseの取得 こちらからPleiades(Eclipseを日本語化したもの)をダウンロードしてインストール とりあえずJava版で Google Plugin for Eclipse のインストール Eclipseを立ち上げて、ヘルプ→新規ソフトウエアの追加を選択 作業対象に、http://dl.google.c…

Chrome+HTML5 Conference(HTML5マークアップの心得と作法)メモ

◎初心 ・HTML5をやる時は一度頭をリセットする。 ・タグの数は108。新しく開発されたのは24。 ・HTML5ではもともとある要素も再定義されているので注意。 混乱しないように再確認しておくこと。 ・再定義された要素の例 - <small> 細目(小さいとは限らない) </small>…

すき家の「ニンニク牛丼」を食べてみた

すき家でニンニク牛丼というのが出ていたので、早速食べてみた。 「たっぷりの刻みニンニクとシャキシャキのニンニクの芽を特製うま辛ダレで和えた、パンチのある一品」とのこと。写真を撮ろうと思っていたのだが、食べるのに夢中になって忘れてしまいました…

Safari5.1でEvernoteのWebclipプラグインが使えない

Mac

Evernoteの環境設定にある、「Safariクリッパープラグインを使用」にチェックをしても Safari側に一向にボタンが表示されない。どうもSafari5.1から内部仕様がだいぶ変わったらしく、まだプラグインができてないそうな。 できるまでは下のページの「Drag thi…

日本亭のからあげ

Yahoo知恵袋か何かで「からあげといえば日本亭」というのを見かけ、 店舗を調べたら西新井にお店があったので行ってきた。デカ3弁当(500円)というからあげ3つ入りの弁当を購入。 なるべく早く食べたかったので、西新井アリオ横の公園にて実食。 横か…