毎日やったことを記録していく(2019/9/6 152日目)
今日やったこと
英語
TOEIC® L&R テスト 文法問題 でる1000問
- 回答数:5問
iKnow
- 新規:0個
- 復習:5個
スタディサプリENGLISH
- クイックワードクイズ:1サブセクション
開発
danime-nico-tools
fixtures
の更新
知ったこと
ActiveRecord::Base.human_attribute_name
i18nによる翻訳とattributeの値の取得を同時にできるメソッド。
参考
ActiveRecord::Base.model_name.human
i18nによる翻訳とモデル名の取得を同時にできるメソッド。
slimのruby:
フィルター
slimで下記の2つのコードは同じ結果を返す。
# コントロールステートメント - hoge = @hoge - fuga = @fuga - hage = @hage # rubyフィルター ruby: hoge = @hoge fuga = @fuga hage = @hage
感想等
以前やった経験があることを忘れていて変なやり方をしてハマってしまった。
人間は脆弱性だらけ・・・。
毎日やったことを記録していく(2019/9/5 151日目)
今日やったこと
英語
TOEIC® L&R テスト 文法問題 でる1000問
- 回答数:5問
iKnow
- 新規:0個
- 復習:5個
スタディサプリENGLISH
- クイックワードクイズ:1サブセクション
開発
danime-nico-tools
fixtures
の更新
知ったこと
コミットの粒度
コミットの粒度は作業単位にするのではなく、後でレビュアーやログを参照する人がどのような目的で変更を行ったかがわかるくらいの単位に分けたほうが良い。
感想等
仕事が雑い
急いだりタスクが見積もりや予定から遅れてくると諸々が雑くなって確認作業を怠るのが悪い癖。
どんなときも確認作業は必ず入れなければいけないと反省。
確認怠ると手戻り発生してかえって作業遅れるしいいことない。
注意一秒怪我一生。
毎日やったことを記録していく(2019/9/4 150日目)
今日やったこと
英語
TOEIC® L&R テスト 文法問題 でる1000問
- 回答数:5問
iKnow
- 新規:0個
- 復習:5個
スタディサプリENGLISH
- クイックワードクイズ:1サブセクション
開発
danime-nico-tools
fixtures
の更新
知ったこと
puts
Kernel#puts
には可変長引数を渡せる。
なので複数行出力したいときに配列にして渡さなくてもいい。
例
# こう書かなくても puts \ [ header, lines, footer ] # こっちで上記と同じことができる puts \ header, lines, footer
require
大元のrbファイルで必要なrbファイルを全てrequireしておくだけで動くようになるが、各ファイルで必要なファイルをrequireしておくと個別で使用したくなった場合に便利。
Arrayの特定要素のみをmapする処理
新たに配列を生成してそこからnilを取り除く処理を書く場合、意外にループ回数が2回あるmap
+ compact
の方がinject
やeach_with_object
でループ1回で必要なもののみ配列に追加していく書き方よりも早いらしい。
ただ大した差はないので場合によって可読性の高い書き方を選択したほうが吉。
参考
感想等
朝起きたらなぜか頭が痛かった。
風邪ではないはずだが・・・大丈夫だろうか?
毎日やったことを記録していく(2019/9/3 149日目)
今日やったこと
英語
TOEIC® L&R テスト 文法問題 でる1000問
- 回答数:5問
iKnow
- 新規:0個
- 復習:5個
スタディサプリENGLISH
- クイックワードクイズ:1サブセクション
開発
danime-nico-tools
fixtures
の更新
知ったこと
定数(クラス)の取得
生のRubyではString#classify
が使えないが、Object.const_get
で定数(クラスも)を取得できる。
ただし、1階層しか取得できないので子階層の定数(クラス)を取得する際は複数回Object.const_get
を呼ぶ必要がある。
不要な抽象化
柔軟性やDRYを求め過ぎて抽象化しすぎるとかえって可読性・保守性の低いコードになってしまうので、素直なコードを書いた方がいい場面も多い。
参考
名前をつけるか直に書くか
名前をつけたバージョン
def hoge_information hoge_information_members.map(&method(:member)).join(', ') end def hogeinformation_members %i[first_name last_name age address telephone_number] end
直に書いたバージョン
def hoge_information %i[first_name last_name age address telephone_number].map(&method(:member)).join(', ') end
メソッドとして名前をつけた場合、配列の種類が増えてくるとhoge_information_memberのようなメソッドがどんどん増えていくことになるのでソースコードの見通しが悪くなってしまう。
感想等
やっぱりレビュー受けるのは楽しい
研修でコードレビューを受けてるけど、一人でコードを書いているときにはない学びを得られて非常に楽しい。
あと、レビューで褒められるとモチベーション上がるのが実感できたので今後は褒めスキルをもっと高めていきたい。
毎日やったことを記録していく(2019/9/2 148日目)
今日やったこと
英語
TOEIC® L&R テスト 文法問題 でる1000問
- 回答数:5問
iKnow
- 新規:0個
- 復習:5個
スタディサプリENGLISH
- クイックワードクイズ:1サブセクション
開発
danime-nico-tools
fixtures
の更新
知ったこと
Range#to_a
Range#to_aで配列を作成できる。(以前から知っていたが忘れていたためメモ)
(1..10).to_a #=> [1,2,3,4,5,6,7,8,9,10]
感想等
初出社。
TimeMachineでの社用マシンへの移行がうまくいかず環境構築に思ったよりも時間がかかってしまった。
GitHubにdotfiles等をあげていたのでなんとかなりそうでよかった。
しかし自宅のWi-fi環境が整うまで自宅で思うように活動できなくてつらたん・・・。
毎日やったことを記録していく(2019/9/1 147日目)
今日やったこと
英語
TOEIC® L&R テスト 文法問題 でる1000問
- 回答数:5問
iKnow
- 新規:0個
- 復習:5個
スタディサプリENGLISH
- クイックワードクイズ:1サブセクション
読書
Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版
- 位置No: 1250〜1999
開発
danime-nico-tools
fixtures
の更新
知ったこと
なし
感想等
宅配待ちながらの読書の日。
なんとか最低限必要なことはできた。
明日は初出社だ・・・。