C#勉強会

C#の学習日記

独学プログラマー

様々な用途で使えるスクリプト言語として、Pythonは便利です。

プログラミング学習の教材として、Pythonは最適でしょうか?

「独学プログラマー Python言語の基本から仕事のやり方まで」という本を読んでみたいと思います。

 

 

 

目次

第1部 (Part1)

 第1章 イントロダクション

  本書の構成

  大事なところから学ぶ

  あなただけじゃない

  独学の強み

  プログラムを書くと良いこと

  断固として継続しよう

  この本の表示について

  この本で扱っている技術

  用語集/チャレンジ

 

 第2章 さあ、はじめよう!

  プログラミングってなに?

  Pythonってなに?

  Pythonのインストール

  困ったときは

  対話シェル

  プログラムを保存する

  例題プログラムを実行する

  用語集/チャレンジ

 

 第3章 プログラミング入門

  コード例

  コメント

  出力

  行

  キーワード

  スペース

  データ型

  定数と変数

  構文

  エラーと例外

  算術演算子

  比較演算子

  論理演算子

  条件文

  文

  用語集/チャレンジ

 

 第4章 関数

  コンセプトを表してみる

  関数

  関数を定義する

  組み込み関数

  関数を再利用する

  必須引数とオプション引数

  スコープ

  例外処理

  ドキュメンテーション文字列

  必要なときにだけ変数を使おう

  用語集/チャレンジ

 

 第5章 コンテナ

  メソッド

  リスト

  タプル

  辞書

  コンテナの中のコンテナ

  用語集/チャレンジ

 

 第6章 文字列操作

  三重クォート文字列

  インデックス

  文字列はイミュータブル

  文字列の足し算

  文字列のかけ算

  大文字小文字変換

  書式化

  分割

  結合

  空白除去

  置換

  文字を探す

  包含

  エスケープ文字

  改行

  スライス

  用語集/チャレンジ

 

 第7章 ループ

  forループ

  range

  whileループ

  break

  continue

  入れ子のループ

  用語集/チャレンジ

 

 第8章 モジュール

  重要な組み込みモジュール

  ほかのモジュールをインポートする

  用語集/チャレンジ

 

 第9章 ファイル

  ファイルに書き出す

  ファイルを自動的に閉じる

  ファイルから読み込む

  CSVファイル

  用語集/チャレンジ

 

 第10章 知識を1つにまとめる

  ハングマン

  チャレンジ

 

 第11章 ハマったときの助け

  読んでみよう

  その他の読み物

  助けてもらうには

 


第2部 (Part2)

 第12章 プログラミングパラダイム

  状態

  手続き型プログラミング

  関数型プログラミング

  オブジェクト指向プログラミング

  用語集/チャレンジ

 

 第13章 オブジェクト指向プログラミングの4大要素

  カプセル化

  抽象化

  ポリモーフィズム

  継承

  コンポジション

  用語集/チャレンジ

 

 第14章 もっとオブジェクト指向プログラミング

  クラス変数 vs インスタンス変数

  特殊メソッド

  is

  用語集/チャレンジ

 

 第15章 知識を1つにまとめる

  Card

  Deck

  Player

  Game

  戦争のコード全体


第3部 (Part3)

 第16章 Bash

  Bashを使うために

  Bashを見つけよう

  コマンド

  最近使ったコマンド

  相対パス vs 絶対パス

  作業ディレクトリの変更

  フラグ

  隠しファイル

  パイプ

  環境変数

  ユーザー

  さらに学ぶ

  用語集/チャレンジ

 

 第17章 正規表現

  準備

  シンプルな一致

  前方一致と後方一致

  複数文字との一致

  数値との一致

  繰り返し

  エスケープ

  正規表現ツール

  用語集/チャレンジ

 

 第18章 パッケージ管理

  パッケージ

  pip

  仮想環境

  用語集/チャレンジ

 

 第19章 バージョン管理

  リポジトリ

  はじめよう

  プッシュとプル

  プッシュしてみよう

  プルしてみよう

  前のバージョンに戻す

  差分

  次のステップ

  用語集/チャレンジ

 

 第20章 知識を1つにまとめる

  HTML

  Googleニューススクレイピングする

  用語集/チャレンジ

 


第4部 (Part4)

 第21章 データ構造

  スタック

  スタックを使って文字列を逆順にする

  キュー

  チケット行列

  用語集/チャレンジ

 

 第22章 アルゴリズム

  FizzBuzz

  線形探索

  回文

  アナグラム

  出現する文字列を数える

  再帰

  用語集/チャレンジ


第5部 (Part5)

 第23章 プログラミングのベストプラクティス

  コードを書くのは最後の手段

  DRY

  直交性

  どのデータも1カ所で定義しよう

  1つの関数には1つのことだけをさせよう

  時間がかかりすぎるなら、たぶん何か間違えている

  最初に良い方法で実装しよう

  慣例に従おう

  強力なIDEを使おう

  ロギング

  テスト

  コードレビュー

  セキュリティ

  用語集

 

 第24章 プログラマーとしての最初の仕事

  道を選ぶ

  経験しよう

  面接を受ける

  面接

  面接をハックする

 

 第25章 チームで働く

  基本をマスターする

  Google検索できることを質問しない

  コードを変更する

  詐欺師症候群

 

 第26章 さらに学ぼう

  古典で学ぶ

  オンライン授業で学ぶ

  ハッカーニュース

 

 第27章 次のステップ

  メンターを見つけよう

  本質を探る努力をしよう

  アドバイスを得よう

 

第6部 (Part6)

 補章 より良いコードにするために
 補章 継続して学ぶために

 

謝辞

訳者あとがき

索引

 

出版社情報

www.nikkeibp.co.jp

 

著者紹介

コーリー・アルソフ(Cory Althoff)

米クレムソン大学で政治学を専攻、卒業後にシリコンバレーに住みながら独学でプログラミングを身に付ける。

一年後にeBayのソフトウェア・エンジニアとして就職。

その後、シリコンバレーにて複数のスタートアップに参画し、主にフルスタック・エンジニアとして活躍。

以下で本書などに関連する情報を発信中。

https://www.theselftaughtprogrammer.io/

https://medium.com/@coryalthoff

 

https://twitter.com/coryalthoff

twitter.com

 

https://github.com/calthoff

github.com

 

https://www.youtube.com/channel/UCxGlxNt8wCr3o8EmAbhaXGA

www.youtube.com

 

https://www.instagram.com/coryalthoff/

www.instagram.com

 

書評

Pythonなど、一般的な命令型プログラミング言語を学ぶとき、どんな項目をどんな順番で理解していけば良いか?という学習のロードマップが参考になりました。

本書を参考にして、プログラミング学習の項目の順番を考えてみたいと思います。