Google App Engineで手軽にTwitterアプリを作成!(OAuthにも対応!) - AppEngine-Twitter 更新履歴とコメントはAppEngine-Twitter Archive - ゼロと無限の間のログへどうぞ。 Google App EngineでTwitter APIを操作するライブラリを作ってみた。 車輪の再発明ではなく、趣味の車輪作り。
Live nude webcam chat IntroductionLive nude webcam chat has become increasingly popular as a form of online entertainment and communication. This unique platform allows individuals to connect with models in real-time, engaging in intimate experiences through video chat. With the advancements in technology and the widespread availability of high-speed internet connections, live nude webcam chat has
はじめに 今回は、前回作ったTwitter風アプリをGoogle App Engineで動くように改造していきます。 Google App Engineは単なるサーバ環境の提供ではなくデータ管理等も含む独自環境です。そのため、Ruby on Railsのアプリケーションを動かす上で大きな問題点になってくるのは、データ管理機構がRDBではないことです。 GAEのデータ管理機構「Datasotre(BigTable)」は基本的には Key-Value ストアです。一応、RDBのようにテーブルや行列という概念を持っており、RDB同様に行単位でデータの読み書きを行え、上位ライブラリではSQL風言語もサポートしています。しかし、基本はKey-Value ストアであり検索で指定できる条件は限られています。リレーション(join)等もありません。 Ruby on Railsの高生産性を支えている大きな要
はじめに 前回はGoogle AppEngine(GAE)の概略と、GAEとRailsの相性は悪くはないのではないか(良いとは言い切れないところが少し苦しいですが)という話をしましたが、その結果GAEの話ばかりでソースコードもほとんど出てこない、Rubyとあまり関係のない内容になってしまいました。今回はそれを埋め合わせるべく、実際にRailsで小さなサンプルを作成してGAE上で動作させるまでを説明したいと思います。それではさっそくRubyの話に進みましょう。 RailsをGAEの上で使うために GAEはDBとしてBigTableを使っているのでActiveRecordが使えないことについては前回書きました。それでは ActiveRecordを使っていないRailsアプリなら特別な作業をせずに簡単にGAE上で動かせるのでしょうか?結論から言うと、残念ながらそんなことはありません。GAE上で初
Google App Engineの開発ではPythonを使います。GAEを使ったWebアプリの開発でテスト駆動開発を行う際にも,Python的なユニットテストの文脈を活用できます。 ただし,GAEでユニットテストを行うためにはいくつかのツールやトリックが必要です。ここでは,そのテクニックを簡単に紹介します。 その1 : NoseGAEを使う Pythonのテスト用ツールにNoseがあります。このツールは,複数のディレクトリを渡り歩いて,複数のテストコードを一気に実行してくれる便利なツールです。 NoseのプラグインNoseGAEをインストールすることで,GAEアプリのテストを楽に行うことができます。「nose --with-gae」というようにオプション指定をすることでNoseGAEを利用できます。NoseGAEでは,テストコード上でGAEのモジュールやパッケージをインポートするために必
Getting started Here’s how to get rolling: Install the gems $ sudo gem install google-appengine Assign an app identifier Simply create an application at appsopt.com, we'll refer to that as my-app in this document. Generate your rails app $ rails my-app; cd my-app; Generate a rackup file In the same folder, save this as config.ru. require 'appengine-rack' AppEngine::Rack.configure_app( :applicatio
Google App Engine Google App Engine Teamは10 things you (probably) didn't know about App Engineにおいて、Google App Engineによる開発方法が変わる10の事実を紹介している。App Engine Teamはディスカッショングループに参加することで、ユーザがGoogle App Engineのいくつかの事実に注目していないことに気がついたという。これを知ると知らないのとでは、Google App Engineを使った開発方法が変わってくるということだ。紹介されている事実は次のとおり。 バージョン番号は数値ではなく文字列。このためバージョン番号にliveやdevといった文字列を使うこともできる アプリケーションは複数のバージョンを同時に実行できる。version.latest.yourap
ゴールデンウィークに特に予定のなかった筆者は,「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち,2009年5月6日に「ご都合.com(画面1)」を公開しました。その後,はてなブックマークやニュースサイトなどでご紹介いただいたおかげで,公開後6日で約2000人の方にご利用いただいています。 そこで本稿では,この「ご都合.com」の開発で実際に筆者が得た経験を通じて,GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。 米Googleが2008年4月に発表したGoogle App Engine(画面2)は,「自分が開発したWebアプリケーションをGoogleのデータセンターで運用できるクラウドコンピューティング・サービス」です
2009/04/20 かねてから噂されていたことだが、グーグルは2009年4月8日にアプリケーションホスティングサービスの「Google App Engine」(GAE)でのJava対応を発表した。発表後1週間を経た4月15日には登録開発者数が2万5000人を超えたほか、国内では4月13日にサイオステクノロジーがいち早くGAE/J対応のビジネスアプリケーションとサポートサービスの提供開始を発表するなど、少しずつ動きが見られる。 それまでGAEがサポートしていた唯一のプログラミング言語であるPythonに比べると、Javaへの対応は、エンタープライズ分野での影響が大きそうだ。しかし、GAE/JはJava対応というよりもJVM対応といったほうがいいのかもしれない。そうだとすると、GAE/Jは一般的なシステム設計や開発者のスキルセット習得という面でも、今後影響を与える可能性があるのではないだろう
グーグルという会社は、例えばマイクロソフトやオラクルやアップルと比べると「戦略」といったものを積極的にはアピールしない会社です。 マイクロソフトやオラクルやアップルのような企業は、年に何度か大規模なイベントを開催し、現在の戦略や今後のロードマップを示します。しかしグーグルはそういった方法で将来像やスケジュールを明らかにすることはあまりなく、社内でこっそりと開発を続けて、ある日突然「こんなものができました」と発表する方を好むようです。 かつてGMailが登場したときも、そして先日Google App Engine for Javaが登場したときもそうでした。 そのためグーグルのクラウド戦略はどの方向に向かっているのか? ターゲットとするデベロッパー層や、想定しているアプリケーションの姿といったものがどういったものなのか、次にどんな施策を打ってくるのか、といったことは想像するしかありません。
はてなブックマークをdeliciousに同期する場合、どうやってますか? 同時ポストツール? Plagger? まさか、手作業? 同時ポストツールの場合、確かにその場で同時にポスト出来て便利ですね。でも携帯ではてなブックマークから登録した場合、同期されませんよね。 Plaggerだと、cronで動き続けるPCが要りますよね。家に24時間稼動可能なPC無いよ!なんて人いるかもしれません。 手作業?問題外! 先日、Google App Engineにcronが導入されました。 Google App Engine Blog: Seriously this time, the new language on App Engine: Java™ Cron support: schedule tasks like report generation or DB clean-up at an inter
Java, WicketGoogle App Engine for Javaのアカウントを取っておいたので、Wicketが動くかどうかチェックしました。 Wicketでは1.3の途中から、セッションストアがSecondLevelCacheSessionStoreという、ワークファイルに情報を書き出すタイプに変更になりました。ここがネックになるだろうと思っていたら、やっぱりファイル作成は規制されているとのこと。 で、HttpSession上にページ情報を格納する「HttpSessionStore」に切り替えてみたら、普通に動きました。 アプリケーション・クラスの設定はこのような感じです。 public class WicketApplication extends WebApplication { /** * Constructor */ public WicketApplication(
いまさら注記 $JRUBY_HOME/binはPATHの最後に追加して、ruby絡みのコマンドをjrubyで使うときはjruby -Sするのが正解ぽいです。 set $PATH=$PATH:$JRUBY_HOME/binで、例えばこんな感じ jruby -S gem install rails http://itrain.appspot.com/ 基本的には昨日のエントリに書いてある通りだけど、もうちょっとだけ詳細に書いてみる。実際に試したいなら昨日のよりこっち見た方がいいと思う。ただしDataStoreもUsersServiceもなしで単にコントローラーでrender :text=>'hoge'するだけ。 まずJRubyインストール リポジトリから最新を取って来て入れること。手を抜いて古いの入れるとたぶん動かない。 $ svn co http://svn.codehaus.org/jru
Google App EngineのJava版が出ました。まぁJavaは比較的どうでもいいんですが、嬉しいことにこの上ではJRubyが動くようです。海外の先駆者ががんばってブログを書いてくれたので、いつものように勝手訳してみます。 http://olabini.com/blog/2009/04/jruby-on-rails-on-google-app-engine/ これは最近アナウンスされたGoogle App EngineがJavaをサポートするというニュースに関する記事の3つ目だ。今回の記事ではJRuby on RailsアプリケーションをGAE/Jで動かすのに必要な手順をさらってみて、アプリケーションの特性がどのようになると予想すべきかに付いて書きたい。 まずJRubyは最新版が必要だ。JRuby1.2リリース以降にJRubyのtrunkに加えられた変更のほとんどが必要になるので、
ついにリリースされたGoogle App Engine(GAE)向けのJava。既に環境は用意されているので、すぐに開発を開始できる。Javaというとレンタルサーバレベルでは運用できず、会社ではJavaを使いつつも個人では使えないという人も多かったのではないだろうか。これで開発者の裾野が一気に広がっただろう。 GAEで動作するJRuby on Rails製ブログシステム Python、Javaときて他の言語、個人的にはRubyはどうなのだろうと思ったが、そうかJRubyがあった。それにより可能性がさらに広がった。 今回紹介するフリーウェアはYet Another Ruby Blog、JRuby on Railsで開発されたGAE向けブログシステムだ。ソースは公開されているがライセンスは明記されていなかったのでご注意いただきたい。 Yet Another Ruby BlogはGAEの上で動作
RESTfulデータベースというと何のことやらといった感があるが、言わばキーと値のデータベースで、通信をHTTP経由で行うものだ。キーを指定してポストすれば新規追加され、ゲットを使ってデータを取得する。PUTで更新、DELETEで削除と言った具合だ。 Google App EngineをRESTfulなデータベースに! そんなキーと値のデータベースは様々に存在する。リレーショナルデータベースと違って、単純なデータ構造だがテキストや文字列を扱うのに都合がいい場合もある。それをGoogle App Engineを使って実現するのがApp3だ。 App3はPythonで作られたオープンソース・ソフトウェアで、GPLの下に公開されている。 筆者環境ではまだうまくいっていないのだが、データはキーとともにJSON形式で保存できる。そしてGETを使ってデータを取得する。リストを使ってデータの一覧を取得す
前のエントリー で書いたように、GoogleAppEngineのトランザクションは使い勝手が悪い。しかし、GAEにブログを移行しようと思うとこれは乗り越えなければならない。 GAEでトランザクションを行う条件を簡単にまとめると db.run_in_transactionにトランザクションとして実行したい関数を渡すがその関数内では 同じエンティティグループに属しているモデルで get, put, deleteのみ しか実行できない。なのでトランザクションのページに紹介されているような 1from google.appengine.ext import db 2 3class Accumulator(db.Model): 4 counter = db.IntegerProperty() 5 6def increment_counter(key, amount): 7 obj = db.get(
Google Developer Day 2008 に行ってきました。 で、基調講演聞いたあと、Google App Engine のコードラボに参加してきました。 まぁ簡単に言うと Hackathon です。 画像掲示板つくってみる ユーザ登録&認証 コメント付加 古いデータは消す な画像掲示板を書いてみました。 #!/usr/bin/env python # -*- coding: utf-8 -*- import wsgiref.handlers, cgi from google.appengine.api import images from google.appengine.api import users from google.appengine.ext import webapp,db class ImageAndText(db.Model): user = db.User
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く