https://2021.pycon.jp/time-table/?id=273396
Webアプリ開発とデータベースマイグレーションには密接な関係があり、Pythonでよく採用されるDjangoやSQLAlchemyには、DBのスキーマを変更するマイグレーション機能があります。一般的に、プログラムを実装するときはリポジトリでブランチを作りそれぞれのブランチで実装作業を進めます。Webアプリの開発でも同様ですが、各ブランチでDBスキーマを変更する場合には注意が必要です。例えば、複数のブランチで同じテーブルのカラムを追加して使いたい場合や、DBスキーマの変更が競合する場合は、ブランチのマージ時に競合してしまいます。多くの機能を並行開発したり、マージするまでの期間が長い場合には、このような競合が増えてしまいます。
このトークでは、Djangoを例に、データベースマイグレーションの仕組みから、実際の開発現場で発生したトラブルとその解決方法について紹介します。
Migration strategies for parallel development of web applications
1. The document discusses various social media and video sharing platforms and tools for integrating them, including YouTube, Twitter, Flickr, iTunes, and Facebook.
2. It mentions several services that allow embedding or sharing content between platforms, such as CDTube for YouTube, ZonTube for Amazon, and amz.ly for shortening Amazon URLs for Twitter.
3. Programming languages and APIs mentioned include JavaScript, jQuery, Twitter API, and YouTube APIs for building integrations and plugins.
This document summarizes a microservices meetup hosted by @mosa_siru. Key points include:
1. @mosa_siru is an engineer at DeNA and CTO of Gunosy.
2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway.
3. Challenges discussed were managing 30 microservices, ensuring API latency below 50ms across availability zones, and handling 10 requests per second with nginx load balancing across 20 servers.
「TECH x GAME COLLEGE #21」 2019/06/05 登壇資料
https://techxgamecollege.connpass.com/event/130420/
【Laravelを用いたゲームサーバーのチューニング】
主にDB周りの話題で、
・速度を出す
・水平分散をする
という観点で
Laravelをゲームサーバーで用いた際にチューニングしてきたことを紹介します。
https://2021.pycon.jp/time-table/?id=273396
Webアプリ開発とデータベースマイグレーションには密接な関係があり、Pythonでよく採用されるDjangoやSQLAlchemyには、DBのスキーマを変更するマイグレーション機能があります。一般的に、プログラムを実装するときはリポジトリでブランチを作りそれぞれのブランチで実装作業を進めます。Webアプリの開発でも同様ですが、各ブランチでDBスキーマを変更する場合には注意が必要です。例えば、複数のブランチで同じテーブルのカラムを追加して使いたい場合や、DBスキーマの変更が競合する場合は、ブランチのマージ時に競合してしまいます。多くの機能を並行開発したり、マージするまでの期間が長い場合には、このような競合が増えてしまいます。
このトークでは、Djangoを例に、データベースマイグレーションの仕組みから、実際の開発現場で発生したトラブルとその解決方法について紹介します。
Migration strategies for parallel development of web applications
1. The document discusses various social media and video sharing platforms and tools for integrating them, including YouTube, Twitter, Flickr, iTunes, and Facebook.
2. It mentions several services that allow embedding or sharing content between platforms, such as CDTube for YouTube, ZonTube for Amazon, and amz.ly for shortening Amazon URLs for Twitter.
3. Programming languages and APIs mentioned include JavaScript, jQuery, Twitter API, and YouTube APIs for building integrations and plugins.
This document summarizes a microservices meetup hosted by @mosa_siru. Key points include:
1. @mosa_siru is an engineer at DeNA and CTO of Gunosy.
2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway.
3. Challenges discussed were managing 30 microservices, ensuring API latency below 50ms across availability zones, and handling 10 requests per second with nginx load balancing across 20 servers.
「TECH x GAME COLLEGE #21」 2019/06/05 登壇資料
https://techxgamecollege.connpass.com/event/130420/
【Laravelを用いたゲームサーバーのチューニング】
主にDB周りの話題で、
・速度を出す
・水平分散をする
という観点で
Laravelをゲームサーバーで用いた際にチューニングしてきたことを紹介します。
2. 2
自己紹介
Twitter : miso_soup3
Blog : http://d.hatena.ne.jp/miso_soup3/
開発経験:業務アプリ開発, C#,
ASP.NET MVC, ASP.NET Web API
北陸3県(富山・石川・福井)を中心に、
マイクロソフト系の技術について広く語り合う勉強会
Hokuriku.NET
矢後 比呂加 Hiroka Yago
10. 10
1.ASP.NET Web API の利用例
① Web サイト + ASP.NET Web API + JavaScript
Web サイト
ASP.NET
MVC or WebForms
(.NET 4 以上)
11. 11
1.ASP.NET Web API の利用例
ASP.NET Web API
Ajax で シームレスな
Web アプリケーション
① Web サイト + ASP.NET Web API + JavaScript
Web サイト
ASP.NET
MVC or WebForms
(.NET 4 以上)
12. 12
1.ASP.NET Web API の利用例
• 既存資産との連携が可能
• ※ただし ASP.NET Web API は .NET 4 以上 で動作
• ASP.NET Web Forms, MVC と一緒に利用可能
• NuGet により容易に組み込める
• ASP.NET 認証機能が利用可能
① Web サイト + ASP.NET Web API + JavaScript
13. 13
1.ASP.NET Web API の利用例
① Web サイト + ASP.NET Web API + JavaScript
Visual Studio 2010 で、
.NET 4 の Web Forms プロジェクトに
NuGet で ASP.NET Web API を組み込み、
Ajax を使った機能を実装してみる。
14. 14
1.ASP.NET Web API の利用例
② Web サイト + ASP.NET Web API + JavaScript
+ モバイルアプリ
Web サイト
ASP.NET
MVC or WebForms
(.NET 4 以上)
ASP.NET Web API
15. 15
1.ASP.NET Web API の利用例
② Web サイト + ASP.NET Web API + JavaScript
+ モバイルアプリ
Web サイト
ASP.NET
MVC or WebForms
(.NET 4 以上)
ASP.NET Web API Windows Phone
HTTP サービス
として外部に公開
モバイルアプリ
iOS
Windows ストアアプリ
16. 16
1.ASP.NET Web API の利用例
③ クライアントとして HTTP サービスを利用する
HTTP サービスを
提供する側
ASP.NET Web API
HTTP サービスを
利用する側
↑先の2つの例はこちら ↑今から紹介する例はこちら
17. 17
1.ASP.NET Web API の利用例
③ クライアントとして HTTP サービスを利用する
ニュースやお天気
などの
HTTP サービス
※ASP.NET Web API に限らず
HTTP Client
HTTP サービスを
呼び出すための
クライアント
ライブラリ
18. 18
1.ASP.NET Web API の利用例
③ クライアントとして HTTP サービスを利用する
• HTTP Client
• HTTP サービス を呼び出すためのクライアントライブラリ
• ASP.NET Web API の中に含まれている
• .NET 4.5 に追加された
• (.NET 4 では、NuGet からライブラリを取得することで利用可能)
• Windows Phone や Windows ストアアプリでも利用される
19. 19
1.ASP.NET Web API の利用例
③ クライアントとして HTTP サービスを利用する
Twitter API を、
HTTP Client ライブラリを使って
呼び出す。
20. 20
1.ASP.NET Web API の利用例
③ クライアントとして HTTP サービスを利用する
HTTP Client ?
ASP.NET Web API に含まれている??
NuGet で取得できる??
21. 21
1.ASP.NET Web API の利用例
System.Net.Http.dll, …
Microsoft.Net.Http
System.Net.Http.Formatting.dll
Microsoft.AspNet.WebApi.Client
System.Web.Http.dll
Microsoft.AspNet.WebApi.Core
青文字… NuGet のパッケージ名
System.Web.Http.WebHost.dll, …
Microsoft.AspNet.WebApi.WebHost
Microsoft.AspNet.WebApi
HTTP Client で使う ライブラリ
ASP.NET Web API で使う
ライブラリ
22. 22
1.ASP.NET Web API の利用例
System.Net.Http.dll, …
Microsoft.Net.Http
System.Net.Http.Formatting.dll
Microsoft.AspNet.WebApi.Client
System.Web.Http.dll
Microsoft.AspNet.WebApi.Core
青文字… NuGet のパッケージ名
System.Web.Http.WebHost.dll, …
Microsoft.AspNet.WebApi.WebHost
Microsoft.AspNet.WebApi
HTTP Client で使う ライブラリ
ASP.NET Web API で使う
ライブラリ
←?
23. 23
1.ASP.NET Web API の利用例
Media Type Formatter (System.Net.Http.Formatting.dll)
• ASP.NET Web API の重要なキーワードの1つ
• HTTP リクエスト・レスポンスの Body ⇔
オブジェクトの変換を受け持つ
HTTP Body
オブジェクト
• JsonMediaTypeFormatter
• XMLMediaTypeFormatter
• FormUrlEncodedMediaTypeFormatter
24. 24
1.ASP.NET Web API の利用例
Media Type Formatter (System.Net.Http.Formatting.dll)
HTTP リクエスト
Body
オブジェクト
HTTP レスポンス
Body
オブジェクト
オブジェクト オブジェクト
クライアント側
サーバー側
25. 25
• ASP.NET Web API の利用例 を3つ紹介
• ASP.NET WebForms, MVC との連携。.NET 4 以上で動作。
• HTTP Client で HTTP サービスを呼び出す
• System.Net.Http.Formatting.dll
1.ASP.NET Web API の利用例
50. 50
まとめ
• ASP.NET Web API の利用例 を3つ紹介
• ASP.NET WebForms, MVC との連携。.NET 4 以上で動作。
• HTTP Client で HTTP サービスを呼び出す
• Media Type Formatter
• フレームワーク内部について
• 支援機能を3つ紹介
• API ヘルプページ自動生成
• テスタビリティの高さを利用する
• トレース機能
• メカニズム
51. 51
これから始める方へ
• とりあえずどんな感じかコードを見たい!
• → ASP.NET Web API プロジェクトテンプレートではなく、
スキャッフォールド機能で生成されるコードがおすすめ。
CRUD 一連の処理が記述されています。
My Favorite Features: Entity Framework Code First and ASP.NET Web
API
• ドキュメント
• ASP.NET オフィシャルサイト
• 英語ですが、概要からサンプルコード、拡張の仕方まで充実しています。
http://www.asp.net/web-api
• 「Overview」「Samples」がおすすめ。