何かを書き留める何か

数学や読んだ本について書く何かです。最近は社会人として生き残りの術を学ぶ日々です。

Python

コミュニティへの貢献としての査読・校正

来月2017年12月16日に埼玉県さいたま市大宮区で「Python Boot Camp in 埼玉」が開催される。 私はTAとして参加する。 そこで、第82回Python mini Hack-a-thonにおいて、 Boot Campでテキストとして用いられる「Python Boot Camp Text」を一通り読んだ。 目的…

みんなのPython勉強会 #30 に参加しました

祝! 30回目の勉強会 去る2017年11月8日に「みんなのPython勉強会 #30」が麹町のクリーク・アンド・リバー社にて行われた。 startpython.connpass.com みんなのPython勉強会は古参のPython入門本「Pythonスタートブック」の筆者と読者の出会いがきっかけで生…

Pycon JP 2017 1日目に参加しました。

#pyconjp よ!私は帰ってきた!— Hayao(-ε-δ) (@CardinalXaro) 2017年9月7日 去る2017年9月8日に早大理工にてPyCon JP 2017のカンファレンス1日目が行われた。 2014, 2015, 2016に続いて4回連続4回目の参加である。 今回は講演を聞くことよりもブースを聞い…

PyCon JP Reject Conference 2017に登壇しました

私はオライリーの回し者ではありません 2017年9月6日にTech Play Shibuyaにて『PyCon JP Reject Conference 2017』が行われた。 PyCon JP 2017の前日に行われる非公式イベント*1である。 今回、私もPyCon JP 2017にCfPを提出し、見事にRejectされたので参加…

float(".384")と".384".isdigit()の振る舞いの違い

str.isdigit()で浮動小数点数を判定できない 野球の人としてよく知られている@shinyorkeさんが興味深いツイートをしていた。 hoge = ‘.384’という変数がPythonにあったとして,float(hoge)> 0.384hoge.isdigit()> Falseっていう挙動をしてて,本来floatで処理…

PythonによるエコーHTTPサーバーの実装

前回、requestsモジュールなしでHTTPクライアント側を実装した。 xaro.hatenablog.jp サーバー側は適当に実装したが、今回はもう少しまじめにエコーHTTPサーバーを実装してみる。 目指すは開発時に手元でさっと起動できるHTTPサーバースクリプトである。 な…

『Real World HTTP』with Python

requestsを使ったら負けかなと思っている 『Real World HTTP』を読み始めたが、自分でも実際に書いてみるのもよいと思うのでPythonで書いてみた。 PythonのHTTPクライアントというと標準モジュールurllib.requestではなくrequestsが主流であるが、requestsを…

pipは何の略語なのか

pipとはPythonのパッケージ管理ツールである。 Python 3.4以降ではデフォルトでついてくる。 私がPythonに触り始めた学部生のころはまだeasy_installが現役であったが、今ではpip install -r requirements.txtで必要なサードパーティモジュールを仮想環境に…

cmathとmatplotlibでMandelbrot集合を描画する。

cmathに思いをはせて cmathモジュールの活用例を求めて色々と考えた後、まずはMandelbrot集合を書いてみようと思い立った。 Mandelbrot集合の定義はWikipediaを参照してほしい。 マンデルブロ集合 - Wikipedia 簡単に述べると、ある複素数列が収束する初期値…

cmathモジュールのジレンマ

無何有の郷へ Pythonには複素数を計算するための函数を収めた標準モジュールcmathが存在する。 9.3. cmath — 複素数のための数学関数 — Python 3.6.1 ドキュメント ドキュメントにはこのような一節がある。 mathと同じような関数が選ばれていますが、全く同…

PythonicではなくPythonesqueなクラスを書く その2

最近、いかに役に立たないプログラムを書くかということを考えている。

PythonicではなくPythonesqueなクラスを書く

It’s… プログラミング言語Pythonにおいて、Pythonらしい、といった概念をPythonicと呼ぶことがある。 Pythonicらしい書き方を知るにはZen of Pythonや『Effective Python』の第一章を参照すればその一端を知ることができる。 Effective Python ―Pythonプログ…

Pythonでバイナリ列から画像の種類を判別する

拡張子を信じたい人生であった。 画像ファイルがネットワークを介して飛んでくる。拡張子を信じて保存をしたいが、拡張子だけ書き換えたり中身が改ざんされているかもしれない。画像フォーマットごとにあるヘッダを読んで画像を識別したい。

Pythonのソートキーに何を渡すべきか

Pythonのリストの中身をソートしたい場合、list.sort()かsorted()を使う。 その際に何をキーとしてソートをするかをkey引数として渡すことができる。 よくある状況として、辞書を含むリストが存在し、辞書の特定のキーの値でソートしたい、という状況である…

第74回Python Mini Hack-a-thonに参加しました。

去る2017年3月25日に第74回Python Mini Hack-a-thonが行われた。 PyHackは第58回、第59回、第64回、第65回、第67回、第69回、第70回に参加している。 参加レポートがあるのは初参加の第58回のみである。もっと参加していたり、レポートを書いているつもりで…

文字列の類似度をPythonで計算する

文字列の距離 仕事で文字列の類似度を計算する必要があったのでちょっとだけ頑張ってみた。 要件として、2つの文字列が与えられ、その類似度を実数与える、類似度は0から1の間に収まる、である。 Cosine Similarity まず、最初に類似度と聞いて思い浮かべた…

Python 3.6 リリースパーティに参加しました

マイクを持って話す。これぞ文明の機器。 去る2017年1月31日にヤフージャパンにて「Python 3.6 リリースパーティ」が行われた。 pystudy.connpass.com 当初は一般参加のつもりであった。 石本さんのPython 3.6に関する一連のエントリを読んでクラス生成に関…

Python 3.6における『Effective Python』 項目35はこう変わる

項目35は言語に取り込まれた Python 3.6がリリースされた。 Python 3.6で導入された新機能の一つに__init_subclass__がある、というのは前回の流れと同じ。 項目35「クラス属性をメタクラスで注釈する」はクラス定義後にプロパティを修正したり注釈を加える…

Python 3.6における『Effective Python』 項目34はこう変わる

項目34はかなりシンプルになる Python 3.6がリリースされた。 Python 3.6で導入された新機能の一つに__init_subclass__がある、というのは前回の流れと同じ。 xaro.hatenablog.jp クラスが定義された際に自動で何らかの辞書に登録したいという場面でメタクラ…

Python 3.6における『Effective Python』 項目33はこう変わる

項目33「サブクラスをメタクラスで検証する」はこう書き換わる Python 3.6がリリースされた。 Python 3.6で導入された新機能の一つに__init_subclass__がある。 PEP 487 -- Simpler customisation of class creation | Python.org か石本さんのエントリを参…

『アルゴリズムクイックリファレンス 第2版』の査読を担当しました

2016年12月24日にオライリージャパンから『アルゴリズムクイックリファレンス 第2版』の邦訳が発売される。この度、邦訳の査読者として参加させていただいた。

Pycon JP 2016 2日目に参加しました。

去る2016年9月22日に早大理工にてPyCon JP 2016の2日目が行われた。 PyCon JPには2014, 2015に続いて3回連続3回参加しているが2日目に参加したのは初めてである。 参加した講演の感想をまとめておきたい。 Keynote Andrey Vlasovskikh 前日の反省を生かして…

Pycon JP 2016 1日目のLTに登壇しました。

xaro.hatenablog.jp 去る2016年9月21日に早大理工にてPyCon JP 2016の1日目が行われた。 2014, 2015に続いて3回連続3回目の参加である。 何を思ったか、今回はLTに登壇するという暴挙に出た。 プレゼン 31分あたりから。恥ずかしすぎるので見れません。現実…

Pycon JP 2016 1日目に参加しました。

去る2016年9月21日に早大理工にてPyCon JP 2016の1日目が行われた。 2014, 2015に続いて3回連続3回目の参加である。 記憶が新鮮なうちに参加した講演の感想をまとめておきたい。 Keynote Jessica McKellar 会場入りするタイミングが悪く既に同時通訳がある席…

Pythonで巡る線型代数:ベクトルと行列篇

「はじめに」の前に これは以下のプロポーサルに沿ったエントリ(の予定です) pycon.jp ただ、あまり需要がなさそうなので取り下げる可能性が高いです。 ベクトル 定義 のように3個の数を一列に並べたものを3次元数ベクトルという。 一般に、のように個の数…

Pythonで巡る線型代数:準備篇

「はじめに」の前に これは以下のプロポーサルに沿ったエントリ(の予定です) pycon.jp はじめに 線型代数学は、数学のもっとも古い分野の一つでありながら、またもっとも新しいものの一つに数えられる。 Bourbaki『数学史』 線型代数は現代数学の基礎をな…

『Effective Python 読書会 #3』を開催しました

単調減少の恐怖 去る2016年5月28日に品川区立五反田文化センターにて『Effective Python 読書会 #3』を開催しました。 前回同様(会議室のキャパシティである)18人規模で開催し、10名の参加者でした。 発表者枠の無断キャンセルはさすがにつらい…。 項目25…

Slackに電卓を入れたい

をとこもすなるSlackといふものを をむなもしてみんとてするなり 世間ではSlackを活用したChatOpsという流れもあるなかで、Skypeすら全面的に禁止されている環境ではSlackなど望むことすらできなかった。 とはいえ、Slackは個人でも使えるので自分でやってみ…

『Effective Python 読書会 #2』を開催しました

2回目でした。 去る2016年4月23日に五反田にて『Effective Python 読書会 #2』を開催しました。 前回は一応30人規模でしたが、今回は18人規模で開催し、12名の参加者でした。 読書会ならばこの程度の規模がよさそうです。 よかったこと 無事開催できた 今回…

『Effective Python 読書会 #1』を開催しました

1週間以上前の出来事ですが… 去る2016年3月19日に代々木にて『Effective Python 読書会 #1』を開催しました。 きっかけは『Effective Python』邦訳版の「訳者あとがき」です。 この本の読み方としては読書会などもいいのではないかと感じました。 お互いに新…