【Udemy感想】Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする

【Udemy感想】Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする

なかぴょん

Udemyにある「Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする」を受けてきたよ。
Pythonの基本的な知識からきれいなコードを書くために必要なことまで教えてくれるおすすめの講座だよ。

へびにょん

なかぴょんです。

今回はUdemyの講座の1つである、Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をするを受けてきました。

Python基本が学べるだけでなく、Pythonで綺麗でわかりやすくコードを書くために必要なことまで学ぶことができます。

Webアプリケーション開発をする際に役立つPythonのテクニックも講義内で学ぶことができるので、Pythonを使ってWebアプリケーションを作ってみたい方にもおすすめの講座です。

それでは、詳しく解説していきます。

誰向きなのか

【Udemy感想】Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をするのおすすめポイント

こんな人におすすめ
・Python3に興味があるが、使用した経験がない方
・Pythonで綺麗なコードを書きたい方
・Webアプリケーション開発を行う際の一連の流れを学びたい方
・Webアプリケーション開発で役立つPythonのテクニックを学びたい方
・シリコンバレー流のコードの書き方を学びたい方

何が学べるのか

  • Python3の基礎的な知識を学べます
  • 簡単なアプリケーション開発に必要なスキルを習得できます
  • Pythonicなコードのスタイルを身に付けることができます。

学ぶ際の事前準備

【Udemy感想】Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をするで学習するプログラミング言語

Macで講座を受ける方は、ターミナルで使用するlsコマンドの初歩的なコマンド知識があると講座の理解が深まります。

Windowsの方は、コマンドプロンプトで使用するdirコマンドの初歩的なコマンド知識があると講座の理解が深まります。

Webアプリケーションを作る際に様々な開発ツールをインストールしますので、データ容量を空けておいてください。

講義内で使用するアプケーションやライブラリのインストール方法は簡単な説明があるだけです。

インストールに不安がある方は知り合いのエンジニアの方にインストールしてもらうか、詳しいインストール方法の説明がある講座を受けることをおすすめします。

講座詳細

セクション1 ここから開始しましょう

ここのセクションは講義に入る前の導入部分となります。

シリコンバレーにある会社の様子を見ることができますので、飛ばさないで見ることをおすすめします。

Udemyはアメリカのシリコンバレー発のオンライン動画学習サービスのため本社はアメリカにあります。

  • 1. はじめに
  • 2. アメリカ本社のUdemyオフィスに遊びに行ってきました
  • 3. 講義の話すスピードを変更したい場合

セクション2 Python環境の設定

Pythonを学習する上で必要な開発ツールのインストールについての説明があります。

Mac、Windowsどちらをお持ちの方でもインストール方法がわかります。

すでに自分でPythonを学んでいて、環境構築ができている方は飛ばしても問題ないです。

  • 4. MacにPythonをインストールする
  • 5. MacにPycharmをインストールする
  • 6. WindowsにPythonをインストールする
  • 7. WindowsにPycharmをインストールをする

セクション3 Pythonの基本

Pythonの基本的な知識について解説があります。

Pythonの基礎的な文法を理解している方でしたら、飛ばしていただいても問題ないかと思います。

ここからのセクションはPythonの基礎知識の解説か続きます。

  • 8. 変数宣言
  • 9. まずはprintで出力
  • 10. 数値
  • 11. 文字列
  • 12. 文字列のインデックスとスライス
  • 13. 文字のメソッド
  • 14. 文字の代入

セクション4 データー構造

  • 15. リスト型
  • 16. リストの操作
  • 17. リストのメソッド
  • 18. リストのコピー
  • 19. リストの使い所
  • 20. タプル型
  • 21. タプルのアンパッキング
  • 22. タプルの使い所
  • 23. 辞書型
  • 24. 辞書型のメソッド
  • 25. 辞書のコピー
  • 26. 辞書の使い所
  • 27. 集合型
  • 28. 集合のメソッド
  • 29. 集合の使い所

セクション5 制御フローとコード構造

  • 30. コメント
  • 31. 1行が長くなる時
  • 32. if文
  • 33. デバッガーを使って確認してみる
  • 34. 論理演算子
  • 35. InとNotの使い所
  • 36. 値が入っていない判定をするテクニック
  • 37. Noneを判定する場合
  • 38. while文とcontinue文とbreak文
  • 39. while else文
  • 40. input関数
  • 41. for文とbreak文とcontinue文
  • 42. for else文
  • 43. range関数
  • 44. enumerate関数
  • 45. zip関数
  • 46. 辞書をfor文で処理をする
  • 47. 関数定義
  • 48. 関数の引数と返り値の宣言
  • 49. 位置引数とキーワード引数とデフォルト引数
  • 50. デフォルト引数で気をつけること
  • 51. 位置引数のタプル化
  • 52. キーワード引数の辞書化
  • 53. Docstringsとは
  • 54. 関数内関数
  • 55. クロージャー
  • 56. デコレーター
  • 57. ラムダ
  • 58. ジェネレーター
  • 59. リスト内包表記
  • 60. 辞書包括表記
  • 61. 集合内包表記
  • 62. ジェネレーター内包表記
  • 63. 名前空間とスコープ
  • 64. 例外処理
  • 65. 独自例外の作成

セクション6 モジュールとパッケージ

  • 66. コマンドライン引数
  • 67. Import文とAS
  • 68. 絶対パスと相対パスのImport
  • 69. アスタリスクのインポートと__init__.pyと__all__の意味
  • 70. ImportErrorの使い所
  • 71. setup.pyでパッケージ化して配布する
  • 72. 組み込み関数
  • 73. 標準ライブラリ
  • 74. サードパーティーのライブラリ
  • 75. importする際の記述の仕方
  • 76. __name__と__main__

セクション7 オブジェクトとクラス

  • 77. クラスの定義
  • 78. クラスの初期化とクラス変数
  • 79. コンストラクタとデストラクタ
  • 80. クラスの継承
  • 81. メッソドのオーバーライドとsuperによる親のメソッドの呼び出し
  • 83. クラスを構造体として扱う時の注意点
  • 84. ダックタイピング
  • 85. 抽象クラス
  • 86. 多重継承
  • 87. クラス変数
  • 88. クラスメソッドとスタティックメソッド
  • 89. 特殊メソッド

セクション8 ファイル操作とシステム

  • 90. ファイルの作成
  • 91. withステートメントでファイルをopenする
  • 92. ファイルの読み込み
  • 93. seekを使って移動する
  • 94. 書き込み読み込みモード
  • 95. テンプレート
  • 96. CSVファイルへの書き込みと読み込み
  • 97. ファイル操作
  • 98. tarfileの圧縮展開
  • 99. zipfileの圧縮展開
  • 100. tempfile
  • 101. subprocessでコマンドを実行する
  • 102. datetime

セクション9 入門編の終了 応用編に行く前に簡単なアプリケーションの演習

Pythonの基礎的な講義が終わり、ここから実際にアプリケーション開発に入っていきます。

  • 103. WindowsとMacのコマンド
  • 104. 簡単なアプリケーションを作って見よう
  • 105. デモアプリケーションの流れを説明したPDFファイル
  • 106. デモアプリのコードを展開する
  • 107. サンプルのデモアプリケーションのコード
  • 108. サンプルコードの設計とフォルダ構造の解説
  • 109. サンプルコードのViewsとテンプレートの解説
  • 110. サンプルコードのmodelsとcontrollerの解説

セクション10 コードスタイル

Pythonのコードの書き方についての解説があります。

Pythonでどのようなコードを書くと、Pythonらしく綺麗でわかりやすいコードになるのか学ぶことができます。

Udemyの他の講義でも説明があまりされていない部分なので、ぜひ、お聞きすることをおすすめします。

この講義の中では一番ためになりました。

  • 111. コードスタイルをチェックするツールの確認
  • 112. スタイルルール
  • 113. Pythonの書き方
  • 114. ドキュメントとPylint
  • 115. 文章のようにPythonを書く

セクション11 コンフィグとロギング

  • 116. 応用編に行く前に
  • 117. configparser
  • 118. yaml
  • 119. ロギング
  • 120. ロギング フォーマッタ
  • 121. ロギング ロガー
  • 122. ロギング ハンドラー
  • 123. ロギング フィルタ
  • 124. ロギング コンフィグ
  • 125. ロギングの書き方
  • 126. Email送信
  • 127. 添付ファイルEmail送信
  • 128. SMTPハンドラーでログをEmail送信
  • 129. virtualenv
  • 130. optparse

セクション12 データーベース

  • 131. データーベースに関して
  • 132. MacにHomeBrewとSQLiteをインストールする
  • 133. WindowsにSQLiteをインストールする
  • 134. SQLite
  • 135. MacにMySQLをインストールする
  • 136. WindowsにMySQLをインストールする
  • 137. MySQL
  • 138. SQLAlchemy
  • 139. DBM
  • 140. memcached
  • 141. pickle
  • 142. MacにMongoDBをインストールする
  • 143. WindowsにMongoDBをインストールする
  • 144. MongoDB
  • 145. Hbase
  • 146. Macにneo4jをインストールする
  • 147. Windowsにneo4jをインストールする
  • 148. neo4j
  • 149. データーベースのおさらい

セクション13 WEBとネットワーク

  • 150. XML
  • 151. Json
  • 152. urllib.request
  • 153. requests
  • 154. socket通信
  • 155. socketserverとhttp.serverとwebbrowser
  • 156. Flask
  • 157. BeautifulSoupでWEBスクレピング
  • 158. XML RPC
  • 159. networkx

セクション14 テスト

  • 160. doctest
  • 161. Unittest
  • 162. Unittestで例外テスト
  • 163. Unitetestのsetupとteardown
  • 164. Unittestのスキップ
  • 165. pytest
  • 166. pytestで例外テスト
  • 167. pytestのsetupとteardown
  • 168. pytestのスキップ
  • 169. pytestのconftest
  • 170. pytestのfixture
  • 171. pytestの独自のfixture
  • 172. pytest-cov どこまでテストをすればいいのか
  • 173. noseのwebページの紹介
  • 174. setuptoolsでtestを実行する
  • 175. Toxで仮想環境でテストを行う
  • 176. seleniumでUIの自動テスト
  • 177. mock
  • 178. mock.assert
  • 179. mock.patch
  • 180. mock.side_effect
  • 181. mock spec
  • 182. どこまでmockするか

セクション15 並列化

  • 183. マルチスレッドとマルチプロセス
  • 184. スレッド
  • 185. スレッドに渡す引数
  • 186. デーモンスレッド
  • 187. 生存中の Thread オブジェクト全てのリスト
  • 188. タイマー
  • 189. スレッドのLockとRLock
  • 190. セマフォ
  • 191. キュー
  • 192. イベント
  • 193. コンディション
  • 194. バリア
  • 195. マルチプロセス
  • 196. ワーカープロセスのプールで非同期
  • 197. ワーカープロセスのプールでブロック
  • 198. ワーカープロセスのプールとマップ
  • 199. プロセス間通信に関して
  • 200. パイプ
  • 201. プロセス間での共有メモリ
  • 202. マネージャー
  • 203. 別のマシン上で走るプロセス間のネットワーク越しの共有
  • 204. 高水準のインタフェース

セクション16 暗号化

  • 205. 文字コード
  • 206. pycryptoの暗号化と復号化
  • 207. hashlibのハッシュ

セクション17 インフラ構築自動化

  • 208. インフラ自動化構築の環境に関して
  • 209. MacにVagrantとVirtualboxをインストールする
  • 210. WindowsにVagrantとVirtualboxをインストールをする
  • 211. VagrantfileでVMを立ち上げる
  • 212. Vagrantfileのダウンロード
  • 213. Fabric
  • 214. Fabricで自動化
  • 215. Ansibleで自動化
  • 216. Ansibleのモジュールの作成
  • 217. ソースコードのダウンロード

セクション18 Pythonの便利なライブラリやツールや豆知識

  • 218. IPython
  • 219. contextlib.contextmanager
  • 220. contextlib.ContextDecorator
  • 221. contextlib.suppress
  • 222. contextlib.redirect_stdout と contextlib.redirect_sterr
  • 223. contextlib.ExitStack
  • 224. ioストリーム
  • 225. collections.ChainMap
  • 226. collections.defaultdict
  • 227. collections.Counter
  • 228. collections.deque
  • 229. collections.namedtuple
  • 230. collections.OrderedDictとPython3.6のdict
  • 231. 正規表現 re
  • 232. 正規表現のre.groupとre.compileとre.VERBOSE
  • 233. 正規表現のre.splitの分割とre.compileの置換
  • 234. 正規表現のGreedy
  • 235. format表記
  • 236. reprとstr
  • 237. pprint vs json.dumps
  • 238. ビット演算
  • 239. Enum
  • 240. functools.lru_cacheとmemoize
  • 241. functools.wraps
  • 242. functools.partial

セクション19 グラフィックス

  • 243. 子供向けグラフィックスturtle
  • 244. turtleで描画してみる
  • 245. GUIツールキットtkinter
  • 246. tkinterで計算機のアプリを作ってみる
  • 247. 計算機アプリのソースコード
  • 248. Mac上でアプリを作成する
  • 249. Windows上でインストーラーを作成する
  • 250. kivyで簡単なゲームアプリ開発のご紹介

セクション20 データ解析

  • 251. データ解析の概念
  • 252. Jupyter Notebook
  • 253. numpy
  • 254. pandas
  • 255. matplotlib
  • 256. scikit-learn
  • 257. 株価のデータ解析と予測
  • 258. データ解析の章のソースコード

セクション21 キューイングシステム

  • 259. キューイングシステムとは
  • 260. ZeroMQのPushとPull
  • 261. ZeroMQのPubとSub
  • 262. MacにRabbitMQをインストールする
  • 263. WindowsにRabbitMQをインストールする
  • 264. celeryとは
  • 265. celeryでタスクを非同期で実行する

セクション22 非同期処理 asynico

  • 266. スレッドとマルチプロセスのI/OバウンドとCPUバウンドを理解する
  • 267. 非同期処理とは
  • 268. ジェネレーターベースのコルチーン
  • 269. yield from文
  • 270. コルーチンとネイティブコルーチン
  • 271. asyncioを使用する場面をイメージする
  • 272. asyncio.Lock
  • 273. asyncio.Event
  • 274. asyncio.Condtion
  • 275. asyncio.Semaphore
  • 276. asyncio.Queue
  • 277. asyncio.Future
  • 278. asyncio.call_soonとasyncio.call_later
  • 279. asyncioのチェーン
  • 280. サーバークライアントのストリーム通信
  • 281. ネイティブコルーチンとジェネレーターベースのtypes.coroutine
  • 282. 特殊メソッドの__await__を使ったAwatable Class
  • 283. async for文と__anext__
  • 284. async with文と__aenter__と__aexist__
  • 285. websocketsのご紹介
  • 286. blocking関数を並列に実行する場合
  • 287. asyncio.subprocess

セクション23 最後に

  • 288. ありがとうございました!

まとめ

今回はUdemyの講座の1つである、Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をするについてご紹介しました。

Pythonの基礎を学んだ上で、実際にPythonでWebアプリケーション開発を体験することができました。

綺麗でわかりやすくコードを書く話は、コードを書く上で特に気にしていたことなので今回の講義で学ぶことができて良かったです。

今回紹介した講座以外にもプログラミングやPythonに関する講座はいくつかあるので、興味がある方はこちらの記事をご覧ください。

※ただいま作成中途中のため、一部デザインが崩れて見ずらくなっております。完成まで少々おまちください。

なかぴょんに受けてほしいPythonに関する学習サービスのリクエストなどございましたら、
お問い合わせにてお伝えください。

リクエストをいただいた講座は受け終わった後で記事にしていきます。

※費用が高い講座は、リクエストをいただいてすぐには受けられないかもしれません。
壊滅的な軍資金不足・・・ご容赦ください。

なかぴょん

リクエストお待ちしております(^^)

それではまたー!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です