SlideShare a Scribd company logo
1 of 36
Download to read offline
Djangoのエントリポイントと
アプリケーションの仕組み
PyCon mini Sapporo 2015
2015/09/12
お前、誰よ?
◦tokibito
◦ Djangoフレームワークを9年ぐらい使ってます(2006年ごろ、0.95~)
◦ 東京在住(北海道には年1~2回ぐらい来てます)
◦ 株式会社ビープラウド勤務
◦ Pythonプロフェッショナルプログラミング 第2版 買ってね!
◦ イベント支援サイトConnpassをよろしく!
アジェンダ
1. はじめに
2. 前提、注意事項
3. Djangoフレームワークを使ったプロジェクトの構造
4. Djangoのエントリポイント
1. manage.py
2. wsgi.py
5. まとめ
はじめに
◦ Djangoフレームワークを使う場合
◦ マニュアルに従ってmanage.pyコマンドやwsgi.pyを利用する
◦ Django内部を知らなくても多くの機能を使える
◦ この発表内容を知らなくてもDjangoは使えます
◦ この発表内容を聞いて得られるもの
◦ Djangoの内部構造の知識を少し
知っておくと、Django用のモジュールを作るときに楽
(かもしれません)
今日はDjangoのエントリポイントや内部構造について話します
前提、注意事項
◦ 2015年9月時点での情報です
◦ Djangoのバージョンは1.8を前提としています
◦ 将来的にプロジェクトの構造が変わる可能性はあります
Djangoフレームワークを使っ
たプロジェクトの構造
Djangoフレームワークを使う場合、 django-admin コマンドを使って、プ
ロジェクトを作成します。
以下のようなディレクトリ構造でファイルが作られます:
プロジェクト管理スクリプト
プロジェクト設定ファイル
URL設定ファイル
WSGIアプリケーション定義を含むファイル
$ django-admin startproject mysite
Djangoのエントリポイント
管理コマンドを使う場合:
$ ./manage.py runserver
$ gunicorn mysite.wsgi
WSGIサーバーでアプリケーションを動かす場合(gunicornの例):
→ エントリポイントは manage.py
→ エントリポイントは wsgi.py
「エントリポイント」 … プログラムを実行するときの開始位置
※ WSGI: Web Server Gateway Interface
エントリポイントのソースコー
ドを見てみる
◦ manage.py と wsgi.py
◦ どちらもPythonのスクリプトなので、エディタで開けば読めます
manage.py
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
環境変数の設定(既にあれば何もしない)
sys.argvはコマンドライン引数。execute_from_command_line関数の実行
django.core.management
◦ django/core/managent/__init__.pyに実装がある
◦ https://github.com/django/django/blob/stable/1.8.x/django/core/m
anagement/__init__.py#L346
def execute_from_command_line(argv=None):
"""
A simple method that runs a ManagementUtility.
"""
utility = ManagementUtility(argv)
utility.execute() ManagementUtility.execute()メソッドを実行
詳細は省略します(時間が足りない)
execute_from_command_line
内部の処理
1. argparseモジュールを使ってコマンドライン引数をパース
2. settings.INSTALLED_APPSが有効か判定(ImproperlyConfigured発生を見る)
◦ django.conf.settings
◦ ここでDjangoの設定ファイルが読み込まれる
◦ 設定ファイルが不要なコマンドの場合は読み込まずにsettings.configure()で初期化
3. Djangoの初期化
◦ django.setup()
4. コマンドのオートコンプリート実行(環境変数が設定されていれば)
5. サブコマンドの実行
1. コマンド一覧の作成(<dict {app_name: [commands]}>)
1. django.core.management.commands以下のモジュールを取得
2. INSTALLED_APPSのアプリケーションの management.commands以下のモジュールを取得
2. 実行するコマンドの決定
3. コマンドクラスをロードしてクラスオブジェクト取得
4. コマンドクラスを実行
雑に説明すると、
1. プロジェクトの設定ファイルを読み込み
2. アプリケーションをロード
3. 実行したいコマンドを見つける
4. 実行
以上
django.conf.settings
◦ django.conf.LazySettingsクラスのインスタンス
◦ __getattr__が実装されている
◦ LazySettings._wrappedの属性をgetattrで返す
◦ 初回アクセス時に LazySettings._setup() で設定ファイルを読み込む
◦ LazySettings._setup()
◦ 環境変数DJANGO_SETTINGS_MODULEに指定されたモジュールをロードして、Settingsクラス
のインスタンスを作って_wrappedに代入
◦ DJANGO_SETTINGS_MODULEが空の場合はImproperlyConfigured例外が発生
◦ 設定ファイルにはデフォルト値(django.conf.global_settings)に対する差分だけ指定されて
いればよい
◦ LazySettings.configure()
◦ DJANGO_SETTINGS_MODULEを使わずに設定(UserSettingsHolder)オブジェクトを_wrappedに
代入
◦ キーワード引数でデフォルト値に上書きする設定項目を指定できる
◦ Djangoの設定ファイル(settings.py)の項目は、このオブジェクトを通して参照する
ImproperlyConfigured例外
◦ Djangoの設定に不備がある際に発生する例外
◦ 例: djangoのプロジェクト以外でdjangoの機能を使おうとするとき
>>> from django.forms import Form
>>> Form()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:¥work¥venv¥lib¥site-packages¥django¥forms¥forms.py", line 129, in __init__
self.label_suffix = label_suffix if label_suffix is not None else _(':')
File "C:¥work¥venv¥lib¥site-packages¥django¥utils¥translation¥__init__.py", line 84, in ugettext
return _trans.ugettext(message)
File "C:¥work¥venv¥lib¥site-packages¥django¥utils¥translation¥__init__.py", line 56, in __getattr__
if settings.USE_I18N:
File "C:¥work¥venv¥lib¥site-packages¥django¥conf¥__init__.py", line 48, in __getattr__
self._setup(name)
File "C:¥work¥venv¥lib¥site-packages¥django¥conf¥__init__.py", line 42, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting USE_I18N, but settings are not configured. You
must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before
accessing settings.
Djangoは設定をしないと動かない!
Tips: プロジェクトの設定項目
を参照する
◦ プロジェクトのsettings.pyに書いた設定を参照する場合
◦ × settings.pyをimportして読む(設定ファイルの切り替えに対応できない)
◦ ◯ django.conf.settingsを使う
# myproject/myproject/settings.py
SPAM_VALUE = 'egg'
>>> from django.conf import settings
>>> settings.SPAM_VALUE
'egg'
Tips: 設定ファイルの切り替え
◦ manage.pyコマンドの場合
◦ --settings オプションで設定モジュールを指定
◦ または、 DJANGO_SETTINGS_MODULE 環境変数
$ ./manage.py runserver --settings=myproject.debug_settings
◦ Djangoの各種機能を使うための準備
◦ ロギングの設定(configure_logging)
◦ settings.LOGGINGをロギングモジュールに反映
◦ INSTALLED_APPSに指定されたアプリケーションのロード
(django.apps.apps.populate)
◦ =importして内部でキャッシュ
django.setup()
Djangoはdjango.setup()を呼ばないと動かない!
Tips: Djangoのプロジェクトを
作らずにDjangoを使う
◦ settings._setup()を呼ぶかsettings.configure()を呼べば、Djangoプロジェクト
外での設定の不備は解消できる
◦ 設定後にdjango.setup()を呼ぶと、アプリケーションのロードなどが実行され
てDjangoを使う準備が完了する
>>> from django.conf import settings
>>> settings.configure()
>>> import django
>>> django.setup() # これでDjangoを使う準備が完了する
設定とsetup()をしたのでDjangoを使える!!!
django.apps.apps
◦ django.apps.appsは、django.apps.registry.Appsクラスのインスタンス
◦ django.apps.registry.Apps
◦ Djangoアプリケーションのロードとモデルクラスを管理するクラス
◦ Apps.populate()メソッド
◦ アプリケーションをロードし、アプリケーション内のモデルクラスをキャッシュする
◦ 各Djangoアプリケーションはdjango.apps.config.AppConfigクラスのインスタンスによって管理さ
れる
◦ django.apps.config.AppConfig
◦ DjangoアプリケーションのモジュールをAppConfig.moduleで保持している
◦ Djangoでは、AppConfig.labelでアプリケーションの一意性を確保している
◦ 同一のアプリケーションのモジュールでも、AppConfig.labelが別のAppConfigインスタンスを
用意すれば、別アプリケーションとして認識させられる
◦ django.appsモジュールはDjango1.7で追加された
◦ 1.6までは、django.db.models.loadingにありました
django.apps.registry.Apps.all_models
django.apps.registry.Apps.app_configs
図で説明すると、
django.apps.registry.Apps
AppConfig
label='admin'
AppConfig
label='myapp'
AppConfig
label='auth'
AppConfig
label='sessions'
User MyModelPermission
Tips: アプリケーションモジュール
やモデルクラスへアクセスする
◦ アプリケーション内で別のアプリケーション以下にあるモデルクラスを使い
たい場合など
◦ django.apps.appsを参照することで、モジュール名を固定せず、すべてのモ
デルクラスやアプリケーションモジュールへアクセスできる
# manage.py shell
>>> from django.apps import apps
>>> apps.get_app_configs() # プロジェクト内のAppConfigクラスを取得する
ValuesView(OrderedDict([('admin', <AdminConfig: admin>), ('auth', <AuthConfig:
auth>), ('contenttypes', <ContentTypesConfig: contenttypes>), ('sessions',
<SessionsConfig: sessions>), ('messages', <MessagesConfig: messages>),
('staticfiles', <StaticFilesConfig: staticfiles>), ('myapp', <AppConfig: myapp>)]))
>>> apps.get_models() # プロジェクト内のモデルクラスを取得する
[<class 'django.contrib.admin.models.LogEntry'>, <class
'django.contrib.auth.models.Permission'>, <class
'django.contrib.auth.models.Group'>, <class 'django.contrib.auth.models.User'>,
<class 'django.contrib.contenttypes.models.ContentType'>, <class
'django.contrib.sessions.models.Session'>, <class 'myapp.models.Spam'>]
内部の実装で使われている
テクニック
◦ モジュールの遅延ロード
◦ django.conf. LazySettingsなど
◦ メリット
◦ 起動が速い
◦ デメリット
◦ 仕組みが複雑
◦ 問題の発生も遅延する(シンタックスエラーなど)
◦ 文字列を元にしたモジュールのインポート
◦ django.apps.registry.AppsConfigなど
◦ メリット
◦ 実行時に読み込むモジュールを決定できる(遅延ロードできる)
◦ デメリット
◦ 静的解析に弱い(モジュール名が文字列なので追いかけられない)
◦ インスタンスのキャッシュ
◦ django.conf.settings._wrappedなど
◦ メリット
◦ ミドルウェアやファイルシステムなどを使わず手軽にキャッシュして高速化
◦ デメリット
◦ 使用メモリ増加
manage.pyについてまとめ
1. プロジェクトの設定ファイルを読み込み
1. django.conf.settings
2. アプリケーションをロード
1. django.setup()
1. django.apps.apps
3. 実行したいコマンドを見つける
4. 実行
次はwsgi.py
$ gunicorn myproject.wsgi
application = myproject.wsgi.application
gunicornを使ってwsgi.pyを動かす場合
内部ではインポートして"application"という名前の変数を参照して使っている
WSGIサーバーの役割
1. tcp/80でソケットを開いて待受け(listen)
2. Webブラウザなどのクライアントから接続
3. HTTPリクエストをクライアントから受信する(recv)
4. 受け取ったHTTPリクエストをパースしてヘッダ、bodyなどの情報に分解
1. 辞書オブジェクトに詰め込む(environ)
5. WSGIアプリケーションの実行
1. response = application(environ, start_response)
1. ここで実行されるapplicationがWSGIHandler.__call__(environ, start_response) .. Djangoの
場合
6. HTTPレスポンスをクライアントに送信(send)
1. コールバック(start_response)を通して受け取ったヘッダをクライアントに送信
2. returnで返却されたbodyをクライアントに送信
wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
application = get_wsgi_application()
環境変数の設定(既にあれば何もしない)
WSGIアプリケーションの取得
django.core.wsgi
import django
from django.core.handlers.wsgi import WSGIHandler
def get_wsgi_application():
django.setup()
return WSGIHandler()
WSGIHandler(WSGIアプリケーション)インスタンスの生成
Djangoの初期化
django.core.handlers.wsgi.
WSGIHandler内部の処理
◦ WSGIHandlerクラスはdjango.core.handlers.base.BaseHandlerを継承
◦ WSGIHandler.__call__(environ, start_response)
◦ WSGIアプリケーションとして実行可能なメソッド
◦ Djangoミドルウェアのロード
◦ リクエストオブジェクトの生成(django.core.handlers.wsgi.WSGIRequest)
◦ get_response(request)メソッドの呼び出し
◦ BaseHandler.get_response(request)
◦ リクエストミドルウェアの適用
◦ URLディスパッチ
◦ settings.ROOT_URLCONFを元にdjango.core.urlresolvers.RegexURLResolverインスタンス生成
◦ RegexURLResolver.resolve()で実行するViewを取得
◦ Viewミドルウェアの適用
◦ Viewを実行してレスポンスオブジェクトを取得
◦ response.render()メソッドがあれば呼び出し
◦ レスポンスミドルウェアの適用
◦ レスポンスオブジェクトを返す
雑に説明すると、
1. プロジェクトの設定ファイルを読み込み
2. アプリケーションをロード
3. リクエストオブジェクトを作成
4. 実行するViewを決定
5. View実行
6. レスポンスを返す
以上
リクエストオブジェクト
◦ django.http.request.HttpRequestクラスのインスタンス
◦ WSGIの場合は継承してWSGIRequestクラス(wsgi.inputなどのWSGI固有の対応など)
◦ HTTPリクエスト内容の抽象化
◦ WSGIのenviron辞書はPythonの辞書だが、抽象度は低い
◦ GET、POSTフィールドのデコード、分解やCOOKIEなどのヘッダのデコードなど
◦ リクエストの処理終了後に破棄される
◦ → requestオブジェクトにミドルウェア等で属性を追加しても問題ない
◦ 例
◦ request.sessions (SessionMiddlewareによって追加)
◦ request.user (AuthenticationMiddlewareによって追加)
◦ WSGIRequestの場合
◦ WSGIサーバーから渡されるenviron辞書を使って生成
URLディスパッチ
◦ リクエストされたURLから実行するViewを決定する仕組み
◦ django.core.urlresolvers.RegexURLResolver
◦ urls.pyの内容を元にして、URLとViewを正規表現でマッチさせるクラス
>>> from django.conf import settings
>>> from django.core.urlresolvers import RegexURLResolver
>>> resolver = RegexURLResolver(r'^/', settings.ROOT_URLCONF)
>>> resolver_match = resolver.resolve('/')
>>> resolver_match
ResolverMatch(func=mysite.views.index, args=(), kwargs={}, url_name=None,
app_name=None, namespaces=[])
>>> callback, callback_args, callback_kwargs = resolver_match callbackがView
resolveメソッドでURLにマッチした
ResolverMatchオブジェクトが返される
Viewの実行
◦ DjangoのViewとして使えるもの
◦ リクエストオブジェクトを引数に指定でき、レスポンスオブジェクトを返す関数またはメソッド
◦ Viewの実行は関数呼び出し
>>> from django.http import HttpRequest
>>> request = HttpRequest()
>>> callback(request, *callback_args, **callback_kwargs)
<django.http.response.HttpResponse object at 0x7fbc65349f98>
resolverで取得したcallback(View)の実行
Viewを呼ぶとResponseが返される
レスポンスオブジェクト
◦ django.http.response.HttpResponseクラスのインスタンス
◦ HttpResponseはsix.Iteratorを継承している
◦ HTTPレスポンス内容の抽象化
◦ WSGIアプリケーションのレスポンスとしてそのまま使える
◦ レスポンス文字列を返すための__iter__メソッドが実装されている
>>> response = callback(request)
>>> response
<django.http.response.HttpResponse object at 0x7f9bb5904ef0>
>>> b''.join(s for s in response)
b'Hello, world!'
Viewを実行して取得したレスポンスオブジェクトの評価
WSGIサーバー側では大体こんな感じで使われる
まとめ
◦ Djangoのエントリポイントはmanage.pyとwsgi.py
◦ Djangoを動かすには設定と準備が必要
◦ django.conf.settings.configure()
◦ django.setup()
◦ Djangoのアプリケーションとモデルは一箇所で管理されてるよ
◦ django.apps.apps (django.apps.registry.Apps)
◦ WSGIHandlerでリクエストを処理しているよ(WSGIの場合)
◦ リクエストオブジェクト生成
◦ URLディスパッチ
◦ View実行
◦ レスポンスオブジェクトを返す
参考
◦ http://d.hatena.ne.jp/nullpobug/20140301/1393660554
◦ https://docs.djangoproject.com/en/1.8/topics/settings/
◦ https://docs.djangoproject.com/en/1.8/ref/applications/
おわり。

More Related Content

What's hot

TDD のこころ
TDD のこころTDD のこころ
TDD のこころTakuto Wada
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)NTT DATA Technology & Innovation
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
SPAのルーティングの話
SPAのルーティングの話SPAのルーティングの話
SPAのルーティングの話ushiboy
 
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選Takuya Ueda
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門Masaya Dake
 
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢apkiban
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知るShuhei Fujita
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
What's new in Spring Batch 5
What's new in Spring Batch 5What's new in Spring Batch 5
What's new in Spring Batch 5ikeyat
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編NAKAOKU Takahiro
 
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?Teppei Sato
 

What's hot (20)

Guide To AGPL
Guide To AGPLGuide To AGPL
Guide To AGPL
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころ
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
SPAのルーティングの話
SPAのルーティングの話SPAのルーティングの話
SPAのルーティングの話
 
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門
 
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
What's new in Spring Batch 5
What's new in Spring Batch 5What's new in Spring Batch 5
What's new in Spring Batch 5
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編
 
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
 
Railsで作るBFFの功罪
Railsで作るBFFの功罪Railsで作るBFFの功罪
Railsで作るBFFの功罪
 
ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介ヤフー発のメッセージキュー「Pulsar」のご紹介
ヤフー発のメッセージキュー「Pulsar」のご紹介
 

Viewers also liked

Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介Shinya Okano
 
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編- Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編- Hironori Sekine
 
Scaling Django with gevent
Scaling Django with geventScaling Django with gevent
Scaling Django with geventMahendra M
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplibShinya Okano
 
ちょっと真面目にPython&Django・基礎編
ちょっと真面目にPython&Django・基礎編ちょっと真面目にPython&Django・基礎編
ちょっと真面目にPython&Django・基礎編OMEGA (@equal_001)
 
データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831
 データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831 データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831
データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831Yusaku Kinoshita
 
Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法Ian Lewis
 
ビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjpビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjpShinichi Nakagawa
 
Python勉強会in 長野 オープニング
Python勉強会in 長野 オープニングPython勉強会in 長野 オープニング
Python勉強会in 長野 オープニングYuuki Nakajima
 
Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)Tadahiro Ishisaka
 
Pythonで始めるWebアプリケーション開発
Pythonで始めるWebアプリケーション開発Pythonで始めるWebアプリケーション開発
Pythonで始めるWebアプリケーション開発Takahiro Kubo
 
Pythonistaデビュー #PyNyumon 2016/5/31
Pythonistaデビュー #PyNyumon 2016/5/31Pythonistaデビュー #PyNyumon 2016/5/31
Pythonistaデビュー #PyNyumon 2016/5/31Shinichi Nakagawa
 
DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話Nakazawa Yuichi
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Kimikazu Kato
 
「長野で語るStapyのビジョン」
「長野で語るStapyのビジョン」「長野で語るStapyのビジョン」
「長野で語るStapyのビジョン」Takeshi Akutsu
 
Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Tadahiro Ishisaka
 

Viewers also liked (18)

Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介
 
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編- Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
 
Scaling Django with gevent
Scaling Django with geventScaling Django with gevent
Scaling Django with gevent
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
ちょっと真面目にPython&Django・基礎編
ちょっと真面目にPython&Django・基礎編ちょっと真面目にPython&Django・基礎編
ちょっと真面目にPython&Django・基礎編
 
データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831
 データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831 データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831
データ分析-の波乗り遅れた気がしてる人のための Python×データ分析の超基礎の基礎 v1.0-20160831
 
Djangoのススメ
DjangoのススメDjangoのススメ
Djangoのススメ
 
Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法Djangoアプリの実践的設計手法
Djangoアプリの実践的設計手法
 
ビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjpビックデータとPythonではじめる野球の統計分析 #pyconjp
ビックデータとPythonではじめる野球の統計分析 #pyconjp
 
Python勉強会in 長野 オープニング
Python勉強会in 長野 オープニングPython勉強会in 長野 オープニング
Python勉強会in 長野 オープニング
 
Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)
 
Pythonで始めるWebアプリケーション開発
Pythonで始めるWebアプリケーション開発Pythonで始めるWebアプリケーション開発
Pythonで始めるWebアプリケーション開発
 
Pythonistaデビュー #PyNyumon 2016/5/31
Pythonistaデビュー #PyNyumon 2016/5/31Pythonistaデビュー #PyNyumon 2016/5/31
Pythonistaデビュー #PyNyumon 2016/5/31
 
WSGI, Django, Gunicorn
WSGI, Django, GunicornWSGI, Django, Gunicorn
WSGI, Django, Gunicorn
 
DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習
 
「長野で語るStapyのビジョン」
「長野で語るStapyのビジョン」「長野で語るStapyのビジョン」
「長野で語るStapyのビジョン」
 
Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)
 

Similar to Djangoのエントリポイントとアプリケーションの仕組み

Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようKenji NAKAGAKI
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む2bo 2bo
 
How to django at first
How to django at firstHow to django at first
How to django at firstMaito Kuwahara
 
はてなのNagios - モニカジ#3
はてなのNagios - モニカジ#3はてなのNagios - モニカジ#3
はてなのNagios - モニカジ#3Shoichi Masuhara
 
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016Takayuki Shimizukawa
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門kashew_nuts
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeomantomo_masakura
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようTakayuki Shimizukawa
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介Shinya Okano
 
とある帽子の大蛇料理Ⅱ
とある帽子の大蛇料理Ⅱとある帽子の大蛇料理Ⅱ
とある帽子の大蛇料理ⅡMasami Ichikawa
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Takako Miyagawa
 
Python札幌201406
Python札幌201406Python札幌201406
Python札幌201406Shinya Okano
 
Gcpug begginers #1LT startup scriptとshutdown script
Gcpug begginers #1LT startup scriptとshutdown scriptGcpug begginers #1LT startup scriptとshutdown script
Gcpug begginers #1LT startup scriptとshutdown scripttsukasa tamaru
 
Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 OSSラボ株式会社
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggugkimukou_26 Kimukou
 
5分でわかる!ownCloudアドオンの作り方
5分でわかる!ownCloudアドオンの作り方5分でわかる!ownCloudアドオンの作り方
5分でわかる!ownCloudアドオンの作り方Yuki Takahashi
 

Similar to Djangoのエントリポイントとアプリケーションの仕組み (20)

Windowsにpythonをインストールしてみよう
WindowsにpythonをインストールしてみようWindowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
 
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込むDjangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
 
How to django at first
How to django at firstHow to django at first
How to django at first
 
210630 python
210630 python210630 python
210630 python
 
はてなのNagios - モニカジ#3
はてなのNagios - モニカジ#3はてなのNagios - モニカジ#3
はてなのNagios - モニカジ#3
 
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介
 
RgGen ご紹介
RgGen ご紹介RgGen ご紹介
RgGen ご紹介
 
とある帽子の大蛇料理Ⅱ
とある帽子の大蛇料理Ⅱとある帽子の大蛇料理Ⅱ
とある帽子の大蛇料理Ⅱ
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
0621 ndk game
0621 ndk game0621 ndk game
0621 ndk game
 
Python札幌201406
Python札幌201406Python札幌201406
Python札幌201406
 
AndroidでDIxAOP
AndroidでDIxAOPAndroidでDIxAOP
AndroidでDIxAOP
 
Gcpug begginers #1LT startup scriptとshutdown script
Gcpug begginers #1LT startup scriptとshutdown scriptGcpug begginers #1LT startup scriptとshutdown script
Gcpug begginers #1LT startup scriptとshutdown script
 
Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
 
5分でわかる!ownCloudアドオンの作り方
5分でわかる!ownCloudアドオンの作り方5分でわかる!ownCloudアドオンの作り方
5分でわかる!ownCloudアドオンの作り方
 

More from Shinya Okano

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

More from Shinya Okano (13)

Djangoエンジニアの観点から見たHue
Djangoエンジニアの観点から見たHueDjangoエンジニアの観点から見たHue
Djangoエンジニアの観点から見たHue
 
Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証Djangoフレームワークのユーザーモデルと認証
Djangoフレームワークのユーザーモデルと認証
 
Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016
 
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道
 
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

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptxssuserbefd24
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )iwashiira2ctf
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一瑛一 西口
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員Sadaomi Nishi
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayersToru Tamaki
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521Satoshi Makita
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑Akihiro Kadohata
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計atsushi061452
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationToru Tamaki
 

Recently uploaded (11)

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 

Djangoのエントリポイントとアプリケーションの仕組み