際際滷

際際滷Share a Scribd company logo
LLプログラマ鬚Extensionsと	
 ?
テストライブラリ	
 ?QuickのB初	
及2指	
 ?Swi2	
 ?茶氏	
 ?in	
 ?TechBuzz	
 ?
	
 ?
KitchHike,	
 ?Inc.	
 ?儲鍋蚋	
 ?
2014/07/18
徭失B初	
?? 儲鍋蚋┘侫献汽 ショウケン	
 ?
?? KitchHike,	
 ?Inc.	
 ?旗燕函叨	
 ?Co-?\CEO	
 ?	
 ?
?? 噸粁はRuby	
 ?on	
 ?Railsで_kしています。	
 ?
?? MongoDB	
 ?JP	
 ?険旗燕	
 ?	
 ?
gihyo.jpで仝MongoDBでゆるふわDB悶Y々をBd	
 ?	
 ?
?? TwiQer:	
 ?@syokenz,	
 ?Qiita:	
 ?syokenz	
 ?
?? www.facebook.com/fujisaki.shoken	
 ?
?? Swi2UY:	
 ?2牡3晩の_k栽凡で醍噺の里禿萄鰕aを燕幣す
るアプリ恬撹
What is KitchHike	
F仇繁とコミュニケ`ションを函りたい唾佩宀が、
創尖を恬ってくれるF仇繁の社に
[びにいけるサ`ビスです。
hQps://kitchhike.com/
LLプログラマが侑せになれるそうな	
 ?
Swi2	
 ?ExtensionsのB初	
?? Extensionsとは	
 ?
?? ExSwi2	
 ?
?? Pythonic.swi2	
 ?
?? Dollar.swi2	
 ?と	
 ?__.swi2	
 ?
?? RubySwi2	
 ?
?? おまけ:	
 ?テストフレ`ムワ`クQuick	
 ?
Extensionsとは	
?? Swi2の淵ラスをできる碧Mみ	
 ?
?? ObjecYve-?\Cではカテゴリと柵ばれていたもの	
 ?
extension Array {!
func each(f: (Element) -> ()) {!
for e in self {!
f(e)!
}!
}!
}!
!
Extensions	
 ?サンプルコ`ド:	
 ?Arrayにeachをg廾する	
	
> [1,2,3].each { println($0) }!
=> 1!
=> 2!
=> 3
ExSwi2	
?? hQps://github.com/pNre/ExSwi2	
 ?
?? JavaScript	
 ?(Lo-?\Dash,	
 ?Underscore)	
 ?&	
 ?Rubyにインスパイア	
 ?
?? Swi2クラスタイプ	
 ?
?? ファ`ストコミット	
 ?2014/06/04WWDCの肝の晩	
 ?
?? 碧並壼すぎぃ	
 ?
356	
let array = [5, 1, 0, 10]!
array.each { item in println(item) }!
!
var items = Int[]()!
(0..2).each { items.append($0) }!
!
let dic = ["A": 1, "B": 2, "C": 3]!
dic.each { key, value in println(key, value) }!
dic.has(^A ̄)!
!
let dic = [ "A": 1, "B": 2, "C": 3 ]!
let mapped = dic.map(mapFunction: { return ($0 + "!",
$1 + 1) })!
println(mapped) 	
ExSwi2	
 ?サンプルコ`ド
Pythonic.Swi2	
?? hQps://github.com/pracYcalswi2/Pythonic.swi2	
 ?
?? Python	
 ?
?? Swi2クラスタイプ	
 ?
?? タブとは採だったのか	
 ?
227	
if re.search("^foo", "foobar") {!
println(["foo", "bar", "zonk"].index("foo")) // 0!
println(["foo", "bar", "zonk"].count("bar")) // 1!
println(["foo", "bar", "zonk"].count("zoo")) // 0!
}!
!
if any(["foo", "bar", "zonk"]) {!
println(chr(ord("a"))) // a!
}!
!
var greeting = " hello pythonista "!
if greeting.strip().startswith("hello") {!
println(greeting.strip().title()) // Hello Pythonista!
}	
Pyhonic.Swi2	
 ?サンプルコ`ド
?? hQps://github.com/ankurp/Dollar.swi2	
 ?
?? Lo-?\Dash	
 ?or	
 ?Underscoreにインスパイア	
 ?
?? 鏡徭クラス(なので畜にはExtensionsではoい)	
 ?
?? 揖じプロジェクト坪にCentというSwi2タイプもある	
 ?
?? みんなの$が寄挫き	
 ?
	
 ?
?? hQps://github.com/lotz84/__.swi2	
 ?
?? Underscore.jsのクロ`ン	
 ?
?? 鏡徭クラス(なので畜にはExtensionsではoい)	
 ?
?? _(アンダ`スコア)は2つ	
 ?
__.swi2	
 55	
1,022	
Dollar.swi2
$.at(["ant", "bat", "cat", "dog", "egg"], indexes: 0, 2, 4)!
=> ["ant", "cat", "egg ̄]!
!
$.contains([1, 2, 3, 1, 2, 3], value: 2) !
=> True!
$.range(0, endVal: 20, incrementBy: 5) !
=> [0, 5, 10, 15]!
!
let fun = $.bind({ (names: String...) -> String in!
let people = $.join(names, separator: " from ")!
return "Hello (people)"!
}, "Ankur", "Swift")!
$.times(2, function: fun) as String[] !
=> ["Hello Ankur from Swift", "Hello Ankur from Swift"]!
	
Dollar.Swi2	
 ?サンプルコ`ド
RubySwi2	
?? hQps://github.com/Appletone/RubySwi2	
 ?
?? Ruby	
 ?
?? ファ`ストコミット	
 ?2014/07/16	
 ?メソッド富なすぎぃ	
 ?
?? とりあえずStarした	
 ?
1	
5.times {!
println("Hey! You look really like Ruby")!
}!
!
5.upto(10) {!
println($0)!
}!
!
"HELLO".capitalized() !
=> Hello	
RubySwi2	
 ?サンプルコ`ド
Quick	
?? hQps://github.com/Quick/Quick	
 ?
?? Specライクなテストフレ`ムワ`ク	
 ?
?? gHに聞った。侑せになれた。ドキュメントも割gしている。	
 ?
705	
import Quick!
import Nimble!
!
class DolphinSpec: QuickSpec {!
override func spec() {!
it("is friendly") {!
expect(Dolphin().isFriendly).to.beTrue()!
}!
!
it("is smart") {!
expect(Dolphin().isSmart).to.beTrue()!
}!
}!
}	
Quick	
 ?サンプルコ`ド
まとめとTIPS	
?? プロジェクトにファイルを崔くだけ返Xに秘できる	
 ?
?? Ruby聞っている繁にはQuickおすすめ	
 ?
o? Spec!	
 ?Spec!	
 ?
?? プロジェクトで秘するには、バ`ジョンを耕協するのが耳	
 ?
o? 碧筝もたびたびあるので和返にUpdateすると咾なくなる	
 ?
?? 駅勣な何蛍だけつまんで秘するのもあり	
 ?
o? リポジトリのソ`スを歌深に徭蛍でくのもあり	
 ?
?? 麿のExtensionsとのコンフリクトに廣吭	
 ?
o? Arrayクラスはだいたいされている
https://kitchhike.com/

More Related Content

LLプログラマ鬚Swift ExtensionsとテストライブラリQuickのB初

  • 1. LLプログラマ鬚Extensionsと ? テストライブラリ ?QuickのB初 及2指 ?Swi2 ?茶氏 ?in ?TechBuzz ? ? KitchHike, ?Inc. ?儲鍋蚋 ? 2014/07/18
  • 2. 徭失B初 ?? 儲鍋蚋┘侫献汽 ショウケン ? ?? KitchHike, ?Inc. ?旗燕函叨 ?Co-?\CEO ? ? ?? 噸粁はRuby ?on ?Railsで_kしています。 ? ?? MongoDB ?JP ?険旗燕 ? ? gihyo.jpで仝MongoDBでゆるふわDB悶Y々をBd ? ? ?? TwiQer: ?@syokenz, ?Qiita: ?syokenz ? ?? www.facebook.com/fujisaki.shoken ? ?? Swi2UY: ?2牡3晩の_k栽凡で醍噺の里禿萄鰕aを燕幣す るアプリ恬撹
  • 4. LLプログラマが侑せになれるそうな ? Swi2 ?ExtensionsのB初 ?? Extensionsとは ? ?? ExSwi2 ? ?? Pythonic.swi2 ? ?? Dollar.swi2 ?と ?__.swi2 ? ?? RubySwi2 ? ?? おまけ: ?テストフレ`ムワ`クQuick ?
  • 5. Extensionsとは ?? Swi2の淵ラスをできる碧Mみ ? ?? ObjecYve-?\Cではカテゴリと柵ばれていたもの ? extension Array {! func each(f: (Element) -> ()) {! for e in self {! f(e)! }! }! }! ! Extensions ?サンプルコ`ド: ?Arrayにeachをg廾する > [1,2,3].each { println($0) }! => 1! => 2! => 3
  • 6. ExSwi2 ?? hQps://github.com/pNre/ExSwi2 ? ?? JavaScript ?(Lo-?\Dash, ?Underscore) ?& ?Rubyにインスパイア ? ?? Swi2クラスタイプ ? ?? ファ`ストコミット ?2014/06/04WWDCの肝の晩 ? ?? 碧並壼すぎぃ ? 356 let array = [5, 1, 0, 10]! array.each { item in println(item) }! ! var items = Int[]()! (0..2).each { items.append($0) }! ! let dic = ["A": 1, "B": 2, "C": 3]! dic.each { key, value in println(key, value) }! dic.has(^A ̄)! ! let dic = [ "A": 1, "B": 2, "C": 3 ]! let mapped = dic.map(mapFunction: { return ($0 + "!", $1 + 1) })! println(mapped) ExSwi2 ?サンプルコ`ド
  • 7. Pythonic.Swi2 ?? hQps://github.com/pracYcalswi2/Pythonic.swi2 ? ?? Python ? ?? Swi2クラスタイプ ? ?? タブとは採だったのか ? 227 if re.search("^foo", "foobar") {! println(["foo", "bar", "zonk"].index("foo")) // 0! println(["foo", "bar", "zonk"].count("bar")) // 1! println(["foo", "bar", "zonk"].count("zoo")) // 0! }! ! if any(["foo", "bar", "zonk"]) {! println(chr(ord("a"))) // a! }! ! var greeting = " hello pythonista "! if greeting.strip().startswith("hello") {! println(greeting.strip().title()) // Hello Pythonista! } Pyhonic.Swi2 ?サンプルコ`ド
  • 8. ?? hQps://github.com/ankurp/Dollar.swi2 ? ?? Lo-?\Dash ?or ?Underscoreにインスパイア ? ?? 鏡徭クラス(なので畜にはExtensionsではoい) ? ?? 揖じプロジェクト坪にCentというSwi2タイプもある ? ?? みんなの$が寄挫き ? ? ?? hQps://github.com/lotz84/__.swi2 ? ?? Underscore.jsのクロ`ン ? ?? 鏡徭クラス(なので畜にはExtensionsではoい) ? ?? _(アンダ`スコア)は2つ ? __.swi2 55 1,022 Dollar.swi2
  • 9. $.at(["ant", "bat", "cat", "dog", "egg"], indexes: 0, 2, 4)! => ["ant", "cat", "egg ̄]! ! $.contains([1, 2, 3, 1, 2, 3], value: 2) ! => True! $.range(0, endVal: 20, incrementBy: 5) ! => [0, 5, 10, 15]! ! let fun = $.bind({ (names: String...) -> String in! let people = $.join(names, separator: " from ")! return "Hello (people)"! }, "Ankur", "Swift")! $.times(2, function: fun) as String[] ! => ["Hello Ankur from Swift", "Hello Ankur from Swift"]! Dollar.Swi2 ?サンプルコ`ド
  • 10. RubySwi2 ?? hQps://github.com/Appletone/RubySwi2 ? ?? Ruby ? ?? ファ`ストコミット ?2014/07/16 ?メソッド富なすぎぃ ? ?? とりあえずStarした ? 1 5.times {! println("Hey! You look really like Ruby")! }! ! 5.upto(10) {! println($0)! }! ! "HELLO".capitalized() ! => Hello RubySwi2 ?サンプルコ`ド
  • 11. Quick ?? hQps://github.com/Quick/Quick ? ?? Specライクなテストフレ`ムワ`ク ? ?? gHに聞った。侑せになれた。ドキュメントも割gしている。 ? 705 import Quick! import Nimble! ! class DolphinSpec: QuickSpec {! override func spec() {! it("is friendly") {! expect(Dolphin().isFriendly).to.beTrue()! }! ! it("is smart") {! expect(Dolphin().isSmart).to.beTrue()! }! }! } Quick ?サンプルコ`ド
  • 12. まとめとTIPS ?? プロジェクトにファイルを崔くだけ返Xに秘できる ? ?? Ruby聞っている繁にはQuickおすすめ ? o? Spec! ?Spec! ? ?? プロジェクトで秘するには、バ`ジョンを耕協するのが耳 ? o? 碧筝もたびたびあるので和返にUpdateすると咾なくなる ? ?? 駅勣な何蛍だけつまんで秘するのもあり ? o? リポジトリのソ`スを歌深に徭蛍でくのもあり ? ?? 麿のExtensionsとのコンフリクトに廣吭 ? o? Arrayクラスはだいたいされている