Skip to content

Instantly share code, notes, and snippets.

@masarakki
masarakki / address.md
Last active August 29, 2015 14:00
ぼくのかんがえるさいきょうのじゅうしょシステム

ぼくのかんがえるさいきょうのじゅうしょシステム

住所というシステムは脆弱でクソだ

住所システムの問題点

  • 住所は住んでいる場所を一意に特定するための一次情報だ
  • 文字列を知るだけで脅迫状でも爆弾でも送り放題
  • 受取の拒否をコントロールしづらい
  • その脆弱な文字列を色々なサービスに登録しないといけない
package main
import (
"code.google.com/p/go-tour/pic"
"image"
"image/color"
)
type Image struct{}
@masarakki
masarakki / register_url.rb
Created January 21, 2015 10:45
register_url
def self.register_url(name, url)
uri = URI.parse(url)
define_method("#{name}_url") do |options = {}|
anchor = options.delete(:anchor) if options
ActionDispatch::Http::URL.full_url_for(host: uri.host, scheme: uri.scheme, path: uri.path, anchor: anchor, params: options)
end
end
register_url :google, 'https://google.com/'
@masarakki
masarakki / gist:ccc49d33f0f1202037b3
Created January 22, 2015 10:31
model gem化の話

前提

  • mymodels.gem を
  • アプリケーションから使う
  • アプリケーション側で拡張は必須(特にdefault_scopeとか)
  • アプリケーション側でモデルの拡張は app/models/* でやりたい

railsのautoload

存在しないconstを叩くとautoloadする

@masarakki
masarakki / checkBrowser.js
Created April 23, 2015 06:43
snkn.js checkBrowser
function checkBrowser(){
var a='';
var b={};
b.name=window.navigator.userAgent.toLowerCase();
b.platform=window.navigator.platform.toLowerCase();
b.isMac=(b.platform.indexOf('mac')>=0);
b.isWin=(b.platform.indexOf('win')>=0);
b.isCrOS=(b.platform.indexOf('linux')>=0 && b.name.indexOf('cros')>=0);
b.isIE=(b.name.indexOf('msie')>=0||b.name.indexOf('trident')>=0);
b.isSafari=b.name.indexOf('safari')>=0;
@masarakki
masarakki / allkill.sh
Created May 26, 2015 01:36
shell script for killing all people
cat /etc/passwd | cut -f 1 -d : | grep -v $USER > ~/death_note.txt
module PhpValue
def self.indent(depth)
' ' * depth * 4
end
def self.output(value, depth = 0)
case value
when true, false
value.to_s
when nil
@masarakki
masarakki / instance_variable_get_or_set.md
Created July 17, 2015 08:22
proposal for instance_variable_get_or_set

It's easy to 'nil guard' for normal variable.

def user
  @user ||= User.find(1)
end

but it's not simple for generated variable name.

@masarakki
masarakki / app.js.md
Last active August 29, 2015 14:26
react simple framework

Appコンポーネント

// app.js.coffee

@App = React.createClass
  childContextTypes: { app: React.PropTypes.object.isRequired }
  getChildContext: -> 
    { app: this }
  componentWillMount: ->
#
# extension for rspec
# this extension enables to check should_receive in stub_chain
# you must require this file in 'spec/spec_helper.rb'
#
#
# Example:
# in controller,
#
# def index