アーカイブ

‘java’ カテゴリーのアーカイブ

eclipse の viPlugin と キーバインドの変更

2011 年 11 月 4 日 tdtsh Comments off

Windows機でテキスト書くときはgvimです。
なので、つい j とか k とか Ctrl+FとかCtrl+B とか打ってしまいます。
その点、GoogleのWEBサービスはGMailをはじめショートカットがVimmerにやさしいのですきです。

最近は Macbook Air を触ることが多いですが、面倒くさくて gvim 入れてないです。
もっぱら eclipse を頑張って使っていこうとしています。
なので、eclipse もなるべく vim ライクなキーバインドにしたい訳です。

eclipseの場合は、viPluginを使えば、マァそこそこいけます。
もう数年無料のままで使ってましたが、いい加減ちゃんとしようと思ってランセンス料を支払いました。
PayPalで一瞬でした。15ユーロだったかな?支払い後、作者からPayPalに登録してあるメールアドレス宛にライセンスキーが送られてきます。
サイトのFAQには2日位かかると書いていますが、結構すぐ送ってくれました。

送られてきた[viPlugin.licence] を、eclipseのインストールディレクトリ(Mac は私の環境では /Applications/eclipse/ )に配置してeclipseを起動すればOKです。

あとは、eclipse のキーバインドでvimと衝突しているものを、適宜書き換えていく感じです。
[設定] – [一般] – [キー] で変更できます。
気がついた所では、Ctrl+F が検索に割り当てられているんで、Ctrl+Bと共にページ送りに設定した位です。
少しづつ良い感じに仕上げていこうと思います。

カテゴリー: eclipse, java, macbookair タグ:

GAE/J で Python の bulkloader をつかってみる

2011 年 8 月 16 日 tdtsh Comments off

 
Java版のbulkloaderが出ると信じて待つこと1年以上、for businessもスベッてしまい、いまだその気配もなく。

痺れを切らして、普段 GAE/Jな私が、Python版のbulkloaderを使ってみました。

普段GAE/Jなので、スタートガイド Python 開発環境 / Google codeを参考に、環境作りからはじめます。

 

Pythonをインストール

Download – Pythonから手繰り、私の場合はWindows (未だにXPデス)なので、Windows x86 MSI Installer なんをインストールします。最新は2.7.2の様です。
Macなら最初から入っていますし、Linuxも大概のディストリビューションで最初から入っています。

 

Google App Engine SDK for Python をインストール

GAE/JなヒトでもPython版SDKを既に入れている方もいるかもしれませんが、入れてないヒトは入れましょう。

Google App Engine SDK のダウンロードから、Google App Engine SDK for Pythonをインストールします。最新は1.5.2でした。

とりあえずCドライブ直下に置きました。
インストールディレクトリは c:\appengine-python-sdk-1.5.2 となりました。
これを環境変数PATHに追加しときます。

 

GAE/J側の準備

既存プロジェクトの web.xmlを編集し、GAE/J側のRemoteApiServletを有効化?します。

	<servlet>
		<servlet-name>remoteapi</servlet-name>
		<servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>remoteapi</servlet-name>
		<url-pattern>/remote_api</url-pattern>
	</servlet-mapping>

勿論この後デプロイします。

 

設定ファイル (yaml) を作成

cmd.exe を起動し、appcfg.py で create_bulkloader_config を実行します。

cd c:\appengine-python-sdk-1.5.2
appcfg.py create_bulkloader_config --url=http://{appId}.appspot.com/remote_api --application={appId} --filename=config.yml

High Replicationの場合は、–application の引数のアタマに s~ をつけないといけないみたいです。
こんな風に。

cd c:\appengine-python-sdk-1.5.2
appcfg.py create_bulkloader_config --url=http://{appId}.appspot.com/remote_api --application=s~{appId} --filename=config.yml

自動生成されたconfig.yml には、そのとき appengine側に存在する kind のスキーマを反映したものになっているようです。

アップロード/ダウンロードするkindが限定されている場合などは、このymlファイルを編集して対象kindだけのymlファイルを作っても良い。

自動生成されたymlファイルは、TODO: の記述がいくつかあり、ココを適宜修正する必要があります。
最低でもconnector (と connector_options )を編集します。

  connector: # TODO: Choose a connector here: csv, simplexml, etc...
  connector_options:
    # TODO: Add connector options here--these are specific to each connector.
↓
  connector: csv
  connector_options:
    encoding: utf-8

 

CSVアップロード

ダウンロードするには、こんな感じ。

appcfg.py download_data --filename=test2.csv --config_file=test.yml --url=http://{appId}.appspot.com/remote_api --application=s~{appId} --kind={ClassNameOfKind} -v

アップロードはこんな感じ。

appcfg.py upload_data --filename=test.csv --config_file=test.yml --url=http://{appId}.appspot.com/remote_api --application=s~{appId} --kind={ClassNameOfKind} -v

参考にさせて頂いた先人の知恵

pomu0325: [GAE] bulkloaderをGAE/Jで使う

Javaプログラマの為のGAE/py bulkloader – GAE/py環境設定 – - 高卒文系プログラマの日常 by zetta1985

きのふよりけふ、けふよりあした  未分類

CSVファイルのデータをアップロードする方法 – 気楽に開発メモ

Using the bulkloader with Java App Engine – Ikai Lan says

カテゴリー: Google App Engine, java, クラウド, 開発環境 タグ:

Google App Engine の Backends で 長時間、大規模な処理が可能に

2011 年 5 月 12 日 tdtsh Comments off

Google App Engine 1.5.0 で、Backendsなるものが使える様になったそうですね。

Backends: Until now all App Engine applications have been running on short-lived dynamic instances that we spin up and down in response to application requests.
This is great for building scalable web applications, but has a number of limitations if you are looking to build larger, long-lived, and/or memory intensive infrastructure.
With 1.5.0, we are introducing Backends which will allow developers to do precisely this!
Backends are developer-controlled, long-running, addressable sets of instances which are as large as the developer specifies.
There are no request deadlines, they can be started and stopped (or dynamically start when called), they can use between 128M and 1G of memory and proportional CPU.

Google App Engine Blog: App Engine 1.5.0 Release

意訳はこんな感じでしょうか。

バックエンド:
今までは、すべてのApp Engineのアプリケーションは、アプリケーションのリクエストに応じて spin up と spin down する短命で動的なインスタンス上で実行されています。

これはスケーラブルなWebアプリケーションを構築するための素晴らしい仕組みですが、大規模、長寿命、および/または メモリを集中的に使用するインフラストラクチャを構築したい場合には制限となります。

1.5.0からは、我々は「バックエンド」を導入することで、開発者が正確にこれを行うにできるようになるようにしました!

バックエンドは、開発者が制御でき、長時間実行可能で、URLを指定でき、開発者が大きさを指定できるインスタンスです。

リクエストのデッドラインはありません。
起動、停止が可能です(またはリクエスト時に動的起動ができます)
128M~1Gのメモリとそれに見合ったCPUを使用することができます。

判ったような判らんような。
アドホックに大規模な処理を行いたい場合とかに使えるかも。

NEW YORK TIMES が過去記事の電子化を行うとき、自社見積もりでは14年かかる所を、Amazon EC2で24時間以内、240ドルでできた、と言う話が、数年前にAmazon EC2の説明をするときよく引き合いにだされていました。

「PDF化」は兎も角として、大量のリソースを使って大量処理みたいな事をappengineで出来る様になるという理解でいいのかな。

GAEもどんどん出来る事が増えてきましたね。

■参考サイト
Backends Java API Overview – Google App Engine – Google Code

Google APP Engine の新機能Backendsの解説 – TechTalkManiacs

今は昔のkonjak翻訳 φ(・ω・? )…: Backends (Java)

カテゴリー: Google App Engine, java タグ:

openid4java で OpenID OP のサンプルを動かしてみる

2011 年 3 月 17 日 tdtsh Comments off

openid4javaのサンプルを動かしてみる

事前にJDKとmeven2のインストールが必要です。

openid4javaDownloadsから、[openid4java-full-0.9.5.593.tar.gz]をダウンロードし、C:\
にでも解凍する。

CMD.exe を起動し以下を実行。

cd c:\openid4java-full-0.9.5.593\samples\simple-openid
mvn jetty:run

http://localhost:8080/simple-openid

をブラウズすると、OpenID RPのテストが出来ます。Yahoo OpenID なり mixiIDなりで試します。

OpenID プロバイダを試すには、上記URLにて、これ


http://localhost:8080/simple-openid/user.jsp

を入力します。

次回はコレを参考に、OpenID プロバイダを作ってみようと思います。

 

参考サイト

Java Web アプリケーションのための OpenID: 第1回 / IBM

Java Web アプリケーションのための OpenID: 第2回 / IBM

WinstoneでOpenID4Java – 不悔必省

カテゴリー: OpenID, java, web, ソーシャルメディア タグ:

eclipse の Google App Engine プロジェクトを実行した時リモートから見たい

2011 年 3 月 3 日 tdtsh Comments off

良く忘れるので、メモ。

  1. eclipseを起動
  2. プロジェクトを右クリック
  3. [実行(R)] – [実行の構成(N)] をクリック
  4. 実行構成の左ペインより[Web アプリケーション] – [プロジェクト名]をクリック
  5. [(x)=引数]タブをクリック
  6. - [プログラムの引数]に[--address=0.0.0.0 ]を追記する
    • BEFORE
      –port=8888 C:\path\to\workspace\yourproject\war
    • AFTER
      –port=8888 –address=0.0.0.0 C:\path\to\\workspace\yourproject\war
カテゴリー: Google App Engine, eclipse, java, slim3 タグ: