YaneuraLabsさんのブログ記事「GAEのアップローダを作ってみた」はファイルアップロードを どうやったらよいかで大変参考になったのだが、画像だけにしぼった時に、 『画像の横幅、縦幅をどうやったら取得できるのか?』 のやり方が分からなかったので画像アップローダを作ってみた。 以下詳細。 なぜそんなことがやりたかったかというと、 ・アップされた画像が規定の横幅サイズより大きかったらそのサイズにリサイズ また、 ・大きな画像アップロード時に横幅サイズを指定してそのサイズにリサイズ というようなことをしたい時にアップした画像の横幅を取得する必要があったのです。 GAEに触るまではPythonなんてやったことがないので慣習とか右も左もわからず、PHPでは簡単な画像周りの処理方法がま~ったくわからず、GAEのImage APIはリサイズや諸々はできても画
削除は手動で画面を Reload して繰り返し実行すればいいが r = db.GqlQuery("select * from Stock limit 100") for rr in r: rr.delete() 後方一致 ( like *key_word ) の場合、offset で移動させた。 r = db.GqlQuery("select * from Model limit 100 offset " + str(offset) ) start = int(offset) + 100 self.response.out.write('<a href="/xxx?offset=%s">del</a>' % str(start) ) for rr in r: if rr.trackback_url.find('</td></tr>') <>-1: ・・・ プログラムで LOOP させて o
Google App Engine | 07:12 | いわゆる「まとめサイト」系をふらふらと回ってみて、少し気付いたことがある。1.一部の記事の存在に気づけてもらっておらず、飛び飛びでリンクがはられている場合がある2.記事によっては、言及されているトピックに誤解があるよう。例えば2つのトピックに触れているのに1つだけ訳したものと理解されてしまっている場合アリ3.どうやら自分以外にも翻訳を始めた人がいるみたい。ガンバレ!1番目の問題については、このブログそのものにアピール力が足りないので、新着記事を上手く拾ってもらうのが難しい以上、今はどうしようもないだろう。2番目の問題については、やっぱり1つのエントリーが長すぎて「読む気にならん!」って人が多くいる証なんだろうなぁ、、と。記事を複数のエントリーに分散させると読んでもらえない可能性が高い、ってのを気にして出来る限りひとまとめにしてきたが、
実はGoogle App Engine(以下GAE)で全文検索を行おうと思っても 現状APIは提供されていません。 まさかGoogleのアプリで検索ができないなんて 考えてもいなかったのでかなり驚きました。 といいつつもある程度対応は可能です。 ・前方一致検索 以下のように範囲検索を利用してユニコードを 擬似的に前方一致検索することができます。 db.GqlQuery('SELECT * FROM Test WHERE w >= :1 and w < :2', word, word + u'\uFFFD') ・全文検索(非公開。英語のみ) 非公開ではありますが、全文検索を行うSearchableModelという クラスが提供されています。 使用方法はモデルが継承するdb.Modelをsearch.SearchableModel に変更し、検索時に Test.all().search(sea
google appengineには全文検索がないらしい。 「googleなのに!そんな馬鹿な!自分で作るしかないのか!!」 と思ったんだけど、そんなのすでに作ってる人がいるんじゃないかと思い立ち、探してみたら・・・なんと隠し機能ですでに存在しているご様子!ドキュメント化されてないけど! 以下参考リンク How-to: Full-text search in Google App Engine というわけで、使い方としてはdb.Modelの代わりにsearch.SearchableModelを使って、検索対象はStringPropertyあるいはTextPropertyにしといたらいいと。検索するときはArticle.all().search(“検索単語”)とすると。db.Modelから切り替えるのはすごい簡単なので、ちょこっとやってみたら確かに検索できた。・・・英語は。英単語のみならば。
Dive Into Python | 04:20 | 発端 Noooooooooooooooo!! い、いいか。落ち着いて聞いてくれ。俺も正直混乱してるんだが… 本当は今日あたりから「Project: スパイ大作先生」の開発日記を再開しようと思ってたんだ。けど、試しにこの企画を上司に話したら「勤務時間中に実装して良いよ」って話になってな、、、もう渡りに船って言うんだろ?こういうの。預かってるメッセージデータをオレのJavaScriptで書いたライブラリで暗号化しちゃったりするとコレもうドウなっちゃうの?みたいに血沸き肉踊ったワケよ。で、「はい。やります。できます。やらせて下さい!」みたいな勢いでプロジェクトをスタート。だがな。。。 You! 業務に関連する情報は口外しちゃ駄目だYo! という事実が発覚しちまって。。。ふー。ヤレヤレだ。落とし穴をスッカリ忘れてたゼ・・・そんなワケで、企画と
Pythonを選択した理由 通常のプログラマの皆さんと同様に、筆者もいろいろな業務や私的なプログラミングにおいて複数の言語を利用しています。組み込みシステムの業務をするときはC言語を使用しますし、最近の私的なプロジェクトではErlangを使っていますし、趣味においてはMathematica、Rなどを使用します。 過去、システムインテグレーションを業としていた時期は、C++やJavaも利用していましたし、現在もそれらを利用することに強い抵抗を感じるわけではありません。このように目的に応じて利用するプログラム言語を変えているのですが、総じてみると、Pythonを利用する頻度が高くなっています。筆者が日常的に利用する言語として、Pythonを選択する理由は大きく次の2つがあります。 ・アイデアをすぐに実現できるから。 ・Zopeで利用しているから。 以降、この2つの理由について説明しますが、一言
こんにちは。 今、PythonとRubyどちらをメインで学ぶべきかを考えており良かったら皆様の意見を参考にしたく思います。 現状 Ruby 7ヶ月 Python 1ヶ月 ほどの経験があります。(プログラミングはまだ初心者です。) Rubyの方が慣れているのですが、以下のような考えからPythonをメインで使った方がいいのか考えています。 以下、僕の考え 今後、Ruby on Railsがどんどん使われだして、現在のPHPのような形でRubyが使われるんじゃないか。 とすると、Rubyを使っても他の人と全く差別化出来ない取り替えの効いてしまうプログラマにしかなれないのでは。 Pythonの場合は、まだ日本でのユーザー数が少ないこともあり、Ruby,PHPに比べれば自分を差別化することにつなげられるのではないか。 とすれば、Pythonを使った方がいいか? ちなみにコレ以外に今思っていることと
プログラミング手法は、われわれの多くがソフトウェア開発業界に足を踏み入れたときから大きな変化を遂げてきた。開発ツールだけでなく、複雑な問題に対するソリューションを明示するために利用する言語も変化した。 今日、ソフトウェアの開発を仕事にする人々は複数の言語を駆使する。通常、彼らには必ず複数のプログラミング言語でアプリケーションを開発した経験がある。多くのアプリケーションを実装するに当たり、「ダイナミック言語」と呼ばれるクラスの言語が優先的に選ばれるようになった過程が興味深いので、ここでそれを見ていこう。 本稿はこのタイプの言語について、なぜ人気が高いのかを考え、これらのうちPerl、Python、そしてRubyを中心に、主な仕様や各言語の違いをいくつか理解できるよう見ていく。 ダイナミック言語とは何か? 技術的には、実行時に機能の修正が可能なものをダイナミック言語という。どういうことかという
空前の wassr ブームですがみなさんいかがおすごしでしょうか? ところで、wassr には Twitter に無い機能も色々もりだくさんで楽しんでます!! 注目の足跡機能 でも、足跡ついてても購読されてないと凄く寂しいですよね? 気弱な僕は 「あ、興味ないですか?」 「あの一言が駄目だったかなぁ」 「お口にあいませんでしたか?」 「あ、それともシャイで申請できなかったのかな?」 とか考えちゃいます>< でも折角だから仲良くなりたい!! そんなシャイな僕でも折角みてもらったんだから 仲良くなりたい!! 一期一会 だよね!! と思ったら Python で出来ました。 #!/usr/bin/env python # -*- coding: utf-8 -*- import simplejson, urllib2 from pit import Pit print 'start' def ge
Google Analyticsは便利だが自前のHTMLファイルが多数あるとトラッキングコードを埋め込むのが面倒だ(ブログだったらテンプレートを変更するだけなんだけどね)。そこで、以下に示すPythonスクリプトで一括で埋め込むことができるようにした。もちろん、階層を持つディレクトリでも問題ない。念のため、バックアップは必ず取っておこう。本スクリプトの使用は自己責任で。 使い方について。まずは、以下に示すソースコードを適当な名前(例えば insert_google_analytics.py)で保存する。次に、トラッキングIDを"UA-xxxxxx-x"から正しいIDに変更する。そして、そのスクリプトをHTMLファイルが保存してあるディレクトリで実行するだけ。もちろん、事前にPythonをインストールしておくこと。 #!/usr/bin/env python import sys, os,
Google App Engine の SDK で 何か作ってみよう! というわけで、 Tropy みたいなやつを作ってみる python で 20 行以上のプログラムを書くのはたぶん初めてだ Tropy とは 以下が詳しいです。 Tropyとは - はてなキーワード ちなみに、以下のスクリーンショットは id:naoya さんが作った Tropy のクローンの Haropy です。 で、僕もそんな感じのものを作ってみた ソースを晒しておきます。 ファイル構成 PyGropy |-- app.yaml |-- edit.html |-- entry.html `-- pygropy.py app.yaml 設定ファイル application: pygropy version: 1 runtime: python api_version: 1 handlers: - url: /.* sc
変数には2種類あります。モジュール全体で有効なグローバル変数と、関数の内部でのみ有効なローカル変数です。 グローバル変数 モジュールのトップレベルで代入された変数は、グローバル変数になり、モジュール全体で有効になります。特になにもしなくても、関数の中から参照することができます。 >>> foo = "bar" >>> >>> def baz(): ... print foo ... >>> baz() bar 関数の中でグローバル変数に代入する場合は、global文で変数がグローバル変数であることを宣言します。global文には、グローバル変数の名前を、コンマで区切って指定します。 >>> foo = "foo" >>> bar = "bar" >>> >>> def baz(): ... global foo, bar ... foo = "hoge" ... bar = "fuga"
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く