セッションの紹介
當 Python 遇上魔術方塊
鈴木たかのりです。ここでは「當 Python 遇上魔術方塊」というセッションについて紹介します。このセッションではルービックキューブ(魔術方塊)の解き方の解説と、それをPythonで実装したpyRubiksついて紹介していました。
- 発表者:戴嘉駿(darkgerm)
- 資料:http://tw.pycon.org/2013/site_media/media/proposal_files/pyRubiks_2.pdf
- 動画:http://www.youtube.com/watch?v=Tw_LaKVlAy8
前半はルービックキューブの解き方を、図を交えてわかりやすく紹介していました。最初に「爆力解(?)」というのがあって、それはもしや?と思ったら想定通りでした。昔よくやりました。
その後は手書きメモなども交えて、いろいろな解き方について説明がありました。ルービックキューブの解き方には色んな種類があるんですね。私は爆力解以外で自力で6面揃えたことがない気がします。
さて、後半はルービックキューブを自動で解くpyRubiksについての解説になります。コードはbitbucketで公開されているようです(https://bitbucket.org/darkgerm/pyrubiks)。
pyRubiksは以下のように、いくつかの部分にわかれているようです。
- 実際のルービックキューブをSimpleCVで読み取りXMLファイルを出力
- XML fileをXML parserを使ってcube classのコードに変換
- cubeSolverでルービックキューブを解き、解く手順を出力
- VPythonで実際の動作をアニメーション表示
また、cubeSolverの部分はNumPyを、実際の解き方はFridrich Methodというものを使っているそうです。
発表者はルービックキューブが非常好きなようで、いろいろなPythonのモジュールを使ってルービックキューブを解くプログラムを作っていて、趣向の変わった面白い発表でした。
駭客看 Django
清水川です。PyCon TaiwanではWebフレームワーク系の発表が少なく、Django,Pyramid,Ploneの発表が1つずつでした。その中の1つ、Djangoの発表はWebフレームワークの紹介ではなく、Djangoをどうやってクラックするかという内容でした。
- 発表者:Orange
- 資料:https://speakerdeck.com/p8361/hai-ke-kan-django
- 動画:http://www.youtube.com/watch?v=iQXt_7ISGHQ
発表タイトルの「駭客看 Django」は日本語で「Hackerから見たDjango」という感じみたいですね。発表の前半ではDjangoとRailsを対象にした脆弱性数の比較などを紹介していました。また、中盤からは今のDjangoにどのような弱い点があって、そこをどうやって突破するのかといった実例を紹介していました。結論としては、Djangoは十分にセキュアな作りになっているんだけど、使い方を間違えると脆弱性を作り込んでしまう、という話でした。Djangoを使っている人は、一読する価値があるのではないかと思います。
なお、発表者のOrange氏の専門はセキュリティー分野で、Djangoについては1週間ほどさわったばかりでこの発表を行ったそうです。