nashcft's blog

時々何か書く。

日記的な

風邪治った

昨日今日でタスク1個こなして、あと Effective Java の読書会したりコードレビューしたりした。最近読書が疎かになりつつあるのでよくない。
今日のタスクでは ViewHolder まわりをいじっていたのだけど、 RecyclerView における ViewHolder とそれに紐つく (?) View の関係やライフサイクルとか、layout のxmlと実際に表示されている view がどうのとか、再利用とかメモリ効率がどうのとかってどうなってるんだろうなーというところが気になった。
そう言えば gradle plugin の移行はもうちょっと先になりそう。

今日読んだ本:

  • 融けるデザイン -> 63%
  • Effective Java -> 6章入った

Effective Java の読書メモを会社のwikiに残しているけどそのうちこっちに持ってこよう。

😷

今日は出社したら Android Studio 3.0 がリリースされていたので早速アップデードした。とりあえず新しくできるところは新しくして、引っかかるところがどこかだけ眺めておいた。来週くらいから Gradle の android plugin のマイグレ作業をすることになる。

午後は半分ミーティングで残りの殆どは社内勉強会だった。今日は若者数人で『テスト駆動開発』のもくもく写経会を始めた。参加者全員がJava経験者というわけではなかったので取り組む際の言語は自由として、私は色々と折角な機会だったのでKotlinで進めることにした。ところでこの会では git レポジトリやプロジェクトを作ってもらうところからやってもらったのだが、今年新卒で入った人がその辺の知識・経験がなくて苦戦しており、それのサポートに結構時間がかかったので本の進みは1章の途中くらいまでだった。 git は普段から使っていて仕事始めてからもう半年も経つのだから問題ないかなーと思っていたのだけどそうでもなかったのは結構意外で、ちょっとこれはフォローしないとなとなり次回は git 会にすることにした。

風邪、直に治ると思っていたのに帰宅してから熱をはかったらまた上がってしまったので今週はもうおしまいです。

風邪と情報共有と

風邪を引いてて治りつつあるものの鼻水が辛い...

今日は小さいタスクを1つ片付けた以外はほとんどコードレビューをしていた。
昨日まで ConstraintLayout で苦戦していて自分しかこれを使っていないから頑張るしかないと思っていたら先行して別の画面を開発していたメンバーが実は ConstraintLayout を使っていたことに今更気づいた。割と和気藹々とやっているチームだけどこういう所の情報共有が課題なんだなあと思った。プルリクエストを出すまでの間のコミュニケーションがあまりに少ないのでそこから改善できないかなあ。

情報共有をはじめとしたコミュニケーション関連の問題はチーム内だけでなくチーム間でも以前からあって、チーム移動を経験してその辺の実害を割と具体的に実感していてどうにかしないとなーとなっている。今も前いたチームと今いるチームの間で地味な問題を抱えていて、今いるチームの人とは普段の会話の中でその辺の事情やら背景やらのお話をしてじゃあどうやっていきましょうかと話を進めることができているのだけど、前いたチームは自分がいた頃はそういう話を聞いたことなかったしどのくらい認識してるのかなーというのが掴めてなくてどういう切り口でお話をしたらいいかなーと変に気になって進められていない。

夜中のテンションでこういう悩ましいことについて考えるとよくない方向にしか進まないのでこれで、コミュニケーションはとても難しいのに無頓着な人が周囲に多くてつらい気持ちになるなあということだけ吐き出しておしまい。

ここ数日やってたこと的な

終わったと思っていたレイアウト書きが実は終わっていなかったなどありここのところ ConstraintLayout と格闘して打ちのめされていたのだが、やっとひと段落つき定時で帰るなど時間や心に余裕ができたことにより日記的なものを書く気力が自然と湧いてきたのである。

レイアウトいじりというか実際は画面開発をもそもそとやってて、RecyclerView の使い方を覚えるとかうちのアプリの特徴を捉えるとか ConstraintLayout を習得するとか色々なことを同時にやっていて、そういうことをすると注意が散漫になり ButterKnife.bind() に与える target を間違えて何も表示されないということが発生する。
それで ConstraintLayout で適当に View を並べて constraint を設定してエディタ上ではいい感じにできていたのが実際に動かしてみると例えば TextView に入ってくる文章の量によって View のサイズが変わって隣り合った View が重なってしまうとかあるよねーと思いながら直すのだけどエディタ上で再現できなかったり未だに理解していないことが多い。結局 1.1.0-beta をぶち込んで Barrier でねじ伏せることで解決したけれども、安易に beta をプロダクトに取り入れるのはどうなの? というお話があり審議中という感じ。

ConstraintLayout でレイアウトを作るとき、最初はレイアウトエディタで適当にものを並べたり簡単に constraint をつけたりというところまでした後、最終的には constraint に関しても xml を手でちまちまやっていくことになり、一貫してどっちかでできないかなーという気持ちになった。

Constraint でのポジショニング、chain の作り方、bias, goneMargin の設定、alignment や guideline、Barrier の使い方あたりはだいたいわかったけど、まだ謎なことが多いのでもうしばらくの間は https://constraintlayout.com/ とかを眺めて理解を深める時間を作る。

様々な理由により帰宅時間が遅くなるとこのように日記的なものは書かれなくなっていきます

今回は退勤後にジムに行き帰りの電車の接続が最悪だったので日付が変わりそうな頃に帰宅をした。
仕事の方はレイアウトが書き終わって java をもそもそと書き始めたところまで。 ConstraintLayout を layout editor で編集するのクッソ辛いなというのがここ二日くらいで得た知見であり、誰か上手いやり方と ConstraintLayout について教えてくださいという気持ち。

タイトルを考えるのが面倒になった

今日は演奏会を聴きに行ったり腕時計を修理に出したりと外をウロウロしていた。用事のついでに『テスト駆動開発』を買おうといくつか本屋に寄ってみたがどこも在庫切れになっていたのでamazonで注文した。とは言えamazonも現状在庫切れなので届くのは当分先になるだろう。
電子書籍ならすぐ手に入れられるのだがpdfしかないので今回は紙の本で購入する。epubとかで出されていたら電子書籍版を買ったのだけど...

本が届くまでの間に積読になっていた原著の方に目を通しておく予定。

平日の終わり

CIrcleCI の移行がひと段落したので勉強も兼ねて Android アプリの新規画面の実装タスクを拾ってみた。
入門書をザーッと読んでどれくらい理解したかなーという感じで手をつけてみたけどどうも Layout 周りがダメっぽいのでその辺りの復習をしようというところ。