2021年2月8日~14日 振り返り

先週の振り返りを書いていきます。

仕事

先週はスクラム定例と祝日・有給取得でほぼほぼ働いてないのと、課題の整理・リリース準備でやったことに書ける内容がなかったです。

プライベート

やったこと

読書

  • 作って学ぶAndroidアプリ開発
  • エンジニアが学ぶ物流システムの「知識」と「技術」(途中)
    • 物流システムってどういうことをしていて、どういう技術を使っているか興味があり読み始めました
    • 物流関係のシステムの開発に関わったことがないので読んでいてとても面白い
    • 同じ感じで金融系の本もあるみたいなので、そっちも読んでみたい

作って学ぶAndroidアプリ開発[Kotlin対応]

作って学ぶAndroidアプリ開発[Kotlin対応]

  • 作者:有山 圭二
  • 発売日: 2020/04/17
  • メディア: 単行本(ソフトカバー)

2021年2月1日~7日 振り返り

先週の振り返りを書いていきます。

仕事

先週も事情により、主に改善タスクに着手しました。

特に、先週はライブラリのアップデートはなかなか難しいものがありました。プロジェクト初期から関わっていればフレームワークとライブラリの依存関係等の知識を把握しつつ、どこに影響が出そうか予測が立てやすかったかもしれないが、それがあまりできてなかったのでタスクとして出した見積もり精度が低く、結局見積もり以上の時間を費やすことになりました。

Scala周りのフレームワークやライブラリについてもっと知見を増やして・理解を深めたい。

あと、関数型ライブラリ周りのライブラリの使い方がまだまだ理解が浅い。継続して猫番を読んだり、Haskellを書いたり、Scalaのライブラリを使ってみたりしていこう。

やったこと

  • ビルド環境のファイルパスがログに含まれる問題を解決
  • Circeのバージョンアップデート
    • PlayFrameworkや他の依存ライブラリでエラーが出て、アップデート完了できず
    • 見積もりが甘かった
    • 関数型ライブラリをゴリゴリ使っているのでもっと理解を深めないといろいろキツい。。。

プライベート

先週はほぼ本のインプットが多かったです。

読書

  • ライト、ついてますか?
    • 問題について扱った本
    • 良い本だと思うが、すんなり入ってくる日本語じゃないので何度も読まないと理解が進まないかも
  • システム開発・刷新のためのデータモデル大全
    • 期待したほどではなかった
  • WebAPI The Good Parts
    • 昔に読んでたのでサクッと読めた
  • 達人に学ぶDB設計 徹底指南書
    • ミックさんが書かれた本で、やっぱりわかりやすい

システム開発・刷新のための データモデル大全

システム開発・刷新のための データモデル大全

  • 作者:渡辺 幸三
  • 発売日: 2020/04/16
  • メディア: 単行本(ソフトカバー)

Web API: The Good Parts

Web API: The Good Parts

達人に学ぶDB設計 徹底指南書

達人に学ぶDB設計 徹底指南書

  • 作者:ミック
  • 発売日: 2013/08/07
  • メディア: Kindle版

2021年1月25日~31日 振り返り

先週の振り返りを書いていきます。

仕事

先週は事情により機能開発が止まったので、主に改善タスクを行いました。

前回の振り返りエントリでは、「Integrationテストの実行時間が長いのが問題だ」と書きましたが、そのそもテストを並列で実行する以前に他の要因でテストがFAILEDしてしまうケースがあったため、まず安定しないテストケースの修正などを行いました。

ただ、アクセストークンの有効期限が切れたり、再取得時にテストケースがFAILEDになるパターンなど、調査するとなかなか手ごわい問題もあり、簡単にテストを並列実行して高速化できました、といった結果が出せなかったのが残念です。

引き続き、機能開発を行いつつ、テストコードの改善を行っていきたいと思います。

あと、テストコードを読むことで、このAPIはどういう挙動をしているのか、仕様はどうなっているのかを理解しやすくなります。なので、新しいプロジェクトに参加した場合は、ドキュメントやテストコードを読みつつつ、気になるコードを追っていくのが良いと思います。

やったこと

  • Integrationテストの安定化

プライベート

読書

  • すごいHaskellたのしく学ぼう!(途中まで)
  • Pythonではじめる情報検索プログラミング(途中まで)
    • Haskell本読んでるのに手を出してしましました
    • サンプルコードが多いので、いろいろ試しつつ読めるのが良い
    • Pythonはほとんど書いたことないので、基礎本も少し読みたくなってきた

Pythonではじめる 情報検索プログラミング

Pythonではじめる 情報検索プログラミング

  • 作者:佐藤 進也
  • 発売日: 2020/12/17
  • メディア: 単行本(ソフトカバー)

やったこと

  • AWS SAPの勉強
    • WizLabs

2021年1月18日~24日 振り返り

先週の振り返りを書いていきます。

仕事

プロジェクトでは、単体テストの他にインテグレーションテストも書かれていて、GitHubにプッシュするとCIが走り、単体テスト・インテグレーションテストが実行されます。

ここで問題だなと感じているのは、インテグレーションテストの実行時間です。このインテグレーションテストに掛かる時間は約20分ほどです。データの不整合や他の外部サービスの影響により途中でテストにこけてしまうと20分が無駄になりますし、3回やり直しただけで1時間も溶けてしまうので、これは開発体験に影響ある問題です。

また、インテグレーションテストは順序関係なくテストを実行しても問題ないように作られてはいるようなのですが、同時にテストを実行するとテストにこけてしまうといったケースもあるようで、このケースを修正しないまま、並列にテストを実行できるようにしても上手くいかなさそうです。

今後、スプリントで優先的に行うPBIの他にこういう問題に着手していきたいところ。

やったこと

  • 仕様書の変更
  • お客さんへの仕様説明&合意もらう
  • 欠品情報をもとにレスポンスのある項目を変更する
  • 単体テスト・インテグレーションテストの追加・修正
  • デプロイ・検証

プライベート

読書

  • システム設計のセオリー
    • ざっと流し読みしました。
    • 実際にシステムを開発するときに考えるリストみたいなのがまとめられてて良いと思う一方、業務アプリケーション寄りの知見が多かったので、あまり鵜呑みにもできないなという感じでした。
    • 新人のときに読んでおけば、概要つかめて良さそうだなと思います。
  • すごいHaskellたのしく学ぼう!(途中まで)
    • 業務でScalaを書いてるとKleisliやら何やら色々出てくるので、しっかり基礎を固めておきたい
    • Haskellやらの本を読みつつ、圏論の基礎やらなっとくする群・環・体(なっとくシリーズ) のような本を読んで、数学的な知識もちゃんと頭に入れておきたいところ
      • 正直、今まで数学から逃げてたので今年は向き合わねば。

やったこと

  • WizLabsの問題を解く
    • AWS SAP取得のため、ひたすら問題解いてドキュメント読んでました。
    • まだまだ、試験を受けるには不安がありますね。。。
    • さっさと12冠とって楽になりたい

2021年1月11日~17日 振り返り

どうも!

先週の振り返りを書いていきます。

仕事

まだ2週間しかスクラム開発に参加してないですが、スクラム開発に対する感想としては1チームの人数が少ないのであれば、かなり開発がやりやすいです。

スプリントプランニングを通して、各関係者の間で何をどの順番にやるかが決定されるので、開発者としてはどのPBIを進めれば良いのか、時間があまりそうであれば、どのPBIを着手すれば良いかが分かるのが特に良いなと思います。

また、スプリントレビューでお客様にデモをすることで、どういう仕事をしたのか見てもらい、関係者からフィードバックを貰えるのが嬉しいです。

ただ淡々と仕事をすることもできますが、助かった・すごい!といった言葉は次の仕事の活力にもなるので、こういうフィードバックはどんどんやっていくべきだなと感じます。

やったこと

  • 仕様書の変更
  • 総額税表示関係の実装・修正
  • 単体・インテグレーションテストの修正
  • デプロイ・検証

プライベート

読書

  • Webブラウザセキュリティ
    • ちょうど日曜に物理本が届いたので読み始めています。
    • アプリケーションを作る以上、セキュリティを意識して実装をしないと問題を引き起こしてしまうので、読んだ内容は実践に活かしたいところです。

Webブラウザセキュリティ ― Webアプリケーションの安全性を支える仕組みを整理する – 技術書出版と販売のラムダノート

やったこと

  • C++入門 AtCoder Programming Guide for beginners (APG4b)の3, 4章
    • 競技プログラミングでよくC++が使われている印象があり、興味があったので入門してみました。
    • ひとまず、4章の最後まで終わったので次はABCのAとB問題あたりをひたすら解いてみようと思います。
  • AWS SAP対策
    • できれば1月中に取りたいので勉強しています。
    • ここらへんとかWizLabsで問題解いて分からないところはドキュメントを読むようにしています。

www.amazon.co.jp

最後に

最近、Today I Learned というPodcastを見つけて聴き始めました。

open.spotify.com

「#14. 人のコードを読む」「13. UberでのiOSアプリリライトにおける技術的、組織的な挑戦について」というエピソードがすごい面白かったので、他のエピソードも聴いてみたいと思います。

2021年1月4日~10日 振り返り

明けましておめでとうございます。 今年も宜しくお願いします。

去年は、5月ごろまで月一の振り返りブログを書いてたんですが、 精神的に色々辛いことがあったのと、振り返りが一ヶ月ごとだと習慣化しなくて挫折してしまいました。

なので、2021年は1週間ごとにやったことなど書いてみようと思います。

仕事

2021年1月から、今までやっていたプロジェクトが一旦解散したので、 違うチームに参加になりました。

このチームでは、スクラムで開発を進めていて、 1年半ぶりぐらいのスクラム開発だったので新鮮味があってモチベーションも上がってます!

あと、今のチームではScalaで開発していて、関数型プログラミングを便利にするためのライブラリであるCatsがゴリゴリ使われているので、 今持っている知識をアップデートする必要があり、ちょっと焦ってます笑

やったこと

  • 仕様書の修正
  • ある機能にバリデーションを追加
  • テストコードの追加
  • Postmanの整理
  • 検証環境へのデプロイ

プライベート

読書

圏論やらモナドやら関手やら、よう分からんということでHaskellの本を読んで学ぼうと思い読み始めました。 1年後、色々身についているのか楽しみです!

  • 実践Scala入門
  • Scala With Cats
  • すごいHaskellたのしく学ぼう! (まだ途中)
  • プログラミングHaskell第2版(まだ途中)

やったこと

僕は大学ではCSを学んでないのと、CSの基礎をすっ飛ばして今まで来ていて、 それはマズいと思い始めて、今年はAtCoderを通してアルゴリズムを学ぼうと思い初めて見ました。

まずはC++の基礎中の基礎を知りたかったので、APG4bをやっています。 これが終わったらABCを解いたりしていこうと思ってます。

ここらへんの記事が良さそうだったので、これに従っていこうと思います!

qiita.com

qiita.com

  • AtCoder APG4b 2章まで

2020年5月振り返り

4月を完全に振り返り忘れてた。。。 思い出せないので、5月の振り返り。

仕事

  • プッシュ通知システムをGoで実装
    • Goを初めてさわったからいまいちベストプラクティスが分からなくて、色んな人の記事やドキュメント読みつつ実装してた
    • エラーハンドリングやロギングはどのプログラミング言語でもいつも悩む
  • AWS CDKを用いてAWSリソースを構築
    • 前々からプロジェクトで使いたかったECS on Fargateを構築した
    • その他もろもろリソース構築した

正直、4月、5月はいろいろあって精神的にキツかった。 自分の実力不足から来るものもあれば他の要因もあって、久しぶりに辛いなーと思うことが多かった。。。

話は逸れるけど、 人材の専門性を語る上でT型人材みたいな一つの専門領域を突き抜けて、他の領域は広く浅く身につけるといったことを聞くけど、 自分の場合、まだ専門性を持ててないことに焦りを感じる。

プログラミング言語はいろいろやってきたし、インフラも構築もできるけどいまいち〇〇は俺に聞けと言えるものがない。 みんなどうやってそういう専門性を身に着けてるんだろう?

プライベート

  • 5月初旬ぐらいにPS4買ってフォートナイトを始めた
    • ドハマリしてるので、他のことが手に付かない(笑)

筋トレ

  • 5月はジムがお休みで行けてない
    • ただ、プロテインも飲まなくなって体重が4キロほど減った

LIST - やりたいことリストのAndroidアプリをリリースしました!

自分の「やりたいことリスト」が作れる、LISTのAndroidアプリを4月10日にリリースしました!

play.google.com

今年の1月6日にiOSアプリはリリースされているんですが、そのiOSアプリのリリースをSNSにシェアしたとき、アプリへの感想に加え、

「Androidアプリがリリースされる予定はありますか?」「Android版欲しいと思ったらなかった。いっそのことiPhoneに変える?」 といった、

LISTのAndroidアプリも欲しいという声もたくさんいただきました。

最初はAndroidアプリってニーズがあるのだろうかと思っていたし、「LIST Android先行配信メール」という先行配信用のGoogleフォームに500人以上の方がメールアドレスを登録してくださるなんて思ってもみませんでした。

SNSにAndroidアプリを求める声を書いてくださったり、Googleフォームにメールアドレスを登録してくださった方々ありがとうございます。

iOSアプリのリリースから3ヶ月間、大変お待たせしました!!

ぜひAndroidでもLISTを使っていただいて、「自分のやりたいことリスト」を作ってみてください!

使ってみて良かったら、お友達にも共有してもらえると嬉しいです。

そして、不具合を見つけたり要望があればお問い合わせからお願い致します。

play.google.com

LISTのAndroid版アプリ開発経緯

少しだけ開発経緯について書かせてください。

たしか、2019年の1月か2月ぐらいにぴょんくんからサービスのアイデアを聞かせてもらって、Android開発を任せてもらったのがきっかけです。

そのときは、Androidアプリの開発をやったことがなかったので、まずは書籍を買ってサンプルアプリを作ったりし始めました。

ただ、サンプルアプリを作り続けてもリリースできそうなアプリを作れるわけもなく時間だけが過ぎてしまい、2019年8月末には開発合宿はしたけどAndroidのレイアウトについてもまともに理解してない状況でした。

2019年9月~12月は他の開発で忙しくなったこともあり、まともに手を動かせてませんでした。

この間に、LISTに関連するものを作ったのは https://100list.app のLPぐらい。。。

そんなAndroidのコードが全く書けないときに助けてくださったのが今働いている会社の先輩で、1聞いたら10も教えてくれるめちゃめちゃ優しい先輩でした。

どういうライブラリを使えば良いか、MVVMで作るにはどうするか、データバインディングって何?DIって何使えばよい?targetVersionどうすれば良い?とか大きなものから細かいものまで色々!

あと、自分ならこう作るよーとgithubのリポジトリ検索アプリのサンプルコード書いて見せてくださったり、TwitterでAndroidで分からないところをつぶやいているとリプライくれたり、もうすぐリリースできるってなったときにAndroid App Bundle使ったほうが良い、証明書はGoogleに預けたほうが良いとか、アップロード証明書についてとか、どうやってGoogle Playに申請するのかを、忙しいのにZoomで教えてくれました。

先輩がいないとリリースまでこぎつけられなかったと思います。kamedonさん、本当にありがとうございます!!!!!

あと、もうひとり会社の先輩で感謝したい先輩がいて、先輩が書いたAndroidアプリのコードを読ませて欲しいとお願いしたら快く読ませてくれました。

正直、身近にAndroidアプリのコードを見せてもらえる先輩がいないと考えるときつかったなと思います。Nishidaさん、ありがとうございます!!!!!

この二人の先輩のおかげで、Android開発で分からない部分が出てきてもすぐに解決して開発をスムーズに進められたなと思います。

github見てみると、ほぼ毎日開発してました(笑) 焦っているのが読み取れますw

f:id:ryskit:20200413232103p:plain

LISTの開発

僕がLPとか作ったりしている頃、Asano YukiShigetani YuNakagawa Takashiひらやま富永が先行してiOSアプリを爆速で形作っていったのは近くで見ていてすげーなと思いました。

Androidアプリ作るときにだいぶサーバーサイドとiOSのコードは読ませてもらいました! Asanoさん、Takashi、爆速で開発、インフラ構築ありがとう!!

とみーさん、デザイン作成ありがとうございます!! Android用に緊急でSVG修正してくださったり、Google Play用に画像修正してくださったり助かりました!

さいごに

ぴょんくんねごさん

Androidアプリ開発未経験なのに、任せてくれてありがとうございます!!

iOSとAndroidアプリを揃えていろいろ施策やっていきたいはずなのに、AndroidのリリースはiOSがリリースされた後でも問題ないよ!と待ってもらったことも精神的に助かりました。

引き続き、機能開発頑張るのでよろしくお願いします!

改めて最後に

LISTのAndroidアプリの開発に参加できて良かったなと思います。

普段はプログラマーとして働いていて、主にサーバーサイドの開発をしているので、アプリを開発することはなかなかありません。

こういう機会をもらって、Androidアプリを一から開発してリリースまで持っていけたのは自分の中で自信にもつながりました。

あと、アプリ開発中はサーバーサイドの開発の感覚と違うので、「めっちゃ難しい...」「なるほど。わからん。」という気持ちがたくさん湧いてきます。

これは初めてプログラミングを始めたときと同じ気持ちだなと思って、久しぶりにこういう感覚を味わえたのは楽しかったです。

自分なりに頑張って作ったので、ぜひLISTをインストールしてもらってたくさん使ってもらえると嬉しいです。

このアプリが自分の「やりたいことリスト」を作る手助けになればと思います。

「LIST」公式サイト| やりたいことを、みつけよう。

「LIST」Official Instagram

「LIST」Official Twitter

play.google.com

LIST やりたいことリスト

LIST やりたいことリスト

  • YOHAKU, K.K
  • ライフスタイル
  • 無料
apps.apple.com

2020年3月振り返り

今月も振り返ります。

仕事

プロジェクトでやったこと

  • 要件定義
  • 仕様書作成
  • アーキテクチャ図作成
  • etc...

今月は設計・ドキュメント作成が仕事の大半を占める。

仕様書、設計書等のドキュメントを書く力が足りなさすぎることを実感しました。

以下、ドキュメントを書く際に意識する(自分に対して)

  • ドキュメントの目的はなにか
  • どのような読者を想定しているか
  • このシステムの特徴はなにか
  • どういったことを仕様として書くのか
  • そのワーディングの定義は?
    • ないなら定義する
    • ブレたワーディングを使わない
    • 他のシステムとの連携があるなら、共通のワードを使うなど
  • 自分がそのドキュメントで伝えたい思いはなにか
  • 思いを論理的に書く
  • etc...

プライベート

読書

  • ズボラPDCA
    • うーんって感じ
  • 理科系の作文技術
    • 学生のときに読んだのを思い出して、読み返してみた
    • ドキュメント書く上で学ぶことが多い
    • これは何度も読み直す必要あり
  • まんがでわかる 理科系の作文技術
    • サクッと読める
  • 1%の努力
    • めちゃ良かった
    • The Third Doorを読み直したくなった
  • 世界で一番やさしい 会議の教科書
    • 会議仕切るのを参考にするために読んだ
    • 良い!
  • マイクロサービスパターン(読み終わってない)
    • まだ読み始めたばかりだけど、面白い!
  • Design It!
    • 良い!
    • これも噛めば噛むほど味が出るやつ
  • 実践 AWS CDK
    • 良い
    • VPCを使ったAWSサービスの使用例をほしかった
  • ブルーピリオド
    • 久しぶりに当たり!
  • 筋トレが最強のソリューションである
    • 筋トレします

開発

  • https://100list.app のAndroid版を開発中
  • Android難しいが、もっといろんなアプリのコード読んで学びたい

筋トレ

  • コロナでジムに行くのを躊躇うので、家でダンベル持ち上げるぐらい
  • ちゃんと運動したい

2020年2月振り返り

はい、今月も振り返ります。

といっても、あんまり記憶ないです。 ちゃんと記録しとかないとどんどん忘れますね...

仕事

  • 2月は1月に落ち着いたプロジェクトの仕様変更依頼などに対応
  • バグ修正
  • 2月から新しいプロジェクトが立ち上がったので、それのアーキテクチャ設計と調査
    • 大規模のプッシュ配信システムのアーキテクチャ考えるの楽しい
    • 仕様書やDesign It!っていう本で書かれているASRを考える・書くことは大切ですね(大変だけど)
    • データモデリング
    • ワーディング大切。曖昧に言葉を使って仕様書書くとブレる。

プライベート

  • https://100list.appのAndroid版をとにかく開発
    • iOSはすでにリリースされてるので焦ってる
    • 引き続きがんばります
  • 仕事終わったらとりあえずスタバに行って22時ぐらいまで開発してた(おそらく3月もそうなる)
  • ジムは2月は13回行った
  • ランニング5km走れるようになった
  • ドメイン駆動設計入門を読んだ
  • AOJのC++でプログラミング入門を始めた