寄付窓口はこちら

try! Swift Tokyo 2019

次へつなごう— Extending a hand to the next generation of Apple developers | try! Swift Tokyo 2019 2-16

コーディングを学ぶには絶好のタイミング!技術は日進月歩、進化を遂げています。Apple Platformでの開発はSwiftやSwift playgroundにおける進歩によって、より簡単に取り組めるようになりました。しかし、この業界では、ソフトウェアエンジニアになろうとし…

Core Dataを守るために | try! Swift Tokyo 2019 2-15

この数年、Core Dataはローカルでの永続化において、Realmのような他のサービスを好む開発者の間ではかなりひどい評判です。このトークでは、Core Dataを使うことはそんなに悪いことではないと考える理由を説明します。Core Dataでうまくいかないところや、…

Swiftコンパイラにコントリビュートする | try! Swift Tokyo 2019 2-14

Swiftコンパイラにコントリビュートしてみたいと思ったことはありますか?いいアイディアがあるなら、それで十分動機になります。難しい部分もありますが、Swiftコミュニティがお手伝いします!このトークでは、Swiftコンパイラの概要と、コンパイラの始め方…

アセンブリ、君ならできる! | try! Swift Tokyo 2019 2-13

みなさんにはアプリのデバッグで、結局アセンブリという自分には理解不能な壁を見るだけになった経験があったでしょう。もしくは、なぜUIKitがこのような挙動を示すのかを理解するために、UIKitのメソッドのソードコードをみたくなったこともあるかもしれま…

賢者のString | try! Swift Tokyo 2019 2-12

SwiftのString型は、正確さ、パフォーマンス、そして使いやすさの絶妙なバランスを目標にしています。 このトークではString型の背景にある哲学や、私たちがコミュニティとしていかにStringを使ったプログラミングの楽しさと手軽さを追求できるかについてお…

All about linking libraries | try! Swift Tokyo 2019 2-11

iOSアプリを開発する際、ライブラリやフレームワークを使わないということはほとんどありません。 OSが提供するUIKitやSwift標準ライブラリを使いますし、サードバーティの便利なライブラリを使用することもあります。 そして、誰もが1度はリンクエラーや重…

SwiftCheckで始めるProperty-based Testing | try! Swift Tokyo 2019 2-10

関数が満たすべき論理的性質を記述し、ランダムな入力値を生成させてテストを行うProperty-based Testingというテスト手法があります。HaskellのQuickCheckが大元となっていますが、多数の言語に移植されており、SwiftでもSwiftCheckというOSSが開発されてい…

iOS端末を利用した心理学研究の背景と展望 | try! Swift Tokyo 2019 2-9

これまでの心理学研究では、パーソナルコンピュータを利用したものや、物理的なレバーを用いた実験が行なわれてきました。 しかし、今日ではそのあり方が変貌しつつあります。その内容は、ヒトやヒト以外の動物においても、タッチスクリーンを用いた実験が増…

Swiftにおける音の成形 | try! Swift Tokyo 2019 2-8

シンセサイザーを使ったサウンドデザインは目も当てられないほど複雑というのが一般的ですが、Swiftではそんなことにはなりません。このトークでは、音の合成、デザインの基本、そして基本的な音を、どうやって最高のものに変えることができるかに焦点を当て…

モバイルのデザインシステムを構築する | try! Swift Tokyo 2019 2-7

モバイルデザインシステムをゼロから構築する方法を学びます。デザインシステムとは何か、チームにどう役立つのか、開発のスピードアップにどのように役立つか、そして成功するためにはじめにフォーカスすべき3〜5つのことを学びます。 ちょっと声がかれて…

Swift type metadata | try! Swift Tokyo 2019 2-6

Swiftには実行時に型情報を保持するためのType metadataという仕組みがあります。 我々が頻繁に直接使うことはありませんが、Swiftのランタイムの動作を理解するための重要な要素です。 このトークでは Type metadata やその実装について紹介します。 こんに…

SwiftSyntax で便利を実現する基礎 | try! Swift Tokyo 2019 2-5

SwiftSyntax を使うと、Swift のコード生成や書き換え、静的検査などを実現できます。しかし、SwiftSyntax の使い方はほとんど知られていません。この方法をダイジェストで紹介します。 2つの機能 まず読み書きしやすいデータにする部分 よくあるif分。条件…

Swift Hardware Hacking | try! Swift Tokyo 2019 2-4

このトークでは、Swiftを使ったハードウェアのハックの方法をお話します。猫の貯金箱(上にコインを置くと、猫がそれを貯金箱の中に引き込むもの)の機能を、マイクロコントローラーや様々なセンサーをつかって拡張する様子をお見せします。 内容は ・お金が預…

Swiftでソーシャルネットワークをつくろう | try! Swift Tokyo 2019 2-3

「本当にプロダクトに使用できる状態なの?」 サーバーサイドSwiftは、ここ数年で大きな発展を遂げました。Ian PartridgeとDavid Okunが、フルスタックSwiftが、いかにあなたの次のプロジェクトで実用的かお見せします。合わせて、クラウド環境で稼働させる…

ポートレートモードを自作しよう | try! Swift Tokyo 2019 2-2

最近のiPhoneはデュアルカメラやTrueDepthカメラの搭載により、深度情報を利用して背景をぼかし、被写体を際立たせた美しい写真を撮影することができます。 このトークでは、「深度情報を持たない」画像から背景と被写体を分離してぼかすポートレートモード…

魔法の法則 | try! Swift Tokyo 2019 2-1

SFとファンタジー小説にインスパイアされたルールに従って、知的で没入型の体験を開発することを学びます。ソフトウェアと同様に、複雑で魅力的な魔法のシステムもガイドラインを使用して具体的なユーザー体験を構築します。この講演では、架空の世界構築を…

try Prototype! | try! Swift Tokyo 2019 1-16

なぜ私たちはコードを書くのでしょう?私は疑問に思っていました。コードはどれくらいの期間存続すると想定されていて、どれだけ使い捨てられるのでしょう?最終目標がユーザーに優れた便利な機能を提供することである場合、堅牢なコードに到達するために使…

Siri ShortcutsとNSUserActivityによるエンゲージメント推進 | try! Swift Tokyo 2019 1-15

NSUserActivityは、開発者がデバイス上でのアプリの可視性を高めることができるとても強力なツールです。 Siri Shortcutsの導入により、アプリの機能とのエンゲージメントがこれまで以上に簡単になりました。 SiriKitの自動音声起動機能を追加して、ユーザー…

MachObfuscator | try! Swift Tokyo 2019 1-14

iOSアプリの難読化に対するまったく新しいアプローチを紹介します。 MachObfuscatorはSwiftで書かれたオープンソースのバイナリ難読化ツールです。 iOSデベロッパー 皆さんのアプリがいかにリバースエンジニアリングしやすく、そしてどうすればしにくくでき…

SwiftのアプリでCやC++、Objective-Cのフレームワークを使おう | try! Swift Tokyo 2019 1-13

Swiftは強力で、また、比較的新しい言語です。世の中にはC言語や、C++、Objective-Cで書かれたオープンソースライブラリが多くあります。ユニークなアプリを作るチャンスを3倍にするために、これを利用する手はないのでしょうか? あります! このトークでは…

Swift Server Update | try! Swift Tokyo 2019 1-12

The Swift Server Work Group (SSWG) の目的は、Swiftでのサーバーアプリケーション開発の安定した健全なエコシステムを作ることです。 現在フォーカスしているのは、コミュニティが信頼できる高品質で十分にメンテナンスされたライブラリやツールの開発を促…

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

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