モデルクラスを継承してメソッドを追加する(proxyを使う場合)

この記事は Django Advent Calendar 2017 の7日目の記事です。 Djangoのモデルクラスを継承した場合、Metaに特に指定が無ければ、マルチテーブル継承となり、migrateを実行すると2つのテーブルができます。 モデルを継承して単一のテーブルにする方法は2つあ…

Djangoフレームワーク組込みのドキュメントジェネレータ(django.contrib.admindocs)の紹介

この記事は Django Advent Calendar 2017 の6日目の記事です。 tell-kさんの記事 を読んでいて、「そういえばDjangoには組込みのドキュメントジェネレータがあるんで紹介しておこう」と思ったので書くことにしました。 タイトルの通り、 django.contrib.admi…

1年の振り返りなど

この記事はpyspa Advent Calendar 2017の2日目の記事です。 https://adventar.org/calendars/2258 今年1年の振り返りなどいくらか。ほとんど畑の話。 畑 去年畑を借りて、今年も契約を更新しました。 借りている市民農園の畑の使用料は1万円/年です。安い。 …

『Google Homeを使いたおす! DialogflowとAoG Meetup』に参加しました

タイトルの通り、勉強会に参加してきました。 ブログ枠で参加したので、ノルマをこなします。 gcpug-tokyo.connpass.com 感想とか GoogleHomeは持っていて、Dialogflowとつなぐチュートリアルまでは実施済みぐらいの知識で参加した。 DialogflowはWebhookの…

Hue meetupでDjangoの話をしてきました

Hadoop WebUIソフトウェアのHueのmeetupでDjangoの話をしてきました。 connpass.com HueはDjangoフレームワークで作られているのですが、どのように使われてるとか、拡張の仕方とかを紹介しました。 スライドは、slideshareにアップロードしています。 Djang…

PyConJP 2017でDjangoの認証の話をしてきました

9/7~9/10に行われたPyConJP 2017に参加し、『Djangoフレームワークのユーザーモデルと認証』というタイトルで話してきました。 https://pycon.jp/2017/ja/ Djangoフレームワークのユーザーモデルと認証 Djangoの認証まわりを触る前に知っておくとよさそうな…

Django1.10以降のDeferredAttributeとフィールドへのアクセス

Djangoのモデルクラスにフィールドやメソッドを定義しておいて、さらに属性値を代入していて、この値を取得するコードを書く場合。 メソッドのほうはgetattrでとればいいのだけど、同様にDjangoのフィールドのほうはget_fieldでフィールドを取得しないといけ…

7/15に北海道のオープンソースカンファレンスでDjangoの紹介をしてきました。

www.ospn.jp 聞きに来てくださった方はありがとうございました。 今年も北海道の人たちに会えたのでよかったです。また来年。 スライドとサンプルコード Djangoフレームワークの紹介 from Shinya Okano www.slideshare.net github.com

API.AIのコンテキストを使ってChatOps環境を作る

2017/10/12 追記: API.AIのサービス名はDialogflowに変わりました。 API.AIのContextsとWebhookでChatOps環境を作ってみます。 https://docs.api.ai/docs/concept-contextsdocs.api.ai 今回は、SlackのChatbotとやりとりし、「管理者モード開始」から「管理…

API.AIを試す

2017/10/12 追記: API.AIのサービス名はDialogflowに変わりました。 Slackのbotなどを作るときに、API.AIを使うと面白いか便利かもねという話を聞いたので試しています。 api.ai API.AIってどういうものか API.AIの概要は公式ドキュメントの説明がわかりやす…

bpmappers 0.9

bpmappersのバージョン0.9を公開しました。 pypi.python.org リポジトリはbeproud organization以下にありますが、権限を頂いて引き続きメンテナンスしています。 以前のバージョンでは、django.utilsにあったSortedDictとMultiValueDictをコピーして使って…

django-ftpserver 0.5.0

django-ftpserverのバージョンを0.5.0に上げました。 pypi.python.org pyftpdlibのFileSystemにDjangoのStorageAPIをつなげる機能を追加してみました。 StorageAPIとつなげると、面白そうだなーというのは前から考えてたんですが、StorageAPI側の機能が足り…

プログラミング学習サービスPyQの紹介

PyQというプログラミング学習サービスの紹介と宣伝です。 ↓ これ ↓ 以前、私が勤務していた株式会社ビープラウドが開発しています。 ビープラウドは、Python言語が得意でシステム開発をやってる会社です。connpassというイベントサイトの開発、運営もやって…

CentOS7にCartonを導入する

CentOS7 (7.3) にCartonをインストールするところでハマったのでメモを残す。 GitHub - perl-carton/carton: Bundler or pip freeze for Perl cpanmコマンドまではインストール済み。Cartonをインストールするとcartonコマンドを使えるようになる。 CentOS7…

CentOS7にcpanminusを導入する

CentOS7 (7.3) にcpanminusをインストールするところでハマったのでメモを残す。 GitHub - miyagawa/cpanminus: cpanminus - get, unpack, build and install modules from CPAN cpanminusを導入するとcpanmコマンドを使えるようになる。 CentOS7はvagrantの…

Kerberos認証とPython

Windowsで認証にActiveDirectoryを使っている環境だと、シングルサインオン(SSO)などやるときにKerberos認証を使いたいこともあるだろうということで調べていました。 他の認証方法はNTLMがあるけど、非推奨のようなのでKerberosのほうを調べることに。 Kerb…

GoogleAppEngineとGoogleCloudPlatformの知識アップデート2017/05

3年ぐらいGoogleAppEngine (GAE)を使っていなかったのですが、GCPの無料枠も増えてるみたいだし久しぶりに触ってみようと思って調べていました。 以下、GAEとGCP周辺の知識のアップデートなメモ書き。 GoogleCloudPlatform (GCP) cloud.google.com Googleが…

ツンパァードラグーン・VR

前置き 今月は案件が無くて時間があったので、VRについていろいろ調べて試していました。 来月も今のところ暇になりそうなので、案件のお話があれば是非お問い合わせください。 www.open-c.jp 以下、本題です。 きっかけ HTC VIVEを試すために何かアプリケー…

AWS LambdaをPython3.6とChaliceで試す

AWS LambdaがようやくPython3に対応したそうなので試してました。 AWS Lambda Supports Python 3.6 Lambdaを使う際、Pythonランタイムだとchaliceというフレームワークを使うと楽なのですが、Python3サポートに合わせてchaliceもバージョンが上がっていまし…

Travis CIのmatrixでtoxを実行する

Djangoフレームワークに依存するPythonのモジュールを作っていると、複数のPythonバージョンと複数のDjangoバージョンでテストコードを実行する必要があります。 手元で実行する場合はtoxを使うのですが、CIツールでもテストを実行したいです。 Welcome to t…

Django 1.11がリリースされましたね

Djangoフレームワークの1.11がリリースされましたね。 Django 1.11 released | Weblog | Django 1.11はLTS(Long Term Support)バージョンです。メンテナンス期限はリリースから3年後までなので、2020年4月までになります。 1つ前のバージョン1.10のメンテナ…

Unity使い始め

HTC VIVEで遊びたくて、まずはUnityをちょっと使えるようになってみようって感じで勉強し始めたのでメモを残したり。 Unity - Game Engine 読み始めた書籍 購入して読み始めた本はこれ。 ほんきで学ぶUnityゲーム開発入門 Unity5対応作者: 夏木雅規出版社/メ…

VRをやっていきたい

VR

会社でHTC VIVEを購入したので、VRやARについて知見を得ていきたいと思う。知識ほぼないところからスタートだけども。 VIVE™ 日本 | 想像を超えたバーチャルリアリティの体験 HTC VIVEを少し動かしてみた感想としては、次のような感じ。 ルームスケール用の…

devproxyをWebアプリケーション開発で使う

devproxyというのを開発時に使っているのですが、便利なので紹介します。 GitHub - moriyoshi/devproxy: A swiss army knife of forward HTTP proxies devproxyは、Webアプリケーション開発向けのHTTPフォワードプロキシです。次のような点で便利です。 /etc…

SphinxでPDFをビルドするためのDockerイメージを作った

Sphinxでlatexpdfjaコマンドを使ってPDFをビルドするには、latexのインストールされた環境が必要になります。 Ubuntuだとtexlive-fullパッケージで必要なパッケージをインストールできるっぽいというのを把握しました。 texlive-fullは依存パッケージがたく…

2017年

年が明けて1月はもう後半になってしまいましたが、今年もちょっとずついろいろなことをやっていきたいです。 ブログの更新頻度をもう少し高めにしたい ここ1~2年、技術的に新しいことに手を出せていなくて危機感高まっているので、入門的なことからでもメモ…

畑を借りたり農作業したり

この記事はpyspa Advent Calendar 2016の7日目として投稿しています。 http://www.adventar.org/calendars/1435 今年、畑を借りました うちの近所には、市民が趣味で農作物を育てたりできる市民農園がいくつかあり、市営、民営で貸し出されています。 私が借…

dogpile.cacheでpickleシリアライズせずにRedisに値を保存する

Python用のキャッシュフレームワークでdogpile.cacheというモジュールがあります。 Welcome to dogpile.cache’s documentation! — dogpile.cache 0.6.2 documentation Redisに保存するバックエンドも提供されているんですが、そのまま使うと値はpickleシリア…

ThriftPy+gunicorn_thriftでRPCサーバーを動かす

ThriftPyを使って作ったサーバーを動かすのに、thriftpy本体が持ってるサーバークラスを使ってもいいのだけど、タイムアウト処理やマルチプロセス動作だとかやるのが少し面倒だなーと考えてました。 githubでサーバークラスを差し替えるpull requestを出して…

Procfileを扱う

Procfileというのを使ったのでメモを残す。 Procfileという名前のファイルを作って、アプリケーションの起動コマンドをまとめておくと、Procfileを扱うツールから簡単に実行できる。 Procfile: web: gunicorn -w 4 main:app 0.0.0.0:$PORT test: py.test . …