KEMBAR78
Daftar
Login
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing | PDF
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Kei IWASAKI
PDF, PPTX
6,721 views
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
みんなの Python 勉強会#33 の発表資料です https://startpython.connpass.com/event/73168/
Technology
◦
Read more
15
Save
Share
Embed
Download
Download as PDF, PPTX
1
/ 50
2
/ 50
3
/ 50
4
/ 50
5
/ 50
6
/ 50
7
/ 50
8
/ 50
9
/ 50
10
/ 50
11
/ 50
12
/ 50
13
/ 50
14
/ 50
15
/ 50
16
/ 50
17
/ 50
18
/ 50
19
/ 50
20
/ 50
21
/ 50
22
/ 50
23
/ 50
24
/ 50
25
/ 50
26
/ 50
27
/ 50
28
/ 50
29
/ 50
30
/ 50
31
/ 50
32
/ 50
33
/ 50
34
/ 50
35
/ 50
36
/ 50
37
/ 50
38
/ 50
39
/ 50
40
/ 50
41
/ 50
42
/ 50
43
/ 50
44
/ 50
45
/ 50
46
/ 50
47
/ 50
48
/ 50
49
/ 50
50
/ 50
More Related Content
PDF
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
by
Kei IWASAKI
PDF
OSSと私
by
Hattori Hideo
PDF
Python入門 コードリーディング - PyConJP2016
by
Shinya Okano
PDF
Pyconjp2016 pyftplib
by
Shinya Okano
PPTX
Pynyumon03 LT
by
drillan
PDF
PyCon JP 2016 ビギナーセッション
by
Tetsuya Morimoto
PDF
Python札幌 2012/06/17
by
Shinya Okano
PDF
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
by
Yusuke Kon
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
by
Kei IWASAKI
OSSと私
by
Hattori Hideo
Python入門 コードリーディング - PyConJP2016
by
Shinya Okano
Pyconjp2016 pyftplib
by
Shinya Okano
Pynyumon03 LT
by
drillan
PyCon JP 2016 ビギナーセッション
by
Tetsuya Morimoto
Python札幌 2012/06/17
by
Shinya Okano
RubyエンジニアがPythonをdisるためにPythonを勉強してみた
by
Yusuke Kon
What's hot
PPTX
Python エンジニアの作り方 2011.08 #pyconjp
by
Takeshi Komiya
PDF
次世代言語 Python による PyPy を使った次世代の処理系開発
by
shoma h
PDF
サードパーティパッケージの歩き方
by
Takesxi Sximada
PDF
本気でPythonで宛名書きした話
by
Satoshi Yamada
PDF
10分でわかるPythonの開発環境
by
Hisao Soyama
PDF
Python学習奮闘記#07 webapp
by
Takeshi Akutsu
PPTX
勉強会 Cvml python基礎
by
真哉 杉野
PPTX
Pythonスタートアップ勉強会201109 python入門
by
Takayuki Shimizukawa
PPTX
Stapy#17LT
by
drillan
ODP
stapy#23 LT
by
NaoY-2501
PPTX
Bottle使ってPython学習一緒にはじめませんか?
by
Tatsuya Shinozuka
PDF
Pythonによるwebアプリケーション入門 - Django編-
by
Hironori Sekine
PDF
Python界隈の翻訳プロジェクト
by
Tetsuya Morimoto
PDF
Python & PyConJP 2014 Report
by
gree_tech
PPTX
Pyladies tokyo 2nd anniversary LT
by
drillan
PPTX
私の好きなPython構文 vol.2 #nds46
by
civicpg
PDF
Javascriptを書きたくないヒ トのためのPythonScript
by
Kazufumi Ohkawa
PDF
S01 t1 tsuji_pylearn_ut_01
by
Takeshi Akutsu
PDF
WindowsでPython
by
drillan
PDF
LT: 今日帰ってすぐに始められるPython #nds45
by
civic Sasaki
Python エンジニアの作り方 2011.08 #pyconjp
by
Takeshi Komiya
次世代言語 Python による PyPy を使った次世代の処理系開発
by
shoma h
サードパーティパッケージの歩き方
by
Takesxi Sximada
本気でPythonで宛名書きした話
by
Satoshi Yamada
10分でわかるPythonの開発環境
by
Hisao Soyama
Python学習奮闘記#07 webapp
by
Takeshi Akutsu
勉強会 Cvml python基礎
by
真哉 杉野
Pythonスタートアップ勉強会201109 python入門
by
Takayuki Shimizukawa
Stapy#17LT
by
drillan
stapy#23 LT
by
NaoY-2501
Bottle使ってPython学習一緒にはじめませんか?
by
Tatsuya Shinozuka
Pythonによるwebアプリケーション入門 - Django編-
by
Hironori Sekine
Python界隈の翻訳プロジェクト
by
Tetsuya Morimoto
Python & PyConJP 2014 Report
by
gree_tech
Pyladies tokyo 2nd anniversary LT
by
drillan
私の好きなPython構文 vol.2 #nds46
by
civicpg
Javascriptを書きたくないヒ トのためのPythonScript
by
Kazufumi Ohkawa
S01 t1 tsuji_pylearn_ut_01
by
Takeshi Akutsu
WindowsでPython
by
drillan
LT: 今日帰ってすぐに始められるPython #nds45
by
civic Sasaki
Similar to 入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
PDF
S03 t1 python_learningdiary#3
by
Takeshi Akutsu
KEY
ひのきのぼうだけで全クリ目指す
by
AromaBlack
PDF
Flask勉強会その1
by
Masato Kawamura
PDF
使えるDjango1.4
by
hirokiky
PDF
明日からはじめるネットワーク運用自動化
by
Taiji Tsuchiya
PDF
エキ Py 読書会02 2010/9/7
by
Tetsuya Morimoto
PDF
Git pyfes201207-presen
by
Kouhei Maeda
PDF
はじめてのPython
by
Katsumi Honda
PDF
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう
by
Shigeo Ueda
PPT
Python入門からpython twitter利用のハンズオン
by
Yukitaka Uchikoshi
PDF
エキ Py 読書会02 2章後半
by
Tetsuya Morimoto
PDF
Python東海GAEやってみた
by
Mori Shingo
PDF
Nseg15 一般的じゃないpython入門
by
hATrayflood
PDF
Scala 初めての人が Heroku で Web アプリを公開するまで
by
Hideaki Miyake
PDF
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
by
Takanori Suzuki
PDF
My pyhack 1301
by
hirokiky
PDF
2日間Fabricを触った俺が 色々解説してみる
by
airtoxin Ishii
PDF
OpenStack + Common Lisp
by
irix_jp
PDF
Useful Django 1.4
by
hirokiky
PPTX
20190809
by
iPride Co., Ltd.
S03 t1 python_learningdiary#3
by
Takeshi Akutsu
ひのきのぼうだけで全クリ目指す
by
AromaBlack
Flask勉強会その1
by
Masato Kawamura
使えるDjango1.4
by
hirokiky
明日からはじめるネットワーク運用自動化
by
Taiji Tsuchiya
エキ Py 読書会02 2010/9/7
by
Tetsuya Morimoto
Git pyfes201207-presen
by
Kouhei Maeda
はじめてのPython
by
Katsumi Honda
SlackのIncomingWebhooksとOutgoingWebhooksを使って電子工作と連携させてみよう
by
Shigeo Ueda
Python入門からpython twitter利用のハンズオン
by
Yukitaka Uchikoshi
エキ Py 読書会02 2章後半
by
Tetsuya Morimoto
Python東海GAEやってみた
by
Mori Shingo
Nseg15 一般的じゃないpython入門
by
hATrayflood
Scala 初めての人が Heroku で Web アプリを公開するまで
by
Hideaki Miyake
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
by
Takanori Suzuki
My pyhack 1301
by
hirokiky
2日間Fabricを触った俺が 色々解説してみる
by
airtoxin Ishii
OpenStack + Common Lisp
by
irix_jp
Useful Django 1.4
by
hirokiky
20190809
by
iPride Co., Ltd.
More from Kei IWASAKI
PDF
コロナ渦とキャリアの話 / my carrier and covid-19
by
Kei IWASAKI
PDF
Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24
by
Kei IWASAKI
PDF
Elasticbeanstalk で Ansible を使っている話
by
Kei IWASAKI
PDF
Pelican の紹介 / World Plone Day 2017 Tokyo
by
Kei IWASAKI
PDF
3分でサーバオペレーションコマンドを作る技術
by
Kei IWASAKI
PDF
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
by
Kei IWASAKI
PDF
Vagrant+virtualboxを使ってみよう
by
Kei IWASAKI
PDF
障害発生時に抑えておきたい基礎知識
by
Kei IWASAKI
PDF
監視のススメ
by
Kei IWASAKI
コロナ渦とキャリアの話 / my carrier and covid-19
by
Kei IWASAKI
Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24
by
Kei IWASAKI
Elasticbeanstalk で Ansible を使っている話
by
Kei IWASAKI
Pelican の紹介 / World Plone Day 2017 Tokyo
by
Kei IWASAKI
3分でサーバオペレーションコマンドを作る技術
by
Kei IWASAKI
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
by
Kei IWASAKI
Vagrant+virtualboxを使ってみよう
by
Kei IWASAKI
障害発生時に抑えておきたい基礎知識
by
Kei IWASAKI
監視のススメ
by
Kei IWASAKI
Recently uploaded
PPTX
「Drupal SDCについて紹介」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
PDF
FOSS4G Hokkaido - QFieldをランナーのために活用した - QField for runners
by
Raymond Lay
PDF
「似ているようで微妙に違う言葉」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
PDF
FOSS4G Japan 2024 ハザードマップゲームの作り方 Hazard Map Game QGIS Plugin
by
Raymond Lay
PDF
DX人材育成 サービスデザインで実現する「巻き込み力」の育て方 by Graat
by
Graat(グラーツ)
PDF
技育祭2025秋 サボろうとする生成AIの傾向と対策 登壇資料(フューチャー渋川)
by
Yoshiki Shibukawa
PPTX
FOSS4G Japan 2025 - QGISでスムーズに地図を比較 - QMapCompareプラグインの紹介
by
Raymond Lay
「Drupal SDCについて紹介」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
FOSS4G Hokkaido - QFieldをランナーのために活用した - QField for runners
by
Raymond Lay
「似ているようで微妙に違う言葉」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
FOSS4G Japan 2024 ハザードマップゲームの作り方 Hazard Map Game QGIS Plugin
by
Raymond Lay
DX人材育成 サービスデザインで実現する「巻き込み力」の育て方 by Graat
by
Graat(グラーツ)
技育祭2025秋 サボろうとする生成AIの傾向と対策 登壇資料(フューチャー渋川)
by
Yoshiki Shibukawa
FOSS4G Japan 2025 - QGISでスムーズに地図を比較 - QMapCompareプラグインの紹介
by
Raymond Lay
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
1.
入門書を読みおわったら何しよう? ~Python と WebAPI
の使い方から学ぶ次の一歩~ 2018.03.07 みんなのPython勉強会#33 Kei IWASAKI at SQUEEZE Inc.
2.
お前誰よ Kei IWASAKI Twitter: @laugh_k,
Github: @laughk 株式会社SQUEEZE所属 スラスラわかるPython(翔泳社) という本の共著者の一人 最近は Django, AngularJS でWeb開発をやりながらもインフラ周りや それ以外の改善を模索したりしてます。 2
3.
CM Python 入門者向けの本 スラスラわかる Python
発売中! おかげさまで1月に2刷が出ました! 3
4.
今日話すこと 1. 入門書を読み終わった後の次の課題の見つけ方 2. 最低限の知識で自分のためのコードの書き始め方 ※
今回は Python の入門書ということが前提です! 4
5.
早速ですが 入門書っていいですよね!
6.
入門書のいいところ 初学者のでも学ぶべき内容を体系的に学習することができる 特にプログラミングそのものが初心者の人にとっては心強い存在 6
7.
じゃあ その入門書おわったらどうしよう?
8.
道は色々ある 1. 入門書の内容を自分でカスタムしてみる 2. 次のレベルの書籍を手にとって見る 3.
自分にとって実践的なコードを書いてみる など 8
9.
入門書の内容を自分でカスタムしてみる 書籍の中で登場したコードを自分なりにアレンジしてみる方法 スクレイピングなら対象のサイトを変更してみる 簡単なゲームプログラムならルールを追加してみる など 9
10.
次のレベルの書籍を手にとってみる 入門者じゃないひと対象の本を読んで見る方法 例えば 入門本 - 次のレベルの本 スラスラわかるPython ➔ Pythonエンジニアファーストブック 10
11.
道は色々ある 1. 入門書の内容を自分でカスタムしてみる 2. 次のレベルの書籍を手にとって見る 3.
自分にとって実践的なコードを書いてみる など 11
12.
自分にとって実践的なコードを書いてみる
13.
今日紹介するのは 「自分にとって実践的なコードを書いてみる」 というアプローチ
14.
「自分にとって実践的なコードを書いてみる」? 例えばこんなこと 微妙にコピペが面倒なCSVファイルをつくるスクリプト 気になる人の1日の Tweet 情報をとってくるスクリプト 自分がアサインされているチケット一覧をSlack通知する 今日がゴミを出す日かどうか教えてくれるbotをつくる 14
15.
最初はこじつけでいいから 自分が楽をしたいことを見つけるのがいい 「それ〇〇でできるよ?」は一旦置いておく 「それ結構難しいのでは?」もあまり気にしない 業務・プライベート問わず、よく使うWebサービスがあるとネタに しやすいかも 15
16.
今日考えてみる例 "Github の Pull
Request 一覧を Slack で通知してみる"
17.
Githubの Pull Request
一覧をSlackで通知してみる 「ブラウザでGithubのPullRequest一覧を見るのが面倒」 という悩みを解消するための課題 17
18.
やりたいことは思いついた どうやってコードを書いていこう?
19.
A. やりたいことの登場人物と その扱い方を整理しよう
20.
やりたいことの登場人物を整理しよう 今回の例だと以下の登場人物がいる Github Slack これらを Python でどう使うのかを確認する 20
21.
プログラミングでWebサービスを扱う方法
22.
プログラミングでWebサービスを扱う方法 基本的には以下の2つのどちらか Web API* を使う スクレイピングする *
すごく雑に言えば「ネットワーク越しに使える関数のようなもの」 22
23.
まずは Web API
が使えないかを確認する API と言ってもいろいろ。簡単に使えるものもある Webサービスは API が提供されていることも多い 今回のパターンも API が使える GitHub API v3 | GitHub Developer Guide Slack Web API | Slack 23
24.
じゃあスクレイピングは? スクレイピングはAPIと比べて思い通りの情報を取得するのが大変 「Webサイトを扱うならばスクレイピングだな!」の前にAPIがある かは調べよう 場合によってはここで諦めて別の課題を探すのも一つの選択 スクレイピングはAPIが提供されていないときの最終手段 24
25.
登場人物たちの情報 APIが提供されていることはわかった Github GitHub API v3
| GitHub Developer Guide ⇐これ Slack Slack Web API | Slack ⇐これ 25
26.
対象のWebサービスの APIを使えばよさそうだとわかった!
27.
ところで API ってどうやって使うの...?
28.
A. ここで サードパーティーライブラリの出番
29.
PyPI のライブラリを活用しよう 雑に言えば pip
install ... で追加できるライブラリのこと PyPI - the Python Package Index に公開されているサードパーティー のライブラリを簡単に利用できる 29
30.
PyPI のライブラリを活用しよう API が提供されているサービスの場合、PyPIに専用ライブラリが公 開されていことが多い 便利に扱うことができるライブラリがあるので活用しよう PyGithub
1.37 : Python Package Index slackapi/python-slackclient: Slack Developer Kit for Python slackpy 2.2.2 : Python Package Index 30
31.
ところでこのライブラリって(ry
32.
A. ライブラリのドキュメントを読みましょう
33.
A. ライブラリのドキュメントを読みましょう ... とはいえ隅々まで目を通す必要はないです
34.
ライブラリを雑に動かそう コードを書く前にインタラクティブシェルでざっと動作を確認しておく tokenなどの必要な情報もこのタイミングで取得しておく >>> from github
import Github >>> github_token = '********************************' >>> gh = Github(github_token) >>> repo = gh.get_repo('laughk/py3-django-tutorial') >>> repos = repo.get_pulls(state='close') >>> for r in repos: ... print(r) ... PullRequest(title="[wip] 2016-05-24の分", number=7) PullRequest(title="2016-05-17やった分", number=6) # -- -- snip -- -- 34
35.
ライブラリを雑に動かそう コードを書く前にインタラクティブシェルでざっと動作を確認しておく 必要なtoken情報などもこのタイミングで取得しておく >>> import slackpy >>>
WEBHOOK = 'https://hooks.slack.com/services/******/***********' >>> slack = slackpy.SlackLogger(WEBHOOK) >>> slack.info('hogehoge') <Response [200]> >>> 35
36.
更に細かな部分は ライブラリのドキュメントを読みましょう
37.
登場人物たちの情報 APIが提供されていることはわかった。APIの使い方もわかってきた Github GitHub API v3
| GitHub Developer Guide PyGithub 1.37 : Python Package Index ⇐これ Slack Slack Web API | Slack slackpy 2.2.2 : Python Package Index ⇐これ 37
38.
そろそろ処理の流れを大まかに整理しよう 今回は大体以下のような感じ 1. Github から
PR の情報を取得する (PyGithubを使ってやる) 2. 取得した PR の情報を処理しやすく形成する (普通にコードを書く) 3. 形成したデータを Slack へ投げる (Slackpyを使う) 38
39.
ここまで来たら Try&Error でひたすらコードを書く
40.
Try&Error でひたすらコードを書く インタラクティブシェルで小さく試行錯誤しながら徐々に広げてい くとやりやすい こまめに print()
して動作を確認していくのもお手軽でオススメ 40
41.
とにかく書いてみるを大切に 慣れないうちはまずコードを書くことに集中してOK コードがきれいか汚いかをあまり気にしない テストコードとかも無理に考えない 41
42.
サンプルコード
43.
import slackpy from github
import Github GITHUB_TOKEN = '********************' SLACK_WEBHOOK = 'https://hooks.slack.com/services/******/*******/********' GITHUB_REPOSITORY = 'laughk/py3-django-tutorial' gh = Github(GITHUB_TOKEN) repository = gh.get_repo(GITHUB_REPOSITORY) pull_request_info = [] for pr in repository.get_pulls(state='all'): pull_request_info.append({'title': pr.title, 'url': pr.url}) slack_messages = "" for info in pull_request_info: slack_messages += '{0} {1}n'.format(info["title"], info["url"]) slack = slackpy.SlackLogger(SLACK_WEBHOOK) slack.info(slack_messages)
44.
# Github から
Pull Request 情報を取得 gh = Github(GITHUB_TOKEN) repository = gh.get_repo(GITHUB_REPOSITORY) pull_request_info = [] for pr in repository.get_pulls(state='all'): pull_request_info.append({'title': pr.title, 'url': pr.url}) # Github から取得した情報の形成 slack_messages = "" for info in pull_request_info: slack_messages += '{0} {1}n'.format(info["title"], info["url"]) # Slack へ通知 slack = slackpy.SlackLogger(SLACK_WEBHOOK) slack.info(slack_messages)
45.
保存して実行してみるまでの流れ github-pr-list-to-slack.py に保存して以下を実行してみると以下の通り ## PyPI
ライブラリをインストール $ pip install slackpy PyGithub ## サンプルコードの内容を書く (エディタはお好みで) $ nvim github-pr-list-to-slack.py ## 実行 $ python github-pr-list-to-slack.py 45
46.
こんな感じで通知される! 46
47.
まとめ
48.
自分にとって実践的なコードを書いてみるコツ 普段自分がやっていることをネタにするとイメージしやすい コードを書く前に登場人物を整理してプログラムにやらせることの イメージを明確にしよう Python は PyPI
に便利なライブラリが多く存在する。無理せず頼ろ う! コードを書き始めたら細かいことを気にせず思いのままコードを書 いてみよう! 48
49.
さいごに 入門書の基礎知識でもできることは結構ある 自分にとって身近なところから課題を見つけて行動してみると覚え たことの「使い方」を実体験として理解できる 次の書籍も良いけど、少ない知識で実際に手を動かすのもオススメ 49
50.
Let's Enjoy Next
Step!
Download