<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ミネルヴァの梟は黄昏とともに飛び始める &#187; GWT</title>
	<atom:link href="http://blog.daisukeyamashita.com/post/category/%e3%82%bd%e3%83%95%e3%83%88%e3%82%a6%e3%82%a7%e3%82%a2%e9%96%8b%e7%99%ba/gwt/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.daisukeyamashita.com</link>
	<description>Follow me on Twitter: http://www.twitter.com/dddaisuke</description>
	<lastBuildDate>Mon, 30 Jan 2012 04:18:31 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Twitterに写真を沢山投稿できるサービスを作ってみた #twitter</title>
		<link>http://blog.daisukeyamashita.com/post/1867.html</link>
		<comments>http://blog.daisukeyamashita.com/post/1867.html#comments</comments>
		<pubDate>Mon, 25 Jul 2011 00:01:46 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[自作プログラム]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=1867</guid>
		<description><![CDATA[URL共有サービス linked.jp Twitterで写真を３枚ぐらい貼ると一気に文字数を消費するので、URLをまとめるサービスを探したらサービスがダウンしていたので、カッ！っとなって３時間ほどで作ってみた。 使い方 使い方は、http://linked.jp/にアクセスし、URLsに共有したいURLを複数貼り付け、[make]ボタンを押すだけ！ すると、下記のようにshort URLが生成されるので、Twitterなどで共有すればok！ 結果はアクセスしてみて下さい！→ http://linked.jp/nBC4 サニタイズもURLの妥当性もチェックしていないので、色々バギーですが徐々に改良して行こうと思っています。 ご要望やバグの報告は私まで アイコンとウェブのデザイン募集中なので、我こそはというデザイナーの方よろしくお願いします。]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/1867.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Chrome Developer Plugin support for Mac and Linux</title>
		<link>http://blog.daisukeyamashita.com/post/1148.html</link>
		<comments>http://blog.daisukeyamashita.com/post/1148.html#comments</comments>
		<pubDate>Wed, 22 Dec 2010 05:48:29 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[GWT]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=1148</guid>
		<description><![CDATA[いやー知らなかった！MacとLinuxのChrome用プラグインが12月8日にリリースされていたみたいです。今まで、GWTのデバッグのために重いFirefoxを起動していましたが、これでこれからはChromeでデバッグができる。 インストールはhttp://gwt.google.com/missing-plugin/ここにアクセスするとインストール用のリンクが現れるので、あとは指示に従うだけ。 快適♪]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/1148.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWTのコンパイルを高速化する方法</title>
		<link>http://blog.daisukeyamashita.com/post/925.html</link>
		<comments>http://blog.daisukeyamashita.com/post/925.html#comments</comments>
		<pubDate>Wed, 02 Jun 2010 06:43:28 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[京都GWT勉強会]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=925</guid>
		<description><![CDATA[　Google I/Oのセッションの一つで、Faster apps faster: Optimizing apps with the GWT Compilerというセッションがあり、そこで公開されていたテクニックです。ここで紹介されたテクニックは、リリース用のバイナリ出力を高速化するテクニックではなく、テスト用のバイナリ出力を高速化するテクニックですので、リリース用のコンパイルは従来通り気長に待ちましょう。 　まず、コンパイルオプションに以下の２つを付けます。最初のオプションは、メタデータの出力を抑制し、２つめのオプションはいくつかの最適化をキャンセルする事でコンパイル速度を上げます。 -XdisableClassMetadata -draftCompile 　次に、モジュール作成時に自動生成されるXxxxxx.gwt.xmlの&#60;module&#62;タグ内に以下の記述を追加します。この記述は、safariブラウザのみを利用することを指示します。 &#60;set-property name=&#8221;user.agent&#8221; value=&#8221;safari&#8221; /&#62; 　続いて、以下の記述を追加し、safari用に最適化されたDOMコントロールのみを利用するように指示します。 &#60;replace-with class="com.google.gwt.user.client.impl.DOMImplSafari"&#62; &#60;when-type-is class="com.google.gwt.user.client.impl.DOMImpl" /&#62; &#60;when-property-is name="user.agent" value="safari" /&#62; &#60;/replace-with&#62; 　これでテストするブラウザが決まっている場合は、実行するJavaScriptはそこそこ速く、なおかつコンパイル速度を上げる事ができます。user.agentにはie6, ie8, gecko, gecko1_8, safari, operaが指定できるようです。 　最後に、Internationalization(I18N)を利用している場合には、以下の記述を追加する事で、テスト対象の言語以外は利用しない事を明記する事ができます。 &#60;extend-property name=&#8221;locale&#8221; values=&#8221;ja_JP&#8221; /&#62; 　これで、私の環境では従来3分かかっていたコンパイル速度が1分になりました。]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/925.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT 2.0のDevelopment Modeにおいて、JNDI経由でMySQLを使う方法</title>
		<link>http://blog.daisukeyamashita.com/post/866.html</link>
		<comments>http://blog.daisukeyamashita.com/post/866.html#comments</comments>
		<pubDate>Wed, 14 Apr 2010 07:46:20 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[京都GWT勉強会]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=866</guid>
		<description><![CDATA[　GWT1.6をお使いの方はこちらをご覧ください。 　Google Web Toolkit（以下GWT）で開発をするときに、Google Plugin for Eclipseを利用するとEclipse上からGWTのコードを実行でき非常に便利です。 　GWT2.0から新しく導入されたDevelopment Modeは、Javaで記述されたGWTのコード（正確にはJavaのbytocode）をブラウザのプラグインで直接実行させるという非常にクレイジーな方法を採用しており、このおかげでJavaのコードをJavaScriptにコンパイルせずにブラウザ上で直接実行できるようになりました。 　以下、GWT 2.0で、JNDI経由でMySQLを使う方法。ちなみに、設定ファイルをちょっと変更するだけで、PostgreSQLなど他のDBでも利用できます。 　まず、Eclipse上でGWTのプロジェクトを作成します。「Use Google Web Toolkit」にチェックが入っており、「Use Google App Engine」にチェックが入っていないことを確認して下さい。 　Google Plugin for Eclipseを導入してない方はこちらの私の記事でご確認ください。 　次に、war/WEB-INF/libにjetty-naming-6.1.11.jarとjetty-plus-6.1.11.jar、さらにmysql-connector-java-5.1.12-bin.jar（これは使いたいDB用のJDBC）の３ファイルをコピーします。 　*jetty-namingやjetty-plus、mysql-connector-javaのバージョンに理由がある訳ではないので、少しぐらいバージョンが違っても動くと思います。 　war/WEB-INFの直下にjetty-web.xmlというファイルを作成して、以下のように記述します。DBのホスト名、ポート番号、ユーザ名、パスワードは適宜設定してください。 　GWTのサーバー側のRemoteServiceServletを拡張したServletクラス内に以下の記述を追加すると、このクラス内からds.getConnection()でSQLのJDBCコネクションが取得できます。 　良くわからない人は、Google Web Toolkit 勉強会 in 京都 (#gwt_kyoto)に来るといいよ！]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/866.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[GWT] GWTとRealm認証</title>
		<link>http://blog.daisukeyamashita.com/post/770.html</link>
		<comments>http://blog.daisukeyamashita.com/post/770.html#comments</comments>
		<pubDate>Tue, 29 Sep 2009 04:42:34 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[ソフトウェア開発]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=770</guid>
		<description><![CDATA[サーブレットコンテナのRealm認証をGWTで利用したい場合、注意が必要だ。 通常、web.xmlに以下のように書いて、認証エリアを指定すると思うが、GWTで認証を利用したい場合、Ajax通信先のURLも認証エリアに指定する必要がある。URLは、web.xmlの中ののどこかに記載されているハズだ。 私の場合は、Ajax通信するまえのHTMLはちゃんと認証が掛って、正しいIDでログインしているにも関わらず、Ajax通信先のURLを認証エリアに指定していなかったために、Principal情報を取得できませんでした。 &#60;web-resource-collection&#62; &#60;web-resource-name&#62;SobaEducationPortal&#60;/web-resource-name&#62; &#60;url-pattern&#62;/secure/*&#60;/url-pattern&#62; &#60;!&#8211; ↓この指定を忘れるとうまくいかない &#8211;&#62; &#60;url-pattern&#62;/ajax/*&#60;/url-pattern&#62; &#60;/web-resource-collection&#62; この設定さえできてしまえば、Servlet側のプログラムは簡単だ。 RemoteServiceServletの拡張クラスで、getThreadLocalRequest()を利用しHttpServletRequestのインスタンスを取得すると後は、通常通りPrincipal情報を取得する事ができる。 HttpServletRequest request = this.getThreadLocalRequest(); Principal principal = request.getUserPrincipal();]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/770.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[GWT] java.lang.ClassNotFoundException: com.google.gwt.user.client.rpc.RemoteServiceが発生する場合の対策</title>
		<link>http://blog.daisukeyamashita.com/post/767.html</link>
		<comments>http://blog.daisukeyamashita.com/post/767.html#comments</comments>
		<pubDate>Tue, 29 Sep 2009 04:29:59 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[ソフトウェア開発]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=767</guid>
		<description><![CDATA[GWTを利用していて、「java.lang.ClassNotFoundException: com.google.gwt.user.client.rpc.RemoteService」が発生する事がある。 このエラーが発生する時は、antかmavenを利用していると思うが、多くの場合、文字通りクラスパスが正しくない。gwt-user.jarにも同じパッケージ名が存在するので、gwt-user.jarだけで十分な気がしてしまうが、実際には、gwt-servlet.jarが必要。これに結構ハマったのでメモしておく。 私の場合、mavenのリポジトリの構築時に、artifactIdを重複させていて、必要なjarが全部パッケージできていなかった。 &#8212;&#8211;以下、検索用のスタックトレース&#8212;&#8211; java.lang.ClassNotFoundException: com.google.gwt.user.client.rpc.RemoteService at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1359) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1068) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) [...]]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/767.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWTのシリアライズエラー</title>
		<link>http://blog.daisukeyamashita.com/post/760.html</link>
		<comments>http://blog.daisukeyamashita.com/post/760.html#comments</comments>
		<pubDate>Fri, 14 Aug 2009 04:49:41 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[GWT]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=760</guid>
		<description><![CDATA[デフォルトコンストラクター（引数なしのコンストラクター）が無い時に、以下のようなエラーが出ます。 Type &#8216;自作のクラス名&#8217; was not serializable and has no concrete serializable subtypes]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/760.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT 1.6でJNDIを使う方法</title>
		<link>http://blog.daisukeyamashita.com/post/699.html</link>
		<comments>http://blog.daisukeyamashita.com/post/699.html#comments</comments>
		<pubDate>Tue, 19 May 2009 04:48:02 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[ソフトウェア開発]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=699</guid>
		<description><![CDATA[Google Plugin for Eclipseにも同包されている、Google Web Toolkitの最新バージョンである1.6からは、サーブレットコンテナがTomcatからJettyに変更されています。 これは、Google App EngineのサーブレットコンテナにJettyが採用されている事と関係があると思いますが、古いGWTのローカル環境では動作していたJNDIが動作しなくなったという問題があります。 これは、業務で利用されている方は非常にお困りでないかと思います。私は困りました。。。 以下、Google Plugin for Eclipseで作成したGWT プロジェクトでJNDIを使えるようにする方法。 プロジェクトディレクトリ直下に［lib］ディレクトリを作成し、jetty-naming-6.1.11.jarとjetty-plus-6.1.11.jarを、コピーしクラスパスを通す。 jetty-web.xmlを［war/WEB-INF］にコピーする。（jetty-web.xmlの書き方は以下の通り） プロジェクト名を右クリック［Run As］-［Web Application］で一度実行し、Run設定ファイルを自動生成させる。（この設定を行いたいプロジェクトを過去に１回でも実行していればOK） プロジェクト名を右クリック[Run As]-[Run Configurations...]で表示されるダイアログの［Arguments］タブの&#8221;VM arguments&#8221;に［-Djava.naming.factory.initial=org.mortbay.naming.InitialContextFactory］を記入し、［Apply］ボタンをクリック 以後、この設定で実行するとJNDIを正しく設定ファイルからロードします。 ・MySQL用の設定です。他のDBの設定方法はこちらから。 本番はTomcatで動作させたい人は、［war］ディレクトリに［META-INF］ディレクトリを作成して、従来のJNDI設定を書いたcontext.xmlを設置しておくと便利かも。 ====================以下、検索用==================== GWT 1.6 Google Web Toolkit 1.6 Google Plugin for Eclipse Tomcat Jetty context.xml ROOT.xml jetty-web.xml JNDI DB c3p0 dbcp Atomikos MySQL SQL Server Oracle PostgraSQL Sybase DB2 [...]]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/699.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[GWT] GWTの勉強会を京都で開催したいと思います。</title>
		<link>http://blog.daisukeyamashita.com/post/490.html</link>
		<comments>http://blog.daisukeyamashita.com/post/490.html#comments</comments>
		<pubDate>Tue, 26 Aug 2008 00:56:20 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[GWT]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=490</guid>
		<description><![CDATA[　国内でGoogle Wet Toolkitがどの程度、利用されているのか分かりませんが結構深い所まで触ろうとすると急に日本語で情報が出てこなくなります。私は比較的、英語のアレルギーがないので平気なのですが、自分自身の学習モチベーション維持のために勉強会を発足したいと思います。 　最終的には、Hackthonぐらいできるといいなぁと考えていますが、現時点では以下のように想定しています。 　時間は「金曜日の夕方～」か「土曜日の午後一～」ぐらいから２時間ぐらい 　場所は「京都リサーチパーク（京都から１駅）」か「四条烏丸近辺の貸会議室」のどちらか 　参加者にはプレゼン資料とソースコード一式をプレゼント。 　興味のある方は、メールを下さい　→ 　まだ議題を練れていませんが、以下のような内容の説明を提供していけたらと思います。 ・CSSによるデザインの変更 ・非同期通信（Ajax）コードの書き方とデバッグ方法 ・事前に登録したタグ（文字列）から入力をサジェストするフォームの作り方 ・郵便番号から住所を自動検索するフォームページの作り方 ・MixiやはてなのIDが利用できる、ページ遷移を伴わないログインボックスの作り方 ・JavaScript Native Interface (JSNI)を利用したJavaScriptのインプリメント ・自作Widgetの作り方 ・既存のJ2EEサービスとの連動のさせ方]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/490.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Web Toolkit と AJAX</title>
		<link>http://blog.daisukeyamashita.com/post/398.html</link>
		<comments>http://blog.daisukeyamashita.com/post/398.html#comments</comments>
		<pubDate>Wed, 11 Jun 2008 23:53:34 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[GWT]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=398</guid>
		<description><![CDATA[　こちらは、アダム シュック（Adam Schuck）のセッション。 　GWTはJavaのコードで書いたウェブのロジックをAjaxのJavaScriptにコンパイルする仕組みだと考えてもらえれば良いです。 　GWTは、手でJavaScriptをコーディングするよりも速く動作します。GWTが速い理由をいくつか簡単に説明すると、GWTでは各ブラウザ向けにチューニングされたソースコード（HTMLやJavaScript）を生成し、IEでアクセスするとIE向けのソースを、FirefoxでアクセスするとFirefox向けのソースをブラウザに送り出すのでどのブラウザでアクセスしても常に、もっともパフォーマンスの良い仕組みで動作するようになっています。 　他にも、一般的にオーバーヘッドの大きい通信もコネクションマネージメントにより常に最適化されていたり、キャッシュが利きやすいようになっているようです。 　GWTはこれだけでも本当にすごいのですが、単なるクロスコンパイラにとどまらず、HOSTEDモードと呼ばれるJavaを直接実行できるモードが用意されており、簡単にデバッギングできるようになっており、デバッグには好きなIDEを利用できます。また、通常スクリプト言語では実行時まで発見する事ができない種の問題もコンパイラで発見することが可能になっています。 　自動生成される、JavaScriptもほとんど隠蔽されておりGWT利用者はその部分のデバッグをする必要がありません。 　他にもベンリな機能が盛り沢山です。遅いより速いほうがいいですし、速すぎてクレームが来たことはないです。みなさまAjaxの実装にはぜひGWTを利用しましょう♪]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/398.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

