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

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

スプラトゥーンが上手になりたくてメディアサーバ embyを導入した

3ヶ月くらい前からいまさらスプラトゥーンを始めました。まだSいくかどうかの辺りをウロウロしています。 あまりFPSはやったことないのですが、こういうのは振り返りが大事かなと思いプレイ動画を録画するためにキャプチャーボードを買いました。 現在はこれ…

ISUCON11予選に参加して32位で敗退してきました。

最近全然書いてなかったけど、そろそろ書かないと復帰できない気がしたので。 タイトル通り、今年もLAPRASのメンバーでISUCON予選に参加してきました。チームメンバーは去年から一人入れ替わり、チーム真人間として参加しました。メンバーは以下でした。 @sh…

ISUCON9予選に参加して10点足りずに敗退してきました

久しぶりのBlogです。9/8にISUCON9予選が開催され 同僚とともに むし,うさぎ,いぬ というわかりづらいチームで参加してきました。私はうさぎです。個人としては3回目、このメンバーでは2回目の参加でした。 isucon.net 最終結果

PyConJP 2018参加してきた(スピーカ・スポンサー)

ISUCON予選の傷も癒えぬまま、PyConJP 2018に参加してきました。火曜も出勤扱いで参加でした。やったぜ。 今回のPyConJPはスピーカとしての参加でしたので、だいぶはらはらながらの参加でした。

ISHOCON2を意地でPythonで20万点だした

前回書いたように、ISHOCON2に参加してきました。Pythonで9万点で3位ではありましたが、GoやCrystalといったコンパイル言語勢が20万以上出していて悔しいでのPythonで20万点出るように試行錯誤しました。

ISHOCON2に参加してきました

転職決めたあたりでアウトプット増やそうと思ってはじめたブログも1年過ぎてました。今日はISHOCON2に参加してきました。 scouty.connpass.com ISHOCON1のときはまだscoutyの社員じゃなかったので普通の参加者でしたが、今回はスタッフ兼参加者として言って…

Django Channelsのdatabase_sync_to_asyncを理解しなくて死んだ話

Django Channelsの@database_sync_to_asyncデコレータを正しく理解しなくてえらい目('MySQL server has gone away')にあったので、確認して理解した内容を残しておきます。

Pythonのmockをしても引数が変わらないようなデコレータを書いた

小ネタです。unittest.mock.patchを使うと、動的にメソッド内での関数やモジュールを差し替えることができますが元関数の引数への影響をなくしたかったという話です。そういやそもそもこんな記事書いてました。

普通のDjangoでlogin用のAPIを作る

普段はDjangoで普通にWEBアプリを作っていますが、別のクライアントアプリから認証する必要がでたので、login用のAPIを作ることになったのですが、django api loginとかでググるとDjango REST Frameworkでの話ばかりになったのでメモ程度に。

ログインが必要なWebsocketを扱えるライブラリつくった

先日書いた記事で必要なことを、さくっとできるようにライブラリにしてPyPiに登録してみました。 github.com

Django Channelsで実装した認証付きWebsocketにPythonで接続する

最近はDjango上でWebsocketを使えるようにするChannelsを仕事でひたすら触っています。さて、Channelsで実装したWebSocketサーバに対して負荷テストをしたいと思ったときには、ログイン処理について考えなければいけません。 ほとんどの場合、ChannelsではDj…

Djangoでモデルにauto_nowを指定しても更新されない事がある

Djangoのモデルの時刻系のField(DateTimeFieldなど)にはauto_nowという属性があります。これをauto_now=Trueとするとモデルを更新するたびにその時点での時刻を自動で設定してくれるので、更新時刻などを保持しておきたい場合に便利です。 class AutoAddTest…

DjangoのFileFieldのバックエンドを動的に切り替えたい(S3BotoStorageの例)

DjangoのモデルにはFileFieldやImageFieldなど、バイナリファイルを扱う属性があります。 FileField ImageField これらに格納されるファイルの保存先を動的に変更する方法を確認しました。

Djangoで実行されたクエリを確認したい(`connection.queries`)

connection.queriesで発行されたSQLを確認できるというDjangoの小ネタです。

Django Congress 2018 で登壇してきました

かなり更新をサボってしまっていました。2018/05/19に開催されたDjangoCongressにスピーカとして参加してきましたので参加記録をまとめておきます。

Django Channels + Vue.js でWebSocketをつかってTrelloみたいなカンバンを作ってみた

ChannelsとVue.jsの練習がてらカンバンを実装してみました。割りとカンバンのUIの実装記事はあるのですが、サーバ側までセットになったものが少なかったのでがんばりました。 github.com リポジトリのコードが全てではありますが、一応メモ程度に内容を残し…

Django 2.0 + Channels 2.xを使ってWebsocketを扱う(その4)

前回に引き続きChannelsを触っていきます。前回で一応チャットとして必要なRoomの概念をChannel LayerのGroupで実装しました。今回はその実装を少しいじっていきます。

Django 2.0 + Channels 2.xを使ってWebsocketを扱う(その3)

少し空きましたが前回に引き続きChannelsを触っていきます。前回はChannelsでWebSocketでのエコーサーバ的なところまで実装しましたので、Room等を作っていきます。

Django 2.0 + Channels 2.xを使ってWebsocketを扱う(その2)

前回に引き続きChannelsを触っていきます。前回はChannelsの有効化までやっていきましたので、今回は実際にChannelsを使ってWebSocketでのチャットを実装していきます。

Django 2.0 + Channels 2.xを使ってWebSocketを扱う(その1)

現在仕事でWEBサービスを作るときはDjango一択な環境にいます。今度Websocketが必要になったのですがDjangoでWebsocketどうするんだってことで調べたところChannelsというライブラリを使うらしいです。Djangoのグループが作っているので安心感があります。Ch…

Dockerで特定のサブディレクトリだけホストと共有しない( Data Volume)

現在の仕事では各個人の開発環境をDockerで用意しています。基本的にコードがあるディレクトリをコンテナ側と共有していますが、一部分だけ共有したくないというケースが発生しました。以下のようなケースです。 drwxr-xr-x 571 denzow staff 19414 3 18 09:…

Pythonでgulp watchみたいにファイル変更があったらリロードするコマンド作った(pywatcher)

gulpとかは指定したファイルの変更があると、それに応じてアクションを実行してくれる機能がありますね。またbottleやdjangoのDEVサーバ等でもコードの変更を検知して自動でプロセスを再起動してくれる機能があります。 先日作業中に、WEBサーバではないもの…

みんなのPython勉強会 #33に参加してきた(stapy)

スタッフなのに転職でワタワタしてからなかなか行けてなかったみんなのPython勉強会(stapy)に久々に時間が都合付いたので参加できました。stapyに参加したらLTするというポリシーなので 勉強会参加したら取り敢えず参加記を上げるところから始めよう、的なLT…

Pythonで一番小さいWEBフレームワークbottle.py その8(TEMPLATE)

最初の頃はbottleの話をよく書いてましたが最近は疎かになってましたので久しぶりです。今回はtemplate engineについてまとめておきます。

scrapyのspiderのテスト(scrapy check / contract)

なんか気がつけば2017年8月から始めたBlogも1万アクセスを突破してました。めでたい。 さて、最近はDjangoよりもScrapyに触ってる事が多いです。結構日本語の情報も増えてきましたが、Django等に比べるとまだまだ利用者が少ないのか情報が少ない部分もありま…

Chrome Extensionのアイコンを動かしたい(chrome.browserAction.setIcon)

最近ちょこちょこChrome Extensionのコードを書いています。メインの処理自体はAPIを叩いて結果を取り出すだけのシンプルなものですが、細部に凝りだすと際限がないですね。 Chrome ExtensionのbrowserActionを使っている場合、常にブラウザの右上にアイコン…

Djangoのtemplateでifを省略する(yesnoフィルター)

Djangoのtemplateでちょっとしたifを省略する場合の話です。Listを元にDOMノードを作成しているときに、元データに応じてCSSクラスを変更したい場合の話です。以下のようなケースをもう少しきれいに書きたくなったので調べました。 <ul> {% for row in data_list</ul>…

DynamodbのLimitが思った動きでなくて嵌った話(Dynamodbの基本的なクエリ等)

Dynamodbを使うようになったのですが、RDBMSに比べるとDynamodbは雰囲気でやっているところが多く、表題のLimitオプションの挙動で嵌ったのでboto3での例とあわせてまとめておきます。

Pythonでシングルトン(Singleton)を実装してみる

最近はHead First デザインパターンを読みながら、デザインパターンの勉強をしています。この本は読みやすくてとても参考になるのですが、サンプルの実装はJavaになっておりそのままPythonに移植することはできません。 第5章がシングルトンパターンですが、…

CSSを使用したローディング画面を実装したかった

CSSでローディング画面を追加しないといけなくなって色々調べて悩んだので、まとめておきます。こういうのです。