何かを書き留める何か

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

Python

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』邦訳版の「訳者あとがき」です。 この本の読み方としては読書会などもいいのではないかと感じました。 お互いに新…

Python Puzzler 「Puzzle 2: __iter__ VS. __getitem__」

Puzzle 2: __iter__ VS. __getitem__ イテラブルオブジェクトとは__iter__()または__getitem__()が定義されたクラスのことである。 次のプログラムでは半角英大文字をたどるイテレータを提供するイテラブルオブジェクトのクラスが定義されている。 以下を実…

Python Puzzler 「Puzzle 1: Once Read」

きっかけは紀伊國屋書店 紀伊國屋新宿で、『Scalaパズル』を見つけた。 Scalaパズル 36の罠から学ぶベストプラクティス作者: アンドリュー・フィリップス,ネルミン・セリフォヴィック,竹添直樹,島本多可子出版社/メーカー: 翔泳社発売日: 2016/02/05メディア…

亡きメーリングリストのための一節

404 Not Foundなんかじゃない。お亡くなりになったんだ。このメーリングリストは、この世を去ったの。停止したの。無意味なビット列になって、電子の海へ去っていった。これは「故メーリングリスト」。リンク切れ。サービスが止まって、永遠の眠りについてい…

『Effective Python』Item 36 訳注の補遺(のつもり)

過去にこのようなエントリを書いた。 掲載されている下記のコードがWindowsでは動かない、という内容であった。 def run_openssl(data): env = os.environ.copy() env['password'] = b'\xe24U\n\xd0Ql3S\x11' proc = subprocess.Popen( ['openssl', 'enc', '…

『Effective Python』の査読を担当しました

2016年1月23日にオライリージャパンから『Effective Python』の邦訳版が発売された。 この度、邦訳の査読者として参加させていただいた。 驚くべきことに査読者紹介として略歴まで掲載されている。 『Effective Python』の邦訳を世に出すべきだと思い淡々と…

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

宿題その2に全く手をつけていない。pyhackでやろうかなとか目論んでいるけどまだ床枠なんだよねえ— XaroCydeykn (@CardinalXaro) 2015, 11月 3 ここで、宿題とは単なる隠語。現在、普段の仕事とは関係のない何かを2つ抱えている。 明日の #pyhack 、とうとう…

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

PyCon JP 2015が行われたのはもう先週のことである。今更感想など書いても需要がないかもしれないが思い出代わりに書いておく。 残念ながら、2日目は体調を崩してスプリント含め2日間寝込んでいた。現在は何とか復活したがカンファレンス2日目に参加できなか…

『Effective Python』Item 37: スレッドはブロッキングI/Oに使い、並列処理は避けよう

『Effective Python』の続き。不遇のWindows。 Effective Python › The Bookwww.effectivepython.com 人によってはGlobal Interpreter Lock(GIL) と聞くと嫌な思い出が蘇ることがあるのだろうか。 私は恥ずかしながら並列・並行プログラミング未経験というア…