Sakiのプログラミング学習ブログ

プログラミングについて学んだことや、学習の振返りを書いています。

「新しいLinuxの教科書」を読む会 オンライン #1 参加レポート

はじめに

こんにちは。紗希と申します。 プログラマーを目指して、フィヨルドブートキャンプというプログラミングスクールで学習をしています。 先週23日(土)に、著者である三宅さんと大角さんによる「新しいLinuxの教科書」のオンライン読書会に参加させていただきました。 その中でとくに印象に残ったお話をまとめました。

「新しいLinuxの教科書」を読む会 オンライン #1 - connpass

✅ fishシェルを使ってみよう

読書会では、著者のお二人が3回LTをしてくださりました。 その中で三宅さんが「fishシェルを使ってみよう」という題で、fishシェルのメリットとデメリットを分かりやすくまとめてくださり、bashシェルしか使ったことのなかった私もぜひ使いたい!と感じました。 紹介してくださったメリット・デメリットは以下です。

メリット

1. シンタックスハイライト機能がきれい。

きれいというだけでなく、実用性もある。 存在しないコマンドを入力すると実行前に赤色で警告してくれる。 (私のターミナルではオレンジ色でした) f:id:Saki-Htr:20200527182720p:plain

クオートの閉じ忘れが赤色で強調される。 1行目はクオートをきちんと閉じて実行した場合、2行目は閉じ忘れをした場合。 f:id:Saki-Htr:20200527182751p:plain

2. プロンプトに色々な情報が表示される。

gitのブランチ名も表示される。

3. タブを入力するだけでオプションなどを補完してくれる&そのままそのコマンドを矢印キーで選んで実行できる。

f:id:Saki-Htr:20200527182824p:plain

4. オートサジェスチョン=「自動提案してくれる機能」 が便利。

現在のディレクトリ、過去に入力したコマンド、ディレクトリ内にあるファイル等を考慮して提案してくれる。 例えば、vimと入力すると、「このファイルを編集したいの?」と提案してくれたり、cdと入力すると行きたいディレクトリを提案してくれる。

f:id:Saki-Htr:20200527182841p:plain 提案を受け入れる時はcontrol + eまたはcontrol + fを入力する。

5. fishのドキュメントは全てmanで読める。

説明がわかりやすく、例も充実している。

6. 上記のメリット1~5は使うために難しい設定は必要なく、初期設定で使える。

デメリット

1. 名前が検索しづらい。fishと検索しても、まず先頭には出てこない。

2. 構文がbashと異なる。

ブログ記事などはbashの構文で書かれているため、コピペすると動かないことがある。 ➡構文の違いが、fishのWikipediaのページのバッシュ/フィッシュ変換テーブルに記載されている。 friendly interactive shell - Wikipedia

構文を変えている理由

  • シェル伝統の悪い構文を採用せずに、改善している(という思想のため)。
  • 文法や構文もわかりやすさを目指している
  • 『新しいLinuxの教科書』の読者なら使いこなせるとのこと。

fishシェルのインストール方法

このLTを聞いて、早速自分のMacのターミナルにインストールして使ってみたくなったので、以下に方法をまとめました。 参考にさせていただいた記事:fish shell のインストールと初期設定 - Qiita

#Macにインストール
$ brew install fish   
#バージョンの確認
$ fish -v

#今のシェルを確認
$ echo $SHELL 
/bin/bash   #bashを使っている

#デフォルトのshellをfishに変更
$ sudo vim /etc/shells # ファイル末尾に/usr/local/bin/fishを追加
$ chsh -s /usr/local/bin/fish # デフォルトシェルをfishに変更

少し使ってみての感想

コマンドを入力して候補のファイルやディレクトリを出してくれたり、存在しないコマンドを打つと赤く警告の色になるのはとっても便利でした! もっと便利に使いこなしたいので、引き続きfishを使いたいと思います。

✅ シェルは複数使うべきである理由

三宅さんは上記のLTで、シェルは複数使ってみるべきだと仰っていました。 その理由は、シェルに限らずプログラムを複数を使うと比較ができ、各シェルの良い点・悪い点が分かり、自分で考えられるようになるからだそうです。 このお話を聞いて共感しましたので、複数のプログラムを使って、その時に応じて適したプログラムを使いこなせるようになりたいと思いました。 また、現在通っているプログラミングスクールでは、言語はRubyを教わっているのですが、将来は他の言語も使えるようになって、開発にあたってどの言語が適しているかを比較できるようになりたいと思いました。

✅ 一緒に開発している人の立場になってプログラミングする

大角さんは、チームで開発を行う時、clearコマンドは使わないようにしていらっしゃるそうです。 例えばペアプロ(開発の手法の一つで、2人のプログラマが1台のマシンを操作してプログラミングを行う方法)を行う時、表示内容を全消去するclearコマンドを使うと、相手は何が起こったか分からず混乱してしまう=無駄に余計に考えさせてしまうからだそうです。

スクールでも、「slackでやり取りをしたり質問したりする時は、相手にエスパーをさせないように、状況を分かりやすく説明するように」と教わったことがあるので、相手の立場に立って考えて行動することの大切さを改めて感じました。当たり前のことかもしれないですが、実行できていないことが多いと思うので、自分の目線から離れて相手の目線で考えることを心がけようと思いました。

Linuxのオススメ学習法

参加者の方から、「仕事でLinuxを使う機会がなく、学習時に使うだけではすぐに忘れてしまう。オススメの学習法はないか。」と質問がありました。 これに対して、お二人とも、普段家で使うPCのOSをLinuxにすると答えてくださいました。 昔はお二人ともご自分のPCでLinuxを使っていらっしゃったそうで、メールの送受信やちょっとしたメモ書きなど何でもLinuxで使うと習得が早いと仰っていました。

これはたしかに、「アウトプットするためのインプット」ができて良い方法だと思いました。普段使うPCに入れれば、何か作業をするため(アウトプットするため)に使い方を調べることになります(インプット)。 これまでプログラミングの学習を行ってきた中で、目的なきインプットだけを丁寧に行うよりも、実現したい目的のために調べて手を動かした方が身につくと考えるようになったためです。

✅ ベテランのプログラマーほどコマンドは覚えずタブを使いまくる

「ベテランのプログラマーほどコマンドを完璧に覚えている」という考えは、おそらく初心者が考えるベテラン像でありがちだろうとのことですが、ベテランほどコマンドは覚えずタブを使いまくるそうです。

たしかに、良くないプログラミング学習法の一つとして、「コードを全部覚えようとすること」が挙げられているのをブログやYoutubeでよく見かけます。

私も学習当初は学習したことを全部スクールの日報に書いて暗記しようとしていましたが、今は丸写しではなく、忘れて見返した時に、すぐに理解できることを目標に日報を書いています。

さいごに

主催者お二人の仲の良さが画面越しでも伝わってきて、とてもなごやかな会でした☺️ 質問は、必ず今読んでいる章の部分だけをしなくてはならないというわけではなく、「おすすめの学習法は?」「サンプルファイルがDLできない」等の質問も気さくに丁寧に答えてくださり、とても質問しやすい雰囲気でした。 輪読ではなく、その章の中で著者が気になる点、初心者がつまずきそうな点の深堀りをしてくださいました。

お話全てを理解することはできませんでしたが、コマンドの豆知識や、仕事で使う時に気をつけていることなどが聞けて、実務で使う際のイメージを具体的にすることができました。

また開催されましたら、ぜひ参加したいです。 三宅さん、大角さん、貴重な機会をくださり、誠にありがとうございました!

一週間の振り返り#3 [2020/5/9(土)~5/15(金)]

はじめに

こんにちは。紗希と申します。 プログラマーを目指して、フィヨルドブートキャンプというプログラミングスクールで学習をしています。 これまで学んだことの復習や、学習の進捗状況の振り返りができていなかったので、一週間単位で学習の振り返りを行うことにしました。 水土日休みなので、金曜日に今週を振り返り&次週の新たな目標を立て、土日にガッツリ新たな目標達成のために学習をがんばろうと思います💪

2020/5/9(土) 休み

学習時間 8:30

学んだこと

メモ

  • 初めてのLT会#2に参加(以下印象に残ったお話まとめ)
    • フィヨルドブートキャンプではあまりネットワーク関連のプラクティスが無いが、コードを書いていてネットワーク関連のトラブルは発生しがち(とくに物理)➡この知識があるとトラブルシューティングしやすい VirtualBox,AWS,Dockerの学習をする時もネットワークまわりの知識は必要になってくる。
    • 本「情熱プログラマー」おすすめ
    • Railsユーザーフォローあたりの学習は、Railsチュートリアルをいきなりやってもさっぱりなので、DBのプラクティスでしっかり学んでおけばOK
    • 外で発表する前に、クローズドなコミュニティで練習として活用すると良い
    • LTは対象者とテーマをぐっと絞る
    • 質問の回数を重ねるうちに質問の質は上がる

2020/5/10(日) 休み

学習時間 1:45

学んだこと

  • TryRuby
  • 先週[2020/5/2(土)~5/8(金)]の振り返り&ブログ執筆

メモ

  • 朝ラジオ体操をした✨
  • 4/25(土)~5/1(金)の振り返り&ブログ執筆も行った
  • あまり眠れず朝から全身がだるく、あまり学習できず😞

2020/5/11(月) 出勤日

学習せず。LT会の振り返り#2をした。

2020/5/12(火) 出勤日

学習時間 3:45

学んだこと

  • ruby -vrbenv versionのバージョンが異なるので、設定を修正する →環境変数の設定ミスが原因だった。
  • FizzBuzz問題の復習

メモ

  • コードを書いていて問題に直面した時に、「問題の原因は何か」、「なんでこの作業をすると解決できるか」をきちんと理解するところまで行うようにする。色々いじっていて、いつの間にか解決できていた、ということがたまにあるので。まぐれだと学習にならないのでちゃんと調べる!

2020/5/13(水) 出勤日

学習時間 6:15

学んだこと

  • ポートとは何かを理解
  • メソッドの引数,戻り値を理解
  • rubocop(Rubyのコードフォーマッター)の使い方

メモ

  • Ruby超入門の復習を一周しようかと思ったが、課題を解く時等実践をやる中で調べに戻って来る方が身につくと考え直したので、次のプラクティスに進むことにした。
  • rubocopで-aオプションを使うと自動で修正してくれて便利だが、最初は規約を学ぶために自分で修正したほうが良いと書いてある記事があったので、最初は-aオプションを使わず自分で手直ししていこうと思う。

2020/5/14(木) 出勤日

学習時間 1:30

学んだこと

メモ

  • 久々に出社前に学習できた✨

2020/5/15(金) 出勤日

学習時間 5:30(一週間の振り返り&ブログ執筆は含まない)

学んだこと

  • Bundler の基本を理解
  • rubocop の使い方、VScodeでの導入方法についてブログを書く
  • Rubyでカレンダーのプログラムを作る
    • これを作りたい f:id:Saki-Htr:20200515230212p:plain

    • ここまで作った(今月分のカレンダー)

f:id:Saki-Htr:20200515230228p:plain

一週間の振り返り

目標の達成状況

最低目標

  • 5/15(金)までに以下を完了する。
    • Try Ruby
    • LT会の振り返り
    • オンラインもくもく会まとめ
    • ruby -vコマンドを入力すると「ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]」と出るがrbenv versionの結果と違う。最新版になるよう設定する
    • ポート番号とは何かを理解
    • メソッドの引数,戻り値の理解
    • Ruby超入門を復習
    • FizzBuzz問題の復習

最高目標

  • 5/15(金)までに、最低目標に加えて以下を完了する。
    • rubocop の使い方を知る
    • rubygems の基本を理解する
    • rake(決まった処理(タスク)を自動化するツール)
    • カレンダープログラム(5:00着手)

実際の進捗

  • Try Ruby
  • LT会の振り返り
  • オンラインもくもく会まとめ
  • ruby -vコマンドを入力すると「ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]」と出るがrbenv versionの結果と違う。最新版になるよう設定する
  • ポート番号とは何かを理解
  • メソッドの引数,戻り値の理解
  • Ruby超入門を復習
  • FizzBuzz問題の復習
  • rubocop の使い方を知る
  • rubygems の基本を理解する
  • Bundlerの基本を理解する
  • カレンダーのプログラムに着手する(約2:00)

達成度

  • 最低目標を達成🎉
  • 最高目標は未達成

    • rakeは着手できず
    • しかしそれ以外は完了できた!
  • 合計学習時間 27:15

成果

  • 設定していた目標はほぼ達成できた✨自分が設定した目標に対して概ね達成できると自己肯定感も上がって良いなと感じた
  • 今週は金曜日の夜に振り返り&ブログ執筆ができた! 振り返りも今回で3回目となるので、手慣れてきた😎✨

反省

  • Bundlerのプラクティスを目標に入れるのを忘れてしまった💦
  • 進捗状況の管理をMacのメモアプリで行っているが、表にした方が分かりやすいのでスプレッドシートを活用しようと思う💪

来週[5/9(土) ~ 5/15(金)] の目標

人は期限を決めた方が達成率が上がるそうです。 しかし、高い目標だと達成できなかった時に自分のことを責めてしまい、挫折率が上がってしまうそうなので、最低限達成する目標(最低目標)と、毎日全力で学習したら達成できるであろう目標(最高目標)の2つを設定したいと思います。

➡把握しやすいようにスプレッドシートを作りました。 青色の線が最低目標、オレンジ色の線が最高目標です。

f:id:Saki-Htr:20200515230333p:plain
進捗確認のスプレッドシート

最低の目標

  • 5/22(金)までに以下を完了する(13時間学習すると計算して)
    • カレンダーのプログラム

最高の目標

  • 5/22(金)までに、最低目標に加えて、以下を完了する(36時間学習すると計算して)
    • Ruby中級:プロをめざす人のためのRuby入門 第1章〜4章

RuboCopの使い方とVScodeへの導入方法まとめ

RuboCopについて学習したので、学んだことをまとめました。

RuboCopとは

Rubocopとは、Rubyで書いたコードを規約に沿ってチェックしてくれ、簡単な修正もしてくれるツール。

使い方

  • インストール
#gemでインストール
$ gem install rubocop
  • 基本的な使い方
#現在のディレクトリ以下全てのRubyファイルをチェック
$ rubocop
#ファイルを指定
$ rubocop <ファイル名>
#クォーテーションの種類を変えるなど簡単な所を自動修正
$ rubocop -a または --auto-correct
# 4つのチェック規則の分類のうちLintだけを確認
$ rubocop -l または -lint
  • 実行結果の見方(例)
$ rubocop #rubocopを実行
Inspecting 15 files  #15個のファイルをチェック
CCCCWCCWCCCCCCW  #チェックしているファイルのうち何番目でどんなエラーが出たか

Offenses: #ここから下に具体的なエラーの指摘

9-3.rb:1:1: C: Naming/FileName: The name of this source file (9-3.rb) should use snake_case.

15 file inspected, 5 offenses detected #15個検査したら5つ違反が見つかった

設定方法

  • RuboCopには、Rubyスタイルガイドに基づいて、事前に設定されたルールのセットが付属している。プロジェクトによっては、ルールを再構成したり、特定のファイルを無視したり、無効にしたりすることができる。
  • RuboCopの動作を変更する最も一般的な方法は、プロジェクトのルートディレクトリに名前を付けた構成ファイル.rubocop.ymlを作成すること。
    • プロジェクトルートとは、プロジェクトにおけるルートディレクト
    • 例えば、ホームディレクトリの直下にrubybookというディレクトリを作って、そこにrubyのファイルを作って作業をしていて、そこでrubocopを使いたい →この場合~/rubybook/がプロジェクトルートなので、ここに.rubocop.ymlを作る。
  • RuboCopにデフォルトで設定されているコーディング規約は厳しいらしく、そのまま使う人は少ないとのこと。

設定ファイルを作る設定方法は2つ

  1. 既にある.rubocop.ymlを開いて設定を変更する。
  2. .rubocop.ymlを新しく作成しプロジェクトルートに配置する。

設定ファイルを新しく作成する

  • 既存の.rubocop.ymlを見つけられなかったので、ここでは2の方法をまとめておく。
  • 私の場合はRails 本家のコーディング規約を適用した。
    • wgetコマンドは何もオプションをつけないと出力先が標準出力=画面への出力になるので、オプションかリダイレクトを使ってファイルに保存する必要がある。
$ cd <プロジェクトルート> #プロジェクトルートに移動
$ touch .rubocop.yml  #設定ファイルを新規作成
$ curl https://raw.githubusercontent.com/rails/rails/master/.rubocop.yml > .rubocop.yml #rails本家のコード規約をダウンロードして.rubocop.ymlファイルへ出力

エラーへの対処法

  • 上記を実行後、ターミナルでRuboCopを使おうとすると、以下のエラーが出る。
cannot load such file — rubocop-performance 
cannot load such file — rubocop-rails
  • Rails本家からコピペしてきたコード規約の中身を見ると、一番上に以下の表記がある。
require:
  - rubocop-performance
  - rubocop-rails
  • この2つもgemなので、プロジェクトルートにインストールする
$ cd <プロジェクトルート> #プロジェクトルートに移動
$ gem install rubocop-performance #2つをインストール
$ gem install rubocop-rails 
  • これで新しいコード規約でRuboCopを使えるようになったはずなので、vim .rubocop.ymlで設定を編集する。

VScodeでRuboCopを使う方法

f:id:Saki-Htr:20200515145458p:plain

  1. VScodeを開く
  2. 左下のマーク→「拡張機能」へ
  3. 「インストール」をクリック

エラーへの対処法

  • インストール直後、プロジェクトルートでRubyのファイルを編集していると、以下のエラーが出る
rubocop is not excutable #rubocopは実行可能ではありません
execute path is empty! please check ruby.rubocop.executePath #実行パスが空です
  • rubocopの実行パスが空なので、whichコマンドでパスを確認する。
$ which rubocop
/Users/<ユーザ名>/.rbenv/shims/rubocop
  • VScodeの左下のマーク→「設定」→「Ruby-Rubocop configuration」へ
  • 設定ファイルとrubocopのパスを追記する
    • rubocopのパスは、 /Users/<ユーザ名>/.rbenv/shims/rubocopと書くとエラーになるので注意

f:id:Saki-Htr:20200515150031p:plain - これでVScodeで使えるようになる。

使い方

規約に違反しているところには二重線「=」が出るので、カーソルを合わせると違反の内容が表示される。

f:id:Saki-Htr:20200515145544p:plain

参考記事

一週間の振り返り #2 [2020/5/2(土)~5/8(金)]

はじめに

こんにちは。紗希と申します。 プログラマーを目指して、フィヨルドブートキャンプというプログラミングスクールで学習をしています。 これまで学んだことの復習や、学習の進捗状況の振り返りができていなかったので、一週間単位で学習の振り返りを行うことにしました。 水土日休みなので、金曜日に今週を振り返り&次週の新たな目標を立て、土日にガッツリ新たな目標達成のために学習をがんばろうと思います💪

2020/5/2(土) 休み

学習時間 6:30

学んだこと

  • Ruby超入門 チャプター6~7
    • ハッシュ
    • eachにifを組み込む
    • keyメソッド
    • メソッドを定義する
    • 変数のスコープ(有効範囲)

メモ

  • 4/25(土)~5/1(金)の振り返り&ブログ執筆も行った
  • 14:00~17:30 オンラインもくもく会に参加

2020/5/3(日) 休み

学習時間 2:30

学んだこと

  • Ruby超入門 チャプター8-1~8-3
    • クラスとは
    • オブジェクトの作成方法2つ
    • クラスを定義する
    • クラスにメソッドを定義する、呼び出す
    • レシーバとは
    • クラスに引数を受け取るメソッドを定義する
    • クラスの中で同じクラスのメソッドを呼び出す

メモ

  • 朝ラジオ体操をした✨
  • 4/25(土)~5/1(金)の振り返り&ブログ執筆も行った
  • あまり眠れず朝から全身がだるく、あまり学習できず😞

2020/5/4(月) 休み

学習時間 5:30

学んだこと

  • Ruby超入門 チャプター8-4~8-8
    • インスタンス変数
    • オブジェクトの外でインスタンス変数を取得する
    • インスタンス変数に代入するメソッドを作る
    • initializeメソッド
    • クラスに作るメソッド2種類
    • クラスメソッドを定義する
    • 継承
    • ancestorsメソッド
    • privateメソッド

メモ

  • メンターさんに日報のまとめが丁寧と仰っていただけた💕

2020/5/5(火) 休み

学習時間 5:45

学んだこと

  • Ruby超入門 チャプター9
    • モジュール
    • メソッド:none?/extend
    • モジュールにクラスメソッドや定数を定義する
    • Rubyが用意している便利なモジュールを使う
    • 名前空間
    • 別ファイルのクラスやモジュールを読み込む
  • Ruby超入門 チャプター10
    • ライブラリ/Gem/Bundler/Sinatra とは
    • URLの構成
    • Webアプリがブラウザからアクセスされて画面を表示するまでに、裏では何が行われているのか
    • WebページへアクセスしてHTMLを取得するプログラムを書く
    • WebページへアクセスしてJSONを取得する
  • Ruby超入門 チャプター11-4~11-5
    • ブロックについてより深く
    • 渡されたブロックを引数で受け取る
    • 最新のRubyをインストール&アップデートする手順

メモ

  • Webアプリの基本動作の話で、HTTP GETメソッドが出てきたが、以前学習したが忘れてしまっていたので復習する🔥
  • チャプター8あたりから内容が複雑になってきた。カレンダープログラムや中級に入る前にこの本を理解していないと理解できないことになりそう。要復習✍🏻
  • 1時間お散歩した🚶‍♀️休みの日に一日ひきこもってると眠りが浅かったり変な夢を見たりするので、人が全然いないところをお散歩していこうと思う👣

2020/5/7(水) 休み

学習せず

2020/5/8(木) 出勤日

学習時間 2:15

学んだこと

  • FizzBuzz問題を解いて合格をいただいた💮
  • Secret Gistを初めてやった
  • Gistとは何かを理解
  • 定数とは何か、変数との違いを理解

2020/5/9(金) 出勤日

学習せず

メモ

  • 一週間の振り返りをしようと思っていたが、体調が優れず入浴後そのままダウン💦

一週間の振り返り

目標の達成状況

最低目標

  • 5/8(金)までに以下を完了する。
  • 合計学習時間 17:00 一日の学習時間が休みは3時間/出勤日は1時間で計算。

最高目標

  • 5/8(金)までに以下を完了する。
  • 合計学習時間 46:00 一日の学習時間が休みは8時間/出勤日は3時間 で計算。

    実際の進捗

  • ゼロからわかるRuby超入門 チャプター8~11完了
  • FizzBuzz問題 合格済
  • TryRuby 完了

    達成度

  • 最低目標を達成🎉
  • 最高目標は未達成
    • カレンダーのプログラムは着手できず
  • 学習時間
    • 休みの平均学習時間 4:03
    • 出勤日の平均学習時間 1:07
    • 合計学習時間 22:30

成果

  • 一週間単位の目標を設定したことで、 「最低でも最低目標は終わらせなければ!」 「今ここまで終わっているから後これをやらねば!」 と期限を意識することができたことは大きい。
  • スクール卒業という最大の目標の期限設定は難しいが、一週間単位の期限設定なら具体的に決めることができるので良かった。これからも続けていきたい。
  • 進捗状況の比較を他のスクール生の方と比較して落ち込むこともあったが、明確な目標設定をしたことで、学習は自分との戦いだということに改めて気づき、自分の目標に集中することができた。

反省

  • 振り返りをするのが、5/10(日)の夜になってしまった。 土曜に入ってしまうと、「せっかく集中できる時間に学習しないのは勿体ない!」と思って後回しにしてしまう。 土日は休みで学習する時間を多く取れるので、金曜にまでに完了すべきだった。 次回は必ず金曜には振り返りと目標立てを行う!

来週[5/9(土) ~ 5/15(金)] の目標

人は期限を決めた方が達成率が上がるそうです。 しかし、高い目標だと達成できなかった時に自分のことを責めてしまい、挫折率が上がってしまうそうなので、最低限達成する目標(最低目標)と、毎日全力で学習したら達成できるであろう目標(最高目標)の2つを設定したいと思います。

最低の目標

  • 5/15(金)までに以下を完了する
    • Try Ruby
    • LT会の振り返り
    • オンラインもくもく会メモ
    • ruby -vコマンドを入力すると「ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]」と出るがrbenv versionの結果と違う。最新版になるよう設定する
    • ポート番号とは何かを理解
    • メソッドの引数,戻り値の理解
    • Ruby超入門を復習
    • FizzBuzz問題の復習

最高の目標

  • 5/15(金)までに、最低目標に加えて、以下を完了する
    • rubocop の使い方を知る
    • rubygems の基本を理解する
    • rake(決まった処理(タスク)を自動化するツール)
    • カレンダープログラム(5:00着手)

学習の振り返り #1 【2020/4/25(土)~5/1(金)】

はじめに

こんにちは。紗希と申します。 プログラマーを目指して、フィヨルドブートキャンプというプログラミングスクールに通って学習をしています。 これまで学んだことの復習や、学習の進捗状況の振り返りができていなかったので、一週間単位で学習の振り返りを行うことにしました。 基本的に水土日休みなので、金曜日に今週を振り返り&次週の新たな目標を立て、土日にガッツリ新たな目標達成のために学習をがんばろうと思います💪🔥

2020/4/25(土) 出勤日

学習せず

2020/4/26(日) 出勤日

学習せず

メモ

  • nuro光を契約
    • 自宅で勉強する機会が増えたため

2020/4/27(月) 休み

学習せず

メモ

学習に集中できる環境作りのため以下を行っていた。 - 自室のレイアウト変更のため家具移動、掃除 - 学習用の机の解体→移動→再組み立て
- サブモニター&その他MacBookの保護グッズの検討・購入

2020/4/28(火) 出勤日

学習せず

2020/4/29(水) 休み

学習時間

8:30

学んだこと

  • Pull Requestプラクティスの記事全てに目を通して理解
  • GitHubの2段階認証を設定する
  • ターミナルのコマンドラインでの、2段階認証の使用」を設定する
  • rbenvをインストール
  • Rubyの最新バージョンの安定版をインストール
  • 複数のバージョン切り替えを rbenvでできる
  • ゼロからわかるRuby超入門 チャプター1の途中

    メモ

  • GitHubRubyで作られているとは知らなかった…!

2020/4/30(木) 休み

学習時間

4:45

学んだこと

  • ゼロからわかるRuby超入門 チャプター1
    • VSCodeのショートカットキー
  • チャプター2
    • Rubyで計算のプログラムを書く
    • 変数
    • エラーメッセージの読み方
  • チャプター3
    • 比較メソッド
    • if,case,while
    • timesメソッド
  • チャプター4
    • 配列の代入
    • 配列の要素の取得[]
    • 配列の要素の追加[push,unshift]
    • 配列の要素の削除[pop,shift]
    • 配列のたし算・ひき算
    • 配列の繰り返し(eachメソッド)

メモ

5/1(金) 出勤日

学習時間

3:00

学んだこと

一週間の振り返り

成果

  • 合計学習時間 16:15
  • 完了したプラクティス
    • Pull Request を行う
    • rbenv

反省

  • 一週間の学習時間が16:15なのは少ない。もっと勉強できるはず!
  • 働いている日は帰宅すると気が抜けがち。まずベッドに行かず机の前に座るところから。

来週[5/2(土) ~ 5/8(金)] の目標

人は期限を決めた方が達成率が上がるそうです。 しかし、高い目標だと達成できなかった時に自分のことを責めてしまい、挫折率が上がってしまうそうなので、最低限達成する目標(最低目標)と、毎日全力で学習したら達成できるであろう目標(最高目標)の2つを設定したいと思います。

予想の学習時間

これから学習するプラクティスにかかる時間の予想を立てました。これを基準に目標を決めました。

f:id:Saki-Htr:20200503083101p:plain
予想学習時間

最低の目標

  • 一日の学習時間:休みは3時間/出勤日は1時間 =合計17時間
    • 7日間中5日間はGWで休み
  • 5/8(金)までに以下を完了する。

最高の目標

  • 一日の学習時間:休みは8時間/出勤日は3時間 =合計46時間
  • 5/8(金)までに以下を完了する。

おわりに

来週、5/8(土)終了時点で、どれくらい進めたか進捗確認をします。 今週はGWで7日間中5日休みなので、ガッツリ学習に時間を割きたいと思います😎✨