寄付窓口はこちら

Introducing SourceKit-LSP | try! Swift Tokyo 2019 1-11

Launguage Server Protocol(LSP)は近頃注目を集めており、様々なプログラミング言語のLanguage Serverが開発されています。 Swiftも例外ではなく、2018年にはSourceKit-LSPが発表され、現在も開発が続いています。 このトークではLSPについての概要と、Sourc…

ARKitのアプリを作ろう | try! Swift Tokyo 2019 1-10

ARKitはARをアプリに組み込んでより魅力的で楽しいものにする方法を示しました。もしあなたのアプリにARKitを使うことを考えているならこの話はあなたのためのものです。このトークではアプリのパフォーマンス確保や仮想オブジェクトの配置、平面の操作など…

PixarのようなグラフィックをSwiftで実現する | try! Swift Tokyo 2019 1-9

このトークでは、簡単な光線追跡をSwiftを使ってゼロから作る際に直面する障害についてお話します。光線追跡法は、アニメーションフィルム産業を席巻する、Pixarのあの悪名高いRendermanの3Dレンダリング技術の基礎となっています。これは、光線の物理モデル…

テストケースでMemory Leakを発見する | try! Swift Tokyo 2019 1-8

SwiftはARCでメモリを管理しています。従って下手な書き方をすればメモリリークがいとも簡単に発生します。 どのようにメモリリークを防ぎますか?コーディング規約、コードレビュー、最後の砦のQA… 勿論、我々は怠惰なので、努力や根性よりも、自動的に動作…

Keypath入門 | try! Swift Tokyo 2019 1-7

KeypathはSwift 4で追加された機能です。素晴らしい機能を持っていますが、時折使い所を見つけるのが難しく感じます。しかし、Keypathを理解して正しく使えた時、ジェネリクスやプロトコルによるさらなる抽象化を実装できます。ただし、これを行えるようにす…

protocol/extensionにジェネリクスを入れたい | try! Swift Tokyo 2019 1-6

[https://twitter.com/yyu:embed] protocolはassociatedtypeといった、いわゆる存在型しか扱うことができない。あるprotocolに対してextensionで機能を与えるとき、associatedtypeには必ずなんらかの具体的な型を入れることが求められる。protocol/extension…

限定的なimportの明示とその効果 | try! Swift Tokyo 2019 1-5

普段なんとなく書いているimportですがサブモジュールや特定の要素を明示的に指定することができます。このセッションではこれらのimportの仕様を振り返り、またバイナリサイズやパフォーマンスに与える影響を考えていきます。 今回ははじめての英語でのプレ…

Swift Light | try! Swift Tokyo 2019 1-4

Glowforgeの3Dレーザープリンターは木、革、アクリルなどから美しい製品を作り出します。Coregraphicsと他のiOS APIを利用することで、アプリのユーザーはGlowforgeに送ることができるベクターグラフィックを作成したり、操作したりすることができます。この…

アクセシビリティのためのカラーコントラスト | try! Swift Tokyo 2019 1-3

テキストのコントラストはどれだけあれば十分でしょうか?グレースケールの色をいじり回すのではなく、式を使用して相対的な明るさを評価し、より多くのユーザーがコンテンツを体験できるようにします。方程式の背後にある科学の概要、およびいくつかのエッ…

脱Swiftリテラル初心者 | try! Swift Tokyo 2019 1-2

[https://twitter.com/freddi:embed] 皆さんのSwiftリテラルの深い理解への導きと、脱「リテラル初心者」の手助けをさせていただきます。Swift CodeからSIL、そしてLLVM IRコードまでの「リテラルオブジェクト」の旅を見て、コード上のただの文字列であるリ…