[Dd]enzow(ill)? with DB and Python

DBとか資格とかPythonとかの話をつらつらと

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をしてきましたので当然自分でも参加記書いておきます。

続きを読む