Categories » ‘python’

【無料】GAE使ってみない?【無広告】

2月 27th, 2011 by

みなさん、Google App Engineって聞いたことありますか? あっ、それしってる。Google Docsとかでしょ?って思った方。惜しいけど違います。 Google App Engineとは.... Read more


本日の予定

2月 26th, 2011 by

今日は、昼間にちょっとした事故があったのですが、落ち込んでいても仕方がないので勉強はじめます。しばらくGitの勉強をして、プロジェクトをGitHubに登録したあと、Pythonで何かやろうと思います。.... Read more


MacBookPro注文しました

2月 25th, 2011 by

衝動買い・・ではないです。予定通りです。でたら買うつもりだったので。 ご注文された商品 数量 単価 商品合計 15インチ MacBook Pro 製品番号: Z0LZ iWork(プリインストール) .... Read more


WordPress3.1にアップデート

2月 24th, 2011 by

このサイトはWordpressで運営しているのですが、先ほどWordpress3.1にアップデートいたしました。アップデートはボタン1つで終わるのですが、アップデート処理に約5分程度かかりました。閲覧.... Read more


本日の作業予定

2月 24th, 2011 by

Gitについて軽く勉強してから、python-blog-systemのソースコードをGitHubに登録しようと思います。 .... Read more


hackme、Lv3は突破できた

2月 23rd, 2011 by

Lv3は突破できた。穴っぽいとこに穴はあって、普通に掘り進めば解けた感じ。まー、がんばればなんとかなるとおもう。 だけど、Lv4は怪しい所すら見当たらない。画面の配色変わったけど、これって特に意味ない.... Read more


pySNSを微調整

2月 23rd, 2011 by

今日は、hakemeで遊んでしまい、pySNSの開発はほとんど進みませんでした。ユーザ数表示の追加と、全体のリファクタリングをしかできませんでした。 hackmeはLv2まで突破できました。エラーメッ.... Read more


本日の実装結果

2月 22nd, 2011 by

今日はPySNSの実装を進めました。仮ではありますが、友達システムが動作するようになりました。 当初の予定 実装予定の機能 ・友達登録機能 ・日記への画像添付機能 ・プロフィール画面にプロフィール画像.... Read more


エンコードエラー

2月 20th, 2011 by

エンコード関連ではまったので共有しておきます。 ベースとなるコード 日本語の部分がユニコード文字列になっていないのが不安ですが、動作します。 ::CODECOLORER_BLOCK_2:: 動かないコ.... Read more


今週末の予定

2月 19th, 2011 by

ちょっと大きめのWebアプリを開発中です。Webアプリ自体は公開できないかもしれませんが、途中で気がついたことをいくつか記事にまとめようと思ってます。 ブログを何点か改良(改悪?)しました。 ブログ.... Read more


単語リスト

2月 19th, 2011 by

英単語の出現頻度を利用したアプリを作ろうと思い、その下準備として単語リストを作りました。大文字・小文字、過去形、三人称単数現在形のsなどもそのままの形で収録されています。実際に、アプリに組み込むときは、大文字・小文字の統一ぐらいはしたほうがよさそうです。10001-20000番目の単語のリストも作ろうと思ったのですが、途中の単語が1000個欠落してたので、諦めました。

出典: Wiktionary:Frequency lists/Project Gutenberg 1-10000

Wiktionary:Frequency lists/Project Gutenberg 1-10000

1行100単語 × 100行です。行内の単語はスペース区切りになっています。

GAE/P DataStore vs Memcached

2月 18th, 2011 by

昨日のDataStoreの書き込み性能の測定の続きで、DataStoreの読み込みとMemcachedの読み書きの性能を測定した。

比較内容

以下の5項目の測定を行った。100バイトの読み書き50回を1セットとして、10回測定しグラフを作成した。

  • Store/W
    DataStoreへの保存
  • Store/R
    DataStoreから1レコード取得
  • Mem/W
    Memcachedへの保存
  • Mem/R – s
    Memcachedからの読込。データが存在する場合。
  • Mem/R – m
    Memcachedからの読込。データが存在しない場合。

結果グラフ

縦軸は1回当たりの処理時間(単位ms)、横軸は10回分の測定結果。

datastore_vs_memcached

datastore_vs_memcached

結果考察

MemcachedのReadが最も高速で、MemcachedのWrite、DataStoreのRead、DataStoreのWriteと順に遅くなった。平均処理時間と、MemcachedのReadを1とした時の実行時間を表にまとめてみた。

Store/W Store/R Mem/W Mem/R-s Mem/R-m
時間[ms] 17.94 7.1 2.29 2.12 2.07
Mem/R比 8.68 3.43 1.11 1.02 1

csv2table

この結果から、Memcachedの性能は、DataStoreと比べてReadで3倍程度、Writeで8倍程度高速であることが分かる。Memcachedのキャッシュヒット率が50%を超えるようなサービスであれば、Memcached導入によるパフォーマンスアップが期待できそうだ。

測定用プログラム

測定に用いたプログラムを掲載しておく。

URL短縮君が攻撃された

2月 15th, 2011 by

URL短縮君のAPIを公開したところ、早速9000回を超える攻撃リクエストを受けました。 匿名で利用できるVPNサービスを使ってのアクセスだったようですが、司法機関が動くと普通に身元割れてしまうのでご.... Read more


URL短縮APIをリリース

2月 15th, 2011 by

URL短縮サービスに、APIを実装しました!!!
使い方はとっても簡単、”http://b.php5.jp/?url=”の後ろに短縮したいURLをつけるだけ!!!
※url=の後ろはURLエンコード推奨

短縮元URL

1
http://www.yahoo.co.jp

短縮用のAPI呼び出し 

1
http://b.php5.jp/?url=http://www.yahoo.co.jp

実行 → http://b.php5.jp/?url=http://www.yahoo.co.jp

短縮例

1
http://php5.jp/l

ソースコード

とりあえず乗っけときます。

ブログにDjango1.2.5を組み込みました

2月 13th, 2011 by

Djangoをpython-blog-systemに組み込みました。もともと、Pythonのソースコード内で、self.response.out.writeを使ってHTMLを出力していたのですが、テンプレートエンジンを利用することで、Pythonで記述したロジック部とHTMLを分離できました。

変更前

変更前のソースコードです。汚いなんてもんじゃありません。MVCが渾然一体となっています。小規模なアプリであればこれでも良いと思いますが、これ以上大きなプロジェクトを開発するのであればMVCきっちり分けたほうがよいでしょう。

GAE/PythonでDjango1.2.5を使う方法

2月 11th, 2011 by

本日リリースのApp Engine SDK 1.4.2から、新しいバージョンのDjangoを利用できるようになっているので、早速使ってみた。 ソースコード templateをインポートする前に、use.... Read more


GAE/Pでテンプレートエンジン使ってみた。

2月 11th, 2011 by

GAE/Python標準付属のテンプレートエンジンである.... Read more


GAE-Cron

2月 11th, 2011 by

GoogleAppEngine/Pythonを使って、CRONサービスを提供するサービスがあったので、参加してみた。 試しに1環境設置。ユーザ数の上限は50で、一人当たりの設定数の上限は5にしている。.... Read more


GAEのSDK 1.4.2リリース文

2月 11th, 2011 by

GoogleAppEnigneの新しいバージョンのSDKが公開された。正式版のリリース文はまだ公開されていないようだが、プレリリース版のリリース文があったので簡単に翻訳してみた。使ったことがない機能は.... Read more


本日の実装

2月 11th, 2011 by

今日はhttp://nisetwitter.appspot.com/を少し改良しました。 改良点 URL自動リンクの正規表現に穴があったので修正 Tweet内容をDBに保存する機能を実装 明日から.... Read more


  • Python

  • 人気記事

      このエントリーは、Python入門者と、Python入門予備軍の方を対象としています。 どうしてPythonやるの? Pythonって覚えやすい言語なんです。といっても、それなりに使いこなせるようにな.... Read more

      リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです。ループ、Map、Filterなどを使っても同じ操作をできますが、リスト内包表記には以下の利点があります。 コードがシンプ.... Read more

      Pythonには固有の文字列フォーマット(モジュロ)操作が用意されている。文字列中の%?であらわされる部分が、文字列の後ろに与えられた変数で置換される。 単一値の置換 単一の変数を置換する場合は、文字.... Read more

      Pythonの世界は、整数などの単純な値も含め、すべての値はobjectクラスを継承したクラスのインスタンスでできています。 ::CODECOLORER_BLOCK_63:: classを定義する も.... Read more

      だまって↓インストールすれば、Facebookのコメントプラグインがすべての投稿とページにつくよ。動かなかったらごめん。 wp-facebook-comment .... Read more

      リスト(List)とはPythonの組み込み型の1つで、シーケンス(sequence)の一種です。他の言語におけるインデックス配列に似ていますが、かなり柔軟な操作ができます。このページではリストをつか.... Read more

      プログラム内でループを使うのは以下の3パターン。C言語などになれていると1番や2番を使いたくなるかもしれないが、Pythonでは3番が適してるケースが多い。 N回ループ一番基本的なタイプ 条件を満た.... Read more

      Pythonでは、print文を使わないと日本語を正しく出力されない。print文を使うと、あらかじめ設定されているエンコードにしたがって適切に出力される。 ::CODECOLORER_BLOCK_1.... Read more

      みなさん、Google App Engineって聞いたことありますか? あっ、それしってる。Google Docsとかでしょ?って思った方。惜しいけど違います。 Google App Engineとは.... Read more

      DataStoreとは 本記事内のDataStoreは、GoogleAppEngineのデータストアのことを指す。GoogleAppEngineは、ファイルの書き込みが一切できないため、DataSto.... Read more

      GoogleAppEngineでは、世界標準時で時刻を管理する。でも、そのまま表示すると分かりにくい。このページでは世界標準時を日本時間に変換したり、日本時間を世界標準時に変換する方法を紹介する。 現.... Read more

      Pythonの条件分岐は、if, else, elifの3つの構成要素から成ります。条件成立時、非成立時の実行範囲は、インデント(indent)であらわします。条件部 If elseから成る条件分岐 .... Read more

      Pythonの文法構造には、単行のコメントアウトしかありません。 複数行のコメントアウトが必要な場合は、コメントを文字列にします。 単行コメントアウト #以降がコメントとして扱われます。 ::CODE.... Read more

      GAE/Pythonで、一体いつになったらPython3系が使えるようになるのか。興味深いページがあったのでざっくり翻訳してみました。 http://code.google.com/p/googlea.... Read more

      タプルとは、シーケンス型のオブジェクトです。同じくシーケンス型のオブジェクトとの違いは、不変であるということです。リストは生成後に要素を追加したり削除したりできますが、タプルは生成後に内容を修正できま.... Read more

      昨夜、OAuthでの認証がうまくいったので、今日はTwitterのTLの取得と発言を実装してみた。 お試し環境 → http://nisetwitter.appspot.com/で公開している。 エラ.... Read more

      GAE/Pythonで最初に戸惑うのはRequestHandlerだと思います。新規アプリケーション作成時に自動生成されるので必要に応じて書き換えることができれば問題ありません。 RequestHan.... Read more

      Pythonには基本的な型として、数値、bool、文字列があります。type() を使うと変数の型を確認できます。 数値 数値を表す型には、整数型 、 長整数型 、浮動小数点型 、複素数型の4つがあり.... Read more

      この10日間ほど、地震のニュースばかり追いかける日々をすごしていないでしょうか?大勢の方が被災され、原発関連の二次災害も発生する中で落ち着きづらいというのも事実なのですが、心配しすぎてもしかたない。そ.... Read more

      日経ソフトウェア 2010年4月号特別付録の問題をPythonでといてみた。 Amazon.co.jp ウィジェット 問題1: 「3の倍数と3のつく数字だけ・・・」 1から100までの整数を1行に.... Read more

      なんと、int型が64bitまで使えるんです。当たり前だけどうれしいです。 ::CODECOLORER_BLOCK_142:: windowsだと64bitCPU使っていてもこんな感じになります。In.... Read more

      文字列は文字の列(シーケンス)のこと。文字列リテラルの表記方法は、以下の4つがある。 シングルクオーテーション1個‘string comes here’ ダブルクオーテーショ.... Read more

      モジュールとはPythonの定義や文が入ったファイルです。 標準モジュールや第3者によって公開されているモジュールを組み合わせることで、容易に高度な処理を実現できます。また、自作のモジュールを作ること.... Read more

      GoogleAppEngineでPythonを使う場合は、特別な理由がない限り、バージョン2.5を使いましょう。2.5以外の環境で開発すると、開発環境では動作していたアプリケーションが、GAEでは動作.... Read more

      実行速度(改)で、最適化をし尽くしたつもりが、早速 mohayonao@hatena さんから、改善案をいただきました。rangeではなく、xrangeを使うとより高速化するとのこと。早速書き換えてみ.... Read more

  • タグ

  • Archives

  • Recent Comments

    • ブログロール


    Get Adobe Flash player