🍓2017年振り返り

f:id:banjun:20171230012719p:plain

勉強会

昨年は東京に来たばかりで,勉強会に参加しはじめた,というところで数はほとんどなかった。今年は積極的に行こうとした。 昨年末のアイマスハッカソンで初LT経験したので,今年は2回登壇を達成した(前年比でみれば,2倍である‥)。 参加した勉強会は次のとおり (🎤=登壇) 。参加費がそこそこのものは業務扱いにしてもらった。

1/21 Cookpad TechConf 2017
3/2-4 try! Swift Tokyo 2017
3/7 try! Swift Tokyo 2017 Aftershow
4/15 Swift Tweets 2017 Spring
4/17 AKIBA.swift 一周年記念勉強会!
4/26 WWDC Pre Party 2017 🎤 二度のWWDC出張であったことと変えたこと / thoughts in my 2 WWDC & what's changed for the second flight // Speaker Deck
5/17 アイマスエンジニア MeetUp in Tokyo
6/19 CA.swift #3 WWDC17 報告会
6/21 WWDC After Party 2017
6/27 GEEK GARAGE iOS vol3
7/22 Swift Tweets 2017 Summer
9/15-17 iOSDC JAPAN 2017
10/13 iOSDC 2017 Reject Conference days1
12/5 iOS Test Night #6 - 1周年 -
12/16 アイマスハッカソン2017 🎤 PhotoStudioPlayerをつくる技術 / PhotoStudioPlayer Technologies // Speaker Deck

勉強会に参加するにつれて,だんだんと知り合いが増えていくのは,とてもよいフィードバックループだった。勉強会で他の方を紹介してくれる・私を他の方に紹介してくれる方々には本当にいつも感謝しております。 年の中盤くらいまでは,名刺消費ペースが高かったが,終盤はわりと知り合いと話していたので,ペースが下がった。それはそれで楽しいが,また少し勇気を出してみたらいいかもしれない。iOSDCで運用されていたパックマンルール(数人で話すときに,話の環を1箇所あけておくことで,他の人が入ってきやすいようにする)は,良いものだったので,他の界隈でも普及してほしい。

今年のLT登壇は,緊張せずに楽しく喋る,という目標レベルだった。次は聴きやすいように喋りたいなぁと,YouTube Liveのアーカイブをみて思った。そうだ,YouTube Live顔出し配信実績解除も今年だった。

ライブ

今年はライブビューイング・ディレイビューイングを含めて,26日間ライブに参加した。その全てを,Apple Watch シリーズ2またはシリーズ3のワークアウトを使って心拍数を記録した。

f:id:banjun:20171229225703p:plain

心拍数を月別でみると,ライブにいった月の心拍数は高く,Watchの計測限界215に当たっている月もいくつかある。

f:id:banjun:20171229230050j:plain

日別でみると,2週間に二日ずつ心拍数の高い日があるのが今年の特徴である。特に8月は忙しかった。

f:id:banjun:20171229230054j:plain

アイマス

主にシンデレラ5thツアーを @tappi417 と一緒に回った。ディレイも含めて全日程(16日間)に参加した。宮城(両日)・大阪(Day1)・静岡(両日)・幕張(Day2)・福岡(両日)・SSA(両日)は現地参加できた。不思議なもので,どの回でも担当のありすを感じることができた。出演していたり,MCで言及されていたり,ソロのおねシン・ももありハイファイのCDが告知されたり,誕生日だったり。

ツアーの参加費用,チケット・物販・移動宿泊費・もろもろ,をまとめると,結構すごいことになっていた。iMac Proくらいは犠牲になったのだ‥?

アイマスハッカソンアイマストドンのおかげで,ライブ会場でいろいろな方と出会うこともできた。最初の宮城のときは,アイマスハッカソンノベルティのクリアファイルを目印に出会う,みたいなことをやっていた。
(アイマスハッカソンで言うとそれだけではない。 try! Swiftでもアイマスハッカソン経由の知り合いと複数出会うこととなった)
(さらにアイマストドンだと‥‥15年くらい前にiTools.jpというユーザーグループでiChatにいた人とライブ会場で再会することとなった。またオンラインチャットか‥!という感じでおもしろいですねアイマストドン)

アイマストドンといえば,SSAでフラスタが企画されたので,のっかった。初めて会場で自分の名前をみた。イラストもアイマストドンで分担して描いていたようで,良い試みだと思う。イラスト描けるようになりたい。

f:id:banjun:20171229235105j:plain

今年はミリシタが来たので,ミリオンライブにも入門した。最初のライブは武道館のハッチポッチだった。予習不能ということで,(鍋だけに)フタを開けてみれば765の古い曲だけ知っていた,という感じだった。2週後にディレイビューイングがあるということで,それまでにCDほほぼ全て買い集めて復習して,2週後を迎えた。まさにハッチポッチは二度おいしかった。

プリパラ

1月のミュージカルから。平日の昼間だった。座席の通路も使うミュージカルで,通路から近いランウェイシートに座っていた。近い。プリパラのライブでちょっと違和感があるのはメイキングドラマの部分だが,ミュージカルにして小道具とかで演出してしまえば相性良いのだなぁと思った。退場時にi☆Risメンバーとハイタッチがついている回で,列の進みは遅いので,ゆっくりスッと手を合わせる感じだったが,不意にぎゅっとされてドキドキした。それからしばらくは会う人に「ハイタッチは,やばい」と言っていた。

サマーライブ・ウインターライブはアイドルタイムプリパラ。夏はオールスタンディングだが整理番号30以内という神ポジションを手に入れ,近い,かわいい・・,とやっていた。冬の席はふつうだった。ライブにいくと久保田未夢がかわいいと思う。伊達朱里紗は特に冬は本当に楽しそうでよかった。今年のマイブーム。

夏は1.5hスタンディング,冬は席があるが2h休みなしライブ,ということで,平均心拍数でいうと今年のトップ3のうち2つをしめる。

💓159 プリパラサマーライブ (2h強の平均) on 8/6
💓149 シンデレラ5th静岡Day1 (3h強の平均) on 6/24
💓147 プリパラウインターライブ (3h弱の平均) on 12/10

バンドリ

ガルパからバンドリへ。はっしーのドラムみたいじゃん?ってチケット取った。ミリオンもはじめたので,あいみんのギターもみたいじゃん?ってなってそこもよかった。 やはり,1000回潤んだ空,がちゃんと聴きたいのだが‥演奏も難しいんだろうなぁとは思う。がんばってほしい。

KOTOKO

id:mzpKOTOKOライブに誘われて行った。そこまで曲知っているわけではないし‥と過去のセトリで予習してみると,聴いたら分かるやつだった!,というのがいくつも出てきてびびっていた。 とはいえ来たら完全にやばいのはLeaf ticketかImaginary affairだけだし,と言っていたところ,Leaf ticketが来て大変だった。MCで2000年ごろのインターネットの話がでるのも心にくる。kotoko.ddo.jp...あれはだれがやっていたのかなぁ。

つくったもの・描いたもの

アプリとかライブラリ

Touch Barにアイマストドンのローカルタイムラインをどんどん流すやつ

imastodon.net

マストドンまわりはクライアントつくるのもたのしくて良い。なにか試したい技術があるときに,マストドンクライアントでやってみるか的なサンドボックス的な使いかたもできる。というわけでそんなクライアントを書いた。

GitHub - banjun/imastodon: mastodon client for iOS

iPhone XのSafe Area対応とかもこのへんで試しながらやっていたし,APIはtry! Swiftで話を聞いたAPI Blueprintを起こしてみて,生成した。API Blueprintから,型がきちんと付いたクライアントを生成する,SwiftBeakerというコード生成ツールもつくった。

GitHub - banjun/SwiftBeaker: Swift client generator for API Blueprint

マストドンのストリミーングAPIはWebsocketのほかにServer Sent Eventsも用意されている。しばらくはinaka/EventSourceをつかっていたが,PRが放置されるというのもあり,ReactiveSwiftとパーサコンビネータFootlessParserをつかって独自のSSEパーサーをつくった。

GitHub - banjun/ReactiveSSE: Server Sent Events (SSE) parser operators for ReactiveSwift

ReactiveSwiftは今年試した技術のなかで一番効果があった技術かもしれない。

デレステにフォトスタジオが搭載されてからは, PhotoStudioPlayerというアプリをつくった。

f:id:banjun:20171230000819p:plain

これはブログ記事にもしたし,アイマスハッカソンで発表もしてきた。 デレステフォトスタジオのリアルタイム透過プレイヤーをつくった - ツバメになったバリスタ

PhotoStudioPlayerは今までで一番反響のあるツイートとなった。 アプリアイコンは後からSketchで描いた。Pull Requestもいままでになくたくさん,複数の人からもらえて,github★も71まで増えた。これのおかげで,githubのTrending Swift Developerで,少なくも23位までは上がっているのを確認できた。

アイマスハッカソンでは, id:mzp と一緒に,ライブで記録した心拍数を,ライブBDの再生時にWatchのhaptick feedbackで再現する,というアイディアの,最初のコンセプト実装をつくった。

mzp.hatenablog.com

誕生日イラスト

Apple Pencilを買ってから,絵を描けるようになりたいと思っている(継続)。担当アイドルの誕生日イラストを描く,というのも一度やってみたかったので,今年挑戦した。橘ありすの誕生日がシンデレラ5th福岡の翌日だったので,当日の宿から投稿できるように準備していった。すべてiPadのProcreateとApple Pencilで描いていて,その作業時間によれば延べ22時間かかっている。

www.pixiv.net

当日は博多のキルフェボンでいちごを食べた。

P名刺

アイマスライブをとおして,こんなにP名刺をつかうものなのかと思った。自分のP名刺も作りたかったが,製作もさまざまな判断が必要で躊躇していた。今年のアイマスライブがおわって一段落してからやっと着手しつくった。ライブではもらうばかりだったが,最後にアイマスハッカソン2017までには間に合わせられた。

f:id:banjun:20171230001805j:plain

他のOSS活動

あんなにライブに行っていたのに,コントリビューションカレンダーは昨年の361から増えて444。そんなにやったかなという感覚だが,数でみるとかなりいい増加にみえる。

f:id:banjun:20171229222212p:plain

昼のお仕事のほうでは,3ヶ月に1回は外部にPRするという目標があった。これはCookpadの勉強会(かなにか)で,「社内外のエンジニアに貢献する」という観点があって良いというところから立てた。 結果としてPull Requestを12個出せて,うち8がマージされた。

performance patch for AEXMLElement.subscript by banjun · Pull Request #99 · tadija/AEXML · GitHub
better performance in accessing children by tag name by banjun · Pull Request #51 · cezheng/Fuzi · GitHub
Fix redefinition of module RSDayFlow error by banjun · Pull Request #121 · ruslanskorb/RSDayFlow · GitHub
Fix unwanted omitting events right after commented lines by banjun · Pull Request #75 · inaka/EventSource · GitHub
Fix infinite retry for 404 status code by banjun · Pull Request #76 · inaka/EventSource · GitHub
Fix nil headers/footers of sections are displayed in FormViewController in Xcode 9 by banjun · Pull Request #1214 · xmartlabs/Eureka · GitHub
Swift 4 Support by banjun · Pull Request #10 · kareman/FootlessParser · GitHub
podspec for iOS by banjun · Pull Request #11 · kareman/FootlessParser · GitHub
Fix waitForView cannot find UITableViewCell or label, and results in UITableView on iOS 11 by banjun · Pull Request #1010 · kif-framework/KIF · GitHub
Fix firstChild with namespace crashes parsing sibling non-namespaced nodes by banjun · Pull Request #73 · cezheng/Fuzi · GitHub
Runtime crash with Xcode 9.1 · Issue #22 · 1024jp/GzipSwift · GitHub
Fix random runtime crash processing discontiguous data by banjun · Pull Request #24 · 1024jp/GzipSwift · GitHub
Fix FieldCell titleLabel layout can overlap to its value label by banjun · Pull Request #1344 · xmartlabs/Eureka · GitHub

同名のpodが既に出てるがどうしたらいいのか?みたいな周辺のサポートまで広がることもあり,経験のバリエーションが増えた。Pull Requestを出すこと自体も経験値が必要で,次の経験値を生むので,継続していきたい。

SwiftBeakerをつくって公開していたので,Swagger Codegenに対するアドバイスを求められメールで議論するようなこともあった。

Feedback on Swift API client generator · Issue #5761 · swagger-api/swagger-codegen · GitHub

そして今年は‥Swift自体には特に貢献しなかったような‥?来年はがんばる。

🍓いちご

今年食べたいちご・いちごの食べ物・いちごの飲み物の写真を写真ライブラリから拾ってきたら,186あった。

f:id:banjun:20171230004709j:plain

シンデレラ5thで各地にいったので,いろんなところでいちごを食べた。

f:id:banjun:20171230004812p:plain

次のステージへ

2017年は勉強会とアイマスという軸をベースに,さまざまな活動量を上げられた年となった。 自分のなかでは新しいことへのチャレンジがたくさん含まれていたのは,いい方向に進めたということだと思う。

f:id:banjun:20171229230556j:plain

(2月の新宿駅のデレマス広告,これからもプロデュース活動しようという気持ちになる)

2018年もアイマスですよ!