前回に引き続きChannelsを触っていきます。前回で一応チャットとして必要なRoomの概念をChannel LayerのGroupで実装しました。今回はその実装を少しいじっていきます。
続きを読むDjango 2.0 + Channels 2.xを使ってWebSocketを扱う(その1)
現在仕事でWEBサービスを作るときはDjango一択な環境にいます。今度Websocketが必要になったのですがDjangoでWebsocketどうするんだってことで調べたところChannelsというライブラリを使うらしいです。Djangoのグループが作っているので安心感があります。Channelsは日本語でもいくつか記事がありましたが1.x時代のものでそのままでは動かなかったりしたのでチュートリアルを中心に試してみました。
ということで何回かにわけて(たぶん3回?)Django Channelsのチュートリアルをベースにちょっとだけ手を加えた内容をまとめていきます。また最終的には本番環境で動かせるようにnginx経由でwebsocketができるところまで持っていきます。
続きを読むDockerで特定のサブディレクトリだけホストと共有しない( Data Volume)
現在の仕事では各個人の開発環境をDockerで用意しています。基本的にコードがあるディレクトリをコンテナ側と共有していますが、一部分だけ共有したくないというケースが発生しました。以下のようなケースです。
drwxr-xr-x 571 denzow staff 19414 3 18 09:43 node_modules -rw-r--r-- 1 denzow staff 286 3 18 09:43 package.json drwxr-xr-x 3 denzow staff 102 3 18 09:47 src -rw-r--r-- 1 denzow staff 584 3 18 09:47 webpack.config.js -rw-r--r-- 1 denzow staff 134 3 18 09:51 Dockerfile_webpack -rw-r--r-- 1 denzow staff 205 3 18 09:52 docker-compose.yml
src
配下のファイルをdist
にビルドするwebpackを導入したコンテナを構成しています。このディレクトリをコンテナと共有しますが、ホスト側がMacでコンテナ内がLinuxですのでnode_modules
はできれば共有したくありません。カレントは共有する、ただしnode_modulesを除くという状況の実現方法を調べました。
Pythonでgulp watchみたいにファイル変更があったらリロードするコマンド作った(pywatcher)
gulp
とかは指定したファイルの変更があると、それに応じてアクションを実行してくれる機能がありますね。またbottleやdjangoのDEVサーバ等でもコードの変更を検知して自動でプロセスを再起動してくれる機能があります。
先日作業中に、WEBサーバではないものの常駐型プロセスの開発をするケースがあり、コード書き換えごとに再起動するのが面倒だったので、変更を検知するとプロセスを自動で再起動してくれるコードを書きました。
今回はそれをもう少し整えてPyPIに登録したのでまとめておきます。
続きを読むみんなのPython勉強会 #33に参加してきた(stapy)
スタッフなのに転職でワタワタしてからなかなか行けてなかったみんなのPython勉強会(stapy)に久々に時間が都合付いたので参加できました。stapyに参加したらLTするというポリシーなので 勉強会参加したら取り敢えず参加記を上げるところから始めよう、的なLTをしてきましたので当然自分でも参加記書いておきます。
続きを読む