タグ

2019年1月5日のブックマーク (2件)

  • Django Channelsのdatabase_sync_to_asyncを理解しなくて死んだ話 - [Dd]enzow(ill)? with DB and Python

    Django Channelsの@database_sync_to_asyncデコレータを正しく理解しなくてえらい目('MySQL server has gone away')にあったので、確認して理解した内容を残しておきます。 ざっくりと Django Channelsを使うと、DjangoでもWebSocketを使用するアプリケーションを作る事ができます。WebSocket通信の処理はConsumerというコンポーネントにクラスベースで定義していきます。こいつは非同期実装と同期実装の2種類がありますが、パフォーマンス的には非同期実装が優れています。この時、Djangoのモデルに対する処理については@database_sync_to_asyncデコレータをつけるようにマニュアルに記載されています。 https://channels.readthedocs.io/en/latest/top

    Django Channelsのdatabase_sync_to_asyncを理解しなくて死んだ話 - [Dd]enzow(ill)? with DB and Python
    nodat
    nodat 2019/01/05
  • Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER

    今回はソケットプログラミングについて。 ソケットというのは Unix 系のシステムでネットワークを扱うとしたら、ほぼ必ずといっていいほど使われているもの。 ホスト間の通信やホスト内での IPC など、ネットワークを抽象化したインターフェースになっている。 そんな幅広く使われているソケットだけど、取り扱うときには色々なアーキテクチャパターンが考えられる。 また、比較的低レイヤーな部分なので、効率的に扱うためにはシステムコールなどの、割りと OS レベルに近い知識も必要になってくる。 ここらへんの話は、体系的に語られているドキュメントが少ないし、あっても鈍器のようなだったりする。 そこで、今回はそれらについてざっくりと見ていくことにした。 尚、今回はプログラミング言語として Python を使うけど、何もこれは特定の言語に限った話ではない。 どんな言語を使うにしても、あるいは表面上は抽象化さ

    Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER