Skip to content

Instantly share code, notes, and snippets.

View tatsuro-ueda's full-sized avatar

Tatsuro Ueda tatsuro-ueda

View GitHub Profile
@tatsuro-ueda
tatsuro-ueda / jasmineAsyncTestOnCoffeeScript.coffee
Created December 11, 2012 01:30
Jasmine Async Test on CoffeeScript
# 「JS開発におけるTDDと自動テストツール利用の勘所 」より引用。
# http://www.slideshare.net/KojiNakamura/jstdd
it "should be async", ->
# 非同期処理ブロックはruns()で定義される
runs ->
expect(true).toBeTruthy()
# waits()で次のブロック実行を、指定したミリ秒間保留する
@tatsuro-ueda
tatsuro-ueda / jasmineSpyOnCoffeeScript.coffee
Created December 11, 2012 01:23
Jasmine Spy on CoffeeScript
# 「JS開発におけるTDDと自動テストツール利用の勘所 」より引用。
# http://www.slideshare.net/KojiNakamura/jstdd
it "should be called", ->
obj =
method: ->
spyOn obj, "method" # spyOnメソッドでオブジェクトの特定メソッドをスパイ化
obj.method()
expect(obj.method).toHaveBeenCalled() # spy用のMatcherが用意されている
@tatsuro-ueda
tatsuro-ueda / jasmineBeforeEachAfterEachInCoffeeScript.coffee
Created December 11, 2012 01:13
Jasmine beforeEach / afterEach in CoffeeScript
# 「JS開発におけるTDDと自動テストツール利用の勘所 」より引用。
# http://www.slideshare.net/KojiNakamura/jstdd
describe "Object", ->
beforeEach ->
object = new MyObject
afterEach ->
# do something...
@tatsuro-ueda
tatsuro-ueda / jasmineMatchers.md
Created December 11, 2012 00:53
Jasmine Matchers

Jasmine Matchers

「JS開発におけるTDDと自動テストツール利用の勘所 」より引用。

http://www.slideshare.net/KojiNakamura/jstdd

  • notで否定のMatcherとなる
  • expect(x).toEqual(y)
  • expect(x).not.toEqual(y)
  • expect(x).toBe(y)
@tatsuro-ueda
tatsuro-ueda / How-to-use-CoffeeScript-in-jsFiddle.md
Created December 10, 2012 03:44
How to use CoffeeScript in jsFiddle

How to use CoffeeScript in jsFiddle

121210-coffeescript-in-jsfiddle

  1. Open 'Panel' in left side bar.
  2. Change 'JavaScript' to 'CoffeeScript'.
@tatsuro-ueda
tatsuro-ueda / SublimeText2-WindowsでCapsキーをMacのCtrキーのように使う.md
Created December 6, 2012 02:33
Sublime Text 2 / WindowsでCapsキーをMacのCtrキーのように使う

Sublime Text 2 / WindowsでCapsキーをMacのCtrキーのように使う

こんにちは。最近MacからWindowsに移住した(くなかったのだけどやむなく移住した)筆者です。

「でもSublime Text 2はWindows版もあるじゃないか!良かった!」と思って使い始めると、何かおかしい。

んー、なんだ?
何が足りないんだ?
あれれ、コードを補完したあとカーソルを行末に移動したいのだけど動かないぞ。

おかしいな、Macではできたのに。

@tatsuro-ueda
tatsuro-ueda / WindowsでHerokuをセットアップする手順.md
Last active April 28, 2016 10:11
WindowsでHerokuをセットアップする手順

WindowsでHerokuをセットアップする手順

※数日後にアクセスしたら

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

ではじかれて入れません。なんてこったあああ!


@tatsuro-ueda
tatsuro-ueda / Objective-Cで正規表現でエスケープするには.m
Created September 20, 2012 22:52
Objective-Cで正規表現でエスケープするには\\(ダブルバックスラッシュ)を使う
NSError *error = nil;
NSRegularExpression *regexp = [NSRegularExpression regularExpressionWithPattern:@"\"http://.+\\.smilevideo\\.jp/smile\\?i=[0-9]{8}+\"" options:0 error:&error];
// エラーならば表示する
if (error != nil) {
NSLog(@"%@", error);
}
// find by regular expression
NSTextCheckingResult *match =
@tatsuro-ueda
tatsuro-ueda / CoffeeScriptでグローバルオブジェクトを動かすには(その2).md
Created September 18, 2012 02:15
CoffeeScriptでグローバルオブジェクトを動かすには(その2)

下記コードではtimerという関数をグローバルオブジェクト化している。

root = exports ? this
root.timer = window.setInterval(
	->
		dat = new Date()
		document.getElementById('result').innerHTML = dat.toLocaleTimeString()
	1000
)
@tatsuro-ueda
tatsuro-ueda / CoffeeScriptでグローバルオブジェクトを動かすには.md
Created September 14, 2012 03:29
CoffeeScriptでグローバルオブジェクトを動かすには

まずCoffeeで下記のように書いて

root = exports ? this
root.foo = -> 
	alert 'Hello World'
	return

HTMLから下記のように呼ぶ