半年600時間-プログラミング学習ブログ!

プログラミング学習中。目標はオリジナルアプリの作成!

600時間学習ブログ#8 *14週目:29時間

#5月2週目の学習記録 #学習開始14週目

14週目の合計学習時間:29H

5/8土曜:4.5H ※休日

5/9日曜:1.5H

5/10月曜:9.5H ※休日

5/11火曜:1.5H

5/12水曜:4.5H

5/13木曜:2.5H

5/14金曜:5H ※半休

"一週間の振り返り"

<先週のTryの確認・14週目にチャレンジしたかったこと>

・技術ブログを更新していくこと

→×:新いアプリの実装課題に取り組んだことで、他のことを意識する暇がなかった。唯一の救いは、アプリを作る上でのエラーを適宜メモし技術ブログのネタを増やしたこと。実装課題が終わり次第、アップしていきたい。

 

・オリジナルアプリに関して、より具体的に進めていこう!

→△:どんな機能が必要かは、適宜アップデートしていきパワポにまとめていた。週一でもオリジナルアプリの企画を考えていく。

 

<Keep・良かったこと継続したいこと>

・学習に関して、時間は問題なく平日休日ともに集中できる。

→実装課題に入ったことで、苦労はしているがモチベーションは高い。

 

Twitterはフォロワー数100人を突破。

→特にフォローを増やしてはいないので、おそらくハッシュタグにプログラミング学習中とつけて、ニュースや学習方法に関するつぶやきをしたのが良かったんだと思う。今後もこのまま継続する。ちなみに、ブログをアップしたときのツイートに14個もいいねがついたのが嬉しかった。

 

・技術ブログのネタを増やした

実装課題でエラーに悩まされているが、その分、その時の記述やエラー分をメモしているので、そのまま解決方法を技術ブログに回せそう。

 

<Problem・課題点>

・実装課題を通して、忘れている点が多いなと感じた。

→renderメソッドで、contorollerオブションを使って投稿の一覧を表示させる部分とか、まったく知識が抜けていて、復習で過去のカリキュラムを見た時に理解度50%のまま進めていたことに気づいた。

応用の課題図書もそうだが、実装課題からは抜けている知識に関して、このタイミングで復習を忘れずにする必要があると思った。

 

・技術ブログのネタを増やしたが、実装課題に意識が行きすぎて先週から3本目をアップできていない。実装課題が終わり次第やろうと思っているが、本当なら並行して取り組みたかった。

 

<Try・15週目にチャレンジしたいこと>

・実装課題で気付いた「応用カリキュラム」での「chat-appの画像投稿」部分をもう一度復習して理解しておく。最終課題前に、放置している課題図書以外の復習をする日を作って取り組む。

 

・技術ブログのエラー解決編を3本アップする。

 

<オリジナルアプリの候補>

・寄席情報アプリ

→ただのまとめサイトにならないための機能面を考えることが必須。コメントやリアクション機能。ユーザーごとに見える情報の違いについてなど。

 

・ファンクラブアプリ

→こちらは、機能面の整理をしておく。宣伝方法はどうするのかは考えないといけないかも。いかに人気の人とコラボするのか? が最も早いかもしれない。

広瀬香美さんが利用している"Bitfan"が近い

kohmihirose-sing.bitfan.id

 

============

<一週間の学習日報>

5/8土曜 11:30~16:00

・本日の学習時間:4.5時間

 

・今週(14週目)の課題

「発展カリキュラム終了/技術ブログ3本目/Twitter運営/オリジナルアプリ機能」

Twitterは細々と動かしている。DMで同じテックキャンプの人から「もくもく会」をやりたいと誘われた。ちょうど探していたので良いタイミング。メンバー集めなど具体的に話を詰めていく。

 

・学習進捗と内容

→微妙に停滞。LESSON-6をひたすら進めるのみだが、後半集中ができなかった。分析と反省をして日曜から切り替える。

 

・反省点と明日の予定

→まず土曜日の午前中、家を出るタイミングを失ったところから計画がずれた。昼前に自宅学習を始めたのは良かったが、夕方にまた家を出るタイミングを失い机に向かうことなく終える。まぁ、半休の日として日曜から金曜をまた一週間頑張るしかない。現実的な目標としては、今週の休みが土曜と月曜日になるので、「日曜〜月曜午前までで10時間前後の学習」をしギリギリLESSON-6を終える。「月曜午後〜金曜で15時間前後の学習」をして、実装課題の8割ぐらいはできそう。来週の土曜のお昼に実装課題が終わるか? あとは技術ブログを休日の月曜に3本目アップ。これで頑張ろう。

 

============

5/9日曜 7:00~7:30/20:00~21:00

・本日の学習時間:1.5時間

 

・今週(14週目)の課題

「発展カリキュラム終了/技術ブログ3本目/Twitter運営/オリジナルアプリ機能」

→引き続きLESSON-6を進める。

 

・反省点と明日の予定

→体調を整えるために優先して寝ることにした。今週は月曜日が休みなので、しっかりと朝から学習できるようにする。目標は月曜日でLESSON-6を終了。少しだけ実装課題に入れたら最高。最低でもLESSON-6は終えること。それと技術ブログを1本アップしておく。盛りだくさんなので、とにかく出遅れないように朝から動く予定。

 

============

5/10月曜 8:30~14:00/16:30~18:00/21:00~23:30

・本日の学習時間:9.5時間

 

・今週(14週目)の課題

「発展カリキュラム終了/技術ブログ3本目/Twitter運営/オリジナルアプリ機能」

→発展カリキュラムのLESSONは全て終了!実装課題に突入。良かった良かった。Twitterは95人までフォロワー数が増えた。フォロー320でフォロワー95名。技術ブログは全く手付かず。カリキュラムに熱中してしまった。。。

 

・学習進捗と内容

→LESSON-6が終わった。初めてのメンターさんへのレビューも受けて少し緊張した。学習内容自体は、Issueは手応えがありスムーズにできた感触がある。一つだけ沼に入りかけたのは最後のIssue6で「配列の曜日の表示で添字[0]の時に表示されるはずの日曜日が出てこない」こと。コードを見直しても[0~6]の添字が与えられていると思うのだけど、なんでだろうと30分近く悩んだ。結論は、「if文で、7以上の時は添字に-7をする部分で記述のミス」があった。ここの記述が原因で、うまく”-7”が機能しないので[0]の要素の日曜日が出てこなかった。質問する前に気づけてスッキリした。

あとは、今日のメインは「GitHub」の使い方。手こずって、たくさん質問した。例えば、コメントに対しての返信の際に、送信ボタンの隣に「PullリクエストのCloseボタン」があり、いつの間にかリクエストを閉じたためにレビューの申請をやり直すことになった。また、コンフリクトの解消をするときに、「コンフリクトになっていないけど、Viewファイルに同じ記述が2個ある」というミスを自分で気づくことができなかった。どこかで「問題があればGitHub上で全部教えてくれるでしょ」という思いもあったので、コンフリクトにならないミスもあるのだと学んだ。2つのブランチそれぞれでpushするというのは、なかなか複雑で面倒だなと感じた。実装課題の終わりが見えたら、今の状態で一度GitHubの復習をしておこうと思う。技術ブログ行きでも良いかも知れない。

実装課題に関しては、序盤は割とスムーズで今日のうちに2つ進めた。記憶があいまいだったのはDB設計で、中間テーブルの部分。中間テーブルの意味や、DB設計の概要はなんとなく頭に残っていたけど、具体的なRead_meの書き方は忘れていたので、復習をしながら3つのテーブルを記述した。あとは、indexアクションの時のサンプルで”<h1>トップページ</h1>”の記述。意味もなく<%=>で囲んでしまいエラーを出した。<%=><%>はRubyコードの穴埋めで表示・非表示ができるタグであり、HTMLの記述には必要がない。そんなところも曖昧だったんだなと反省・復習をした。明日からはさらに実装課題を進めていく。ただし、今日やらなかった技術ブログを優先で。本日は気持ち良く楽しく学習できた。

 

・反省点と明日の予定

→反省点は、特になし。珍しい(笑)。かなり充実した1日でした。朝から取り組めたし、途中友人と会ったり、美容院に行ったりと、ちょこちょこ休日の予定があったのに午後以降も時間を確保して計画通りに過ごせた。先週から面談のない休日の日の過ごし方を意識的に改善していたが、その効果が出てきたように思う。あとは、帰宅後に15分のキッチンタイマーをせっとすることで、「帰宅してゆっくりするのは15分以内。それ以降は学習スイッチを入れる。」ということが出来ている。これも良いこと。

唯一、カリキュラムを進めることだけで1日が終わり、技術ブログをやっていない! これは後回しにするとズルズルっといくので、さっさと明日やる。内容は決めているし、何を書くかも整理しているので、とっとと取り組む。

 

余談。今日の夜に1時間だけ寄席芸人時代の同期に会ってきた。ちょうどオリジナルアプリで寄席情報のアプリを作ろうと思っていたのでそんな話もしつつ、最近の芸人界隈のニュースやら、今後の活動やらを聞く。コロナ禍なので中々会えないが、今後は知り合いの芸人のサポート側に回り、プログラミングで芸人仲間の手助けをしたいし、おもしろいことをしたいという思いは変わらない。これは、転職の成功を願う以上に自分のモチベーションの根底になっているので、改めて気合が入った。そのおかげか、帰宅後も2時間半のプラス学習。明日は仕事。午前中学習を引き続き頑張る。

 

============

5/11火曜 10:00~11:30@神田

・本日の学習時間:1.5時間

 

・今週(14週目)の課題

「発展カリキュラム終了/技術ブログ3本目/Twitter運営/オリジナルアプリ機能」

→カリキュラム・アウトプット、今日は何もできていない。Twitterはフォロワー100人越えになったのが嬉しい。

 

・学習進捗と反省

→友人からの協力依頼があり、朝がかなりバタバタして全く落ち着けなかった。割り切ってRubyドリルのみを進める。カリキュラムの進め方に関しては、目標が「理想は土曜日に実装課題終わり・長引いても月曜日に実装課題終わり」としているので、できれば土曜日に終わらせたいところだが、どうなることやら。火曜〜金曜の平日4連勤の使い方が試される。Rubyドリル自体は、割とスムーズに進行しているのでそこは良いと思う。明日は実装課題を一つでも進めておきたい。

 

============

5/12水曜 8:30~9:30@自宅 / 10:55~11:55@八丁堀 / 23:00~26:00@自宅

・本日の学習時間:4.5時間

 

・今週(14週目)の課題

「発展カリキュラム終了/技術ブログ3本目/Twitter運営/オリジナルアプリ機能」

→本日もカリキュラム中心でoutput系は特に進展なし。技術ブログはネタ集めをしておいて、金曜日にやる予定。下書きを少し進めていく。

 

・学習進捗と内容

→午前中は時間が細切りのためRubyドリルをやる。50番台に突入。No.51の本の登録アプリの記述は1時間以上かかった。ちょっとでも良い点をあげるとしたら、まったく歯が立たないということはなく、自分で仮説を立て、それに沿って記述を進めることができた。一方で課題点は、配列の要素にハッシュを入れることまでは気付いても、その正確な記述ができなかったことと、空の要素の配列”books = [ ]”の記述の位置をメソッド内に書いたので、変数”books”のundefined methodエラーが解決出来なかったこと。また、それらを確認するための”検索力”の課題もあった。2ヶ月前の基礎の時にやっていたジェットコースターアプリと比べれば大分Rubyへの理解が出来ていると感じた一方で、当然ながら簡単には行かないなと思う。引き続き、コツコツと学習を続ける。

カリキュラムは、Deviseの復習で終わってしまった。その代わり、しっかり復習できたと思うので、明日の朝に進められるだけ実装課題を進めていく。ちなみに、少しだけ苦労したのは、deviseをアプリにインストールする時”rails g devise:install”になるはずが”:”を書き忘れたことで”install”というモデルが出来上がってしまった。出来たモデルの削除がうまくいかず、結局最初からアプリをインストールし直す。プログラミングの怖さを知った。

 

・反省点と明日の予定

→反省点は、deviseの復習に夢中になり気づいたら深夜2時になっていたこと。反省。取りあえず、明日の仕事中は眠くなると思うが、なんとかMonsterを飲んで乗り切り、夜はしっかり睡眠をとる。一方で、朝の学習は2時間はやっておくように。火曜と水曜が復習とドリルの時間になったので、少しでも実装を進めること。明日と金曜でなんとか実装の提出をして、土曜の午前にレビューがもらえるようにしておきたい!

 

============

5/13木曜 9:00~11:30@自宅

・本日の学習時間:2.5時間

 

・今週(14週目)の課題

「発展カリキュラム終了/技術ブログ3本目/Twitter運営/オリジナルアプリ機能」

Twitterは学習に関わることや集中方法みたいなのをちょこちょこと。技術ブログは明日金曜にアップ。

 

・学習進捗と内容

→今日はカリキュラムを進める・・・はずだったけども、deviseの導入でエラー。エラー箇所は、deviseのインストール後にdeviseのuserモデルを作成し、マイグレーションファイルに必要なカラムを追加記述した後、migrateを実行したらエラー。ターミナルを再起動したらmigrateが実行できたがDBを見るとusersテーブルが存在しない。ここが一向に解決できなかった。最終的には検索を駆使してエラーの根本原因を解決し、一度作ったテーブルの削除は質問をして解消することができた。この流れはQiita行きにしようと思った。その後の、ビューファイル設定やバリデーションは滞りなく進める。今週はこのまま実装課題を進めていく。

 

・反省点と明日の予定

→しっかりと仕事前の朝学習をした。エラーで1時間以上使ったのは誤算だったけど、これがアプリを作るということだなと実感。今日は昨日のように深夜になる前にしっかり寝る。金曜日はいつもより早めに仕事が終わるので、実装課題を進めるだけ進める。なんとか土曜日の朝には実装課題が終われるか。。。環境エラーが出ないことを祈る。

 

============

5/14金曜 9:00~10:30/22:00~26:00

・本日の学習時間:5時間

 

・今週(14週目)の課題

「発展カリキュラム終了/技術ブログ3本目/Twitter運営/オリジナルアプリ機能」

→発展はLESSONが終わっても、実装課題はまだまだ。残念。なんとか土曜日に終わりたい。エラーの波で疲れた。。。

Twitterはフォロワー100人を超えたことで反応が増えて楽しい。技術ブログは、結局カリキュラムに追われて一つもアップせず。正直、今は集中して実装課題だけやりたいので、エラーのメモを残して実装課題に集中する。オリジナルアプリも同様。

 

・学習進捗と内容

→実装課題はちょうど折り返しくらい。でもまだまだ。今日で新規登録の後の、投稿データの一覧表示まで終えた。まー、とにかくエラーに追われる。また、無知だからこそしょうもないエラーに当たることもしばしば。例えば、本日最後のエラーは単純な括弧とダブルクォーテーションの記述間違い。カリキュラムで用意された見本記述の部分に最初から記述されていたから、てっきり()と””を使うのかと悩んだが、結果的に””は必要ないことがわかった。探しても探しても該当のエラーは出てこないし。まさかそれが記述ミスとも思わないからそれだけで1時間近く消費する。自分の性格の悪い部分でもあるが、じゃあ次に進めようとならず、ずっとひたすら悩む。結果的に解決できたが、正常に動いてもそれが本当に正しいのかが分からないのでモヤモヤとイライラが積み重なる。明日の11時からしか質問できないのがもどかしい。気がつけば深夜2時を回っていた。

もう一つ、本日の学習で大きく足止めをくらったのは、投稿フォームで新規登録できない場合も、フォームに入力した値が残ったままにするということ。というのも、普通に記述していると、特別に対応しなくても入力した値は消えない。これは、たまたまそうなっているのか? 結果が合っているけど手順として間違いなのか? よく分からず、ひたすら悩む。処理の手順を紐解き考える。2つの足止めで合計3時間はかかったと思う。あー、ちょっとしんどい。早く寝て土曜日頑張る。

 

・反省点と明日の予定

学習時間は問題ないが、実装課題に四苦八苦で今週はそれ以外のことは何もできなかった。とにかく、まとまった時間で実装課題を一気に終わらせたいというモチベーションが強すぎる。今は、それ以外を考えられない。移動時間にTwitterと、日々の日報をやるのが精一杯。ちょっと、実装課題が終わるまでは技術ブログとか無理だなと思った。その代わり、メモに溜めているエラーの数々をしっかりまとめようと思う。それは楽しみ。予定外に深夜まで学習をしてしまった。。。反省。兎にも角にも土曜日勝負。どうか実装課題が無事に終わりますように。