達人プログラマーの新装版がでたので読み直してみた

オーム社 さんから献本して頂きました。ありがとうございます! 新装版 達人プログラマー 職人から名匠への道 原著は1999年10月20日に出版されたそうです。このブログ記事を書いているのが2016年11月なので17年前に書かれたことになります。元の出版社である…

Python と型ヒント (Type Hints) と #pyconjp

先週末は PyCon JP 2015 に参加してきました。 どうでも良いことですが、たまたま会社がシルバースポンサーになっていましたが、参加そのものは個人でした。結果的には会場に会社ブースもあったため、そこでお手伝いもしつつの参加となりました。私以外には…

Python とマクロ、代数的データ型

前回はマクロの概要と Python でマクロを実装するための仕組みについて説明しました。 Python とマクロ、インポートフックと抽象構文木 - forest book 動作原理を理解した上で実際にマクロでどういったことができるのか、MacroPy というライブラリで提供され…

Python とマクロ、インポートフックと抽象構文木

どちらがきっかけだったのか忘れてしまいましたが、wikipedia:メタプログラミング か wikipedia:抽象構文木 について調べているうちに マクロ が出てきました。私の中では、マクロと聞くと、C 言語の、プリプロセッサ (コンパイルの前処理) でコードに置き換…

Python と型ヒント (Type Hints)

先日、Python の静的型チェッカーとして mypy を紹介しました。 mypy で静的型付け Python プログラミング - forest book 私には難しくてまとめきれないため、Guido が参照している漸進的型付け (Gradual Typing) も含め、また別の機会に、、、。 とか言って…

アリエル・ネットワークを退職しました

今月末をもって2年4ヶ月働いたアリエル・ネットワークを退職することにしました。あるとき同僚とお昼ご飯を食べていて、私より後に入社した2人の同僚が私のブログを読んで入社を決意したという話を聞きました。 アリエル・ネットワークに入社しました - fore…

mypy で静的型付け Python プログラミング

Pythonへの型アノテーション導入を目指すGuido van Rossum氏mypy の型アノテーションの構文を Python に取り込もうとメーリングリストで提案したニュースが話題になりました。今夏に話題になったニュースを今冬にフォローするという季節外れ感ですが、ずっと…

Python3 プログラミング勉強会の補足

先日、Python3 プログラミング勉強会 を開催しました。以下に資料の中で引用したサンプルコードを置いておきました。 t2y / misc / source / python3_programming — Bitbucket ちなみにこういったサンプルコードをアップする前に pep8 と flakes と doctest …

Ubuntu 14.04 で vim パッケージをリビルドする

Ubuntu 14.04 で vim をインストールすると python3 インターフェースが無効になっています。python3 インターフェースを有効にするために deb パッケージをリビルドしてみます。vim の拡張機能をチェックするには以下のようにバージョンを表示します。 $ vi…

考える生き方

極東ブログ の著者の著書を読んだ。それまでブログの存在は知っていたし、twitter 経由でリンクから記事を読んだことも何度かあった。著者がアルファブロガーの1人だということも知っていた。著者のブログである記事の内容を覚えている。いま見返すと、2年前…

パーフェクトPython

Python3 に特化した専門書という位置付けですが、(Python3 に関した) 言語仕様やその変更、ライブラリの詳細の違いなどを除けば、Python2 でも活用できる知識が大半です。まだ Python2 しか使っていないという方でも十分に役立つ内容だと思います。ただ、本…

リーダブルコード

うろ覚えですが、学生の頃、プログラミングの勉強をしていて、どこかのサイトに 1000 行以上のコードを書いてみるとその言語のプログラミングの雰囲気が分かるといった内容が書いてあったような気がします。本書は特定の言語に依存した内容ではありませんが…

Subversion で svn:externals (外部参照) を設定する

Subversion は、シンボリックリンクをサポートしています。例えば、あるユーティリティモジュールがあり、それを複数のプログラムから使いたい場合、シンボリックリンクを使うと便利です。 シンボリックリンクの作成 試してみましょう。テスト用のリポジトリ…

アリエル・ネットワークに入社しました

9月からアリエル・ネットワーク (以下アリエル) に入社しました。以前、アルバイトで3ヶ月半ほどお仕事していました。以下はそのときの手記です。 アリエル・ネットワークでアルバイトをしてきました - forest book さて、最近こんなツイートを見ました。最…

Pyramid ベースの軽量 CMS フレームワーク Kotti の紹介

ここ最近 Kotti アドオンの開発を行っていました。Kotti は、Pyramid の上位でアプリ開発を支援するフレームワークです。いまのところ、軽量 CMS として開発が進められています。Kotti を紹介するウェブサイトも構築されています。まだ概要程度の情報量です…

ローカル環境で複数の Sphinx ドキュメントを参照する

最近の Python パッケージは、Sphinx でドキュメントが書かれていることが多いです。Sphinx でドキュメントが書かれているなら、そのパッケージのソースをクローンしてきて、ローカルでドキュメントをビルドするのも簡単です。私の場合、そのときの開発に用…

コマンドラインオプション付きの which コマンドを実装してみた

すべてのコマンドがperlで実装されているLinuxディストリビューション。誰得 / perl linux URL2012-08-18 00:09:09 via Hatena Ruby / Python の勉強用に Perl Power Tools みたいに Ruby / Python Power Tools を作ってみようかと妄想したことがあるが、現…

PyCon Taiwan 2012 イベントレポート Day 2

6月9-10日に開催された PyCon Taiwan 2012 に参加してきました。前回の記事からちょっと間があきましたが、2日目 (10日) のカンファレンスレポートです。私は基調講演について執筆しました。 PyCon Taiwan 2012, Day 2:「PyCon Taiwan 2012」参加レポート|…

fanstatic による Python パッケージを使った静的リソース管理

最近 Kotti で Web アプリを作ってみようと調査しています。但し、今日は Kotti のお話ではなく、たまたま更新差分を見ていたら、fanstatic という静的リソース管理ツールが新規に使われているのを見つけました。ちょっと調べてみると、とても良さそうに見え…

PyCon Taiwan 2012 イベントレポート Day 1

6月9-10日に開催された PyCon Taiwan 2012 に参加してきました。今回は、初日 (9日) のカンファレンスレポートです。私は基調講演について執筆しました。 PyCon Taiwan 2012, Day 1:「PyCon Taiwan 2012」参加レポート|gihyo.jp … 技術評論社

PyCon Taiwan 2012 イベントレポート Day 0

6月9-10日に開催された PyCon Taiwan 2012 に参加してきました。初めて行った台湾ですが、羽田空港から飛行機で3時間半と近く、とても良いところですっかり気に入りました。そんな雰囲気が分かるレポートになっていると思います。記事は3人で執筆しています…

DevOps は開運!?

半月以上前のイベントですが、5月26日に DevOps Days Tokyo 2012 が開催されました。私はお手伝いも兼ねて参加していました。 John Wills 氏のスライド 冒頭のセッションで Enstratus 社の John Wills 氏がスライドに「開運」という文字を表示していました。…

detox で tox テストを並列実行しよう

複数の Python バージョンでテストを実行するツールに tox があります。 tox と pytest で Python 2/3 両対応のテストを実行する - forest book tox ツールそのものがとても便利なのですが、この tox テストを並列実行してくれるツールがリリースされました…

pytest のドキュメントを翻訳しました

Python のテストツールに pytest があります。ここ最近、徐々にテストを書くのに慣れてきて、さらにテスト設計や知見を高めようという思いが強くなってきました。pytest は、wikipedia:設定より規約 を設計原則とするツールです。Python は明示する文化なの…

pytest-pep8 を 0.7 から 0.8 にアップグレードしたらテストが失敗するようになった

タイトルは釣りです。pytest で pep8 のテストを行う pytest-pep8 プラグインがあります。次のようなサンプルコードを用意します。 (test)$ vi sample.py x=3 class A(object): pass def f(x): return x このサンプルコードを pep8 でチェックすると、たくさ…

virtualenvwrapper のドキュメント (和訳) を更新しました

2010-12-31 に virtualenvwrapper のドキュメントを翻訳したときのバージョンは 2.6.1 でした。 virtualenvwrapper のドキュメントを翻訳しました - forest book 現時点の最新バージョンは 3.2 です。その後も着々と機能拡張、バージョンアップが行われてい…

あなたも翻訳家になれる! エダヒロ式 [英語→日本語]力の磨き方

枝廣淳子さんの著書を読んでみたくなって購入しました。プロの翻訳家を目指しているわけではありませんが、エダヒロ式学習法に興味がありました。もちろん「翻訳とは何か」という氏の哲学もとても興味深い内容です。それを読むと、私は恐れ多くてプロの翻訳…

Eric Sink on the Business of Software 革新的ソフトウェア企業の作り方

誰かの書評を読んでウィッシュリストに入れていたのを、ある時にお祝いとして id:rokujyouhitoma から頂きました。読むのが今頃になってしまいましたが、ありがとうございます!しかし、いまとなっては、誰の書評を読んだのか、なぜ私は本書をウィッシュリス…

PyCon US 2012 イベントレポート

https://us.pycon.org/2012/ に参加してきました。 そのときのイベントレポートを 「PyCon US 2012」 イベントレポート:レポート|gihyo.jp … 技術評論社 に書きました。face to face でコミュニケーションを取ることの重要さを実感しました。

tox と pytest で Python 2/3 両対応のテストを実行する

pytest *1 に関連して tox も一緒に覚えておくと良さそうです。 @t2y @methane 少し前からtox + py.test が鉄板な気がしますねえ2012-02-07 20:50:23 via twicca to @t2y tox については id:Ehren の入門記事が分かりやすいです。 Pythonでのテストツールtox…