タグ

ブックマーク / coreblog.org (11)

  • Pythonでファンシーなデバッガを手軽に利用する方法 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 以前pudbというCUIベースのソースコードデバッガを紹介した。コンソール環境で利用できてなかなかファンシーなのだが,デバッガをいちいち立ち上げる必要があるので少々面倒だ。今回はより手軽にCUIベースのデバッガを起動する方法を紹介する。 方法は簡単。debugというパッケージを「pip debug」などでインストール,デバッグを開始したい場所に「import debug」とするだけで,プログラムのその位置でシンタックスカラーリングの効いたファンシーなデバッガが立ち上がる。 「n」を押して実行を進めたり,print文を使って実行中の変数の中身を表示したりできる。実行中のプログラムも表示し

  • SQLライクな構文でTwitterにアクセスするtweeql | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー tweeqlを使うとTwitterSQLのような構文でアクセスできる。Pythonとeasy_installさえインストールされていれば,導入は簡単。 sudo easy_install tweeql のようにすればOK。 tweeqlはPythonのライブラリだけど,コマンドラインからも簡単に試せる。 動かすのに設定ファイルが必要なので,以下のようにして設定ファイルのひな形をダウンロードしておく。 wget http://github.com/marcua/tweeql/raw/master/settings.py.template -O settings.py その後,コマンドラ

  • Pythonのメタプログラミング (メタクラス) を理解したい人のための短いコード片と禅問答 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのメタプログラミング手法の一つ「メタクラス」は,初心者にとっては「なんか強そう/経験値たくさんもらえそう」なアイテムの最右翼だと思う。反面「どうすればいいか/なにができるか」ということがなかなか理解しづらい。 英語のブログを見ていたら,メタクラスの理解に役立ちそうなちょうどよいサンプルを見つけたので,紹介がてら独自の解説を付け加えたいと思います。 メタクラスを簡単に説明すると,「来コードを書かなければ実現できないような処理を黒魔術的な処理でなんとかしちゃう」ためのテクニックです。コード量を(時には劇的に)減らすことができたり,すっきりした見通しの良いクラス設計を実現できま

    dann
    dann 2010/10/15
  • いろいろな言語のコーディング規約,スタイルガイドのリスト — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー プログラミング言語(C#,VB,PHP,C/C++PythonJavaRubyJavaScript,Objective-C)やHTMLのコーディングスタンダードを集めたリストを発見しました。日語訳があるものはできるかぎり探し出して,括弧のなかに併記して補ってあります。微妙に古いのが混じってるかな。Rubyは日発のコーディング規約がある気がする(まつもとさんの日記を見つけた)。 元記事にPerlのスタイルガイドがなかったんだけど,モダンなPerlスタイルガイドがあったら教えて欲しいです:-)。 PythonにはPEP8というコーディングスタイルガイドがあってよく読まれることは

  • Pythonの定番モジュール集 — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー wiki.python.orgにはUsefulModules(Pythonの定番モジュール集)というリストがある。「開発者に有益な情報を提供するため」と注意書きがあるだけあって,これがなかなか網羅的で便利なので,翻訳しながらご紹介しましょう:-)。 リストを見ると,Web開発やテキスト処理はもちろん,数値解析,ビジュアライズ,ゲームGUIライブラリなどバリエーション豊かで,Pythonの全方位ぶりがよく見えてくる。他のカテゴリページへのポインタは,適宜リストをインラインに展開してあるものもあります。べたっと訳しちゃったので,間違いなどあるかも。コメントなどでご指摘いただけるとありがた

  • Pythonのコーディングスタイル(PEP8)をコマンドでチェック — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー PythonにはPEP8という公式のコーディングスタイルがあります。このスタイルに従うことで,Pythonの思想「誰にとっても明確な手法が,一つだけあることが好ましい(There should be one-- and preferably only one -- obvious way to do it)」に沿った,見やすいコードを書くことが出来ます。 読んでみると分かるのですが,変数や関数,クラスなどの命名規則から,どこに空白を入れろとか改行を入れろとか,かなり細かく記述があります。それぞれの規則にはちゃんと理由があって,出来る限り守った方がコードが見やすくなるのは確かなのですが,

    dann
    dann 2010/02/19
  • テスト -> fail -> デバッガ - Pythonでテストとデバッガを連携するツールnose-pudb — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー CUIベースのビジュアルデバッガpudbを紹介したときは「Pythonの達人はデバッガを使わない」というようなことを書いたけど,僕は最近pudbを使い始めた。ただ,日常的に使っているわけではなく,特定の場面でだけ使うようになった。開発中,テストがfailしたり例外が出たりしたときだけ,pudbを使っている。 最近見つけたnose-pudbはとても便利なツールだ。Pythonのテストユーティリティにnoseというのがある。インストールすると,プロジェクトに関連した複数のテストを順番に走らせてくれ,Pythonunittestを拡張してくれるとても気の利いたPythonicなツールだ。n

    dann
    dann 2010/02/16
  • CUIベースなのに無駄にビジュアルなPython用デバッガ - pudb — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー pudbは,CUI環境(つまりシェル)で動くGUIライクなデバッガ。Pythonには標準でpdbというデバッガがついてくるけど,コマンドラインベースでちょっと使い方が面倒だよね。pudbはpdbよりノリがいい。まあスクリーンショットを見てもらうのが早いかな。 CUIベースでGUIっぽいことをするというのは,レトロなノリだよなあ。でもCUIベースならシェルが動く環境ならどこでも動く,という利点もある。ローカルのPythonでもssh越しのPythonでも,シェル上なら同じように動くというのは嬉しい。 インストールは簡単。いつものごとくeasy_installを使って「$ easy_ins

  • Google App Engineでテスト駆動開発を行うための3つのTips | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    Google App Engineの開発ではPythonを使います。GAEを使ったWebアプリの開発でテスト駆動開発を行う際にも,Python的なユニットテストの文脈を活用できます。 ただし,GAEでユニットテストを行うためにはいくつかのツールやトリックが必要です。ここでは,そのテクニックを簡単に紹介します。 その1 : NoseGAEを使う Pythonのテスト用ツールにNoseがあります。このツールは,複数のディレクトリを渡り歩いて,複数のテストコードを一気に実行してくれる便利なツールです。 NoseのプラグインNoseGAEをインストールすることで,GAEアプリのテストを楽に行うことができます。「nose --with-gae」というようにオプション指定をすることでNoseGAEを利用できます。NoseGAEでは,テストコード上でGAEのモジュールやパッケージをインポートするために必

  • YouTubeはPythonとpsycoが支えている | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー What Powers YouTubeから。大量のアクセスをテキパキとさばくYouTubeを支えているソフトウエアの構成が面白い。 Apache (HTML, JavaScript, CSS) Python Linux (初期はSuSe,現在はいろいろ) MySQL (5.x, Google内製のクラスタリング技術でそうとうカスタマイズされている) psyco, (Python -> Cの動的コンパイラ) lighttpd (動画配信に利用) GFS (Google File system) ほとんどオープンソースで,特別なものは使っていなくて,特にフロントエンドに近いところはかつシン

    dann
    dann 2009/10/20
    psyco
  • Pythonのコードをきれいに書くためのTips — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのようなスクリプト言語の特徴の一つとして,データをソースコードに直接埋め込みやすい,というものがあると思います。実際,Pythonのコードを見ると文字列,リストや辞書といった高機能で使い回しのしやすいデータ型が,リテラルとしてソースコードに埋め込んであるのをよく目にします。時には変数に代入されたり,時には関数やメソッドの引数部分に埋め込まれたり。 いちいち離れた場所にあるデータを見に行ったり,オブジェクトを作るための宣言をする必要がなく,処理をしたい場所の間近にデータを埋め込めるので,とても便利なのですが,欠点もあります。無造作にデータ型のリテラルを埋め込んでいると,ソース

    dann
    dann 2008/10/25
  • 1