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

このたび 株式会社技術評論社より出版される モバイルアプリ開発エキスパート養成読本 をご恵贈いただきました! 嬉しくてとにかく高評価してしまいそうですが、早速感想を書かせていただきたいと思います。 なお、こちらの本は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サービス構築に必要なことと、ハイパーメディアと宣…

UIをSwiftyに書く | try! Swift Tokyo 2017 #tryswiftconf Day1-10 聞き起こし

twitter.com この講演では、Swiftの構造と特性がアプリとUIのコードをより完結に書けるようにしているかということを探っていきます。 私たちは、UIレイヤーを構築する際の一般的な落とし穴と課題を見ていき、それを改善するためのSwiftyな方法を検討します…

データレイヤを分離する (LT) | try! Swift Tokyo 2017 #tryswiftconf Day1-9 聞き起こし

twitter.com 真の階層化アーキテクチャ(MVVM, Viper, etc)において、データ層は全てのデータを必要とする他の層よりも下層部に置くべきです。残念ながら、CoreData や Realmなどのような同類の技術において、このレイヤーの実際の実装の詳細(スレッドやコン…

クックパッドアプリのテストを味わう | try! Swift Tokyo 2017 #tryswiftconf Day1-8 聞き起こし

twitter.com 品質やテストの話は往々にして提供するサービスやアプリのコンテキストに依存します。クックパッドのiOSアプリを題材にして、私たちが機能的な品質を保つためにどのようなテストを行ってきたかをお話します。特に、自動化されたテストに関してお…

Unsafe Swiftの安全性 (LT) | try! Swift Tokyo 2017 #tryswiftconf Day1-7 聞き起こし

twitter.com Swiftは、デフォルトで直接メモリアクセスを許可しないことで、未定義の動作から保護します。 Swiftのunsafe系APIは、読みやすく、Unsafeでなくてはならない部分のみを書くのに役立ちます。 Unsafe Swiftの安全性 定義されていない振る舞い クラ…

毎日リアクティブ | try! Swift Tokyo 2017 #tryswiftconf Day1-6 聞き起こし

twitter.com In this talk, we’ll walk through some practical uses of reactive programming in app development, using examples from my daily experiences. We’ll explore tips and tricks for determining when reactive programming can be a potent …

Pixcels、プロセスと情熱 | try! Swift Tokyo 2017 #tryswiftconf Day1-5 聞き起こし

twitter.com This talk will be about all the in-between stuff when it comes to building products. Focusing on the process rather than the outcome and letting passion and people be the driver. I will tell about my latest personal project and…

アプリを新次元に導く3D Touch | try! Swift Tokyo 2017 #tryswiftconf Day1-4 聞き起こし

twitter.com In this talk, we’ll learn about what the 3D Touch APIs have to offer and best practices for using them. We’ll see what is provided out of the box and what customizations were added in iOS10. Throughout the talk, we’ll explore s…

SwiftのPointy Bits | try! Swift Tokyo 2017 #tryswiftconf Day1-3 聞き起こし

twitter.com Swift offers remarkable performance while still providing safety through strong types, value semantics, and automatic memory management. For those times when you need to step outside those boundaries, however, Swift also offers…

Swift on Android | try! Swift Tokyo 2017 #tryswiftconf Day1-2 聞き起こし

twitter.com This talk will give you a conceptual understanding of how Swift works on Android and how you can use it. The first part of the talk focuses on how to make Swift (just the core language) work on Android, including an introductio…

Swift開発者が知りたかったけど聞きにくい機械学習のすべて | try! Swift Tokyo 2017 #tryswiftconf Day1-1 聞き起こし

twitter.com The news says machine learning is the Next Big Thing. But machine learning is happening way over there, on servers, in universities and in big companies with big data. What is it really, and what does it mean for over here, on …

ターミナルでとにかくカレントディレクトリの .xcworkspace ファイルをXcodeで開くワンライナー

ターミナルで pod install とかしたらそのままターミナルからプロジェクトを開きたいですよね。 そういうときは open -a Xcode.app XXX.xcworkspace でプロジェクトを開けますね。でも、これ毎度入力するの面倒ですよね。 そこで、Dashとかに登録してスニペ…

【Apple iOS ATS】一部サイトではPV減も。NSAllowsArbitraryLoads とその InWebContent は違う件。

NSAllowsArbitraryLoadsInWebContent の挙動が予想外な件について(2016/12/13 13:26 最新のiOS10.2について追記あり) お知らせ App Transport Securityについて、こちらの勉強会でたっぷりお話しいたます。ご参加いただけますと幸いです。 nsstudy.connpass.…

App Extension 上で UINavigationBar.appearance() が HostApp から影響を受ける問題を回避する

ちょっとマニアックな情報ですが、ドキュメントのどこにも書かれていないとっておきのネタです。 Action Extension、またはShare Extensionを開発していて、UINavigationBarを利用しているという方はぜひご覧ください。 この記事は Cocoa Advent Calendar 20…

XcodeのPlaygroundが僕の無茶苦茶なコードを勝手に実行して自滅するので手動実行にして実行ショートカットキーを割り当てた

XcodeのPlaygroundはコードを書いてるそばからその実行結果を視覚的に表示してくれる、インタラクティブなSwiftプログラミング環境です。 コンパイルが必要なプログラミング言語であるSwiftを、書いているコードに対応付ける形で、処理過程〜結果をリアルタ…

AWS初心者がAWSをマスターするための入門構成とそこからのステップを聞いてきた

iPhoneプログラミング勉強会京都に行ってなぜかAWS(Amazon Web Service)についての発表を聞いてきました。 続いて、AWS ALBでバグを踏んだ話株式会社シーズ の原口さんhttps://t.co/PYNP5CCoEz#iphonekyoto— にわタコ (@niwatako) 2016年10月19日twitter.com…

WordBench 京都 & ng-kyoto 10月勉強会 に行って昨今のWP REST APIとAngularJSとまちづくり(!?)の事情を聞いてきた

今日はWordBench 京都 & ng-kyoto 10月勉強会 にブログ書く枠で参加してきました。スライドの写真を撮りながら、喋ってることを打ち込んでリアルタイムにブログ記事に書く、聞き起こしブログをやってきました。 どんな勉強会? WordPressのREST APIとAngular…

WordPressユーザーのためのAngular 2.0 & Progressive Web Appsの話 - WordBench 京都 & ng-kyoto 10月勉強会 #wbkyoto #ng_kyoto #wordbench

twitter.com Angular 2.0やProgressive Web Appsなどのちょっと未来を感じるフロントエンド技術について、 WP REST APIと組み合わせたサンプルなどを交えつつざっくりと紹介します。 発表資料をアップしました。詳しい話はリンク先を読んでください。 #wbkyo…

WP REST API + React / AngularJSではじめるWebアプリケーション - WordBench 京都 & ng-kyoto 10月勉強会 #wbkyoto #ng_kyoto #wordbench

twitter.com WP REST API、話題になってきていますね。 ですが実案件ではなかなか使用することがないのではないかと思います。 今回は個人で手軽に楽しめつつ、Webアプリケーションっぽいものを作る方法をご紹介します。 さっきのスライドです。WP REST API …

Vue.jsとその未来 2.0 - WordBench 京都 & ng-kyoto 10月勉強会 #wbkyoto #ng_kyoto #wordbench

twitter.com 一昔前のフロントエンドの開発手法に慣れていて移行したいかたや、サーバーサイドエンジニアで少しフロントエンドも関わってみたいかたにもおすすめできる、 シンプルでわかりやすく、かつ強力なフレームワークであるVue.js。 今回はVue.jsに関…

#iosdc 2016 LT-10 英語が苦手すぎて財布を店員に渡して会計を任せる僕が、ATS必須化についてAppleのエンジニアに英語で聞いてきた生存戦略

twitter.com speakerdeck.com 英語が苦手すぎて財布を店員に渡して会計を任せる僕が、ATS必須化についてAppleのエンジニアに英語で聞いてきた生存戦略 こんにちは にわタコです 聞き起こしブログ書いています 普段は はてなブックマークのiOSアプリを開発し…

#iosdc 2016 懇親会LT 1 今日のネットワーク良かった?

conbuについてはググッてね☆(ゝω・)v 譜面台に無線LANルーターを貼り付けて配置していました。今日今回の配線図がこちらです ケーブルの長さが500メートルぐらいでした。 ヒートマップを作っています。リアルタイムで見ながら調整をしていました。 左が、…

#iosdc 懇親会LT 3 初めての自作ライブラリScrollingFollowViewを紹介してみる

昨日はアニメーションの話をしました。 縮小は上手く行ったけど拡大が上手く行かなかった 動いた!(会場?) 今日は id:niwatako さんに負けないようにブログを書きました! 初ライブラリリリースしました pixivとかFacebookとか、スクロールビューに付随して…

#iosdc 懇親会LT 4 吾輩はCompound Typeである 〜タプル型と関数型の正体を探る

FiNCさんでお仕事しています。 OSSライブラリ、マイクロライブラリ作っています。 Extensionよく使っていますよね? だんだん全ての方をExtendすることしか考えられなくなります でもタプルにはExtension書けない 型には2種類ある ではなく 一旦抽象化すると…

#iosdc 懇親会LT 2 エンジニアには本当にデザインのセンスが無いのか

最近勉強しているんですけど原則があるそうです 見出しだけ変えましょうとか 同じデザインでデザインを作るとか ビシっと揃えるとか 良いコードをぱっと見た時、iOSエンジニアならパット見で分かる。 これソースコードに似てないですか? エンジニアもデザイ…

#iosdc 2016 A-10 Xcode で快適なデバッグライフを追い求める

twitter.com 僕は怠惰な人間です。プログラミングの大半はデバッグに時間を費やすと思っているので、なるべく早く原因に辿りついたり効率のよいデバッグライフを送りたいと常々思っています。 プリントデバッグもいいのですが Xcode には便利な機能が色々と…