NMP

元は心理学を専攻する大学院生でしたが、この春中退しました。フラフラしている中で、自分の…

NMP

元は心理学を専攻する大学院生でしたが、この春中退しました。フラフラしている中で、自分の手に職をつけたいと思い、一念発起し、プログラマーとしての就職を目指し、fjordbootcampで6月から勉強中です。日々の勉強内容などを投稿します💪

最近の記事

wcコマンド作成6 構造化が7割ほど完了

今日の学習内容・課題の進捗- `Formatter`、`Command`クラスの構造化が完了しました。しかし、標準入力に関する処理を改善するために`File`クラスの修正が必要になりました。 学んだ感想中々しっくりくる構造が実現できずに、時間がかかってしました💦構造化とリファクタリングに関しては考えだすとどこまでも考えてしまいそうなので、自分の中で、ある程度の目標を立てて取り組んだ方が良いと考えました🤔 ただ、混沌としていたものが、洗練されていく過程が楽しくて、構造化とリ

    • wcコマンド作成5 構造化に取り組む💪

      今日の学習内容・課題の進捗- wcコマンドの構造化に取り組みました(20%くらい)。 学んだことを具体的に- 今まで、自分でメソッドを作成する際には引数1つしか取らないものだけを作っていたことに気づきました。引数を複数にすることで、もっと自由なメソッドを作成することができると実感しました🤩 学んだ感想ベタ書きは完了して構造化に取り組みましたが、lsコマンド課題よりもより良いコードと構造化を行いたいと思い、他の受講生の方のlsコマンドのコードを参考にさせていただいています。

      • 他の方のlsコマンドのコードを読む 学習記録12日目

        今日の学習内容・課題の進捗- lsコマンド課題で学んだことをnoteにまとめました。 - 他の方のlsコマンドのコードを読みました(4名ほど)。 学んだことを具体的に- `send`メソッドは、メソッドの名前を引数にして呼び出し、そのメソッドの実行結果を返します。 - `Struct.new`は、Struct クラスに新しいサブクラスを作って、それを返します。 学んだ感想他の方のlsコマンド課題を見させていただいたが、本当に色々な書き方があり、プログラミングの世界は奥が深

        • 「Rubyでlsコマンドを作る」課題で学んだこと

          昨日、fjordbootcampの「Rubyでlsコマンドを作成する」というプラクティスが何とか、完了できたので、そこで学んだことをまとめます。 1. メソッドがどのクラスに使えるのか、何のクラスのオブジェクトを返すのかを把握しておくことが重要私が第一に詰まった点は、`NoMethodError`でした。以下のようなエラーが返されて意味が分からなかったということです。 NoMethodError: undefined method 〇〇 for ▲▲ :String こ

        wcコマンド作成6 構造化が7割ほど完了

        • wcコマンド作成5 構造化に取り組む💪

        • 他の方のlsコマンドのコードを読む 学習記録12日目

        • 「Rubyでlsコマンドを作る」課題で学んだこと

          プログラミングを学び始めてから、368時間(71日)が経過しました‼️

          私がfjordbootcamapに入って、プログラミングを学び始めてから、368時間(71日)が経過しました。「なんで、400時間とか300時間とか区切りのいいときに書かないんだよ😡」と思われる方もいると思います。 しかし、今日ようやく私にとって難関だった「rubyでlsコマンドを作る」という課題のOKをもらえたので、記念として書かせてください🙇‍♂️何を書くかというと、368時間学んでみて、変わったこと、どうして続けて来れたのかなどです。 私のバックグラウンドまず、私の

          プログラミングを学び始めてから、368時間(71日)が経過しました‼️

          wcコマンド作成3 total表示、オプションのベタ書き完了 学習記録11日目

          今日の学習内容・課題の進捗- total表示の実装が完了しました。 - オプションの実装が完了しました。 - 標準入力を受け取る処理の実装に取り組みました(途中)。 学んだことを具体的に- 標準入力を受け取れるようにするには、`$stdin.gets`、`$stdin.readlines`などで実現できます。 - 文字列クラスの空白を除いて表示させるには、`strip`メソッドを使うことで実現することができます。 学んだ感想昨日から、順調にベタ書きが進んでいます。ただ、「

          wcコマンド作成3 total表示、オプションのベタ書き完了 学習記録11日目

          wcコマンド作成2 学習記録10日目

          今日の学習内容・課題の進捗- lsコマンド課題の修正(ファイル名とスクリーンショットの内容の修正)をしました(完了)。 - wcコマンド作成に取り組みました(まだかかりそうです)。  - 行数、単語数、バイト数を取ってくることは完了しました。  - total表示はまだ途中です(表示の微調整が必要) 学んだことを具体的に- wcコマンドの単語数は空白での区切りを1単語として数えます。 学んだ感想lsコマンド課題での経験が生かされているのか、ベタ書きは順調に進んでいます。自

          wcコマンド作成2 学習記録10日目

          wcコマンド作成1 学習記録9日目

          今日の学習内容・課題の進捗- lsコマンドの提出物の修正を少し行いました。 - wcコマンドの作成に取り掛かりました(まだまだかかりそうです)。 学んだことを具体的に- `File.open(ファイル名)`メソッドはファイルを開くことができます。 - `IO.#read`メソッドは標準入力を指定したところまで読み込むことができます。また、`IO.#readline`メソッドは行単位で読み込むことができます。 - プログラムを実行するには、 > 1.絶対パス(/で始まる

          wcコマンド作成1 学習記録9日目

          lsコマンド作成28 第1回目提出🔥 学習記録8日目

          今日の学習内容・課題の進捗- リーダブルコードを読んで学んだことを[note](https://note.mu/nmp300/n/n3131ee61011)にまとめました。 - lsコマンドの第一回目の提出をしました😆 - wcコマンド作成の下調べを行いました。 学んだことを具体的に- 読みやすいコードを書くためには、リーダブルコードを読むだけではダメで、実際に取り組んでみる必要があります。そして、それを継続していく、自分の中で当たり前のように行っていくことが読みやすいコー

          lsコマンド作成28 第1回目提出🔥 学習記録8日目

          『リーダブルコード』について、学んだことをまとめました

          rubyでlsコマンドを作成する課題で、コードを一通り書き終えることができたので、リファクタリングをするために Dustin Boswell・Trevor Foucher著『リーダブルコード』を読みました。 自分なりの簡単な要約良いコードとは読み手が理解するのにかかる時間が少ないコードです。そのようなコードを書く段階として、表面上の改善(コメント、コードのリファクタリング)、ロジック・ループの改善、コードの再構成という段階があります。 表面上の改善では、コメントはコードの

          『リーダブルコード』について、学んだことをまとめました

          lsコマンド作成27 構造化がついに完了😆 学習記録7日目

          今日の学習内容・課題の進捗- `Command`クラスの構造化を完了し、全てのクラスの構造化が完了しました。 - リーダブルコードを読みました(5割くらい) 学んだことを具体的に- トップレベルのクラスを参照するときは、`::File.lstat`とすればできます。。「チェリー本8章より」今回の場合だと、`LS::File`クラスと組み込みライブラリの`File`クラスの名前が一緒だったことがあり、単純に`File`クラスのメソッドを呼び出すと、`LS::File`が呼び出

          lsコマンド作成27 構造化がついに完了😆 学習記録7日目

          lsコマンド作成24日目 SingleColumunPrinterクラスの構造化が完了 学習記録6日目

          今日の学習内容・課題の進捗- `SingleColumunPrinter`クラスの構造化を行いました(完了)。 - `Command`クラスの構造化を行いました(途中、あと2、3日くらいかかりそう)。 学んだことを具体的に- ハッシュのバリューだけを返すには`values`を使います。 学んだ感想構造化の作業も残すところ`Command`クラスだけとなりました。しかし、自分の中で、他のクラスとのやりとりが最も多くなるこのクラスの構造化が一番難しそうだと感じております。

          lsコマンド作成24日目 SingleColumunPrinterクラスの構造化が完了 学習記録6日目

          lsコマンド作成24 Fileクラス、MultipleColumnPrinterクラスの構造化が完了 学習記録5日目

          今日の学習内容・課題の進捗- メソッドの定義の見直しつつ、構造化に取り組んでいます(5割くらいの進捗?) 学んだことを具体的に- `initialize`メソッドはオブジェクトを生成した時に必ず実行されます。なので、必ず実行してほしい処理を定義することができます。 学んだ感想ほんの少しですが、クラスの扱いについて慣れてきたような気がしています。まだまだ未熟なコードですが、完成に近づきつつあるコードをみると、何とも言えない嬉しさがあります💪 今は、自分の書いたコード、より

          lsコマンド作成24 Fileクラス、MultipleColumnPrinterクラスの構造化が完了 学習記録5日目

          lsコマンド作成 23日目 構造化に取り組む 学習記録4日目

          今日の学習内容・課題の進捗- 今まで、必要なファイルのデータは全て配列に格納していましたが、ファイル名をキーとし、ファイルデータをvlueとしたハッシュに格納した方が、`-a`オプションでドットファイルの操作を行うときに操作しやすいと考え、ハッシュに格納しました。 - メソッドの定義の見直しをしつつ、クラス化に取り組んでいます(まだまだ途中)。 学んだことを具体的に- `[[key],[val].to_h`でハッシュに変換することが可能です。 - `Hash[配列]`でとて

          lsコマンド作成 23日目 構造化に取り組む 学習記録4日目

          lsコマンド作成21日目 構造化にチャレンジ 学習記録4日目

          今日の学習内容・課題の進捗- クラス図を実際に書いてみました。 - lsコマンドの構造化に取り組みました(完了はまだまだ先になりそうです)。 学んだことを具体的に- シーケンス図とは > 処理の内容をライフライン間のやりとりを時間軸に沿って表現した図のことを言います。ライフラインとはクラスやオブジェクト、コンポーネントなどの事です。 - クラス図とは > クラス図は一言で表すと、システムの静的な構造・関係性を表現する為の図です。クラスはオブジェクトの型を表現したものです。

          lsコマンド作成21日目 構造化にチャレンジ 学習記録4日目

          lsコマンド作成21 オブジェクト志向設計実践ガイドを読む 学習記録3日目

          今日の学習内容・課題の進捗- オブジェクト志向設計実践ガイドを読む - オブジェクト志向設計実践ガイドについて、学んだことをnoteにまとめました。 - VSnotesをインストールしてみました。 学んだことを具体的にソフトウェアは変化するものであり、その変化にかかるコストを限りなく少なくすることが設計の意味です。 - クラスに2つ以上の責任を持たせない。 - 拡張には開けており、修正には閉じている。 - サブクラスはそのスーパークラスによって置換可能である。 - インター

          lsコマンド作成21 オブジェクト志向設計実践ガイドを読む 学習記録3日目