june29さん企画の1983パーリィ! : ATNDです。 ボクから見える範囲では1981と1986がとても盛り上がっていて,ちょうど間にいる1983はどうしたものかと. http://june29.jp/2009/01/18/1983party/ うんうん、私も身近な同級生にIT系に進んだ人がほとんどいないこともあって、同世代の人がどんな仕事しているのかとか気になっていたり。 というわけで、1983に興味のある方は是非。 追記: でも、id:os0xさんがエントリ入れるとはおもはなんだ。もっと年上かと思ってたのに。 http://d.hatena.ne.jp/hao_yayoi/20090210/1234234406 あー、よく言われるかな。 そういえば、あんまりプロフィール書いたことないなと思い、ちょろっとメモ。 1983/6/8生まれ 神奈川県の藤沢生まれ、藤沢育ち 小学校から大学
Tagtterをリリースして、初期は「CPU Quota」連発してしまい見苦しい状態でした。ごめんなさい。 さて、一時はどうなるかと思いましたが現在は「CPU Quota」も表示される事無く動いています。 今日はこの状況を乗り切る際に行った「Google App Engine」のパフォーマンスチューニングtipsを3つほどご紹介。 webapp.WSGIApplicationのdebugフラグはFalseにすべし いきなり当たり前で申し訳ないですが、実はこのフラグがTrueかFalseかというだけで「CPU Quota」が出る頻度が極度に異なります。 実際に同じ症状の方もいらっしゃる様なので、おそらく間違いありません。 また公開する様なシステムでは、パスワード等も管理される事になるかと思いますが、debug=Trueだとスタックトレースに変数の値が表示されてしまい無茶苦茶危険です。気を付け
Ruby1.9系の安定版、1.9.1が登場したので試してみようと思った。まず、次の記事を参考にして既存の環境から切り離して1.9.1をインストール。 multirubyで複数のバージョンのRuby環境を作る - Hello, world! - s21g 終わったらおもむろに、使ってるgemをインストール。 $ multiruby -S gem install amazon-ecs icalendar json mechanize postgres rails rake rmagick ruby-openid scrapi simple-rss thin 成功したもの icalendar-1.1.0 nokogiri-1.1.1 mechanize-0.9.0 rake-0.8.3 activesupport-2.2.2 activerecord-2.2.2 actionpack-2.2.2
Getリクエスト >>> import urllib2 >>> r = urllib2.urlopen("http://www.yahoo.co.jp") Postリクエスト >>> import urllib >>> query = {"name":name, "password":password} # 送信するデータ >>> query = urllib.urlencode(query ) # URLエンコード >>> r = urllib2.urlopen("http://www.hatena.ne.jp/login", query) レスポンスオブジェクトのメソッド >>> r = urllib2.urlopen("http://d.hatena.ne.jp/yumimue/edit") >>> r.code, r.msg # レスポンスコードとメッセージ (200, 'OK')
BeautifulSoupはHTML解析用のライブラリです。htmllib.HTMLParserやHTMLPaprser.HTMLParserと違い、正しくないHTMLも扱えるようです。これを使ってGoogleの表示順位を調べるスクリプトを書いてみました。 #!python # vim:fileencoding=utf-8 import re import sys import time import urllib2 import urlparse from BeautifulSoup import BeautifulSoup g_url = "http://www.google.co.jp/search?hl=ja&num=100&q=" next_text = u"次へ" interval = 3 client_encoding = "cp932" server_encoding =
コードの実行時間を計測するにはtimeitモジュールを使います。 from timeit import Timer t1 = Timer("for i in range(1000): n += 1", "n = 0") t2 = Timer("for i in xrange(1000): n += 1", "n = 0") print t1.timeit(10000) print t2.timeit(10000) 17.1534437386 15.0097889673まず、Timerクラスのコンストラクタの引数には、計測の対象となるメイン文とメイン文を実行する前に一度だけ実行されるセットアップ文を指定します。 timeit( )は引数で指定した回数だけメイン文を実行し、かかった時間を浮動小数で返します。デフォルトの繰り返し回数は100万回なので、時間がかかりすぎる場合は繰り返し回数を減らす
こんにちは、某Perl界隈のIRCチャンネルでPythonがマイブーム的なKY誤爆をしてしまったtmaesakaです。 先日、以前から興味のあったGoogle App EngineとMemcache APIについて少し調べ、こちらに英文で報告したのですが、今日は日本語で要約したまとめを紹介します。 まず軽く前置きですがGoogle App Engine (GAE)とは、Googleが提供しているウェブアプリケーションをGoogleのインフラ上でスケーリングや冗長化など、ある程度のノウハウや資金を要求される面倒な事を気にせずに運営できるプラットフォームです。つまり、典型的なPaaSの例であり、サービスの運営コストをelastic(伸縮)にします。昨今バズワード化しつつあるクラウドコンピューティングの一種でもあります。 GAEのインフラはGoogleより提供されているAPIセットを用いて利用し
IE6, IE7 で tabindex 属性を JavaScript 側から設定する時の注意 これは完全にバグといえる仕様なのだが、IE6 と IE7 では JavaScript(IE だから本来は JScript)側から setAttribute などを使って tabindex 属性を設定してやる時、属性名を "tabIndex" にしてやらないと認識しないことを知った("I" がキャメルケースになっている)。WAI-ARIA(2008-08-06版 WD 邦訳)絡みで色々といじっていた時に発見。因みに IE8 RC1 では修正されている。 次の JavaScript コード断片は、IE で tabindex 属性を設定する時の方法を説明したものである。 // ターゲット要素 var elem = document.getElementById("test"); elem.setAttr
Opera で Migemo 検索 - mallowlabsの備忘録 のリベンジです。 Google Japan Blog: Google サジェストがもっと便利に で Google サジェストを使ってローマ字->日本語の変換が可能になったので Google サジェストを使って Migemo 検索を実現する UserJS を書いてみました。 こんな感じ↓ 例によって gist に置いてます。 migemo-search-with-google-suggest.js 操作方法 Ctrl + "/" : 検索ボックスを表示 検索ボックス表示状態 Shift + G : 次を選択 Shift + Ctrl + G : 前を選択 Enter : 選択項目のリンクを開く Ctrl + "/" : リンクのみから検索モードとトグル(文字が赤い時はリンクのみ) Escape : 検索ボックス非表示 Ma
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く