プログラミング

幅優先探索で迷路を解く

人材獲得作戦・4 試験問題ほか: 人生を書き換える者すらいた。 幅優先探索で迷路の最短経路を探す 探索方法ピンときませんでしたw いいわけはしませんwww はぁ、、、、 というわけで、家に積まれっぱなしだった本を見ながら幅優先探索を勉強。 ダイクストラ…

CanvasのglobalCompositeOperation

前回のパーフェクトシャッフルは、表示を奇麗にする為にopacityを0.03にして透過を強くし、その副作用として色が薄くなってしまったのを強調する為にgetImageDataを使ってピクセル毎の色を調整していたわけだけども、MDCのサイトを見てると、Canvasのコンテ…

パーフェクトシャッフル

http://d.hatena.ne.jp/nishiohirokazu/20100107/1262835414 ↑が奇麗すぎるので、できないかと思ってやってみた。が、どうしても円形にする方法がわからない。 しかたがないので5角形で止まっているところまで。実は時系列的には上の記事で書いたベジェが後…

CanvasでquadraticCurveToしてみる。

正多角形の表示とその頂点nと頂点n+1をつないでできる2次ベジェ曲線を書く。紫の線が多角形。緑が2次ベジェ曲線。赤が図形中心とベジェ曲線の制御点を結ぶ線分。以下、ソース。 var ceil = Math.ceil; var round = Math.round; var cos = Math.cos; var sin …

時刻取得

「javascript 時計」で検索するといろんな所でソース付きで紹介されているけど、どれもsetIntervalかsetTimeoutで1000ms毎に実行するタイプのもの。この場合最大999msずれている可能性もあるのだけど、まぁjavascriptで表示するレベルのだからしょうがないの…

version3で変わったこと

GoogleMapsAPI version3というのがあるらしい。 http://sites.google.com/site/gmapsapi3/developers によると、 2009年 5月 27日、Google I/O イベントにてGoogle Maps API JavaScript版のversion 3が発表されました。 Google Maps API version3は、既にあ…

フラクタルもどき

マンデルブローとかジュリアとか名前だけならなんとでも言えますw ということでcanvasを使ってフラクタルもどきを作ってみた。行く行くはマンデルブローを書くんだ!!! ちょっとパラメータを変えただけでいろんな図形が書けるのでおもしろい。 ↓とりあえず、…

Yahoo

Yahoo!デベロッパーネットワークの日本語形態素解析を使って形態素解析をするクラスを作ってみた。 関数の引数にはデフォルト値を使って、URLやnamespaceはクラス変数に持たせるようにしてみた。 # coding: utf-8 from urllib2 import urlopen from urllib i…

短縮URLサービスbit.lyを使う

twitterのような140文字制限のある文章内にURLを入れたいときには、短縮URLを使うのが常識だ python使ってbit.lyの短縮URLを取得するスクリプトを書いてみた。 json形式とXML形式での取得が可能のようだが、今回はJSONを処理することにする。 # coding: utf-…

Canvasでグラデーション2

中心からグラデしてみた こんなのできたw

canvasでグラデーションしてみる

とりあえず現時点でできてるもの。 Core2Duo2.4GHz メモリ2GBのMacBook上のFirefox3で6秒弱 <html> <body> <canvas id="color" width="350" height="350"></canvas> <script type="text/javascript"> var canvas = document.getElementById('color'); var ctx = canvas.getContext('2d'); var canvas_w = canvas.width; var canvas_h = canvas.height…</body></html>

UIImageでグラデーションしたい(その2)

グラデーションを使ってカラーピッカーみたいなものを作ってみた。色の値を取得するところは未実装。 [追記]色相を生成する方法が間違っていたのでソースコード含めて修正。あと、何も考えずに実装したのでAppDelegateにメソッド詰めこんでます。 それから、…

UIImageでグラデーションしたい(その1)

結論からいうと、まだできてませんがwww とりあえず画面いっぱいに設定したUIImageViewに色を設定してみるコード。 int width = 320; int height = 480; int bytesPerRow = 4 * width; unsigned char pixel[bytesPerRow * height]; int n; unsigned char *pt…

WebAPI使う基本 「ひとがご」のGoogleサジェスト結果を取得する

URLエンコード URLエスケープともいう。 from urllib import urlencode param = { 'hl':'ja', 'q': 'ひとがご', 'output':'toolbar', } encoded_param = urlencode(param) outputを止めて、'callback':'callback_func'にすると、callback_funcが指定されたJS…

GoogleAppEngineのcronを使って

携帯百景に投稿した写真をはてダに投稿するスクリプトを書いた。 以前までは、XREAの有料サービスを使用して、cronで動かしてた。それはperlでHTMLのスクレイピングをして、shellのmailコマンドで投稿するものだった。 今回設置したのは以下のソース。 #!/us…

XPathでnemaspace付きの処理を行いつつベンチマーク

media:contentというタグが携帯百景のRSSのなかに含まれていたので、namespace付きのタグをXPathで処理をする勉強ついでにtimeitしてみた。 今回はXMLのparse処理もベンチマークに含めている。 import timeit from lxml import etree as lxml_etree from xml…

XPathベンチ

以下のようなベンチマークスクリプトを書いてみた。もっとスマートな方法でベンチマークできるといいな。 #-*- encoding: utf-8 -*- from xml.etree import ElementTree from lxml import etree from time import time def xpath_by_xml(fname): x = Element…

URLアクセスをおこなってXPathで処理を行うサンプル(lxml版)

pythonでXpathをするならlxmlの方が良いという噂なので、やってみた。 libxml2のインターフェースということなので、激速とのこと。 #-*- encoding: utf-8 -*- # URLアクセスをおこなってXPathで処理を行うサンプル(lxml版) import urllib2 from lxml import…

URLアクセスを行ってXPathで処理を行うサンプル

#-*- encoding: utf-8 -*- # URLアクセスをおこなってXPathで処理を行うサンプル import urllib2 import StringIO from xml.etree import ElementTree r = urllib2.urlopen('http://movapic.com/feed/user/fn7') # エラー処理はしない if(r.code != 200): ex…

URLアクセスをおこなってDOMで処理を行うサンプル。

#-*- encoding:utf-8 -*- import urllib2 from xml.dom import minidom r = urllib2.urlopen('http://movapic.com/feed/user/fn7'); if(r.code != 200): exit(0) doc = minidom.parseString(r.read()) for item in doc.getElementsByTagName('item'): link =…

ロール

インターフェースと継承の使い方は、ロールと種ということを考えると良いらしい。人間という種は継承によって実現されるべきだが、職業のようなロールはインターフェースで実現する方が利に適っているということらしい。「理」か「利」かといえば「利」だろ…

半角英数記号

正規表現で半角英数記号の文字集合は [!-~] ならしい。なんて簡単高性能!! 含まれる文字は以下で出力可能 print join '',map {chr($_)} (33..126); 実は print join('',('!'..'~')); とかってやってみたw んだけどやっぱむりみたい。使う時には、 my $str = …

入れ子集合によるツリー

http://www.geocities.jp/mickindex/database/db_tree_ns.html この考え方はすごい。SQLHacksには隣接リストによるツリー構造の方法しか載ってなかったしなー。 いや、恥しながら、「隣接リスト」という名前がついてるのも初めて知ったんだけど。