itsuki さん
昨日は、おつかれさまでした!
コントローラのロジックをモデルに寄せるのが好きなので、
昨日自ら提案していたことをやってみました!(リポジトリをフォークしちゃいました汗)
https://github.com/miketa-webprgr/tan5v2/commit/c31fa96381ca220fb5d51e9eb7089c85093b6955
フォークして、少し更新したレポジトリはこちらです。
https://github.com/miketa-webprgr/tan5v2
あと、勝手にメッセージ?的なものを作ったのでよければ読んでください!
https://github.com/miketa-webprgr/tan5v2/blob/master/memo_to_itsukisan.md
ER図ですが、こんな感じで出力もしてます!
https://github.com/miketa-webprgr/tan5v2/blob/master/erd.pdf
あと、昨日はバックエンド的なところが中心でしたけど、
JSをめちゃくちゃ書いているのが「やべえな・・・」と思いました!
400-500行もJSを書いているポートフォリオ、たぶん相当珍しいと思います。。。
私も書けるようになりたいです。。。
一応、貼っておきます。
enumについて
Boolean型だと2択なので足りない。。。
じゃあ、String型にして、それに一致するかどうかで分岐させればいいか。。。
ということで実装をされていたかと思いますが、enumという便利なものがあります。
ルーティングについて
基本的には、resourcesやresourceしか使わない。
memberやcollectionを使って、独自のアクションを追加するな!
・・・というのが、DHH流らしいです。誇張して言いましたが。
DHHっていうのは、David Heinemeier Hanssonさんっていうデンマーク人のプログラマーさんで、
Railsを作った人です。私も初めて知りましたけど、まだ41歳らしいです。。。
しかも、モータースポーツがすごいらしいです。
Wikipedia(日本語)を見ると、シューマッハ的な人なのかと勘違いしそうになります笑
本題からそれましたが、だいそんさんがルーティングについての記事をまとめてます。
ルーティング以外のものも参考になるものが多いので、気になるものを読むとよいかと思います!
rails-erdで出力したんですね!これをREADMEに貼っておくとどんなアプリなのかのイメージがつくのでおすすめです。
itsukiさんのアプリは非同期でがんがんデータ更新してるので必然的にJSをめちゃ書くことになりますねー。この手のアプリはVueやらReactやらのフレームワークを使った方が綺麗に描けると思います。
enumはstringではなくinteger推奨なはずなのでお気をつけください。
ルーティングに関しては昨日もお伝えした通り原則URLに動詞は含めないように意識すると良いです。RESTの考え方に反するからです。
全体的にネットの情報に振り回されて「作りたいモノを作ろう」とか、「CRUDだけできる初心者と差を付けよう」みたいな意見を信奉しすぎていたのと、
これも確かに一理あるのは間違い無いです。
ただ「シンプルなUI・UXであること」と「技術的にハイレベルであること」は両立します。決して相反するものではありません。
たとえば僕が本業でやっているRUNTEQというスクールの生徒さんなんですが、先日こんなアプリを作りました。
【個人開発】全ての食べ物を0kcalにするカロリー管理アプリ「Zerorie」をリリースしました - Qiita
【プログラミングスクール合同コンテスト】editch - YouTube
特にエンジニアチェッカーに関してはボタンを数回ぽちぽちするだけで使えるアプリなのですが、裏ではツイートを取得してきてさらに感情分析なども行っています。
「シンプル」と「技術力」が両立していますよね。
「突破力」はめちゃ重要で、ほとんどの初学者は「設計は綺麗じゃなくてもいいからこのアプリを無理やり模倣してつくってみて」と言われても作れないと思います。
とにかく形まで持って行ったその突破力はとても評価できると思いますよ。少なくとも僕はめちゃ評価してます!
miketa-webprgrさん
たくさんのコメントありがとうございます。
以前からすごく丁寧なアウトプットをされる方だなあと、時には資料を参考にさせていただいたり、githubのアウトプットなどを覗いて勉強させていただいていました。(勝手にごめんなさい
おそらくプログラミング以外の、物事をまとめたり整理したり安定して物事を遂行される力がある方なんだろうなと、私にはないスキルを持っていることに尊敬の念を感じていました!
ご提示いただいた内容を全て目を通しまして、E-R図の簡単な作成の仕方や、modelに実装すべきことをcontrollerから移行するなど、確かにやれることをやっていなくてお恥ずかしい、、
JSについては、あれもだいそんさんがおっしゃってた「力業」な部分があるので、あまり参考になるものではないと思います。汗
ライブラリにはjQueryを使用していて、これ自体もあまりトレンドではないようですし。。
全体的にネットの情報に振り回されて「作りたいモノを作ろう」とか、「CRUDだけできる初心者と差を付けよう」みたいな意見を信奉しすぎていたのと、現在の学習効率の悪さから、さっさと転職してプログラミングに集中した方が効率良く学べるはず、そのためには早く見栄えするポートフォリオを作らなくては!という焦りが作り出したものなので、今後、ある種の悪い例として使ってあげてください笑
ヤル気はあるのですが、少し空回り感が。。
daidai3110さん
>この手のアプリはVueやらReactやらのフレームワークを使った方が綺麗に描ける
そんな気がしていました、、笑
結局それも焦りと学習時間を天秤にかけて、焦ってゴリゴリ作ってしまい、、おそらくJSのコードレビューをしたらもっと悲惨だったと思います。
RESTについて、動詞を含めないという考え方は今後意識していきます!
だいそんさんが仰っていた「突破力」というのは別の視点で見れば技術的負債を蓄積しそうで、自分が管理側だったら扱いづらいだろうなと思います。
とにかく形になるモノだけを作って、現場で書き方を学ぼう!というネット上の情報もあったので、本当にそれに沿って形にしてみたのですが、
だいそんさんのようなベテランの方の反応を見ることができて本当に勉強になりました。
加えて、昨日いただいた参考記事を見るに、今のままではまだまだ使い物にならないなと。。
もう少し綺麗にRailsらしくかけることを意識する必要があるなと感じました。
時には資料を参考にさせていただいたり、githubのアウトプットなどを覗いて勉強させていただいていました。(勝手にごめんなさい
私も、そういう行為はしがちです笑
私のアウトプットでよければ、勝手に見てください笑
E-R図の簡単な作成の仕方や、modelに実装すべきことをcontrollerから移行するなど、確かにやれることをやっていなくてお恥ずかしい、、
まだ完成版ではないわけですし、完成版だとしてもどこか妥協しなくちゃいけない部分があるので、気にする必要はないと思います。
現に、こうやってポートフォリオレビューができたことで、色々と得られることもあったかと思うので。
むしろ、モデルにロジックを寄せるなんて、ユーザー目線ということでいえば一番どうでもいいことなので、あまり気にしないでください。
JSについては、あれもだいそんさんがおっしゃってた「力業」な部分があるので、あまり参考になるものではないと思います
評価できる実力がないので何とも言えないですけど、仮に力業だとすると、力業であそこまでやり遂げたことがすごいなと思います。。。
私は発狂してあきらめる自信があります笑 そういうところをだいさんさんは、「突破力」って言っているのだと思いますよ!
(投稿順序が前後するバグ...)