c-bata web

@c_bata_ のメモ。python と Go が多めです。

Python

Django における認証処理実装パターン

この資料は DjangoCongress JP 2018で話した「Djangoにおける認証処理実装パターン」 の解説記事になります。 何年か前に Djangoのユーザー認証まとめ という記事を書きました。今でもコンスタントに100PV/dayくらいアクセスのある記事なのですが内容が古く…

エキスパートPythonプログラミング 改訂2版が発売されました

改訂2版と書いてあるように、この本には初版があり日本語の翻訳書は2010年頃に出版されていました。 自分がPythonを書き始めたのが2014年頃だったのですが、当時通っていた学校の図書館で見つけてこの本を借りたことがあります。 プログラミングの勉強を初め…

PyCon APAC 2017 参加レポート

今年で3回目のPyCon APAC参加になりました。 前回まではgihyo.jpさんの方で連載していたのですが、今回はpyladiesの方々が書いてくれるみたいなので楽しみ。 台湾で開催された「PyCon APAC 2015」参加レポート:レポート|gihyo.jp … 技術評論社 「PyCon APA…

Core APIの概要とDjango REST Frameworkでの使い方

Django Advent Calendar 2016 - Qiita 18日目の記事です。 Django REST Frameworkは、DjangoでRESTfulなAPIを提供するときに非常に人気のあるフレームワークです。 既に使ってるよという方も多くいらっしゃるのではないでしょうか。 日経電子版さんも業務で…

Released Kobin v0.1.0: Web Framework for Python3.

少し開発が停滞気味だったのですが、最近多くのアップデートを加えたので、v0.1.0をリリースしました。それに伴い、WSGIミドルウェアやWSGICLIの開発、ドキュメントの整備を行ったので紹介。 github.com Kobin Kobinの説明や使い方は、ドキュメンテーション…

PIPEによるプロセス間通信とselect, poll, epollの話

先日、 tokibito 先生(id:nullpobug)と勉強していたpipe, select, poll, epollあたりについてメモ。 os.fork os.fork : 子プロセス(child process)をつくれる。 import os a = 0 print(a) os.fork() a += 1 print(a) 子は親の複製。親のデータ、ヒープ、スタ…

AWS LambdaとAPI Gatewayを触ってみたのでメモ

PyCon JP スプリントの時に id:iktakahiro さんがLambdaの話をしていたのですが、Lambda + API Gatewayは覚えとくと便利そうなので試してみた。 Lambdaを触ってみる まずAPI Gatewayは考えずに、Lambdaを触ってみる。 調べてみたら、公式のドキュメントにも…

#pyconjp でWeb(WSGI)フレームワークの作り方について話してきました

昨年のPyConJPでは pandas-validator について話していたのですが、今回はトークセッションをしてきました。 Twitter見てると早速スライドを見ながら実装してくださってる方もいらっしゃって嬉しいかぎりです。 日本語のWSGIフレームワークの作り方の資料と…

PyCon APAC 2016 in KoreaでLTしてきた

昨年の台湾の開催につづいて、今年もPyCon APAC 2016 in Koreaに参加してきました。 PyCon APACについて PyCon APACは名前の通りアジア太平洋地域の人たちが集まるPythonのカンファレンスです。 昨年は台湾で開催されて700人ぐらいが集まりましたが、今年は…

Flask 0.11で追加されたコマンドラインインタフェースを追ってみる

本日ついに、Flaskのnew versionがリリースされました。めでたいですね! 前回のリリースが2013/06/14だったので、ほぼ3年ぶりです。 バージョンを1.0に上げるという話がありマイルストーンも立っていましたが、0.11としてリリースされました。 1.0にしなか…

Feedy(Python)でRSSフィードをいい感じに処理する

最近、RSSフィードをfetchしてゴニョゴニョ処理したいと思うことが多かったのですが、特に気にいるライブラリが無かった *1 のでFeedyというライブラリを作ってみました。 個人的には結構気に入っていて、便利に使えているので紹介します。 もともと欲しかっ…

Pythonを使ったデータ分析に関する内容をJupyter Notebookにまとめ始めました

研究をかれこれ2年半ぐらい続けてきたので、研究をする中で必要になった機械学習の手法について調べたりコードを書いたりしてきたのですが、まだまだ触ったことのない機械学習の手法も多く、研究で必要になる手法以外の知識も付けたくなってきたので、勉強し…

DockerでHerokuの環境を再現する

はじめに 2015 tech-yuruyuru アドベントカレンダー - connpass 13日目です。 PythonのWebアプリを開発するとき、Mac上でそのまま開発することが多いんですがHerokuに近い環境で動作確認もしたい。 Heroku-toolbeltの中にDockerfileを生成してくれるコマンド…

Pythonにおけるハッシュ計算

エキスパートPythonプログラミング改訂2版作者: Michal Jaworski,Tarek Ziade,稲田直哉,芝田将,渋川よしき,清水川貴之,森本哲也出版社/メーカー: KADOKAWA発売日: 2018/02/26メディア: 単行本この商品を含むブログを見る はじめに ADVENTARのPythonアドベン…

PythonのWebアプリ動かす時にやったこととかメモ

はじめに ISUCONとかコンテスト系のイベントでPythonのWebアプリを出来るだけ早くセットアップしたい時があるので自分なりの手順とかメモ。自分が後で見返す用なのでまとまってないです。データベースに関しては別の記事に分けました。 nwpct1.hatenablog.co…

Flaskの構成とかライブラリメモ

はじめに Flaskでいくつかアプリを作るのでメンバーに共有するために、使うライブラリとその説明とかをメモ。 ソースコードはGithubで公開しています。 github.com Flask-SQLAlchemy モデルの定義 from . import db from werkzeug.security import generate_…

PyCon JP 2015でLTしてきました

はじめに PyCon JP 2015おつかれさまでした。 スタッフとしては半年ぐらい前から少しずつ作業してたので、かなり長く関わったイベントでした。 Lightning Talk youtu.be PyData界隈の人からも予想外に良い反応が帰ってきて、やったかいがありました。 Github…

ビープラウドでのアルバイトを終わりました

このブログには技術ネタ以外書かないつもりだったけど、かなりお世話になったので振り返りとお礼のエントリ。 ちょうど半年間ぐらいビープラウドでアルバイトをしていたのですが、それも昨日で終わりました。 BPのみなさんありがとうございました。 ビープラ…

クラス内のフィールドが定義された順番を保持する(Python・メタクラス)

colanderはメタクラスを作って `id`, `name`, `age` と定義された順番を把握しているとのこと。 [colanderのソースコード](https://github.com/Pylons/colander/blob/master/colander/__init__.py) を見ながら、どのように `id`, `name`, `age` の定義された…

pandasのvalidationライブラリを公開しました

はじめに pandasのDataFrameはかなり便利ですが、その構造を明示的に定義できないので変な値が混ざってることに気づきにくいです。 研究で使ってるプログラムで変な値が混ざってないかチェックしたい所があったのですが、validatorについて調べてみても特に…

Travis CIを使ったDjangoプロジェクトの継続的インテグレーション

はじめに 以前,Djangoのテスト(ユニットテスト)の書き方について勉強したことがありました. Djangoのテストの書き方について勉強したのでまとめる - Programming Log Djangoのテストの書き方について勉強したのでまとめる - Programming Log 今回は↑の記事…

DjangoでWebサービスつくった

追記: Djangoのバージョンも古いのでcloseしました エキスパートPythonプログラミング改訂2版作者: Michal Jaworski,Tarek Ziade,稲田直哉,芝田将,渋川よしき,清水川貴之,森本哲也出版社/メーカー: KADOKAWA発売日: 2018/02/26メディア: 単行本この商品を含…

Djangoのユーザ認証まとめ

追記: 使用しているDjangoのバージョンをはじめ、いくつか古くなってきている点があります。DjangoCongress JP 2018で認証に関する発表を行ったのですが、ブログ記事も用意しています。そちらを参照してください nwpct1.hatenablog.com 追記終わり Djangoで…

Python pandas テストの書き方についてメモ

はじめに pandasやnumpyとかを使ってデータ分析のようなことをしてると、実行結果が数値だったりしてバグに気づきづらい。結果がおかしいことに気づかないまま論文を書いてしまうのは怖いのでユニットテストを書いておく。 普段、Pythonによるデータ分析入門…

Djangoのテストの書き方について勉強したのでまとめる

エキスパートPythonプログラミング改訂2版作者: Michal Jaworski,Tarek Ziade,稲田直哉,芝田将,渋川よしき,清水川貴之,森本哲也出版社/メーカー: KADOKAWA発売日: 2018/02/26メディア: 単行本この商品を含むブログを見る はじめに この記事はPython Advent C…

Pythonでつくる検索エンジン(Webクローラ, Mecab, MongoDB, Flask)

検索エンジン自作入門 ~手を動かしながら見渡す検索の舞台裏作者: 山田浩之,末永匡出版社/メーカー: 技術評論社発売日: 2014/09/25メディア: 単行本(ソフトカバー)この商品を含むブログ (4件) を見る はじめに Webサービスのプログラミングに必要なことの…

pymongo使い方まとめ(Python, MongoDB)

はじめに MongoDBやpymongoについては以前基本的な事を勉強した(Python/FlaskからMongoDBを扱うpymongo勉強内容メモ - Programming Log)ので、Webアプリを開発する場合の事を意識して触ってみる。 DBスキーマ 最近、達成日と達成コメントを残せるTodoリスト…

PyCharmで開発する手順メモ(Git, Virtualenv)

独学プログラマー Python言語の基本から仕事のやり方まで作者: コーリー・アルソフ,清水川貴之監訳,清水川貴之,新木雅也出版社/メーカー: 日経BP社発売日: 2018/02/24メディア: 単行本この商品を含むブログを見る はじめに この前PyCharmのProfessionalを入…

VimからPyCharmに乗り換え(機能の把握と設定)

はじめに 現在、vimrcはまだ500行ほどだけどすでにメンテが負担になってしまっている。試しにPyCharm使ってみたらびっくりするくらい使いやすかったので 今回は、PyCharmの設定と便利機能の把握、ついでにvimrcもコンパクトにする。 参考資料 PyCon JP 2014…

FlaskでhtmlからDELETEやPUTなどのhttpメソッドを扱う方法メモ

はじめに 今勉強用に作ってるWebアプリケーションで、htmlからDELETEメソッドを送りたかったので調べてみると、htmlのformではdeleteやputなどのhttpメソッドが使えないらしい。 対策 ↓のページを見つけた Custom HTTP methods from flask import _request_c…