Skip to content

Instantly share code, notes, and snippets.

@murayama
murayama / rbenv-ruby2.0.md
Last active December 19, 2015 06:58
Macでrbenvを使ってruby2.0をいれる

Macでrbenvを使ってruby2.0をいれる

RUBY_CONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline`" rbenv install 2.0.0-p247
# -*- coding: utf-8 -*-
# gem 'pry-rails'
# gem 'pry-debugger'
# gem 'pry-exception_explorer'
# gem 'pry-coolline'
# gem 'hirb-unicode'
begin
@murayama
murayama / event.md
Created July 9, 2013 01:16
preventDefaultとstopPropagation

stopPropagation

stopPropagation メソッドは、イベントフローにおいてこれ以上イベントが伝えられるのを止めるために使用します。

preventDefault

preventDefault メソッドを使用するとイベントのキャンセルを通知できるため、そのイベントの結果として通常は実装により実行されるデフォルトのアクションが実行されません。

イベントの伝播

@murayama
murayama / logrotate2s3.md
Created July 9, 2013 01:22
ログローテート時にS3に転送する
$ sudo yum -y --enablerepo epel install s3cmd
$ s3cmd --configure
/var/log/messages {
@murayama
murayama / deploy.rb
Created July 9, 2013 01:29
AWSのelb配下にあるEC2にcapistranoでデプロイする
# -*- coding: utf-8 -*-
require 'aws-sdk'
set :elb_name, "{ELBの名前}"
# 踏み台経由の場合はgatewayを設定する
# set :gateway, "{踏み台サーバーIP or Host}"
set :user, '{ユーザー名}'
ssh_options[:keys] = %w(/home/username/.ssh/id_rsa)
set :use_sudo, false
@murayama
murayama / random.rb
Created July 9, 2013 01:31
rubyでランダムな文字列を生成
(("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a).shuffle[0...32].join
@murayama
murayama / recursive_symbolize_keys.rb
Created July 9, 2013 01:33
rubyでハッシュのキーを再帰的にシンボルに変換する
def recursive_symbolize_keys! hash
if hash.is_a? Hash
hash.symbolize_keys!
hash.values.each {|h| recursive_symbolize_keys! h}
elsif hash.is_a? Array
hash.map {|v| recursive_symbolize_keys! v}
end
hash
end
@murayama
murayama / touch.js
Created July 9, 2013 01:35
jsでタッチデバイスの判定
// pcでユーザーエージェントを偽装されてアクセスされていても、これである程度判定できるはず
function isTouchDevice() {
return ($.browser.mobile && (('createTouch' in document) || ('ontouchstart' in document)) && ('orientation' in window));
}
@murayama
murayama / .railsrc
Created July 9, 2013 01:37
rails newするときのオプションを省略
# rails3.2からrails newでプロジェクトを作成するときのオプションを書いておくことができる
# 実際にプロジェクトを作成するときは`rails new myproject`で下記オプションが勝手に適用される
-T -d mysql --skip-bundle
@murayama
murayama / rails_model_setting_sample.md
Created July 9, 2013 01:41
rails起動時にモデルに対して任意の設定をする

モデルに以下のように、クラス変数を用意し、mattr_accessorでアクセスできるようにしておく
ポイントは、self.setupメソッドのyield self

# app/models/user.rb
class User < ActiveRecord::Base

  mattr_accessor :hoge_setting
 # デフォルト値を設定しておく