programming
用意するもの Read/Write/DM可能なアプリケーションのコンシューマキーとシークレット(https://dev.twitter.com/appsで取得 subversionのクライアント (tortoiseSVNとか visual basic 2010 express (vb.netをビルドできる環境 1. subversionクライアントでリ…
中学生でもわかるベジェ曲線を読んでなるほどなーと思い、理解の確認でPythonでベジェ曲線のクラスを実装した。 #! /usr/bin/python2.7 # coding: utf-8 # bezier.py # ref: http://ruiueyama.tumblr.com/post/11197882224 def pt(p, q, t): assert 0 <= t <…
ajaxなアプリケーションを、表示しているコンテンツによってurlを切り替えつつ(もちろん画面遷移無しで)googleに正しくクロールしてもらえるようにしたかったので、うわさの(?)shebangつきurlの動作を確かめました。What's the shebang/hashbang (#!) i…
python2.7からQueueモジュールにスタック(LIFOQueue)と優先順位キュー(PriorityQueue)が入ってたので使ってみた。ダイクストラ法。グラフはwikipediaのダイクストラ法に載ってるやつから作った。 #! /usr/bin/python2.7 import Queue as queue nnodes = 6 di…
かなりニッチな気がしますが・・・Queryでzipファイルを解凍するためのプラグインを作りました。ソースは以下に。 https://github.com/yatt/jquery.zip.inflate実際にコーディングしたのはjQuery.ajaxとの統合部分で、実際にzipを処理する部分はhttps://gith…
Google Code Jamに提出されたソースを閲覧するCodejam Source Viewerを作ったときに感じたappengineでアプリケーションを作る際の注意点をメモ. データストア編 アップロードできる静的ファイルは最大3000個まで。 ローカルにプロキシを置いてクロスサイトAj…
手持ちのガラケーだとどうしようもない感じなので, ガラケーからfavstar.fmの最新のfav一覧を見られるようCGIスクリプトをぱぱっとかきました.
Google App EngineのGQLはSQLライクの構文が使えますが、実際にはSQLと比べると機能がかなり制限されています。その中でも開発時に最も面倒な制限のひとつに、一度のクエリで取得できるエンティティの数は1000個までという制限があります。つまり、データモ…
Google App Engine上で、Codejam Source Viewerというサイトを作りました。Google Code Jamでsubmitされたソースコードを手軽に閲覧するためのアプリケーションです。公式のスコアボードでは、 特定のユーザを検索できない どの言語を使っているのか不明 ソ…
webアプリケーションを作るのに必要になったので、jQuery向けのbase64コーデックプラグインを作りました。githubにソースがあります. https://github.com/yatt/jquery.base64 atob/btoaが使える場合そちらを使い(ネイティブコードでサポートされるのでずっと…
aptで探してもなぜかpython向けバインディングは無いわsetup.pyはこけるわで無駄に時間くったので備忘録。 辞書のデフォルト文字コードがeuc-jpらしくutf-8の辞書が無いとコンソールの端末エンコーディングに合わない。 それからsetup.py installで共有ライ…
appengineをいじっています。Djangoのときも同様のとこでちょっとだけ詰まったのでメモ。開発用サーバをwww.hoge.comで起動する場合の例。 $ python dev_appserver.py -a www.hoge.com /path/to/project
aojtoolsを更新しました。AOJのサーバのドメインがrose.u-aizu.ac.jpからjudge.u-aizu.ac.jpに変更されたため対応しました。http://pypi.python.org/pypi/aojtools/0.1.5
Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)作者: 山本陽平出版社/メーカー: 技術評論社発売日: 2010/04/08メディア: 単行本(ソフトカバー)購入: 143人 クリック: 4,320回この商品を含むブログ (183件) を見る Python2系でurllibと…
C#3.0から拡張メソッドというのが使えるようになったそうです。既存の型にメソッドを追加できます。すごい!!!そこで、たまたま書いていたアプリケーションで必要だった「Bitmapクラスをグレイスケール変換する」機能、これを拡張メソッドで定義してBitmap…
画像や手書き文字から文字データを認識するOptical Character Recognition(OCR)ソフトウェアについて調べて使ってみました。左の画像は指定された画像をOCRで文字列を読み、出力するC#のフォームアプリケーションです。調べてみたところ、実用的なOCRソフト…
今のところFirefoxにのみ対応、一覧のページにのみ対応です.2011-04-05のエントリページの変更に対応しています.yatt/highlight-self-stared-hatenabookmark - GitHubこんな感じになります。このページがサンプルとしてよさげ。はてなブックマーク - はてな…
福島の原発事故を受けて、東北大学が以下のurlで放射線のモニタリング情報を公開しています。http://www.bureau.tohoku.ac.jp/anzen/monitoring/ここから情報を取ってくるスクリプトを書きました。/jsonとかでデータにアクセスできるといいんだけどな。 # co…
Windows7で64bitのpython2.6にPILライブラリをインストールしたが、PIL.Image.showが使えない。 メソッドで使う_imagingモジュールが32bitバイナリでDLLのロードに失敗するみたいだ。自前でビルドとかものすごく面倒そうな感じだったのでどうしようかと思っ…
.NETで他のプロセスにキー入力をする必要があったので、その方法について.NETを前提で調べました。結果、MSDNと@ITとかそこらを調べるだけでなんとかなりました。 プロセス一覧の取得 System.Diagnostics.Process.GetProcesses()でProcessインスタンスの配列…
.NETではSystem.Drawing.GraphicsのCopyFromScreenでキャプチャができるらしい。IronPythonでキャプチャを実行した。参考: http://lassy-tech.blogspot.com/2008/01/c_24.html http://d.hatena.ne.jp/Wacky/20070101/1167665225 import clr import System c…
zipfileモジュールが駄目文字をうまく扱えない windowsで、フォルダを右クリック→送る→圧縮(zip)フォルダで作成したzipファイルをzipfileモジュールで正しく解凍できないケースに遭遇した。原因がわからず調べてみたら、どうやらsjisのだめ文字というのの…
地震で大変。ライフラインが止まってしまいました。困った困った。 urllib.urlretrieveにはreport_hook引数が用意されていて、callableを渡すとダウンロード状況をコールバックして知らせてくれます。シグネチャはこんな感じです。 report_hook(blocks_read,…
list comprehension PEP 202 -- List Comprehensions [n for n in range(10) if n % 2 == 0] sample: import re lst = sum(re.findall('\d+', line) for line in open('lines.txt'), []) generator PEP 289 -- Generator Expressions def gen(n=0): while Tr…
Project Eulerで巨大な数のフィボナッチ数(10^14番目ぐらい)の剰余を求める必要があったので、関連するアルゴリズムについてまとめました。行列を使った最適化については@nico_shindanninさんにヒントをいただきました。 定義通り求める すぐに限界のくる方…
既存のクラスのGUIを書こうとすると既存コードを弄る必要がある件 GUIプログラムを書く際に、ユーザの入力に対応して内部の状態を変更して、GUIを手動で更新みたいのは面倒すぎるので、内部の状態を更新するとUIは自動で更新される仕組みにしたい、と思うわ…
PythonでのマルチスレッドプログラムとGIL C言語とかJavaでマルチスレッドプログラムを組んでからCPython(C言語のPython実装)でマルチスレッドプログラムを組むとつまずきます。並列プログラムで実行速度が上がらないからです。その原因は、Pythonインタプリ…
C言語で関数ポインタを使ってカプセル化に挑戦してみた でやってみたカプセル化にならって、優先順位付きキューを実装してみました。int型を扱うシンプルな作りをしていて、構造体を作るときに渡す列挙体の値で優先順位を昇順か降順か選択できます。また、ヒ…
日本電気 モバイルWiMAXルータ AtermWM3500R マーズレッド PA-WM3500R(AT)R出版社/メーカー: NEC発売日: 2010/11/30メディア: Personal Computers購入: 1人 クリック: 133回この商品を含むブログ (26件) を見るWiMAXルータのWM3500Rはhttp://web.setupの管理…
convertコマンドを使ったPython CGIスクリプトを書いたのでメモ。 アイコン画像を台形の透過pngに変換してhtml5ロゴと合成し、base64エンコードしてhtmlソースに画像を埋め込んでいます。demo アイコン画像 #! /usr/bin/python # coding: utf-8 import sys i…