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

プログラミング学習中+転職活動中! オリジナルアプリは1つ目を(仮)完成。2つ目を制作中!

プログラミング学習ブログ#16 *22週目:24.5時間

#今週の一言

"徐々に取り戻したリズム。結局、何時に寝るかが全て。"

#7月1週目の学習記録

#学習開始22週目

22週目の合計学習時間:24.5H

7/3土曜:3H →ユーザー管理テストコード

7/4日曜:5.5H →indexのTwitterとGooglemap

7//5月曜:8H ※休日 →カレンダー表示

7/6火曜:2.5H →Rubyドリル

7/7水曜:1.5H →Rubyドリル

7/8木曜:2.5H →Rubyドリル・メモ機能

7/9金曜:2.5H →Rubyドリル

 

"一週間の振り返り"

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

 ・朝学習リズムに戻す! そのために寝る時間を強制的に決める!

(目覚まし時計の反対の「眠る時計」としてアラームを設置。毎日23時半のアラームがなり次第、強制的に寝る。そして、寝るときにアイマスクを必須にする。)

→○:正直、Ruby問題を解くのに夢中になってアラームを止めてから学習を続けた日もあった。ただ、もう寝る時間だと意識するだけで、無茶な深夜学習を止める効果があったので、今週も続けていく!

 

・オリアプ:メモ機能・マイページ実装(Googlemap/Twitter/カレンダー)

→△:メモ機能を終えることができず。週全体としても、まとまった時間が取れずに隙間時間でのRuby問題を取り組むことが多かった。ポイントは、休日は必ずオリアプに多くの時間を割くこと。そこが勝負。

 

・デザイン:Bootstrapの講義を5時間

→×:優先順位は低いが、Ruby問題とオリアプ以外に着手できなかった。これでデザインの学習もするのはちょっと高すぎる目標だったかも。

 

RubyドリルNo.70まで。

→◎:無事に70問終わりました。今週から復習期間へ。

 

・paizaは毎日一問。それ以上も以下もやらないこと。

→×:たった一問とは思いつつ、やると20~30分かかるので、仕事が忙しい平日に着手することが難しく。ただ、Rubyドリルが終わったのでpaizaへの比重を重くする。

 

・課題図書を3つやる。

→×:こちらもpaiza同様。そこまでの余裕がなく。今週から比重を重くする。

 

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

・徐々にリズムを取り戻した

→やはり「何時に寝るか」が、1日を過ごす上での全てだと実感。

 

Rubyドリルの一週目が終了

→比較的、楽しみながら問題を解けた。やればやるほど、考え方が身についている気がする。継続あるのみ。

 

・先週からのリカバリ

→まだまだ朝学習の余地はあるが、例えば、半日の過ごし方を失敗しても、残りの半日で何をするか?という前向きな修正ができた気がする。特に仕事の日は、完全に取り返すのは難しいけど、それでも1時間はやるだけで全然違う。継続学習が本当に大切。

 

<Problem・課題点>

・引き続き睡眠時間と就寝時間の調整をすること

→ここで油断をせずに維持することを課題として持っておきたい。

 

・アウトプットをサボらずにやること

→振り返ると後半がRuby問題一辺倒だったので、アウトプットをやること。

 

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

 

・プラスアルファを目指した過ごし方

→23週目は休日が3日ある予定なので、プライベートの予定をなるべく入れずに集中して一週間を過ごす!

 

・オリジナルアプリ:メモ機能・いいね機能・タブの切り替えJS・カレンダーのデータ表示

 

・paizaは日々、Dランク2問、Cランク1問。

 

・課題図書を4つ。できれば5つ。

 

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

◎メイン制作:情報アプリ

→鋭意制作中

 

●ファンクラブアプリ(後回し制作予定)

→簡単なHPのプラスアルファ版。メインはクレジットカードの機能をつけること。

→DB設計は6月中に完成させたい!

◎イメージ:広瀬香美さんが利用している"Bitfan"が近い

kohmihirose-sing.bitfan.id

 

<一週間の学習日報>

7/3 土曜 7:45~9:15/15:50~16:20/22:15~23:30

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

 

・今週(22週目)の課題

「オリアプ:Twitter/Googlemap/カレンダー機能・メモ機能/Udemy-Bootstrap学習/output」

→オリアプ:ユーザー管理のテストコード。indexのTwitter埋め込み。

output:毎週継続中の学習ブログ。Twitterは130人フォロワーで落ち着いている。

 

・学習進捗と内容

→昨日から再スタートのつもりで学習開始。ユーザー管理機能のテストコードが終了してmergeまでたどり着いた。あとはindexビューに関して、TwitterとGoodlemapの埋め込みについて調べる。

さて、今日は機能の反省が効いたのか自然と起床。少しではあるが出勤前の朝学習。そして、ブログ等のアウトプットは会社の休み時間にやった。色々と気分転換もかねて変えていく。進捗状態でいうと、7月15日あたりを目処に最低限の機能を実装し終えて、そこからデザインを細かくアップデートしていきたいと考えている。可能ならば、8月頭に公開をして、卒業発表までの一週間でどのていどプレビュー数があるのかも知りたい。(もちろんこれは理想。)

結構、シンプルな構造で、オリアプで苦戦しそうなのは「カレンダー機能と日付ごとの表示切り替え」が一番大変そう。次点でtorelloのカード機能か。とはいえ、全く新しい機能を実装するわけではないので、ネットにも本にもヒントは多い。焦らず、じっくりと、コツコツ進めていく。

PaizaとRubyドリルは毎日1問ずつ進めようと思う。Rubyドリルは2~3問やる日があっても良いけど、paizaのCランク問題は手こずるので毎日1問以内にする。それ以上はやらない。

前向きな話を一つ。知ってる人からすれば「しょうもない」話かもしれないけど、今日、ユーザー管理が一通り終わったので、Twitterの表示について調べたら、ビックリするくらい簡単だった。「え?コレだけで良いの?」と思わず口に出るところだった。またGoogleMapの埋め込みも簡単そうで、なんてIT業界は素晴らしいのだと感心した。となると、indexビューでもっとも難関な機能は、カレンダーとそれにたいおうする表示の切り替えになる。JavaScriptも関わってくる。どういう挙動で何が起きるのかを事前に整理すること。事前の設計図がないと、何をしているのかわからなくなる。そういう意味では、ノートにたくさんメモを書くので、いつもでもノートとペンは必需品だなと感じた。さ、ここからが本番。盛り上がってきた。

 

・反省点と明日の予定

→昨夜宣言したのは良いけど、内心は「本当に切り替えられるのか? 結局グダグダにならないか?」と不安だったが、見事(?)に切り替えた。良かった、良かったと一安心。またアクセルを踏んで頑張りましょう。

それと、生活面でもう一つ。今週のお試しルールで、昨夜から実行中の「23時20分に鳴る”寝ろアラーム”」。どんな時でも、これが鳴ったら即、布団の中へ。そしてアイマスク着用で寝る。この一週間はこれでやってみる。明日は、95期のオリアプ相談会。楽しみ、楽しみ。しっかりやっていきましょう!

 

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

7/4  日曜 16:00~17:00/17:00~18:00 交流会/18:00~20:00/21:30~23:00

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

 

・今週(22週目)の課題

「オリアプ:indexのカレンダー機能・メモ機能/Udemy-Bootstrap学習」

→オリアプ:ユーザー管理時点での本番環境確認。indexビューでTwitterとGooglemapの表示完了。

 

・学習進捗と内容

→今日は朝から昼過ぎまで仕事で帰宅後に学習。

ちょうど交流会もあったので、良いアクセントで学習を夜まで集中してできた。

オリアプでできたのは、Twitterの表示と、Googlemap(API)の表示。Mapの方はJSも同時に使用することになるので、ちょっと苦戦。でもやることはシンプルだし、膨大な参考コードがネット上に公開されているので非常に助かる。また、個人的にポイントなのは「環境変数」をしっかり意識できたこと。GoogleMapを使用する際には「APIキー」を扱うことになるが、環境変数に格納せずにcommitするようなミスを防いで実装できた。その点は、カリキュラムに何度も登場していたからこその意識ができた処理だったと思う。

これで、最低限のindex表示でき始めた。本番環境でのユーザー管理機能も大丈夫だった。

明日は休日の月曜日。しっかり朝から学習をする。あと、午後が面談なので、少しでも進んだものを見てもらえるように準備をしたい。

 

・反省点と明日の予定

→今日は仕事もあったけど、しっかりできたと思う。個人的には、交流会があったのも大きい(良い刺激になった)。

明日の目標はこちら。

・マイページの簡易的なビューの作成

・indexビューでのカレンダーの表示

・マイページでのメモ機能の実装

・データ更新において、Activehashとスプレッドシートのどちらを使うか(具体的にどう実装をするのか?)をまとめる

以上の4点。頑張りましょう。変わらずに今週は続けるのは「寝ろ!アラーム」と「アイマスク」。

今のところは効果がある。今日も5時台に起きて色々と準備ができた。

朝からの日曜出勤のため学習は午後からだったけど、朝の過ごし方で1日の流れを作ることができたと思っている。

では、寝ましょう!

 

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

7/5 月曜 9:00~14:00/15:00~16:00面談/16:00~17:30/20:30~21:30/22:30~23:45

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

 

・今週(22週目)の課題

「オリアプ:indexのカレンダー機能・メモ機能/Rubyドリルを70番までやる」

→オリアプ:カレンダー表示はできた!gemを使用した。メモ機能は着手できず。

アウトプット:今日は特になし。面談で言われた3点を意識して編集していく

思考力:Rubyドリルを一問だけ。no.61をやった。およそ3週間ぶり。60分かかって解けなかった。。。ループ処理の記述を忘れてしまい解決できなかった。

 

・学習進捗と内容

→オリアプは「できるとこから」精神なので、少しずつ進んでいる。

今日で、トップページの「Twitter/地図/カレンダー」の表示ができた!

今週の目標は、マイページのメモ機能・トップページのタブ切り替えでTwitterとカレンダーも反映させる・カレンダーの日付にリンクさせてデータの表示を切り替える・いいね機能の実装に入る。おそらく、カレンダーの日付にリンクさせて表示を切り替えるのは難しそうな気がする。。。「できるところから」で進める。

Rubyドリルを久しぶりにやった。60番で止まったままだったので3週間ぶり。で、大苦戦! カリキュラムでは90分の猶予があるが、時間を考えると40分とかに制限して、それで解けなかったら次に進もうかなと思った。毎回、分からない時に90分を使うのはもったいないと実感。とりあえず、今日の問題は悔しかったので、一通り理解したあとに、もう一度解き直した。少しだけスッキリ。明日からは一問40分以内勝負!で今週中に一周目を終わらせる。 今日のポイントは”while true do ~ end”での無限ループが分からなかった。。。

そして対象を特定する “caseメソッド”と”whenメソッド”の組み合わせ。

ドリルなんてもう余裕だぜと思っていた自分を殴ってやりたい。明日は落ち着いてしっかりと取り組む。

 

・反省点と明日の予定

→今日は、午前中から学習に取り組めた。夕方以降も、細切れではあるけど学習をして、負ドリルもできた。ちょっと寝る時間が30分遅いのがミス。こういうところでリズムは崩れる。なんとか明日は起きて、仕事前の朝学習をしっかりやる。23時20分に鳴る「寝ろアラーム」に従って今週は過ごす。

あ、夜間交流会に参加するのを忘れていた。。。次の土曜日は参加しようと思う。あと一ヶ月で卒業なので、なるべく参加できるようにしておきたい。

 

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

7/6 火曜 7:45~10:15

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

 

・今週(22週目)の課題

「オリアプ:indexのカレンダー機能・メモ機能/Rubyドリルを70番までやる」

→オリアプ:タブの切り替えに関して、対象範囲を拡大したかったが2時間格闘してダメだった。

Output:なし

思考力:Rubyドリルを1問進める。62番。スムーズにできた!

 

・学習進捗と内容

→オリアプにて、簡単に考えていたタブの切り替えが出来なかった。今の一部だけを対象にしている範囲を広げようとしたけど、それが対象にならない。

Idの名前や、今の仮レイアウトのdivの構造をもう一度洗いなおしたりとか、色々と試行錯誤したが、解決できず。

残るやり方は、今の使用しているJSのコードを一から組み立てること。というのも、今のコードは元々、HTMLのサンプルレイアウトのサイトを参考に使用していたもので、本当の意味では理解をしていない。一応、今のコードの処理内容は確認したつもりだけど、ちゃんと理解していないから変更に対して手間取るのだなと納得した。タブに関しては、カレンダーとの対応でも関わってくるものなので、一旦、メモ機能の実装に逃げつつ、今週末にちゃんと向き合う予定。面倒くさそうだけど、、、粘り強くやる。

 

・反省点と明日の予定

→朝学習をしっかりやって、夜はジムに行って、そのまま寝る。良いリズムだと思う。

一つ気になるのは、睡眠時間が6時間を切っている日が続いていて、日中の仕事中に眠くなる。

そこは無理をせず、コツコツやっていく。

 

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

7/7水曜 22:30~24:00

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

 

・今週(22週目)の課題

「オリアプ:indexのカレンダー機能・メモ機能/Rubyドリルを70番までやる」

→オリアプ:進展なし

Output:進展なし

思考力:Rubyドリルを3問(no.63~65)

 

・学習進捗と内容

→朝学習をやらず、眠ることを選択。

夜に1時間半だけRubyドリルを3問といた。なんとか全問正解で、それなりに満足のいく記述もできた。

whileメソッドを使った繰返し処理は何度も出てくるので、しっかりと定着させることができた気がする。

また、正解した記述でも、メソッドの使い分けが見本とは違っていたりするので、どれが効率的で分かりやすいかも、見本に沿って書いてみながら自分の反省をした。

こういうことをコツコツやって、命名規則なども学んでいく。

 

・反省点と明日の予定

→今日は眠すぎて朝学習ができなかった。起床時間自体は6時だったけど机の前に座ってからそのまま寝てしまった。

やはり、連日の短い睡眠時間が理由だと思う。朝学習はできなかった分かなりスッキリしたので、寝る前に学習をして、また23時台で寝る。明日へと繋げるようにした。

さっさと寝て、明日は朝学習をやる。

 

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

7/8 木曜 17:00~18:00/22:30~24:00

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

 

・今週(22週目)の課題

「オリアプ:indexのカレンダー機能・メモ機能/Rubyドリルを70番までやる」

→オリアプ:メモ機能をほんの少しだけやる。草生やした。

Output:特になし

思考力:Rubyドリルを2問。no.65,no.66

 

・学習進捗と内容

→今日もメインはRubyドリルになってしまった。

今週の休日が月曜日と日曜日なので、その間の平日はドリルをやりながら、少しづつオリアプを進めていく形になっている。

全くオリアプをやらないのはダメなので、そこは1時間でも2時間でも、次の工程を考えながらやっていく。

そして、しばらく放置していたRubyドリルだが、予定通り今週で最後の70問目までいけそう。途中で悩みまくる問題もいくつかあったが、全体的にはスムーズに進んでいるのでは?という充実感もある。paizaもあるので、それぞれをバランスよく進めていく。

 

・反省点と明日の予定

→実は、朝学習は昨日に続いてできていない。どうも、寝不足のせいなのか、朝起きても眠くて仕方がない。

実際に、24時までに寝て、6時前後に起きる生活をしているが、睡眠時間が短いなら7時まで寝るとか、思い切った変更が必要かも。

どのくらいの睡眠時間が必要かを逆算して考えたい。

 

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

7/9 金曜 17:30~18:00/22:30~24:30

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

 

・今週(22週目)の課題

「オリアプ:indexのカレンダー機能・メモ機能/Rubyドリルを70番までやる」

→オリアプ:進展なし。ドリルに夢中になりすぎた。草を生やせなかったのが悔やまれる。

Output:特になし。

思考力:Rubyドリル70問目まで終了! 最後の問題は回答できたけど、模範解答と比べるとめちゃくちゃ長いコードで恥ずかしかった。

 

・学習進捗と内容

→とりあえず、Rubyドリルを一周できたので良かった。内容としては、どういう処理をすれば良いのかをしっかり組み立てることができたので、挙動自体はちゃんと動くものを作れたので、まずは最低限はクリアしたのかなと思っている。一方で、冗長なコードもまだまだあるので、これは一つ一つ振り返って反省していくしかない。一つだけ、今日やった問題で模範解答よりも短くまとめることができた記述もあって(分かりやすさ等の面でダメなのかもしれないけど)、当たり前だけど正解への道筋が一つではないことも十分に意識していく。オリアプにも通じること。

 

・反省点と明日の予定

→やはり今週はまとまった時間を取れず細切れになってしまったが、その状況でできることを選択して、きちんと毎日学習ができたのは良いこと。

Rubyドリルもいつかやらなければいけないものだったので、順番を前後してもやれたことが大きいと思う。これで、またpiazaを中心とした思考力トレーニングに移れる。

また、ようやく日曜と月曜の二日間が休日になるので、この二日間で進めるだけ進めること。最低目標は「メモ機能といいね機能」は終わること。もう一つ上の目標だと「カレンダー機能」と「日付に対応する番組表のDB管理」の部分。もし日付とデータ表示の部分に詰まったら、Trello機能の学習に変更する。

とりあえずは、日・月で「メモ・いいね」の二つはクリアすること。そして残りの火曜~金曜で「もう一つの機能」を実装すること。