2010年のIT業界は、「ソーシャルビジネスの台頭」が大きな注目を集めた一方で、従来のエンタープライズITの世界では大きな動きが見られなかった。「IT」のビジネスの形が大きく変わり始めている中、ITエンジニアはどんなスキルを身に付け、何を意識してキャリアを形成していけばよいのか。昨年に引き続き、Seasar2やSlim3の開発者である電通国際情報サービス ひがやすを氏と、元@IT発行人で現在「Publickey」を主宰するITジャーナリスト/ブロガーの新野淳一氏による「年末対談」をお送りする。 ――2009年末の対談では、今後システムインテグレータ(SIer)はどうなるか、クラウドはSIビジネスにどう影響を与えるか、などを語っていただきました。2010年も年末を迎えますが、IT業界について、おふたりはどのような1年だったとお考えですか? ひがやすを氏 1992年 電通国際情報サービス入社。
Slim3公式サイトのMavenのページでSlim3プロジェクトをMaven2で作成する手順がまとまっていますが、このままだとGAEへのデプロイは失敗します。以下の対応により、Maven2からGAEへのデプロイも可能となります。 pom.xmlの修正 <build> <finalName>slim3-maven</finalName> ・・・ <pluginManagement> <plugins> ・・・ <!-- maven-gae-pluginの追加 --> <plugin> <groupId>net.kindleit</groupId> <artifactId>maven-gae-plugin</artifactId> <version>0.7.2</version> </plugin> </plugins> </pluginManagement> <plugins> ・・・ <!
slim3使用時のgoogle認証の使い方のハマリどころ。 例えば http://アプリケーションID/private/ というURLにアクセスした場合に、private下にはすべてgoogle認証をかけたい場合、 以下のようなFilterを作成します。 /** * google認証を行うFilterクラス */ public class MemberFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { final HttpServletRequest httpServletRequest = (Http
今更感がすごいあるけど、Slim3のトランザクションについてメモ。 まずは、普通のトランザクション。 public void update(final Key key) { // トランザクション開始 final Transaction tx = Datastore.beginTransaction(); fianl Model model = Datastore.get(tx, Model.class, key); mode.setName("hoge"); Datastore.put(model) // コミット tx.commit(); } GAEはデフォルトのトランザクションだと、単一のエンティティにしかトランザクションを貼れない。 でも、複数のエンティティを一緒に更新したい時ってのがあるわけで、そういう時に 使用するのが、グローバルトランザクション。 public void up
稲垣です。こんにちは。 Slim3の日本語ディスカッショングループにはすでにひがさんからアナウンスがありましたとおり、 EclipseプラグインをSlim3に正式に組み込みました。 ダウンロードサイトのURLはひがさんにアナウンスして頂いたものから少し変更させていただきました。 すみません。下記のとおりです。 http://slim3.googlecode.com/svn/updates/ 既に古いURLからプラグインをインストールした方も、できるだけ上記URLからインストールし直して 頂ければと思います。 既に古いURLからプラグインをインストールした方は一旦プラグインをアンインストールする必要が あります。アンインストールは下記の手順で行ってください。 1.[Help]-[About Eclipse]で[Installation Details]ボタンを押下。 2.「Slim3 Pro
AppEngineは、アクセスがあったときにアプリケーションを起動し、しばらくアクセスが無ければアプリケーションを終了させ、また次のリクエストで再起動するという仕組みを導入しています。 そのため、アプリケーションを起動(spin-up)する時間がとても重要になってきます。このspin-upの時間はpython(webapp)で60cpu_ms以下。(cpu_msはcpuが使う仮想的な時間ですがmsと同じ感じで捉えてもらってもとりあえずは大丈夫です)JavaのServletだと600cpu_msくらいです。PythonでもDjangoような大きなフレームワークだと1000cpu_msくらい(アプリによる)かかりますが、許容範囲内。JavaだとSlim3で1300cpu_ms、Springだと早くて7000cpu_msという感じで、Slim3がギリギリ許容範囲内でしょうか。ほんとうは、1000
AppEngineは、万能なプラットフォームではありません。むしろ、かなり使い道は限定されていると言ってもいいでしょう。 向いていないアプリで使うとかなりはまって、アプリが完成しないリスクがあります。 一方、向いているアプリで使うとこれまでよりかなり費用を節約できたりとか、儲けにつなげることができます。 AppEngineにどのようなアプリが向いているかというと、AppEngineがGoogleの既存のインフラをそのまま利用していることをまず知っておく必要があります。 Googleのインフラは、(極端に単純化すると)大量のデータを多くの人に同時に見せるために最適化されています。 AppEngineも同様で、大量のデータに大量にアクセスがあっても大丈夫なように、BigtableというKVSを使っています。また、自動でスケールアウトするWebのFront Endも既存のインフラをそのまま使って
Google AppEngine, 読書ログ, OpenID読書ログでOpenID対応を実施する際に収集した、OpenIDプロバイダから取得できる値のリストをまとめておきます。・XXXの箇所は伏字部分ですので、実際には個人毎の情報が入ります。・OpenID URLは取得できる情報では無くリクエスト先のURLです。 Yahoo! JapanOpenID URLyahoo.co.jpAuthDomainhttps://open.login.yahooapis.jp/openid/op/authEmail-FederatedIdentityhttps://me.yahoo.co.jp/a/XXXNickname-UserIdXXXHatenaOpenID URLhttp://www.hatena.ne.jp/XXX/AuthDomainhttp://www.hatena.ne.jp/openid
こちらのページは移転しました。 この度、旧会社名シアトルコンサルティング株式会社からMETATEAM株式会社へと社名変更および、弊社コーポレートサイトをリニューアルいたしました。 このページは5秒後に、新しいコーポレートサイトに自動転送されます。 遷移しない場合はこちら。
Slim3 を使ったアプリケーションで OAuth の認可を実施します。 OAuth (3-way dance) の流れは次のようになりますので、 HTTP リクエストの生成、認可のページへのリダイレクト、コールバックの受け取り、の三つの機能をサポートする必要があります。 OAuth の流れ サービスプロバイダーの情報を与える。 アプリケーションの認証情報 (Consumer Key / Consumer Secret) を与える。 HTTP リクエストによって一時トークンを取得し、 oauth_token と oauth_token_secret を抜き出す。 oauth_token を GET パラメータに乗せて認可のページへユーザーをリダイレクトさせる。 サービスのサイトでユーザーに自分で認可を確認してもらう。 認可のページからコールバックへ戻してもらい、アプリケーション側で確認コー
Slim3 Eclipse PluginのGWT対応をしてみた。 #slim3 #appengine #eclipse Slim3 Eclipse PluginでSlim3用のGWTプロジェクトが生成できるようになりました。 https://sites.google.com/site/s3plugin/home GWTビルド用の各種設定を自動的に行う他、モジュール、エントリーポイント、ホストページの生成もしちゃいます。 Slim3ブランクプロジェクトをインポートした後に手動で色々やっていたことを自動的にやっちゃいます。 だいぶ楽になったんじゃないかな。 が、Twitterでも昨日から色々つぶやいてますが、2件ほどバグがあり未解決です。 ・Slim3 GWTプロジェクトを生成した直後にプロジェクトをディスクからも削除するオプションで削除しようとしても、エラーが発生して削除できない。Eclip
slim3 には、必要なプログラムを自動生成する機能が備わっています。 ですので、まずプログラムを自動生成し、要件に応じてロジックを個別に追加していくというのが基本的な開発スタイルになります。 今回は、この基本的な開発スタイルについて説明します。 1.プログラムの自動生成方法 プログラムの自動生成は、Ant を使用して行います。 slim3-blank プロジェクトの直下に、build.xml があります。 これを Eclipse 上で開くと、”gen-xxx”という名前のタスクを複数見つけることができます。 これらを実行することで、必要なプログラムを生成することができます。 ちなみに、各タスクと作成できる成果物は以下の通りです。 タスク名 成果物 gen-controller FrontController+JSP gen-controller-without-view FrontCon
その他、ブランクプロジェクトの入手に書いてある設定を行う。 プロジェクトを実行(「実行」→「Webアプリケーション」)すると、「Development Mode」というビューが開く。 そこに表示されている「http://127.0.0.1:8888/index.html?gwt.codesvr=127.0.0.1:9997」をブラウザーで開くと、最初に「Google Web Toolkit Developer Plugin」のインストールが要求される。 GwtDevPluginSetup.exeをダウンロードして実行してインストールする。 再度「http://127.0.0.1:8888/index.html?gwt.codesvr=127.0.0.1:9997」を開くと、ブラウザー上は真っ白の画面が表示されるだけ。(GwtDevPluginのActiveXの実行は許可しておく) Ecli
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
appengine ja night #9、皆様お疲れさまでした! 今回はurekatさんshin1さん他の方々が大変詳細なwaveレポートを書いていただいています: @urekat隊長、@shin1さんほかによるwaveまとめ それと皆さんのレポートです: @bufferingsさん:#ahack6 と #ajn9 に行ってきたよ あおうささん:appengine ja night #9に行ってきた @y_kohさん:appengine ja night #9に行ってきた @tagomorisさん:AppEngine ja night #9 に行ってきたよ @koherさん:Single Property Indexを作らないとComposite Indexも作成されない? @drillbitsさん:appengine ja hack-a-thon #6 と appengine ja n
Google App Engine/ JavaをプラットフォームとするCMSの開発に着手して半年ほど経過しました。途中、なんども仕組みを見直しながら作り込みを行い、ここ1ヶ月くらいは細かい機能の調整やドキュメントの作成などリリース準備に向けて進めている段階です。予定では来月の頭くらいにはRC1をリリースし、夏の間には0.1.0をリリースしたいなと考えています。 現状 ソースはhttp://code.google.com/p/etupirka/で公開しています。slim3を使うサンプルになるかもしれませんので興味のある人はどうぞ。また、最近はhttp://sites.google.com/site/aboutetupirka/でドキュメントを書いています。CMSを開発しているのに他のCMSでドキュメントを書くのはどうよ?という話もありますが、CMSの用途が異なります。ドキュメントの場合、コン
来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く