Eat, Play, Nap and Code

食とあそびと昼寝とプログラミング学習

週報 2021/3/22(月)〜2021/3/28(日)

1週間ふりかえり

こんにちは。 今週は結構長かったな〜という印象です。 wcコマンドにやっと合格できたのと、Duolingo連続学習700日を達成したのが今週のハイライトです🎉

もくじ

目標と成果

目標 成果 来週の課題
wcコマンドそろそろ合格したい 合格した😭 他の人のコードちゃんと読む
nginxの再提出の課題を直して合格 OK -
学習時間30時間確保 あと15分 来週こそ
SQL入門を終わらせる 終わった -
データベース設計の基本を理解する課題に入る まだ入れず 来週こそ

学習時間

日付 時間
3/22(月) 05:45
3/23(火) 05:15
3/24(水) 03:15 ​
3/25(木) 03:00
3/26(金) 05:30
3/27(土) 02:00
3/28(日) 05:00
合計 29:45

週報

3/22(月)

やったこと

  • wcコマンド4回目の再提出した😅
  • メソッド名は動詞から始める、ハッシュ・配列は複数形などの命名ルールを再確認した。
  • SQL書き方ドリルを第2章の最後まで終わらせた。

感想

  • wcコマンド、前回重複をなくすことだけを目的にリファクタリングしたせいで、他の部分にひずみが生じてしまった。あ〜〜難しい。
  • コードレビューの動画で指摘された、コードの堅牢さとかもろさって、正直今は全くピンと来ないや。もっと複数の人がからむ複雑なコードだと分かるんだろうか。
  • SQL書き方ドリルでずっと答えが確認できないままやってるのは気持ちわるいからCDドライブを探さなくては。

3/23(火)

やったこと

  • SQL書き方ドリルに取り組むものの3章から難しくなってしまったのと課題の終了条件から離れてしまうので一旦保留。
  • 代わりにUdemyで教材を買って取り組む。
  • PostgreSQLDebianにインストール。
  • wcコマンドの課題にやっと合格した😭

感想

  • SQL書き方ドリルは基礎を勉強してから戻ってくる予定。どうも検索元の表が手元にないとイメージがつかないので、複雑な操作になると手が止まってしまうみたい。
  • wcコマンドに合格してうれしい。最初に提出したコードの約半分の行数になったのは驚いた!

3/24(水)

やったこと

感想

  • 最近英語学習欲がまた出てきたのと、あんまり本に集中できないので、英語のUdemyで勉強してみることにした。教材が自分に合っているのか、かなり楽しく学習できている😄
  • retrieve(データなどを取得する)、preclude(除外する)、mandatrory(必須の)などの単語を新しく知った!

3/25(木)

やったこと

  • 引き続きUdemyの教材でSQLの学習。
  • ブートキャンプの課題ではPostgreSQLを使用するのに、UdemyのはMySQLを買っていたことに今更気づく。が楽しいのでこのままMySQLの教材を進めることにする。

感想

  • 最近、学習の効率が悪くペースも遅くてイヤになるな〜と思ってたけど、自分のいいところは楽しみながら続けられることだから、楽しいと思える教材に(多少遠回りでも)取り組むことにした。
  • Duolingo連続学習700日達成した〜!100日経つの早いなあ。

eatplaynap329.hatenablog.jp

3/26(金)

やったこと

感想

  • PostgreSQLDebianにインストールしてユーザー作ってみたけど、外部接続が何なのかとか、必要なのかとかがよくわからない。明日もうちょい考えてみて、分からなかったらQAに投稿して解決したい。
  • 最初はMySQLPostgreSQLの文法の違いをひとつひとつ調べてまとめようかと思ったけど、煩雑になってきたのでやめた。方言多すぎ!

3/27(土)

やったこと

  • さくらVPS上のDebianにインストールしたPostgreSQLにローカルマシンから接続させるため、MacPostgreSQLをインストールして設定を行った。
  • 外部接続はできたものの、何のために何に接続しているのか分からなくなったのでブートキャンプのQ&Aで聞いてみた。

    現在PostgreSQLの課題に着手しており、自分のMacのターミナルからさくらのDebianにインストールしたPostgreSQLに接続させることができました。 手順通りにやって接続させることはできたのですが、自分が何のために何にアクセスしているのかイマイチ分かっていません。 PostgreSQLで外部接続を行った際に何が起きているのか、何のために外部接続を行うのかをご教示いただけると嬉しいです。

感想

  • ssh接続の課題のときも、「Debian側でやる作業」なのか「自分のMacでやる作業」なのかが分からなかったけど、今回もかなり悩まされた。
  • 1番勘違いしてたのは、Debianでインストールしたら自分のMacではPostgreSQLのインストールをしなくても外部接続ができるんだろうと思ってたこと。でも何故二重でインストールするんだろう?最初からMacにインストールすればいいじゃん。と思ってたら混乱してきたのでQ&Aに投稿してみた。
  • AtCoder Beginner Contest 197(Sponsored by Panasonic) - AtCoderに参加した。A問題しか解けなかった😇

3/28(日)

やったこと

感想

  • サーバの概念は個人開発だけだと全くイメージがわかないので、知識のある方に聞いてよかった〜。
  • 自分がとても苦労したので、日報に丁寧に作業手順をまとめてみた。あとでブログにしてもいいかも。

来週の目標

  • Udemyの課題を終わらせる!
  • 『楽々ERDレッスン』『達人に学ぶDB設計』を読みはじめる。
  • TwitterのDB設計をする課題に着手する。

週報 2021/3/15(月)〜2021/3/21(日)

1週間ふりかえり

こんにちは。 今週火曜に引越しをしました。と言っても隣の祖母の家に引越しただけなんですが、片付け等でなかなか学習時間確保は思ったようにいかなかったです。 あと頭痛と生理痛もあったので、フィヨルドブートキャンプの日報も途切れがちになってしまいました。 そしてwcコマンドをずっと修正し続けていた週でもあります!😭 あまり進捗もないですが、とりあえず週報書いてみます。

もくじ

目標と成果

目標 成果 来週の課題
wcコマンド再提出する した 合格したい
HTTP,Nginxの課題を完了 課題すべて提出 1個再提出
30時間の勉強時間確保 25時間位 来週こそ

学習時間

日付 時間
3/15(月) 05:00
3/16(火) 02:30
3/17(水) 05:30 ​
3/18(木) 06:45
3/19(金) 00:45
3/20(土) 04:15
3/21(日) 01:00
合計 25:45

週報

3/15(月)

やったこと

  • wcコマンドの再提出(1回目)。
  • 先週分の週報書いた。
  • VirtualHost課題提出した。

感想

  • nginxの課題、Rubyで使っていたのとも違う頭の使い方や知識が必要で、これはこれで難しいかもしれない。
  • よく分からないものをよく分からないまま進めようとすると泥沼化するので、なるべく参考資料の細かい記述も読むといいかもしれない。
  • もしくは泥沼に足を突っ込んでからエラー解消のために頑張るといいかも。遅かれ早かれ参考資料の隅々まで読むことになると思う。

3/16(火)

やったこと

  • 引っ越し作業。
  • wcコマンドの再提出(先日提出分の不備修正なので、1.5回目?)。
  • オレオレ証明のやり方だけ読んだ。

感想

  • 引越しで疲れてほとんど何もできなかった。
  • 猫がしばらく押入れに引きこもってしまったけど、夜になったら出てきてくれたので安心した。

3/17(水)

やったこと

  • 再提出したwcコマンドで指摘を受けた4箇所を修正して再提出(2回目)。
    • 簡単な条件分岐の重複を修正。
    • lオプションの条件分岐を1つのメソッドにまとめた。
    • 変なメソッド名を変更。
      • 構成品という意味でingredientsを使っていたが、プログラムの中で使う名詞として一般的ではないとのことだったので変えた。componentsかelementsか迷って、配列の要素をelementと呼ぶようだったので、elementsにしてみた。普段ごはんのことばかり考えているので、こういう英単語しか知らない😅
    • 2つのメソッドで重複している箇所をまとめた。

感想

  • ほとんどをwcコマンドの修正に費やした。
  • 最初あれほど怖かったコードレビュー、いまはあまり怖くないかも?恐怖というか、フラストレーションはあるけど。

3/18(木)

やったこと

  • 昨日提出したwcコマンド、あっさりまた再提出になった😭
  • wcコマンドはちょっと置いておいて、サイトのSSL化に取り組む。
  • Certbotでとても楽にSSLサイトが作れたはいいものの、非SSLのアドレスがSSLのサイトに飛ばされてしまう対応で1日をほとんど費やしてしまった。
  • うまくいった方の日報の設定ファイルを自分の(ほとんどCerbotに書き足された)設定ファイルを見比べると、listen 80のときaccess_log、error_log、locationの指定をしていないことが分かったので、書き足したらうまく行った。
  • SSL化したサイトのURLと設定ファイルを提出した。

感想

  • ngnix、疲れた〜〜〜。軽く終わらせるつもりだったのに盛大にハマってしまったし難しかった。
  • wcコマンド、昨日めちゃ頑張って書いた箇所が修正になってしまったのでさすがにちょっと落ち込んだ😇
  • でもレビューを受けるにつれ、自分が本来目指したかった(けど技術的にどう実装すればいいか分からなかった)コードに近づいている気がする。
  • 分かってきたのは、シンプルに実装できないロジックはそもそも間違っている可能性があるということ。コードが複雑になってきたら、もっと簡単に実装できないかロジック自体を疑うようにするようにしたい(でも複雑なコードを書くほうが明快なロジックを考えるより楽なので、難しい…)。

3/19(金)

やったこと

  • SQLの基礎文法を学んだ。
  • ↓の本を使って、ドリルのように書き込んでいった。CDドライブが手元にないので回答がすぐに確認できないのが残念…

感想

  • 何かこの日はめちゃくちゃ頭が痛かったのと、兄が来て片付けを手伝ったので全然学習できず😭
  • SQLはProgateでやってたのと、データベースから必要なデータを取ってくる作業はExcelでずっとやってきたので、そんなに難しくないかな?
  • wcコマンドの再提出して、nginxでNGになってしまった課題の再提出して、SQLを終わらせて、コメントお返事して、日報書いて、とやりたいことたくさんあったけど、頭が痛くて何もできなかった😭

3/20(土)

やったこと

  • wcコマンド再提出(3回目)。
    • 配列の中に数字と文字列を混在させていた箇所を、数字と文字列でそれぞれメソッドをわけてあとでくっつけるようにしてみた。
    • zipメソッドを初めて使ってみた。
  • AtCoder Beginner Contest 196 - AtCoderに初めて参加してみた。C問題の途中で時間切れになってしまった😅

感想

  • 興味があってアカウント登録していたものの、参加したことなかったAtCoderのコンテストにはじめて参加してみた。
  • 連日のwcコマンドのなおしで変数名とかコードの可読性を考えるのに疲れてきてたので、単に動くだけのコードを書くのは楽しかった😄

3/21(日)

やったこと

  • SQLの本に引き続き取り組んだ。
  • Waffleの記事をLinkedInに予約投稿した。

感想

  • wcコマンドまた再提出になってしまった😇
  • なおしが入れば入るほど自分の乱雑な知識が整理されると思うしかないネ😞

来週の目標

  • wcコマンドそろそろ合格したい!!
  • nginxの課題ひとつ再提出になってしまったので、それを直して合格する。
  • 学習時間30時間確保したい。
  • SQL入門を終わらせたい。
  • データベース設計の基本を理解する課題に入りたい。

週報 2021/3/8(月)〜2021/3/14(日)

1週間ふりかえり

こんにちは。 週報を書くと言いつつ、いつ書くか決めかねているところです。 今週はwcコマンドを提出し、途中まで読んでいたチェリー本を読み終えたので、Rubyのプラクティスは一応すべてこなしたことになります。 チェリー本は最初に読み始めたときは「これが初心者向けなの?どう参考にしたらいいか分からないくらい難しい」と思ったのですが、ボウリングのプログラム、lsコマンド、wcコマンドを書き終えてから読み返すと、コードも本文も何を言ってるのかよく分かって驚きました!

フィヨルドブートキャンプ卒業生のid:lamplerさんのブログに、

lsコマンド・wcコマンドは超絶難しいです。チェリー本を読んで理解したはずなのに全くできないと思います。だからと言ってチェリー本を何周も読み返したり、他のRuby本を買って読むのは良く無いです。インプットは最小限に留め、あとはひたすら手を動かしましょう。

と書いてあったのを拝見し、すごいストイックだな〜と思ったんですが、終わってみるとおっしゃることに納得しました。 と言っても自分の場合、チェリー本が難しくて読み終える忍耐力がなかっただけなんですが、とりあえず手を動かすことで理解できることもあるんじゃないかな〜と思っています。

new-lamp.hatenablog.com

もくじ

目標と成果

目標 成果 来週の課題
wcコマンド合格 まだ 再提出する
チェリー本を読了 OK -
HTTP,Nginxの課題を完了 あと2個 火曜までに完了
30時間の勉強時間確保 OK 平日5h休日2hが目標

学習時間

日付 時間
3/8(月) 05:30
3/9(火) 05:00
3/10(水) 06:30
3/11(木) 05:00
3/12(金) 06:30
3/13(土) 03:00
3/14(日) 00:45
合計 32:15

週報

3/8(月)

やったこと

  • wcコマンドの提出
  • チェリー本7〜8章読みすすめる
  • Railsの課題までで必要そうな本を注文した(id:fkmbraさんのブログ参照)。紙の本があるとできることが広がるので参考図書も全部買った〜

fukindesu.hatenablog.com

感想

  • wcコマンド出せた!標準入力からの-lオプションに対応してなかったのでmainメソッドの記載内容をすこし変更した。
  • 1/22以降読み進めていなかったチェリー本を途中(7章)から読み始めた。課題をクリアしてきたあとなので前よりもコードも本文の内容も理解できるようになってて嬉しい。

3/9(火)

やったこと

  • チェリー本9〜12章+付録を読み進め、チェリー本読了した。
  • Byebugをインストールした。まだ使いこなせていない。
  • 会社説明会に参加。

感想

  • 会社説明会に参加した。今はまだ働きたい分野や会社選びの軸も見つかっていないから、粛々と学習を進めていくしかないかなという気持ち。
  • ある会社の方が、「書いたコードについてちゃんと分かっている人」が必要、という話をされていて、結構ぐさっと来た。ボウリングはまではすべて1から考えたからちゃんと説明できるけど、lsやwcはあやふやなところも若干ある。理解しながら書いてるか自分に今一度問いかけながらコードを書こう。

3/10(水)

やったこと

  • HTTPの課題に突入。telnetをインストールし、GETとPOSTを行った。
  • Cookieの課題にも突入。よくWebサイトを見ていると出てくるCookieのポップアップの意図が分かった。

感想

3/11(木)

やったこと

  • nginxの課題に突入。一気に知らない言葉だらけになってほぼ1日、用語を調べて終わった。
  • Debianにnginxをインストールできた。用語を調べまくったからか、インストールはスムーズに行った。

感想

  • 技術書の分からない単語はとりあえず調べる、というのはこちらの記事を読んでから実践するようにしている。

qiita.com

  • Linuxを触ったのが久しぶりで、色々忘れているのが気になった。

3/12(金)

やったこと

  • VirtualHostの課題に着手。
  • お名前.comで人生初のドメイン名を取得し、さくらVPSと連動させたりした。
  • nginxの設定ファイルを書き換えて、複数のドメインを読み込めるようにしようとした(うまく行ってない)

感想

  • めっちゃ詰まったけど、つまったので設定ファイルの中身をちゃんと読んだり階層を1個1個確認したりして、ブラックボックスだった箇所が少しは理解できたので結果的によかった。

3/13(土)

やったこと

  • wcコマンドのコードレビューを受け取る。
  • コードレビューが怖い理由を色々考えて日報に書いてみた。
  • 怖くないよ!と頭では分かっていても恐怖心は消えないので、下記のことをして心を落ち着かせた。
    • 怖いと思う理由を書き出して、恐怖心を整理する。
    • レビュー対象のコードに先に自分でツッコミをいれてしまう。
    • 心が不安定だとふつうのことを指摘されても過剰に反応してしまうので、猫をかわいがって幸せを補充。

感想

  • コードレビューがなぜか異様に怖くて、夜になって意を決して動画で頂いた返答を見た(見てしまうと怖くない)。
  • 怖がるのはよくないと思いつつ、怖い理由を書き残すのは意味があるかな〜と思っている。

3/14(日)

やったこと

  • 頂いたコードレビューを参考に、コードを書き換えた。

感想

  • めちゃくちゃロジックがすっきりして見やすくなった⭐️
  • デバッグが難しいかなと思ったが、Tracebackをちゃんと読めば難しくないことが分かった。

来週の目標

  • wcコマンド合格!
  • Nginxの課題すべて提出する。
  • データベースのプラクティスを始める。
  • 平日5時間、休日3時間で合計31時間の勉強時間を確保する。
  • ↑平日はできてるけど、休日はどうしてもダラダラ過ごしてしまうので習慣を変える。
  • 週報を日曜の夜に書く!!

週報 2021/3/1(月)〜2021/3/7(日)

週報はじめてみる

先日、lsコマンドに取り組んだ期間についてのブログを書いてみました。

eatplaynap329.hatenablog.jp

lsコマンドの記事は、週報よりも分量がありますが、フィヨルドブートキャンプで日々書いている日報を見ながら書いたので、いちから考える必要がなくて楽でした。 また、実際に取り組んでいるときは、失敗したことや出来ないことで自己嫌悪に陥りがちだったのですが、一度俯瞰して見ると「失敗にも学びがあるな〜」と客観的に捉えられるので、モチベーションを保つのにも有効そうだと感じました。 2月はブログの更新が目標(月2回)に達することができず、週報を書いたら気楽にアウトプットできそうだと思ったので、今週から始めて見ようかと思います。

週報の構成やアイディアはブートキャンプの先輩であるSakiさん、CHICALOGさんのブログを参考にしました。

saki-htr.hatenablog.com

fjordcampingnote.hatenablog.jp

もくじ

目標と成果

目標 成果 来週の課題
lsコマンド合格 合格した メンターさんのお手本コードを読む
wcコマンド提出 提出した 合格したい

学習時間

日付 時間
3/1(月) 05:30
3/2(火) 03:15
3/3(水) 04:15
3/4(木) 05:15
3/5(金) 04:15
3/6(土) 01:15
3/7(日) 05:00
合計 28:45

週報

3/1(月)

やったこと

  • wcコマンドで必要なデータを取る方法は分かった。どうコードに落とし込むか考えていた。
  • lsコマンドのPRがきちんと作れていなくてやり直すのにほとんどの時間を費やしていた。
  • 16時からの質問タイムに📻参加。

感想

  • Gitがうまく使えなかったのと花粉症で疲弊していたみたい。
  • 自分の場合花粉症の症状が夜ひどいので、夜はキリのいいところで切り上げるのを心がけようと思った。

3/2(火)

やったこと

  • 引き続き、lsコマンドを提出するPRを作り直すのにずっと苦労して何時間も溶かす。
  • 16時の質問タイムに参加し、リポジトリのコミット履歴をすべて削除してもらった。
  • 結論から言うと、何も余計なことをせずにgit resetを使えばよかった。masuyamaさんのLTのスライドや記事を色々やってしまってから読み、最初からよんでいればよかったと後悔(でもやらかしてないとイマイチ分からなかったかも)。

masuyama13.hatenablog.com

感想

  • 調べずになんとなくの勘で処理すると痛い目にあうことがよく分かった。でも正直に言うと、gitよりも直感的に頭を使わずに操作できるバージョン管理システムが生まれてほしい…🥺

3/3(水)

やったこと

  • wcコマンドの作成時、バイト数をカウントする昨日を実装する方法を調べる。IO#openIO#readで取ってくるバイト数が異なるのでしばらく悩む。
  • 本物のMacのwcコマンドと同じバイト数を返してくれるのはIO#open
  • いろんなファイルで調べているなか、IO#readでは日本語が正しくカウントされていないことに気づく。
  • しかし課題の要件には日本語対応は必須ではないとあるので、どちらでもいいのかな?と一旦考えるのをやめる。

感想

  • wcコマンド、Q&Aの内容も難しいものが多く敷居が高い気がしてしまう。敷居を下げるためにもっと気軽にQ&A投稿しよう。
  • 今のところ思っただけ…。

3/4(木)

やったこと

  • 近所のめちゃくちゃ集中できるガストで勉強したら、wcコマンド結構進む。
  • ARGVの使い方が少しわかり、コマンドライン引数で配列で複数ファイルを受け取った後の処理を実装できた。

感想

  • lsコマンド合格した🎉
  • レビューをしてくださった駒形さんに「(きれいに書けているわけではないけど)自分でがんばって考えて書いたことが伝わってきてよかった」と言っていただいたが、その通りなのですごく嬉しかった😭

3/5(金)

やったこと

  • wcコマンド、一応動くものを実装できた。
  • メンターのただあきさんが主催してくださったビール会に参加した。ビールに少し詳しくなった。

感想

  • 前日の駒形さんの言葉を受けて、初心者なんだからきれいに書く必要はないか!と思い、汚くてもとりあえず動くものを書けた。
  • こんなに汚いコードを書くのは恥ずかしい!ではなく、なんてリファクタリングしがいのあるコードだ!と考えるようにしたい。

3/6(土)

やったこと

  • 引越しの手伝いをしていて疲れ果て、ほとんど学習できず。
  • wcコマンドの提出に向けてメソッド化をすすめる。難しい。

感想

  • 自分は係累も職もないのにちょっと引越しの手伝いしただけでヘトヘトになっている。
  • 仕事や家事や育児をしながら勉強している人々を改めて尊敬。

3/7(日)

やったこと

感想

  • Waffle、最近いろんなメディアで取り上げられていてすごい。ジェンダーギャップを埋める活動はたくさんあるけど、Waffleがやっている活動は具体的に社会にインパクトを与えるもの(女子中高生のSTEM分野進学支援、政策提言など)なので、これからWaffleが活躍すればするほど、社会はもっと良いところになると思う。
  • wcコマンドなんとかリファクタリング完了。とても初学者っぽいコードだけど、全てメソッドにしたので頑張った。

1週間ふりかえり

  • wcコマンド、少し時間かけすぎかもしれない。
  • 漫然と生きているので1週間が短く感じている。
  • 目標を小さくしてると、自分にリミッターをかけてしまうことにもつながる。1つ以上の問題解決ができていない現状をどうにかしたい。
  • かといって無理すると続かないし、いい方法を模索中。
  • とりあえず1日5時間の学習をどうにか確保したいと思っている。

来週の目標

  • wcコマンド合格したい。
  • チェリー本を読了したい。
  • HTTP,Nginxの課題を完了したい。
  • 30時間の勉強時間確保したい。