はじめに
どんなことが書かれているかをまとめただけで、内容は多くありません。
(第3部はこちら)
目次
- 第21章 データ構造
- 第22章 アルゴリズム
- 第5部 ピックアップ
第21章 データ構造
- データ構造とは、情報をとりまとめて格納するためのフォーマットのこと。これまでに学んできた組み込みのデータ構造(データ型)であるリスト、タプル、辞書などがそれに当たる。本章では、さらにスタックとキューを学ぶ。
- スタックはLIFO(ラストイン・ファーストアウト)
- キューはFIFO(ファーストイン・ファーストアウト)
- それぞれの仕組みを理解するために、クラスを自ら定義して動作を見ているが、実際は提供されているデータ構型(リストなど)やクラスを使う。スタックとキューについては既知のため飛ばす。
- スタックとキューについてこの記事がよくまとめられているので引用とする。
第22章 アルゴリズム
- アルゴリズムとは、特定の問題を解決するための、再現可能な一連の手順のこと。
- よく知っているアルゴリズムがPythonで書かれているだけなので省略。
第5部 ピックアップ
- 1つの関数には1つのことだけをさせよう。
- 強力なIDEを使おう。IDLEを使い続けることは推奨しない。著者はPyCharmを使う。開発に役立ち、重宝される機能がいくつもある。
- ブロガーのHenrik Warneより。「素晴らしいプログラマーと酷いプログラマーの違いの1つは、ロギングしているか、そして、プログラムの異常が起きたとき容易にデバッグするツールを持っているかだ」。
- ほかの人が利用するプログラムにはテストを書くべきだ。「テストされていないコードは、壊れているコードだ」と。確認するのは、「設計と開発の要求に一致することであり、全ての入力に正しく反応すること、関数が適切な時間内で動作すること、十分に使いやすいこと、想定した環境にインストーできて実行できること、そして関係者が望む結果が得られること」
- 多くのプログラミングの面接では、データ構造とアルゴリズムに焦点を当てている。この2つの分野に精通しておくとよい。より良いプログラマーになるのにも役立つ。
- プログラミングをしていくうえで、すべてを知っている必要はない。なぜなら、そんな人はいないから。謙虚な姿勢を保ち、分からないことはしつこく学ぼう。それを継続すれば、素晴らしいプログラマーになっていける。
- 必読とも言える本がいくつか紹介されている。
- 本質を探る努力をしよう。先に理論から、ではなく、まずプログラミングをして、本質が知りたいと強く思ってから探るとよい。調べたり、シンプルで簡単なものを自分で作ってみるとよい。作ったら、積極的に公開しよう。
- 最初は難しいのかもしれないが、ほかの人のコードを読むことに、できるだけ多くの時間を費やそう。これは、プログラマーとして上達するのに最適な方法だ。そしてたくさん学びを得よう。
- 「ハッカーになろう」を読む。
感想
読み終えることができた。
Python文法の基礎が固まり、スクレイピングにワクワクしたり、バージョン管理など知っておくべきことを効率よく学べた。
Qiitaにまとめた記事を読んでたまに復習しようと思う。