タグ

pythonに関するyhinoのブックマーク (27)

  • Pythonを高速化しよう! - gumi Engineer’s Blog

    はじめまして、gumiの津村です。 現在は解析系の仕事をしたり、ツールを作ったりしています。 今回の話は高速化についてです。 結構長めの文章です。 目次 実行速度の高速化 Python/C API ctypes Pyrex Cython SWIG その他 纏め 実行速度の高速化 高速化といっても色々ありますが、今回は実行速度の高速化についてです。 弊社ではPythonを全面的に採用していますが、そもそもLLは実行速度が遅い言語です。特にC言語のようなコンパイラ系の言語と比べると非常に遅いです。 それでもLL系の言語がここまで使われるようになったのは、開発効率が良いからです。 もはや常識ですね。 しかし、それでも特定の領域ではどうしてもPythonのようなLL系言語では厳しい部分も出てきます。 アルゴリズムを変更しても、ハードウエアを変えても、無理な物は無理です。 速度に問題がある場合の最適

    Pythonを高速化しよう! - gumi Engineer’s Blog
    yhino
    yhino 2010/11/11
  • Good night, Posterous

    Posterous Spaces is no longer available Thanks to all of my @posterous peeps. Y'all made this a crazy ride and it was an honor and pleasure working with all of y'all. Thanks to all of the users. Thanks to the academy. Nobody will read this.

    yhino
    yhino 2010/10/26
    pythonの開発環境のまとめ
  • Python開発環境 | Go for it!

    Pythonバージョン 2.5 or 2.6を使う。 3.xはまだ時期尚早というか、DjangoGoogle App Engineが対応していないので事実上選択肢にならない (DjangoGoogle App Engineが対応したら移行が加速すると思います)。 ちなみに、RedHat LinuxにはPython 2.4がプリインストールされていますが、 SQLiteが動かないなど開発作業を行うにあたってはちょっと厳しい。 ソースコンパイル 、 EPEL からyumで拾う、aptitude install python2.5するなどなど、お好きな方法でインストールしてください。 MacOSXならMacPortsが便利です。 パッケージ管理 とりあえずsetuptoolsとpip入れましょう。 setuptools pip setuptools入れ方: wget http://peak.

    yhino
    yhino 2010/10/26
    python開発環境に関するまとめ
  • Python初心者によるPythonのいいところ、はまりどころのまとめ - Webtech Walker

    Python勉強し始めて一ヶ月くらいたったんで一度復習を兼ねてまとめてみようと思います。僕が今までPHPとかPerlとかJavaScriptを使っていて、Pythonはこうやるのかーとか、これは便利だなーと思ったところ、開発していてはまったところなどピックアップしてみました。 初めてのPythonを読んで初心者向け勉強会に参加した程度の知識です。とりあえず初めてのPythonがかなりいいのでこれ読むだけで大体基礎は習得できた気がします。基的な文法の説明だけでなく、大事なことは何回も繰り返し書いてあったり、Pythonの思想などにも触れているのでなぜこういう実装になっているかということも理解できます。これオススメ。 尚、このエントリーではPythonのバージョンは2.5をベースにしてます(主にGoogleAppEngineで使ってるので)。間違えなどあったらツッコミお待ちしてます。 文法、

    Python初心者によるPythonのいいところ、はまりどころのまとめ - Webtech Walker
  • おっさんにもできた! PythonによるGUIプログラミング環境をUbuntuベースで構築する。 | Viva! Ubuntu!!

    初心者にも優しいUbuntuを仕事趣味に活用!いやぁ、ありがたきコンテンツが公開されております。 その名も 「おっさんにも解るPython」。 「Project Mikunchu♪」の首謀者、いや(^_^;;;中心メンバーであらせられる、かおりんさんによるありがたき福音書です。 プログラミングに手を出すくらいならば、開発環境くらい、自分でググッて調べて構築するよね。。。(^_^;と言われちゃうところでしょうが、おっさんは意外と忙しかったりするんですよね。。。ってことで、下記に手順をまとめてみました。 経験豊富な妄想力を発揮して、週末プログラマーなんていかがでしょ? ゆくゆくは、かおりんさんによるこの原作がマンガとして世に出るといいなぁなどと思ったりしながら、 おっさんのひとりである私も、さっそく手順通りにやってみました。 ま、そんなことより「萌えOS(暫定版)」にダメ出しをして(^

  • Pythonでいろんなバイナリファイルを覗いてみる – taichino.com

    プログラマをしていると、ちょくちょくバイナリデータから情報を読みたくなりますね。そんな時は、ブツブツ言いながらバイナリエディタと睨めっこすることになるわけですが、これが結構大変なので、何とか楽にならないかなぁと思って探していると、hachoirというナイスなpythonモジュールが見つかりました。このモジュールを使うとバイナリデータをパースして様々なデータを取得できます。かなり多くのデータフォーマットに対応している(現時点で70種類)のが素晴らしいです。 hachoirはいくつかのモジュールに分かれているのですが、大抵は以下をインストールすれば良いと思います。 $ easy_install hachoir_parser $ easy_install hachoir_metadata このモジュールにはhachoir-metadataというコマンドラインツールが含まれていて、コードを書かなく

  • Shibu's Diary: LL TigerのLTでRuby on Python(仮)の発表してきました。

    渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 LL Tigerでライトニングトークスに参加してきました。今回はトーナメントの勝ち抜き方式で、今までのLTで見た中で技術的にハイレベルなプレゼンが数多く行われました。我らが"殺伐Python"は、残念ながら2回戦敗退でしたが、その負けた勝負も「言語実装者vs言語実装をだます人」という、刺激的すぎる対戦でした。柴田さんも、良い試合だったと言ってくれました。@moriyoshi, @ymotongpoo、お疲れ様でした!ちなみに写真は昼休み。「shibuya.jsやべぇよ、飲んで勢いでやろうぜ」的なw(清水川さん、写真ありがとうございます) イベントとしては、並列の話がおもしろいなぁ・・と思いました。上から下まで、コードジェネレータ、DSL、トランスレート・・・さまざまな技術がない

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

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

    yhino
    yhino 2010/05/13
  • python入門チートシート - ナマアシタノム

    内容 python初学者向けの頻出アイテムチートシートを作成してみました。 A4用紙に印刷してちょうどいいように必要事項をみっしりと敷き詰めています。pythonプログラミングのお供にどうぞ。 目次 if文 while文 for文 continue/break文 論理演算 算術演算 関数 リスト ディクショナリ map タプル モジュール クラス 例外 の基的なことをできるだけたくさん盛り込みたかったので記述順番はぐちゃぐちゃしてしまった感じです。 記述ミスあったらごめんなさい。指摘あれば直します 最新版のDLは こちらからどうぞ(v1.1)。 (zip/約50kb/中身はpdf) 古いバージョン v1.1 コメントのid:t-tanakaさん指摘を修正 b:id:cu39さんのコメント「M+2VM+IPAG circleですね。」を見てフォントを「M+2VM+IPAG circle」に

    python入門チートシート - ナマアシタノム
  • Pythonのエンコーディングでよくはまるのでメモ - suztomoのはてなダイアリー

    Python温泉に来て以前貰ったReal World Haskellを読み進めています.Haskellとは関係ないですが,さっきUnicodeとかutf-8とかのエラーについてさぼてんの人や@tokibitoさんや@whosaysniさんに教えてもらったのでメモ. Pythonのstringはbyte列であり,Unicode文字列は内部でどのような表現が使われているかプログラマが意識しなくていいというのがミソだった.どのようなbyte列であるかを指定するにはUnicode文字列を作成するとき*1や,Unicode文字列をPythonの外に出す(端末への出力やファイルへのリダイレクト)ときに指定する必要がある. 具体的には端末上では動いているけれどもファイルへリダイレクトするときにエラーがでるときがある.これは端末はUnicode文字列をどのようなバイト列で出力すればいいかを教えてくれるとい

    Pythonのエンコーディングでよくはまるのでメモ - suztomoのはてなダイアリー
    yhino
    yhino 2010/03/23
  • 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 Python スタイルガイド

    概要¶ これは Google Python Style Guide Revision 2.29 を日語に訳したものです。 家ガイドは CC-By 3.0 ライセンス の基で公開されています。また、ガイドも同ライセンスを継承します。 家ガイドの著者は以下の通りです。 Amit Patel Antoine Picard Eugene Jhong Jeremy Hylton Matt Smart Mike Shields また、ガイドの翻訳者は以下の通りです。 Kosei Kitahara ガイドに誤植、誤訳があった場合は issue で教えてください。 その他ガイドに関する問い合わせは、サイト最下部に記載のメールアドレスか @Surgo にお願いします。 はじめに¶ PythonGoogle で使われている主要なスクリプト言語です。 このスタイルガイドは Python によ

  • Linuxから自宅のエアコンを操作できるようにしたかった - YAMAGUCHI::weblog

    はじめに たまにエアコンのリモコンがどこに行ったかわからなくなったりするので、PCからエアコン操作できたらいいな、と思って作ろうとした。結局断念したんだけどね。 使ったもの ハードウェア BUFFALO PCastTV2対応 PC用学習リモコンキット PC-OP-RS1 出版社/メーカー: バッファロー発売日: 2006/09/10メディア: Personal Computers購入: 17人 クリック: 807回この商品を含むブログ (10件) を見る 渋谷で買おうと思ったんですが、ビックカメラでは「渋谷、新宿、池袋ともに在庫なし」、ヤマダ電機では「取り扱っていない」と言われました。取り寄せしてもらうくらいならAmazonで、ということでAmazonで購入。 ソフトウェア シリアル通信に関してはpySerialを使います。それ以外はPythonの標準ライブラリです。 あとシリアルドライバ

    Linuxから自宅のエアコンを操作できるようにしたかった - YAMAGUCHI::weblog
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • キャッシュと効率 - 素人がプログラミングを勉強していたブログ

    Life is beautiful: Python Hack : 噛めば噛むほどおいしくなるクロージャの話を見て、いろいろと気になるところがあったので書いてみる。 import yaml def _get_from_disk(): data = open('config.yaml').read().decode('utf8') config = yaml.load(data) # クロージャ内に隠蔽・保持されるローカル変数 global get get = lambda : config # 二回目からはconfigを返す無名関数を呼ぶ様に変更 return get() get = _get_from_disk # 初回のみローダーを実行 http://satoshi.blogs.com/life/2009/11/python-hack.html 間違えました…。この部分はきちんと動いてま

    キャッシュと効率 - 素人がプログラミングを勉強していたブログ
  • Python Hack : 噛めば噛むほどおいしくなるクロージャの話

    最近 JavaScript を書く機会が増えているが、それに従って自分のコーディングスタイルが少しづつだが変化してきているのが分かる。もともと「コードの読みやすさ」や「実行効率」にとことんこだわるタイプだが、(JavaC++になくて)JavaScriptRubyにあるクロージャや無名関数が私のコーディングスタイルにとてもマッチしているからだと思う。 簡単な例を紹介しよう。Pythonで書かれた config.py というモジュール。config.yamlという設定ファイルを読み込んで Dictionary として返す config.get() という関数。普通に実装すると、以下のような感じになる。 import yaml _config = None def get(): global _config if not _config: data = open('config.yaml')

  • いやなブログ - 文字列操作の比較表: Ruby, Python, JavaScript, P...

    文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)

  • PythonのGCについて

    PythonのGarbageCollection 原文 Neil Schemenauer (翻訳:中村 成洋) ポータブルなGarbageCollection 概要 循環参照はリスト,タプル,インスタンス,クラス,辞書,関数に伴って見つかります. インスタンスの __del__ メソッドは正常に取り扱われます. 新しいタイプをGCの対象に追加するのは簡単です. このGCが有効なPythonは,通常のPythonとバイナリ互換です. 世代別GCが動いています(今は三世代).このオーバヘッドをpybenchで測ったら,大体4%くらい占めていました. 実質的に,すべての拡張モジュールは,不変に(私は,標準的な配布において 新しいものとcPickleを修正しなければなりませんでした)ならなければなりま せん.gcと呼ばれている新しいモジュールは,コレクターを調整して,デバッ ギングオプションをセッ

  • Java開発者の読むDjangoの設計思想 - やさしいデスマーチ

    Djangoのサイトには「Djangoの設計思想」というドキュメントがあります。どんなフレームワークでもそうですが、設計思想を理解し、その流れをつかむ事で正しい利用への最短ルートです。もし、自分の思想にあわないならば問題です。可能であれば、そのフレームワークの検討を取り止めるべきでしょう。それが出来ないならば利用している時にはそのフレームワークの思想で思考することが求められます。 Djangoの設計思想は、緩く結合し、必要最低限のコードで、だが隠蔽せずに明示するという事です。DjangoではMVT(モデル/ビュー/テンプレート)と呼ばれるMVCに近い構造をとります。それらの3つのレイヤーはお互いに疎な関係を持ち、モデルとテンプレートはデフォルトの実装以外を容易に採用できるようになっています。また、ほどよく規約を適用し必要なコード量は少なくなっていまが、なんでもかんでも裏側で処理せずに、なに

    Java開発者の読むDjangoの設計思想 - やさしいデスマーチ
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ