久しぶりのBlogです。いうわかりづらいチームで参加してきました。個人としては3回目、このメンバーでは2回目の参加でした。2018に参加してきました。火曜も出勤扱いで参加でした。今回のPyConJPはスピーカとしての参加でしたので、だいぶはらはらながらの参加でした。Python前回書いたように、ISHOCON2に参加してきました。Pythonで9万点で3位ではありましたが、GoやCrystalといったコンパイル言語勢が20万以上出していて悔しいでのPythonで20万点出るように試行錯誤しました。MySQL転職決めたあたりでアウトプット増やそうと思ってはじめたブログも1年過ぎてました。今日はISHOCON2に参加してきました。away')にあったので、確認して理解した内容を残しておきます。2018-07-26Pythonのmockをしても引数が変わらないようなデコレータを書いたPython小ネタです。unittest.mock.patchを使うと、動的にメソッド内での関数やモジュールを差し替えることができますが元関数の引数への影響をなくしたかったという話です。いやそもそもこんな記事書いてました。Frameworkでの話ばかりになったのでメモ程度に。Python前回に引き続きChannelsを触っていきます。LayerのGroupで実装しました。今回はその実装を少しいじっていきます。Python少し空きましたが前回に引き続きChannelsを触っていきます。前回はChannelsでWebSocketでのエコーサーバ的なところまで実装しましたので、Room等を作っていきます。WebSocket前回に引き続きChannelsを触っていきます。前回はChannelsの有効化までやっていきましたので、今回は実際にChannelsを使ってWebSocketでのチャットを実装していきます。Channels現在仕事でWEBサービスを作るときはDjango一択な環境にいます。今度Websocketが必要になったのですがDjangoでWebsocketどうするんだってことで調べたところChannelsというライブラリを使うらしいです。Djangoのグループが作っているので安心感があります。watchみたいにファイル変更があったらリロードするコマンド作った(pywatcher)Pythongulpとかは指定したファイルの変更があると、それに応じてアクションを実行してくれる機能がありますね。bottleやdjangoのDEVサーバ等でもコードの変更を検知して自動でプロセスを再起動してくれる機能があります。stapyスタッフなのに転職でワタワタしてからなかなか行けてなかったみんなのPython勉強会(stapy)に久々に時間が都合付いたので参加できました。Python最初の頃はbottleの話をよく書いてましたが最近は疎かになってましたので久しぶりです。engineについてまとめておきます。Pythonなんか気がつけば2017年8月から始めたBlogも1万アクセスを突破してました。最近はDjangoよりもScrapyに触ってる事が多いです。PythonDjangoのtemplateでちょっとしたifを省略する場合の話です。Listを元にDOMノードを作成しているときに、元データに応じてCSSクラスを変更したい場合の話です。以下のようなケースをもう少しきれいに書きたくなったので調べました。PythonDynamodbを使うようになったのですが、RDBMSに比べるとDynamodbは雰囲気でやっているところが多く、表題のLimitオプションの挙動で嵌ったのでboto3での例とあわせてまとめておきます。デザインパターンを読みながら、デザインパターンの勉強をしています。この本は読みやすくてとても参考になるのですが、サンプルの実装はJavaになっておりそのままPythonに移植することはできません。PostgreSQL今回はDjangoのsettings.DATABASESに指定できるATOMIC_REQUESTSという設定について挙動を確認してみます。データベースにはPostgreSQLを利用します。WorkMail、便利ですね。AWSが提供しているメールサービスで、独自ドメインでメールの送受信ができます。自社のサービスでは、お客様ごとにメールアドレスを発行しており、その際にWorkMailを使っています。boto32018年もはじまって1週間、そろそろ社会復帰しないといけないですね。昨年末にRDSやらboto3やら触っていたのでそこら辺まとめておきます。PythonDjangoはモデルの内容が変更されても、makemigrationsしてmigrateすればDBにモデルの変更を反映できるので楽でいいですね。ユニーク制約をもったカラムを追加しようとしたら簡単にはいかないケースに遭遇したのでメモを残しておきます。PythonここのところDjangoを触り続けていてなかなか楽しいです。触っている中であるModelのオブジェクトを1つに統合する処理を書かなければいけなくなりました。そんなときに影響を受けるModelの洗い出しをどうするか調べたので残しておきます。2017-12-17Pythonのunittestのmock.patchでハマった話(結局何をpatchすればいいのか)Python最近のクローラ周りのunittestを書いていたのですが、テスト速度の改善や安定化のためにmockのpatchを使おうとして色々とハマったのでまとめておきます。照度センサを使って、トイレの使用状況をSlackからわかるようにしてみました。職場は2フロアあり、下のフロアがオープンスペースになっていおりトイレもここにあります。DATAのあたりを見ていきます。HTMLで作成したフォームの内容をサーバ側でどのように受取っていくかです。Python少し間が空いてしまいましたが、久々にbottleについてまとめていきます。今回はCookieあたりを見ていきます。2017の3日目です。同日にもう1記事あげていますのでよろしければご覧ください。DatabaseにSQLを発行する流れをご紹介します。2017の3日目です。同日にもう1記事あげていますのでよろしければご覧ください。次の仕事ではOracleとかかわらなくなりますが、思い入れがありますのでエントリ書いておきます。PythonISUCON7の予選は、画像へのアクセスをいかに304で処理して帯域を節約できるかが肝でした。そこでnginxのETagやLast-Modified等の設定周りを見直してみます。embyを導入したISUCON11予選に参加して32位で敗退してきました。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。