# Railsの分析 2020/11 [Gitはこちら](https://hackmd.io/3Vbx6nxSS86xtHYdWtM9Pg) ## 11/10 ### 前提 期間: 10/01 ~ 11/09 RubyonRails + 基礎知識学習フェーズのみ (DWC、オンラインは確実に混ざっています) ``` ストレージ不足、継続課題、マージブロック、明らかな2ヶ月目以降の内容を除いています 総質問数: 1613 --- 以下ワードを含むもの spec: 94("r spec"など、rspecでは誤字が散見されたため) テスト: 127(specと一部重複はしている) バリデーション: 80 コメント: 24(コメントアウト:4件を除く) book: 393 ※Gitのときもなのですが、キーワード絞ったあとに「ほんとに総数1600件もあるの??」と疑ってしまいます... ``` ``` 【GDPのデータ】 [9月] 1118件 40名? ↓ - 397件 [10月] 721件(35.5%↓) 35名? ``` ### 前月比で減った要因 シート上で分析しているのが10月分~で、9月以前分は手動で一覧遡らないと見えず([例](https://web-camp.online/admin/questions?admin_question_status_id%5B%5D=4&learning_phase_id%5B%5D=1&page=80&student_id=&student_name=))、 正直確実なことが言えない状態です... 以下割と主観入っていますので参考程度でお願いします。 - ver2配布:DWCが9/1~、オンラインが10/1~。 - そのため、9月はまだvagrant関連の質問は残っていた。(新宿、オンライン) - 10月以降は基本的にオンライン生の一部と、延長生と、2ヶ月目以降(あっても1,2件)と限られるようになった - 実際「vagrant」を含む質問は17件(全質問の1%)になっている - いずれは0になるはず、ただし代わりにCloud9の質問があるが、vagrantほどの量ではない。 - 今回「cloud9」は6件。 - また、環境構築で詰まることが少なくなり、事前学習がよりスムーズに進んだのではなかろうか。(願望) - 期限内提出がざっくり50%くらい...あれそうでもないのか :cat2::comet: - 延長は渋0難3新4(うち難1新3は2ヶ月以上延長) - form_with化のついでに、ハイライト徹底を始めちょこちょこ手を加えたので、ver1時代よりは見やすくなっていたのであれば嬉しいのですが(願望②) - 「カリキュラムの○○で、記載されているコードをどこに追加するのかわからない」のような質問はほぼ見受けられなかった。 - **これらだけで400件も減らないと思うので何か別の要因があるはず...** - 余談ですが、11月現時点で応用1の質問は激減していますね(片や2が既に倍増しているorz) - メンターの対応改善もあるかも? ### 現状 ・エラーと言っても様々 ``` エラー: 728 - error: 260 - argument: 11 - constant: 15(= uninitialized constant) - NoMethod: 82 - for nil: 26 - Pending: 11(= pending migration) - RecordNotFound: 26 - syntax: 20 - 上記以外: 約170 ``` → 「カリキュラム通りにやったのにエラーになった、わからない」という質問は、できるだけ「カリキュラム通りにやったのにエラーになった、**○○というエラーだったので調べてみたが**わからない」と、何かしら解決しようとした上の質問にステップアップさせたい ・上記に関連しますが、受講生に配っている資料([こちら](https://docbase.io/posts/1466014/sharing/763bf2ef-16b0-449f-9019-61d2a547a73e))内の質問テンプレの使用件数はわずか3件です。(10月:1 / 11月:2 / 「試したこと」だと11件でしたがいずれにせよ全体の1%にも満たない) 読んでいないんだろうなー...、リアクションが他の投稿に比べると少ない(※) 11月に既に1件あるのですが、「言語化が難しいので詳しくは口頭で」はまれによく見ます。 上記資料、CMSに埋め込んではどうかなと思いますがどうでしょう。(詳細はNextにて) ※dwc_jnn_202011に配り忘れてそうです & PROは日付バラバラ?と思うので、個人チャンネル等あるか存じませんが、いつでも見返しやすいCMSの方が効果は見込めると思います。 ・「`params[:post_image_id]`の説明が欲しい」が9件。こちらは前々から補足したいと言っていたところではある ### Next 提出課題関連以外の質問を減らす、ハイライト以外の方法がないか検討 (結果としてエラーとの向き合い方を習得させることなので、提出課題でのエラーにも向き合いやすくなり、結果そちらの質問数も減らすことができるとは思います。) #### 【Railsを学ぼう】でわざとエラー起こしながら進める - メリ - わざと起こすのであれば全員が同じエラーを見ることができるので、エラーの意味・解法を説明しやすい。 - 一度は見たという状態が作れ、同様のエラーに対処しやすくなる。 - エラーと友達になりやすい(?) - デメ - 確実に長くなる。/ 工数かかる。 - 解法通りにやってもエラーになったときにより嫌な気持ちになりそう。 - 書いていないエラーが起きた時に投げやりになりそう。 - さすがに全章でsyntax起こすとかは不要と思いますが、それでも起こり得るエラーを全網羅しようとするとキリがない。 #### [DWCでの学習の仕方](https://docbase.io/posts/1466014/sharing/763bf2ef-16b0-449f-9019-61d2a547a73e)相当のものをCMSに追加(入れる場合の場所は要検討) - メリ - 質問前に調べる姿勢は付きやすい。 - 状況整理をすることで早期解決が見込め、後続の学習がスムーズになる。 - 書いているうちに「前に同じ状況なったことあるわ」みたいなこともあり得るかも。 - デメ - テンプレに沿って書くのめんどい。 - 質問のハードルが上がる。 #### 上記資料の一部を『エラーが起きた時の対応集』に吸収させてアップデート 『エラーが起きた時の対応集』の中に『Railsエラー集』を内包して、【Railsを学ぼう】に移管するとか(もちろんCARAVAN→sample_appは必要になる) --- ## 11/18 ### 分析 - 多かった箇所:[Rails] 4,5,7 / [アプリ2] 3,4 - 詳細画面のカリキュラムでRecordNotFoundの説明を加えたことは効果があったと思われる。該当箇所では2件のみ - アプリ1-2で`The asset "img/forest.jpg" is not present in the asset pipeline.`が4件 - 内訳にも書いたが、imageフォルダ内にimgフォルダを配置することが、手順として不安になってしまうのかもしれません - サーバー再起動忘れは依然として見受けられる。 - 以下要確認リスト - Rails 7章でNoMethodErrorが9件あるが、原因が不明 - 削除機能 + RecordNotFoundが一定数あった。 - リダイレクト先にミスがあると思われるが、正直追記内容的に想定できないため謎。 - 既にRails 8章では「正しくリダイレクトできなかった場合は」を記載している。 - エラー集にRecordNotFoundを追加する? - `A server is already running.`はEducateのセッション切れに因るもの? - にしては質問数は少ない(3件)が、対処法を直接は書いていないので気になった - Cloud9のブラウザエラー画面を説明すべきか(質問はどちらも2件ずつ) - `Oops VFS connection does not exist` - `No application seems to be running here!` - 質問はなかったが、アプリ1-7章で完成コード以下に記載されているエラーは起こる? - アプリ2-2章でコマンドミスをした際の対処法を説明すべきか <details> <summary>結果の内訳</summary> <div> ``` ★:11/18時点で11月生からの質問が0 ## Railsを学ぼう ※章番号はver2以降準拠 (2) 4 - URLとか作業ディレクトリとかそういう小物 (3) 2 ★ - puma立ちっぱと何かのバージョン違い (4) 9(No.47,55は同一) - Unknown attribute, uninitialized constantなどバラバラ (5) 11 ★ - 半数がコントローラ作成忘れに因るもの。4章で作成しているはずだが... (6) 3 - コードの意味とタイポ (7) 20 - No method errorが多い。3376は@listsにしているとかのような (8) 4 - 削除機能+RecordNotFoundが一定数あるが、リダイレクト先に設定している訳ではないので原因が謎... (9) 1 ★ - 振り返りなのでコードの意味のみ (10) 1 ★ - インスタンス変数とブロック変数の違い ## アプリ1 (0) 1 - Gitがインストールできない? (2) 4 - app/assets/images/imgというフォルダの構成ミス(images/xx.pngとかしてそう) (3) 5 - コントローラ作成コマンドのミスが半数以上。 (4) 2 - どちらもサーバー再起動忘れと思われる (5) 2 ★ - RecordNotFound、直下に書いている。追加してからは減ったはず。 (6) 2 - コードの意味 (7) 2 - ここでも削除機能+RecordNotFound (エラー集) 1 - 標準出力のコマンド?たぶん分かっていないだけ ## アプリ2 (2) 5 - コマンドミスした際の対処法についての質問が多い。 (3) 16 - 具体的なエラー内容が定まらず。 (4) 24 - コードの意味についての質問が半数以上。 (5) 2 - たぶん凡ミス (6) 1 ★ - コードの意味 (7) 1 ★ - たぶん凡ミス (8) 2 ★ - cssのタイポ ``` </div> </details> --- ## 12/4 - Rails 5章 - 4章時点で「ここまでできましたね」という感じの確認を挟む - 例:○○(ファイル名)が無い場合はx章のどこどこまで確認しましょう - コントローラを間違えて作っているとか? - Rails 7章 - No method errorの原因は依然謎 - おそらくRuntime解決後なので、どこかタイポ? - 細分化するにもちょっと難しそう - 「一気に作業したのでよくエラーが起こります。エラーが起きた際はこちらを確認してみましょう」のような導線をはる - エラーを自分で調べるきっかけにできる - アプリ1 - Railsを学ぼうのほぼ反復なので、質問数が少ないと思われる - Railsを学ぼうにある説明の一部をアプリ1に移動させてもいいかも - 効果得られなかったときの対応 - アプリ2 - bootstrapの概念についての説明拡充(from アンケート) - 1:Nの関係 - `has_many`, `belongs_to`ってなんぞ(英語ワカラナイ的な) - 3章の前に上記説明を加える - 1章の内容を、Railsに落とし込むやり方があまりわかっていない - [こういうの](https://hackmd.io/H_QbEf8mTPKiewiyN2PCLg)(自作) - いいね・コメント機能 - メンターにどう対応しているかヒアリング - 本田個人としては、sample_app, CARAVANでやったことをベースに段階踏んで作らせてはどうかと思う - 「誰のコメントか」「どれに対してのコメントか」を追加するために何を追加するのかを説明 - 3章時点でちょっと不足気味ではあるので可能であればそちらも - 手順よりは概念を動画化した方が管理しやすい - なにをするのか → なぜするのか - 2章でのトラブルシューティング(上より優先度低) - 設定と実装を分けるとか - ここまでは「コマンドミスでエラー出て止まる」だったが、当章では「コマンドミスでも進んでしまう」ので厄介 - コマンドミスからのリカバリーは学んでほしい - deviseについての補足コンテンツ? - Cloud9のエラー画面は検討(必然的に起こるものではない) ## 引継ぎ 目標:ひと月分を半日で分析 良い分析ツールないか -AWS -森川さん -etc
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up