SlideShare a Scribd company logo
1 of 42
Download to read offline
Django
フレームワークの紹介
OSC2016北海道
2016/06/18
お前、誰よ
tokibito (岡野 真也)
 大阪→和歌山→北海道→東京
 Pythonを使って仕事してます
 株式会社ビープラウド
Django
Djangoとは
 「じゃんご」と読みます
 Webアプリケーションフレームワーク
 Python製
 オープンソース
 BSDライセンス
 最新バージョン
 1.9.7(2016/06)
Webアプリケーション?
Webアプリケーションって?
 Webブラウザでインターネットを介し
て利用できるアプリケーション
 例えば?
 ブログ
 Twitter
 Googleマップ
 YouTube
 その他いろいろ…
Webアプリケーションの
イメージ
インターネット
パソコン
(IE,Chrome, Firefox …)
モバイル端末
(Android Chrome, iOS Safari …)
Webサーバー
(HTTPサーバー)
データベース
Python?
Pythonについて
 プログラミング言語
 オープンソース
 オブジェクト指向
 動的型付け
 クロスプラットフォーム対応
 対話インターフェース
 最新バージョンは Python 3.5
Pythonのコード
def main(values):
for number in values:
print(number * number) # numberの二乗を表示
if __name__ == 'main':
main()
# Pythonでは、インデント(字下げ)の位置が変わるまでの範囲
が1つのブロックとなります。
main.py
Djangoとは
 「じゃんご」と読みます
 Webアプリケーションフレームワーク
 Python製
 オープンソース
 BSDライセンス
 最新バージョン
 1.9.7(2016/06)
Webアプリケーション
フレームワーク?
Webアプリケーション
フレームワークって?
 Webアプリケーションの開発に使う外枠
 よく使われるような機能をそろえてくれている
 開発者はアプリケーションコードの記述に集中で
きる
 他のWebアプリケーションフレームワーク
 Ruby on Rails (Ruby)
 Symfony (PHP)
Webアプリケーションフ
レームワークを使うところ
インターネット
パソコン
(IE,Chrome, Firefox …)
モバイル端末
(Android Chrome, iOS Safari …)
Webサーバー
(HTTPサーバー)
データベース
↑このあたりで使います
Djangoを使ってみるには?
 Pythonをインストールする
 OSのパッケージ管理ツールかインストーラーで。
 Djangoをインストールする
 virtualenv (venv)でPython環境を作ってインストール
 pip install Django
手っ取り早く伝えるために
デモ
https://github.com/tokibito/django-example-todo
https://goo.gl/xyjEcd
Djangoでの開発の流れ
 プロジェクトを作る
 データベース接続やタイムゾーンなどの各種設定
 アプリケーションを作る
 startapp
 models.py
 urls.pyとviews.py
 テンプレート
 動作確認
 アプリケーションを作る(繰り返し..)
デモでやったこと
 プロジェクトの作成
 各種設定
 アプリケーション作成
 models.py
 admin.py
 views.py
 urls.py
 テンプレート
 forms.py
プロジェクトの作成
(venv)$ django-admin startproject myproject
shell
開発サーバーの起動
(venv)$ cd myproject
(venv) myproject/ $ python manage.py runserver
shell
データベース設定
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# sqlite3 以外に、postgres, mysql, oracle を指定可能
# サードパーティでSQLServerやFirebirdなども使える
myproject/settings.py
データベース設定
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# sqlite3 以外に、postgres, mysql, oracle を指定可能
# サードパーティでSQLServerやFirebirdなども使える
myproject/settings.py
言語、タイムゾーン設定
# 管理画面のUIやエラーメッセージなどが日本語になる
LANGUAGE_CODE = 'ja'
# 現在日時の扱いなどを日本時間にする
TIME_ZONE = 'Asia/Tokyo'
myproject/settings.py
アプリケーション作成
(venv) myproject/ $ python manage.py startapp todo
# todoという名前のアプリケーションが作られる
# Djangoのアプリケーションは、Pythonモジュールと同じ形式
shell
アプリケーション有効化
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'todo', # アプリケーション名を追記
]
myproject/settings.py
モデルの作成
from django.db import models
class Todo(models.Model):
name = models.CharField("名称", max_length=50)
done = models.BooleanField("完了")
created_at = models.DateTimeField(
"作成日時",
auto_now_add=True)
def __str__(self):
return self.name
todo/models.py
管理画面への登録
from django.contrib import admin
from .models import Todo
# Todoモデルを管理画面に登録
admin.site.register(Todo)
todo/admin.py
views.py
from django.shortcuts import render, redirect, get_object_or_404
from .models import Todo
from .forms import TodoForm
def index(request):
# GETパラメータに ?all=1 と指定された場合は全件を表示
if request.GET.get('all') == '1':
queryset = Todo.objects.all()
else:
# 特に指定がない場合は未完了のレコードのみ
queryset = Todo.objects.filter(done=False)
# 作成日時で降順にソート
todo_list = queryset.order_by('-created_at')
return render(request, 'index.html', {'todo_list': todo_list})
todo/views.py
urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'), # 一覧表示
url(r'^add$', views.add, name='add'), # 追加
url(r'^(?P<pk>¥d+)/edit$', views.edit, name='edit'),
# 編集
url(r'^(?P<pk>¥d+)/done$', views.done, name='done'),
# 完了
]
todo/urls.py
テンプレート
<html><body>
<ul>
{% for todo in todo_list %}
<li>
{{ todo.name }}
</li>
{% endfor %}
</ul>
</body><html>
todo/templates/index.html
Djangoのアーキテクチャ
 管理画面
 ユーザー認証
 開発用サーバー
 ORM
 キャッシュシステム
 テンプレートエンジン
 GIS
 セッション
 管理コマンド
 データベースマイグレーション
 ユニットテストフレームワーク
 プロジェクトテンプレート
 フォームウィジェット
 URLディスパッチャー
 再利用可能なアプリケーション
 ストレージシステム
 セキュリティミドルウェア
 フラッシュメッセージ配信
 サイトマップフレームワーク
 静的ファイル配信
 国際化
 メール送信フレームワーク
 プロジェクト設定
Djangoの機能
Djangoフレームワークの苦
手なところ
 複雑なSQL
 SQLAlchemyを検討
 JavaScriptを含むフォーム
 クライアント側で独立させるか、仕様を妥協
サードパーティ
 Djangoの機能だけでは足りない場合
 サードパーティのモジュールもたくさんある
 https://www.djangopackages.com/
 例えば..
 django-extensions
 django-debugtoolbar
 django-restframework
 Haystack
 python-social-auth
Djangoの安定性
 安定してます
 Djangoはフルスタックフレームワーク
 サードパーティのライブラリへの依存が無い
 依存ライブラリによって不安定になることはない
 十分にテストされている
 フレームワークの自動テスト
 http://djangoci.com/
 APIの互換性ポリシー
 DeprecationWarningが出るようになってから1つ次のバー
ジョンまでは維持される
 https://docs.djangoproject.com/ja/1.9/misc/api-
stability/
Djangoを使っている
サービスやプロダクト
 Instagram (写真共有サービス)
 Horizon (OpenStack Dashboard)
 Hue (Hadoop GUI)
 Open edX (eラーニング)
 その他いろいろ
こんな使い方も…
 manage.py inspectdb
 データベースからモデルクラスのコードを生成
 django.contrib.admin
 モデルクラスを登録して管理画面作成
 →→簡易データベース編集アプリを作れる!
データベース
Pythonコード
(Djangoモデルクラス) Django管理画面
inspectdb 管理画面へ登録
最近のアップデート
 1.8 (2015/04)
 復数のテンプレートエンジンをサポート
 長期サポートバージョン(以前のLTSは1.4)
 Python 3.5正式サポート
 1.9 (2015/12)
 管理画面のスタイルを刷新
 パスワード検証機能の追加
ドキュメント
 まずはオフィシャルドキュメント
 https://docs.djangoproject.com/en/1.9/
 チュートリアルは日本語翻訳あり
 https://docs.djangoproject.com/ja/1.9/
 参考になるチュートリアル
 http://eiry.bitbucket.org/
 本
 https://www.twoscoopspress.com/products/two-
scoops-of-django-1-8
 本は残念ながら和書だと古いものしかないです…
django-ja (日本のユーザーコミュニ
ティ)
 リソースやドキュメントの日本語翻訳
 http://djangoproject.jp/
 事例やイベント情報、アップデート情報など掲載
 django-ja (Googleグループ)
 質問や相談など
 TokyoDjangoMeetup (東京)
 もくもく作業
 雑談、相談
勉強の進め方
 まずはチュートリアルをやってみる
 チュートリアルで使われている機能が理解できたら、
何か課題を見つけて作ってみる
 問題を解決できない場合は、メーリングリストなどで
質問する
 思う通りにアプリケーションを作れるようになってき
たら、テストコードを充実させてみる
 テストが書きづらいなら、対象のコードの設計を見直す
 デザインパターンなどを適用していくとよい
Djangoフレームワーク
を使ってみてね!

More Related Content

What's hot

WebSocketのキホン
WebSocketのキホンWebSocketのキホン
WebSocketのキホン
You_Kinjoh
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
 

What's hot (20)

ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinx
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
 
Visual C++で使えるC++11
Visual C++で使えるC++11Visual C++で使えるC++11
Visual C++で使えるC++11
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
WebSocketのキホン
WebSocketのキホンWebSocketのキホン
WebSocketのキホン
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
php-src の歩き方
php-src の歩き方php-src の歩き方
php-src の歩き方
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
ドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したこと
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
 
AndroidアプリのKotlin移行時に遭遇した問題と対処例
AndroidアプリのKotlin移行時に遭遇した問題と対処例AndroidアプリのKotlin移行時に遭遇した問題と対処例
AndroidアプリのKotlin移行時に遭遇した問題と対処例
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
 
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)
 
今さら聞けないDiとspring
今さら聞けないDiとspring今さら聞けないDiとspring
今さら聞けないDiとspring
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 

Similar to Djangoフレームワークの紹介

Python東海GAEやってみた
Python東海GAEやってみたPython東海GAEやってみた
Python東海GAEやってみた
Mori Shingo
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium Mobile
Naoya Ito
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
 
【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ
Developers Summit
 
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
 

Similar to Djangoフレームワークの紹介 (20)

Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介
 
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
 
Python東海GAEやってみた
Python東海GAEやってみたPython東海GAEやってみた
Python東海GAEやってみた
 
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hackTwitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium Mobile
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
Teclab3
Teclab3Teclab3
Teclab3
 
AndroidでDIxAOP
AndroidでDIxAOPAndroidでDIxAOP
AndroidでDIxAOP
 
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
Mongo db使ってみよう
Mongo db使ってみようMongo db使ってみよう
Mongo db使ってみよう
 
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
 
Pythonで始めるtoC向けWebサービス入門
Pythonで始めるtoC向けWebサービス入門Pythonで始めるtoC向けWebサービス入門
Pythonで始めるtoC向けWebサービス入門
 
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSourceMashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
Mashup Caravan in オープンソースカンファレンス2011 Hiroshima: infoScoop OpenSource
 
CodeIgniterによるPhwittr
CodeIgniterによるPhwittrCodeIgniterによるPhwittr
CodeIgniterによるPhwittr
 
Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010
 
CEDEC 2013 Unity on Windows 8
CEDEC 2013 Unity on Windows 8CEDEC 2013 Unity on Windows 8
CEDEC 2013 Unity on Windows 8
 
はじめてのAndroid in 高知
はじめてのAndroid in 高知はじめてのAndroid in 高知
はじめてのAndroid in 高知
 

More from Shinya Okano

Python札幌201406
Python札幌201406Python札幌201406
Python札幌201406
Shinya Okano
 
Hadoopとその周辺の紹介
Hadoopとその周辺の紹介Hadoopとその周辺の紹介
Hadoopとその周辺の紹介
Shinya Okano
 
Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介
Shinya Okano
 
電子書籍の話
電子書籍の話電子書籍の話
電子書籍の話
Shinya Okano
 
Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
 
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジmixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
Shinya Okano
 

More from Shinya Okano (16)

Djangoエンジニアの観点から見たHue
Djangoエンジニアの観点から見たHueDjangoエンジニアの観点から見たHue
Djangoエンジニアの観点から見たHue
 
Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016
 
Djangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組みDjangoのエントリポイントとアプリケーションの仕組み
Djangoのエントリポイントとアプリケーションの仕組み
 
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道
 
Python札幌201406
Python札幌201406Python札幌201406
Python札幌201406
 
Spring4Dの紹介
Spring4Dの紹介Spring4Dの紹介
Spring4Dの紹介
 
Hadoopとその周辺の紹介
Hadoopとその周辺の紹介Hadoopとその周辺の紹介
Hadoopとその周辺の紹介
 
Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介
 
2011.06.01 和歌山高専
2011.06.01 和歌山高専2011.06.01 和歌山高専
2011.06.01 和歌山高専
 
電子書籍の話
電子書籍の話電子書籍の話
電子書籍の話
 
写真共有アプリのバックエンドサーバー
写真共有アプリのバックエンドサーバー写真共有アプリのバックエンドサーバー
写真共有アプリのバックエンドサーバー
 
Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
 
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジmixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
 

Recently uploaded

Recently uploaded (7)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

Djangoフレームワークの紹介