Continuity is The Father of Success

Androidアプリとかゲームとか。毎日続けてるものについて。

2020.1Qの振り返り

3ヶ月、1回の出社で終わったのでこの体験の忘備録も含めて。

生活

これに尽きる。

news.yahoo.co.jp news.yahoo.co.jp

  • ご飯
    • 下の記事を見て、23時過ぎに近くのスーパーへ麺類と冷凍肉などを買いに行ったのを覚えている r.nikkei.com
    • 缶詰を定期的に頼んで食べていたのはよかったと思う
    • 米とうどんの消費が増えて、パンの消費が減った
      • 米とうどんは備蓄できるため
      • ホームベーカリーはあったが、諸々用意することを考えると仕舞い込んだままだった
    • Amazonや某納税の受け取り程度で、ウーバーなイーツなどは頼まなかった
    • コーヒーの大量消費に備えて学園祭ぶりに珈琲問屋に発注かけた www.tonya.co.jp
      • 一方で、飲み過ぎてカフェイン抜いたときに頭痛が
  • 飲酒
    • もともと冷蔵庫に入っていなかったため、飲まなかった
    • 自粛が明けてからもオンラインな飲み会などは断ることが多かった
    • コロナ不安や自粛のストレスがあるなか、飲酒はリスクが高いように思えてしまう
  • 運動
    • 極力外出しないままに終わった
    • 散歩などは、と言われていたが、自身と周囲へのリスクを考えてほぼ外出しない生活をしていた
      • 4~5月は靴を履いた回数が5回を切るのでは、といったところ
    • リングフィットアドベンチャーを黙々とやっていた
      • 4月半ばごろから、運動不足から来る寝付きの悪さが気になりだしたことを覚えている
      • いつの間にか100レベルを越え、継続日数も100日を越えた
      • それでもスクワットはきつい、泣きたくなる
      • コインランとぽっこりお腹改善セットは絶対に許さない、絶対にだ
  • 娯楽
    • 友人たちと通話しているのが娯楽の主なところを占めていた
    • やりかけのDEATH STRANDINGやポケモンなどがあったが、モニタ疲れや気疲れであまり遊ぶ気持ちに慣れなかった
      • 正直、今でもあまり遊ぶ気持ちに慣れていないところが大きい
    • 一方でアークナイツを遊んでいる www.arknights.jp
    • FGO秋葉原でなんか色々と面倒になってしまった……
    • 少しは仕事でのモニター見過ぎが響いている気もしている
    • Helltakerは面白かった store.steampowered.com
  • 学習
    • コロナ後に何があるかわからないしなー、という気分で機械学習クラウドの学習をしていた
    • 5月はありがたいことにいろんな会社がコースを開放してくれたので助かった
    • 一方で、同時に3つぐらいの学習を進めることになり、5月はなんだかんだで余暇を使い切ってしまった

仕事

  • 4月はAndroid + iOSで、5月はiOSで、6月はiOSとFlutter(チョット)だった
    • Android
      • RoomとかFlowとか触ってかなり楽しかった
      • AndroidStudio4.0がなかなか出なかったので、beta版で開発していたのを覚えている
      • Canvasの上で円を描いたり文字書いたり、それなりに手間なコードがさっくりかけたので「書けるようになってきたなー」を思った時期でもあった
      • OkHttp BOMやFirebase BOMなどなど
    • iOS
      • NotificationCenter を駆使してチョットリアクティブなコードを書いていた
      • 世間の状況にアプリは影響されることを痛感した
      • 超富豪プログラミングは大変なことを招くと学んだ
      • SwiftPMの導入とかUbuntu上でSwiftLintを走らせるとか、GitHub Actionsを楽しく使っていた
    • Flutter
      • 元々趣味で触っていたところきっかけで、仕事でも触るようになった
      • まだまだ慣れていないところが大きい
      • plugin起因の問題をいくつか踏み抜いている、頑張っていきたい github.com
  • PM
    • モバイルアプリのテックリードということになり、サービスの開発優先度を決める会議の進行役をやるようになった
    • 正直大学生の時の進行のノリで進めている
      • 当時よりは喋れるようになっていることが進歩かも
      • やりたいことを聞くと大体何をする必要があるかわかるようになっているので、仕事の経験も積んだな〜という気分になる
    • そこそこ大きな機能開発の進行もやることになった
      • 全てオンライン上でやることになった(それしかないのだけれど)ので、チョット注意して進めた
      • とはいえ、オフラインでやる時とやるべきことは変わらないな、という印象
      • 打鍵の速さは地味にこの状況下では武器なのかもしれない
        • 正確に、配慮された文章を高速で書く必要がある時代
        • チャットの速度で疑問を表明して、相談して、整理して、結論をまとめる時代
    • ミーティングの中でちょっとした笑いが取れないかと画策している
      • いい加減な性格でよかったと思っている
  • 環境

アウトプット

  • アプリを作りかけているのだけれど、どうにも手が進まない
    • Androidのネイティブと、iOSのネイティブで作りたいなと思っている
  • ブログもなかなか書く気がしなかった
  • 娯楽も趣味も、健康が源なのだなと痛感している

Androidのライブラリ選定とメンテナンス

先日、某所で使っているライブラリのAGP 4.0対応とAndroidXへの更新を行い使える状態にしてみた。

github.com

ありがとうJitPack。

jitpack.io

差分はThreeTenABPから java.time に移行したことと、Migrate to AndroidX したこと、各種SDKのバージョンを更新した程度。*1 本当にマイナーな(とは云えテストはしたい内容だけれど)アップデートをした感じ。

表題の話。 アプリの機能実現の時にライブラリを利用しようとすると、「サポートがされなくなると困る」みたいな話があるし、「OSSならサポートされるんじゃない! 自分でサポートするんだよ!」みたいな話があがってくる。

github.com

今回の場合、PRを出したのだけれどなかなか対応されず(別件で小さなAndroid Lintの修正PRも出してみた)、どうしても java.time.OffsetDateTime が使いたいってことでフォークしてJitPackの配信をするに至った次第。 人間がやることだから、開発が続くことも止まることもあると思うし、それは気長に待ちたいなというスタンスではあるのだけれど。

どうしても早く対応したいとか、これだけはやっておきたいなんてことがあれば、フォークして修正してサクッと配信できるこの状況が一番の正解なのかもな、と思ったという日記。

AtCoderのコンテストに参加してみて(3ヶ月)

Stay Home の一貫として、あと自分のプログラミング能力が足りていないと漠然と思うところがあり、3月末からAtCoderのコンテストに参加するようにしています。

atcoder.jp

f:id:D_R_1009:20200601002437p:plain

f:id:D_R_1009:20200601002442p:plain

おおよそABCに参加しつつ、とりあえず参加できる時に開催しているコンテストには参加する程度のモチベーション。 過去問を解かなきゃなーと思いチマチマ挑戦しつつも、ML Study Jams vol.4とかGCPのキャンペーンコースなどの期間限定モノがGWに公開されていたので、なかなか学習の時間が取れない感じです。 コンテストのたびに解けない問題でパターンを覚えている(DFSとかBFSとか)状態なので、D問題が解ける解けないで毎回苦しんでいる感じですね。脱したい。

やってみての効果について。

仕事ではAndroidiOSをそれぞれKotlinとSwiftで書いているのですが、以前よりリストの操作に慣れたような感じです。 特にレビュー時に「こうした方がもうちょっと良い感じになる気がします」な視点が増えたような。

あと、普段Android/iOSアプリを使っていると LongInt の境目とかをあまり気にすることがありません。 金融系でもないので BigInteger も滅多に使うことはないし、 StackQueue を実装した記憶もないです。 ただ Long は(主にユーザーの入力を中心とした)アプリを作っているので使わないのはしょうがないのかもしれませんが、 データ構造は「もし習熟していれば」より良いコードを書けた箇所があったかもしれないので、大きな損失だなーと思っています。

まだまだしばらくは、コーディングの実力をつけるために挑戦していきたいなと思いっています。6月もやるぞ。