Auto Layoutのアルゴリズム | iOSDC Japan 2017 Day1

iOS 6から登場したAuto Layoutは、マルチデバイス・可変レイアウト対応が必要な現在のiOS開発において、無くてはならないものになりました。 しかしその裏側で、一体どんな仕組みでレイアウト計算が行われているのか、ご存知ですか? このプレゼンでは、Appl…

節子、それViewControllerやない...、FatViewControllerや...。 | iOSDC 2017 前夜祭

UIViewController(以下UIVC, VC)クラスにおいてよく起こりがちな問題があります。iOS開発者であれば一度は耳にしたことがあるでしょう、「VCの肥大化問題」です。VCの肥大化の原因は、UIVCクラスの責務過多にあります。 このトークでは、UIVCクラスの責務を…

Swaggerで始めるAPI定義管理とコードジェネレート | iOSDC 2017 前夜祭

twitter.com REST APIのインターフェイス仕様をSwaggerのAPIドキュメントで一元的に定義・管理することで、モバイルとサーバエンジニア間のコミュニケーションを齟齬なく円滑に進めることができます。 さらに、SwaggerのSwiftコードのジェネレート機能を活用…

Objective-C++を使ってMRCで快適に開発する | iOSDC 2017

iOSやMacの開発において現在ではARC(Automatic Reference Counting)が前提となっており、MRCの時代と比べて飛躍的に簡単になりました。しかし、開発するアプリによってはMRCでメモリ管理をしたい場面が少なからずあるはずです。そんな時はObjective-C++の力…

SiriKit and Me | iOSDC Japan 2017

去年発表されたSiriKit。Siriにしゃべるだけでアプリが動かせる?と話題になりましたが、実際には使える機能が限定されているので、なかなか使う機会が多くないと思います。 その上、実際にプロダクトにいれようとすると、SiriKitは通常のアプリ開発ではあま…

モバイルアプリ開発エキスパート養成読本 をご恵贈いただきました: 「今の現場のノウハウが生きたまま届く本」

このたび 株式会社技術評論社より出版される モバイルアプリ開発エキスパート養成読本 をご恵贈いただきました! 嬉しくてとにかく高評価してしまいそうですが、早速感想を書かせていただきたいと思います。 なお、こちらの本はAndroidとiOS、それぞれの最新…

try! Swift Tokyo 2017 みんなのレポート、感想、考察、やってみた...etc まとめ!!

今年も作りました!try! Swift Tokyo 2017についてのレポート、感想、考察、やってみた記事のまとめです!! まだ書いてない方、まだ集めるのでぜひ書いてください!! 書いたのにここに載ってない(涙)、載ってない記事知ってる!という方、 @niwatakoにご一…

try! Swift Tokyo 2017 聞き起こしまとめ | レシーバーを返してブログを書くまでがtry! Swiftです!

この三連休はcatch Swift!!連休にあわせて公開です! 2日間のセッションの聞き起こしをまとめました!! 今年の聞き起こしの感想も書いたので少しお付き合いいただけると幸いです。 ごあいさつ niwatakoです。本業は株式会社はてなのiOSエンジニアをしてお…

👾 & ⌚️ (LT) | try! Swift Tokyo 2017 #tryswiftconf Day2-16 聞き起こし

twitter.com このトークでは、watchOS 3上で動作するゲーム開発の手法についてお伝えします。最新デバイスで動く、懐かしのゲームに思いを馳せてみてください。 & ⌚️ 古くから人は時計上でゲームをしようとしてきました。 ポケモンが出たのも記憶にあたらし…

なぜ登るのか (LT) | try! Swift Tokyo 2017 #tryswiftconf Day2-17 聞き起こし

twitter.com 2010年の東京オリンピックでも正式種目に選ばれたボルダリング。今日は、ボルダリングは Swiftエンジニアにとって最適なスポーツであることを紹介したいと思います。今まで試したこともない人も、是非tryしてみてください。 なぜ登るのか タクシ…

Swiftでのエラーハンドリングとエラー耐性についての教訓 | try! Swift Tokyo 2017 #tryswiftconf Day2-15 聞き起こし

twitter.com ソフトウェアを書いているとき、私たちはハッピーパス(例外やエラーが発生しない正常系のこと)についてはちゃんと考慮する一方、潜在的な障害についての考慮はおろそかになりがちです。しかしアプリが考えていたよりも長く、いろいろな状況で…

Client-Side Deep Learning (LT) | try! Swift Tokyo 2017 #tryswiftconf Day2-13 聞き起こし

twitter.com iOS 10よりMetal Performance Shadersフレームワークに畳み込みニューラルネットワーク(CNN)のAPIが追加され、iOSデバイスのGPUを利用して高速にCNNの計算を行えるようになりました。つまり「ユーザの手元で」「オフラインでも」昨今の進化が…

オープンソースコミュニティをスケールさせる | try! Swift Tokyo 2017 #tryswiftconf Day2-14 聞き起こし

twitter.com オープンソースプロジェクトのさまざまな段階についてお話しします。どのようにプルリクエストを処理するか、規模に応じてどのようにサポートを変えていくか、ユーザー数が拡大していく中でどのように革新を起こしつづけるかをお話しします。 そ…

チームの生産性を改善するために決断疲れを最小化する | try! Swift Tokyo 2017 #tryswiftconf Day2-12 聞き起こし

チームの生産性を改善するために決断疲れを最小化する twitter.com ソフトウェアエンジニアとして、私たちは書いているコードの1行1行ごとに決断し続けています。 これに必要な時間とエネルギーの量はチームが生産的に働けるか、あるいは停滞させてしまう…

Swiftで堅牢なカラーシステムを構築する | try! Swift Tokyo 2017 #tryswiftconf Day2-9 聞き起こし

twitter.com これまで以上に多くの企業が、新しく増え続けるユーザーに今までよりも魅力的なアプリだとアピールするために、アプリを再設計しています。この講演ではあらゆる規模のプロジェクトにスケールできる堅牢なカラーシステムを構築するための戦略に…

忙しい人のためのApp Transport Security (LT) | try! Swift Tokyo 2017 #tryswiftconf Day2-8 発表資料・原稿

twitter.com WWDC2016にてATS(App Transport Security)の必須化がアナウンスされました。しかしご存知の通り、必須化は延期されました。また、iOS10で新たなATSの設定を行うInfo.plistのキーが導入されましたが、iOS10のマイナーバージョンごとに仕様が異な…

モックオブジェクトをより便利にする | try! Swift Tokyo 2017 #tryswiftconf Day2-11 聞き起こし

twitter.com Swiftでは、手作業でモックオブジェクトを作成します。その設計がどのようにユニットテストを書けば良いかという方針を決めています。テストをより表現力豊かにするようモックオブジェクトをより強力にすることはできるでしょうか?モックライブ…

サーバサイドSwiftの実例 (LT) | try! Swift Tokyo 2017 #tryswiftconf Day2-10 聞き起こし

twitter.com http://nsdateformatter.com/ というサイトを知っていますか?オンライン上でNSDateFormatterを試せる面白いサイトです。私はこれの影響を受けてNSURL版( http://nsurl.serversideswift.net/ )を作成しました。また、自作のライブラリもブラウザ…

スタートアップのSwift | try! Swift Tokyo 2017 #tryswiftconf Day2-6 聞き起こし

twitter.com スタートアップのチームはまだ小さいですが定期的に重要なプロダクトの変更をする必要があります。そのため慌ててコードを書いては書き直してということになる可能性があります。幸いなことにあなたたちにはSwiftがついています。このトークでは…

iOSにおけるDocument IndexingとApp Search | try! Swift Tokyo 2017 #tryswiftconf Day2-5 聞き起こし

twitter.com 私たちはプログラマとして、自分たちの製品のプロモーションに興味を持ち、ユーザには簡単で楽しい経験をしてほしいと考えています。それでもApp Storeには毎日無数の新しいアプリが登場し、ユーザが私たちのアプリをダウンロードしても、デバイ…

VRの革新と新たなユーザー体験 (LT) | try! Swift Tokyo 2017 #tryswiftconf Day2-4 聞き起こし

twitter.com 拡張現実(AR)と360度シューティング技術はゲーマーや高価なパイロット訓練室を超越しています。現実のアプリケーションは、顧客と接する新しいチャネルを提供し、新しい体験を提供し、すでに複数の業界で実現されています。では、いくつ…

様々な場面でSwiftを使う | try! Swift Tokyo 2017 #tryswiftconf Day2-3 聞き起こし

twitter.com 色々なプラットフォーム、様々な場面でSwiftを使いたいことがあります。しかし、現時点で、Apple以外のプラットフォームでは、ライブラリーが少ないなど、すぐ実用的に実装することが難しいことがあります。CのライブラリーやSwiftのライブラリ…

誰もが知りたいSequenceとCollectionのすべて | try! Swift Tokyo 2017 #tryswiftconf Day2-2 聞き起こし

twitter.com SequenceとCollectionについて深く掘り下げてみましょう。LinkedListを実装することでSequenceとIteratorがどのように相互作用するかを見ていきます。この講演ではCollectionと関連するプロトコルと型(Index、Sliceable、MutableCollectionなど…

テスト可能なコードを書くということの2つの側面 | try! Swift Tokyo 2017 #tryswiftconf Day2-1 聞き起こし

twitter.com 関数を完全にテスト可能にするためのものが2つあります。作用の分離と共作用を表面化です。この2つの側面の背景にある理論を探り、どのようにすればテスト容易なコードに導けるかを示します。また、最近オープンソース化されたコードベースを…

UXエンジニアという働き方 (LT) | try! Swift Tokyo 2017 #tryswiftconf Day1-16 聞き起こし

twitter.com エンジニアとはいえどコーディングができるだけでは良いサービスを創り上げることはできません。このトークではエンジニアがUXを考えることの大切さ、その手法をご紹介します。 UXエンジニアという働き方 Oisix株式会社という食品EC会社です。ド…

リアルタイム物体検出アプリでよりよいフィードバックを提供する (LT) | try! Swift Tokyo 2017 #tryswiftconf Day1-15 聞き起こし

twitter.com 近年のコンピュータビジョン技術や計算資源の進歩により、リアルタイムな物体検出アプリケーションをiOS端末上で開発するのは以前よりも容易になりました。ですが、検出ロジックの実装は開発におけるほんの一部です。ユーザフレンドリーなアプリ…

独自のツールを構築する | try! Swift Tokyo 2017 #tryswiftconf Day1-14 聞き起こし

twitter.com あなたは、最小のコード量で、すばやく、最大限のインパクトがあるアプリケーション開発をしたいでしょう。これを適切な抽象化を習得することで実現できますが、これには長年の訓練が必要です。Artsyのモバイルチームには、複数のSwift製アプリ…

Realmを使ってコラボレーションアプリを作る | try! Swift Tokyo 2017 #tryswiftconf Day1-13 聞き起こし

twitter.com このトークでは、オープンソースのRealm Mobile Databaseを紹介し、サーバーサイドコンポーネントと合わせてRealm Mobile Platformsがどのように完成したかを示します。これを利用すると、テクノロジスタックの実装詳細として同期とネットワーク…

楽しく便利なSwiftチャットボット (LT) | try! Swift Tokyo 2017 #tryswiftconf Day1-12 聞き起こし

twitter.com 自分自身の日本語の学習を補助するために、パーソナライズされた言語学習ツールとしてチャットボットをSwiftで作りました。どうやったかをお話しします。 楽しく便利なSwiftチャットボット では今日は皆さんにChatBotを作ってきた体験をお話しま…

SwiftのWeb APIとアプリをともに構築する | try! Swift Tokyo 2017 #tryswiftconf Day1-11 聞き起こし

twitter.com この講演では、私たちのiOSアプリの1つを動かすためにSwiftでWeb APIを構築した経験を共有します。既存のインフラとWebサービスをSwiftでどのように書きかえたのかを説明します。SwiftでのWebサービス構築に必要なことと、ハイパーメディアと宣…