<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4305706139798167593</id><updated>2024-09-14T17:49:45.731+09:00</updated><category term="UPQ Phone A01"/><category term="発売延期"/><title type='text'>一人で悔やむ</title><subtitle type='html'>皆さんといるときの慇懃無礼を一人っきりになって悔やんでいます。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-5744628352439928977</id><published>2015-08-17T18:31:00.001+09:00</published><updated>2015-08-17T21:04:57.040+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="UPQ Phone A01"/><category scheme="http://www.blogger.com/atom/ns#" term="発売延期"/><title type='text'>UPQ Phone A01の発売日が1ヶ月以上延期された件</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt3Xrz2gsPhwydQ8B6KBD9mB78DHqblKPG4DD5RYNV2bikgkXrpPHNsKxHV4DRGQwbr3_t9aoh5dXrgtY6KIGnSAkLGs-cCXcMH0LGfm-WvSSh5r73tinpDCabrJIBLXUY2wHt22V9xOL3/s1600/a1640_000396_m.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;265&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt3Xrz2gsPhwydQ8B6KBD9mB78DHqblKPG4DD5RYNV2bikgkXrpPHNsKxHV4DRGQwbr3_t9aoh5dXrgtY6KIGnSAkLGs-cCXcMH0LGfm-WvSSh5r73tinpDCabrJIBLXUY2wHt22V9xOL3/s400/a1640_000396_m.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: rgba(255, 255, 255, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: rgba(255, 255, 255, 0);&quot;&gt;UPQ Phone A01をご存知でしょうか？&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: rgba(255, 255, 255, 0);&quot;&gt;元カシオの方がデザインされた格安スマフォです。&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: rgba(255, 255, 255, 0);&quot;&gt;&lt;a href=&quot;http://www.itmedia.co.jp/mobile/spv/1508/10/news148.html&quot;&gt;国内最安：“アキバ発”のSIMフリースマホ「UPQ Phone」とは？　新感覚の関連アイテムも注目 (1/3) - ITmedia Mobile&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
私も期待して、予約をしていたのですが、本日、販売サイトから残念なお知らせをいただきました。&lt;br /&gt;
&lt;br /&gt;
以下、頂いたメールよりの引用です。&lt;br /&gt;
//引用(注文番号を改変)/////////////////////////&lt;br /&gt;
&lt;span style=&quot;background-color: rgba(255, 255, 255, 0);&quot;&gt;お世話になります。MyDMMサポートセンターです。&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: rgba(255, 255, 255, 0);&quot;&gt;ご注文いただいた商品ですが&lt;br /&gt;メーカーから発売日変更の連絡がありましたのでお知らせいたしま&lt;wbr&gt;&lt;/wbr&gt;す。============================&lt;wbr&gt;&lt;/wbr&gt;=======================&lt;br /&gt;注文番号：KC-XXXXXXXX&lt;br /&gt;&lt;br /&gt;商品名：UPQ Phone A01（WH）｜カラー:ホワイト&amp;nbsp; ×&amp;nbsp; 1個&lt;br /&gt;発売日：2015年8月28日 → 2015年9月30日&lt;br /&gt;==============================&lt;wbr&gt;&lt;/wbr&gt;=====================&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: rgba(255, 255, 255, 0);&quot;&gt;//引用終わり/////////////////////////&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: rgba(255, 255, 255, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: rgba(255, 255, 255, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: rgba(255, 255, 255, 0);&quot;&gt;あああああ！&lt;/span&gt;&lt;br /&gt;
発売が1ヶ月以上先になっちゃっいました！&lt;br /&gt;
&lt;br /&gt;
これが予想以上に予約があったためなのか、それとも製造に何かあったのかはわかりませんが、1ヶ月先となると、&lt;a href=&quot;http://matome.naver.jp/m/odai/2143186463950059601&quot;&gt;噂の新型Nexus&lt;/a&gt;の発表予想日とも近くなってしまうので悩ましいところです。&lt;br /&gt;
&lt;br /&gt;
予約された方の中で、もし、「延期のメールなんて来てないよ」や、「延期のメールが来たけど日付が違う！」などの方がいらっしゃいましたらコメントいただきたくお願いします。</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/5744628352439928977/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2015/08/upq-phone-a011.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/5744628352439928977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/5744628352439928977'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2015/08/upq-phone-a011.html' title='UPQ Phone A01の発売日が1ヶ月以上延期された件'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt3Xrz2gsPhwydQ8B6KBD9mB78DHqblKPG4DD5RYNV2bikgkXrpPHNsKxHV4DRGQwbr3_t9aoh5dXrgtY6KIGnSAkLGs-cCXcMH0LGfm-WvSSh5r73tinpDCabrJIBLXUY2wHt22V9xOL3/s72-c/a1640_000396_m.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-4953329724979448691</id><published>2014-03-22T10:41:00.002+09:00</published><updated>2014-03-22T10:41:32.143+09:00</updated><title type='text'>Nashorn(Java 8のJavaScriptエンジン)の実力</title><content type='html'>Java 8 になって、JREに含まれるJavaScriptエンジンがRhinoからNashornに変わりました。&lt;br /&gt;
&lt;div style=&quot;border: solid #333 1px; font-size: 10px; padding: 3px;&quot;&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;class&lt;/span&gt; Inspector {&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&amp;nbsp; &amp;nbsp; public&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;void&lt;/span&gt; main(String[] args) {&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt;&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;&lt;/span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;ScriptEngine engine = &lt;span class=&quot;s1&quot;&gt;new&lt;/span&gt; ScriptEngineManager().getEngineByExtension(&lt;span class=&quot;s2&quot;&gt;&quot;js&quot;&lt;/span&gt;);&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt;&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt;&lt;/span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;System.&lt;span class=&quot;s3&quot;&gt;out&lt;/span&gt;.println(&lt;span class=&quot;s2&quot;&gt;&quot;engine = &quot;&lt;/span&gt; + engine);&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot;&gt;&lt;/span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
}&lt;br /&gt;
&amp;gt;engine = jdk.nashorn.api.scripting.NashornScriptEngine@548ad73b&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
速くなったのかなー。ということで、RhinoとNashhornの実行速度を比較してみます。&lt;br /&gt;
コードはこんなシンプルなものです。&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;border: solid #333 1px; font-size: 10px; padding: 3px;&quot;&gt;
public class Inspector {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public static void main(String[] args) throws ScriptException {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ScriptEngine engine = new ScriptEngineManager().getEngineByExtension(&quot;js&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&quot;engine = &quot; + engine);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; long startTime = System.currentTimeMillis();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; engine.eval(&quot;var count = 0;for(var i=0;i&amp;lt;100000;i++){count += i}&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&quot;finish &quot;+(System.currentTimeMillis() - startTime));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;/div&gt;
&lt;br /&gt;
Rhinoで実行すると、&lt;br /&gt;
&lt;div style=&quot;border: solid #333 1px; font-size: 10px; padding: 3px;&quot;&gt;
engine = com.sun.script.javascript.RhinoScriptEngine@4fb3c3d9&lt;br /&gt;
finish 367&lt;/div&gt;
&lt;br /&gt;
Nashoneで実行すると、&lt;br /&gt;
&lt;div style=&quot;border: solid #333 1px; font-size: 10px; padding: 3px;&quot;&gt;
engine = jdk.nashorn.api.scripting.NashornScriptEngine@548ad73b&lt;br /&gt;
finish 117&lt;/div&gt;
&lt;br /&gt;
Nashoneはやーい。&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/4953329724979448691/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2014/03/nashornjava-8javascript.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/4953329724979448691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/4953329724979448691'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2014/03/nashornjava-8javascript.html' title='Nashorn(Java 8のJavaScriptエンジン)の実力'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-5251239355160660891</id><published>2014-03-08T09:14:00.004+09:00</published><updated>2014-03-08T09:14:55.194+09:00</updated><title type='text'>EclipseにWildFlyを設定する。</title><content type='html'>WildFlyってご存じですか？Java EE準拠のアプリケーションサーバです。GlassFishが&lt;a href=&quot;http://www.publickey1.jp/blog/13/glassfishweblogic.html&quot;&gt;こんな&lt;/a&gt;状況なので、移行先としていいかも。&lt;br /&gt;
&lt;br /&gt;
本記事ではEclipse Kepler に WildFly 8.0を設定する方法を記載します。&lt;br /&gt;
&lt;br /&gt;
EclipseはJ2EEが入ったものを用意します。WildFly 8.0は&lt;a href=&quot;http://wildfly.org/downloads/&quot;&gt;こちら&lt;/a&gt;からダウンロードして解凍しておきます。&lt;br /&gt;
&lt;br /&gt;
「環境設定」 → 「Server」 → 「Runtime」 で「Add」を選択します。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivxmN-NwP5Rla-dwLf1NAO3m22pRu0GxpNj4jgIhVtno6ApH1AOsJg3WFEuPr3oLeMgl4MQ-4RMQ-WXU2YCl9qlP1I-VC-RWti3jgDR4Cq8C8R-vYkCKfvrC7WM_g2iDz3H42LjVRhWqo6/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-03-08+8.49.23.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivxmN-NwP5Rla-dwLf1NAO3m22pRu0GxpNj4jgIhVtno6ApH1AOsJg3WFEuPr3oLeMgl4MQ-4RMQ-WXU2YCl9qlP1I-VC-RWti3jgDR4Cq8C8R-vYkCKfvrC7WM_g2iDz3H42LjVRhWqo6/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-03-08+8.49.23.png&quot; height=&quot;277&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
「Download additional server adaptors」を選択します。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSlPKgLc-117MAWgS4bR_7PyzBTVrEcBL7TY75ATWqBjSWW1tnIEUDqraBbPquuM6bAlAQEYDWUMqttGYB5kJbrBYcXOj_dUqm2Jb-zuY06w64cMZu0IhhLx48YH_ojsISx2Ckz-bqgBVb/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-03-08+9.02.31.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSlPKgLc-117MAWgS4bR_7PyzBTVrEcBL7TY75ATWqBjSWW1tnIEUDqraBbPquuM6bAlAQEYDWUMqttGYB5kJbrBYcXOj_dUqm2Jb-zuY06w64cMZu0IhhLx48YH_ojsISx2Ckz-bqgBVb/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-03-08+9.02.31.png&quot; height=&quot;320&quot; width=&quot;313&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
「JBossAS Tools」を選択し「Finish」を押します。表示されるまで少し時間がかかります。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMYfdybeWdg2quSqyfcR6I6ZgDd4rprs3AE-49pGAuVtaYhG3UG-fQ2I60ZZMxGjHaOblnbFjVmfPi5SUVbmFG3EsUf9KjXmdf9947YamDUWNgSYlMaQKQEFVNUgKnyCRGyYJxhV5SdExY/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-03-08+8.42.31.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMYfdybeWdg2quSqyfcR6I6ZgDd4rprs3AE-49pGAuVtaYhG3UG-fQ2I60ZZMxGjHaOblnbFjVmfPi5SUVbmFG3EsUf9KjXmdf9947YamDUWNgSYlMaQKQEFVNUgKnyCRGyYJxhV5SdExY/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-03-08+8.42.31.png&quot; height=&quot;320&quot; width=&quot;274&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
再起動後、もう一度、「環境設定」 → 「Server」 → 「Runtime」を選択すると、「JBoss Community」&amp;gt; 「WildFly 8.0 Runtime (Experimental)」を選択します。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJE7GO5UpD2Fg2XOFILdxHUXF6KKT8cBOYJL4eTbD_c4zciY4DGos8bbkN41bguZqxqWFUJtgc4Urpli9AJwASw4Tj4Yfw7OOV3vJsItTHHrk1htsy9bRzg8-t1hCeyemTvmYVPgNypmzT/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-03-08+8.49.55.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJE7GO5UpD2Fg2XOFILdxHUXF6KKT8cBOYJL4eTbD_c4zciY4DGos8bbkN41bguZqxqWFUJtgc4Urpli9AJwASw4Tj4Yfw7OOV3vJsItTHHrk1htsy9bRzg8-t1hCeyemTvmYVPgNypmzT/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-03-08+8.49.55.png&quot; height=&quot;320&quot; width=&quot;314&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
あとは、解凍したWildFlyを設定するのみで、EclipseとWidlFlyの設定完了です。Webアプリケーションを右クリック→Run As → Run on Serverなどで使えるようになります。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8e3rJPBKDwQ6a5IP3WYf0VBtXS3ulmRmLrvjGdUgoo4YqVzvqy_2lHKPIEq96WNQR8wkQrgIP7wReMkHk7Mq_6axVNVP0oZr0ITSEQvgyJSaVBRCVdtk21jPRNTPwo0GFdR07WXWBGiye/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-03-08+8.50.39.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8e3rJPBKDwQ6a5IP3WYf0VBtXS3ulmRmLrvjGdUgoo4YqVzvqy_2lHKPIEq96WNQR8wkQrgIP7wReMkHk7Mq_6axVNVP0oZr0ITSEQvgyJSaVBRCVdtk21jPRNTPwo0GFdR07WXWBGiye/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-03-08+8.50.39.png&quot; height=&quot;320&quot; width=&quot;313&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
起動も早くていい感じ。Java EE 7をお探しの方はぜひお試しあれ。</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/5251239355160660891/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2014/03/eclipsewildfly.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/5251239355160660891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/5251239355160660891'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2014/03/eclipsewildfly.html' title='EclipseにWildFlyを設定する。'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivxmN-NwP5Rla-dwLf1NAO3m22pRu0GxpNj4jgIhVtno6ApH1AOsJg3WFEuPr3oLeMgl4MQ-4RMQ-WXU2YCl9qlP1I-VC-RWti3jgDR4Cq8C8R-vYkCKfvrC7WM_g2iDz3H42LjVRhWqo6/s72-c/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-03-08+8.49.23.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-8761432243138880474</id><published>2013-07-22T21:04:00.002+09:00</published><updated>2013-07-22T21:04:20.434+09:00</updated><title type='text'>Google App Engine for Java(GAE4J) で、datanucleusのエラーが出た時の対策</title><content type='html'>Google App Engine for Javaでデータベース系、datanucleusのエラーが出た時は、SDKをアップデートし、Eclipseで新しいSDKを設定し直すと、治るかもしれません。&lt;br /&gt;
私は、「org.datanucleus.store.types.TypeManager loadJavaTypes: User-defined type mapping class &quot;org.datanucleus.store.types.sco.simple.List&quot; was not found.」というエラーが出た時にこれで治りました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SDKのアップデートは２つ、プラグインのアップデートと、SDKのアップデートをします。&lt;br /&gt;
プラグインのアップデートはEclipseのHelp→Check for Updatesからできます。&lt;br /&gt;
SDKのアップデートは環境設定（WindowsやLinuxだと、window→preferenceだったかな？）→Google →App Engineでダウンロードボタンを押すと、ブラウザが立ち上がってダウンロードサイトが開きますので、そこからダウンロードして設定を行います。&lt;br /&gt;
&lt;br /&gt;
あとはプロジェクトをリビルドすると、datanucleus系のjarファイルがアップデートされ、エラーが解消されるかもしれません。&lt;br /&gt;
&lt;br /&gt;
お試しあれ。</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/8761432243138880474/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2013/07/google-app-engine-for-javagae4j.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/8761432243138880474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/8761432243138880474'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2013/07/google-app-engine-for-javagae4j.html' title='Google App Engine for Java(GAE4J) で、datanucleusのエラーが出た時の対策'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-866685300406962676</id><published>2013-06-13T19:46:00.005+09:00</published><updated>2013-06-13T22:48:43.219+09:00</updated><title type='text'>EclipseでAndroidのログが出力されなくなった時の対応。</title><content type='html'>Eclipseでは、LogCatで、Androidの実機のログを見ることができます。&lt;br /&gt;
そのログが出なくなったときは、DDMSパースペクティブを開いて、Deviceビューからログを見たい端末を選択すると、ログが出ることがあります。&lt;br /&gt;
&lt;br /&gt;
お試しあれ。</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/866685300406962676/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2013/06/eclipseandroid.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/866685300406962676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/866685300406962676'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2013/06/eclipseandroid.html' title='EclipseでAndroidのログが出力されなくなった時の対応。'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-407869248502912694</id><published>2013-06-01T22:43:00.002+09:00</published><updated>2013-06-01T22:43:21.220+09:00</updated><title type='text'>Apache OpenMeetingsでビデオ会議をしてみませんか？</title><content type='html'>







&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
ビデオ会議とは、簡単に説明するとみんなでテレビ電話することです。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
離れた場所にいる、複数の相手の顔を画面上で見ながら、お話すること。&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
Apache OpenMeetingsを使うと、無料でビデオ会議環境がつくれます。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
画面共有もできるので、「見たいプレゼンがあるんだけれど、離れた場所でやるからなー。」&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
という時にも、プレゼンする人に画面共有をお願いすれば、プレゼンを聞くことができます。&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
Apache OpenMeetingsはセットアップも簡単！&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
ビデオ会議、試してみませんか？&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
□サーバーセットアップ&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
2つのソフトウェアをインストールするだけです。Javaをインストールして、Apache OpenMeetings(zip)を解凍して、設定するだけです。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
記録機能を使うためには他にもいろいろと必要ですが、&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
テレビ会議をするだけなら、すぐにセットアップできます。&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
サーバはWindowsでも、Linuxでも、Macでも大丈夫です。Java最高。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
ちょっと試してみたい場合にはWindows、みんなで使うときにはLinuxを使うと良いと思います。&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
では、セットアップ手順。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
1. Javaのダウンロードとインストール&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
2. Apache OpenMeetingsのダウンロードとインストール&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
3.&amp;nbsp;Apache OpenMeetingsの設定と起動&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
1. Javaのダウンロードとインストール&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;a href=&quot;http://java.com/ja/download/&quot;&gt;http://java.com/ja/download/&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;nbsp;からJavaをダウンロードします。&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
exeファイルがダウンロードされるので、ダブルクリックで実行してください。&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
2. Apache OpenMeetingsのダウンロードとインストール&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;a href=&quot;http://incubator.apache.org/openmeetings/downloads.html&quot;&gt;http://incubator.apache.org/openmeetings/downloads.html&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;nbsp;から&amp;nbsp;Apache OpenMeetingsをダウンロードします。&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
zipファイルがダウンロードされるので、右クリックで解凍してください。&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
3.&amp;nbsp;Apache OpenMeetingsの設定と起動&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&amp;nbsp;Apache OpenMeetingsを解凍したフォルダにできる、binフォルダに移動します。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
以下のコマンドをコマンドプロンプトにコピー＆ペーストします。（下の行を選択して、右クリック→コピーした後に、コマンドプロンプトで右クリック。）&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
./admin.sh -i -email&amp;nbsp;admin@example.com&amp;nbsp;-group mygroup -tz &quot;Asia/Tokyo&quot; -user myadmin --password mypassword&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
↑のコマンドでは初期ユーザを作っています。メールアドレスがadmin@example.com, 会議室を共有するグループがmygroup、時間が東京時間、ログインIDがmyadmin、passwordがmypasswordのユーザを作っています。&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
最後に起動。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
red5.sh&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
これだけ。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
あとは、ブラウザで http://{hostname}:5080　にアクセスしてみてください。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
ブラウザにFlash Playerが入っていれば、openmeetingsを使用することができます。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
ブラウザはChromeで使用すると、音が割れる（というか、ぶつぶつになるというか。。。）ことがあるのでFirefoxやSafari等をおすすめします。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
停止は&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;a href=&quot;http://red5-shutdown.sh/&quot;&gt;red5-shutdown.sh&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
でできます。&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
テレビ会議、お楽しみあれ。&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/407869248502912694/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2013/06/apache-openmeetings.html#comment-form' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/407869248502912694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/407869248502912694'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2013/06/apache-openmeetings.html' title='Apache OpenMeetingsでビデオ会議をしてみませんか？'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-6682755724132865033</id><published>2013-03-16T14:08:00.000+09:00</published><updated>2013-03-16T14:08:21.029+09:00</updated><title type='text'>HomeBrewで環境を汚さずにRuby2.0をインストール</title><content type='html'>HomeBrewとは、Rubyで書かれたMac用パッケージ管理ツールです。&lt;br /&gt;
一番簡単なHomeBrewのイントールは、ターミナルから&lt;br /&gt;
&lt;span style=&quot;background-color: black;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;ruby -e &quot;$(curl -fsSL https://&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: black; color: white;&quot;&gt;raw.github.com/mxcl/homebrew/go)&quot;&lt;/span&gt;&lt;br /&gt;
でインストール出来ますが、/usr/local/binなどにいろいろインストールされます。&lt;br /&gt;
私は知らないファイルを知らない場所にいろいろインストールされるのには耐えられないので、場所指定でインストールします。&lt;br /&gt;
今回は/Applications/homebrewを作って、その中にインストールします。&lt;br /&gt;
事前にCommand Line Tools for Xcode か Xcodeをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
ではインストールをはじめます。&lt;br /&gt;
&lt;div style=&quot;background-color: black; color: white;&quot;&gt;
cd&amp;nbsp;/Applications&lt;br /&gt;
mkdir homebrew &amp;amp;&amp;amp; curl -L https://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C homebrew&lt;/div&gt;
認証Proxyを超える場合は、上記コマンド前に、&lt;br /&gt;
export http_proxy=http://{USER}:{PASS}@{PROXY}:{PORT}&lt;br /&gt;
export ALL_PROXY=$http_proxy&lt;br /&gt;
を設定しておきます。&lt;br /&gt;
&lt;br /&gt;
これでhomebrewがインストールされるので、.bash_profileでPATHを設定しておきます。&lt;br /&gt;
&lt;div style=&quot;background-color: black; color: white;&quot;&gt;
echo &quot;export PATH=/Applications/homebrew/bin:\$PATH&quot; &amp;gt;&amp;gt;&amp;nbsp;~/.bash_profile&lt;br /&gt;
source ~/.bash_profile&lt;/div&gt;
&lt;br /&gt;
brew のインストールは以上で終わりです。&lt;br /&gt;
あとはRubyのインストールを行います。&lt;br /&gt;
&lt;div style=&quot;background-color: black; color: white;&quot;&gt;
ruby install ruby&lt;/div&gt;
&lt;br /&gt;
これでRubyが/Applications/homebrew/binにインストールされます。&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/6682755724132865033/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2013/03/homebrewruby20.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/6682755724132865033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/6682755724132865033'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2013/03/homebrewruby20.html' title='HomeBrewで環境を汚さずにRuby2.0をインストール'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-7283770392016395227</id><published>2013-02-16T23:24:00.002+09:00</published><updated>2013-02-16T23:27:02.814+09:00</updated><title type='text'>Herokuにwarをデプロイ（With Eclipse）</title><content type='html'>Herokuって知ってますか？良い感じのPaaSです。Tomcatがセットアップされていて、作ったWebアプリケーションを動かすことができます。すでに有名なサービスなのですが、日本語でJavaのWebアプリをデプロイする方法を説明しているサイトが無かったので、ここで公開。&lt;br /&gt;
&lt;br /&gt;
HerokuにJavaのWebアプリを載せる方法は、コマンドライン、Eclipseとあるのですが、ここでは一番簡単だとおもうEclipseの手順を載せます。&lt;br /&gt;
&lt;br /&gt;
事前準備&lt;br /&gt;
Eclipse3.7以上を用意します。&lt;br /&gt;
Herokuでアカウントを作っておきます。&lt;br /&gt;
&lt;br /&gt;
■ Eclipseのセットアップ&lt;br /&gt;
1. EclipseにHeroku用プラグインをインストールします。&lt;br /&gt;
ツールバーのHelp &amp;gt; Install new Software →Work with に　https://eclipse-plugin.herokuapp.com/install　を入れて、Enterキーを押します。&lt;br /&gt;
&lt;br /&gt;
Heroku Eclipse Integrationが表示されるので、チェックを入れてNext&amp;gt;ボタンを押します。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbSf9Qkq23mEQAIEm_9NhFueNlUUsGAqegzcD1Mv3R_RDpOxMPBc6A5hjIAPoIVhH0u2B7yQ8gmpknlfu5Pcad15QIpW3l2oJgxPN1eMHG_wN-oDbzMv1Ok-jF3gDAdeM4NrQd93bCs2hw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+22.07.12.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;254&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbSf9Qkq23mEQAIEm_9NhFueNlUUsGAqegzcD1Mv3R_RDpOxMPBc6A5hjIAPoIVhH0u2B7yQ8gmpknlfu5Pcad15QIpW3l2oJgxPN1eMHG_wN-oDbzMv1Ok-jF3gDAdeM4NrQd93bCs2hw/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+22.07.12.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
あとは道なりでプラグインがインストールされます。&lt;br /&gt;
&lt;br /&gt;
2. プラグインの設定&lt;br /&gt;
プラグインのインストールが終了したら、ツールバーのPreference(Eclipseなら、Eclipse→環境設定)→HerokuでHerokuのアカウント情報を入力して、Loginボタンを押します。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzysIesmqbLcOLn1CZrM-MM6-ft89WAFdpei0OEL5saeoTN9qTmCAu0j5m7nwE1R5bdbByhvOSqI6GX_Z5DofOjhsvOLHNILs_0JBjmUjqKlkwfPH8fM6Po-E2XIg7QD-WWLQmilvkzCcs/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+22.12.57.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzysIesmqbLcOLn1CZrM-MM6-ft89WAFdpei0OEL5saeoTN9qTmCAu0j5m7nwE1R5bdbByhvOSqI6GX_Z5DofOjhsvOLHNILs_0JBjmUjqKlkwfPH8fM6Po-E2XIg7QD-WWLQmilvkzCcs/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+22.12.57.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
すると、API Keyに値が入ります。&lt;br /&gt;
続いて、General → Network Connections → SSH2で、Key ManagementからGenerate RSA Keyを押します。鍵が表示されるので、Save Private Keyを押します。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikKMcWow1TZxvJHHOneahZDRGrFIvT8bPjJ37WIVGTWT1xF8wpBQDT4Qh7mzlstjziF7nUnIwHjyu7EA0Qrc9cW4SmJXUWBJG8QX9oznzG1oIMhf6Ce4m1AuoeMJHvLuvbQXRmifPf4qGz/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+22.19.16.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikKMcWow1TZxvJHHOneahZDRGrFIvT8bPjJ37WIVGTWT1xF8wpBQDT4Qh7mzlstjziF7nUnIwHjyu7EA0Qrc9cW4SmJXUWBJG8QX9oznzG1oIMhf6Ce4m1AuoeMJHvLuvbQXRmifPf4qGz/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+22.19.16.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
再びHerokuの設定画面に戻って、Load SSH keyボタンを押して、生成した.pubファイルを指定します。&lt;br /&gt;
OKボタンを押して、設定完了です。&lt;br /&gt;
&lt;br /&gt;
■WARのデプロイ&lt;br /&gt;
1. Heroku Viewの表示&lt;br /&gt;
Window → Show View → OtherからHeroku→My Heroku Applicationsを選択します。My Heroku Application Viewが表示されます。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_y7VQurN-KDsURpCATxtsDBvdGrOk11uXbao7JFsJ3sYV8S0yIr3vYThhLxjpN-3UEva1NAIKigSndXUEZnjUchjLwiZmNlEIu3YIMvKHp55Hijxe6SZfxmaowW9PZWFokUNOLnsY7A-2/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+22.36.38.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;310&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_y7VQurN-KDsURpCATxtsDBvdGrOk11uXbao7JFsJ3sYV8S0yIr3vYThhLxjpN-3UEva1NAIKigSndXUEZnjUchjLwiZmNlEIu3YIMvKHp55Hijxe6SZfxmaowW9PZWFokUNOLnsY7A-2/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+22.36.38.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Herokuを使うのが初めてでしたら、ビューのテーブルには何も常時されません。&lt;br /&gt;
&lt;br /&gt;
2. アプリケーションの作成&lt;br /&gt;
デプロイするアプリケーションをHerokuに作成します。ローカルにもWebアプリが作られますが、作られたWebアプリを使う必要はありません。手元にwarがあれば、それを使うことができます。&lt;br /&gt;
ツールバーのFile → Other から Heroku → Create Heroku App From Templateを選択します。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC1w_FlGRhucA96mHmntljcrhyiwrnSfdOjGAyoifdRhwOdV5hSbQCzYkolqARPIJXZn9yGkYylesuq-EhLmsnl_H34zF0acL0ngQmEdJe3FZgAfWVdrQaMHGr2wQWDxYt8F36sooLoGvM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+22.50.22.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhC1w_FlGRhucA96mHmntljcrhyiwrnSfdOjGAyoifdRhwOdV5hSbQCzYkolqARPIJXZn9yGkYylesuq-EhLmsnl_H34zF0acL0ngQmEdJe3FZgAfWVdrQaMHGr2wQWDxYt8F36sooLoGvM/s320/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+22.50.22.png&quot; width=&quot;281&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Application Nameに任意の名前（世界でユニークにする必要があります。）を選んで、左下の欄でどれか（なんでもいいです。）を選んで、Finishボタンを押します。&lt;br /&gt;
My Heroku Application Viewにアプリケーションが表示されるので、右クリック→Deployで、お好きなwarファイルを指定すれば、デプロイ完了です。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX5cMz8DZ2OchEUcs3P_3xCqb4ShNZNiKMmk6RFruduRq0U_8JenjzalkDYwLQB9bV1qaZxkkcyX_p6bws1PiWekUjyJB-lmahBtwN8h0OI6Fr5PQu2LCsD6rNaXK6JHl3aR23V1bpDQ6Z/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+23.06.47.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;123&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX5cMz8DZ2OchEUcs3P_3xCqb4ShNZNiKMmk6RFruduRq0U_8JenjzalkDYwLQB9bV1qaZxkkcyX_p6bws1PiWekUjyJB-lmahBtwN8h0OI6Fr5PQu2LCsD6rNaXK6JHl3aR23V1bpDQ6Z/s400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+23.06.47.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
http://{Application Name}.heroku.com にアクセスすると、アプリケーションを確認することができます。</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/7283770392016395227/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2013/02/herokuwarwith-eclipse.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/7283770392016395227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/7283770392016395227'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2013/02/herokuwarwith-eclipse.html' title='Herokuにwarをデプロイ（With Eclipse）'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbSf9Qkq23mEQAIEm_9NhFueNlUUsGAqegzcD1Mv3R_RDpOxMPBc6A5hjIAPoIVhH0u2B7yQ8gmpknlfu5Pcad15QIpW3l2oJgxPN1eMHG_wN-oDbzMv1Ok-jF3gDAdeM4NrQd93bCs2hw/s72-c/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2013-02-16+22.07.12.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-5941249216265795810</id><published>2013-01-31T22:20:00.001+09:00</published><updated>2013-01-31T22:20:46.077+09:00</updated><title type='text'>TwitterのoAuthで&quot;Read, Write and Access direct messages&quot;してもDMが使えない場合の対応</title><content type='html'>Twitterに連携するアプリからDMを使いたい場合は、https://dev.twitter.com でアプリを作って、&quot;Read, Write and Access direct messages&quot;を設定します。&lt;br /&gt;
しかしながら、時にその設定をしたとしても、ユーザが「ダイレクトメッセージを見る。」を許可されない場合があります。&lt;br /&gt;
その時は、oAuthの、twitterのログインページのURLを確認してみてください。&lt;br /&gt;
oAuthのログインURLは２パターンあって、&lt;br /&gt;
https://api.twitter.com/oauth/authorize&lt;br /&gt;
と、&lt;br /&gt;
https://api.twitter.com/oauth/authenticate&lt;br /&gt;
があります。&lt;br /&gt;
前者ならばDMは使えますが、後者は使えません。&lt;br /&gt;
Twitter4jを使っている場合は、前者はgetOAuthRequestToken().getAuthorizationURL()で、後者が、getOAuthRequestToken().getAuthenticationURL()で取得出来ます。前者じゃないと、DMは使えません。&lt;br /&gt;
&lt;br /&gt;
困った場合は、是非お試しあれ。</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/5941249216265795810/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2013/01/twitteroauthread-write-and-access.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/5941249216265795810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/5941249216265795810'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2013/01/twitteroauthread-write-and-access.html' title='TwitterのoAuthで&quot;Read, Write and Access direct messages&quot;してもDMが使えない場合の対応'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-8599539145957298869</id><published>2012-09-07T21:39:00.000+09:00</published><updated>2012-09-07T21:39:17.048+09:00</updated><title type='text'>Amazon Glacierで、Vault中のArchive一欄を取得する方法、または、ArchiveIDを紛失したり忘れた時の対応 </title><content type='html'>Amazon Glacierって御存知ですか？&lt;br /&gt;
Amazon Web Servicesの一ストレージサービスで、1Gを1ヶ月１円で使えるのです！&lt;br /&gt;
データのバックアップ用途に使えるストレージです。&lt;br /&gt;
&lt;br /&gt;
Amazon Glacierでは保存する場所のことをVaultといい、&lt;br /&gt;
保存するファイルのことをArchiveと言います。&lt;br /&gt;
Archiveにはアップロード時にユニークなID=ArchiveIdが振られます。&lt;br /&gt;
Archiveを取り出したり、削除したりするときにはArchiveIdが必要になります。&lt;br /&gt;
&lt;br /&gt;
Archiveは、基本的には利用者側で控えて置かなければなりません。&lt;br /&gt;
&lt;br /&gt;
で、ここで今日のお題です。&lt;br /&gt;
Glacierに保存したArchiveのIDを忘れてしまったり、紛失したりした時にどうするか、です。&lt;br /&gt;
&lt;br /&gt;
実は私も、Glacierの試用中にArchiveIDを忘れてしまい、アップロードしたファイルを消せなくなってしまいました。&lt;br /&gt;
激安とはいえ、不要なファイルのためにお金を取られ続けるのは悲しいですよね。&lt;br /&gt;
&lt;br /&gt;
上記の様に、Archiveは基本的には利用者側で控えておくべきものですが、&lt;br /&gt;
Amazonにも保存されています。&lt;br /&gt;
&lt;br /&gt;
それを取り出す方法は、↓のURLに記載されている、AmazonGlacierDownloadInventoryWithSQSPollingを実行することです。&lt;br /&gt;
http://docs.amazonwebservices.com/amazonglacier/latest/dev/retrieving-vault-inventory-java.html&lt;br /&gt;
実行すると、JSONフォーマットのファイルがローカルに出力され、その中にアップロードしたArchiveのIdが記載されています。ただ、結果を得る（JSONファイルがローカルに出力される）ために４時間ぐらい待つ必要があります。。。&lt;br /&gt;
ArchiveIdはしっかりと控えておくほうが無難ですね。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
バックアップって、テープに取ろうにも、オートローダやテープ媒体は結構高いし、&lt;br /&gt;
ハードディスクはちょっと不安だし、ブルーレイも容量少ないし。。。で、コレまでは悩みが多いものでした。&lt;br /&gt;
Amazon Glacierはそのソリューションになり得ると思います。&lt;br /&gt;
&lt;br /&gt;
Amazon Glacierは中小企業やWebサービス運営のバックアップにとても有用です。&lt;br /&gt;
しかしながら、ちょっとクセがあります。&lt;br /&gt;
何かお困りごとがあれば、コメントいただければお力になります。&lt;br /&gt;
（宣伝みたいになっちゃったけれど、私はAmazonとは何の関係もありません。。。）</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/8599539145957298869/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2012/09/amazon-glaciervaultarchivearchiveid.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/8599539145957298869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/8599539145957298869'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2012/09/amazon-glaciervaultarchivearchiveid.html' title='Amazon Glacierで、Vault中のArchive一欄を取得する方法、または、ArchiveIDを紛失したり忘れた時の対応 '/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-9068839507134219336</id><published>2012-09-01T13:00:00.001+09:00</published><updated>2012-09-01T13:00:13.873+09:00</updated><title type='text'>関数型言語っぽい言語</title><content type='html'>突然ですが、問題です。&lt;br /&gt;
↓は、ある言語の一部です。&lt;br /&gt;
さて、何言語でしょう？&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;{
 var myFunction = new function() {
  var execute()
  {
   i = 1;
   j = 2;
   console.log(i + j);
   return null;
  }
 };
 setTimeout(myFunction, 1000);
}
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
JavaScriptと答えてくれたあなたを僕は大好きです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
で、答えはJavaでした。無理やりJavaScriptっぽく書いています。&lt;br /&gt;
全文は以下です。ちゃんと１秒後に「３」って表示されます！&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;public class FakeJavaScriptTimeout {
 class var {
  var execute(){return new var();}
 }

 class function extends var {
  public int i, j;
 }

 static class console {
  static void log(Object o) {
   System.out.println(o);
  }
 }

 public void setTimeout(final var function, final int time) {
  new Thread(){
   public void run() {
    try {
     Thread.sleep(time);
    } catch (InterruptedException e) {}
    function.execute();
   };
  }.start();
 }

 {
  var myFunction = new function() {
   var execute()
   {
    i = 1;
    j = 2;
    console.log(i + j);
    return null;
   }
  };
  setTimeout(myFunction, 1000);
 }
 
 public static void main(String[] args) {
  new FakeJavaScriptTimeout();
 }
}
&lt;/pre&gt;&lt;br /&gt;
「だから何」って。。。別になんでもなんですが。。。。</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/9068839507134219336/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2012/09/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/9068839507134219336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/9068839507134219336'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2012/09/blog-post.html' title='関数型言語っぽい言語'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-2073637858239257487</id><published>2012-09-01T00:23:00.000+09:00</published><updated>2012-09-01T00:23:33.120+09:00</updated><title type='text'>自己署名証明書（別名:オレオレ証明書。もしくは適当証明書）でHttpsUrlConnectionを使ってSSL通信する方法。</title><content type='html'>Javaでは、&lt;br /&gt;
new URL(ENDPOINT).openConnection()で、ENDPOINTに「https://」プロトコルを指定すると、サーバとSSL通信ができます。&lt;br /&gt;
SSL通信するためには、サーバ証明書が必要なんですが、買おうとするととても高い。（無料でSSL証明書がつくれるサービスもありますが、ちょっと手間。）&lt;br /&gt;
なので、開発時においては、keytoolなどを利用して自分で証明書を作成したり、サーバデフォルトのSSL証明書を使ったりします。&lt;br /&gt;
その際、証明書が正式なものでないため、証明書認証でExceptionが発生しちゃいます。以下のようなException。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span class=&quot;s1&quot;&gt;sun.security.validator.ValidatorException&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;: PKIX path building failed: &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;sun.security.provider.certpath.SunCertPathBuilderException&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;: unable to find valid certification path to requested target&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
とか、&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;java.io.IOException: HTTPS hostname wrong:  should be &lt;/span&gt;&lt;xxxxxxxx&gt;&lt;br /&gt;
&lt;br /&gt;
本投稿ではそれの対処方法をご紹介します。&lt;/xxxxxxxx&gt;&lt;br /&gt;
&lt;xxxxxxxx&gt;&lt;br /&gt;
証明書で無視する項目は以下の2つです。&lt;br /&gt;
１．証明書が信用できるかをチェックしないようにする。&lt;br /&gt;
２．証明書とサーバのホスト名がマッチしているかチェックしないようにする。&lt;br /&gt;
&lt;br /&gt;
では、以下、実装方法です。&lt;/xxxxxxxx&gt;&lt;br /&gt;
&lt;xxxxxxxx&gt;１．HttpsURLConnection.setSSLSocketFactoryに、証明書を確認しないようにした&lt;/xxxxxxxx&gt;&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;SSLSocketFactoryを渡します。&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;２．HttpsURLConnection.setHostnameVerifierにサーバをチェックしないようなX509TrustManagerを渡します。&lt;/div&gt;例えば、以下のようなソースです。&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt; public static String doGET() throws Exception {
  HttpsURLConnection connection = (HttpsURLConnection) new URL(&quot;https://google.com&quot;).openConnection();
  connection.setSSLSocketFactory(createNoCheckSSLFactory());
  connection.setHostnameVerifier(new NoCheckHostnameVerifier());
  int responseCode = connection.getResponseCode();
  if (200 != responseCode) {
   String errorMessage = streamToString(connection.getErrorStream());
   throw new IOException(&quot;status = &quot; + responseCode + &quot;, message = &quot; + errorMessage);
  }
  return streamToString(connection.getInputStream());
 }
 
 private static SSLSocketFactory createNoCheckSSLFactory() throws Exception {
  TrustManager[] trustAllCerts = new TrustManager[] { new NoCheckX509TrustManager() };
  SSLContext sc = SSLContext.getInstance(&quot;SSL&quot;);
  sc.init(null, trustAllCerts, new java.security.SecureRandom());
  return sc.getSocketFactory();
 }

 private static class NoCheckX509TrustManager implements X509TrustManager {
  public java.security.cert.X509Certificate[] getAcceptedIssuers() {
   return null;
  }

  public void checkClientTrusted(X509Certificate[] certs, String authType) {}

  public void checkServerTrusted(X509Certificate[] certs, String authType) {}
 }

 private static class NoCheckHostnameVerifier implements HostnameVerifier {
  public boolean verify(String hostname, SSLSession session) {
   return true;
  }
 }
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/2073637858239257487/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2012/09/httpsurlconnectionssl.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/2073637858239257487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/2073637858239257487'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2012/09/httpsurlconnectionssl.html' title='自己署名証明書（別名:オレオレ証明書。もしくは適当証明書）でHttpsUrlConnectionを使ってSSL通信する方法。'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-7933020760780715748</id><published>2012-08-29T22:03:00.002+09:00</published><updated>2012-08-29T22:03:31.268+09:00</updated><title type='text'>GCM(Google Cloud Messaging for Android) のサーバサイド（Java）</title><content type='html'>GCM、Google Cloud Messaging for Androidをご存知でしょうか？&lt;br /&gt;
Androidをサーバから呼び出す処理です。&lt;br /&gt;
以前はC2DMという仕組みを使ったのですが、C2DMはすでに無効になっていますので、サーバからAndroidを呼び出したい時はC2DMを使います。&lt;br /&gt;
&lt;br /&gt;
GCMの使い方は、&lt;br /&gt;
１．&lt;a href=&quot;https://code.google.com/apis/console&quot;&gt;Google APIs&lt;/a&gt;でコードの取得&lt;br /&gt;
２．Androidアプリの作成&lt;br /&gt;
３．サーバサイドアプリの作成&lt;br /&gt;
です。&lt;br /&gt;
１．２．はGoogleで&lt;a href=&quot;https://www.google.co.jp/search?q=Google%20Cloud%20Messaging%20for%20Android&quot;&gt;「Google Cloud Messaging for Android」で検索する&lt;/a&gt;とたくさん出てきます。&lt;br /&gt;
しかしながら、３．サーバサイドのJava実装は見当たらなかったので、ここに乗せておきます。&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;package com.blogspot.ukiuni;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

public class GCMPush {
 private static final String GCM_ENDPOINT_URL = &quot;https://android.googleapis.com/gcm/send&quot;;
 private static final String API_KEY = &quot;{API-KEY(Google APIsのコンソールで得られる文字列)}&quot;;
 private static final String CHARSET = &quot;UTF-8&quot;;
 private static final int BUFFER_SIZE = 1024;

 public static void main(String[] args) throws IOException {
  String registationId = &quot;{REGISTATION_ID(Androidでregistした際に得られる、スゴク長い文字列)}&quot;;
  String message = &quot;Androidへの送信メッセージ&quot;;
  GCMPush.push(registationId, message);
 }
 public static String push(String registationId, String message) throws IOException {
  URL url = new URL(GCM_ENDPOINT_URL);
  HttpURLConnection connection = (HttpURLConnection) url.openConnection();
  connection.setDoOutput(true);
  connection.setRequestProperty(&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded;charset=&quot; + CHARSET);
  connection.setRequestProperty(&quot;Authorization&quot;, &quot;key=&quot; + API_KEY);
  String postParameter = &quot;registration_id=&quot; + URLEncoder.encode(registationId, CHARSET) + &quot;&amp;amp;collapse_key=update&amp;amp;data.message=&quot; + URLEncoder.encode(message, CHARSET);
  PrintStream ps = new PrintStream(connection.getOutputStream());
  ps.print(postParameter);
  int responseCode = connection.getResponseCode();
  if (200 != responseCode) {
   String errorMessage = streamToString(connection.getErrorStream());
   throw new IOException(&quot;status = &quot; + responseCode + &quot;, message = &quot; + errorMessage);
  }
  return streamToString(connection.getInputStream());
 }

 private static String streamToString(InputStream in) throws IOException {
  byte[] buffer = new byte[BUFFER_SIZE];
  int readed = in.read(buffer);
  ByteArrayOutputStream bout = new ByteArrayOutputStream();
  while (readed &amp;gt; 0) {
   bout.write(buffer, 0, readed);
   readed = in.read(buffer);
  }
  return new String(bout.toByteArray(), CHARSET);
 }
}
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/7933020760780715748/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2012/08/gcmgoogle-cloud-messaging-for-android.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/7933020760780715748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/7933020760780715748'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2012/08/gcmgoogle-cloud-messaging-for-android.html' title='GCM(Google Cloud Messaging for Android) のサーバサイド（Java）'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-5062365914851977869</id><published>2012-08-16T11:43:00.000+09:00</published><updated>2012-08-16T11:43:06.225+09:00</updated><title type='text'>Androidでjarを使った時にNoClassDefFoundExceptionが出てしまう時の対応</title><content type='html'>Androidで外部jarファイルを使うときに、Eclipseではjarファイルを取り込めていて、コンパイルもちゃんとできているのに、エミュレータや実機で動かした時に、&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;default prettyprint&quot; style=&quot;background-color: #eeeeee; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; line-height: 18px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;java&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;lang&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NoClassDefFoundError&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
が出てしまうことがあります。&lt;br /&gt;
&lt;br /&gt;
その対応策ですが、&lt;br /&gt;
Eclipseのプロジェクト→Build Path→Configure Build PathのOrder and Exportタブで、使いたいjarファイルにチェックを入れてください。&lt;br /&gt;
&lt;br /&gt;
その後、Projectツールバー→Cleanで、プロジェクトをクリーンビルドすれば、問題は解決します。</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/5062365914851977869/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2012/08/androidjarnoclassdeffoundexception.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/5062365914851977869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/5062365914851977869'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2012/08/androidjarnoclassdeffoundexception.html' title='Androidでjarを使った時にNoClassDefFoundExceptionが出てしまう時の対応'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-2352761802705289510</id><published>2012-08-09T22:53:00.001+09:00</published><updated>2012-11-01T21:45:23.426+09:00</updated><title type='text'>GlassFishで非同期処理（AsyncContext）</title><content type='html'>J2EE6（Servlet3.0）で、Servletで非同期処理ができるようになりました。&lt;br /&gt;
ここでは、GlassFish3.1でServletの非同期処理の設定方法についてご紹介します。&lt;br /&gt;
■非同期処理って何？&lt;br /&gt;
&lt;br /&gt;
Servletは通常、ブラウザからリクエストを受け付けたThreadでServletが処理をしてレスポンスをブラウザに返します。&lt;br /&gt;
コレが同期処理です。&lt;br /&gt;
同期処理で困るのが、Servletでの処理時間が長いと、ブラウザが待たされることです。&lt;br /&gt;
&lt;br /&gt;
コレに対応するのが、非同期処理です。&lt;br /&gt;
非同期処理では、ブラウザがらリクエストを受け付けたThreadとは別のThreadで処理をすることができます。&lt;br /&gt;
&lt;br /&gt;
非同期処理は、時間のかかる処理を行うのに使ったり、&lt;br /&gt;
Chatなど、レスポンスのタイミングをコントロールしたい時に使用します。&lt;br /&gt;
&lt;br /&gt;
では、非同期処理の実装の仕方。&lt;br /&gt;
やることは2つです。&lt;br /&gt;
1. HttpServletRequest#startAsync()を使う。&lt;br /&gt;
2. web.xmlをServlet3.0対応にし、非同期処理を扱うすべてのルーティーン（FilterとServlet）で非同期処理を有効にする。&lt;br /&gt;
&lt;br /&gt;
では、詳細を。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. HttpServletRequest#startAsync()を使う。&lt;/b&gt;&lt;br /&gt;
filterやservletのリクエストを受け取るメソッドの中で、&lt;br /&gt;
AsyncContext asyncContext = request.startAsync();&lt;br /&gt;
を呼び出します。&lt;br /&gt;
それから、&lt;br /&gt;
asyncContext.start(Runnable);&lt;br /&gt;
で、非同期で処理したい内容を起動します。&lt;br /&gt;
例えば、↓みたいな感じです。&lt;br /&gt;
&lt;div style=&quot;border: solid 1px #333333;&quot;&gt;
final AsyncContext asyncContext = request.startAsync();&lt;br /&gt;
asyncContext.start(new Runnable() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;publicvoid run() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//処理時間時間のかかる処理や待ち合わせ処理&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//例えば、チャットの相手の文字入力を待つとか。&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//・・・・&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OutputStream out = asyncContext.getResponse().getOutputStream();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;out.write(&quot;complete&quot;.getBytes());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;asyncContext.complete();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (Exception e) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;log.fatal(&quot;exception on wait&quot;, e);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;});&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. web.xmlをServlet3.0対応にし、非同期処理を扱うすべてのルーティーン（FilterとServlet）で非同期処理を有効にする。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
web.xmlをServlet3.0設定にします。&lt;br /&gt;
web.xmlのルートノードを、&lt;br /&gt;
&lt;div style=&quot;border: solid 1px #333333;&quot;&gt;
&amp;lt;web-appversion=&quot;3.0&quot;&lt;br /&gt;
&amp;nbsp;xmlns=&quot;http://java.sun.com/xml/ns/javaee&quot;&lt;br /&gt;
&amp;nbsp;xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;br /&gt;
&amp;nbsp;xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/javaee&amp;nbsp;http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd&quot;&amp;gt; &lt;/div&gt;
というように設定します。&lt;br /&gt;
さらに、filterタグやservletタグの中で、非同期処理をすることを宣言します。&lt;br /&gt;
&lt;br /&gt;
例えば&lt;br /&gt;
&lt;div style=&quot;border: solid 1px #333333;&quot;&gt;
&amp;lt;servlet&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;servlet-name&amp;gt;encodingfilter&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;servlet-class&amp;gt;net.ukiuni.EncodingFilter&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;async-supported&amp;gt;true&amp;lt;/async-supported&amp;gt;&lt;br /&gt;
&amp;lt;/servlet&amp;gt; &lt;/div&gt;
というようにasync-supportedタグを入れます。&lt;br /&gt;
&lt;br /&gt;
この時に重要なのが、リクエストを受け付けるすべての処理（FilterやServlet）でasync-supportedタグを入れる必要がある、ということです。&lt;br /&gt;
Servletで処理をする前に、Filterでエンコーディングを設定したり、セキュリティーをかけてることがありますが、そのFilterにもasync-supportedタグを入れる必要があります。&lt;br /&gt;
&lt;br /&gt;
これで、非同期処理ができるようになります。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;■追記&lt;/b&gt;&lt;br /&gt;
あんまりGlassFishっぽくない、汎用的な説明になったので、GlassFishの情報を一つ。&lt;br /&gt;
GlassFishには、管理コンソールから「Cometを有効にする」設定ができますが、この設定をOnにしなくても、AsyncContextは使うことができます。</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/2352761802705289510/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2012/08/glassfishasynccontext.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/2352761802705289510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/2352761802705289510'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2012/08/glassfishasynccontext.html' title='GlassFishで非同期処理（AsyncContext）'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-2877826369005751907</id><published>2012-08-09T00:25:00.001+09:00</published><updated>2012-08-09T00:25:13.604+09:00</updated><title type='text'>XperiaをPCが認識しない時の対応</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
XperiaをPCと繋ぎたい時があります。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
・Xperiaに音楽を入れたい時&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
・Xperiaから写真を抜き出したい時&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
・Xperiaをアップデートしたい時&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
そのために使うソフトはコチラ。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
・Windows PC Companion(Xperiaの設定→Xperia→接続設定→PC Companionのインストールにチェックを入れて、XperiaをPCにつなぐとインストールされます)&lt;/div&gt;
&lt;div class=&quot;p3&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;・Mac Sony Bridge for Mac&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;http://www.sonymobile.com/gb/tools/bridge-for-mac/&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
で、以下が本題なんですが、&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
私がやったときは、Windowsで試しても、Macで試しても、Xperiaを認識しない。認識しても、処理途中でアプリが止まっちゃったり、Xperiaが落ちる。&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
対応として、Xperiaの設定→アプリケーション→開発→USBデバッグのチェックを外したら、無事認識しました。&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
同様の事象に陥っている方、ぜひお試しあれ。&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/2877826369005751907/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2012/08/xperiapc.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/2877826369005751907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/2877826369005751907'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2012/08/xperiapc.html' title='XperiaをPCが認識しない時の対応'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-6432634648031597939</id><published>2012-07-29T01:38:00.001+09:00</published><updated>2012-07-29T01:39:47.218+09:00</updated><title type='text'>iCloudを使わずに、iPhoneからAndroidに無料で連絡帳を移行する。</title><content type='html'>iPhone5、、、出ないなぁ。。。&lt;br /&gt;
ということで、スマートフォンをAndroidに代えて見ることにしました。&lt;br /&gt;
&lt;br /&gt;
で、最初に必要なのが連絡帳のお引越しですね。&lt;br /&gt;
巷ではiCloud使ったお引越しが主流みたいなんですが、私はちょっとした理由でiCloudが使えませんでした。&lt;br /&gt;
&lt;br /&gt;
試行錯誤の末、iCloudを使わずに、iPhoneからAndroidに連絡帳を引越しすることに成功したので、手順をここで公開します。もちろん、無料でできます。&lt;br /&gt;
&lt;br /&gt;
ざっくりとした手順は、&lt;br /&gt;
1. iPhoneの連絡帳データをファイル（CSV）に書き出し＋メールで送信。&lt;br /&gt;
2. ファイルをgmailの連絡先にアップロード&lt;br /&gt;
3. gmailの連絡先をAndroidに同期&lt;br /&gt;
です。&lt;br /&gt;
必要なのは、連絡帳データをファイルに書き出すアプリと、gmailのアカウントです。&lt;br /&gt;
&lt;br /&gt;
手順詳細&lt;br /&gt;
1. iPhoneの連絡帳データをファイル（CSV）に書き出し＋メールで送信。&lt;br /&gt;
iPhoneの連絡先をCSV出力してくれるiPhoneアプリを使います。私は&lt;a href=&quot;http://itunes.apple.com/jp/app/lian-luo-xian-bakkuappu-is/id509070714?mt=8&quot;&gt;IS Contacts Kit&lt;/a&gt;の無料版を使いました。オシャレで便利です。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj31Vq5u9lzCcd7rdEUWRWiHNxymz_JMUnNLioIZ16eduOEWAsqV_xs2Tf10sLs3CMZfKRFqTJWv0DAniPz2Op_8nSPgYn4WDESt6SpdiIcLvanugDb86ZpJ7zuqgqf-3IYRfFSdscn_SXF/s1600/BlogiPhoneToAndroid.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj31Vq5u9lzCcd7rdEUWRWiHNxymz_JMUnNLioIZ16eduOEWAsqV_xs2Tf10sLs3CMZfKRFqTJWv0DAniPz2Op_8nSPgYn4WDESt6SpdiIcLvanugDb86ZpJ7zuqgqf-3IYRfFSdscn_SXF/s400/BlogiPhoneToAndroid.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
↑赤丸の部分を押していって、自分のメールアドレスにメールを送信すれば、CSVが書き出せます。&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;text-align: -webkit-auto;&quot;&gt;2. ファイルをgmailの連絡先にアップロード&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: -webkit-auto;&quot;&gt;
↓GMailで、連絡先を開きます。&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFFvbU9C5ax6MkWWl5DU4cRWHBOIW9u0Za_1RbhruyAvVlZzJqPmHrmWLV2mOIjwJ6aaayCSDV6M2dGdb46CEn0CJ8SN2zxehrPf0fe9xn4ECMbNobkUu8Yq_Hpc7SeBjfnIjlkGQOBeLn/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882012-07-29+1.30.30%EF%BC%89.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFFvbU9C5ax6MkWWl5DU4cRWHBOIW9u0Za_1RbhruyAvVlZzJqPmHrmWLV2mOIjwJ6aaayCSDV6M2dGdb46CEn0CJ8SN2zxehrPf0fe9xn4ECMbNobkUu8Yq_Hpc7SeBjfnIjlkGQOBeLn/s400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882012-07-29+1.30.30%EF%BC%89.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: -webkit-auto;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX6Y3s4ALhl1JroLfJh8xprStlqompZMdX1RELSFebrqC92eE-6lv_XQOHrxwQnoC0hTmIfxLFzPTINEWFjV5BGvgrID_GprA2pBzKWCW4pzHgKGch0rV0zCMaAKuGOAqrJIlhA3cVPfAW/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882012-07-29+1.32.38%EF%BC%89.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX6Y3s4ALhl1JroLfJh8xprStlqompZMdX1RELSFebrqC92eE-6lv_XQOHrxwQnoC0hTmIfxLFzPTINEWFjV5BGvgrID_GprA2pBzKWCW4pzHgKGch0rV0zCMaAKuGOAqrJIlhA3cVPfAW/s400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882012-07-29+1.32.38%EF%BC%89.png&quot; width=&quot;143&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: -webkit-auto;&quot;&gt;
↑連絡先の左メニューの一番下、「連絡先のインポート」から、メールで送信したCSVをアップロードします。コレでiPhoneの連絡帳データがGmailに取り込まれました。&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white; text-align: -webkit-auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;text-align: -webkit-auto;&quot;&gt;3. gmailの連絡先をAndroidに同期&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;text-align: -webkit-auto;&quot;&gt;Androidの設定→アカウントと同期から、連絡帳のデータを取り込んだGmailのアカウントを設定します。「連絡先を同期」にチェックを入れれば、完成です。&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;text-align: -webkit-auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: -webkit-auto;&quot;&gt;
上記の手順で、iPhoneの連絡帳データがAndroidに引越しできます。&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: -webkit-auto;&quot;&gt;
最近はやっとiPhoneよりも（私が）いい（なぁと思える）Android端末が出てきました。&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: -webkit-auto;&quot;&gt;
ちょっとお試しに、Android端末を買ってみてはいかがですか？&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white; text-align: -webkit-auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white; text-align: -webkit-auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/6432634648031597939/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2012/07/icloudiphoneandroid.html#comment-form' title='3 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/6432634648031597939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/6432634648031597939'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2012/07/icloudiphoneandroid.html' title='iCloudを使わずに、iPhoneからAndroidに無料で連絡帳を移行する。'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj31Vq5u9lzCcd7rdEUWRWiHNxymz_JMUnNLioIZ16eduOEWAsqV_xs2Tf10sLs3CMZfKRFqTJWv0DAniPz2Op_8nSPgYn4WDESt6SpdiIcLvanugDb86ZpJ7zuqgqf-3IYRfFSdscn_SXF/s72-c/BlogiPhoneToAndroid.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-4222400427958277457</id><published>2011-12-06T20:41:00.009+09:00</published><updated>2012-04-14T09:44:33.882+09:00</updated><title type='text'>GlassFish3.1.1 + SAStrutsの動かし方</title><content type='html'>GlassFish上でSAStrutsを動かすと、以下のようなエラーが発生することがあります。&lt;br /&gt;&lt;div style=&quot;padding:5px;margin:5px;border: 1px solid #000000;font-size:0.8em;overflow:auto;white-space: nowrap;height:200px&quot;&gt;  java.lang.NullPointerException&lt;br /&gt;at org.apache.jasper.compiler.TagLibraryInfoImpl.toString(TagLibraryInfoImpl.java:129)&lt;br /&gt;at java.lang.String.valueOf(String.java:2826)&lt;br /&gt;at java.lang.StringBuilder.append(StringBuilder.java:115)&lt;br /&gt;at java.util.AbstractMap.toString(AbstractMap.java:490)&lt;br /&gt;at java.lang.String.valueOf(String.java:2826)&lt;br /&gt;at java.lang.StringBuffer.append(StringBuffer.java:219)&lt;br /&gt;at org.seasar.extension.filter.util.RequestDumpUtil.dumpContextAttributes(RequestDumpUtil.java:86)&lt;br /&gt;at org.seasar.extension.filter.RequestDumpFilter.dumpAfter(RequestDumpFilter.java:191)&lt;br /&gt;at org.seasar.extension.filter.RequestDumpFilter.doFilter(RequestDumpFilter.java:129)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)&lt;br /&gt;at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)&lt;br /&gt;at org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:86)&lt;br /&gt;at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)&lt;br /&gt;at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:785)&lt;br /&gt;at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:649)&lt;br /&gt;at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:483)&lt;br /&gt;at org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:454)&lt;br /&gt;at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:350)&lt;br /&gt;at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:300)&lt;br /&gt;at org.seasar.struts.filter.RoutingFilter.forward(RoutingFilter.java:219)&lt;br /&gt;at org.seasar.struts.filter.RoutingFilter.doFilter(RoutingFilter.java:152)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)&lt;br /&gt;at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)&lt;br /&gt;at org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:99)&lt;br /&gt;at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)&lt;br /&gt;at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)&lt;br /&gt;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)&lt;br /&gt;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)&lt;br /&gt;at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)&lt;br /&gt;at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)&lt;br /&gt;at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)&lt;br /&gt;at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)&lt;br /&gt;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)&lt;br /&gt;at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)&lt;br /&gt;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)&lt;br /&gt;at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)&lt;br /&gt;at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)&lt;br /&gt;at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)&lt;br /&gt;at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)&lt;br /&gt;at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)&lt;br /&gt;at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)&lt;br /&gt;at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)&lt;br /&gt;at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)&lt;br /&gt;at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)&lt;br /&gt;at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)&lt;br /&gt;at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)&lt;br /&gt;at com.sun.grizzly.ContextTask.run(ContextTask.java:71)&lt;br /&gt;at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)&lt;br /&gt;at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)&lt;br /&gt;at java.lang.Thread.run(Thread.java:680)&lt;br /&gt;&lt;/div&gt;原因を調べてった所、問題が2点あって、&lt;div&gt;①requestDumpFilterが動いてない。&lt;/div&gt;&lt;div&gt;②jar中のtld（タグライブラリの記述）を読み込めていない。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;で、なおし方。&lt;/div&gt;&lt;div&gt;以下の2つをやるとうごきます。&lt;/div&gt;&lt;div&gt;①&lt;span style=&quot;font-size: 100%; &quot;&gt;requestDumpFilterが動かないようなので、&lt;/span&gt;&lt;span style=&quot;font-size: 100%; &quot;&gt;Webアプリの/WEB-INF/&lt;/span&gt;&lt;span style=&quot;font-size: 100%; &quot;&gt;web.xmlの以下の場所をコメントアウトします。&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: black; border-right-color: black; border-bottom-color: black; border-left-color: black; border-image: initial; &quot;&gt;&lt;br /&gt;&amp;lt;!-- requestDumpFilter が動かないので、コメントアウト&lt;br /&gt;&amp;lt;filter-mapping&amp;gt;&lt;br /&gt;&amp;lt;filter-name&amp;gt;requestDumpFilter&amp;lt;/filter-name&amp;gt;&lt;br /&gt;&amp;lt;url-pattern&amp;gt;*.do&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;&amp;lt;dispatcher&amp;gt;REQUEST&amp;lt;/dispatcher&amp;gt;&lt;br /&gt;&amp;lt;dispatcher&amp;gt;FORWARD&amp;lt;/dispatcher&amp;gt;&lt;br /&gt;&amp;lt;dispatcher&amp;gt;INCLUDE&amp;lt;/dispatcher&amp;gt;&lt;br /&gt;&amp;lt;dispatcher&amp;gt;ERROR&amp;lt;/dispatcher&amp;gt;&lt;br /&gt;&amp;lt;/filter-mapping&amp;gt;&lt;br /&gt;--&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;②jarの中のtldが読み取れないので、外に出します。&lt;/div&gt;&lt;div&gt;tldsa-struts-X.X.X-XXX.jar（Xはバージョン番号。多分皆さんのWebアプリのWEB-INF/libの中に入ってます。）をZIP解凍ツールで解凍して、中の/META-INF/s.tldと、/META-INF/f.tldを取り出します。で、WebアプリのWEB-INF直下においてください。同じく、struts-1.2.9.jarの中から/META-INF/struts-html.tld、/META-INF/struts-bean.tld、/META-INF/struts-tiles.tldを取り出して、WEB-INF直下においてください。&lt;/div&gt;&lt;div&gt;で、web.xmlのjsp-configタグの中に、以下を入れます。&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;padding:5px;margin:5px;border: 1px solid #000000;&quot;&gt;&lt;jsp-config&gt;&lt;jsp-property-group&gt;           &lt;p class=&quot;p1&quot;&gt;        &lt;/p&gt;&lt;p class=&quot;p1&quot;&gt;&lt;span class=&quot;s1&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;jsp-config&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&amp;lt;!-- ここから--&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;!-- ここから --&gt;&lt;br /&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&amp;lt;&lt;/span&gt;taglib&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;taglib-uri&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;http://struts.apache.org/tags-bean&lt;span class=&quot;s2&quot;&gt;&lt;!--&lt;/span--&gt;&lt;span class=&quot;s3&quot;&gt;taglib-uri&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;taglib-location&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/WEB-INF/struts-bean.tld&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;!--&lt;/span--&gt;taglib-location&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;lt;taglib&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&amp;lt;&lt;/span&gt;taglib&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;taglib-uri&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;http://struts.apache.org/tags-html&lt;span class=&quot;s2&quot;&gt;&lt;!--&lt;/span--&gt;&lt;span class=&quot;s3&quot;&gt;taglib-uri&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;taglib-location&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/WEB-INF/struts-html.tld&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;!--&lt;/span--&gt;taglib-location&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;lt;taglib&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&amp;lt;&lt;/span&gt;taglib&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;taglib-uri&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;http://jakarta.apache.org/struts/tags-tiles&lt;span class=&quot;s2&quot;&gt;&lt;!--&lt;/span--&gt;&lt;span class=&quot;s3&quot;&gt;taglib-uri&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;taglib-location&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/WEB-INF/struts-tiles.tld&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;!--&lt;/span--&gt;taglib-location&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;lt;taglib&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&amp;lt;&lt;/span&gt;taglib&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;taglib-uri&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;http://sastruts.seasar.org&lt;span class=&quot;s2&quot;&gt;&lt;!--&lt;/span--&gt;&lt;span class=&quot;s3&quot;&gt;taglib-uri&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;taglib-location&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/WEB-INF/s.tld&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;!--&lt;/span--&gt;taglib-location&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;lt;taglib&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&amp;lt;&lt;/span&gt;taglib&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;taglib-uri&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;http://sastruts.seasar.org/functions&lt;span class=&quot;s2&quot;&gt;&lt;!--&lt;/span--&gt;&lt;span class=&quot;s3&quot;&gt;taglib-uri&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;  &lt;/span&gt;&amp;lt;&lt;/span&gt;taglib-location&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/WEB-INF/f.tld&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;!--&lt;/span--&gt;taglib-location&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;lt;taglib&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;br /&gt;&amp;lt;!-- ここまで --&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class=&quot;p2&quot;&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;jsp-property-group&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/jsp-property-group&gt;&lt;/jsp-config&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 100%; &quot;&gt;これで動くようになります。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 100%; &quot;&gt;Glassfish3.1は、アプリケーションバージョニングがとても便利で、Webアプリケーションの無停止バージョンアップが可能になっています。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: 100%; &quot;&gt;ぜひお試しあれ。&lt;/span&gt;&lt;/div&gt;&lt;div id=&quot;extensionsWeblioEjBx&quot; style=&quot;position: absolute; z-index: 2147483647; left: 53px; top: 3393px; display: none; &quot;&gt;&lt;iframe src=&quot;http://api.weblio.jp/act/quote/v_1_0/e/?q=%26lt%3B&amp;amp;type=emicro&amp;amp;opul=chrome-extension%3A%2F%2Foingodpdjohhkelnginmkagmkbplgema%2Foptions.html&quot; name=&quot;weblioExtensionsFrame&quot; width=&quot;320&quot; height=&quot;60&quot; border=&quot;0&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; onmouseover=&quot;localStorage[&#39;weblioObjFlg&#39;] = 1;&quot; onmouseout=&quot;localStorage[&#39;weblioObjFlg&#39;] = 2;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/4222400427958277457/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2011/12/glassfish311-sastruts.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/4222400427958277457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/4222400427958277457'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2011/12/glassfish311-sastruts.html' title='GlassFish3.1.1 + SAStrutsの動かし方'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-2693102994474385486</id><published>2010-12-07T06:42:00.003+09:00</published><updated>2010-12-07T07:02:09.336+09:00</updated><title type='text'>速報！ Android2.3 Gingerbreadの新機能！</title><content type='html'>ついに、Android2.3 Gingerbreadが、&lt;a href=&quot;http://ukiuni.blogspot.com/2010/12/android-nexus-s.html&quot;&gt;Nexus S&lt;/a&gt; と共に&lt;a href=&quot;http://developer.android.com/intl/ja/sdk/android-2.3-highlights.html&quot;&gt;公開&lt;/a&gt;されました。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;新機能は以下の様になっています。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;・UIの刷新　画面が、簡単で早くなった。&lt;/div&gt;&lt;div&gt;・新入力方式　入力方式が新しくなり、文字が選択できるようになった。&lt;/div&gt;&lt;div&gt;・バッテリー管理の改善　電池のもちがよくなった。&lt;/div&gt;&lt;div&gt;・VoIP　もう、電話番号なんてなくても電話ができる。&lt;/div&gt;&lt;div&gt;・NFC　お財布携帯になる！！（お財布携帯用アプリが載れば。。。載るかな？）。&lt;/div&gt;&lt;/div&gt;&lt;div&gt;・ダウンロード改善　WebやE-Mailのダウンロードがしやすくなった。&lt;/div&gt;&lt;div&gt;・マルチカメラ対応　画面側のカメラにも対応。（テレビ電話できる！）&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;また、上以外にも、ゲームが開発しやすくなったり、新しい動画方式（WebM）に対応するなど&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 15.8333px; &quot;&gt;、新しい機能が目白押しです！&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 15.8333px; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 15.8333px; &quot;&gt;さあ、ついにくるぞ！Android！&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/2693102994474385486/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2010/12/android23-gingerbread.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/2693102994474385486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/2693102994474385486'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2010/12/android23-gingerbread.html' title='速報！ Android2.3 Gingerbreadの新機能！'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-5992846718562318580</id><published>2010-12-07T06:12:00.005+09:00</published><updated>2010-12-07T07:04:03.187+09:00</updated><title type='text'>最高のAndroid - Nexus S 発表！！</title><content type='html'>2010年の終わりに、ついに、ついに、最高のAndoird、Nexus Sが&lt;a href=&quot;http://www.google.com/nexus/#!/index&quot;&gt;Googleから発表&lt;/a&gt;されました！&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;それは、最新のAndroid OS、&lt;a href=&quot;http://ukiuni.blogspot.com/2010/12/android23-gingerbread.html&quot;&gt;Android 2.3 Gingerbread&lt;/a&gt;を搭載し、&lt;/div&gt;&lt;div&gt;それは、１Gのプロセッサを積み、&lt;/div&gt;&lt;div&gt;それは、１６Gのストレージを持ち、&lt;/div&gt;&lt;div&gt;それは、近接センサーを備え、&lt;/div&gt;&lt;div&gt;それは、新しい入力方式で構え、&lt;/div&gt;&lt;div&gt;それは、VoIPを標準で装備しています。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.google.com/nexus/images/features/speed.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 381px; height: 313px;&quot; src=&quot;http://www.google.com/nexus/images/features/speed.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;※画像はGoogleの紹介ページより&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;アメリカに居る人は、12/16から購入可能。&lt;/div&gt;&lt;div&gt;12/20からオンラインでも購入可能！！&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;未来に行くなら、Nexus Sを持て！！！&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/5992846718562318580/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2010/12/android-nexus-s.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/5992846718562318580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/5992846718562318580'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2010/12/android-nexus-s.html' title='最高のAndroid - Nexus S 発表！！'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-3344828023477298734</id><published>2010-12-06T23:47:00.002+09:00</published><updated>2010-12-06T23:57:05.270+09:00</updated><title type='text'>Channel API - Google App Engine で Push</title><content type='html'>わぁ！&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;いつの間にか、&lt;a href=&quot;http://code.google.com/intl/ja/appengine/docs/java/channel/&quot;&gt;Channel API がリリース&lt;/a&gt;されてる！&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;という訳で、本日はGoogle App Engine SDK 1.4よりサポートされたChannel API のお話です。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Channel APIとは、Google App Engine 上でサーバプッシュを実現する仕組みです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;サーバプッシュとは、サーバの状態に変更があったときに、クライアント（ブラウザ）に変更を通知する手段です。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;サーバプッシュを使うと何がよいか、というと、Webアプリケーションにリアルタイム性を取り込むことができるのです！&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Webアプリケーションでチャットとか、ソーシャルゲームが可能になるのです！&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;サンプルコードを、書くぞ！！&lt;/div&gt;&lt;div&gt;（今日は、寝ます。。。コメントいただけたら、優先順位を上げてサンプルコード書きます。）&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/3344828023477298734/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2010/12/channel-api-google-app-engine-push.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/3344828023477298734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/3344828023477298734'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2010/12/channel-api-google-app-engine-push.html' title='Channel API - Google App Engine で Push'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-1659906243822767060</id><published>2010-11-29T10:44:00.003+09:00</published><updated>2010-11-29T10:57:44.983+09:00</updated><title type='text'>Nexus S(多分)が、アメリカの連邦通信委員会に登録されてる！</title><content type='html'>Nexus Sは、GoogleがNexus Oneの後継機として世に送り出すとされているAndroidスマートフォンです。&lt;br /&gt;&lt;br /&gt;販売される、販売される！って噂が出ているのですが。。。。&lt;br /&gt;&lt;br /&gt;最近、&lt;a href=&quot;http://japanese.engadget.com/2010/11/25/android-2-3-google-nexus-s/&quot;&gt;Nexus Sの画像とされる情報&lt;/a&gt;を載せている「Engadget」によると、アメリカの連邦通信委員会（アメリカで通信機器の許認可をしているところです。）に&lt;a href=&quot;http://www.engadget.com/2010/11/28/samsung-nexus-s-reappears-at-the-fcc-with-a-pair-of-new-antennas/&quot;&gt;Nexus Sとされる登録&lt;/a&gt;がされたとのこと。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;もうすぐ、最高のAndroidがお目見えする！&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;デュアルコアとの情報もあり、とても楽しみです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ソース：&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 15.8333px; &quot;&gt;&lt;a href=&quot;http://www.engadget.com/&quot;&gt;Engadget&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/1659906243822767060/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2010/11/nexus-s.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/1659906243822767060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/1659906243822767060'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2010/11/nexus-s.html' title='Nexus S(多分)が、アメリカの連邦通信委員会に登録されてる！'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-8764341565044106576</id><published>2010-11-28T11:11:00.010+09:00</published><updated>2010-11-28T16:27:04.275+09:00</updated><title type='text'>【入門】Androidを飼う前に、ちょっとだけ知っておくべきこと。</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;GAGA女史も声高に叫んでいますが、&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;Androidの時代が日本でも来ましたね。すばらしい。&lt;/span&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;でも、Androidについての誤解がまだ多いので、ちょっとここでまとめをしておきましょう。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;①Androidって携帯じゃないの。ソフトなの。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;②Androidは「無料」なの。&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;③Androidがバージョンアップできなくなるのは、「つなぎ」を作るのに飽きちゃってるからなの。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;①Androidって携帯じゃないの。ソフトなの。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;Androidとは、ソフトウェアです。OS（オペレーティングシステム）という種類の。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;OS&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;（オペレーティングシステム）&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;とは、コンピュータの基本的なコントロールをしてくれるソフトウェアです。通信とか、画面表示とか。Windowsとか、Max OSXとかも、OS&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;（オペレーティングシステム）です。iPhoneでも、iOSというOSが動いています。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;絵にすると、↓な感じです。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;図　Android携帯構成&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJR-6OdVAMI_8r5YbsBbYst5UrKAe03I6lxCe7y5OU8N5NVW7nVzjfQckHeTu8159XYT08_SPKkx64hktbXvLb9GPl5gVXDKfVkoeTS7oxFjPQYmELqOgaxKaZlhNs_r6r-tWrwyhghvn9/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%25EF%25BC%25882010-11-28+15.49.37%25EF%25BC%2589.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 293px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJR-6OdVAMI_8r5YbsBbYst5UrKAe03I6lxCe7y5OU8N5NVW7nVzjfQckHeTu8159XYT08_SPKkx64hktbXvLb9GPl5gVXDKfVkoeTS7oxFjPQYmELqOgaxKaZlhNs_r6r-tWrwyhghvn9/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%25EF%25BC%25882010-11-28+15.49.37%25EF%25BC%2589.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5544489459125736882&quot; /&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;補足すると、OSだから、ファームウェアさえあればどんなところでもAndroidは動くのです。今動くのは、&lt;a href=&quot;http://www.rt-net.jp/?p=358&quot;&gt;ロボット&lt;/a&gt;とか、&lt;a href=&quot;http://www.google.com/tv/&quot;&gt;TV&lt;/a&gt;とか、&lt;a href=&quot;http://www.nttdocomo.co.jp/product/foma/smart_phone/sc01c/&quot;&gt;タブレット&lt;/a&gt;とか、&lt;a href=&quot;http://dynabook.com/pc/catalog/cloud/100621az/index_j.htm&quot;&gt;PC&lt;/a&gt;とか。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;②Androidは「無料」なの。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;Androidは、「オープンソース」の、無料のソフトウェアなのです。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;「オープンソース」とは、誰でもソースコードを取得することのできるソフトウェアのことです。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;ソースコードとは、コンピュータに入力すると、ソフトウェアが出来上がるようになるデータです。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;つまり、Androidは、だれでも、無料で入手できるのです。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;ソースコードは&lt;a href=&quot;http://source.android.com/&quot;&gt;ここ&lt;/a&gt;で公開されています。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;③Androidがバージョンアップできなくなるのは、「つなぎ」を作るのに飽きちゃってるからなの。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;Android自体は、常にバージョンアップしています。現在（2010/11/28）時点では、最新バージョンが2.2で、あと数週間後に2.3が公開されるとの情報があります。楽しみ。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;でも、Xperiaはバージョン2.1で、IS01はバージョン1.6だったりします。なんで最新バージョンが動かないのか？&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;AndroidがOSであることは①で記しましたが、Androidが携帯上で動くためには、「ファームウェア」が必要なのです。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;ファームウェアは、Androidと、携帯をつなぐためのものです。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;Androidはファームウェアを通して携帯とつながることで、いろいろな携帯上で動くことができるのです。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;で、Androidが新しくなると、ほとんどの場合、ファームウェアも新しくしなければなりません。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;ので、その携帯用のファームウェアがないと、Androidはバージョンアップすることができない&lt;span class=&quot;Apple-style-span&quot;&gt;のです。XperiaもIS01も、Android2.2用の公式ファームウェアがないので、Android2.2にすることができないのです。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;Androidはすばらしいです。Androidのことを&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;ちょっとだけ知っておくと、&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;その素晴らしさをもっと味わえると思います。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/8764341565044106576/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2010/11/android.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/8764341565044106576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/8764341565044106576'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2010/11/android.html' title='【入門】Androidを飼う前に、ちょっとだけ知っておくべきこと。'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJR-6OdVAMI_8r5YbsBbYst5UrKAe03I6lxCe7y5OU8N5NVW7nVzjfQckHeTu8159XYT08_SPKkx64hktbXvLb9GPl5gVXDKfVkoeTS7oxFjPQYmELqOgaxKaZlhNs_r6r-tWrwyhghvn9/s72-c/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%25EF%25BC%25882010-11-28+15.49.37%25EF%25BC%2589.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-2637858927324959395</id><published>2010-11-25T23:48:00.004+09:00</published><updated>2010-11-26T00:01:26.155+09:00</updated><title type='text'>Windowsでも、OpeniBootがいける！か？</title><content type='html'>&lt;div&gt;OpeniBootを利用すると、iPhone上でAndroidを動かすことができます。&lt;/div&gt;OpeniBootを利用するためには、LinuxかMacが必要である、と&lt;a href=&quot;http://ukiuni.blogspot.com/2010/11/openiboot-iphoneandroid.html&quot;&gt;以前書きました&lt;/a&gt;が、状況が変わりつつあるようです。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Windowsでも、いけるかも。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OpeniBootを利用するときに、OIBCというツール（コマンド）を利用するのですが、それの&lt;a href=&quot;https://github.com/iDroid-Project/openiBoot/commit/b1dc42d1cbcf4118a87b4cc54517d99c075b251e&quot;&gt;Windows版がコミットされている&lt;/a&gt;のです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;期待。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/2637858927324959395/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2010/11/windowsopeniboot.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/2637858927324959395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/2637858927324959395'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2010/11/windowsopeniboot.html' title='Windowsでも、OpeniBootがいける！か？'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4305706139798167593.post-262350068679737193</id><published>2010-11-21T08:48:00.007+09:00</published><updated>2010-11-21T09:22:52.035+09:00</updated><title type='text'>OpeniBoot -iPhoneでAndroidを動かす前に知っておくコト。(Windowsで使うには）</title><content type='html'>もうすぐ&lt;a href=&quot;http://www.idroidproject.org/wiki/OpeniBoot&quot;&gt;OpeniBoot&lt;/a&gt;がiPhone4や、iPadに対応する、との情報があります。&lt;div&gt;OpeniBootを使うと、iPhone4上でAndroidを動かすことができます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ワクワクしますね。今、最高（私見）のデバイスで、最高（私見）のOSを動かす。と。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;でも、気をつけてください。&lt;/div&gt;&lt;div&gt;Windowsを使ってOpeniBootを使うためには、ひと手間必要です。&lt;/div&gt;&lt;div&gt;実はOpeniBootは、今でも、古い（失礼。）iPhoneであればAndroidを動かすことができるのですが、残念ながらOpeniBootをiPhoneに導入するためには、LinuxもしくはMac（WindowsではないOS&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 15.8333px; &quot;&gt;）が必要なのです。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;。。。残念。このままでは、Androidのすばらしき、自由な世界への道が閉ざされてしまう。。。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;私のおすすめは、古くなったWindowsに見切りをつけ、Ubuntu Linuxを使うこと、ナノですが、いろいろなモノが足かせになってそれができない方がいっぱいいらっしゃることを想像するのです。苦しき、この世界。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;しかし、心配はいりません。どんなに冷たい風が吹いていても、マッチの火はつくのです。&lt;/div&gt;&lt;div&gt;Windows上でLinuxを動かすことで、OpeniBootを使うことが可能です。無料で、意外と簡単。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;そのために必要なツールが、&lt;a href=&quot;http://www.virtualbox.org/&quot;&gt;Virtual Box&lt;/a&gt;です。無料。&lt;/div&gt;&lt;div&gt;Virtual Boxを使うと、Windows上で、あたかも1アプリケーションのようにLinuxが利用できて、それを使ってOpeniBootを使うことができます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Virtual Boxと、その上へのUbuntu Linuxの導入方法の説明は、↓のサイトがすばらしくよく説明されているので、ここではお譲りします。&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://wa.otesei.com/item/471&quot;&gt;VirtualBox＋Ubuntuでテスト用サーバー環境&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;インストールが終わったら、Ubuntu Linux上にOpeniBootのツールをインストールするのですが、まだ、iPhone4、iPad対応版のOpeniBootは公開されていません。ので、公開されたら、インストール、利用方法を（きっと）お知らせします。&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ukiuni.blogspot.com/feeds/262350068679737193/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://ukiuni.blogspot.com/2010/11/openiboot-iphoneandroid.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/262350068679737193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4305706139798167593/posts/default/262350068679737193'/><link rel='alternate' type='text/html' href='http://ukiuni.blogspot.com/2010/11/openiboot-iphoneandroid.html' title='OpeniBoot -iPhoneでAndroidを動かす前に知っておくコト。(Windowsで使うには）'/><author><name>ukiuni</name><uri>http://www.blogger.com/profile/15709254524496538434</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK8jAg3yZtsXkfrzYCg-Y4vVP5TfejZuoVgD_28YFtAHz3x7xIP0Oivr_6pjX7lXU77ISsJos6nrYHUh_QUfyEFR7TX2i38eLqyi7-cvr_TgW1dcHhCKCTaBkpc425Fw/s220/uni.gif'/></author><thr:total>0</thr:total></entry></feed>