【Django】1回のリクエストで複数のデータを投稿する【request.POST.getlist()】 作成日時: 2022年7月15日 14時13分 最終更新日時: 2022年7月15日 14時13分 Categories: サーバーサイド Tags: Django コスト削減 例えば、複数のデータを投稿しなければならない時。 フォームに内容を書いて投稿(POSTリクエスト)、投稿内容が表示される(レスポンス) フォームに内容を書いて投稿(POSTリクエスト)、投稿内容が表示される(レスポンス) フォームに内容を書いて投稿(POSTリクエスト)、投稿内容が表示される(レスポンス) フォームに内容を書いて投稿(POSTリクエスト)、投稿内容が表示される(レスポンス) などと複数回リク ... 続きを読む
WebSocketとポーリング、ロングポーリングの違い【非同期通信と双方向通信】 作成日時: 2022年5月5日 08時53分 最終更新日時: 2022年5月5日 08時53分 Categories: サーバーサイド Tags: 上級者向け コスト削減 Ajax 非同期通信 前説 非同期通信 非同期通信とは、2人以上のユーザーがそれぞれ自分たちの都合のいいタイミングでデータを受信し、通信をすることである。 同期通信とは、リクエストを送信した後、レスポンスを受け取るまで何もできない。 非同期通信ではリクエスト送信をJavaScriptに任せることで、リクエスト送信後からレスポンスを受け取るまでに、続けて処理を行うことができる。 この非同期通信を行うために使用する技術がAjaxであ ... 続きを読む
【Django】channelsを使ってWebSocketを実現させる【チャットサイト開発に】 作成日時: 2022年5月2日 21時34分 最終更新日時: 2022年5月2日 21時34分 Categories: サーバーサイド Tags: Django WebSocket 上級者向け スタートアップシリーズ コスト削減 django-channelsのチュートリアルに倣って、WebSocketを使ったチャットサイトを作った。 とても実装難易度が高く、一筋縄では行かない。そのため実装手順の備忘録として本記事をまとめておく。 わかっていること WebSocketとはプロトコルのこと、HTTPでは実現できない双方向通信を実現させるためのもの 前もってHTTPでWebSocketの通信経路を作る必要がある WebSocketの経路 ... 続きを読む
【Django】Ajax(jQuery)でロングポーリングを実装させる【チャットサイトの開発に】 作成日時: 2022年4月28日 16時06分 最終更新日時: 2022年4月28日 16時06分 Categories: サーバーサイド Tags: django ajax 上級者向け コスト削減 Ajaxを使えば、ページを部分的に更新させることができる。 そして、setTimeoutを使うことで、指定した時間おきにページを部分的に更新することができる。 ただ、Ajaxによるリクエストとレスポンスを繰り返している(ただのポーリング)ようでは、ウェブサーバーに負担が掛かってしまう。 クラウドサーバーなどは死活問題で、負荷が増えると課金してサーバーの強化などを考慮しなければならない。 そこで、リクエスト ... 続きを読む