2015年4月5日日曜日

2015春アニメ視聴リスト

 

 

 アルスラーン戦記

原作を昔読んだのでとても懐かしい。まだ始まったばっかりなのでなんとも。 

 SHOW BY R CK!

ゲーム原作ぴゅる。

 血界戦線

非常にアツい感じのSF?ファンタジー?異世界モノ。EDがかっこいい。 

 ラブライブ!2期

まだ見てなかったので視聴。キャラが掘り下げられている。 

 ハロー!!きんいろモザイク

狂気のほのぼの日常系アニメ

 ハイスクール DxD

エロ枠

 てーきゅう

狂気枠

 高宮なすのです!

狂気枠

 響け!ユーフォニアム

おもしろいんだけども、1話の顧問の先生がとっても嫌らしい感じの印象。
続きは未視聴 

 マギ

 攻殻機動隊 SAC

 攻殻機動隊 ARISE

 俺物語!!

 旦那が何を入ってるかわからない件

 やはり俺の青春ラブコメはまちがっている。続

 レーカン!

 ジョジョの奇妙な冒険

 暗殺教室

 ダンジョンに出会いを求めるのは間違っているだろうか

 長門有希ちゃんの消失

 食戟のソーマ

 境界のRINNE

 電波教師

 終わりのセラフ

 ガンスリンガーストラトス

 Fate stay night [UBW]

 プラスティックメモリーズ

 てさぐれ

 ワールドトリガー

山田くんと7人の魔女

トリアージX

2014年10月18日土曜日

2014 秋アニメ

今の一押し

  • 七つの大罪
  • 甘城ブリリアントパーク
  • PSYCHO-PASS
  • 四月は君の嘘
  • ソードアート・オンラインII

 

見てるリスト

  • 牙狼<GARO> - 炎の刻印 -
  • Fate/stay night
  • 失われた未来を求めて
  • クロスアンジュ 天使と炎の輪舞
  • ワールドフールニュース
  • ワールドトリガー
  • 七つの大罪
  • オオカミ少女と黒王子
  • グリザイアの果実
  • 繰繰れ!コックリさん
  • 神撃のバハムート
  • 魔弾の王と戦姫
  • 異能バトルは日常系の中で
  • 甘城ブリリアントパーク
  • 暁のヨナ
  • トリニティセブン
  • 棺姫のチャイカ
  • 寄生獣
  • デンキ街の本屋さん
  • 旦那が何を言っているかわからない件
  • PSYCHO-PASS
  • 四月は君の嘘
  • 俺、ツインテールになります
  • 曇天に笑う
  • ソードアート・オンラインII
  • アカメが斬る!
  • ガールフレンド(仮)

2014年10月7日火曜日

scikits-learn データセットの読み込み:人工データその1

概要

このページをもとにする
http://scikit-learn.org/stable/datasets/index.html

機械学習で使える様々なデータを読み込んだり生成したりするためのAPI集。 

これ以降のサンプルコードは

import sklearn.datasets as d 

を実行した後を仮定。

 

人工データ

学習のテストに使えるような、人工的なデータを生成するメソッドたち。

 make_classification: nクラス分類問題生成

正規分布に従う複数のクラスから生成されるデータを合成する。
データには、様々なノイズを含ませることができる。 

生成するサンプル数は (n_samles) で、

各次元の特徴は

  • 各サンプルの特徴量の次元数 (n_features)
  • 特徴量のうち正解の正規分布から生成される特徴量の次元数 (n_informative)
  • 特徴量のうち n_informative の線形和で表せる特徴量の次元数 (n_redundant)
  • 特徴量のうち informative / redundant のどちらかの値をコピーしたもの (n_repeated) 

正解の分布の特徴は

  • 問題のクラス数 (n_classes)
  • クラス内のクラスタの数 (分布数) (n_cluster_per_class)
  • クラスから選ばれるサンプルの頻度 (weights)
  • クラスがランダムで入れ替えられる確率 (データのエラー率) (flip_y) 

make_multilabel_classification: 複数ラベル分類問題生成

サンプルごとにラベルが複数あるデータを合成する。

ラベルの種類は n_classes 個あって、
各サンプルは、平均で n_labels 個のラベルがついている。
各サンプルの特徴量は n_features 次元あって、
その総和は平均で length である。

length は、例えば特徴量を単語の頻度としたときに、平均的な一つのサンプル (=文章) の長さを意味する。  

allow_unlabeled を True にすると、どのラベルにも属さないサンプルの生成を許して生成する。

return_indicator は、クラスが 0-4 の5クラスあって、あるサンプルが 2, 4 のクラスに属している場合、
True にすると、  [0, 0, 1, 0, 1] というようにフラグで、
False にすると、[2, 4] というように値で表示される。
デフォルトは、現在は False だが、将来的に True になるらしい。

 

make_regression: 線形回帰問題生成 

1サンプルあたり n_features 次元のサンプルを n_samples 個生成する。
ただし、そのうち線形モデルを構成するのは n_informative 次元で、
残りは無関係。線形モデルには定数項 bias が足されている。 
回帰対象は n_target 次元のサンプルが生成される。 

データには標準偏差が noise のガウスノイズが加算されている。

2014年10月3日金曜日

scikits-learn データセットの読み込み:トイデータ

概要

このページをもとにする
http://scikit-learn.org/stable/datasets/index.html

機械学習で使える様々なデータを読み込んだり生成したりするためのAPI集。 

これ以降のサンプルコードは

import sklearn.datasets as d 

を実行した後を仮定。

 

トイデータセット

ダウンロードせずに読み込めるとても小さいデータたち。
とりあえず試すには良いが、現実的なタスクにはならない。 

 

load_boston:  ボストンの家の価格データ。回帰用。

506 個のデータで、価格や部屋数など 13 次元の特徴量と価格がセットになっている。
データの抜けはなし。下記コードで読み込める。

x = d.load_boston()

x.data
(506, 13) サイズの array になっていて、特徴量ベクトル。

x.target
(506, ) サイズの array で、回帰する対象。 

x.feature_names 
文字列の配列で、13 次元の特徴量の名前が書かれている。

x. DESCR
データセットの特徴を記述した文章。
print x.DESCR
で読める。 

 

load_diabetes: 糖尿病データセット。回帰用。

442 個のデータで、 10 次元の特徴量と、1個のか回帰データがある。
特徴量は年齢、血圧などの生理学的な特徴で、
回帰対象は1年後の病気の進行度らしい。
http://www.math.unipd.it/~aiolli/corsi/1314/aa/user_guide-0.12-git.pdf

x = d.load_diabetes()

で読み込んで、

x.data で (442, 10) の特徴量ベクトルが手に入り、
x.target で (442, ) の回帰対象ベクトルが手に入る。 

 

 

load_iris: アヤメの特徴と種のデータ。分類用。

150個のデータで、3種類のアヤメ (setosa, versicolor, virginica) のラベルと
その特徴量 4 つが手に入る多クラス分類用データ。

x = d.load_iris()

で読み込める。

x.data 
(150, 4) サイズの array になっていて、特徴量ベクトル。

x.target
(150, ) サイズの array で、回帰する対象。0-2 の整数がはいる。 

x.feature_names 
文字列の配列で、13 次元の特徴量の名前が書かれている。

x.target_names
文字列の配列で、target の値ごとの花の名前が書かれている。 

x. DESCR
データセットの特徴を記述した文章。
print x.DESCR
で読める。 

 

load_digits: 手書き画像データ。分類用。

1797 個の、0-9 の数字を書いた 8x8 の画像セット。

x = d.load_digits()

で読み込める。

x.images
(1797, 8, 8) のデータ。 8x8 の画像が 1797 個ある。

x.data
(1797, 64) のデータ。8x8 の画像が 64次元の 1本のベクトルになったもの

x.target
(1797, ) のデータ。上記画像データの数字を表すラベル。 

x.target_names
データ。[0-9]

x.DESCR
データの説明文。 

 

load_linnerud: 重回帰用

20個の、3次元特徴量と3次元の回帰対象のセット。

x = d.load_linnerud()

で読み込める。

x.data
(20, 3) の特徴量データ

x.target
(20, 3) の回帰対象データ 

x.feature_names
x.data の各次元の名前

x.target_names
x.target の各次元の名前

x.DESCR
データの説明文 

 

参考文献

http://www.math.unipd.it/~aiolli/corsi/1314/aa/user_guide-0.12-git.pdf

 

2014年10月2日木曜日

scikit-learn 学習はじめます

機械学習の勉強をせなならんとずっと思っていたので、
これからしばらく、scikit-learn の user_guide を順番にまとめながら、
機械学習を学んでいきたいと思います。 

 

 

 おおきな括りとしては以下の7つなので、順番にやって行く予定。

1. Supervised learning:
教師あり学習。学習したいデータに何らかのラベルがあるものが対象。

2. Unsupervised learning:
教師なし学習。学習したいデータにラベルがないものが対象。

3. Model selection and evaluation:
上の二つのモデルのパラメータ・性能の評価など。

4. Dataset transformations
学習したいデータの前処理。高次元のデータを、重要なものだけを選んだ低次元データにする。
(低次元データの方が学習しやすい / パフォーマンスが出やすい。) 

5. Dataset loading utilities
scikit-learn で遊ぶたえの学習データを用意しているので、その読み出し方。

6. Bigger data
より大きなデータのためのいろいろ。追加学習とか。

7. Computation performance
実行速度について 

 

たぶん、5 から始めるとおもちゃ (=toy data) がまず手に入るので、
 そこから始めようかな。

2014年9月15日月曜日

PyConJP 2014 2日目

PyConJP 2014 2日目の感想

ちなみに1日目の感想はこちら
http://mzmttks.blogspot.jp/2014/09/pyconjp-2014.html
目が覚めるといい感じの時間だったので午前の感想は無い

感想

まず、期待よりもずっと楽しいカンファレンスですごく楽しめた。
ご飯もおいしいし、発表も面白いし、いろいろ知り合えたし。
スタッフのみなさんありがとう! 

言語仕様を安定させたいという Core Developers の方針なのか、
scipy/numpy/scikits みたいな科学技術系パッケージが多いからなのか、
思ったより研究者やPhD が多かった。
ちゃんと理論やる系発表と実装系発表をわけると興味がマッチするのかなあと思った。

パッケージメモ: wheel / devpi / PuLP
聞けなかったけどスライドシェア

python ドキュメント翻訳プロジェクト

OpenCV の python インタフェース入門

スポーツ動画からの姿勢推定をしている博士課程の学生 (ブログ
資料はこちら 
ちょっと資料の文字が小さかったけど、最初に資料の URI を出してくれたので
特に問題はなかった。

注意点

  • OpenCV は BGR (Blue-Green-Red) の順だけども、
    それ以外 (matplotlib/PIL/scikit-image) は RGB なので注意。 
  • mlはあるけども、scikit-learn とかの方がよくそろってて良い。

話を聞きながら自分でハンズオンしようと思ったけど、
brew install opencv
で Python バインディングが入らなくて悲しい気分になった。

入門ってことで、インストールの方法とか最初に言ってくれると
聞きながらできてよかったかも

 

Python と scikit-learn ではじめる機械学習

たまに twitter で見かけたけど s/機会/機械/
Naive Bayes でスパムフィルタを学習してみましたって話。 
形態素解析ツールで Mecab / kuromoji / ChaSen を紹介していて、
kuromoji は知らなかった。

まずは ML 系の python パッケージを紹介していた

パッケージ系

  • scikit-learn
  • gensim
  • nltk
  • R
  • Julia

ミドルウェア系

  • Jubatas
  • Spark + MLib
  • H20
  • Mahout

使用データ: SMS Spam Collection Data Set

spam: スパム
ham: 非スパム
のラベル付き。 spam/ham ってラベルが標準なのね。知らなかった。

手順

このへんは、見ながらメモったので適当。 あとで試して記事書くかな。

  • 読み込み: numpy.genfromtext 
  • 特徴量抽出:  CountVectorizer, fit_transform で 単語とメールの行列に変換
  • 学習:  scikit-learn の naive_bayes の Multinomial で学習。
    Gaussian (正規分布),  Multinomial (多項分布), Bernoulli (ベルヌーイ分布) が選べる。
  • 評価:  cross_validation でクロスバリデーション —> 96% ぐらいの正解率
  • 予測:  predict

 

まあその、ちゃんと学習からクロスバリデーションによる評価までしていたので
よかったと思ったが、なんというか聴衆の事前知識量 and 興味はだいぶ広そうなので
難しいなあと思った。

 

数理最適化によるパズルの解法

資料は ipython notebook で公開されてる。http://goo.gl/kAbWrA
技術者のためのゲーム理論の基礎 というチュートリアルをやるそうで、
もれなくOR学会 の会員になれるっぽい

PuLP でいろんな問題を解けるよーという話。
紹介されてた日本語の数少ない (らしい) 解説ブログ記事は
Pythonで整数計画問題・線形計画問題を解く(PuLP編)

ポイントは、

  • LpProblem: 数理モデルのオブジェクト
  • LpVariable: 変数。連続、整数、バイナリを選択できる
  • LpAffineExpression: 目的関数
  • LpConstraint: 制約

よく使う関数は

  • value: 値の取り出し
  • lpSum: 変数の総和?
  • lpDot: 変数のドット積(内積)

数独の制約条件が、
変数を vijk というバイナリ変数で表現して、
座標 (i, j) の値が k のとき 1, そうでない時 0 となると定義することで
エレガントに表現できるのにだいぶ感動したんだけども、
さらっと流されてしまった。

この辺の制約条件 and 変数の設計の妙がキモだと思うんだけど、
そういうのは OR 学会で聞けって話なんだろうか 

 

パッケージング @aodagi

1. 使う

pypi
cheeseshop が前身の PyPI サーバ、
最近は warehouse という次世代サーバが準備されていて、
https://warehouse.python.org でアクセス可能。

pip
SSLを通さない場合アクセスしなくなったので、
-allow-external / -allow-unversioned とかがいるらしい。 
ほかにもオプションがいろいろあった。 

  • -f http://localhost:5000
    このオプションを入れると、ローカルの PyPI サーバに
    アクセスする。その作り方は後述。
  •  -r requirements.txt
    依存パッケージを丸ごと入れられる。
       pyramid==1.5.1
       git+https:// …
    みたいな感じ。
    さらに、-r を中にかけるので構造化できる。 
  • —no-index
    外に見に行かないオプション。これとローカル PyPI サーバとか wheel (後述) を
    組み合わせると、外部アクセスしなくてもテストとかができる。 

 

wheel

Python のパッケージを、依存ライブラリも合わせてまるごと入れる
(ベンダリングする)ツール。
pip install wheel で pip wheel が使えるようになる。
pip wheel pyramid で、wheelhouseというディレクトリに依存も含めて全部入る。
で、pip install -f wheelhouse pyramid  …. —no-index
とかやると、全部ローカルから入れられる。 

 

2. 作る

setuptools

setup.py を作る。 今後宣言的になっていくので、setup関数を呼ぶだけにすべき。

  • description = 1行だけ。
  • packages    = 入れたい python パッケージ
  • namespace_packages = 名前空間がかぶってもよいという宣言。
  • long_description = 詳細な説明。 reST でいろいろ書く。
  • install_requires=依存パッケージ

 

3. もっと活用する

PyPI に完全公開

python setup.py register
python setup.py sdist bdist_wheel upload

Github / Bitbucket から公開 (URL 知ってる人だけ)

git tag 0.0
git push —taggs
pip install -f https://...github.../archive/v0.0.zip
みたいな感じで入れられる。

devpi (ローカル PyPI サーバ)

pip install devpi

PyPI のプロキシ (キャッシュサーバ) としても働く。
内部向けパッケージの公開、公開前の練習とかに使える。
名前空間を切れるので1のサーバだけでみんなで使える。

使い方

聞きながらのメモだったので不正確かも。 

devpi-server —start
pip install -i http://localhost:3141/root/pypi/+simple/YOURPACKAGE

ユーザ作成

devpi user -c USERNAME password=PASSWORD
devpi login USERNAME --password=USERNAME

アップロード

devpi index -c aodag.hello
devpi use aodag.hello
devpi upload --formats "sdist,bdist_wheel" 

 

LT 

 野球プログラミング

JIRA, Cacoo, Bitbucketを使ってるよーという紹介。
トークでは野球データの解析をしてた (BABIP / ピタゴラス勝率)
に加えて、三振王らしいアダムダン率の話。

Technology that underly PyCon JP 

PyCon JP のチェアによる運営ノウハウ

  • コミュニケーション: Slack
  • 課題管理: JIRA on demand
  • 文書管理: Google drive
  • ウェブページ: symposion
  • SSL: Global Sign が 1年だけの free ssl 証明書?をオープンソース向けに出してるらしい 
  • 参加チケット管理: connpass
  • プログラム管理: guidebook

DDD

Pyramid + socket.io + Bacon.js なんかを使って人狼アプリを作った話

Python で始める競技プログラミング

@cocodrip (ブログ) さんという Python アイドルらしい人の競技プログラミングの話。
制限時間がある問題では、データのサイズごとに適切なアルゴリズムが違うみたいな
まじめなテクニックから、
競技プログラミングは青春ですよね!とはにかんでいってみる可愛い部分もあって
有能だなあと思った。

バイラルメディア 三上聡 @saicologic

乱立するバイラルメディアにある 35 のメディアからいくつかの記事を
scrapy, pandas, matplotlib で分析した。
記事シェア数はスケールフリーな分布だったり、
アナと雪の女王が多かったり、もう一段分析すると面白そうなことがわかりそう

PyConJP NOC (Network Operation Control) @taka-stack

PyCon のネットワークまわりの担当チームの話。
すごく安定して使えていて感動してたんだけども、
準備に半年かけて、実際の構築は 3-4時間ですませたらしい。すごい。
DualStack-Lite (CodeZine) という技術を使ったらしいけど時間切れ。

SphinxCon JP 2014 @usatan

ドキュメンテーションツール sphinx のカンファレンス SphinxCon の宣伝。
日本コミュニティが結構活発らしい 

2014年9月14日日曜日

PyConJP 2014 1日目

PyConJP 2014 @ Tokyo に行ってきました。
https://pycon.jp/2014/
お台場の国際研究交流大学村が会場で、朝から行っていきました。
主に自分メモとして書いときます。
Chrome のタブが膨大になったのでリンクも入れてます。 

これとは関係ないけど、 twitter で見たも書いときます。
線形最適化ツール PuLP 

 

Keynote

Kenneth Reitz の発表。heroku のプロダクションオーナー。
人のコミュニケーションは 1 to 1 から始まっていって、
インターネットの登場で広がって。。。みたいな話から
Python 2 / 3 でコミュニティが分断されつつあるという話につながった。 

PyPiなどでは Python 2 は依然 Python 3 の 20-30 倍ダウンロードされているらしい
だから、もし「自分しか Python 2 をまだ使ってる人はいないかもしれない」
と思っているかもしれないけど、実はいっぱいいる。

傾向として、
昔からのユーザは Python 2系を使い続けて、新しいユーザは Python 3系を使っているらしい。

Kenneth は個人的には2 系が好きだけど、みんな Python 3 try してみて!
と言ってた。うーん。あんま使うモチベーションにならんなあ。
と、思った。

Dive Into Python 3 のそれっぽい章を読んでもうーんって感じ

 

Deep Learning for Image Recognition in Python

Kaggle というデータ解析チャレンジの 猫と犬の画像分類問題で、
Haar-like feature (opencv, mahotas) & Logistic regression (scikit-learn) 
だと正解率 60% ぐらいだけど、
DNN (DeCAF) & Logistic regression (scikit-learn)
だと 96% でてびっくりした
という話。DNN は広がっているなあ。

これをもとに、xxx48 の画像と、よなんとか興行の人の 画像を使って
人工知能で選ぶ JKC48 メンバースカウト機能を Pepper にのせる!

という話をしていて、思いのほかうまく言ってておもしろかった。

DeCAFCaffe になったらしい。

 

Django パフォーマンスチューニング

Django のパフォーマンスをチューニングする話。
django-debug-toolbar を使ってSQL アクセスが無駄に多い部分を見つけ出して、
.select_related, .prefetch_related, .bulk_create とかの JOIN する系メソッドに
置き換えることで、SQL 発行回数を減らせる。

他にも、いろんなテクニックがあって、
Index を適切に使う、Cache を使う、バックエンドを Redis にするとか、 
django-compressor / django-asset とかで静的ファイルを圧縮するとか
いろいろ紹介されてた。

ただし、結局本質的に大事なのはDB設計とミドルウェアの選定だねという
まっとうなアドバイスで締められた。 

あとは、Funkload という、テストシナリオを python で書けて、
複数テストから差分レポートとかトレンドとかを出せるツールが紹介されていた。
今度ためしてみたい。 (Qiita 記事)

 

Python 実装系総ざらい

Python のいろんな実装を紹介する話。

CPython

標準。ctypes/windll で外部 DLL にアクセスしたり、
Python C API, Pyrex, Cython, boost.python で別言語の実装とつないだり、
numpy は numba で JIT コンパイルしたりすると早いよーという話だった。
llvmpy という python の LLVM コンパイラ (でいいのか?)もあるらしい。 

Jython

昔ちょっとつかった。まだ開発がされていたことに衝撃を受けた
GIL が無いらしい。

Iron Python

.NET Framework で動く Python.
Python Tools for VisualStudio なるツールがあるらしい。 
これも GIL なし。 

PyPy

JIT コンパイラが走るはやい Python
JIT ドキュメント
流行りの JITコンパイラは嫌いですか?
が詳しい情報だとか。

PyPyには、
1. 言語を作るツールセットとしての機能
2. 1 の青果物としての Python 実装
が含まれていて最初の「はやいPython」というのは 2のことらしい。
実際、PyPyによる Ruby 実装 Topaz, PHP実装 HippyVM というのがあると。

で、最近は同様に numpypy というのも作られ始めているらしい。

Pyston

LLVM 上で Python をコンパイルする試み。 Dropbox で使っている/開発している

Micro Python

組み込みで動く python 

 

Effective Numerical Computation in Numpy, Scipy

基本的な話の、 
Broadcasting (要素ごと積とかできるやつ) とか、
Indexing (インデックスに値の集合をわたせるやつ ) の話とかと、
疎行列ライブラリ scipy.sparse の話があった。
ちなみに、疎行列とは、ほとんどの値が 0 の行列のこと。 

lil_matrix という代入がはやいオブジェクトで行列を構成して、
csr_matrix (rowアクセスがはやい) or csc_matrix (column アクセスがはやい) に
変換すると、速度あがるよーという内容。
ただし、実は csr/csc_matrix には内部構造の indptr, data, indices というのがあって、
それを直接操作するとさらにはやくなる。

どれぐらい疎だと疎行列のメリットが生かせるんだろうか

トーク中に紹介された Numpy Medkit が詳しくてよかった。
ただし、個人的にこれ系の資料では、 EuroScipy の Tutorial がベスト  

Introduction to Scientific Programming in Python

科学技術計算に使える Python ツールの紹介。

この辺の基本的なツール

ただし、商用というかそういう系だと、速度を上げるには最適化がいるので、
anaconda, canopy のような、最適化済 python ライブラリが便利らしい。

4h の解説動画 http://www.youtube.com/watch?v=3Fp1zn5ao2M が紹介されていた。長い!

リファクリングツール

Python でリファクタリングするためのツールの紹介。 

コーディングスタイル系

PEP8 / PEP257 が標準コーディング規約
pep8, pep257, pyflakes みたいな自動チェックツールがある。
基本的には flake8 を使えば OK.
カスタマイズはいろいろできて、例えば #NOQA を行に入れるとそれを蒸しするとかいろいろ。

自動修正系

autopep8, autoflake, docformatter, eradicate, unify とかがある。

自動補完

jedi が vimmer にはよいらしい。

リファクリングツール

Rope がおすすめ。名前の変更、関数の別ファイルへの移動、引数変更などがいい感じにできる

コードメトリクス

静的コード解析。 Radon がおすすめだとか。

 

Python を支える技術 ディスクリプタ編

__get__, __set__, __delete__ を定義したクラスのことをディスクリプタという。
で、関数呼び出しなんかがこのプロトコルに従って行われている。

この辺を理解すると、内部構造がわかって良さそうだが、だいぶディープだった。

 

Lightning Talks (5min の発表)

Gunosy の広告配信サーバ

50msec or die の世界では
高速APIサーバ (Tornado, PyPy)
統計解析 (Numpy/Scipy/Cython/Numba/Bokeh)
並列処理(Celery)がいる。
全部 Python でやることで、3人ぐらいでもまわせるらしい。すごいな

スタンドアロンアプリ

GUI アプリ pydun を pyQt で書いて、PyInstaller でインストーラも作ったよって話。
世界樹の迷宮のマップ作成ツールだとか。

ちらっと見せられた地図は新・世界樹の迷宮のスノーウルフが出てくるとこかなーと
思ったんだけども、真相はわからん。

最初から最後まで非常によくできていた。 

非エンジニアが PyConJPスタッフしてみた話

エンジニアを理解するためにスタッフしてみた人事スタッフの話。
こういう歩み寄りはとてもすばらしい。

あと、人事スタッフの仕事のなかにデプロイとか入ってて、
こういうのがフルスタック人事っていう人なのかーと思った。

Django REST framework

REST フレームワークで、いろいろ Pyramid に似てるとかいう話だけども、
Django を使わないので残念ながらあんまついていけなかった。 
Django REST framework