iOSDC 2019に参加した感想(1日目LT TrackB)

f:id:binz:20190906200002p:plain

はじめに

2019年9月5~7日にかけて行われた、iOSDC2019に参加しました。

iOSDCとはiOS関連技術をコアのテーマとした技術者のためのカンファレンスです

 

iosdc.jp

 

主にLTを聞いた感想をざっくりと書いていきます。

目次

 

Track B 前半

 

今だからこそ理解しよう、輸出コンプライアンス

 

 

iOSアプリはあくまで米Apple社からのダウンロード商品なので、アメリカの輸出規則に縛られる(Google Playも同様)

なので、リリース時に手間が必要が必要な場合がある。

日本語向けの情報もあるので活用しよう!

 

これからセキュリティ上暗号化をするアプリはどう考えても増えてくので、こういったコンプライアンスに関わるかどうか知ることは重要になってくると思いました。

実装する立場のプログラマーも法律について詳しくなるのも大事かも知れないと思います。

 

 

5分でわかる!Xcode 11から使えるXCFrameworks

 

 

XCFrameworks : 新しいバイナリ配布用フォーマット

必要性 : Swiftのフレームワークのバイナリ配布へのサポート、マルチプラットフォーム対応

 

バイナリ配布のシチュエーションが思いつかなかったので調べてみたのですが、ライブラリを配布したりするときに使うようです。どうもライセンス周りが複雑で、配布は注意した方がいいと思いました。

短時間にあれだけ詰め込んで、早口で話してよく噛まないと思いました。

 

先生のことをお母さんって呼んでも大丈夫。そうObjecive-Cならね

Objective-Cの動的にメソッドを追加する黒魔術について

 

動的書き換えは、なるべく使わないようなコードを心掛けたいですね…

先生を呼び間違えるたとえ話が面白く、とてもテンポの良い発表でした

タイトルのミスタイポすら話のネタにできるのは凄いと感心しました。

 

iPhone 設定をアプリから操作してらくらく環境構築 

 

iPhoneの設定は設定プロファイルを読ませることで書き換えられる

用途例 : WifiQRコードから接続

設定ファイルをlocalhostに立てたサーバーからダウンロードすることで、アプリから書き換えを実現

 

セキュリティ的に注意しながら使えば、面白いことができるかもしれないと思いました。

アプリでのローカルサーバーの使い道にこのような方法があるのだと感心しました。

 

Amazon Pinpoint でユーザーに合わせたプッシュ通知を実現する

AWS Pinpoint : プッシュ配信に関連したサービス

個別の配信より、全体や一部に向けたキャンペーン向き

AWSを一貫して活用することができる

 

iOSに限らず利用することができる場面はありそうだと感じました。

データと結びつくとよりセグメントに合致したプッシュ通知をするといったことができると面白そうと思います。

 

SOLID原則を生活に適用する

 

オブジェクト指向の設計原則を人生設計にも生かそう! 

 

日々の生活も抽象化する視点をもつことで、新たな発見と既存の法則の活用ができるという発見は素晴らしいと思います。

資料の方にはあった、ハンマー釘病にも注意したいと思います…

 

Track B 後半

簡単なアプリを作れるようになった!からその先に進むために

 

iOSアプリ開発の初心者から、次のステップを進むためにできること

  • 手本をまねる
  • 原理を学ぶ
  • コミュニティに参加する

 

iOS初心者、またSwiftに限らず、ソフトウェア開発のエンジニアとして成長するのに、当たり前といえば当たり前だけれども、重要なことと思いました。

こうしてブログを書くなど、アウトプットを頑張りたいです。

 

tvOS 13にちょっと注目してみる

 

Appleも力を入れているtvOSの動向

Immersive(没入感)、Interactive(インタラクティブ)を実現する機能の追加

 

NetflixやFireTVなど競合との競争が激しいのが、力を入れる背景にあるのかと思います。

 

 

iOSエンジニアでもできるIoTガジェット作成、基板発注もう何も怖くない

 

Iotガジェットを作るのに必要な物とそれの用意の仕方について

マイコン : 初心者はちょっと高いけどArduinoがおすすめ

電子工作 : いろんなセンサーがあるよ!

ソフト : いろんなサンプルがあるよ!

チーズ削り(MacPro)を実装してみた!

 

IoTがバズワードとなって久しいけれども、実際に作ってみたことがある人は少ないと思うので、こういう始め方があるとうれしいと思いました。

この5分のLTのために、ちゃんとIoTガジェットをつくるのは凄いと思います。

 

CallKitを実装してはまったところをお話します

CallKitを使うことで着信表示を設定できる(データベースを利用することも)

ハマったこと/対処

  1. Extensionとバイナリ間はやり取りできないので、DBを挟んでやり取り
  2. 完了メソッドを呼ばれないままエラーになると、インジケーター回りっぱなし
  3. 中国だと検閲の関係?でAPIが使えないので、配信を断念

 

CallKitを活用すれば架空の人間から電話を受け取るとかできそうですね。

逆になりすましとかに悪用されないよう注意する必要もありそうと思いました。

iPhoneは電話です

 

値オブジェクトへのCodable対応

JSON内の同じ型で別な役割の値を渡してもエラーが発生せず気づかない場合があり得る

JSON内の必要な値を渡すためにCodable対応(値オブジェクトを導入)する

単一の場合を扱う場合はsingleValueContainerを使う

 

型の検査やランタイムエラーを防ぐ仕組みに厳しいSwiftでは、とても重要なことかと思いました。

Twitterを覗いて気づいたのですが、JSONのオブジェクトが自己紹介にもなってるんですね!

 

まとめ・全体の感想

みなさん5分間にきっちりまとめていて凄いと思いました。

短いながらも、日常のなかの情報収集では気づかないような、新しい発見があってよかったです。

 

Octocatをアイコンに使う方法

 

Octocatとは

Octocat(オクトキャット)Githubのマスコットキャラクターで、Githubのエラーページなどで見かけることができるキャラクターです

ITエンジニアの界隈ではよく、そのキャラのステッカーをPCに貼っている人を見かけます。

Octcatというのはその種族の名前で、キャラクターの名前はMonaLisaだそうです。公式のTwitterもあります。

 

twitter.com

 

Octocatのアイコン配布場所

Octocatは以下のOctodexで画像を公開しており、個人でのアイコンの画像として使うことが、許可されています

 

Q: Can I use an octocat as my avatar?

You can use an octocat as your personal avatar, but not for your company or a product you're building. You are welcome to show your <3 for GitHub, but not appear as if you == GitHub.

 

 

octodex.github.com

 

自分でデザインしたい場合

また、最近では自分でカスタマイズできるサービスも公開されており、好みの恰好をさせることができます

myoctocat.com

 

自分ではこんなのを作ってみました

f:id:binz:20190529132050p:plain

自作Octocat

 

まとめ

Octocatは個人利用のアイコンとして使う分には問題はないようです

参考文献・参考ページ

https://github.com/logos

https://goodpatch.com/blog/tech-mascots/

https://nlab.itmedia.co.jp/nl/articles/1506/09/news113.html

 

 

技術書典6に、はじめてサークル参加してきた感想

さる4月14日(日)に池袋サンシャインシティ、文化会館ビルにて開催された技術書典6にサークル参加し、技術同人誌を頒布しました。

技術書典とは技術に関する書籍を販売・購入するイベントで、今回で6回目になります。回を重ねるごとに注目度は高まっており、メディアにも取り上げられています。

 今回は1万人を超える参加者がおり、とても盛況でした

今回、私は友人とともに初めてサークル参加し、自分たちで同人誌を書き頒布をしました。その結果、物理本はめでたく完売となり、想像以上に手に取っていただけました。本エントリーではその経験について、準備から終わった感想まで書いていこうと思います。

続きを読む

初めての海外旅行で、香港にて学会発表をした

4泊5日で、初めての海外旅行で香港に行きました。この旅行では初めての国際学会での発表があり、とても貴重な経験を出来ました。

現地に前日入りするため、朝早くから羽田空港へ行くことになり久しぶりに夜明け前に起きました。

f:id:binz:20190212160512j:plain

手荷物検査で国内とは異なり、ペットボトルと液体は持ち込み禁止であることを知りませんでした。やむなく中身の残ったボトルはゴミ箱行きとなりました。

飛行時間は5時間で、朝早かったこともあり半分ほどは寝ていました。映画などコンテンツはたくさんあったのですが、次の日の最初のセッションで発表であったこともあり、原稿を読み直ししたりしてました。

途中に機内食がでて、私は洋食を選びました。デザートにはハーゲンダッツもつきとても美味しかったです。ただ座席の机が狭く少々食べづらかったです。

f:id:binz:20190212161437j:plain

 

香港は入国審査時に事前にカードの記入が必要で機内で内容を記入しました。

香港には現地時間13時ほどにつき、とても気温が高いことに驚きました。
事前のGoogleでの調査では20℃くらいかなー、とか思っていましたが、ついたときは27℃ありました。寒暖差20℃ぐらいですね。


入国審査はパスポートを見て、虹彩?を記録するカメラを向いて終わりでした。
パスポートは投げるように返され、日本人はほぼ何にも審査されないというのは割と本当らしいと感じました。

荷物を受け取って、香港市街の方へ向かうため空港でオクトパスカードを買いました。
オクトパスカードは日本でいうSuicaのようなもので、交通機関ほかコンビニ等の決済にも利用できます。とても便利です。

 

f:id:binz:20190212160714j:plain

MTRを使ってホテルをとった油麻地という場所まで移動しました。
道中のエスカレーターは右寄せで、とても速かったです。

地下鉄道中の広告には、ちらほら日本語の書かれた広告や、日立とかパナソニックなど日本の企業の広告が見られました。


駅の出口をでると、あぁ本当に海外に来たんだなぁ。と感じるほど異国の情景が広がっていました。

f:id:binz:20190212160818j:plain

やたらに派手なネオンサインや、室外機がでた煤けた高層ビル、たばこや水場の異臭の混じった香りなど、なかなかに強烈なものでした。
ただ、セブンイレブンは至る所にありました。

ホテルのチェックインでは、クレカの確認と名前の確認、デポジットとして500ドルを預ける必要がありました。
デポジットの額が大きかったので多めに両替しておいてよかったです。

ホテルの部屋は4階でとても狭かったです。スーツケースを開くと足場がなくなるくらいです
湿気が高いせいか、入ったときカビ臭い感じがしましたが、じきになれました。
エレベーターが英国式の名残でGからでした。

 

ホテルから大学までは1時間ほどで、香港の中心からは離れたところにありました。

f:id:binz:20190212160922j:plain

発表はとても緊張し、ほぼ原稿丸読みでした。
質疑はてんぱってあまり聞き取れず、チェアの人が言い換えてくれたのでとても助かりました。

 

食事は主に朝食はコンビニでパンなどを買って、昼食は学会の昼とマックを食べました。
マックは日本とほぼ同じでしたが、少しポテトの塩みが少ないように感じました。他の国でも比較してみたいです。

夕食は店や屋台で食べました。男人街の屋台で食べたカニは高かったですが、美味しかったです。

f:id:binz:20190212161041j:plain

食事はとても満足のいったものが食べられ、とても楽しかったです。またビールなどお酒が日本よりも安いので、お酒が好きな人はもっと楽しめると思います。

 

観光は屋台や夜景など、観光地を巡ることができました。

f:id:binz:20190212161210j:plain

帰りの便ではボヘミアンラプソディを見ていました

 

総括として発表の仕方や英語には反省があるものの、初めての海外旅行、国際学会発表としては満足できるもとだと感じました。
この経験を次の研究や日々のモチベーションに生かしたいと思います。