5月KPT

なんか毎日を漫然と過ごしてる気がして、後から色々やったよねとかいやこれあかんでしょとか洗い出すためにもセルフKPTやってみてもいいんじゃないかなって1回目。続くかなぁ。これ自身がKeep案件。区切りとしては月1だけど、それって忘れるし、週1は一人でやるには早すぎるし、月2ペースで進められるといいね。

Keep

AppleDeveloper更新した

5月末くらいで切れるはずだったのを更新。まだまだFighTimer開発頑張る。

TestCoverageを意識するようになった。

FighTimerのグラフ用のレコード抽出処理がゴミってるのでテスト書きつつパーセンテージが上がるのが楽しい。
TDDには至らない感じ。

Fightimer利用ユーザー増えてきた

ありがたいことにレビュー増えてる。本当にありがたい。
実際に使ってくれてる人も増えてきてて嬉しい。語彙力。

books

in

読了

challenge

セルフKPT

まさに今。

DDDへの興味

DDD本が良かったので実践DDD本も買った。

英文勉強に英字新聞契約した

ダラダラ本で文法とか読んでたけど頭に入らないのでThe Japan Times Alphaを契約した。
理解できなかった単語とかスラッシュリーディングとか、本だと気が引けるけど新聞なら書き込んでもいいよねの精神。
想定外だったのが毎週届いてること。月刊誌だと思ってた。
まだ週1だと読みきれてないけど、徐々にスピード上げられればいいかな。
最終的なゴールを考えられてない。TOIECでも受ける?

ABC参加した

2019/06に1回だけやって以来放置してたABCを5月分は全部出れそう(4回やった)。
根深いアルゴリズムわかってない案件多すぎるけどこれの勉強に時間割くと目的見失いそうなので挑戦できた問題を理解していくのを繰り返して伸びることにご期待ください。

趣味枠

昨今のコロナ禍でサブスクしてたチョコとか、コーヒー豆買ってゴリゴリ挽いて飲んでる。
ちゃんとしたコーヒー豆だから近所も開拓して美味しいケーキの店見つけたりした。
パンとかケーキとか、ちゃんと冷蔵庫にしまわないとカビるので猛省してください。

games

  • ディスガイアRPG
    割とプレイしてたつもりだけどシスティナ降臨倒せなくてモチベめっちゃ下がった。
  • 勇者の飯
    キャラとか世界観が好み。
    画面がびかびかしないので眠れない夜になんとなくやっちゃうし、
    放置バトル系ではないのでちゃんと遊んだ満足感がある。
    広告でないし広告風船もなくて世界観めちゃめちゃ大切にされててすき。
    稼げてる?大丈夫?
  • Helltaker
    話題のアレ。無料で配布して話題性かっさらってアートブック課金で稼ぐスタイルがかっこいい。
    キャラもBGMも和訳も全部好き。ラスボス戦だけ嫌い。
  • リングフィットアドベンチャー
    月10日分くらいがんばれてる気がする。残業があるとがんばれない。
    DL販売だけしてくれないですか。ソフト入れ替え面倒なんです。
  • ファイアーエムブレム風花雪月
    ちょっと再開したけどリングくんの圧でまたやらなくなってしまった。
  • Mindustry
    ダラダラやっちゃう。これはいけない。
  • Factorio
    Mindustryにドハマリしたのでより話題なこっち…と思ったけどこっちは肌に合わない。
    敵がグロかったり、操作性がMindustryの方が良い。

Problem

リリース回数減ってる

当初2週間に1回はリリースする予定だったけど、GWがあった5月でさえ1回しか出せてない。

  • 普通に開発テンションが上がってない
    • Atcoderとかゲームで遊んだりダラダラしてて、そっちに時間と気力が食われてる感。
  • リファクタのやりすぎ
    • テストが探り探りの実装で時間がかかる
    • 対象とした範囲が大きい
    • テストを書くことが目的になってしまってる
  • ニーズに合ってない機能で時間かかりすぎた
    • カテゴリグループ作れるようにしたけど全然使われてないね。なんなら自分もあんまり使ってないのでは。

Try

前半:機能追加・後半:前半の残り+リファクタが理想の2リリースではある。
わかっちゃいる…。欲張らない管理を目指す。

稼働時間が減ってる

リモートワークで出社退勤の時間が減ってなにかできる…と思いきや生活時間がアホになる。
多分これ解決出来たら世界平和になるんじゃないかな。

Try

平日は何らかの作業時間を3時間やることを目標としてるけど…。
なんで1日がこんなに少ないのかわからない。寝るからか。体力足りてないからか。

利用ユーザー増えない

Keepとの矛盾。
正直、なんで増えたかわからないというのと、1ヶ月のユーザー推移でひと月前と1日の利用者数があんまり変わらない=離脱して定着してない。
そのへんのモチベを保てるようななんかを実装したいね。

Try

そんな感じの機能を追加していく。

【書籍】CleanCode

書籍情報

Clean Code アジャイルソフトウェア達人の技

メモ

CleanArchitectureが既読棚に積んであるくせに読んだ記憶がない疑惑の判定で読みだしたところ、こっちの本の参照を見かけて作者同じやん!って軽く目を通してただけのはずがいつの間にか読み切ってた。
ソースコードきれいに書きたいブームのときに買ってちまちま読みつつ忘れかけてた本。
学生時代に買うとしたら気が引けるけど、業務経験出てきたり、会社に置いてあると嬉しい1冊(所感)。

クリーンコードな心がけ

第1~13章(P25~254)は1章ずつが独立しつつも1章ずつが大切なテーマについて語ってるので初心を忘れてしまったら読み返したい。
名前の付け方(2章)、コメント(4章)の即効性のある内容からエラーの書き方(7章)、システム(11章)、スレッドの並行性の話(13章)の重い話まで色々。1章あたり10~20ページくらい割いて説明されてる。
スレッド関係はよくわかってないので読み飛ばしてる。
なんかもうちょっと専門の本とか、自分の仕事に関わるようになってから読み返すと違うものが見えそうだ。

実践編

第14~16章(P255~370)はリファクタやってみました話。
つまり割とピンとこない話なので読み飛ばし。
リファクタ対象とした内容自体が読み解くのにエネルギー使うので、テスト駆動開発の方が読みやすくてTDDチャレンジもしてみたくなる。(そういえばそちらは読んだ本履歴に書いてないや)

標語

第17章「においと経験則」はたった30Pでこの本から学ぶべき問題あるソースの注意点をまとめてくれてる。全部覚えるまで毎日仕事前に1回眺める習慣付けてもいいんじゃないってくらいには大切なことが小さくまとまってる。

ABC168に挑んだ回

今回はDまで突破出来てパフォーマンス890。
ついにRateも茶色に到達しました。やったね。
今回の問題のタイトルがなんだかおしゃれで素敵。

数式が書けるプラグイン入れて記事書いてる最中は数式で表示されるけど本番だと表示されなくて悲しんでる。
そのへんは心折れてしまったのでそのままです。
WordPressでKaTex記法(≒Latex記法)で入力して数式をレンダリングする 【WP Githuber MD】

C : (Colon)

愚直なので座標計算して長針・短針の間の距離を計算してました。
でも余弦定理で計算できたそうな。なるほど。
こういう計算式についてはすっぱり忘れてるので良くない。

余弦定理

$$(三角形の面積)=\frac{(底辺)\times(高さ)}{2}$$

時針・分針=bとc、θは2つのなす角度で求まる。
角度は時針が{(H/12)+(M/60/12)} *2π、分針が{M/60}*2π
時針-分針で求まる。

引っかかりポイント

  • いつもの癖で浮動小数点の値を12.fとかFloat型にして死んだ(精度が下がる)
  • 普通にcoutすると出力桁数が足りなかったのでfixed << setprecision(20)で出力調整が必要

愚か者の解法

本戦中は座標計算してた。まぁ間違っちゃいないよ。通ったんだもん。

座標回転の計算式

D - .. (Double Dots)

BFS(幅優先探索)問題だそうな。
BFS (幅優先探索) 超入門! 〜 キューを鮮やかに使いこなす 〜

再帰で解いたけど、キューを使って解いたほうが頭良さそう。
再帰が619ms、キュー版(下)が331msだったので実行時間も優秀。

引っかかりポイント

  • 解答を入れてた配列がunordered_mapで、実行環境とABC環境で出力順が違う原因に気づかず死にまくった。

E - ∙ (Bullet)

残り10分くらいだったので諦めた。
イワシの問題。解きたかったですね、閣下。
Ai+AjとBi+Bjが~なときは~みたいな問題は先にそのケースとか計算を列挙しとけ的な知見を得たけど、肝心のその問題、何だったっけなぁ…。

いつもお世話になってる解説を参考に後でお勉強する。
(ここまで書くのに1時間かかって疲れた
(Bullet) [AtCoder Beginner Contest 168 E]

ABC167に挑んだ回

AtCoder初心者なのでまだ参加回数6回のCかD問題で死ぬ人。
その上で新しいアルゴリズム勉強して、忘れないようにメモってるだけです。

C - Skill Up

N<12だから全探索でいいよね?でやって正解できた。
買わなかったケース・買ったケースで再帰組んでます。

回答例もググってみた。
この手の重複なしの組み合わせ探索にはbit探索が使えたらしい
bit全探索について簡単にまとめる
値を1ずつ増やしてbit単位で値を見ると、確かに全パターン列挙できるね。

D - Teleporter

駄目だった。(ループをゴリ押し計算したりした)

ので、回答例をググってみて再挑戦。

ダブリングについて初めて知った。
今回みたいに同じ要素を重複して回るときには使うことになるようだ。

【書籍】ノンデザイナーズ・デザインブック

書籍情報

ノンデザイナーズ・デザインブック

メモ

伝わるデザインの基本に続いて、この手の資料作りとかで読んどくといいとお勧めされた1冊。

伝わる〜は資料作りに特価した本だけど、こちらはもっと基礎的な文章の見せ方に対するルールを定義付けた本。

大前提として翻訳本で英語に対するデザインを説明した本なので、後半のフォントの話が完全に英文向けの説明。
とはいえ、デザイン原則とか、フォントの組み合わせルールとか、日本語に対しても転じて適応できる部分はある。

デザインの原則

本の前半(10-162P)がデザインの原則→文章の見せ方の話で、この本で読んでおくべきことの大部分。

以下の話に終始している。

  • コントラスト
    要素の違う内容はくっきり違いを感じ取れるようにする
  • 反復
    類似するデザインは繰り返す

  • 整列
    データの位置は合わせる
    無闇に中央揃えしない(先頭がずれる)

  • 近接
    類似する要素は近づけてグループ化する
    関係ない要素は離す

上の文章はこの4つの要素を意識的に取り入れて書いた。
説明すると、

  • コントラスト:表題が太字になっている
  • 反復:4つの項目を同じフォーマットで提示した
  • 整列:表題の下の文字列の開始位置が全て同一である
  • 近接:要素の間に1行分の改行があり、グループが見て取れる

…みたいな。

まぁブログの描き散らかし用には面倒なのでこれ以上はやらないけれども…。

あとは色の選び方の話が少々。
でもこの辺は趣味なら自分の直感で選ぶか、配色パターン本なんてのもあるし、こういうところから選んだ方が良さそう。

この本は次に色についてしっかり考えたくなったら買おうかなって思ってる。本屋でパラ見して良さそうだったシリーズ。

FighTimer(ios/android)が緑・オレンジベースなのは趣味。オレンジって活動的でいいよねってところから一番のテーマカラーが決定。
そこから、

  • 何もしてない時間→緑
  • アクティビティのある(タイマー記録中)時間→オレンジ
  • アクティビティ期間限定の要素(リマインダー)→水色

というチョイスで、
緑×オレンジはトライアド、オレンジ×水色は補色。
考えて選んだ記憶はあるので、そう間違ってはいないはず。
 (最も、カテゴリーとかユーザーが好き放題に色を選べるのであまり意味はない。

活字

後半(163-236P)がフォントに対する話。
セリフありなしとか、大文字小文字の話とか、完全に英文の話なので結構駆け足で読んでしまった。

フォントのカテゴリー(線の強弱・セリフ・筆記体…)を覚えて、同一ページで2種類以上のフォントを利用したい場合はカテゴリーが異なるものから選ぶとコントラストが出るので良い、というルールはわかりやすい。

「英文が全部大文字だと読みにくい」は感覚的には理解してたけど、「大文字だとシルエットが全て同じだから読みにくい」の説明がとても腑に落ちた。
「FighTimer」は「g」とか「i」とか上下の形に凹凸ができるけど、
「FIGHTIMER」は上下が一直線になるから遠目に読みにくいって話。