Diary「24歳まで」編はこちら。コントリビュートした。cookpad/puree-iosメインスレッドでDBのIOが走ってて遅かったので修正した。テストを通すのに苦労した。ロック処理が甘くクラッシュの可能性があることも指摘した。pinterest/PINCachePinterestの画像ダウンロード&キャッシュライブラリ「PINRemoteImage」の粗探しをしていたら行き着いてstatic抜けを修正した。Ekhoo/Device「Carthageサポートしてるよ」とREADMEには書いてたが、実際はサポートしてなかったのでサポートした。ishkawa/APIKitCoreFoundationのパーセントエンコーディングにバッファオーバーフローのバグがあってクラッシュするのでワークアラウンドを追加した。BoltsFramework/Bolts-ObjCiOSではuserInfoのキーを定数化するのは割とルールとしてあるのだが、それがされておらず、扱いづらかったので修正した。morizotter/KeyboardObserverUIViewAnimationCurveがUIViewAnimationOptionsとして扱われてたためバグの指摘をした。facebook/facebook-ios-sdktitleを指定している辞書を作ってるのに使ってなかったのでちゃんと渡すようにした。ログイン画面がエッジスワイプで閉じてしまう問題を修正した。crowi/crowiプライベートな記事が自分のページ一覧に出ず行方不明になっていたので表示するようにした。他にも、Gistも積極的に公開したり、Gistで公開したものについての質問がメールで来て答えたりもできた。SDKにコントリビュートしたことや、iOS以外でもコントリビュートできたので、結構満足。引き続きiOS以外でもどんどんコントリビュートしていきたい。WorkSumallyを退職してから随分経つが2016年やってたことをまとめる。未登録でSumallyを使えるようにしたので、GitHubみたいにアイコンを自動で生成するプログラムを作った。お題は「ユーザーごとにユニークなアイコンを作るシステムを作れ」とそれだけだった。普通に考えてサーバー側で生成するのが良いし、処理速度も必要だし、標準ライブラリがかなり整備されているGoを使った。作ったはいいがパターンが多すぎてユニットテストが遅すぎて話にならないので、無駄にGoルーチンを使った。Pocketの開発をしていた。招待機能などなど実装したが、一番大きかったのは、オプションサービスの実装。クリーニングやハンガー保管サービスをするということで、サービス自体の仕様を考えるところから参加した。最初はクリーニングしたいものを「クリーニング専用の箱で送る」みたいな話が進んでいたが、複雑で汎用性に欠けるので、「預けてるモノからオプションを選択する」というのを提案し、採択され、実現した。オプション選択画面はどんどんABテストしたいとの要望がありWebViewで作ることになった。そのブリッジング周りの仕様も決めた。この開発がまたまたかなりハードスケジュールだったが、なんとかすべての仕様を漏らさず入れられた。その他いろんなところのヘルプや実験アプリ開発Sumallyのゲストユーザー対応や、検索画面ソートなどなどのヘルプをした。iOSがほとんどだが、APIもエラーが出て開発ができないときなどは自分で直してとやっていた。倉庫スタッフ向けに、アイテムの画像からSumallyのカテゴリに変換するモバイルアプリを作ったり(RxSwiftを使った)、バーコードからアイテムの情報を自動入力するアプリなども作っていた。404ページ実装404ページをリニューアルした。Sumallyハッカソンで作業を開始してから1年ぐらいPRが放置されていたが、退職に伴ったいろんな整理と一緒にやった。2対応やObjectMapperからHimotokiへの移行などなどをできたし、退職前には事業開発MTGに参加したりなどしていて、より広い視野でサービス開発をしていたし、技術的チャレンジが色々できて、かつ、社内でそのような知見を共有する会を開いたりとしていた。Diaryどうやら海外からの投稿に制限をかけているらしく、公開は日本に帰ってからになるけど、今、バリ島にいる。学生時代から何かを追っていたり、何かに追われてたりでずっと走り続けてきたので、こんな風に立ち止まって、ゆっくり・のんびりと過ごすのは、本当に久しぶりだ。7月15日が最終出社日だった。7月31日が退職日で、インターンを含めると3年、入社から2年5ヶ月。これっぽっちの期間だけど、その間、自分のほぼすべてを費やしてきたし、何を達成できたかはよく分かってないクセに、達成感で満ち溢れている。インターンの時もだったけど、どんなに小さな機能でも、非常に高いクオリティでの開発が要求された。Sumallyのプロダクトのクオリティの高さは、国内でも最高レベルだと思っているし、実際、外部からもよく凄いと言ってもらえる。僕自身もSumallyで働いていると言うだけで凄いと言ってもらえた。Sumallyでの仕事は決して楽ではなかったけど、最高のプロダクトを作るいちメンバーとして戦ってきたことを誇りに思っているし、楽しく刺激的な日々を送っていた。Sumallyではとにかく働いた(つもりでいる)。最短で自分の納得のいくクオリティのものを作り、時間を余らせ、細かいフィードバックへの対応をする時間や自分のやりたいこと(仕事に関係する)をやる時間を作るようにしていた。最短で行き着くために、スピードももちろん、遅くまで働いたり、土日も働いたりしてきた。仕事のことを考えない日はなかった。そんな働き方をしていたら、最初にできるもののクオリティはどんどん上がっていき、返ってくるフィードバックはどんどん細かくなり、プロダクトのクオリティはどんどん上がっていった。実現できるものの幅がどんどん広がっていったし、僕にしかできないことが少しずつ増えていった。いつの間にか、求められているであろうクオリティ以上のものを作るようになっていたし、細かいフィードバックをする側にもなっていた。エンジニアの中では一番若かったけど、そんなの関係なく社内で一番パフォーマンスを出していると認めてもらい、信頼してもらい、大きなチャンスも与えてもらい、権限も大きくなっていった。iOSリードエンジニアはもちろん、名ばかりではあるけど、フロントエンド・モバイルチームのボスになったり、会社全体の開発フローを見直したり、APIの仕様を考えたり、事業の会議に参加したりというポジションになっていた。なにをしても(しなくても?)許されたし、とても居心地がよかった。一方で、まだまだやることはたくさんあったとは思うけど、「もう十分だな」「一区切りついたな」などなど、やりきったなと感じるようになり、次の目標を考えたり、そこまでの道標を考えるようになっていた。次の目標のことを考えれば考えるほど、焦りを感じたし、そうしていくうちに、次のステップに進む決断をするに至っていた。新卒でSumallyに入り、スタートアップだし実際は不安でいっぱいだったけど、たくさんのチャンスを与えてもらい、他社では見られなかったような景色をたくさん見てこられた。頑張れば頑張るほど、次のステージを与えてもらった。感謝でいっぱいだし、自分で言うのもアレだけど、期待に応えるように本当によく頑張ったなと思う。新卒でもたくさんチャレンジができて本当に入社してよかったと思う。Haus(表参道時代)のなんともない風景から、深夜に翌日に審査提出予定のアプリにイースターエッグを入れろと無茶振りされたり、リリース日の早朝に会社に電話がかかって会社に呼び出されたり、Appleで登壇する日の朝までアプリを開発していたりと無茶苦茶なことまで、すべてがとてもいい思い出だ。短期の住み込みインターンとしてSumallyへ。重要なプロジェクトにアサインされるも、悠々と期待以上の成果を残すという大物感を見せる。当初Sumallyへの就職意思は無かったものの、経営陣からの三顧の礼を受け、2014年3月に晴れて新卒入社。モバイルアプリの開発を手がけ、CTOからの無茶な振りを淡々とこなすかたわら、高級ロードバイクで街中を疾走するスーパールーキー。”さてさて恒例のウィッシュリストを作ってみた。出品」の画面にはイースターエッグが仕込まれている。他にもイースターエッグはあるが、そちらは結構バレてるみたいなので、今回の紹介はこちらだけにしておく。出品の画面を開き、iPhoneを振ると発動する。iPhoneの傾きに応じて背景のアイコンが動く。このデザインが来たときから、「これは動かしたい!」と思い、ウズウズし、時間を見つけてやった。社内でも内緒にするつもりが、嬉しくて、言いふらしてしまった。物理演算にはiOS7からの新機能のUIDynamicAnimatorを使った。Apple様様のおかげでそれだけだったら超簡単にできるのだが、この背景のアイコンとそれらのポジションの情報、衝突判定に使うサイズの計算が必要だったので、IllustratorのプラグインもJSXで実装した。3x)の画像の書き出しやアイコン情報のJSONの吐き出しをする。AdobeのJSエンジン(でいいのかな?)ではJSONの書き出しが実装されていなかったので、JSON吐き出す仕組みも作った。初のプラグイン開発だったがドキュメントがしっかりしてたので案外すんなりできた。「で?なんなんだ?」と言われたらそれでおしまいな機能ですが、ぜひ遊んでみて下さい。Workようやく今年分を書ける。そもそもやったことを書こうと思ったのは、サービスの開発だと、頑張って開発してもポートフォリオとかがないし、そういう記録に残ることがないので、やってることアピールができないのは残念だし、やったことは忘れるだろうしと...それがすごくもったいないなと思ったからだ。社外どころか社内でも、誰が何を担当してるか分からないことがあるし、そのせいもあって、サービスの開発を傍から見ると、「ものすごい量の人がひとつのものを一緒に開発していて、担当範囲中でひとりが担当するのはその機能のほんの一部程度」みたいな印象が強い気がする。去年は書くのサボってしまい今回インターン時代分からまとめるのが割と大変だったので、来年からはきちんと書いていきたい。iOSアプリマイサマリー画面のリニューアル実装が完了してから「やっぱ違う...」ってなって作り直しになった辛い思い出がある。結構な回数作りなおしたような気がする。付随していろいろな不具合が修正できた。アイテム一覧のページも含めすべて担当した。「開発したい」という声は上がっていたがなかなか時間がなかったので、勉強を兼ねて休日作り、「あれ?意外といける?」となり、リリースした。大杉さんから声をかけてもらったので、またとない機会だったこともあり、登壇した。iOSアプリの開発フローについて実装パート周りを担当。スライドを作ったりもした。マイサマリー画面のリニューアルとWatchアプリ対応版のアプリ審査提出をこのイベントの日の早朝にするといったスケジュールだったので、結構忙しかった。Pocketの開発プロダクトオーナーに任命されたので、実装はもちろんすべての実装設計や実装方針、API仕様の一部などを決めた。今年はほぼこの開発のタスクをしていた。上の忙しさの比じゃない忙しさだった。アプリ内でガッツリDBを使うことは初めてだったし、Swiftもある程度はキャッチアップしていたが使うのは初めてだったので、言語仕様から掴まないといけなかったしと、いろいろとチャレンジングだった。3ヶ月でテストフライトベータリリース(ほぼ完成版)、4ヶ月で正式リリースした。ベータリリース段階で8割のコードを書いていた。ベータ期間も4回ほどアップデートしたが、その間に仕様が変わったりして、しかもそれがめちゃくちゃタイトで、ご飯食べる暇がない日があったぐらい忙しかった。ベータリリースからはすべてひとりで実装を担当している。あとFastlaneの導入もした(もともとSumallyの内部ツールはRuby製だったので楽にできた)。サウンドデザインもした。Sumallyでは全てのパスでアプリを開くような設定をしたので、Safariに戻すパスのパターンリストをアプリ内でキャッシュして持っていて定期的に更新している。Pocketのお手伝いコンバージョントラッキング周りの実装を少しだけ手伝いした(ただの今年はAndroidも久しぶりに触ったよアピール)。あとAPI仕様だとかを多分いちばん把握しているので、その周りのデバッグを手伝った。iOS両アプリのプロダクトオーナー(要は開発リーダー)になり、実装ももちろん、ミーティングに出ないといけない回数が増えたり、僕主導でのiOS人事技術面接をしないといけなかったり、問い合わせをしないといけなかったり、スケジュールと役割を決めないといけなかったり、実装方針の相談に乗らないといけなかったりと役割が増え、いろいろと勉強になった(もう少しただただ技術を磨いていたかったという思いはあるが、いつまでもそうは言ってられない)。両アプリのプロダクトオーナーとしては、キャパシティ的にふさわしい対応ができていないと思ってるので、その辺り2016年は意識して頑張っていきたい。Dataも把握したし、アプリもそうそうないクオリティで作れたと思うしで、十分やったと思う。Android、Webフロントエンドと、フロントエンド系はアサインされたら一応こなせる技術はついたと思うので(Androidは一番苦手だけど)、来年はもっと表現の幅を広げたいし、OpenGLだとか低いレイヤーの復習をしていきたい。仕事的には、Pocketの開発で得た知見を本体アプリに反映させていきたい(いろいろ大変そうだが...)と思っている。あとシリコンバレーで働く夢を叶えるために引き続きいろいろと下準備していきたい。今後もたくさん吸収していく予定なのでもしシリコンバレーの方で僕に興味があるという方がいらっしゃったら、連絡をお待ちしております。全部はあげられないが、主に下のようなタスクをしていた。初日、出社して皆さんが来るまで暇だった(弊社は朝がとても緩い)ので、自分が使っていて一番欲しかった検索候補の実装をした。フィルタリング機能などを実装した。それに伴い、カテゴリフィルタ画面のアップデート、アプリ内通知、売っているアイテム一覧画面の実装、出品周りやアプリの告知メールなどなどたくさんメールテンプレートの実装をした。アプリの実装をしながら、コードレビュー中にメールテンプレートの実装をしと、とても忙しかったのを覚えている。審査提出後、C2Cアプリのティザーサイトも、アプリ審査提出後の打ち上げで「作ろう!」となったので、超特急で作った。iOSアプリカスタムURL対応大幅リファクタリングそれまでカスタムURLへの対応が、正規表現など使っていなかった(hasPrefixとhasSuffixでされてた)ので全部正規表現に置き換えた。それとテストを簡単にできるようにWEBフロントエンドにテストページを作った。iOSアプリタブバーメニュー化それまでドロワーメニューだったが、中村さんが「タブバー以外といけそう」とチョチョイと実装してみせたことがきっかけでタブバー化することになり、実装を担当した。スクロールに応じてタブメニューが消えるような実装をしたり、ナビゲーションバーが消えるような実装をしたりもした。それまで曖昧だったiOSのビューのヒエラルキーなどを初めて完全に把握した。画像先読みをもっとチューニングしたいということで、画像先読みロジックの再検討と実装をした。SDWebImageの内部実装をすべて読み把握したうえで、バグを修正したりしながら、ブラウザを参考に独自のPrefetcherを実装した。リニューアル拡大したときに大きな画像を裏でダウンロードして表示を差し替えるというタスクがあったので、ついでにそのまま画像がシームレスに拡大される動きや閉じる動きなどなどその周りの実装をした。iOSアプリプロダクト詳細画面オートページャライズ対応オートページャライズに対応する目的もあったが、全体がUITableViewで組まれていてスクロールすると関連アイテムの表示(グリッド)の部分やフォルダー一覧の部分でかなりカクついてたため、見直した。入社する前から直したいところだったので達成感は大きい。iOSアプリTwitterKitの導入それまでUIWebViewが立ち上がり、わざわざログインしないといけなかったので、そのあたりのコードがイケてなかったこともあり手が開いてるときに勝手に実装を進めていたのだが、導入したところ、後々「なんかこのタイミングでコンバージョンめちゃくちゃ良くなってるけどなんでだ?」となり、TwitterKitの導入によるものだと判明した。処理もすっきりしたし、数字にもつながったしで嬉しかった。iOSアプリ+Sumally機能実装アプリ内から+Sumallyできる機能をサイト内で実行するJSも含めて開発した。加えてこれまでのすべてのWebViewをすべてこの+Sumally機能付きのものに変えた。JSの開発はGrunt+WebPackで行い、どこでも使えるように徹底的にモジュール化をした。Extensionの実装もしたが、そこでもほぼ同じJSを使えたのでモジュール化での開発は大成功だった。いつかリファクタリングしてプラグインをどんどん追加登録できる仕組みにしたい。Layoutのキャッチアップと導入も僕がした)。いうことでかなり苦しい作業になったが、「320」を置き換える作業や、それまで全く使っていなかった画像スライスの導入などをした。iOSアプリQRコード招待機能QRコードリーダー(カメラ)や、QRコードの描画(結構凝ったデザインになっているので見て欲しい)など、QRコードでの招待機能一式の実装をした。iOSアプリイースターエッグ2点ほど内容はひみつ。入社当時のコードレビューなどを久しぶりに見て、いろいろとひどくけちょんけちょんにされているが、2014年の終わりごろには、逆にコードレビューで質問されるようになってるし、特に技術面でとても成長した年だったと思うし、成長を感じられて嬉しい。iOSだけでなく、Webのスキルも実務で活かせてよかったと思う。Work年1回まとめようと思ってたけど去年めんどくさくてやらなかったので、とりあえずインターン時代のから振り返る。去年の分は来週中にでもまとめて、今年の分は、大晦日ぐらいにあげる予定。インターンは7月下旬ぐらいから2月中旬までしていた。そのうちの8月上旬から10月中旬ぐらいまではオフィスの2階に住み込みで仕事をし、他は学校も共同研究と自分の研究とで結構忙しかったので暇があるときにリモートで仕事をする、といった感じの参加だった。コーポレートサイト実装Skypeでのインターン面接合格通知後のいきなりのタスク。福岡からのリモートでコーポレートサイトを実装した。新アプリに実装されたメールでの招待機能のテンプレートを実装した。メールテンプレートの実装は初めてだったのでこのご時世にグリッドレイアウトをPHPで組むことになるとは思ってもいなかった。複雑な実装だったので入社後もしばらくメールテンプレート開発おじさんをする羽目になった。非ログユーザー向けにサインアップやログインを促す画面の実装とボタンのJS側のアップデートをした。ここだけありがたいことにCoffeeScriptで実装されてたので、すぐに全体を把握できた。Linkへの対応まさかAndroidアプリ開発の経験が全くないのに全部を把握してないとできなさそうな実装タスクが降ってきた。Androidアプリリモートプッシュ通知への対応トークンの登録から表示するパーツまで含めて実装した。トークン取得周りはいろいろと苦労した。当時ほぼすべてWebViewだったが「引っ張って更新したい!」と言ったら「じゃあやって」となったので頑張った。ネイティブ化していこうという話になり、佐藤さんが夏休みに入ったタイミングで、僕だけで一番簡単そうな通知画面のネイティブ化を進めた。SDKのコツを掴んだ気がしたので検索補完機能を実装した。Animationを使ってwant/haveボタンのアニメーションの実装をしたりした。卒論でヤバイときにタスクが降ってきた。電話があり、東京に呼び出されたので、日曜出社し、SDWebImageへの置き換えやSDWebImagePrefetcherを使ったプリフェッチの実装をした。3月入社まで卒論とインターンのタスクの消化などしてて、卒業旅行などいけなかったのは人生で一番後悔していることだ。4年の夏までは勉強のためにインターンしてよかったと思うけど、それ以降はなにが何でもインターンやバイトはやめて、研究も適当に終わらせて旅行に行くべきだったなぁ...と。Diary24歳になった。堤修一さんの記事を読んで僕も掘り起こしたくなったので(GitHubページでコントリビュートしてるリポジトリは5件しか出ずアピールできないので定期的にまとめた方が良さそうだ)、キリがいいしとりあえずこれまで(24歳まで)でコントリビュートしたリポジトリを上げていこうと思う。OopsMouse/LINEActivity「LINEで共有する」のアクティビティのライブラリ。人生初の公開リポジトリへのプルリクエスト。iOS開発始めて2ヶ月ぐらい。見て分かるようになぜか修正した行だけタブインデントになってるしこの修正では不十分だしで、初心者感丸出しでヤバイ。chiahsien/CHTCollectionViewWaterfallLayoutPinterest風のグリッドレイアウトのライブラリ。FlickrとかTumblrとかでも使われてるみたい。ピクセルパーフェクトじゃない計算を修正し、ついでに64bit対応し、さらにstatic抜けを修正した。rs/SDWebImage言わずと知れた、画像ダウンロード&キャッシュをするライブラリ。すべてのアプリで使われていると言っても過言ではない。スレッドのロックが不十分でダウンロード完了のコールバックが呼ばれないことがある不具合を修正した。この修正では不十分だったのでもう一つPRを作りマージされた。GUILDの深津さんたちが作ったアニメーションライブラリ。グローバル変数になっていたのをメンバ変数に変えた。TODOが多かったので導入には至っていない。コントリビュートしていきたい。CoreGraphics周りのブログ記事を読んで少し違和感(動きそうな気がする)があり、試したところきちんと動いたので、関連するところを修正した。ついでにメモリリークの修正とサンプル未実装の部分を実装した。AFNetworking/AFNetworking言わずと知れた、今はAppleで働いてる方が作ったネットワーク周りの処理がものすごく簡単になるライブラリ。すべてのアプリで使われていると言っても過言ではない。いつの間にかnullabilityをサポートしていたが、指定ミスが数か所ありSwiftとの互換性上の問題があったので修正した。joeldev/JLRoutesアプリ内ルートをものすごく簡単にするライブラリ。externされておらず、Swiftからアクセスできない変数があったので修正した。Coreモジュールだけstatic抜けを修正した。他は誰かがやってくださるはず!ishkawa/APIKitAPIクライアントを作るための一通りの処理をアブストラクト化した感じのライブラリ。RequestにBodyがない場合もヘッダでContent-Typeを送っていて無駄だったので修正した。ついでにハンドラが非同期でしか呼ばないようにした(条件に応じて同期で実行されたり非同期で実行されたりしないように)。有名なライブラリにコントリビュートしてるので、弊社アプリだけでなく、世の中のほとんどのアプリで僕の書いたコードが数行入ってると思うとすごく嬉しい。いろんなライブラリやサンプル集があってこそ開発やキャッチアップが楽になってるので、恩返しという意味も含めこれからも積極的にコントリビュートしていこうと思う。あと、ライブラリを読んだりするのは一番いい勉強になる。Swiftとりあえず分かってるのはTwitterとFacebookで、カスタムURLスキーマがブロックされる。両アプリともiOS8でカスタムURLスキーマを開こうとするとアラートを出していたので、下のようにその実装がそのまま残っていたとしたらバグだ。Gist.それか、わざとブロックしているかなんだけど、この辺りはリバースエンジニアリングしないと分からないし調査したところで報告する以外どうしようもない...。Linksを使ってどうにか対応できないか、Webフロントを担当している奥山さんと考えることにした。Linksを使うと、TwitterやFacebook内で意図的にブロックしていたとしてもブロックする手段がなくなるはず。Linksの発動条件Sumallyでは、sumally.comとm.sumally.comでユニバーサルリンクを有効にしていてパスはすべてを指定している。Linksに対応していた場合で、更に運が悪くなかった場合」に発動する。Refreshなどでは発動しない。タップをトリガにlocation.hrefを指定するJavaScriptでは発動するが、タップをシミュレートするJavaScriptでは発動しない。ユーザーが本当にタップする必要がある。発動しない(タップをJavaScriptでトリガしてる場合のみな気がする)。あと実機じゃないとダメだし証明書のチェックもしている(mitmproxyなど挟むと発動しない)ようだった。Facebookアプリ内ブラウザで動作しない。Twitterでは何も起きず、Facebookでは読み込みエラーのページが表示される。sumally.com/p/1)。Linksが発動し、入っていない端末ではsumally.com/p/1が開くが、Sumallyはnginxで再度モバイルサイトに戻るのでただページがリロードされただけのような挙動になる。Storeに飛ばすとかもできそう。テストこの動作がうまく動作してるかどうか気付きにくいので、定期的にJenkinsでテストする仕組みを作った。7の新機能のUIテストを使った。Linksが発動しているか)というテストの内容だ。Testを作って上のUIテストと一緒にJenkinsで定期的にテストしている。前で述べたけど実機で動かす必要あり。まとめ一ユーザーとしてひとつ問題を解決できてよかったが、この対応ができているサービスがなかなかなく、今のところSumally以外でできている例を見たことがない。Facebookがブロックしないようにして欲しいんだけど、意図的にブロックしている気もするので(TwitterはAndroidアプリでもブロックしている)、この方法(もしくは近い方法)が広まっていって欲しい。TwitterやFacebookアプリを使っていて「アプリで開く」ボタンが使えないのは本当に不便だ。いつの間にかTwitterではAndroid版含め開けるようになっていた。Facebookは相変わらず開けないようだ。7.2でアプリのstateのpropertyがなくなりテストが通らなくなっていたため、applicationImplから持ってくるように修正した。あとDEBUG版(デフォルトでは)のビルド設定じゃないとstateが変わらない。上のapplicationImplを使うと不安定でテストにならなかったので、Objective-Cを使って例外をキャッチする仕組みにした。失敗するかどうかのテストも追加したら完璧になる(弊社プロジェクトでは追加した)。Exceptionを投げるかどうかのテストも追加した。記念に表参道の一番好きな場所をパシャリ。Nowに表示されたり、写真を端末に保存しなくて良かったりと未来に生きている感じがする。7が出るまでの間だけAndroid生活をおくろうかなと思っている。RoughsのAndroid版開発も捗るだろう。Android版リリースした。Kotlinで開発した。DataのモデルからSwiftを書き出す機能はXcodeにもあるが、いちいちGUIでする作業がめんどくさいのと、@objcが付かないのでMagicalRecordとの相性が悪かった(SwiftでMagicalRecord使うなよって話は置いておいて...)。mogeneratorも試したけど、こちらは吐出されるコードが冗長なのと(そもそもextensionで十分)、Scalarの値を使わないのでいちいち変換するのがめんどくさかったし、サブクラスとか使った場合のSwiftのコードにバグがあった。いうことで、その辺りをどうにかできるツールを作った。nokogiriとcolorizeとerubisをインストールしてお使いください。Data初心者なので網羅できてるか分からないけど...バグや改善点などなどあったら教えて下さい。mogeneratorを参考にして、Orderedに対応した。実装が足りてないので結論mogeneratorがいい感じになるのを待つのが良さそう...。ちなみに社内プロジェクトでは上のを事あるごとに改良して使っている。Diary2週に1度、お題は自由(リクエストがどんどん書かれていくのでその中から選ぶ)な社内勉強会があり、Processingのリクエストがあったので発表した。発表内容のリクエスト欄に、デザイナの大杉さんから「こういうの作りたい」と要望があったが、Processingは大学の授業でさらりと触ったのと卒論で音の生成に使ったっきり触っていなかったし、曲線は円以外書いたことなかったしで、「こんなのできるかっ!!」か見て見ぬふりで流そうと思っていた。