tawara's blog

雑記。個人の見解です。

データ加工能力が課題

「結局のところ、webアプリはデータをユーザーフレンドリーに加工・出力するだけ」という言葉を強いエンジニアの口から聞いたことがある。 一理あると思う。だからこそ入力されるデータこそに価値がある、ともいえる。

でエンジニアとしてはデータの加工能力が大事になるわけだが、いまの自分にとってはこれが課題だ。

このテーブルにあるこのカラムの値が同じレコードの場合は、CSVに格納する値をまとめて'[A|B]'のようにしてくれ、などの仕様があったりする。 RailsActiveRecordのクエリを使って何とかデータを引き出して、Rubyのメソッドを使って加工する能力が求められる。 Railsの方はなんとかなる(groupの使い方がまだ腹落ちしていないけれど)が、Rubyの方がまだたどたどしい。 配列なら何とかやりようはあるのだけれど、配列じゃ難しいときがある。

このようなときは方針がいくつか挙がるけれど、その方針の採択にも同じく迷う。

  1. 実はActiveRecordでもっと求める形に近いデータを用意できる
  2. hashを上手く使う

今日のタスクは2が有力な気がしている。なので明日ゴニョゴニョしてみる予定。

いっとき競プロに挑戦した経験があるが、それが役立つことはある。flattanで配列のネストをなくしたり、concatで配列をくっつけたりと。 少しだけでもかじっていてよかったと思う。

モデルメソッドまたはインスタンスメソッドが適しているのか、というのも迷う。何が基準なんだろうか。 N+1は意識しているけど、パフォーマンスの基準の手持ちもない。

これはおそらく教科書となるコードのストック不足なのかと考えている。 有名なgemとかを読んで美しいコードを見とく・写経したほうがよいかもしれない。

あとは実地で訓練して、PRレビューで指摘してもらうとかかな。

(了)