ひがやすを技術ブログ

電通国際情報サービスのプログラマ

新しいサービスを作るのになぜ今が絶好のチャンスなのか

おとといのエントリで新しいサービスを作る側に回ろうよという話をしました。 受託開発に未来はない? - yvsu pron. yas 新しいサービスを作るというのも難しい話ですが、今は、絶好のチャンスなんですよ。 ガラケーがピークを過ぎ、徐々に衰退し始めている。…

受託開発に未来はない?

私は1年以上、エンタープライズの世界(企業向けSIとか)から離れ、ずっとGoogle App Engineをやっています。今は、Google App Engine + Webkitベースのブラウザで動くHTML5を使ったグローバルな新サービスを提供しようとしていて、新規事業立ち上げのために日…

Seasar3開発中止

Seasar3の開発を担当する予定だった小林さんが、Seasar3開発のモチベーションが萎えちゃったようなので、開発を一旦中止します。 http://d.hatena.ne.jp/koichik/20100806#1281070800 お前がやればいいじゃないかと言われそうですが、今、丸山先生が、Spring…

Slim3本予約開始

Slim3本の予約が開始されました。本屋で実際に買えるようになるのは、7/28(水)からです。 http://www.amazon.co.jp/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E5%BE%B9%E5%BA%95%E6%B4%BB%E7%94%A8-Slim3-Google-Engine-Java/dp/479…

髪を赤く染めました

ヨシオリとドラ娘の結婚を体を使っておめでとうと表現したくて、髪を赤く染めました。ちっちゃいよしおりみたいな感じかもw そういえば、結婚式でid:yuripopにお腹出てるって言われた。俺の体重44kg(体重は実は関係ない気もするけど)だぞ。どれだけ男に対す…

Seasar3がやってくる

Seasar2は、機能を枯れさせることに徹し、機能追加は行わないと宣言してから、二年以上たちます。 で、Seasar2が冒険しないことによって、適切な大きさの問題は生まれなくなり、開発者が離れ、Seasar関連プロダクトが生まれなくなり、Seasarユーザも離れてい…

オーストラリアに5/27まで行ってくるので日本にはしばらくいません

プロが仕事で使う場合にApp Engineでどの言語を選べばいいのか

App Engineではどの言語を使えばいいのか - yvsu pron. yasで書いたとおり、App Engineで使う言語は、素のSDKで比べるとPythonの方がJavaより断然出来がいい。 ただ、仕事で使う場合は、素のSDKで開発することはなく、何らかのフレームワークを使うことが普…

DIコンテナの必要性

DI コンテナの起動が遅いなら、起動が速いのを作ればいいじゃない 何度か書いているとおり、DIはテストをしやすくすることが一番のメリットであり、オンプレミスの世界では、今でもある程度有効です。ただ、appengineの世界では、テストする環境が整えられて…

よしおりが結婚できた本当の理由

よしおりがドラ娘と婚約したことがtwitterで話題になっていたんだけど、TLで各界の識者が「よしおりが結婚できた本当の理由」について分析している。だけど、このTLを読んで一つ大きく疑問に思うのは、「なぜ各界の識者は、ぼくのところに話を聞きにこないの…

App Engineではどの言語を使えばいいのか

App Engineで使える言語は基本的にはPythonとJavaです。それでは、どちらを選ぶのが良いのでしょうか。 それ以外の言語の人向けの話は後から出てくるのでしばらくこのままお読みください。 趣味ならば単に好きなものを選ぶだけでいいのですが、仕事で使うた…

Slim3 1.0.0 Released

Slim3 1.0.0をリリースしました。リリースノートはこちら http://sites.google.com/site/slim3appengine/release-notesダウンロードはこちら http://code.google.com/p/slim3/downloads/listSlim3の主な特徴は次のとおりです。 Global Transactions Faster t…

Google App EngineでGlobal Transaction

Google App EngineにはTransactionは1つのEntity Group内でしかできないという制限があります。詳しくは、App EngineのEntityGroupを理解しよう - yvsu pron. yasを参照してください。 そうするとある口座から別の口座にお金を振込むような送金のパターンで…

興味のある言語にJavaと書いておいたら面接で爆笑された

Inspired by http://d.hatena.ne.jp/moriyoshi/20100204/1265242273 Javaエンジニアを募集してる会社の採用面接を受けた時の話。 転職エージェントに作れと言われて作ったシートに、「興味のある技術/言語」という欄があったんです。 「女の子ウケするコード…

GAEは秒間80リクエストさばける

@kisのなんとか度判定メーカー、Google App Engineで作っていて秒間80リクエストさばいているそうです。 http://kistools.appspot.com/rate ちなみに、いまコンスタントに秒間80アクセスあるみたいなので、if(kind=="イケメン" && user="kis") rate=99.0 な…

Seasar2を使える開発者募集

うちの会社のとある案件で開発者を募集します。とりあえず二ヶ月くらい。スタートは早ければ早いほどいいです。 Seasar2 + Teeda + KuinaDao(Hibernate)を使ったシステムでWebLogic上で動くものです。Seasar2の経験は必須で、できればWebLogicの経験もあった…

沖縄出張

今週は、木曜日まで沖縄出張なので、連絡が取りづらくなります(特に昼間)。ごめんなさい。 twitter(higayasuo)が一番連絡はつきやすいと思います。

AppEngineのDatastoreの学び方

Google AppEngineではBigtableの上にDatastore Serviceが構築されていて、開発者は、このDatastore Serviceを利用してBigtableにアクセスすることになります。このDatastore ServiceはPython版もJava版も機能はほとんど同じです。もしかすると、全く同じもの…

App Engineでバージョンによる楽観的排他制御

Song of Cloudで送金のトランザクション処理パターンが紹介されていました。 http://songofcloud.gluegent.com/2009/11/blog-post_18.html 同様のpython版がこちら Distributed Transactions on App Engine - Nick's Blog 上記のやり方で基本的には問題はな…

Slim3 Preview release

Slim3の正式リリースは、来年の一月くらいになりそうですが、ドキュメントも最低限のものはそろったので、今の段階のものをPreview版として紹介しておきます。 サイトへは、http://slim3.org でアクセスしてください。 Getting Startedをやり、Slim3 Datasto…

来週はロスに出張なので日本にいませーん

AndroidでGmailは見てるけど、緊急なときを除いて、ほとんど返事はできないと思いマース。

App Engineのユニーク制限を正しく理解しよう

Google App EngineではRDBMSのようなUnique Indexをサポートしていません。ユニーク制限を実現する場合は、トランザクション中でKeyを使ったgetとputを組み合わせる必要があります。 ここでは、email addressがユニークだったらそれを確定してtrueを返し、そ…

App EngineのEntityGroupを理解しよう

App EngineのEntitiGroupは、Keyの親子関係を利用して組み立てられたEntityの集まりです。 Entityとは、Bigtable上の1つの行で、ユニークに識別するためのKeyを持っています。 Keyは、種類をあらわすkindとAppEngineから自動的に採番されるidもしくはアプリ…

えせMVCについてそろそろ一言言っておくか

Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある RailsのえせMVC疑惑で盛り上がってますね。Railsが「えせMVCフレームワーク」ではないのは、みん…

私はなぜJDOを捨てたのか

Google App Engine/Javaで開発している人は、かなりの確立で、JDOを使って開発していると思います(JPAが使い物にならないので)が、心の奥底では、JDOの使いにくさに疑問を持っているはずです。ただ、GoogleがJDOを推しているので、思っていても口に出せなか…

セカイカメラの波にのれ

iPhone 3GSユーザーのみんな。もちろん、セカイカメラ使ってるよな。 3Gユーザーのみんな。コンパスがあるほうが、セカイカメラはより楽しめる。これを機に3GSに買い換えよう。iPod touchユーザーの君もだ。 Androidユーザーはどうしてくれるんだと思うかも…

男児たるものGoogle App Engine実践クラウドシステム構築を買うべきだ

なぜなら、Google App Engineを学ぶために一番必要なのは、「何ができないかを知ること」だからだ。そして、この本にはそれが書いてある。それしか書いていないといってもいい。 App Engineは、Googleのインフラを最も効率よく使うことにフォーカスしている…

TaskQueueをローカルでデバッグする方法

GAE

SDK 1.2.5からGoogle App EngineにTaskQueueが導入されましたが、ローカル(development server)でデバッグはできないと思っている人が結構いるようなので、やり方を書いておきます。 ローカルの環境では、Queueにaddしたタスクは、自動的には実行されず、Que…

Bigtableで!=nullが使える

GAE

Bigtableは、!=の演算子をサポートしていませんが、nullに限って言えば、> nullとすることで、!= nullと同じ効果を得ることができます。nullは最も小さい値らしい。 JDOで、!= nullと書くと、内部的にはLow level APIの > nullに変換されて実行されます。nul…

SQL脳からBigtable脳へ

Google App Engineを使って一番悩むのは、RDBMSが使えなくなって、Bigtableを使わなければならなくなったことでしょう。 「これまでSQLでこう書いていたのが、Bigtableではそのまま実現できない、どうすればいいんだ」と思う方も多いはず。 今度のSeasar Con…