寄付窓口はこちら

try!, Swift の検索結果:

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

[https://twitter.com/freddi:embed] 皆さんのSwiftリテラルの深い理解への導きと、脱「リテラル初心者」の手助けをさせていただきます。Swift CodeからSIL、そしてLLVM IRコードまでの「リテラルオブジェクト」の旅を見て、コード上のただの文字列であるリテラルが「どのようにして私達(そしてアプリのユーザー)の手元にデータとして渡される準備が整うか」を、「Intrinsic Protocols(組み込みプロトコル)」とともに見ていきま…

native macOS application、またはAppKitの世界 | try! Swift Tokyo 2019 1-1

SwiftはiOSやmacOSなどの世界でネイティブアプリケーションを作るのに欠かせない言語ですが、さてnativeアプリケーションとはなんでしょうか? SwiftからCocoaフレームワークを使えばネイティブアプリケーションなのでしょうか。ネイティブの真価を発揮するにはプログラマがFrameworkを知り尽くしHuman Interface Guidelinesに精通し、自身が対象OSの良き理解者である必要があります。そういえばMazipanの足音も聞こえてきましたね。美し…

The Realm Mobile Platform Experience #RealmWorldTour17

…えるデモをします。 try! Swift で出てきたやつ → Realmを使ってコラボレーションアプリを作る | try! Swift Tokyo 2017 #tryswiftconf Day1-13 聞き起こし - niwatakoのはてなブログ 線を書くと座標データがRealmに保存され、Realm Mobile Platformを介してそれが別の端末に同期されます。即座に反映されます。 これが、ローカルのDBに書き込むようにするだけで実現できるのがとても重要な事です。 …

Android emulator に Charles proxy の Root Ceartificate をインストールして SSL/TLS 通信をのぞき見する(on Mac)

Charles は Flashアプリケーションを作っていた開発者が、アプリケーションから利用するHTTP通信のデバッグを行うために作ったプロキシーです。 参考: niwatako.hatenablog.jp Flashにとどまらず、ブラウザやiOS, Android端末にCharlesで用意したプロキシーサーバーを設定することで、アプリケーションがAPIとどのような通信を行っているか確認したり、APIのレスポンスを書き換えてアプリケーションの挙動を確認したりすることが出来ます…

開発者ツールと経験への時間投資 | try! Swift Tokyo 2018 Day2-17

開発者のツールと経験を向上させるためのアイディアを探すにはどうすればよいでしょうか?新しい開発ツールを作成するか、開発プロセスを調整することで、日々の開発における共通の苦しみとその改善方法を見ていきます。 10倍の開発者がいるなら、その人は他の10人の開発者の生活をより良くするものに取り組むことを決めた人です。 開発者ツールと経験への時間投資 UXはわかると思いますがDXとは何でしょう 変更の検証に時間がかかるとかメンテナンスが複雑だとかどれ位バグレポートに時間を要するか。 …

VisionとCoreGraphicsで顔をデカくする | try! Swift Tokyo 2018 Day2-16

タイムテーブルにありませんが1件ライトニングトークがあります。 VisionとCoreGraphicsで顔をデカくする Timersのアプリには顔を大きくする機能がついています。 突然、1週間で顔を大きくする機能を作って欲しいと言われました。 顔の領域がわかれば大きくすることができますね CoreImageでは頭部を含まない CoreMLを使うには、顔だけを認識するのは見つからないし新たにやるにはコストが高い そこでVision これらを使います。輪郭、鼻の位置などを得られる…

型とパフォーマンスで見るType-erasureの利点 | try! Swift Tokyo 2018 Day2-15

2016年のtry! Swiftで紹介されてから誰もが知るところとなったType-erasure、これを採用するメリットを型とパフォーマンスの面から紐解きます。また、stdlibのAnySequenceの実装をヒントに、効率が良くパワフルなType-erasureの実装を探っていきましょう。 型とパフォーマンスで見るType-erasureの利点 今日のコンテンツは用意しています。Swift4.1、Xcode9.3ベータが必要です。 これで大事なことは伝えられたので好きなこと…

Swiftが動くDockerコンテナの各OSの性能比較 | try! Swift Tokyo 2018 Day2-14

Swiftがオープンソースとして公開されてLinuxサポートがされてから数年経ち、サーバーサイドSwiftの導入・運用事例が増えてきました。その間にもSwiftはアップデートされ続けていて、Swiftのバージョンを複数の開発・運用マシンで揃えることのコストが高くなってきています。このコストを削減するためにDockerを用いると、Swiftのバージョンを固定したコンテナ型の仮想化環境を用意できるので、マシンのローカルのSwiftのバージョン依存することなく開発することができます…

UIImageView vs Metal | try! Swift Tokyo 2018 Day2-13

MetalはGPUへのアクセスを提供するAPIで、OpenGLより10倍速いという謳い文句で登場しました。本セッションではMetalの基礎を解説しつつ、そのグラフィックス描画性能をUIImageViewと比較してみます。 MetalのAPIを直接利用する機会がなくても、Metalはあなたのアプリの裏で暗躍しています。身近なクラスとの比較を通じて、普段我々が意識することのないGPUのレイヤで何が起きているのか、目を向けてみるきっかけになればと思います。 UIImageView …

iOS / Swift における対話型インターフェースの作成 | try! Swift Tokyo 2018 Day2-12

アプリで対話型インターフェースを実現するための最新技術を紹介します。AppleのAPIとAmazon Lexのような他社の技術による音声認識を見てみましょう。また、音声再生における別なストラテジーについても紹介します。さらに、アプリで対話型インターフェースを構築するにあたってのベストプラクティスについてもお話します。 iOS / Swift における対話型インターフェースの作成 ウェンディと申します。対話型インターフェースをiOSで作る 少し自己紹介です。5年、Pintere…

Codableが導く型安全な世界 | try! Swift Tokyo 2018 Day2-11

CodableはAPIのレスポンスをマッピングするためだけの機能ではありません。Codableは様々な場面で利用でき、ソースコードを型安全にすることができます。このLTではCodableをフル活用するためのアプローチや、よりアグレッシブなCodableの活用方法をご紹介します。 Codableが導く型安全な世界 データへの変換をプロトコルとCodableで組み合わせる UserDefaultへStructやClassが保存しやすくなる Codableはプロトコルと相性が良いで…

デジタル信号処理 in Swift | try! Swift Tokyo 2018 Day2-10

デジタル信号処理の分野に潜って、Apple の Accelerate framework が高速フーリエ変換を使ってどうやってオーディオ周波数を特定しているのかを見てみましょう。Swift のような強力な言語でオーディオサンプリングレートを分解する方法を対話的なデモを通して見てみましょう。 デジタル信号処理 in Swift NYから来ました。iOSでは珍しい処理、DSPですデジタル信号処理。 信号を扱うので他の分野と一線を画しています 映像の増幅や音声認識 DSPのテクニッ…

Swift5のOwnershipに備える | try! Swift Tokyo 2018 Day2-9

Ownership(所有権)は今年後半に登場予定のSwift5で追加される機能です。ABI安定化に向けても重要な機能ですが、Ownershipを使いこなすことでメモリコピーを減らすことができ、プログラムのパフォーマンスを向上させることができると期待されます。本セッションでは、昨年公開されたマニフェスト(OwnershipManifesto)に記載された内容を元に、Ownershipの概要をご紹介します。 Swift5のOwnershipに備える 名刺管理アプリを開発しています…

Swift エンジニアのための Kotlin 入門 | try! Swift Tokyo 2018 Day2-8

Kotlin は JVM に書かれた関数型言語です。あなたのAndroid開発者の友達は、この言語の登場をとても喜んでいることでしょう。Swiftとの共通点が多いこの言語を学ぶことで、Android チームのメンバーとコミュニケーションが取りやすくなります。Swiftの視点からこの言語を眺め、何が同じで何が違うのか、他の言語を書いている人が羨ましがるのはどの辺なのかを見てみましょう。 Swift エンジニアのための Kotlin 入門 始める前に申し上げたいこと、@d_dat…

拡張現実における体験設計 | try! Swift Tokyo 2018 Day2-7

技術が現実世界でよりユビキタスになっていくにつれて、経験がスクリーンや物理空間からはみ出てくるのは避けられません。VRや声のように、また10年前モバイルアプリケーションがそうだったように、拡張現実 (AR) は未知の段階にいる新しい技術です。 David Hoangは、ARの設計で経験したことをお話します。このトークでは、優れたAR体験を実現するためのベストプラクティス、物理的なプロトタイプ作成方法、AppleのARKitを使ったコンセプトを紹介します。 拡張現実における体験…

iOSでCharlesを導入する | try! Swift Tokyo 2018 Day2-6

…することができます。try!Swift Tokyoでは、Charles Proxy の作者である Karl が Charles for iOS という新しく強力なアプローチを発表します。これにより、あなたのiOSデバイスでトラフィックを直接キャプチャすることが可能となります。 www.youtube.com 追記 (2018/03/28) トークの際には審査中だったCharles Proxy for iOS がリリースされました Charles ProxyXK72ユーティリテ…

超解像+CoreML+Swiftを使ってアプリの画像データ転送量削減に挑戦する | try! Swift Tokyo 2018 Day2-5

…yswiftconftry! Swift Tokyo 2018 でLT登壇しました&学習済みCoreMLモデルを公開しました - kenmazの日記https://t.co/A95eEn4mht— kentaro matsumae (@kenmaz) 2018年3月10日 超解像+CoreML+Swiftを使ってアプリの画像データ転送量削減に挑戦する こんにちは、DeNAのまつまえけんたろうです。 始めて英語でプレゼンテーションします。 今日は超解像度+CoreMLです。 低…

Kitura で Codable ルーティング | try! Swift Tokyo 2018 Day2-4

Swift 4では、Codable が導入されました。これは、JSONEncoder や JSONDecoder を通して、JSON を扱いやすくしてくれるものです。 JSONのエンコードやデコードが、RESTful API を扱う際の一番複雑な部分です。Codable を使うことで、 Kitura 2.0 は JSON の処理の責務を受け持ち、型安全な方法で、独自の Codable 型で直接処理できます。KituraKit を用いることで、iOS アプリとサーバーサイドの間…

Swift によるアルゴリズムの可視化 | try! Swift Tokyo 2018 Day2-3

視覚教材は、アルゴリズムがどのように機能するかを明確にするのに役立ちます。 このトークでは、UIBezierPathがどのように動作するかを、我々が見ることができるインタラクティブな方法で、アルゴリズムを再実装して調べてみます。 Swift Playgroundを使って、実装のフィードバックをすばやく入手し、学習ツールとして使用することができます。 Swift によるアルゴリズムの可視化 ベジエ曲線についてお話しましょう 一つ一つのピクセルをレンダリングするのではなく4つのポ…

Swift もくもく会 in Barcelona | try! Swift Tokyo 2018 Day2-2

バルセロナで開催した Swift Peer Lab の体験についてお話します。コンセプトから説明し、これがあなたの街でもでき、簡単で価値ある体験が得られると思っている理由を説明します。いくつかのTipsについてもお話します。 Swift もくもく会 in Barcelona デベロッパを一箇所に集めるという取り組みです。素晴らしい人が集まりました。決まった規則などはないですが、ホットなトピックを話したりOSSに貢献したりしています。お互いのプロジェクトを助け合ったりもするわけ…

Expression Problem を解決する | try! Swift Tokyo 2018 Day2-1

UIKitでは、一連の UIView と UIView のサブクラスをまとめてビュー階層を記述します。UIViewをサブクラス化することによって自分自身のビューを作成することもできます。しかし、この View Description をAppKitやシリアライゼーションに再利用することはできません。UIKit と似たようなものに EnumKit があり、 View は列挙型のケースとして提供されています。これで View Description を使いまわすことができますが、…

AST メタプログラミング | try! Swift Tokyo 2018 Day1-15

Swift にはランタイムにおける動的な振る舞いがほとんどありません。コード注入の実現方法や、AST を用いたアスペクト指向プログラミングについてお話します。 AST メタプログラミング こんにちは、フリーランスでデベロッパーです。メタプログラミングの手法の話をしたいと思います。 メタプログラミングは興味深いと思います。 ASTとは、通常見られません。ですが開発ツールを通してみなさん利用していると思います。幾つか種類があります。違いを説明していきます。 ASTは抽象型シンタッ…

👾 | try! Swift Tokyo 2018 Day1-14

インディーズゲームの開発者の多くは、開発にSwiftを使ったことがありません。Swiftでモバイルゲームを作ってみましょう。このトークでは、Swiftでカジュアルゲームを作る方法を紹介します。SpriteKitやゲームのアルゴリズム、ツールについてもお話します。インディーズゲームの開発者になりましょう! 👾 iOS開発基盤エンジニア Fastlane開発もしています でも世を忍ぶ仮の姿で、インディーズゲームを作っています 去年AppleWatchでマリオをやったり、ハッカソン…

Protocol Oriented WebAPI Abstraction | try! Swift Tokyo 2018 Day1-13

今やスタンドアロンで動くiOSアプリは数少なく、ほとんどのアプリではWebAPIを経由してサーバーと情報のやり取りを行います。アプリの動作の根幹となるAPI通信を適切に設計し、将来の改修や通信/マッピングライブラリの入れ替えなどをより容易にするためのプロトコル指向なAPI定義の仕方と、さらにそれとRxSwiftを組み合わせた型安全なAPI抽象レイヤーの設計について紹介します。また、ここで話す内容をフレームワーク化したAbstractionKitの紹介をします。 Protoco…

ブロックチェーンのクライアントをSwiftで実装する | try! Swift Tokyo 2018 Day1-12

Swiftにおける分散アプリケーションの作成について紹介します。 ブロックチェーンのクライアントをSwiftで実装する Swiftでブロックチェーンクライアントを書くことの話をします Ethereumとインタラクションを起こすフレームワークはありません。コントリビューションのチャンスがあるといえるかもしれません ニックネームを国ごとに決めています。卵です。これは非常に有名な卵ですね ブロックチェーンは分散化されたものですが、みなさんに是非参加してほしいと思っています。 Jav…

UI Test の楽しさとメリット | try! Swift Tokyo 2018 Day1-11

多くのiOS開発者はユニットテストには精通していますが、Xcodeを使ったUIテストを行なっていない方が多いと思います。自分のアプリに UI テストを導入した際のハイライトと、すべてをテストすることの苦労を共有します。 UI Test の楽しさとメリット ビジネスロジックとDBのインテグレーション コードのテストは簡単です。DIでXMLでクラスを設定して、、、 まだUIがなかったのでUIテストを心配する必要はなかったのです これがテストとの蜜月だったといえるでしょう ですが5…

我が家を支えるSwiftの技術 | try! Swift Tokyo 2018 Day1-10

Swiftは我が家庭内のコミュニケーションには欠かせない技術となっています。育児用のiOSクライアントアプリ、そのリクエストを受け取るWebサーバー、ちょっと便利なSlackBot、妻が喜ぶ定期実行タスクなどなど、いろんなものがSwiftによって作られ活用されています。数え切れないほどある中で厳選した幾つかを紹介したいと思います。 我が家を支えるSwiftの技術 先月第一回目を開催しました 有益な何いかを作れないかと家庭内でできそうなことを探しています アプリ、Web、Sla…

SwiftyPi | try! Swift Tokyo 2018 Day1-9

モバイル開発からサーバーサイドアプリケーションまで、我々はSwift 言語に柔軟性を見出だし始めています。ですがまだSwiftには開拓されていない領域があり、Swiftエンジニアがその可能性を切り開くかもしれません。このトークでは、Kate が Raspberry Pi で Swift の開発環境を構築するにあたって良かったこと、悪かったことについてお話します。 speakerdeck.com SwiftyPi 次のフロンティアにSwiftを連れて行ってくれるものです 組み込…

変性のダイヤモンド | try! Swift Tokyo 2018 Day1-8

ジェネリクスはSwift言語における悩みの種となっている面白いトピックです。Generics Manifest では、Swift の型システムが定義よりも実践に重きを置いて作られたかについて素晴らしい説明がされています。ですが、「変性のダイヤモンド」という理論では、型システムの完全性とSwiftのジェネリクスがいかにこの理論にフィットしているかを別の視点で見ることができます。 このトークでは、Swiftにおける変性、共変性、反変性と、ダイヤモンドの上に輝く、Phantom T…

Event driven networking for Swift | try! Swift Tokyo 2018 Day1-7

Swift が iPhone, iPad, Mac, Apple Watch そして Apple TV のアプリを開発する言語として選ばれていることはみなさんご存知でしょう。この数年、Swift は Linux で動作するサーバーサイドアプリケーションを開発するのにも優れた言語としても浮上してきました。現在、Apple, Facebook, Google, Netflix, Twitter などの企業が運用する大規模な環境では、Java、C ++などの言語による、パフォーマン…