Google App EngineでもDjango使っている人が多そうな気がしますが、僕はDjangoはよく分かりません。Djangoの本は買ったりしましたが1ページも読んでません。Pythonでは普段は大体Flaskを使っています。これぐらいの規模のフレームワークが僕にはしっくり来ます。それで、GAEでFlaskを使って開発しようとしたときのメモです。 [続きを読む…]
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message 鈴木と申します。GAE/Pythonで開発しておりますが、全文検索の実装について お知恵を拝借できればと思います。 現状、以下のように全文検索を実装しています。 Yahoo形態素解析で検索対象の文章を分かち書き ↓ StringListPropertyにわかち書きした単語を保存 ↓ StringListPropertyにfilterをかけて検索 1キーワードの際にはこれで特に不便はないのですが、 やはり複数ワードでの検索も実装したいと思います。 2キーワードまでであれば、同じStringListPropertyに対してfi
Memcached使ってみました。単純な例で動作を確認後、python-blog-systemの画像出力部分に適用し、ベンチマークをとりました。 Memcachedとは 分散KVS(キーバリューシステム)の一種です。いわゆるRDB(リレーショナルデータベース)は、スケールアウトに向かない構造をしているために、安いサーバをいっぱい並べても性能がリニアに向上しません。Memcachedでは、トランザクションや、データの耐久性などを保証しないかわりに、大量のデータを、高速にキャッシュすることができます。詳しい説明は本家でどうぞ⇒http://memcached.org/ 概要が知りたければwikipediaがお手軽です。 シンプルな例 まずは、非常にシンプルなコードを書いて動作を確認しました。 初回アクセス: 何も表示されません。 キーweatherに対して何も設定されておらず、Noneが返され
Kay Framework は認証機能を提供しています 認証方法も多様で、Google アカウントを使った認証だけでなく、データストア認証*1や OpenID、さらには OAuth まで利用できます。 認証方法は Kay の認証ミドルウェア用バックエンドとして提供されています 簡単に言うと、Kay の認証機能を拡張するプラグインみたいなものです。そのため、設定をちょっと記述するだけで認証方法を変更できます。 今回は Twitter の OAuth 認証を使う方法をご紹介 Twitter に Google App Engine アプリを登録 下記のページにアクセスして、作成中(予定?)のアプリを登録します。 http://twitter.com/apps アプリ情報は適当な内容を入力して下さい。登録が成功すると、ConsumerKey と ConsumerKeySecret が発行されるので
FlasktodoはPython/Google App Engine製のフリーウェア(ソースコードは公開されている)。タスク管理は常に人気の高いジャンルだ。ローカルアプリケーションはもとより、Webベース、携帯電話用など様々に存在する。未だに出続けるということは、決定打と呼ぶには何か足りないのかもしれない。 とてもシンプル! GTDもタスク管理の一つだが、あまりに高機能で最初に覚えることが多い。これではタスク管理が目的なのか、GTDを覚えることが目的なのか分からなくなってしまう。もっとシンプルにシンプルに…それを突き詰めた形がFlasktodoだ。 FlasktodoはGoogle App Engne用のオープンソース・ソフトウェアで、とてもシンプルなTodo管理となっている。短銃にすべきことを登録し、×を押せば完了、Deleteを押せば削除される。完了したタスクは打ち消し線が引かれる仕組
前に書いた記事からはやくも半月たってしまったが、やっと出してもいいかなという状態になったので公開します。ファイルそのものはこちら。 GAETestBaseはPython標準のunittest.TestCase継承クラスとなってます。ユニットテストを書く際に、通常のTestCaseのかわりにGAETestBaseを継承してユニットテスト用のクラスを作り、あとは普通にテストコードが記述できます。 PythonおよびAppEngine SDK以外への依存がゼロで環境を選ばない、はず、なのが売りかな? ところで出来上がったあと公開用の準備をやってたら、GAE/J側ではslim3がkotoriを組み込んだという話が。おおお。 できること CLIでのテスト実行 開発中のテスト実行が、Python標準のunittestと全く同じようにCLIから実行できます テストケース側で指定があれば各サービスはrem
AppEngineには、どんな処理も30秒以内に終わらせないとダメって言う通称30秒ルールという神の掟があってこれを破るとプロセスをKillれてしまいます。ほとんどの処理は30秒もかからないので問題ないですが、クロールとか形態素解析とかやりだすと30秒なんて一瞬です。特にネットワーク経由で複数のものを取りに行ったりすると2秒かかるのを10個もやれば、DataStoreのIOとかも含めると余裕で30秒を使いきってしまいます。 そこで、TaskQueueの登場です。適当につんどくと無料Versionだと1秒間あたり5個ずつ処理してくれます。先程の例だと、10個やるのに30秒だったのが1個処理するのに30秒使えるようになります。苦も無く10倍ゆっくりやれるわけです。 TaskQueueは、内部でキューに送れずに特定のURLに対するPOSTで積みます。引数はペイロードに入れてあげればイイらしい。今
昔はUstream+IRCクライアントですんでたけどどうやらSocialStreamと一緒に見た方がUstは楽しめるのでSocialStreamをインプリしてみた。力量不足でUstreamAPIからSocialStreamのエンベデットを抜き取ることが出来ない。今のところマニュアルでSocialStreamのタグを指定している(ダサすぎる・・) http://ustview.appspot.com/multi ボケボケだけど、ようつべに使ってるところを上げてみた。大きさを変えるスライダーもjQueryUI化してみた。 リクエストが有れば @atusi まで教えてください。 日本語のUstのチャンネルを3分間隔でひたすら取得してるんだけどとうやってランキング化して表示させるか考え中 GoogleAppEngine上で、短縮URLを展開する方法 Twitter上のUstreamのアドレスは短縮
Ustreamのサーチには、言語指定がない。どれくらい人気があるかは取れるが英語のチャンネルだらけ。 日本の方が大勢みているチャンネルをMultiUstreamViewer(http://ustview.appspot.com/multi)で利用するためにスクリプトを書いてみた。 GAE上ではたぶん動かないと思う。必要なのは、feedparserモジュール Twitterのサーチを使って、TL上のUst短縮URLをひっかけてAtomをもらってくる。 http://search.twitter.com/search.atom?lang=ja&q=ustre Twitterサーチは言語指定が出来るので日本語を指定しておく。 あとは、feedparserでdescription抽出して本文中のUst短縮URLをゲットする。urllib2でustre.amに問い合せると本家UstreamのFQDN
はじめに Google App Engine(以下 GAE) アプリの開発スピードを上げるために、Kay Framework を導入することにしました。 ただ、導入に思いのほか時間がかかってしまったので、手順をメモしておきます。誰かの役に立てば幸いです。 今回試した環境は次の通り。 Windows7 Windows Vista Windows XP Windows のみ。Mac は持ってないので試せません。 Python 2.5 のインストール python.org から 2.5 系の最新版を入手して、インストールします。 Python 2.5.5 インストール先は、デフォルトの C:\Python25 のままでいいです。 環境変数の PATH に、Python2.5 のインストールフォルダを追加するのを忘れずに。 Google App Engine SDK for Python をインス
Google App Engine SDK for Python には、単体テスト用に各サービスのスタブが提供されています。このスタブと unittest を使えば、ローカル環境で GAE 用アプリの単体テストが可能です。 GAE/Python で unittest を使って、単体テストを行うサンプルは次の通り。 #!/usr/bin/env python #encoding: utf-8 import os import sys # 環境設定 # これをしないと GAE のモジュールをインポートできない。 # テスト対象のクラスも同様。 # ここを自分の環境に合わせて書き変えます GAE_HOME = 'Google App Engine SDK ディレクトリのパス' PROJECT_HOME = 'アプリケーションのルートディレクトリのパス' # テストで使う GAE のモジュールのパ
開発サーバとappspot.comで、アプリに返すURLを適宜変更する部分を書くのに手間取ったけど、なんとか簡単に使用出来るようになったので晒してみる。ツッコミ歓迎です。思いっきり公開先書くの忘れてた。 http://bitbucket.org/a2c/gaezoo/ 今動いているのは、gaezoo.appspot.comです。特にアクセスしても何も無いですけど・・・ サンプルは、http://gaezoo.appspot.com/4c7f4a666917d03fb0c7dac080103b23.png 追記:Twitterへのポストボタンつけました。 末尾のpngをpostに変えることで、挙動が変わります。 サンプルは、http://gaezoo.appspot.com/4c7f4a666917d03fb0c7dac080103b23.post ファイル構成 -- app.yaml --
コンテンツへスキップ 無料で使える!HubSpotの顧客リストの活用法 無料のアンケート作成ツール 比較/まとめ 無料「Excel」 テンプレート 比較/まとめ 無料で使えるノートアプリ比較 (Evernote / OneNote / Google Keep) おすすめの無料Web会議システム5選 WebP Converter 徹底解説!初心者でも直ぐに使える HubSpot は、マーケティング、セールス、サービスのためのCRM(Continue reading 多くの人の声を聞くことで改善できることも多い 企業や団体など運営していContinue reading 就職・転職には必須となる履歴書・職務経歴書 これから就職活動をスタートContinue reading 便利なノートアプリで効率的な仕事をしよう いつの時代も仕事をしていてメContinue reading 近年、リモートワーク
Twitter API proxyをGoogle App Engine上で動かす方法 プロキシの必要性 プロキシを経由してAPIにアクセスすると何がいいのか TwitterのAPIはアカウント&IPアドレスでカウントされているので、APIの使用回数を増やせる。 グローバルIPアドレスをPCごとに変えられない環境で2台のPCから見るときに便利 Twitterへのアクセスが制限されている環境でも使用できる。 元々GFW(グレート・ファイアー・ウォール)を超えるために作られたっぽい ちゃんと確認してないけど、GAEはホワイトリストに入ってる気がするので、API回数が20000になったりする事もある。 要はAPI使用回数を増やせるよって話。 必要なもの Google App Engineのアカウント Google App Engine SDK とPython実行環境 birdnest 一式のファイ
PHPを日々書いている人へ。 たまにはPHPから離れて他の言語でプログラムを書いてみましょうという話です。 Webシステムのプログラムを書く手段としてPHPは実用的なのですが、他にも様々な言語が存在しているのは周知のとおりです。PHPにはPHPの、他の言語には他の言語の良いところ悪いところがあり、それらは普段使っている言語を離れて他の言語を知ることによって、初めて気付かされます。 また他の言語での実装方法を知ることにより、PHPで実装する際に別の角度からプログラムを見ることができ、さらに深い理解を得ることができます。 PHPを極めていくことはとても良いことなのですが、ある程度頭で描いた仕様が実装できるようになったのなら、是非他の言語を触ってみることをおすすめします。 では実際どの言語を触ってみるのが良いかという話になるのですが、普段PHPでWebシステムを開発しているなら、おすすめはPyt
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く