Udemy

Platform

日本語

Language

Programming Languages

Category

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です!

4.40 (12137 reviews)

60203

Students

28.5 hours

Content

Feb 2020

Last Update
$124.99
Regular Price

What you will learn

Python3の基本の習得できます。

応用編の講義もありますので、簡単なアプリケーション開発に必要なスキルを習得できます。

Pythonicなコードのスタイルを身に付けることができます。


Topics

Python


Description

このコースでは、Python3の基礎である入門コースを一通り終えた後に、今後のアプリケーション開発に役立つためのPythonのテクニックやデーターベースアクセス(SQLite, MySQL, MongoDB, SQLAlchemy, memcached, Hbase, neo4j etc)、WEB(Flask, socket, RPC etc)、インフラ自動化(Fabric, Ansible)、並列化(スレッド、マルチプロセス)、テスト(Unittest, pytest, Tox, Selenium, etc)、暗号化(pycrypto, hashlib)、グラフィック(turtle, Tkinter)、データ解析(numpy, pandas, matplotlib, scikit-learn), キューイングシステム(ZeroMQ, Celery)、非同期処理(asyncio)などのPythonを使った応用編を取り入れております。

また、Pythonのコードをただ書いて、プログラムが動けば良いというだけではなく、コードスタイルに関しても言及しております。pythonicにと言われるように、PythonはPythonらしく綺麗でわかりやすいコードを書くことが大切です。

私が10年以上勤務しているアメリカのシリコンバレーのIT企業ですが、どの企業にも世界の多くの国から、良いプログラマーが集まってきます。そのため、他の国から来た異文化の人がコードを読んでも理解できるように綺麗に書かなければなりません。

日本では、他の人にはわからない難しいコードが書ける人が素晴らしいプログラマーだとされる傾向がありますが、シリコンバレーでは、いかに綺麗にわかりやすいコードを書けるかが重要となって来ております。アメリカでは、解雇や転職などの機会も多く、コードは常に誰か新しいメンバーが入って来てもすぐにわかるようにしなければならないため、他の人にわかりにくいコードを書くブログラマーは解雇対象となってしまいます。

まずは、Pythonの基礎を学んで、アプリケーション開発の際には、コードスタイルに気をつけて、Pythonicなコードが書けるように目指しましょう。

皆様の今後のご活躍にお役に立てるようなコースとなれば幸いです。それでは、今後の皆様のご活躍を祈っております。


Screenshots

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

Content

ここから開始しましょう。

はじめに

アメリカ本社のUdemyオフィスに遊びに行ってきました

講義の話すスピードを変更したい場合

Python環境の設定

MacにPythonをインストールする

MacにPycharmをインストールする

WindowsにPythonをインストールする

WindowsにPycharmをインストールをする

Pythonの基本

変数宣言

まずはprintで出力

数値

文字列

文字列のインデックスとスライス

文字のメソッド

文字の代入

f-strings

データー構造

リスト型

リストの操作

リストのメソッド

リストのコピー

リストの使い所

タプル型

タプルのアンパッキング

タプルの使い所

辞書型

辞書型のメソッド

辞書のコピー

辞書の使い所

集合型

集合のメソッド

集合の使い所

制御フローとコード構造

コメント

1行が長くなる時

if文

デバッガーを使って確認してみる

比較演算子と論理演算子

InとNotの使い所

値が入っていない判定をするテクニック

Noneを判定する場合

while文とcontinue文とbreak文

while else文

input関数

for文とbreak文とcontinue文

for else文

range関数

enumerate関数

zip関数

辞書をfor文で処理をする

関数定義

関数の引数と返り値の宣言

位置引数とキーワード引数とデフォルト引数

デフォルト引数で気をつけること

位置引数のタプル化

キーワード引数の辞書化

Docstringsとは

関数内関数

クロージャー

デコレーター

ラムダ

ジェネレーター

リスト内包表記

辞書包括表記

集合内包表記

ジェネレーター内包表記

名前空間とスコープ

例外処理

独自例外の作成

モジュールとパッケージ

コマンドライン引数

Import文とAS

絶対パスと相対パスのImport

アスタリスクのインポートと__init__.pyと__all__の意味

ImportErrorの使い所

setup.pyでパッケージ化して配布する

組み込み関数

標準ライブラリ

サードパーティーのライブラリ

importする際の記述の仕方

__name__と__main__

オブジェクトとクラス

クラスの定義

クラスの初期化とクラス変数

コンストラクタとデストラクタ

クラスの継承

メッソドのオーバーライドとsuperによる親のメソッドの呼び出し

プロパティーを使った属性の設定

クラスを構造体として扱う時の注意点

ダックタイピング

抽象クラス

多重継承

クラス変数

クラスメソッドとスタティックメソッド

特殊メソッド

ファイル操作とシステム

ファイルの作成

withステートメントでファイルをopenする

ファイルの読み込み

seekを使って移動する

書き込み読み込みモード

テンプレート

CSVファイルへの書き込みと読み込み

ファイル操作

tarfileの圧縮展開

zipfileの圧縮展開

tempfile

subprocessでコマンドを実行する

datetime

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

WindowsとMacのコマンド

簡単なアプリケーションを作って見よう

デモアプリケーションの流れを説明したPDFファイル

デモアプリのコードを展開する

サンプルのデモアプリケーションのコード

サンプルコードの設計とフォルダ構造の解説

サンプルコードのViewsとテンプレートの解説

サンプルコードのmodelsとcontrollerの解説

コードスタイル

コードスタイルをチェックするツールの確認

スタイルルール

Pythonの書き方

ドキュメントとPylint

文章のようにPythonを書く

コンフィグとロギング

応用編に行く前に

configparser

yaml

ロギング

ロギング フォーマッタ

ロギング ロガー

ロギング ハンドラー

ロギング フィルタ

ロギング コンフィグ

ロギングの書き方

Email送信

添付ファイルEmail送信

SMTPハンドラーでログをEmail送信

virtualenv

optparse

データーベース

データーベースに関して

MacにHomeBrewとSQLiteをインストールする

WindowsにSQLiteをインストールする

SQLite

MacにMySQLをインストールする

WindowsにMySQLをインストールする

MySQL

SQLAlchemy

DBM

memcached

pickle

MacにMongoDBをインストールする

WindowsにMongoDBをインストールする

MongoDB

Hbase

Macにneo4jをインストールする

Windowsにneo4jをインストールする

neo4j

データーベースのおさらい

WEBとネットワーク

XML

Json

urllib.request

requests

socket通信

socketserverとhttp.serverとwebbrowser

Flask

BeautifulSoupでWEBスクレピング

XML RPC

networkx

テスト

doctest

Unittest

Unittestで例外テスト

Unittestのsetupとteardown

Unittestのスキップ

pytest

pytestで例外テスト

pytestのsetupとteardown

pytestのスキップ

pytestのconftest

pytestのfixture

pytestの独自のfixture

pytest-cov どこまでテストをすればいいのか

noseのwebページの紹介

setuptoolsでtestを実行する

Toxで仮想環境でテストを行う

seleniumでUIの自動テスト

mock

mock.assert

mock.patch

mock.side_effect

mock spec

どこまでmockするか

並列化

マルチスレッドとマルチプロセス

スレッド

スレッドに渡す引数

デーモンスレッド

生存中の Thread オブジェクト全てのリスト

タイマー

スレッドのLockとRLock

セマフォ

キュー

イベント

コンディション

バリア

マルチプロセス

ワーカープロセスのプールで非同期

ワーカープロセスのプールでブロック

ワーカープロセスのプールとマップ

プロセス間通信に関して

パイプ

プロセス間での共有メモリ

マネージャー

別のマシン上で走るプロセス間のネットワーク越しの共有

高水準のインタフェース

暗号化

文字コード

pycryptoの暗号化と復号化

hashlibのハッシュ

インフラ構築自動化

インフラ自動化構築の環境に関して

MacにVagrantとVirtualboxをインストールする

WindowsにVagrantとVirtualboxをインストールをする

Vagrantfileのダウンロード

VagrantfileでVMを立ち上げる

Fabric

Fabricで自動化

Ansibleで自動化

Ansibleのモジュールの作成

ソースコードのダウンロード

Pythonの便利なライブラリやツールや豆知識

IPython

contextlib.contextmanager

contextlib.ContextDecorator

contextlib.suppress

contextlib.redirect_stdout と contextlib.redirect_sterr

contextlib.ExitStack

ioストリーム

collections.ChainMap

collections.defaultdict

collections.Counter

collections.deque

collections.namedtuple

collections.OrderedDictとPython3.6のdict

正規表現 re

正規表現のre.groupとre.compileとre.VERBOSE

正規表現のre.splitの分割とre.compileの置換

正規表現のGreedy

format表記

reprとstr

pprint vs json.dumps

ビット演算

Enum

functools.lru_cacheとmemoize

functools.wraps

functools.partial

グラフィックス

子供向けグラフィックスturtle

turtleで描画してみる

GUIツールキットtkinter

tkinterで計算機のアプリを作ってみる

計算機アプリのソースコード

Mac上でアプリを作成する

Windows上でインストーラーを作成する

kivyで簡単なゲームアプリ開発のご紹介

データ解析

データ解析の概念

Jupyter Notebook

numpy

pandas

matplotlib

scikit-learn

株価のデータ解析と予測

データ解析の章のソースコード

キューイングシステム

キューイングシステムとは

ZeroMQのPushとPull

ZeroMQのPubとSub

MacにRabbitMQをインストールする

WindowsにRabbitMQをインストールする

celeryとは

celeryでタスクを非同期で実行する

非同期処理 asynico

スレッドとマルチプロセスのI/OバウンドとCPUバウンドを理解する

非同期処理とは

ジェネレーターベースのコルチーン

yield from文

コルーチンとネイティブコルーチン

asyncioを使用する場面をイメージする

asyncio.Lock

asyncio.Event

asyncio.Condition

新しいスタイルの変更

asyncio.Semaphore

asyncio.Queue

asyncio.Future

asyncio.call_soonとasyncio.call_later

asyncioのチェーン

サーバークライアントのストリーム通信

ネイティブコルーチンとジェネレーターベースのtypes.coroutine

特殊メソッドの__await__を使ったAwaitable Class

async for文と__anext__

async with文と__aenter__と__aexist__

websocketsのご紹介

blocking関数を並列に実行する場合

asyncio.subprocess

最後に

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



Reviews

Y
Yoshiharu25 October 2020

20世紀末がもうすぐという時期、テキストonlyのBASICやCOBOLを詰め込み教育された経験しか持たない自分は、何を学ぶにも妙に構えるor気負う癖があります。しかしながら、貴講座の導入部分は、そんなものが全く必要なく気楽に自然に入っていくことができました。この先も、ごく自然にいつのまにか知識と技量を習得していけるものと、期待しております。

フジイケイシ24 October 2020

python3の書き方、コードスタイルなど、言語の学習だけでなく、共同開発をする際に役立ちます。 初めてプログラミングを学習される方にとっては難しい内容もありますが、ボリュームが非常に大きいので、pythonを一通り学習するのには最適ではないかと思います。

T
Tabata20 October 2020

カバーしている範囲が非常に広いので、自分に必要と思うセクションを選択して受講することで、Pythonに関係する技術のあらゆる入門として活用できました。私はAnsibleを学びたかったので、Ansible日本語教育コンテンツが少ないなか、とても役に立ちました。

K
Koji7 October 2020

他の方のレビューにもありましたが、この講師の方は大変優秀な方、人間的な魅力さえ感じますが、決定的に足りないのが説明のスキルですね。長すぎる詰め込み式。全然スキル上がらない。 最初の頃はとても良いのですが、おそらくご自身が理解している頭の中の動きを読み上げているにすぎないのではないかと思います。そして、日本人講師にありがちな「まだ説明していない用語や概念を遠慮なく使う」という癖がおありのようだ。 「これはちょっと難しいですが~」などと前置きしているのですが、難しいことをどうすれば理解できるかの、初心者目線の説明も足りていないんです。 本講義は、いきなり「今まではこうしてましたが~こういう風にやります(全然わからない)」と、ひたすら詰め込み式です。生徒は置いてけぼりです。最初は丁寧に説明するのが、徐々に各論に入りこみ、演習が足りない。デコレータなど、この到達時点で到底分かるわけがない。 母国語が日本語であっても、英語のトップ講師のほうが遥かに分かりやすいので、やはり私は英語ベースで学びたいと思います。実際にZTMのAndrei先生の授業を受けたら目から鱗で、PythonもJSも圧倒的に理解が進みました。 クラスの説明一つとっても、簡単な概念から積み重ねて、繰り返していくうちに最終的な理想形に至るように設計されています。「ここは今はなんとなくでOK」と言ったところは100%回収されます。子供のころから人に教わってきた環境が違いすぎるのかもしれませんが。ということで今後英語メインに戻ります。日本人の講義がほとんど全滅の中、この講義に大変期待を寄せていたのですが、残念です。

M
Mitsuaki22 September 2020

いいところ:  丁寧で、内容が充実している。詰め込みすぎの感もある。 良くないところ:  テキストがないので後で見返すことができない。せめて”まとめ”の章をいれて。  メソッドが、全く説明なしにでてくるので、初めての人は面食らうだろうな。  私も、適当に覚えたので、メソッドの説明をしっかり聞きたい。

イシカワアラタ21 September 2020

講座自体は大変満足です(^^ 専門用語の解説がもう少しあると初心者の方はもっと分かりやすいと感じました。 ex)terminal ターミナル ※個人的にはググって自己解決するべきものだと考えていますが、 あえて言うとすればって感じです。

寺澤武志20 September 2020

phtyonに関して、全体を網羅しているのはよいかと思います。 ただ、自分の知識が少ないパートについては、一つ一つの内容が浅く、分かりづらかったです。 これを入門編にして、各パートの応用編が欲しいです。

S
Shin13 September 2020

Python初心者でも分かりやすいように環境構築からPythonの基本的なルールやコーディングを学ばせて頂きました。プログラミング初心者〜中級者にとっては打ってつけの教材なのではないでしょうか。 また、途中で簡単なアプリ演習を挟んだりするなどアウトプットの機会も設けているので頭に残りやすいスタイルになっていて素晴らしいと思いました。 ただ、講義を1から学習するのではなく、演習から始めてみて分からない箇所を動画でピックアップして学習すると効率が良いのではないかと思いました。 現役シリコンバレーエンジニアの貴重なコーディングルールや思考の中を覗けてこの値段とは、かなりコスパの高いUdemy教材でした。大変満足しております。

K
Kikuchi6 September 2020

今回pythonは学んだことがあり、今後綺麗なコードを意識したいと思いこのコースを受講しました。プログラミングがまったくはじめてだと少し何回もみたり、ぐぐったりしないとついていけないかもしれません。他の動画やスクールも学んできましたが、知らなかったことが入っているのでとても勉強になります。

冨山27 August 2020

コース開設時から時間が経過しているからなのか、現在ではツールをインストールする際のサイトのデザインやツールの画面が変わっています。慣れている人ならばそれなりに対処できると思いますが、慣れている人はこのコースを受講しないかも。

ムカイヒロト25 August 2020

自分は別の言語で開発経験があるので、つまづくことはありませんでした。 この動画だけでも、相当pythonが書けるようになるし、 業務レベルの知識を養うことができると思います。 もっと早く出会えていれば、自分がプログラミングの勉強し始めの頃はもっと時間を節約できた気がします。 とても良いコンテンツでした。

K
Kazu25 August 2020

一度聴いたら理解出来る。が、忘れる。が、何度でも見直せる。初期の設定等に関しては繰り返し何度も見て実践することで身に付けることが出来てきた。後半部は関数を覚える必要があるが、これも今後の実践で繰り返せば覚えられるかな。ロートルの素人でもプログラマーになれそうな気がします。

M
Murakami25 January 2020

Pythonは初めてで現段階で最初の部分を受講している。変数などの部分は他の言語に通じることも多く、またわかりやすく解説してくれるので「ついていけない」とはならない。 開発環境を構築することには毎度のことながら苦労する。有料のものをダウンロードしているが、この先も使いたいので無料のIDEの構築もしていただければと思う。

16 January 2020

ちょうどPycharm有料版を使いはじめたところなので分かりやすかった。ただバージョンが違うのか微妙にメニュー階層や構成が違うのと、日本語化しているので頭の中で変換しながら動画を見ている分多少混乱があったかもしれない。

T
Takuya10 January 2020

某オンライン学習サービスと併用で利用しました。テンポの良い説明で、とてもわかりやすいです。他の教材や学習サービスではいまいち理解できなかったところが、動画を見ながらプログラムを動かすことで理解が深まりました。


Coupons

StatusDateDiscount
Expired11/14/202094% OFF


1134722

Udemy ID

3/4/2017

Course created date

11/16/2019

Course Indexed date
Bot
Course Submitted by

Twitter
Telegram
Android PlayStore
Apple Appstore