Skip to content

Instantly share code, notes, and snippets.

@yoppi
yoppi / Makefile
Last active August 26, 2015 08:49
AWS lambda甩のnodeスクリプトをビルドするやつ、の比較
build: copy.js deps
zip -r copy.zip copy.js node_modules > /dev/null 2>&1
deps:
npm install
.PHONY: zip deps
@yoppi
yoppi / fn.js
Created August 27, 2015 02:18
jslint結構良い
'use strict';
var fn = function (hoge, fuga) {
console.log(hoge);
};
// > jslint --indent=2 fn.js
// fn.js
// #1 Unused 'fuga'.
@yoppi
yoppi / time_zone_test.rb
Last active August 29, 2015 13:57
Thread safe
worker_num = 10
workers = []
(1..worker_num).each do |i|
workers << Thread.new do
loop {
sleep rand(10)
puts "worker[#{i}]: #{Time.zone}"
Time.zone = "Asia/Tokyo" if i == 1
}
@yoppi
yoppi / ignore_4byte_character.rb
Created April 22, 2014 01:58
Ignore 4byte character
str = "🎵わーい🎵"
ret = ""
str.each_char { |s| ret += s if s.bytesize < 4 }
puts ret
@yoppi
yoppi / auth_controller.rb
Created May 15, 2014 07:50
Twitter OAuth
class AuthController < ApplicationController
OAUTH_SITE = "https://api.twitter.com"
REQUEST_TOKEN_URL = "https://api.twitter.com/oauth/request_token";
AUTHORIZE_URL = "https://api.twitter.com/oauth/authenticate";
ACCESS_TOKEN_URL = "https://api.twitter.com/oauth/access_token";
CONSUMER_KEY = "xxx"
CONSUMER_SECRET = "xxx"
before_action :consumer, only: [:twitter]
@yoppi
yoppi / gen_hash.rb
Created August 12, 2014 01:24
Hash値を生成するやつ(64進数)
#
# SecureRandomでのHash値生成
#
# 1000万回で衝突しない
#
require 'securerandom'
hs = {}
10000000.times do |i|
@yoppi
yoppi / oop_15-1_15-2.md
Last active August 29, 2015 14:05
オブジェクト指向入門 - 15章 1〜2

15章 多重継承

  • 継承をより完全なものにするには複数の親を持てるように拡張する必要がある
    • 抽象化することが目的

15.1 多重継承の例

15.1.1 導入例として使うべきでないもの

  • 大学システムのモデルにおけるTAの例(生徒であると同時に先生でもある)は多重継承の入門例としてはふさわしくない。
@yoppi
yoppi / oop_17_1_3.md
Last active August 29, 2015 14:06
オブジェクト指向入門 - 17章 1〜3

17章 型付け

以下の効果が、静的型付け(typing)によってソフトウェアにもたらす

  • 信頼性の向上
    • システムがダメージを受けてしまう前にコンパイラなどのツール群で食い違いが起きないようにする
  • 可読性の向上
    • 顧客システムの作成者や開発しているソフトウェアの未来の管理者など、プログラムを読む人たちに正確な情報を提供する
  • 生産性の向上
  • 型情報のおかげで優れたコンパイラは効率の良いコードを生成することができる
@yoppi
yoppi / poller.go
Created September 21, 2014 12:25
Webサイトを定期的にポーリングするやつ
package main
import (
"log"
"net/http"
"time"
)
const (
numPollers = 2
@yoppi
yoppi / app.rb
Last active August 29, 2015 14:06
sinatraでsidekiqを使う
require 'sinatra/base'
require 'json'
require 'mysql2-cs-bind'
require 'digest/sha2'
require 'dalli'
require 'rack/session/dalli'
require 'erubis'
require 'tempfile'
require 'rack-lineprof'