Skip to content

Instantly share code, notes, and snippets.

@murayama
murayama / bind.md
Created July 9, 2013 01:48
javascriptのbind関数の使い方

javascriptのbindの使い方

function Parson (name) {
  this.name = name;
}

Parson.prototype.say = function () {
 console.log(this.name);
@murayama
murayama / tilde.md
Created July 9, 2013 01:44
javascriptのチルダ演算子

javascriptのチルダ演算子

javascriptの「~」チルダ演算子はビット反転演算子で、整数をビット反転させると符号を反転させて1引いた数になる

console.log(~-4); // 3
console.log(~-3); // 2
console.log(~-2); // 1
console.log(~-1); // 0
console.log(~0); // -1
@murayama
murayama / js-getter-setter.md
Created July 9, 2013 01:43
javascriptのgetterとsetter

javascriptでgetterとsetterを使う

__defineGetter____defineSetter__
IE6,7では実装されていない

function User () {
}

User.prototype.__defineGetter__('name', function () {
@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
 # デフォルト値を設定しておく
@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 / 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 / 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 / logrotate2s3.md
Created July 9, 2013 01:22
ログローテート時にS3に転送する
$ sudo yum -y --enablerepo epel install s3cmd
$ s3cmd --configure
/var/log/messages {
@murayama
murayama / event.md
Created July 9, 2013 01:16
preventDefaultとstopPropagation

stopPropagation

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

preventDefault

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

イベントの伝播

# -*- coding: utf-8 -*-
# gem 'pry-rails'
# gem 'pry-debugger'
# gem 'pry-exception_explorer'
# gem 'pry-coolline'
# gem 'hirb-unicode'
begin