8月学んだこと2019/09/19SHAREツイートシェアはてブLINEPocket最近は案件を複数回すようになってきてコンテキストの切り替えが難しくなってきた。vueを久々に書いたが、忘れすぎていてびっくりした。詰め込みすぎてやったことどんどん忘れていきそうだから勉強になったことをまとめていこうかな!と思った。僕自身ゴリゴリ書けるエンジニアじゃないのでゆるふわな感想が多いです。javascriptのホイスティング今まで意識して書くことがなかったのでとても勉強になりました。goのrevelとgormについて一通りrevelを使ってみたと思う。個人的にはMVCっぽい考え方がgoに合わなさそう・・・という感想。そこまでgoは書いていないが、ginとかechoの方が使いやすそうな印象。テストをしっかり書きたいと思いinterfaceに依存させるように全部書いていくと、結局リッチなフレームワークってあんまりgoではいらなさそうと個人的には思ってしまった。https://revel.github.io/gormに関してはとても使いやすかった印象。validationをみんなどう書いているのかはわからないが、パッケージを使ったら個人的にはそれっぽくて良い感じでは?と思った。https://github.com/qor/validationsreactちょこちょこhooks触って実戦投入し始めた。すごく快適になった気がする。https://qiita.com/erukiti/items/fb7bcbd9d79696579d06自分がreactいいなって思ってるのを足りない知識なく言語化されている気がしてとても良い記事でした。https://github.com/numa999/react-redux-exampleこれは導入前に適当に作ったサンプル。reduxのmiddlewareについても色々使ってみた。結論redux-thunkがちょうど良くてよかったなと思っている。redux-sagaは重たすぎるが、複雑なUIが多いサービスには良い気がしている。今回導入しようとしたサービスの感じだと、redux-thunkが良さそうだった。TSでもしっかり書ける。書き味だけでいうと、vuexよりずっと好きだった。TSにしっかり対応しているのも好きだし、書き手が気を使って頑張らないとTSでかけない状態というのがとても好きじゃなかった。reactが好きなのも同じような理由。あとは全然別の話だけど、atomicデザインについて、デザイナーとエンジニアの共通認識を作るのはとても難しいんだなと思った。rubyオブジェクト指向とは?みたいなたいそうなことは語れないが、初学者に教える機会が多くなり、何を教えたらいいのか正直よくわからんかった。局所的な可読性は「まあこっちの方が良くない?」くらいで教えられるが、今まで浅くやってたあるいはやってすらいないかもしれない、設計について話そうとした時にあまりうまく言語化できない気がした。不必要な継承や抽象化が多いのでは?ってなっていて、もはや追えない人の方が多いような状態。調べていたらここら辺の記事が参考になった気がする。これの善し悪しは作りながら決めるとしても、参考にして人に話す時に考えを言語化できていたら良いなと思いました。https://qiita.com/tutinoco/items/6952b01e5fc38914ec4ehttps://qiita.com/tutinoco/items/7f7568cc7dbf7e2276c8https://www.javaworld.com/article/2073649/why-extends-is-evil.htmlただ実際にメインで作っている方達がもう困っている。状況は遅かった気もした。このパターンは何が正解!っていうのはあまりない気がしていてチームのみんなで話し合ってみんなが分かりやすければそれでいいと思ってもいる。誰かが黄色信号を出した時にうまい感じに落とし所を見つけられるのが良さそう。チーム的には全員が初学者のチームなので、個人的には継承や抽象化は一旦避けて、railsのクラスのみを継承して全てを作り、同じような関数が増えてきたらデザインパターンの中から適していそうなものを見つけてうまく抽象化していくのが良いと思い提案した。デザインパターンについてはここら辺を参考にしてその時には適切だと思える形で実装するように心がけたい。engineerwebエンジニア。フリーランスで活動しています。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。