s03 t1 python_learningdiary#3

34
業務のためのPython勉強会 #3 Aug. 10, 2015 阿久津 剛史 1 私のPython学習奮闘記#3 〜トラブルシューティング編〜

Upload: takeshi-akutsu

Post on 17-Aug-2015

189 views

Category:

Software


0 download

TRANSCRIPT

業務のためのPython勉強会  #3

Aug.  10,  2015  阿久津 剛史  

1

私のPython学習奮闘記#3   〜トラブルシューティング編〜

自己紹介

•  阿久津 剛史    Twi6er  @akucchan_world  

•  某メーカー勤務  – 元光通信エンジニア  – 現マーケティング担当  

•  Python経験1年弱  – 実務で使うために勉強中

2

Pythonでやりたいこと

•  データ分析  •  Webアプリケーション  •  科学技術計算  •  ゲーム制作  •  電子工作(Raspberry  PI)          etc.  

3

Pythonの生態系

4

機械学習  

データ分析 インタラクティブツール

科学計算 グラフ描画 数値計算

Webフレームワーク

ディープラーニング  

標準ライブラリ  

高機能グラフ

初心者の悩み

Q1.  どこから始めたらよいか、わからない    Q2.  トラブルの解決策がわからない  

Q3.  モチベーションが続かない

5

初心者の悩み

Q1.  どこから始めたらよいか、わからない    Q2.  トラブルの解決策がわからない  

Q3.  モチベーションが続かない

6

Python学習歴

7

2014/7 2014/10 2015/1 2015/4 2015/7

Pythonスタートブック

中断

MIT  6.00.2x

MIT  6.00.1x

Start  Python  Club

基本構文を覚えよう  

辻真吾  「Pythonスタートブック」    •  Pythonのインストール  •  基本構文  •  ファイルの入出力  •  Class(クラス)の基本  •  カメを動かすゲーム  

8

MITx:  6.00.1x  ”IntroducQon  to  Computer  Science  and  Programming  using  Python”

9

•  Pythonを使ったComputer  Scienceの授業  •  8週間(2ヶ月)のコース、オンラインでスコア評価  •  Pythonのインストールから基本構文、オブジェクト指向プ

ログラミングまでをカバー。  

10

読める! 読めるぞ!!

開発環境を作ろう!

Pythonプログラミングの編集と実行をする環境を整える  

11

統合型 •  IDE  •  オールインワン  •  インストーラ

例:  IDLE,  Eclipse,  Canopy,  PyCharm,  PyDev,  etc.  

分離型 •  エディタ(編集)  •  コンソール(実行)

エディタ例:  Sublime  Text,  Text  Wrangler,  Vim,  etc.  

Canopy

12

•  設定が簡単 •  使いやすいGUI  

•  3.x非対応

PyCharm

13

•  豊富な機能 •  プロユースにもOK  

•  初心者に   やさしくない?

Editor  x  Console

14

エディタ(Sublime  Text  3)   コンソール  

•  シンプル  •  小回り良し  

•  シェルスクリプト  •  パッケージ管理

Q1.  学習のてはじめ

•  基本構文を覚える  – 教科書を一通りやってみる  – オンラインコースの利用もあり  

•  開発環境をつくる  –  IDEを使うと便利  – Editor  x  Consoleは小回り効く  – 自分好みの環境を整える  

15

初心者の悩み

Q1.  どこから始めたらよいか、わからない    Q2.  トラブルの解決策がわからない  

Q3.  モチベーションが続かない

16

エラー発生!

17

Google先生に聞こう

18 警告文をコピペして検索

Stack  Over  Flow

19

A.  Python  3.xでは “import  h6p.server”

ほとんどのケースは先例がある

DocumentaQonを読もう

•  必要な部分だけで十分  •  試しに実行   20

1.  関係するパッケージのDocumentaQonサイトへGo

2.  知らないコマンドを調べる  

知っている人に聞こう

•  先生になってくれる人を探す  – 職場・学校の先生・同僚・友人  – 勉強会で知り合った人  

•  コミュニケーション手段  – Face  to  Face  – メール  – メッセンジャーアプリ

21

22 h6p://slack.com

•  メッセンジャーアプリ  •  ファイル、プログラムの受け渡しが可能  

ある日のSlackスレッド

23

Q2.  トラブルの解決策

• Webを活用する  – Google先生  – Stackoverflow  – 各種DocumentaQon  

•  師や仲間を得る  – もっとも実用的な手段  – 悩みを共有できる  – コミュニケーション手段もいろいろ  

24

初心者の悩み

Q1.  どこから始めたらよいか、わからない    Q2.  トラブルの解決策がわからない  

Q3.  モチベーションが続かない

25

まずいパターン

26

プログラミングやるぞ!  

ダラダラ、ズルズル・・・  

全然、できませ〜ん・・・orz

あれ、なんかわからない・・・  

どうしても作りたい物があるか?

27

ブログ:  “Fumi’2  Travelog” •  2012年5月3日記事  •  SXSW2012におけるWestheimer氏の講演の紹介

「コードの書き方を勉強して、自分が作りたいソフトウェアを作れるようになろう」  

•  コードを書けるようになる人とそうでない人の違いは、 「コードの書き方を勉強したか勉強しなかったか」ではなく、「どうしても作りたい物があるかどうか」。

山崎富美さん(Google)  @Fumi  

h6p://fumit.blogspot.jp/2012/05/learn-­‐to-­‐code-­‐python-­‐gtuggirls.html

28 h6p://blog.sitedart.net/bid/306384/Business-­‐MoQvaQon

Udacity    “Programming  FoundaQons  with  Python”

29 h6ps://www.udacity.com/course/programming-­‐foundaQons-­‐with-­‐python-­‐-­‐ud036

•  Pythonの超入門コース  •  陽気なおにいさんが楽しく教えてくれる  

Webアプリの制作

30

Fresh  Tomatoes  Movie  Trailers

31

Learning  by  Doing

最近の課題  •  「実践機械学習システム」  •  scikit-­‐learn  

32

手を動かす!  •  できないと辛い  •  できると楽しい

Q3.  モチベーションの維持

•  自分が作りたいものをイメージ  – Webアプリ、ゲーム、工作系、etc.  

•  Learning  by  Doing  – トラブルはつきもの  – 楽しみながら学ぶ  

•  師や仲間を得る  – お互いに助け合う  

33

まとめ

•  Q1. 学習のてはじめ  – 基本構文  – 開発環境の整備  

•  Q2. トラブル解決策  – Webの活用  – 先生・仲間の獲得  

•  Q3. モチベーションの維持  – 作るもののイメージ  – Learning  by  Doing  

34