SlideShare a Scribd company logo
Django×APIで遊ぶ
小林泰
タイムライン
0. 自己紹介
1.APIとは?
2.APIの(具体的)使い方例
3.データ形式
4. Pythonのターミナル上で動かしてみる
5. Djangoにのせてみる
1.APIとは?
APIの定義
Application programming Interface
直訳:アプリケーションをプログラムする時の接続
APIがなければ
Hello world!と表示されるためのプログラムでも
①Hello worldという文字のドットデータを作る
②そのデータをバッファに格納するプログラムを作る
③格納されたデータが正しく出力されるようにグラフィックカー
ドに対するプログラムも作る

めんどくさい。
WEB API
今回扱うのはWEB APIと呼ばれるもの

「Httpリクエストを送ったら、データを返してくれるようなもの」
ためしに。。。。
今日使うAPIをブラウザーで叩いてみよう
参照ホームページ http://zip.cgis.biz
How to Use
How to use
http://zip.cgis.biz/xml/zip.php?zn=郵便番号
というページをリクエストすると住所のデータが
xml形式で返ってくる
Cf:http://zip.cgis.biz/csv/zip.php?zn=郵便番号
TRY1
①ブラウザーを開く
TRY2
http://zip.cgis.biz/xml/zip.php?zn=郵便番号で検索
TRY3
結果が返される
結果xml形式
<ZIP_result>
<result name="ZipSearchXML"/>
<result version="1.01"/>
<result request_url="http%3A%2F%2Fzip.cgis.biz%2Fxml%2Fzip.php%3Fzn%3D1690075"/>
<result request_zip_num="1690075"/>
<result request_zip_version="none"/>
<result result_code="1"/>
<result result_zip_num="1690075"/>
<result result_zip_version="0"/>
<result result_values_count="1"/>
<ADDRESS_value>
<value state_kana="トウキョウト"/>
<value city_kana="シンジュクク"/>
<value address_kana="タカダノババ"/>
<value company_kana="none"/>
<value state="東京都"/>
<value city="新宿区"/>
<value address="高田馬場"/>
<value company="none"/>
</ADDRESS_value>
</ZIP_result>
csvの方もやってみよう
http://zip.cgis.biz/csv/zip.php?zn=郵便番号
結果csv形式
"ZipSearchXML","1.01","http://zip.cgis.biz/csv/zi
p.php?zn=1690075","1690075","none","1","169
0075","0","1"
"トウキョウト","シンジュクク","タカダノババ","none","東京
都","新宿区","高田馬場","none"
WEB API
今回扱うのはWEB APIと呼ばれるもの
「Httpリクエストを送ったら、データを返してくれるようなもの」

例)http://zip.cgis.biz/csv/zip.php?zn=1690075にアクセス
☞住所がcsv形式で得られる!!
2.Examples of APIs
Facebook api

WEB API例
WEB API例
Twitter api
twitterAPIを使っている例
3.得られるデータ
得られるデータ
xml
csv
json
Exelシート
等が得られる
xml
Extensible Markup Language
タグを用いて論理構造などを表現
<要素名 属性="値">内容</要素名>
Xml例:さっきのやつ
<ZIP_result>
<result name="ZipSearchXML"/>
<result version="1.01"/>
<result request_url="http%3A%2F%2Fzip.cgis.biz%2Fxml%2Fzip.php%3Fzn%3D1690075"/>
<result request_zip_num="1690075"/>
<result request_zip_version="none"/>
<result result_code="1"/>
<result result_zip_num="1690075"/>
<result result_zip_version="0"/>
<result result_values_count="1"/>
<ADDRESS_value>
<value state_kana="トウキョウト"/>
<value city_kana="シンジュクク"/>
<value address_kana="タカダノババ"/>
<value company_kana="none"/>
<value state="東京都"/>
<value city="新宿区"/>
<value address="高田馬場"/>
<value company="none"/>
</ADDRESS_value>
</ZIP_result>
csv
Comma-separated values
字義通り、カンマで値を区切る形式

例:さっきのやつ
"トウキョウト","シンジュクク","タカダノババ","none","東京
都","新宿区","高田馬場"
json
JavaScript Object Notation
Javascriptのオブジェクト記述をベースにしている

{"name": "John Smith", "age": 33}
☞pythonの辞書形式にかなり近い
Json を返してくれるAPIの例
http://www.ekidata.jp/api/api_line.php
加工
データそのままでは使えないので、それを切り
出す操作が必要になる。
→それを行うためのモジュールがある
Xmlの場合
・Element Tree (python標準装備)
・xml.dom.minidom
・lxml
・Beautifulsoup
・xml.parsers.expat
ネットにいっぱい落ちています。
Element Tree
Xmlデータそのままでは使えないので、python
で使えるように変更する必要がある。
Element型という形
例:
import xml.etree.ElementTree as ET
data = ET.fromstring (response.read())
Practice:element tree
<window width="1920">
<title font="large"
color="red">sample</title>
<buttonbox>
<button>OK</button>
<button>Cancel</button>
</buttonbox>
</window>
Step1:文字列から
String = <window width="1920”><title
font="large"
color="red">sample</title><buttonbox><button
>OK</button>
<button>Cancel</button></buttonbox></windo
w>
elem = fromstring(String)
Step1:ファイルから
data = parse(“sample.xml”)
elem = data.getroot()
elem ←この中にデータを格納し
た!!
取り出してみよう
tag名
<window width="1920">
<title font="large"
color="red">sample</title>
<buttonbox>
<button>OK</button>
<button>Cancel</button>
</buttonbox>
</window>
attribute
<window width="1920">
<title font="large"
color="red">sample</title>
<buttonbox>
<button>OK</button>
<button>Cancel</button>
</buttonbox>
</window>
Attributeのvalue
<window width="1920">
<title font="large"
color="red">sample</title>
<buttonbox>
<button>OK</button>
<button>Cancel</button>
</buttonbox>
</window>
value
<window width="1920">
<title font="large"
color="red">sample</title>
<buttonbox>
<button>OK</button>
<button>Cancel</button>
</buttonbox>
</window>
Tagの名前の取り出し
print elem.tag
Result:window
Attributeを指定してvalue取得
print elem.get(“width”)
Result:1920
Attribute名のリスト取得
print elem.keys()
Result:[‘width’]
どっちも欲しい!!
print elem.items()
Result:[(‘width’,’1920’)]
条件にマッチする要素を返す
for e in elem.findall(“.//button”):
print e.tag
Result:
button
button
全部ほしい
for e in elem.getiterator():
print e.tag
Result:
window
title
buttonbox
button
button
特定のものだけ欲しい
for in elem.getiterator(“button”):
print e.tag
Result:
button
button
csv
csv (という標準装備のモジュールがある)
例:readerさえ使えればなんとかなる
list =[]
f = csv.reader(FILE)
for row in f:
list.append(row)
print list
json
json
(標準装備)
Simplejson
例
>>> import json
>>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
[u'foo', {u'bar': [u'baz', None, 1.0, 2]}]
>>> json.loads('""foobar"')
u'"foox08ar’
Practice(変換だけですが)
{'Python':'python.org’, 'SearchEngine':('gogle.co.
jp','yahoo.co.jp')}
これをデコードして辞書型に変換しましょう。
デコードしたものからkeyごとに取り出せるかも
見てみましょう
そのまえにencodeしてみる
import json
data = さっきの
encoded = json.dumps(data)
Print type(encoded)
Decodeしてみよう
decoded = json.loads(encoded)
print decoded
print type(decoded)
取り出し
print decoded[‘Python’]
print decoded[‘SearchEngine’]
3.ターミナルで動かす
郵便番号プログラム
さっきの郵便番号から住所を得るAPIを使うプロ
グラムを書いて、結果を表示してみましょう。
例題1:データを得てそのまま表示
手順:
①アクセスするurl文字列を作成
②urllib2モジュールで、作ったurl文字列を使
用して、httpレスポンスを得る
③得たレスポンスをprintで表示
①アクセスするurlを作る
ヒント:
・inputを使う
・固定部分
url = “http://zip.cgis.biz/xml/zip.php?zn=“
追加する部分(郵便番号)=input
url = url + 郵便番号
※型はstring
②urllib2でレスポンスを得る
ヒント:
レスポンスオブジェクトは
response = urllib2.urlopen(url)
で得られます
③レスポンスを表示
ヒント:
オブジェクト
print responseでok
例題1:解答例
#!/usr/bin/env python
# -*- coding: utf-8 -*import urllib2
import xml.etree.ElementTree as ET
if __name__=='__main__':
num = input('address number?')
url = 'http://zip.cgis.biz/xml/zip.php?zn='
address = str(num)
response = urllib2.urlopen(url+address)
data = response.read()
print data
例題2:加工して表示
得たデータを
都道府県 値
市町村 値
住所 値
という形に表示しよう。
手順
①responseオブジェクトを加工可能な形に変換
→element.treeを使う
②変換したものをpython辞書型に落とし込む
③それを表示
①responseオブジェクトを加工
ヒント
まずはパースすること→elementtree型にする
参考:
http://docs.python.jp/2/library/xml.etree.eleme
nttree.html
あとは先ほどのスライド
②python辞書型に変換
ヒント
今回の郵便番号APIはvalueでなくてattribute
として結果を返している
<value state="東京都"/>
赤字が欲しい!! elem.items ???
③表示
ヒント
辞書をプリントするので、キーを指定してプリントすればok
解答例前半
#!/usr/bin/env python
# -*- coding: utf-8 -*import sys
import urllib2
from xml.etree.ElementTree import *
import xml.etree.ElementTree as ET
def api(a):
url = 'http://zip.cgis.biz/xml/zip.php?zn='
address = str(a)
response = urllib2.urlopen(url+address)
return response
解答例後半
if __name__=='__main__':
num = input('address number?')
response = api(num)
data = response.read()
root = ET.fromstring(data)
data = {}
for value in root.iter('value'):
for k,v in value.attrib.items():
#print k , v
nome = k
basho = v
data.update({nome:basho})
<ZIP_result>
<result name="ZipSearchXML"/>
<result version="1.01"/>
<result request_url="http%3A%2F%2Fzip.cgis.biz%2Fxml%2Fzip.php%3Fzn%3D1690075"/>
<result request_zip_num="1690075"/>
<result request_zip_version="none"/>
<result result_code="1"/>
<result result_zip_num="1690075"/>
<result result_zip_version="0"/>
<result result_values_count="1"/>
<ADDRESS_value>
<value state_kana="トウキョウト"/>
<value city_kana="シンジュクク"/>
<value address_kana="タカダノババ"/>
<value company_kana="none"/>
<value state="東京都"/>
<value city="新宿区"/>
<value address="高田馬場"/>
<value company="none"/>
</ADDRESS_value>
</ZIP_result>
解答例最後
state = data['state']
city = data['city']
address = data['address']
print state
print city
print address
4.Djangoで動かす
Django復習
https://www.djangoproject.com
Djangoとは
『python用のwebフレームワーク』
※フレームワーク
webアプリケーションの鋳型
根本的な部分はフレームワークに任せられる
おおまかな構造

view

URL

MODEL
おおまかな構造
HTTPリクエスト

view

URL

MODEL
おおまかな構造
HTTPリクエスト
命令振り分け

view

URL

MODEL
おおまかな構造
HTTPリクエスト
処理!!

view

URL

データやり取り

MODEL
おおまかな構造
処理!!

view
HTTPレスポンスオブジェクト

Result
Django
view

ページの表示にかかわる部分。
アプリケーションの処理部分を書く
MODEL
アプリケーションに欠かせないデータ
の保管に関係する部分
URL
作成するアプリケーションの別々のページの間
の関係、URLまわりの設定をする
Djangoプロジェクトを立ち上げる
ダウンロードしていない人はする
startproject
適当なディレクトリで
django-admin.py startproject mysiteを実行
ディレクトリができているはず
自動的にディレクトリの中身も
startappする
python manage.py startapp finda
自動的にfindaが作成される
データベースを使えるようにする
python manage.py syncdb

→上手く動かない。settings.pyを変更
settings.py
settings.py MODEL設定
settings.py MODEL設定
改めてsyncdb
fooができている
フローを考える
《住所表示アプリケーション》
①トップページにアクセス
②トップページの郵便番号欄に打ち込む
③送信
④結果表示
①トップページにアクセス
機能
・topページurlにリクエストを送ると、郵便番号
記入するフォームが現れる
・viewに書き込む indexクラス
②③送信
機能
・送信すると、view内の他の関数が働いて、入
力された数字を加工して、apiに送信、データ
を受け取る
これもviewに書く
④結果表示
機能
・②③のデータ処理と同じところに入れる
or
・②③の結果をモデルに入れて、そこから引き
出して使う
サンプルプログラムは前者です
①いきなりはわからない
①
①finda/urls.py
①
①mysite/urls.py
①mysite/urls.py
runserver
結果
templateの利用
finda/templates/finda/index.html
viewの書き換え
templateの読み込み
結果
templateに値を入れて表示したい時
html
{{listall}}
view
list = list
context = {‘listall’:list}
return render(request,'finda/index.html',context)
Django で動かす
ここまででviewの作り方がわかりました
・値はhtmlのformで得るといいでしょう。
・得たものをurl文字列に整形します
初めの方に作ったプログラムを流用します
・先ほどのプログラムで辞書型データを作成
・templateに値を与えて表示
手順例
①プロジェクトを作る 済
②appを作る 済
③syncdb 済
④settings.pyの設定 済
⑤urls.pyの設定 resultクラスのurl設定
⑥ビューの作成 resultクラスを作る
⑦テンプレートの作成
やってみましょう
参考url:
チュートリアル
https://docs.djangoproject.com/en/1.6/intro/tutori
al01/
posts送信されたデータの受け取り
http://www.djangoproject.jp/doc/ja/1.0/ref/reques
t-response.html
http://stackoverflow.com/questions/12518517/req
uest-post-getsth-vs-request-poststh-difference
やってみましょう
解答
下のコマンドでgitしてください
git clone https://bitbucket.org/tsukukobaan/api.git/

More Related Content

What's hot

Python入門からpython twitter利用のハンズオン
Python入門からpython twitter利用のハンズオンPython入門からpython twitter利用のハンズオン
Python入門からpython twitter利用のハンズオンYukitaka Uchikoshi
 
PEP8を読んでみよう
PEP8を読んでみようPEP8を読んでみよう
PEP8を読んでみよう
2bo 2bo
 
20170131 python3 6 PEP526
20170131 python3 6 PEP526 20170131 python3 6 PEP526
20170131 python3 6 PEP526
masahitojp
 
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
Kosaku Ono
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由
Ransui Iso
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Hironori Sekine
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpYoshifumi Yamaguchi
 
PHPの今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014
Rui Hirokawa
 
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyieldPHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
Yahoo!デベロッパーネットワーク
 
PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5
Yahoo!デベロッパーネットワーク
 
2018/1/30 Django勉強会
2018/1/30 Django勉強会2018/1/30 Django勉強会
2018/1/30 Django勉強会
虎の穴 開発室
 
プログラミング入門 Python超入門編
プログラミング入門 Python超入門編プログラミング入門 Python超入門編
プログラミング入門 Python超入門編
ナレッジコミュニケーション
 
Boost.python
Boost.pythonBoost.python
Boost.pythonfate_fox
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
Tomoya Nakayama
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talkmitamex4u
 
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
Aki Ariga
 
Good Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX PhilosophyGood Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX Philosophy
Yuya Takeyama
 
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
Kir Chou
 

What's hot (20)

Python入門からpython twitter利用のハンズオン
Python入門からpython twitter利用のハンズオンPython入門からpython twitter利用のハンズオン
Python入門からpython twitter利用のハンズオン
 
PEP8を読んでみよう
PEP8を読んでみようPEP8を読んでみよう
PEP8を読んでみよう
 
20170131 python3 6 PEP526
20170131 python3 6 PEP526 20170131 python3 6 PEP526
20170131 python3 6 PEP526
 
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
 
XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由XML-RPC : Pythonが「電池付属」と呼ばれる理由
XML-RPC : Pythonが「電池付属」と呼ばれる理由
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
 
PHPの今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014
 
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyieldPHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
 
PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5
 
2018/1/30 Django勉強会
2018/1/30 Django勉強会2018/1/30 Django勉強会
2018/1/30 Django勉強会
 
プログラミング入門 Python超入門編
プログラミング入門 Python超入門編プログラミング入門 Python超入門編
プログラミング入門 Python超入門編
 
RとWeb API
RとWeb APIRとWeb API
RとWeb API
 
Boost.python
Boost.pythonBoost.python
Boost.python
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
 
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
 
Good Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX PhilosophyGood Parts of PHP and the UNIX Philosophy
Good Parts of PHP and the UNIX Philosophy
 
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
 

Similar to Apilecture for 2014/02/22 at shannonlab

Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
Shinya Okano
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
Toru Yamaguchi
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
Takanori Suzuki
 
Start python with fastapi
Start python with fastapiStart python with fastapi
Start python with fastapi
ku_taka
 
SnapDishの事例
SnapDishの事例SnapDishの事例
SnapDishの事例
Fumikazu Kiyota
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
陽平 山口
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段.NETの自作ツール公開手段
.NETの自作ツール公開手段
Pierre3 小林
 
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法Naruto TAKAHASHI
 
Osc2008tokyo秋 なでしこ勉強会
Osc2008tokyo秋 なでしこ勉強会Osc2008tokyo秋 なでしこ勉強会
Osc2008tokyo秋 なでしこ勉強会kujirahand kujira
 
PHPとJavaScriptの噺
PHPとJavaScriptの噺PHPとJavaScriptの噺
PHPとJavaScriptの噺Shogo Kawahara
 
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
Masahito Zembutsu
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniter
Yuya Matsushima
 
C#勉強会
C#勉強会C#勉強会
C#勉強会
hakugakucafe
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hackyut148atgmaildotcom
 
IBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみようIBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみよう
Takuji Kawata
 
API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築
Ken'ichirou Kimura
 

Similar to Apilecture for 2014/02/22 at shannonlab (20)

Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
 
Start python with fastapi
Start python with fastapiStart python with fastapi
Start python with fastapi
 
AtokとRubyと。
AtokとRubyと。AtokとRubyと。
AtokとRubyと。
 
SnapDishの事例
SnapDishの事例SnapDishの事例
SnapDishの事例
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
 
HTML5&API総まくり
HTML5&API総まくりHTML5&API総まくり
HTML5&API総まくり
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段.NETの自作ツール公開手段
.NETの自作ツール公開手段
 
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
Osc2008tokyo秋 なでしこ勉強会
Osc2008tokyo秋 なでしこ勉強会Osc2008tokyo秋 なでしこ勉強会
Osc2008tokyo秋 なでしこ勉強会
 
PHPとJavaScriptの噺
PHPとJavaScriptの噺PHPとJavaScriptの噺
PHPとJavaScriptの噺
 
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniter
 
C#勉強会
C#勉強会C#勉強会
C#勉強会
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
 
IBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみようIBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみよう
 
API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築API Gateway + LambdaでLINE通知サービス構築
API Gateway + LambdaでLINE通知サービス構築
 

Recently uploaded

Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 

Recently uploaded (10)

Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 

Apilecture for 2014/02/22 at shannonlab