すいすいSwift

46
すいすい Swift id:karupanerura

Transcript of すいすいSwift

Page 1: すいすいSwift

すいすいSwiftid:karupanerura

Page 2: すいすいSwift

最近Swift書いてる

Page 3: すいすいSwift

Swiftのよいところ

Page 4: すいすいSwift

型安全

Page 5: すいすいSwift

let/var (Scalaでいうところのval/var)

Page 6: すいすいSwift

(Objective-Cとくらべて) Genericsがある!

Page 7: すいすいSwift

魔改造enum

Page 8: すいすいSwift

関数型界隈のEither型 みたいなのが作れる

Page 9: すいすいSwift

型のあるTupleべんり

Page 10: すいすいSwift

structとclassが ちゃんと違う

Page 11: すいすいSwift

Optional素晴らしい

Page 12: すいすいSwift

Swiftのやなところ

Page 13: すいすいSwift

Genericsの実装が雑

Page 14: すいすいSwift

class Foo : Bar<Baz>

Page 15: すいすいSwift

みたいなのが

Page 16: すいすいSwift

できない

Page 17: すいすいSwift

で き な い

Page 18: すいすいSwift

Genericsの実装が雑

Page 19: すいすいSwift

protocol (Javaでいうとこのinterface)

Page 20: すいすいSwift

protocolで Genericsが

まともに使えない

Page 21: すいすいSwift

protocol Foo<T>

Page 22: すいすいSwift

みたいなのが

Page 23: すいすいSwift

できない

Page 24: すいすいSwift

で き な い

Page 25: すいすいSwift

(厳密に言えばこれは嘘で用途によっては使えなくもない中途半端に総称型っ

ぽくするやりかたがなくはない)

Page 26: すいすいSwift

あと

Page 27: すいすいSwift

型推論がけっこう雑

Page 28: すいすいSwift

型推論に失敗すると method not found

Page 29: すいすいSwift

method not found なるほど、型が間違ってるんですね?

Page 30: すいすいSwift

なるほど、わからん

Page 31: すいすいSwift

しかし 良いところもいっぱい

Page 32: すいすいSwift

Perlのはなし

Page 33: すいすいSwift

Perlのサーバーと通信

Page 34: すいすいSwift

JSON RESTful API

Page 35: すいすいSwift

JSONを structに

マップしたい

Page 36: すいすいSwift

Dictionaryは 型安全でない

Page 37: すいすいSwift

structに Mapして 型安全に したい

Page 38: すいすいSwift

しかし 全部のstructを書いて

メンテするには 人生は短かすぎる

Page 39: すいすいSwift

Mouse

Page 40: すいすいSwift

MyClass->meta->get_attribute_list()

Page 41: すいすいSwift

DBIx::Schema::DSL

Page 42: すいすいSwift

(忘れたけど) テーブル構造取れる

Page 43: すいすいSwift

struct 自動生成

Page 44: すいすいSwift

人類の夢

Page 45: すいすいSwift

夢を追い続けましょう

Page 46: すいすいSwift

おわり