何かを書き留める何か

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

Python

PyCon JP 2020に参加しました

ブギ連だ!みんなに自慢しよう! 去る2020年8月28日と29日にPyCon JP 2020のカンファレンスが行われた。 2014, 2015, 2016, 2017, 2018, 2019に続いて7回連続7回目の参加である。 今回は15分トークの登壇と各社のスポンサーブースを巡る人という立場でのPyCo…

『Effective Python 第2版』の技術査読を担当しました

待望の第2版 2020年7月16日にオライリージャパンから『Effective Python, 2nd Edition』の邦訳である 『Effective Python 第2版』が発売される。 www.oreilly.co.jp この度、邦訳の査読者として参加させていただいた。 2020年3月~4月頃にかけて読んでいた。…

Python Charity Talks in Japanに参加しました

去る2020年7月4日に行われたPython Charity Talks in Japanに参加した。 pyconjp.blogspot.com pyconjp.connpass.com www.youtube.com チャリティの主旨は、Python Software Foundationへの寄付である。 Python Software Foundation(PSF)とはPythonの公式ド…

Final Fantasy XII サブイベント「キャビンチーフ七姉妹」を効率的に攻略する

突然のゲーム攻略エントリ だいぶ前にFinal Fantasy XII The Zodiac AgeのNintendo Switch版を購入し、先日ラスボスを撃破し、現在2周目をやっている。 FF12のサブイベントに「キャビンチーフ七姉妹」というものがあり、飛空艇定期便の「ゆったり飛空艇」の…

『ゼロからはじめるデータサイエンス 第2版』の技術査読を担当しました

ゼロからデータサイエンスも第2版 2020年5月1日にオライリージャパンから『Data Science from Scratch, 2nd Edition』の邦訳である 『ゼロからはじめるデータサイエンス 第2版』が発売される。 www.oreilly.co.jp この度、邦訳の査読者として参加させていた…

Pythonのタプルに括弧は必要なのかどうなのか

タプル同士の比較、そう思っていた時期が僕にもありました。 Pythonで式True, True, True == (True, True, True) がどう評価されるのか、頭の中で考えてみてほしい。 そして、お手元のPythonインタプリタで True, True, True == (True, True, True) を実行し…

『Pythonではじめる教師なし学習』の査読を担当しました

その先の機械学習へ 2020年4月13日にオライリージャパンから『Hands-On Unsupervised Learning Using Python』の邦訳 『Pythonではじめる教師なし学習』が発売される。 www.oreilly.co.jp この度、邦訳の査読者として参加させていただいた。 オライリーの方…

PyCon mini Shizuokaにオンラインで参加しました

久しぶりの静岡、初めての藤枝、になるはずだった 2020年2月29日に藤枝 BiviキャンにてPyCon mini Shizuokaが行われる予定であったが、新型コロナウィルスの影響でオンライン開催となった。 shizuoka.pycon.jp shizuoka.pycon.jp 今回、『君はcmathを知って…

去る言語への餞

お亡くなりになったんだ。このバージョンは、この世を去ったの。事切れてしまった。息を引き取り、GvRの御許に逝かれた。これは『元メジャーバージョン』。EoL。命尽きて、電子の海に還っていった。Python 3移行でもめていなければ、今頃はひな菊いっぱいの…

『Pythonによるファイナンス 第2版』の査読を担当しました

金融もPythonでやろう 2019年12月26日にオライリージャパンから『Python for Finance, 2nd Edition』の邦訳『Pythonによるファイナンス 第2版』が発売される。 www.oreilly.co.jp この度、邦訳の査読者として参加させていただいた。 オライリーの方から話が…

『Effective Python 2nd ed.』項目5:複雑な式の代わりにヘルパー関数を書く

不変でも進化する 『Effective Python 2nd ed.』の続き effectivepython.com 項目5は初版の項目4の続投であり、主張もそのままである。 Python特有の主張ではなく、どの言語でも大事にするべき項目である。 それでは何も変わっていないのか、というと、実は2…

『Effective Python 2nd ed.』項目4:C言語形式の書式化やstr.formatではなくフォーマット済み文字列を使おう

フォーマット済み文字列は単なる糖衣構文、そう思っていた時期が僕にもありました。

『Effective Python 2nd ed.』項目3:bytesとstrの違いを知ろう

実質的に初版のItem 3の続投であるが、初版はPython 2の文字列である`str`と`unicode`、Python 3の`bytes`と`str`の違いを含めて説明があったが、 2版ではPython 3向けの説明に特化して更新された。 単純にPython 2向けの説明を削ったのではなく、システムの…

『Effective Python 2nd ed.』項目2:PEP 8スタイルガイドに従おう

言語に依存しない原則 『Effective Python 2nd ed.』の続き effectivepython.com これも初版からの続投であるが、コーディングスタイルを揃えるという話題はPythonに限らずどの言語でも重要なことである。 Pythonの場合、PEP 8という形で広く使われているコ…

『Effective Python 2nd ed.』項目1:使っているPythonのバージョンを知ろう。

11月まで楽しみに待っていよう...と思っていたが、O'Reilly Learningから電子版が読めることが分かった(!)ので、少しずつ読み進めてみよう。

PyCon mini Hiroshima 2019に参加しました

初めての広島 2019年10月12日に広島市立大学サテライトキャンパスにてPyCon mini Hiroshima 2019が行われた。 今回、『Pythonで楽しむ初等整数論』という題目で発表を行った。 hiroshima.pycon.jp 何度か技術系のカンファレンスやイベントで発表をしたり、聴…

『NumPyによるデータ分析入門』の査読を担当しました

ありそうでなかったNumPy本 2019年9月27日にオライリージャパンから『Mastering Numerical Computing with NumPy』の邦訳『NumPyによるデータ分析入門』が発売される。 この度、邦訳の査読者として参加させていただいた。 オライリーの方から話があったのは2…

Pycon JP 2019に参加しました。

ブースのお守り 2019年9月16日、17日にPyCon JP 2019のカンファレンスが行われた。 2014, 2015, 2016, 2017, 2018に続いて6回連続6回目の参加である。 今回は2回連続2回目のスポンサーブースの主担当者として参加という今までとは趣が異なる立場でのPyCon JP…

辞書のリストから重複した辞書を取り除く

困った時のitertools Pythonにおいて、リストから重複を取り除く手段としてよく取り上げられるのが集合set()に渡して取り除く方法である。 >>> a = [1, 3, 2, 3, 6, 2, 5] >>> a = list(set(a)) >>> a [1, 2, 3, 5, 6] この手法の欠点は、集合の要素はハッシ…

『 Linuxプログラミングインタフェース』を気合いで読む会 第7回:6章プロセス:環境変数の編集

スタックとヒープの違いが見抜ける人でないと(putenv()を使うのは)難しい 『 Linuxプログラミングインタフェース』6章の環境変数の続き。 C言語で環境変数を扱うための関数はstdlib.hに用意されているが、その中でも扱いが難しいのがputenv()である。 int …

『 Linuxプログラミングインタフェース』を気合いで読む会 第6回:6章プロセス:環境変数の表示

環境変数の環境とは 『 Linuxプログラミングインタフェース』6章では環境変数も扱われている。 プロセスごとに環境変数が設定されていて、Linux上では/proc/PID/environから、C言語上ではグローバル変数**environから取得する。 Python os.environに辞書形式…

『 Linuxプログラミングインタフェース』を気合いで読む会 第5回:6章プロセス:コマンドラインパラメータ

nechoとは 『 Linuxプログラミングインタフェース』6章はプロセスの話。 とりあえずすぐに書けそうだった(というより散々書いてきた)コマンドラインパラメータ取得のサンプルコードをPythonおよびRustで書いてみる。 C言語の場合はargcとargvであるが、そ…

『 Linuxプログラミングインタフェース』を気合いで読む会 第4回:5章ファイルIO詳細

ファイルディスクリプタを複製すると何が起きる? 『 Linuxプログラミングインタフェース』5章はファイルIO詳細ということで、fcntl周りの話などがメインである。 演習問題としてファイルディスクリプタを複製するdupコマンドおよびdup2コマンドをfcntlで実…

『 Linuxプログラミングインタフェース』を気合いで読む会 第3回:ファイルIO演習

1対1対応の演習で例題しかやらなかったタイプ 『 Linuxプログラミングインタフェース』4章の演習としてteeコマンドの実装をする。 teeコマンドは標準入力をEOFまで受け取り、標準出力と指定したファイルに書き出すコマンドである。 デフォルト動作は、指定し…

『 Linuxプログラミングインタフェース』を気合いで読む会 第2回:ファイルIO後半戦

l is for long int 『 Linuxプログラミングインタフェース』4章の後半戦としてlseek()を使ったプログラミングを行う。 lseek()はファイルオフセットを操作するシステムコールである。 名前のlはlongの意味で、引数offsetと返り値がlongであった名残だそうで…

『 Linuxプログラミングインタフェース』を気合いで読む会 第1回:ファイルIO前半戦

転回 『Unix/Linuxプログラミング 理論と実践』をダシにしてRustのお勉強、システムプログラミングよりのPythonのお勉強をしようと思い立ったものの、『Unix/Linuxプログラミング 理論と実践』の who コマンド実装でmacOSとDocker上のUbuntu Linuxの違いで疲…

『Unix/Linuxプログラミング 理論と実践』をダシにしてRustのお勉強をする会

些細なる第一歩 プログラミング言語Rustの勉強をしたいと常日頃考えていたが、中々手を出せずにいた。 ずっと仕事ではPythonを使っているが、それしかできないのは流石に幅が狭かろう、と。 少しだけ『The Rust Programming Language 2nd edition』を読んで…

『Python計算機科学新教本』の査読を担当しました

2019年6月25日にオライリージャパンから『Classic Computer Science Problems in Python』の邦訳『Python計算機科学新教本』が発売される。 この度、邦訳の査読者として参加させていただいた。

『IPythonデータサイエンス クックブック 第2版』の査読を担当しました

科学技術計算とNotebookの威力を堪能しよう 2019年5月25日にオライリージャパンから『IPython Interactive Computing and Visualization Cookbook, 2nd Edition』の邦訳『IPythonデータサイエンス クックブック 第2版』が発売される。 この度、邦訳の査読者…

『できる 仕事がはかどるPython自動処理 全部入り。』の査読を担当しました

できる! 2019年5月24日にインプレスから『できる 仕事がはかどるPython自動処理 全部入り。』が発売される。 この度、レビュワーとして参加させていただいた。 Python mini hack-a-thon冬山合宿 2019がきっかけである。 book.impress.co.jp オライリージャ…