タグ

2009年11月16日のブックマーク (16件)

  • Google App Engine (Python) でログを出力

    1. ログを出力するための概略 Logging Events in Your Application - Google App Engine - Google Code の説明に従った。 概略は次の通り。 loggin モジュールのインポート。 ログを出力するレベルをアプリケーションにおいて設定する。 loggin のメソッドを使って出力したいログの内容を書く。 2. logging モジュール まず、logging モジュールをインポートする。 import logging 3. ログのレベルに対応したメソッド logging のメソッドには、debug(), info(), error() などがあり、 14.5 logging -- Logging facility for Python によると、 Logged messages also have levels of import

    Google App Engine (Python) でログを出力
    dann
    dann 2009/11/16
  • Fukuoka Perl Workshop #14 行ってきました - D-6 [相変わらず根無し]

    Fukuoka Perl Workshop #14 行ってきました 11/14、ようやく杉山さんとの去年?からの約束を果たすべく福岡に行って、Fukuoka Perl Workshop #14 に参加してきました。 都内でやっているイベントでは比較的最先端技術とかを話す人が多いですが、地方にいくと必ずと言っていいほど「実務的な話」のリクエストがあがります。今回もご多分に漏れずまっさきにそういうリクエストが出たので、JPAの肩書きで参加はしたものの、弊社endeworksの実例を出して色々どういう開発手法を採っているのかを話させていただきました。     http://users.endeworks.jp/~daisuke/presentations/fukuoka-pm/fukuoka_perl_workshop14.pdf 発表の時はJPAのロゴが入ったスライドだったんですが、内容がJP

    dann
    dann 2009/11/16
  • 分散KVSの使い方 - sdyuki-devel

    今流行のkey-value storageの利点と欠点など。小さいデータをたくさん扱うタイプで、単純なkey-value型のデータモデルを持つ分散KVSについて。 Webアプリをとりまく最近のKVS事情、雑感を読んで、ちゃんと整理して把握しておかないといけないな、と思ったので少し整理。 それは違うぞーという事があったらコメントくださいm(_ _)m ※2009-11-17 追記:現在、KVSという用語の意味は定義されておらず、使う人によって揺れています。ここで言うところの分散KVSは、Dynamo や kumofs や ROMA など を想定しています。 分散KVSの利点 スケールアウトできる 簡単にサーバーを追加して性能を上げられる 単体の性能が高い スキーマレス 最初は少ない台数で安く、後からサーバーを足してスケールアウト!という運用ができる。アプリケーションに影響せずに、ストレージ側

    分散KVSの使い方 - sdyuki-devel
    dann
    dann 2009/11/16
  • opensocial-jquery - Google Code

    Code Archive Skip to content Google About Google Privacy Terms

  • Social Website Tutorial (v0.9) - OpenSocial

    OpenSocial Foundation Moves Standards Work to W3C Social Web Activity W3C and the OpenSocial Foundation announced today that as of 1 January 2015, OpenSocial standards work and specifications beyond OpenSocial 2.5.1 will take place in the W3C Social Web Working Group, of which the OpenSocial Foundation is a founding member. The W3C Social Web Working Group extends the reach of OpenSocial into the

    Social Website Tutorial (v0.9) - OpenSocial
  • OSDE(OpenSocial Development Environment)を使った開発環境Tips - KAYAC engineers' blog

    こないだ初めてバンジージャンプ飛びました。agoです。 先ごろmixiアプリが一般開発者公開されましたが、皆様開発環境どうしてるでしょうか? 私はmixiの開発環境では認識されるマイミクが少なかったり、キャッシュが効きすぎたりで開発しづらいため、OSDEで開発後mixiで確認という手順を取っています。 そこで今回はOSDEで開発する際に役に立ちそうなTipsをいくつかご紹介したいと思います。 1 requestNavigateToで独自パラメータが上書きされない OpenSocial-Japanでも紹介されているのですが、現在OSDEにはrequestNavigateToで独自パラメータが上書きされないというバグがあります。 (2009/04/28現在 OSDE 0.2.5で確認) 次のバージョンでは修正されているとのことなのですが、以下のようなコードでも回避可能なので若干強引ではあります

    OSDE(OpenSocial Development Environment)を使った開発環境Tips - KAYAC engineers' blog
  • mixi アプリ制作に欠かすことのできない便利な開発環境 OSDE のインストール方法をご紹介 | mixi アプリ 大全集

    mixi アプリ ( OpenSocial アプリ ) を作成する上であると便利な開発環境 OSDE のインストール方法を紹介します。OpenSocial アプリ すなわち mixi アプリを開発するにあたって便利なツールを紹介します。 その名も OSDE ( OpenSocial Development Environment ) !! 自分が作った OpenSocial アプリを試すには、既に OpenSocial サービスを提供している Orkut などのサイトに登録すれば可能ですが、デバッグなどを考えると作業効率は悪く現実的ではありません。 そこで日紹介するのは OpenSocial アプリを自分のマシン上で開発できる OSDE です。 OSDEのオフィシャルサイトは、http://code.google.com/p/opensocial-development-environm

  • XmlPullParserにurlを渡すとものすごく遅い件 - hidecheckの日記

    xmlの解析はDOMやSAXよりXMLPullPaserのほうが早い。でもってXMLPullPaserを使うときは、Inputstreamには文字列を使った方がはやい。直にURLを渡すのはやめたほうがいい。 ■文字列を渡した場合 手順 XMLをByte配列で取得 Byte配列→文字列 文字列をXmlPullParserにかます 手順は多いが実はこっちのほうがずっと早いことが判明 getByteArrayFromURLメソッドは前の記事参照 public static ArrayList<String> getXmlTags(String url, String[] targetTags) { byte[] byteArray = Utils.getByteArrayFromURL(url); ArrayList<String> result = new ArrayList<String>(

    XmlPullParserにurlを渡すとものすごく遅い件 - hidecheckの日記
    dann
    dann 2009/11/16
  • trick7 RTP Live: Info Bocoran RTP Slot Online Pragmatic Play Gacor Terlengkap -

    Halo bosku! kembali lagi bersama kami situs slot terpopuler dan terupdate no 1 di Indonesia, yang menyediakan ragam permainan […]

  • Cloudera を使って CentOS に Hadoop on EC2 な環境を整える 第二回 - (゚∀゚)o彡 sasata299's blog

    2009年11月16日00:54 Hadoop Cloudera を使って CentOS に Hadoop on EC2 な環境を整える 第二回 前回の続きです。前回はローカルに Hadoop をインストールするところまで行ったので、今回は EC2 上で Hadoop を使える環境まで構築してみます。 python スクリプトの hadoop-ec2 を手に入れる まずは指示に従い、cloudera-for-hadoop-on-ec2-py-0.3.0-beta.tar.gz をダウンロードし、適当な場所に解凍後、パスを通します。この中に hadoop-ec2 という python スクリプトがあり、これを利用して EC2 上にインスタンスを起動したりします。このように利用します。 # 現在起動しているインスタンスの一覧を見る hadoop-ec2 list # [cluster] の m

    dann
    dann 2009/11/16
  • 【Google App Engine】 TaskQueueはスケールしない!?

    TaskQueueによって、何がどう改善されるかについて、Reflex iTextを使って具体的に調べてみたので報告したい。特に、パフォーマンスについて、先日の記事(ココ)と比較しながら説明する。 やりたいことは単純で、大量のPDFをいかに短時間で生成するかである。前回のテストでは、クライアントから大量のリクエストを投げることでこれを実現しようとしたが、リトライ処理が多発してスケールしなかった。では、TaskQueueを使うとどうなるのだろうか。今回はそこにポイントを絞って調べてみた。 TaskQueue概要 まず、TaskQueueであるが、これはWebHook型のキューシステムで、Task自体を通常のServletとして書くことができる。Googleのサンプルを見ればわかるように、QueueFactory.getDefaultQueue().add()を使って、URLとRequestP

    【Google App Engine】 TaskQueueはスケールしない!?
    dann
    dann 2009/11/16
  • Task QueueはMapReduceの夢を見るか - スティルハウスの書庫の書庫

    いまコーディング中の案件で、Task Queueにぴったりハマる要件があったので、飛びついてみました。 課題:Datasource上の大量のデータをクライアントにダウンロードしたい。30秒内では終わらないので複数のリクエスト/レスポンスに分割してダウンロードする実装にした。しかしデータ量によっては何10分もかかってしまう。 原因:データ量の多さもあるが、それを取得するためのDatastoreのクエリ、および関連エンティティの取得にもっとも時間がかかっている 書こうとしているソリューション:クエリと関連エンティティ取得をTask Queueのタスクに分割して並列処理(map)し、取得したデータを集約(reduce)してクライアントに渡す …んん、これってMapReduceではないですか。1つのリクエストでは重い処理は、たくさんのタスクに細切れにして、キューにどんどん入れる。App Engin

    Task QueueはMapReduceの夢を見るか - スティルハウスの書庫の書庫
    dann
    dann 2009/11/16
  • Task Queue戦記 - スティルハウスの書庫の書庫

    とても遅かった以前の実装をTask Queueを使って書き換えることができました。感想をまとめると、 Task Queueはすばらしい。30分かかってた処理が3分で終わるようになった(前の実装がヘボいのではという疑惑はさておき) 処理を複数のタスクに分割して並列処理する(map)は簡単だけど、memcacheを使ってその結果をまとめる(reduce)のは面倒 reduce不要な用途(一括削除とか)や、reduceが簡単な場合(数の集計とか)、あとmemcache使わずにDatastoreに集約する使い方なら、そんなに苦労しないだろう memcacheを介してデータの配布や収集をするとき、とくに収集時の排他を書く必要あり(こういうバグりそうな/バグを再現できなさそうなコードは書きたくない) MemcacheService#incrementを使ってスピンロックを実装した memcacheはい

    Task Queue戦記 - スティルハウスの書庫の書庫
    dann
    dann 2009/11/16
  • gae上でDataStore使わずにmemcacheで転置インデックス作ってみた。 - When it’s ready.

    あまりテストをしてないけど、少なくとも100倍くらい速いし、まず時間かけ過ぎで落とされない。これはとても大きい。 以下、コード def uniqueInverseIndex(feed_id, text): try: ngram = NgramTokenizer(feed_id, text) ngram.setNgramArr(2) except: response.out.write('NgramTokenizer make instance is faild') try: for i in ngram.getNgramArr(): InvIndex = InverseIndex.get_or_insert( "_" +i['word_text'], word_text=i['word_text']) InvIndex.feed_id.append(db.Text('%s:%s'%(i['

    gae上でDataStore使わずにmemcacheで転置インデックス作ってみた。 - When it’s ready.
    dann
    dann 2009/11/16
  • Slim3 Preview release - ひがやすを技術ブログ

    Slim3の正式リリースは、来年の一月くらいになりそうですが、ドキュメントも最低限のものはそろったので、今の段階のものをPreview版として紹介しておきます。 サイトへは、http://slim3.org でアクセスしてください。 Getting Startedをやり、Slim3 Datastoreのドキュメントを読み、Online demoをみれば、Slim3のことは把握できるようになっています。 Oneline demoからソースも見れるようになっているので、動かしながらソースを確認することができます。Online demoは、IE6で見るとレイアウトが崩れていますが、これはIE6を使うなというメッセージということで。(IE7,8では未確認) Slim3は、Google App Engineに対して最適化されています。 例えば、最近、App Engineで問題になっているのは、spi

    Slim3 Preview release - ひがやすを技術ブログ
    dann
    dann 2009/11/16
  • PostgreSQL安定運用のコツ2009 @hbstudy#5

    2009年11月14日のインフラエンジニア勉強会(hbstudy)で使用したスライドです。 hbstudy#5 http://tinyurl.com/hbstudy5 ・パフォーマンスと初期設定 ・データベースの監視 ・性能劣化とメンテナンス を含んでいます。Read less

    PostgreSQL安定運用のコツ2009 @hbstudy#5