11/17(日)から1週間ごとにインプットの振り返りを行おうと思います。

ブログの毎日更新をどう行っていけば良いのかがわからない。

このブログのコンセプトを1年前の自分が読んで振り返りできるとしているが、毎日断片的な学習情報を記載したところで振り返りできるのか。

それよりも週に1回でもまとまった形で書かれている方が読み返しやすい気がする。

その日行ったことを書くだけなら上質なアウトプットとは言えないし。

その週の目標達成状況、次の1週間の学習テーマとゴール目標を週1回まとめた方がよっぽど身になる気がする。

平日はアウトプットに集中できるし。細々した振り返りは毎日やるけど、それはTwitterにでも書こう。

11/14現在の状況

  1. Objet Oriented Programming完了
  2. Modules and Packages完了
  3. Errors and Exceptions学習中
  4. Python Decorator
  5. Python Generator

ブログ更新のやり方変えます!

本日のアウトプット(2019/11/13)

ABC-A問題:1問。

明日、欲しかったアルゴリズムの書籍が届く。楽しみで仕方がない。

本日の小ネタ

意識しないと深呼吸できない。 これはまずい。

Pythonのクラス作成を学びました。

本日、Section 7を終えました。毎日コーディングするのは楽しい!

毎日ブログを書いていて思いますが、昨日やり残したことについてはローカルで管理するなどが必要だと思いました。

学んだ知識は後で体系的に見られる状態の方が良いしね。今週末にでもGitHubにあげようかと思います。

11/13現在の状況

Section 8のオブジェクト指向を学んでいます。(以下参照)

  1. Objet Oriented Programming完了
  2. Modules and Packages学習中
  3. Errors and Exceptions
  4. Python Decorator
  5. Python Generator

早く帰宅して勉強できるように、業務中はアウトプットに集中しよう。

疑問に思っていること

  1. クラスで既存のメソッドを利用するときはなぜMethod()とするのか。(Magic/Dunder method)
  2. classのinit()でself.attributeを設定していて、クラス内のMethodでself.と書かないといけないのはなぜ。
  3. init()の役割はなにか。
  4. 返り値に数式をそのまま入れたほうが良いのか、変数に数式を入れて返り値には変数を書いた方がいいのか、この違いってなんだろう。
  5. クラス内のmethodで同じくクラス内の別のmethodの返り値を使いたいときは特別な書き方ってあるのか。

本日のアウトプット(2019/11/13)

ABC-B問題:1問。

アルゴリズムを小難しく考えすぎている気がする。求められているものは何か、最終ゴールをきちんと確認しなければ。

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造を注文しました。届くのが楽しみ〜♪

本日の小ネタ

妹がなんだかんだ毎日自作の小説を更新している。頑張っている。 早く諦めておれにご飯奢ればいいのに。

データサイエンティストを目指すかデータエンジニアを目指すかを悩んだ日。

今後学ぼうと考えているDataCampですが、カリキュラムを見る限りUdemyのPythonと重複している部分があるようなので、スピード感を持ってUdemyを完了させようと思います。

DataCampにはキャリア別やスキル別のコースがありましたが、まずはキャリア別の中にあるデータサイエンティストコースを受けようと思います。

データエンジニアのコースもありましたが、これは製品を作ること(開発)に重きが置かれているようでした。自分のやりたいことがソフトウェアエンジニアなのかデータサイエンティストなのかで悩むことに時間を使うのはもったいないため、自分の職種であるコンサルにより近いと考えられるデータサイエンティストコースを受けることにしています。

11/13現在の状況

Section 8のオブジェクト指向を学んでいます。(以下参照)

  1. Objet Oriented Programming学習中
  2. Modules and Packages
  3. Errors and Exceptions
  4. Python Decorator
  5. Python Generator

まだSection 7の途中ですが、クラスや属性、継承という考え方、ポリモーフィズム(最初はポリフォーミズムかと思った。)という概念を知りました。

まだ深く理解できているわけではないので、これからじっくり理解を深めていきます。(特に継承とポリモーフィズム

Git

Gitで学習記録を管理している人を見かけました。

結構賢いかも。

本日のアウトプット(2019/11/12)

ABC-A問題:1問。

A問題を解いて今の自分に意味があるのか。と思ったので、アルゴリズムの書籍を買うことにしました。 書籍で勉強しながら、難しい問題に挑戦していこう。

本日の小ネタ

最近ストレスが溜まっているからか、アンコントローラブルな部分で思い悩んでいた。 コントローラブルな部分だけに集中しなさいとのアドバイスを彼女からいただいた。 救われました。

2019/11/11〜11/17までにやること(UdemyのPythonコース完了とGitHubを継続勉強)

以前、UdemyでPythonのBootcampを購入していましたが、放置状態になっていました。 いくらアルゴリズムを解く力がついても形に落とし込む力がないと作りたいものが作れないのでUdemyの続きを勉強します。

11/17までにやること

PythonUdemyをやっていきます。 Section 6までは完了しているので、Section 7以降のプロジェクト以外を進めていきます。

プロジェクトをやらないのはPythonを一通り学ぶことが優先事項だからです。

今週学ぶことは、

  1. Objet Oriented Programming
  2. Modules and Packages
  3. Errors and Exceptions
  4. Python Decorator
  5. Python Generator

です。

Pythonについて学ぶと同時にコードを書き続けるために、Exercismも始めようと思います。

今後のGitの学習

書籍で一通りのことを学びましたが、使わなければすぐにさび付いてしまいます。

普段からGitとGitHubに触れる機会を持つことで、理解を深めていこうと思います。ではどうするか。現時点では以下の方法を考えています。

  1. 他者の成果物に対してさらに何か作る。
    1. ライブラリ等のIssueを見て何かを考える。(PythonVSCode等、自分が慣れ親しんだものに対して行う。Trendを追うなど。)
    2. 他者が行なった、今までのPull Requestを見てみる。
  2. 自分の成果物を作成する。
    1. アプロを開発する。
    2. アルゴリズムを実装する。(競技プログラミングや書籍で学んだもの)
    3. その他成果物を作る。(機械学習のものなど。)

上記のことをすぐに実践できるとは思っていませんが、頭に残っていることを整理するために現時点で書きました。

今後学習すること

Python言語自体の学習は重要ですが、同時に機械学習で使われるようなアルゴリズム、DataCampでの学習等も同時並行で行なっていこうと思います。

今まではUdemyでPython→Exercismでキレイなコードを学ぶ→DataCampでデータサイエンスの順番で一つずつやろうと考えていました。

しかし、Pythonの学習もキレイなコードを書くこともすぐに完璧になるわけでもなく、使っていく中で螺旋階段上に理解を深めていくものだと感じたため、同時並行で行うことにしました。

これがPythonJavaの学習を同時に行うだと混乱の元になる気がするので、僕はやろうと思わないです。

本日のアウトプット(2019/11/12)

ABC-A問題:1問。 アルゴリズムの勉強をすると同時に、プログラミング言語に対する理解を深めようと思った。

本日の小ネタ

現在、友達との熱量の違いを感じて、友達に対して申し訳なさを感じています。 僕は趣味で社交ダンスをやっていますが、最近はエンジニアの勉強に頭も時間も使っています。 練習時間の違いが露骨にパフォーマンスに影響を与えてしまうため、パートナーの女性にとても申し訳ないです。 その女性とのダンスは楽しくこれからも一緒にペアを組みたいと思っていますが、葛藤があります。

1週間でGitを学んでできるようになったこと・これから改善していくこと

1週間でGitを勉強してきました。 仕事の終わりが遅い日もあり、疲れを感じた日もありましたがGitとGitHubについて知ることはとても楽しかったです。 本日のエントリーは1週間の振り返りです。

1週間前のゴール設定と達成度

  1. Gitがなんの役に立つのか、どんな問題を解決するものなのかを図を使って説明できる。
    →ファイル(特に)の履歴を管理しながら自由自在に変更できる。図は未完。
  2. Gitで最低限覚えた方が良いと思われる事柄=日常でよく使うものや重要な概念を文章にする。
    リポジトリ作成、リモートとローカルリポジトリのやりとり(pullとpush)、他者のリポジトリにpull request、ブランチをマージ等。
  3. GitとGithubの違いを説明できる。
    →Gitはソフトウェア。GitHubはGitのホスティングサービス。
  4. Githubで草を生やすことができる。そして、その方法を説明できる。
    →草を生やせることはできた。GitHubリポジトリに対してpushする。

まだわかっていないこと。

  • 送られてきたPull Requestを取り込む。
  • fetchする。
  • 不要になったブランチの削除

今後どうするのか。

  • トレンドとなっているリポジトリを確認する。
  • できる限りGitとGitHubに触れて、できることを増やしていく。
  • 草をたくさん生やす。

本日のアウトプット(2019/11/11)

現時点でなし。

本日の小ネタ

旅行に行きたいぜ。

Gitで新たにブランチを切る、リモートリポジトリにプッシュする、プル(最新化)する

やったこと

  1. ブランチの作成
  2. ブランチの切り替え、ブランチを1つ前の場所に戻す(branch -)
  3. ブランチを統合する。(マージ)
  4. リモートリポジトリを登録する。

前日までに気になったことの解決

メモ

その他

  • (HEAD -> master)これどういう意味なのか。
    HEADは最新を表すらしい。

まだ分かっていない&気になっていることメモ

詰まったこと

  1. ブランチでコンフリクトが起きた場合、エディタには2つのファイルの内容が表示されるが、エディタ内で統合すれば良い。

本日のアウトプット(2019/11/8)

AtCoder:ABC-C問題:1問。 Project Euler:2問

Project Eulerは3問目の素数ですでに詰まっています。ひええ

本日の小ネタ

今日は読書会に参加しました。 楽しかったです。

Gitでlogを見て、差分を表示するまで。

やったこと

  1. Localにディレクトリを作成し、gitを初期化。
  2. git statusコマンドで現在のブランチ、コミットされているもの、を見ることができる。
  3. ディレクトリ以下で作成したファイルに対してgit addを行い、ステージング領域にファイルを追加する。
    ※ステージング領域とはコミット前の一時領域のこと
  4. git commitでファイルをコミットする。こうすることでリポジトリでの管理が可能となる。
  5. git logでリポジトリへのコミット履歴を参照することができる。(コメント、コミット日時、作者等が見られる。)
    ファイルやディレクトリの指定をすることも可能。
    →オプションで-pをつけると差分を見ることができる。
  6. git diff・・・ワークツリー・ステージ領域・最新コミット間の差分を確認することができる。

前日までに気になったことの解決

メモ

その他

  • (HEAD -> master)これどういう意味なのか。
    HEADは最新を表すらしい。

まだ分かっていない&気になっていることメモ

詰まったこと

  1. git commitで複数行のコメントを挿入しようとしたが、うまくいかなかった。詳しく調べてみる。

本日のアウトプット(2019/11/8)

AtCoder:ABC-A問題:1問。

日付超えたらすぐに問題に取り掛かろう。

本日の小ネタ

1週間お疲れ様でした。