何かを書き留める何か

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

『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…

『レガシーコードからの脱却』を読んだ。

知っていることと実践することは違うよ オライリージャパンさんから『レガシーコードからの脱却』を頂きました。 ありがとうございます。 www.oreilly.co.jp 本書は、レガシーコード(修正や拡張が難しいコード)をどうするかというより、そもそもレガシーコ…

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 オライリージャ…

DjangoCongress JP 2019に参加しました

2019年5月18日に東京・日本橋のサイボウズにてDjangoCongress JP 2019のカンファレンスが行われた。 今年で2回目である。 昨年は登壇者として参加したが、今年は普通の参加者として参加した。 djangocongress.jp 聞いたトーク DjangoではじめるGraphQLとフロ…

『キリスト教思想への招待』を読んだ。

今年の連休は10連休であったが、『キリスト教思想への招待』を読み始めたのは7日目である2019年5月3日、読み終えたのが2019年5月4日と連休後半どころか終盤である。 何か意味がありそうなことをやるために5,6日も充電しなければならない。 あまりにもフット…

『Head First はじめてのプログラミング』の査読を担当しました

初心者向け本の本格派 2019年4月26日にオライリージャパンから『Head First Learn to Code』の邦訳『Head First はじめてのプログラミング』が発売される。 この度、邦訳の査読者として参加させていただいた。 オライリーの方から話があったのは2018年12月中…

『PythonによるWebスクレイピング 第2版』の査読を担当しました

Python 3対応&日本語版向けアップデート 2019年3月26日にオライリージャパンから『Web Scraping with Python, 2nd Edition』の邦訳『PythonによるWebスクレイピング 第2版』が発売される。 この度、邦訳の査読者として参加させていただいた。 オライリーの…

Pythonの文字列メソッドの罠

うわあ...これはUnicodeですね。 業務で、「与えられた文字列が半角英数で構成されているかを判定したい」という場面に遭遇した。 これはユーザーに何かを入力させる際にその文字列が想定しているものなのかを調べるケースの典型例である。 Pythonの場合、正…

『アジャイルイントロダクション』を読んだ。

アジャイル開発の利点・誇張・難点 近代科学社から発売されているトップエスイーシリーズの入門講座の2分冊目である『アジャイルイントロダクション Agile開発の光と影』を読んだ。 www.kindaikagaku.co.jp www.kinokuniya.co.jp Twitterで見かけたのがきっ…

『入門 監視』を読んだ。

さくっと読めて考えるべきポイントが掴める本 オライリージャパンから出版された『Pratical Monitoring』の翻訳である『入門 監視』を読んだ。 www.oreilly.co.jp 発売される前からそのシンプルかつ「なぜモニタリングではなく監視なのか」という疑問が湧く…

PMは何の略語なのか

広がる解釈の可能性 ソフトウェア開発やWeb開発の業界に身を置いていると、PMという略語を耳にする機会が非常に多い。 一般に、PMはプロジェクトマネージャーの略語として使われている。 現に、私もPMをプロジェクトマネージャーの意味で使用していた。 しか…

『pandasクックブック』の査読を担当しました

コンパクトなクックブック 2019年2月5日*1に朝倉書店から『Pandas Cookbook』の邦訳『pandasクックブック』が発売される。 この度、邦訳の査読者として参加させていただいた。 翻訳者の黒川さんから話があったのは2018年8月であった。 www.asakura.co.jp pan…