この数年、Core Dataはローカルでの永続化において、Realmのような他のサービスを好む開発者の間ではかなりひどい評判です。このトークでは、Core Dataを使うことはそんなに悪いことではないと考える理由を説明します。Core Dataでうまくいかないところや、…
Swiftコンパイラにコントリビュートしてみたいと思ったことはありますか?いいアイディアがあるなら、それで十分動機になります。難しい部分もありますが、Swiftコミュニティがお手伝いします!このトークでは、Swiftコンパイラの概要と、コンパイラの始め方…
みなさんにはアプリのデバッグで、結局アセンブリという自分には理解不能な壁を見るだけになった経験があったでしょう。もしくは、なぜUIKitがこのような挙動を示すのかを理解するために、UIKitのメソッドのソードコードをみたくなったこともあるかもしれま…
SwiftのString型は、正確さ、パフォーマンス、そして使いやすさの絶妙なバランスを目標にしています。 このトークではString型の背景にある哲学や、私たちがコミュニティとしていかにStringを使ったプログラミングの楽しさと手軽さを追求できるかについてお…
iOSアプリを開発する際、ライブラリやフレームワークを使わないということはほとんどありません。 OSが提供するUIKitやSwift標準ライブラリを使いますし、サードバーティの便利なライブラリを使用することもあります。 そして、誰もが1度はリンクエラーや重…
関数が満たすべき論理的性質を記述し、ランダムな入力値を生成させてテストを行うProperty-based Testingというテスト手法があります。HaskellのQuickCheckが大元となっていますが、多数の言語に移植されており、SwiftでもSwiftCheckというOSSが開発されてい…
これまでの心理学研究では、パーソナルコンピュータを利用したものや、物理的なレバーを用いた実験が行なわれてきました。 しかし、今日ではそのあり方が変貌しつつあります。その内容は、ヒトやヒト以外の動物においても、タッチスクリーンを用いた実験が増…
シンセサイザーを使ったサウンドデザインは目も当てられないほど複雑というのが一般的ですが、Swiftではそんなことにはなりません。このトークでは、音の合成、デザインの基本、そして基本的な音を、どうやって最高のものに変えることができるかに焦点を当て…
モバイルデザインシステムをゼロから構築する方法を学びます。デザインシステムとは何か、チームにどう役立つのか、開発のスピードアップにどのように役立つか、そして成功するためにはじめにフォーカスすべき3〜5つのことを学びます。 ちょっと声がかれて…
Swiftには実行時に型情報を保持するためのType metadataという仕組みがあります。 我々が頻繁に直接使うことはありませんが、Swiftのランタイムの動作を理解するための重要な要素です。 このトークでは Type metadata やその実装について紹介します。 こんに…