Python

jpstock & jsm の公開をやめました

株価取得云々の目的でつくっていた jpstock と jsm の公開をやめました。 jsm を公開したのが2011年の9月。 もともと怒られたり、やめてと言われたらやめようという気持ちで公開してましたが、本日下記のヘルプ画面を知るにいたり、公開をやめる運びとなりま…

pythonbrew 1.3.2

久々に更新。(github/pythonbrew) 更新内容 venvコマンドの改善 switchもしくはuseしていない状態でも動くように変更。

pythonbrewの今後とpythonz

pythonbrewをつくってみてはや1年と半年。思った以上のひとにWatchされ思った以上のひとに使われているみたいです。 Pythonのインストールが面倒くさいと思っている方や元々RVMやperlbrewを使っていた方々からの反応はわりと良かったように思います。 そんな…

PyQtでつくったアプリのパッケージングとインストーラの作り方

ここ最近、PyQtを使って以前公開した株価取得ライブラリのGUI化をやってたら思いの外楽しかったのだけど、インストーラーとかパッケージングとかそのあたりがまあ面倒くさくてまあダルい。 ごにょごにょいろいろ試してようやく動くっぽくなったので忘れない…

PyQtの環境づくり + MacOSX

PyCon JP 2011のセッションで見かけた「PyQtではじめるGUIプログラミング / Tutorial: GUI Programming with PyQt」がとっても良かったので、さっそくPyQtやろうと思って、Macで環境づくりした。 前提 homebrewとpythonbrewがインストールされているMac。 ho…

株価や財務情報を取得するツール 2

株価取得ツールのjsmをバージョン0.2に更新した。 今回の更新では、APIの整理と少しのバグ修正を行った。APIの整理をしたことで多少は使い勝手がよくなったと思われる。 今までは取得対象ごとにクラスのインスタンスを作成してメソッドを呼び出す形だったの…

PyPIに株価や財務データを取得するライブラリを公開した

Yahoo!ファイナンスから株価や財務データをスクレイピングして取得するライブラリをPyPIに公開した。 名前は、jsmといってjapanese stock marketの略。 このプログラムは去年の12月ぐらいにぼんやり書いてそのまま放置していたブツなのだけど、わりとまじめ…

Python + Flaskで書いたサンプルアプリをfluxflexにデプロイしてみた

Python + Flaskでサンプルアプリを書いてfluxflexにデプロイしてみたら、思いの外使い勝手が良かった。 fluxflex fluxflexとは、クラウドホスティングサービスのひとつ。 Platform as a Service、略してPaaSなどと呼ばれてるサービス。 競合するサービスにdo…

pythonbrewで構築するPython環境 その2

その1はこちら。 pythonbrewってなんぞ?という人は、こちらも併せて見ると良いかもです。 その2では、pythonbrew-0.9で追加したbuildoutとvenvコマンドについて解説します。 概要 buildout : buildoutをラップしたコマンド。 venv : virtualenvとvirtuale…

dotcloudとPythonを使ってWebアプリを公開してみた。無料で。

プログラミング書籍をソーシャル的に人気っぽい物から順位付けするランキングサイトをつくりました。 Amazon Social Book Ranking PHPやPerlやRubyやPythonやCやC++やJavaなどの有名どころっぽい言語をわしゃわしゃっとまとめてます。 使いどころなんてあっ…

PythonとAmazonのProduct Advertising API

最近、AmazonのProduct Advertising APIをPythonでごにょごにょするということをやっていて、ある程度やり方というかライブラリを見つけたりとかしたので、忘れないように書き残しておきます。 1.Product Advertising API への登録 ここから登録します。 …

pythonbrewで構築するPython開発環境

pythonbrewとvirtualenvを使ってPythonの開発環境を整えてみました。 ツールの詳しい説明は、リンク先を見てくださいということではぶきます。 続きました→ その2 対象 環境:LinuxやFreeBSDなど。Bourne Shell系(bash, ksh, zshは確認済み) 人:Pythonイ…

AhoCorasickを実装してみたんだす

今更ながら「大規模サービス技術者入門」を読み返したんだす。 AhoCorasickのこと今までアホコラシックて読んでたけど、 正しくはエイホコラシック(Wikipedia調べ)だそうなんだす。 ソースコード -> pyahocorasick failure linkを作るところを理解するのに…

Flask on Google App Engine(buildout 編)

buildout を使って Flask + Google App Engine な環境を構築してみたメモ。 buildout とは、Pythonベースの環境構築ツール。 日本語による記事が少なくて非常にとっつきにくいですが、慣れると簡単便利です。 こちらが今回書いた物。一応、Linux(CentOS5), M…

Flask on Google App Engine

Google App Engine 上で Flask を動かす用のスケルトンプログラムを作った。 git 使い専用。 buildout 以外のアプローチ。(buildout ややこしいんですもん) git clone して copy コマンドを叩くと、プロジェクトの雛形がつくられる。 使い方 $ git clone h…

Python + FlaskでMVC的なことをやってみた

Python + FlaskでMVC的なサンプルをつくったメモ。 MVC的な記事まとめ ひとまずMVCについて言及されている記事をまとめ。 MVCはWikipediaが詳しい。 以下は調べた中でもわりと個人的にしっくりきた記事たち。 Web Applicationを綺麗に設計するためのMVACとい…

Flask + Python 基礎

Flask 基礎を勉強中。 環境構築 OS:CentOS 5.4 Python-2.6.6 インストール。 $ pythonbrew install 2.6.6 $ pythonbrew switch 2.6.6 Flask インストール。 $ pip install Flask Hello Flask $ vi main.py from flask import Flask app = Flask(__name__) @…

PythonでつくるWebアプリ/Tornado + Gunicorn + Nginx

この1ヶ月、土日の休みを使いTUBELONGERってWebアプリをつくってました。 言語はPython。 Pythonは日本語の取り扱いが若干面倒だったりするけど、書いてて楽なので好き。 以下、PythonでWebアプリをつくるにあたって調べたり分かったりしたことのメモ。 構成…

mod_wsgi 周りでハマって徹夜した件

mod_wsgi を入れようとしたら、糞ハマったのでメモり。 環境: CentOS5 httpd-2.2.17 mod_wsgi-3.3 Python-2.7.1 /home/user 以下にインストール httpd, mod_wsgi, python は、ソースからコンパイルしたものを使いました。 とりあえず、/home/user ディレク…

Python で Variable Byte Code を実装 その2

先日 Python で実装してみた VBCode の続き。 ここからダウンロードしたはてなのデータを実際に圧縮してみた。 準備 ダウンロードしたやつの中に入っている eid_tags.txt を使う。 $ curl -LO http://image.gihyo.co.jp/assets/files/book/2010/978-4-7741-4…

Python で Variable Byte Code を実装

よる年の瀬の最中、Web開発者のための大規模サービス技術入門という本を読んでる。 ソーシャルゲームが流行っている昨今、大規模サービスの運用論や方法論について、少しは学んでおくか的なノリで読んでる。 こいつは、株式会社はてなで行われたインターン実…

Request Counting アルゴリズム

GREEエンジニアブログのグリーの大規模分散ストレージ戦略(nanofs) Vol.2を見ていて、Apache の Request Counting ってなんぞやと思ったので、調べたメモ。 Request Counting アルゴリズムとは Apache の mod_proxy_balancer モジュールに組み込まれているロ…

Pythonのバージョンを管理するツール、pythonbrewを作ってみた

Perlのperlbrewってツールが凄く使いやすくて羨ましかったので、Pythonで使えるpythonbrewってツールを作ってみました。 perlbrew? perlbrewとはPerlをバージョン毎にインストールして、それらをswitchして使ったりできるツールのこと。 既存の環境を壊さず…

Pythonのインタラクティブモードを拡張してみた

Pythonのインタラクティブモードが拡張できると聞いてやってみたメモ。 作業環境はMacOSX。 インタラクティブモードとは? pythonコマンドを実行したときに表示される、 インタラクティブにコマンドを実行できるモードのこと。(↓これ) $ python Python 2.5…

MacPortsで行うPythonのバージョン管理

MacPortsを使うとPythonのバージョン管理がお手軽だってことを知ったのでメモっとく。 Python2.5, 2.6 まずMacPortsを使ってPython2.5と2.6をインストールする。 $ sudo port install python25 ... ---> Installing python25 @2.5.5_1 ---> Activating pytho…

Python で実装する IRCボット

たまたま作る機会があった IRCボットを Python で実装してみたメモ。 環境は CentOS 5.4、Python 2.4 python-irclib IRCボットを簡単に作成できるライブラリ、python-irclib をインストールする。 $ wget http://sourceforge.net/projects/python-irclib/fil…

vars, locals, globals + Python

スコープに含まれる変数を要素とする辞書を戻す関数メモ。 テストプログラムを書く $ vi vars.py #!/usr/bin/env python # -*- coding: utf8 -*- g_name = "tarou" g_color = "red" def func(): name = "jirou" color = "blue" print "-"*10, "In function."…

パッケージインポート

Python のパッケージインポートについてメモ。 パッケージインポートとは? ディレクトリパスを指定してインポートを行う機能のこと。 モジュールサーチパスに指定するディレクトリが減らせたりできる。 __init__.py インポート対象ディレクトリに必要なファ…

.python-eggs + 環境変数

.python-eggs でちょっとハマったメモ。 MySQL-python を使うとき .python-eggs が作成されるのだけど、 デフォルトでは、自分のホームディレクトリ下に作成される。 なので、例えば下記のように別ユーザーでスクリプトを実行させた場合、 実行ユーザーのホ…