2018.04.13

昨日の研修は良かった。twadaさんのデータモデルの研修で売上管理システムの論理設計を行った。論理設計してから物理設計をするべき、という話は知っていたんだけど、「物理設計はインデックスをどうはるとか、RDBMS依存のパフォーマンス的な部分を頑張るところね」という理解をしていたんだけど覆された。論理設計はER図を見てビジネスモデルが理解出来なければならない。つまりそのビジネスの制約条件がリレーショナルモデルで表現できる制約を使って表現するということ。そしてこの論理設計を実際にテーブルに格納するときのデータモデルが物理設計になる。だから論理設計ではエンティティでも、物理設計のときには別のエンティティのフラグとして表現される場合もある。twadaさんは常にふたつのER図を行ったり来たりしながら設計するということだった。今やっているプロジェクトもER図書き直そう。俺が論理設計したと思っていたのは物理設計だった。

write code everyday 活動はまだ続いている。三日坊主にはなってない。まだ1週間も経ってないけど毎日絶対にやるのだと決めてしまえば案外できるものだ。なんとなくTwitterを眺めて無為に過ごしている時間をかき集めてコードを書いている。というか、Twitterなど眺めているときに「今この時間でコード書けるのでは?」という気持ちになる。これは良い変化だと思う。やり過ぎは疲れてしまいそうだけど。

それに物理時間が取れない場合も多いから常に頭の中で設計を考えていることが多い。PCの前に座ってから考えるからプログラミングに無限に時間がかかる。PCに向き合ったら一日考えたことのアウトプットに集中する。これが続けるコツっぽいなと思った。