<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/'>
<channel>
  <title>n.a.o</title>
  <link>http://asks.jp/users/nao/</link>
  <description>n.a.o - [ASKS? - 教えて君コミュニティー]</description>
  <lastBuildDate>Wed, 29 Jul 2009 15:08:12 GMT</lastBuildDate>
  <generator>LiveJournal / [ASKS? - 教えて君コミュニティー]</generator>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/11384.html</guid>
  <pubDate>Wed, 29 Jul 2009 15:04:00 GMT</pubDate>
  <title>asks用のAuto Pager設定</title>
  <link>http://asks.jp/users/nao/11384.html</link>
  <description>Auto Pagerって何？という人は&lt;a href=&quot;http://sourceforge.jp/magazine/09/02/26/1124212&quot;&gt;こちら&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;asks用の&lt;a href=&quot;https://addons.mozilla.org/ja/firefox/addon/4925&quot;&gt;Auto Pager&lt;/a&gt;の設定をフォーラムに送りました。&lt;br /&gt;&lt;s&gt;reviewが終われば公開されるそうです。&lt;/s&gt;公開されました。&lt;br /&gt;asksのデザインが何種類かあるようなので、動かない時は連絡ください。&lt;br /&gt;&lt;br /&gt;事後報告：ひろゆきのブログをTest Linkとして使わせていただきました。</description>
  <comments>http://asks.jp/users/nao/11384.html</comments>
  <category>autopager</category>
  <category>firefox</category>
  <lj:mood>暑い</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/11242.html</guid>
  <pubDate>Sun, 26 Jul 2009 15:22:00 GMT</pubDate>
  <title>StrutsとSpring3</title>
  <link>http://asks.jp/users/nao/11242.html</link>
  <description>Spring3.xではStruts1.xのdelegation supportが無くなっている。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://static.springsource.org/spring/docs/3.0.0.M3/changelog.txt&quot;&gt;SPRING FRAMEWORK CHANGELOG&lt;br /&gt;&lt;/a&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;* removed outdated Struts 1.x Action delegation support&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;そのため、ActionにDIするときに使う&lt;br /&gt;・DelegatingActionProxy&lt;br /&gt;・DelegatingRequestProcessor&lt;br /&gt;・AutowiringRequestProcessor&lt;br /&gt;が使えなくなっています。&lt;br /&gt;WebApplicationContextからBeanを取得する方法もあるけど&lt;br /&gt;Bean名を直接コードに書く必要がある。&lt;br /&gt;&lt;br /&gt;じゃあ、Struts2でやろうと思ったらIllegalAccessExcepti&lt;wbr /&gt;onが出る。&lt;br /&gt;早速、Googleで検索すると解決策があった。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://d.hatena.ne.jp/papanda0806/20090419/1240144013&quot;&gt;GAE/JでStruts2を動かす&lt;/a&gt;&lt;br /&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;public class InitListener implements ServletContextListener, 
    HttpSessionListener, HttpSessionAttributeListener {

    public void contextInitialized(ServletContextEvent sce)  {
        OgnlRuntime.setSecurityManager(null);
    }
　　// 以下、略

web.xmlに、Listenerを追加。

    &amp;lt;listener&amp;gt;
        &amp;lt;listener-class&amp;gt;com.papanda.InitListener&amp;lt;/listener-class&amp;gt;
    &amp;lt;/listener&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;こういう情報は本当に助かる。</description>
  <comments>http://asks.jp/users/nao/11242.html</comments>
  <category>gae</category>
  <category>spring</category>
  <category>struts</category>
  <lj:mood>これは、いよぅ</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/10917.html</guid>
  <pubDate>Wed, 15 Jul 2009 11:13:00 GMT</pubDate>
  <title>java.lang.IllegalArgumentException: appId or namespace may not be null</title>
  <link>http://asks.jp/users/nao/10917.html</link>
  <description>GAE/J用のSDKバージョン1.2.2がリリースされた。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://googleappengine.blogspot.com/2009/07/google-app-engine-for-java-sdk-122.html&quot;&gt;Google App Engine for Java SDK 1.2.2 Released&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;早速アップデートして使ってみたのだが、テストを走らせると表題のExceptionがt&lt;wbr /&gt;hrowされてしまう。&lt;br /&gt;調べてみたところGoogle Groupに解決策があったのでメモ。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://groups.google.com/group/google-appengine-java/browse_thread/thread/9a5ca03a216cd0a9/762685883588d1bf&quot;&gt;test unit doesn&apos;t work more&lt;/a&gt;&lt;br /&gt;これによると、1.2.2になりApiProxy.Environmentインターフ&lt;wbr /&gt;ェイスが変更になった。&lt;br /&gt;&lt;br /&gt;一つ目の変更点としてgetAttributesメソッドが追加されているので&lt;br /&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;	public Map&amp;lt;String, Object&amp;gt; getAttributes() {
		return Utils.newHashMap();
	}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;を追加してやる必要がある。&lt;br /&gt;&lt;br /&gt;二つ目の変更点としてgetRequestNamespaceなどがnullを返して&lt;wbr /&gt;はいけなくなった。&lt;br /&gt;そのため、&lt;br /&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;	public String getRequestNamespace() {
		return &quot;&quot;;
	}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;など適当な文字列を返す必要がある。</description>
  <comments>http://asks.jp/users/nao/10917.html</comments>
  <category>メモ</category>
  <category>GAE</category>
  <lj:mood>DLシル!</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/10722.html</guid>
  <pubDate>Sun, 12 Jul 2009 04:03:00 GMT</pubDate>
  <title>GAE上でWicketを動かす際に躓いたこと</title>
  <link>http://asks.jp/users/nao/10722.html</link>
  <description>Wicket本を買ってそのまま積んでいたので少しかじり始めた。&lt;br /&gt;&lt;iframe src=&quot;http://rcm-jp.amazon.co.jp/e/cm?t=nao110-22&amp;amp;o=9&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=4798022217&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;width:120px;height:240px;&quot; scrolling=&quot;no&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;GAE/J上でサンプルを動かしながら読んでいるのだが、躓いたところをメモ。&lt;br /&gt;&lt;br /&gt;・Wicketがdevelopmentモードで動かない&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://d.hatena.ne.jp/t_yano/20090412/1239498549&quot;&gt;Google App Engine上でWicketを動かす&lt;/a&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;web.xmlでは、Wicketの起動モードも「deployment」にする必要&lt;wbr /&gt;があります。&lt;br /&gt;Wicketは開発モードではスレッドを起動してリソースの変更&lt;br /&gt;を監視しますので、スレッドの起動を規制しているGAE上では動きません。&lt;br /&gt;deploymentモードならば問題なく動きます。&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;・アクセスしても白紙のまま&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://wicket-study.seesaa.net/article/84544184.html&quot;&gt;wicketでMarkup of type &apos;html&apos;&lt;/a&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;br /&gt;ちょっとEclipseの設定箇所が違うみたいで、&lt;br /&gt;（あと日本語化の翻訳具合によっても若干違うかも）&lt;br /&gt;「ウィンドウ」メニュー→「設定」→「Java」→「コンパイラー」&lt;br /&gt;　　 →「ビルド」→「出力フォルダー」→「フィルターするリソース」でした。&lt;br /&gt;設定ダイアログで設定するとプロジェクト全体に対して適用されるので、&lt;br /&gt;プロジェクト個別の設定でおこなっても同じです。&lt;/div&gt;&lt;br /&gt;これはGAE/Jには関係ないがWicketを始めようとする人は誰でも通る道かもし&lt;wbr /&gt;れない。&lt;br /&gt;Wicketの場合classとhtmlの両方が必要なのだが、フィルタされているとh&lt;wbr /&gt;tmlがコピーされない。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;・submitボタンを押したらExceptionを吐いてしまう&lt;br /&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;	Form&amp;lt;Void&amp;gt; submitForm = new Form&amp;lt;Void&amp;gt;(&quot;submitForm&quot;) {
		private static final long serialVersionUID = 1L;
			@Override
			public void onSubmit() {
				//ここでAccessControllException
				messageLabel.setDefaultModelObject(inputValue);
		}
	};&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;s&gt;結局、beanを使うことで回避できたが、これは原因がわからない。&lt;br /&gt;わかる人いたら教えてください。&lt;/s&gt;&lt;br /&gt;Wicketのバージョンを1.4-rc4から1.4-rc6に上げたらExcept&lt;wbr /&gt;ionが出なくなった。&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;	Form&amp;lt;Void&amp;gt; submitForm = new Form&amp;lt;Void&amp;gt;(&quot;submitForm&quot;) {
		private static final long serialVersionUID = 1L;
			@Override
			public void onSubmit() {
				bean.setMessage(bean.getInputField());
		}
	};&lt;/pre&gt;&lt;/div&gt;</description>
  <comments>http://asks.jp/users/nao/10722.html</comments>
  <category>Wicket</category>
  <category>GAE</category>
  <lj:mood>７回転んでも８回起きればいい</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/10301.html</guid>
  <pubDate>Sat, 04 Jul 2009 23:38:00 GMT</pubDate>
  <title>【応用情報技術者試験】勘違いしていた件</title>
  <link>http://asks.jp/users/nao/10301.html</link>
  <description>&lt;a href=&quot;http://ja.wikipedia.org/wiki/%E5%BF%9C%E7%94%A8%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85%E8%A9%A6%E9%A8%93&quot;&gt;応用情報技術者(wiki)&lt;/a&gt;&lt;br /&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;合格した年度を含む2年以内に（中略）高度試験を受験した場合、これらの試験で&lt;br /&gt;共通して実施される午前I試験は申請により免除される。&lt;/div&gt;&lt;br /&gt;ネットワークスペシャリストやデータベーススペシャリストなどの&lt;br /&gt;高度試験の場合、午前１・２ 午後１・２がある。&lt;br /&gt;で、免除されるのは午前１だけ。&lt;br /&gt;午前２は受ける必要がある。&lt;br /&gt;午前試験が免除されると思って午後から受けることが無いように。&lt;br /&gt;&lt;br /&gt;関連：&lt;a href=&quot;http://nao.asks.jp/10159.html&quot;&gt;応用情報技術者試験受かったよ&lt;/a&gt;</description>
  <comments>http://asks.jp/users/nao/10301.html</comments>
  <category>メモ</category>
  <lj:mood>秋期試験どうするかな</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/10159.html</guid>
  <pubDate>Wed, 01 Jul 2009 11:40:00 GMT</pubDate>
  <title>応用情報技術者試験受かったよ</title>
  <link>http://asks.jp/users/nao/10159.html</link>
  <description>というわけで使ったテキストをメモ&lt;br /&gt;&lt;br /&gt;&lt;iframe src=&quot;http://rcm-jp.amazon.co.jp/e/cm?t=nao110-22&amp;amp;o=9&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=4798021261&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;width:120px;height:240px;&quot; scrolling=&quot;no&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;午前はこれ一冊で十分だと思う。&lt;br /&gt;過去問もあわせてやれば、合格点に達するのはさほど難しくない。&lt;br /&gt;&lt;br /&gt;基本は空き時間を使ってポケットスタディをひたすら解く。&lt;br /&gt;すらすら解けるようになったら過去問に手をつける。&lt;br /&gt;解けなかった問題は必ず調べてまとめる。&lt;br /&gt;&lt;br /&gt;学生や社会人経験が浅い人はストラテジ系の参考書を買うべき。&lt;br /&gt;ただし、現時点ではストラテジ関係の参考書があまり多くないので&lt;br /&gt;出揃うのを待ってから自分に合うのを探した方がいい。</description>
  <comments>http://asks.jp/users/nao/10159.html</comments>
  <category>メモ</category>
  <lj:mood>午前75/午後75</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/9749.html</guid>
  <pubDate>Wed, 01 Jul 2009 04:00:00 GMT</pubDate>
  <title>Firefox3.5で&amp;lt;video&amp;gt;と&amp;lt;audio&amp;gt;を無効にする方法</title>
  <link>http://asks.jp/users/nao/9749.html</link>
  <description>1.URL欄にabout:configと入力&lt;br /&gt;2.「細心の注意を払って使用する」ボタンをクリック&lt;br /&gt;3.フィルタ欄にmediaと入力&lt;br /&gt;4.media.ogg.enabledとmedia.wave.enabledをダ&lt;wbr /&gt;ブルクリック&lt;br /&gt;　してfalseに変更</description>
  <comments>http://asks.jp/users/nao/9749.html</comments>
  <category>firefox</category>
  <lj:mood>DLシル!</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/9624.html</guid>
  <pubDate>Fri, 26 Jun 2009 16:02:00 GMT</pubDate>
  <title>PersistenceManagerをcloseしたらtransientでは？</title>
  <link>http://asks.jp/users/nao/9624.html</link>
  <description>&lt;a href=&quot;http://d.hatena.ne.jp/higayasuo/20090604/1244080007&quot;&gt;JDOのモデルの状態を理解しよう&lt;/a&gt;&lt;br /&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;PersistenceManagerをcloseしたときからが、運命の分かれ目。&lt;wbr /&gt;&lt;br /&gt;何の設定もしないとhollowになり、lazy loadingされている&lt;br /&gt;オブジェクトに触ろうとするとエラーになります。&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;試してみたところ、PersistenceManagerをcloseしたらtran&lt;wbr /&gt;sientになりました。&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;package com.example.logic;

import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;

import java.util.List;

import javax.jdo.JDOHelper;
import javax.jdo.ObjectState;
import javax.jdo.PersistenceManager;
import javax.jdo.Query;
import javax.jdo.Transaction;

import org.junit.Test;

import com.example.PMF;
import com.example.entity.Entity;
import com.google.appengine.api.datastore.Blob;

public class EntityLogicTest extends AbstractLogicTest {
	@Test
	public void test() {
		PersistenceManager pm = PMF.get().getPersistenceManager();
		Transaction tx = pm.currentTransaction();
		Entity entity = new Entity();

		try {
			tx.begin();

			pm.makePersistent(entity);

			tx.commit();
		} finally {
			if (tx.isActive()) {
				tx.rollback();
			}
			pm.close();
		}

		assertThat(JDOHelper.getObjectState(entity),
			is(ObjectState.HOLLOW_PERSISTENT_NONTRANSACTIONAL));
	}
}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;結果：
java.lang.AssertionError: 
Expected: is &amp;lt;hollow/persistent-nontransactional&amp;gt;
     got: &amp;lt;transient&amp;gt;&lt;/pre&gt;</description>
  <comments>http://asks.jp/users/nao/9624.html</comments>
  <category>JDO</category>
  <category>GAE</category>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/9470.html</guid>
  <pubDate>Thu, 25 Jun 2009 14:26:00 GMT</pubDate>
  <title>Operaいいよね、Oper</title>
  <link>http://asks.jp/users/nao/9470.html</link>
  <description>&lt;a href=&quot;http://twitter.com/amatanoyo/status/2320247205&quot;&gt;http://twitter.com/amatanoyo/status/232&lt;wbr /&gt;0247205&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;あ、あれ？！&lt;br /&gt;&lt;br /&gt;以上、&lt;a href=&quot;http://twitter.com/amatanoyo/status/2065409727&quot;&gt;リンク返し&lt;/a&gt;</description>
  <comments>http://asks.jp/users/nao/9470.html</comments>
  <category>opera</category>
  <category>amata何とか</category>
  <category>twitter</category>
  <lj:mood>実際はHDDの肥やし</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/9061.html</guid>
  <pubDate>Thu, 25 Jun 2009 13:15:00 GMT</pubDate>
  <title>スズメ拾った:ハムスター速報 ２ろぐ</title>
  <link>http://asks.jp/users/nao/9061.html</link>
  <description>&lt;a href=&quot;http://urasoku.blog106.fc2.com/blog-entry-726.html&quot;&gt;スズメ拾った:ハムスター速報 ２ろぐ&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;数日前、スズメを保護、というか移動したのでタイムリーな話題。&lt;br /&gt;&lt;a href=&quot;http://www.wbsj.org/fukyu/hirowanaide/index.html&quot;&gt;ヒナを拾わないで！！キャンペーン &lt;/a&gt;にもあるけど、すぐには拾わないように。&lt;br /&gt;私の方は親鳥が餌を持ってきていて、次の日には去っていきました。</description>
  <comments>http://asks.jp/users/nao/9061.html</comments>
  <lj:mood>これは鷹</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/8732.html</guid>
  <pubDate>Wed, 24 Jun 2009 13:27:00 GMT</pubDate>
  <title>【Asks?】自分のblogをGoogle ウェブマスターツールに登録する方法</title>
  <link>http://asks.jp/users/nao/8732.html</link>
  <description>※注意　以下の操作をしたことでブログのデータが消えるなどの&lt;br /&gt;不利益を被るかもしれません。&lt;br /&gt;そのような状態になっても責任は一切負いません。&lt;br /&gt;&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;br /&gt;1.&lt;a href=&quot;http://www.google.com/webmasters/tools/&quot;&gt;Google ウェブマスターツール&lt;/a&gt;にアクセスして&lt;br /&gt;・アカウントが無い人はアカウントを作成&lt;br /&gt;・ログインしていない人はログイン&lt;br /&gt;&lt;br /&gt;2.「サイトを追加」ボタンをクリック&lt;br /&gt;&lt;br /&gt;3.ユーザー名.asks.jpを入力&lt;br /&gt;（www.asks.jp/users/ユーザー名/ではありません）&lt;br /&gt;&lt;br /&gt;4.続行をクリック&lt;br /&gt;&lt;br /&gt;5.&amp;lt;meta name=&quot;verify-v1&quot; content=&quot;英数字&quot; &amp;gt;をコピー&lt;br /&gt;&lt;br /&gt;6.&lt;a href=&quot;http://www.asks.jp/customize/options.bml&quot;&gt;http://www.asks.jp/customize/options.bml&lt;/a&gt;にアクセス&lt;br /&gt;&lt;br /&gt;7.下のOverridesのフォームに先ほどコピーした物をペースト&lt;br /&gt;&lt;br /&gt;8.ペーストした物をGLOBAL_HEAD&amp;lt;=と&amp;lt;=GLOBAL_HEADではさ&lt;wbr /&gt;む&lt;br /&gt;（例：GLOBAL_HEAD&amp;lt;=&amp;lt;meta name=&quot;verify-v1&quot; content=&quot;英数字&quot; &amp;gt;&amp;lt;=GLOBAL_HEAD）&lt;br /&gt;&lt;br /&gt;9.「Save Changes」ボタンをクリック&lt;br /&gt;&lt;br /&gt;10.&lt;a href=&quot;http://ユーザー名.asks.jp/&quot;&gt;http://ユーザー名.asks.jp/&lt;/a&gt;にアクセスしてソースを表示し&lt;wbr /&gt;、ヘッダに&lt;br /&gt;&amp;lt;meta name=&quot;verify-v1&quot; content=&quot;英数字&quot; &amp;gt;&lt;br /&gt;が追加されていることを確認&lt;br /&gt;&lt;br /&gt;11.ウェブマスターツールに戻り確認ボタンを押す&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;現状だとサイトマップの登録がうまくいきません。&lt;br /&gt;これはたぶんrssがwwwから始まってるからかと。&lt;br /&gt;他の検索サイトは試してない。</description>
  <comments>http://asks.jp/users/nao/8732.html</comments>
  <category>asks</category>
  <lj:mood>お風呂上り</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/8667.html</guid>
  <pubDate>Wed, 24 Jun 2009 12:14:00 GMT</pubDate>
  <title>JDOのモデルの状態：persistent-clean</title>
  <link>http://asks.jp/users/nao/8667.html</link>
  <description>&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;	// 状態はhollowまたはpersistent_nontransactional
	assertThat(JDOHelper.getObjectState(entity), 
			is(ObjectState.HOLLOW_PERSISTENT_NONTRANSACTIONAL));

	// トランザクション開始
	tx.begin();

	// まだ状態は変わらない
	assertThat(JDOHelper.getObjectState(entity), 
			is(ObjectState.HOLLOW_PERSISTENT_NONTRANSACTIONAL));

	// key以外のpersistentなフィールドにアクセスする
	entity.getBlob();

	// 状態がpersistent-cleanになる
	assertThat(JDOHelper.getObjectState(entity), 
			is(ObjectState.PERSISTENT_CLEAN));

	// トランザクション終了
	tx.comit();&lt;/pre&gt;&lt;/div&gt;</description>
  <comments>http://asks.jp/users/nao/8667.html</comments>
  <category>JDO</category>
  <category>GAE</category>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/8368.html</guid>
  <pubDate>Tue, 23 Jun 2009 15:28:00 GMT</pubDate>
  <title>JDOのモデルの状態:hollowとpersistent-nontransactional</title>
  <link>http://asks.jp/users/nao/8368.html</link>
  <description>&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;	PersistenceManager pm = PMF.get().getPersistenceManager();
	Transaction tx = pm.currentTransaction();
	tx.begin();

	// persistent-new
	pm.makePersistent(entity);
	
	// コミット以降の状態はhollowかpersistent-nontransactional
	tx.commit();

	assertThat(JDOHelper.getObjectState(entity), 
			is(ObjectState.HOLLOW_PERSISTENT_NONTRANSACTIONAL));

	if(tx.isRetainValues()) {
		// RetainValuesが真の場合、状態はpersistent-nontransactional
		// フィールドはLazy Loadingされない
		// key以外のフィールドの値が変更されると状態は
		// persistent-nontransactional-dirtyになる
	} else {
		// RetainValuesが偽の場合、状態はhollow
		// TextやBlob、コレクションなフィールドはLazy Loadingされる
		// フィールドの値が変更されても、次回のトランザクション時に
		// 取り消される
	}

	pm.close();&lt;/pre&gt;&lt;/div&gt;</description>
  <comments>http://asks.jp/users/nao/8368.html</comments>
  <category>JDO</category>
  <category>GAE</category>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/8164.html</guid>
  <pubDate>Sun, 21 Jun 2009 16:27:00 GMT</pubDate>
  <title>JDOのモデルの状態:persistent-new</title>
  <link>http://asks.jp/users/nao/8164.html</link>
  <description>&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;	PersistenceManager pm = PMF.get().getPersistenceManager();
	Transaction tx = pm.currentTransaction();
	tx.begin();

	// persistent-new
	pm.makePersistent(entity);

	assertThat(JDOHelper.getObjectState(entity), 
			is(ObjectState.PERSISTENT_NEW));		

	tx.commit();
	pm.close();&lt;/pre&gt;&lt;/div&gt;</description>
  <comments>http://asks.jp/users/nao/8164.html</comments>
  <category>JDO</category>
  <category>GAE</category>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/7889.html</guid>
  <pubDate>Sun, 21 Jun 2009 16:19:00 GMT</pubDate>
  <title>JDOのモデルの状態:transient</title>
  <link>http://asks.jp/users/nao/7889.html</link>
  <description>&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;	// transient
	Entity entity = new Entity();

	assertThat(JDOHelper.getObjectState(entity), 
			is(ObjectState.TRANSIENT));

	PersistenceManager pm = PMF.get().getPersistenceManager();
	Transaction tx = pm.currentTransaction();

	// トランザクション開始
	tx.begin();

	// まだ状態はtransient
	assertThat(JDOHelper.getObjectState(entity), 
			is(ObjectState.TRANSIENT));

	// トランザクションと結びつける
	pm.makeTransactional(entity);

	// transient-clean
	assertThat(JDOHelper.getObjectState(entity), 
			is(ObjectState.TRANSIENT_CLEAN));

	// フィールドの値を変更
	entity.setBlob(newBlob);

	// transient-dirty
	assertThat(JDOHelper.getObjectState(entity), 
			is(ObjectState.TRANSIENT_DIRTY));

	// トランザクション終了
	tx.commit();

	pm.close();&lt;/pre&gt;&lt;/div&gt;</description>
  <comments>http://asks.jp/users/nao/7889.html</comments>
  <category>JDO</category>
  <category>GAE</category>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/7467.html</guid>
  <pubDate>Thu, 18 Jun 2009 15:01:00 GMT</pubDate>
  <title>【GAE】開発環境でのロールバック</title>
  <link>http://asks.jp/users/nao/7467.html</link>
  <description>&lt;a href=&quot;http://d.hatena.ne.jp/kazunori_279/20090617/1245211191&quot;&gt;開発環境とプロダクション環境の違い&lt;/a&gt;&lt;pre&gt;&amp;gt;開発環境ではトランザクションはサポートされない
&amp;gt;   ロールバックしても値は元に戻らない&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;実際に試してみた。&lt;br /&gt;&lt;br /&gt;・&lt;a href=&quot;http://sourceforge.jp/projects/gae-j-samples/svn/view/gae-jdo-quickstart/trunk/src/main/resources/archetype-resources/src/test/java/logic/AbstractLogicTest.java?view=markup&amp;amp;revision=67&amp;amp;root=gae-j-samples&amp;amp;pathrev=67&quot;&gt;AbstractLogicTest.java&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;・Entity.java&lt;br /&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;import java.io.Serializable;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import com.google.appengine.api.datastore.Key;

@SuppressWarnings(&quot;serial&quot;)
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Entity implements Serializable {
	@PrimaryKey
	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	private Key key;

	public Key getKey() {
		return key;
	}

	public void setKey(Key key) {
		this.key = key;
	}
}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;・EntityLogicTest.java&lt;br /&gt;&lt;div style=&quot;border:2px silver solid&quot;&gt;&lt;pre&gt;import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import java.util.List;
import javax.jdo.PersistenceManager;
import javax.jdo.Query;
import javax.jdo.Transaction;
import org.junit.Test;
import PMF;
import Entity;

public class EntityLogicTest extends AbstractLogicTest {
	@SuppressWarnings(&quot;unchecked&quot;)
	@Test
	public void rollbackTest(){
		Entity entity = new Entity();

		PersistenceManager pm = PMF.get().getPersistenceManager();
		Transaction tx = pm.currentTransaction();
		
		tx.begin();
		pm.makePersistent(entity);
		tx.rollback();  // ロールバック
		
		Query query = pm.newQuery(Entity.class);
		List&amp;lt;Entity&amp;gt; entityList = (List&amp;lt;Entity&amp;gt;) query.execute();
		
		// ロールバックしたのでentryListのサイズは0のはず
		assertThat(entityList.size(), is(0));
	}
}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
結果
java.lang.AssertionError: 
Expected: is &amp;lt;0&amp;gt;
     got: &amp;lt;1&amp;gt;
&lt;/pre&gt;&lt;br /&gt;開発環境ではロールバックしても意味は無い。</description>
  <comments>http://asks.jp/users/nao/7467.html</comments>
  <category>GAE</category>
  <lj:mood>長いな、おい</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/7392.html</guid>
  <pubDate>Thu, 11 Jun 2009 13:58:00 GMT</pubDate>
  <title>@Unique</title>
  <link>http://asks.jp/users/nao/7392.html</link>
  <description>&lt;a href=&quot;http://blog.manufacturers-hub.com/article/117787646.html&quot;&gt;GAEのJDOではユニーク制約が設定できるでしょうか？試して見ました。&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;あー、@Unique使えないのね。&lt;br /&gt;テスト失敗するはずだわ。</description>
  <comments>http://asks.jp/users/nao/7392.html</comments>
  <category>GAE</category>
  <lj:mood>Wicket本購入</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/6948.html</guid>
  <pubDate>Sun, 07 Jun 2009 08:57:00 GMT</pubDate>
  <title>【メモ】asksの鯖</title>
  <link>http://asks.jp/users/nao/6948.html</link>
  <description>www.asks.jp  = 210.135.99.18&lt;br /&gt;lj-6.asks.jp = 210.135.97.6&lt;br /&gt;lj-7.asks.jp = 210.135.97.7&lt;br /&gt;lj-9.asks.jp = 210.135.97.9</description>
  <comments>http://asks.jp/users/nao/6948.html</comments>
  <category>asks</category>
  <lj:mood>ゲームのやりすぎに一票</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/6752.html</guid>
  <pubDate>Sat, 30 May 2009 14:48:00 GMT</pubDate>
  <title>【教えて君】土曜プレミアム　サマヨイザクラ</title>
  <link>http://asks.jp/users/nao/6752.html</link>
  <description>サマヨイザクラを途中までしか見ていなかったので&lt;br /&gt;結末を聞いてみると冤罪だったとのこと。&lt;br /&gt;裁判員の意見は取りまとめていたし、被告は控訴しないと&lt;br /&gt;言っていたので再審請求でもしたのかと思ったら&lt;br /&gt;どうも話がかみ合わない。&lt;br /&gt;よく聞いてみると、判決が出ていない状況で、裁判員である&lt;br /&gt;主人公が被告を連れて外に出て行ったところで終わった&lt;br /&gt;らしいのですが、そうだったのでしょうか？&lt;br /&gt;見ていた人いたら教えてください。</description>
  <comments>http://asks.jp/users/nao/6752.html</comments>
  <lj:mood>わかんない</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/6425.html</guid>
  <pubDate>Fri, 29 May 2009 12:36:00 GMT</pubDate>
  <title>１０周年</title>
  <link>http://asks.jp/users/nao/6425.html</link>
  <description>&lt;a href=&quot;http://alfalfa.livedoor.biz/archives/51471879.html&quot;&gt;ひろゆき著作 『僕が２ちゃんねるを捨てた理由』 きょう発売(アルファルファモザイク)&lt;/a&gt;&lt;br /&gt;このblogで知ったけど2chはあと二時間ちょっと&lt;br /&gt;で１０周年なんですね。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://ja.wikipedia.org/wiki/2%E3%81%A1%E3%82%83%E3%82%93%E3%81%AD%E3%82%8B%E3%81%AE%E6%AD%B4%E5%8F%B2&quot;&gt;2ちゃんねるの歴史(wiki)&lt;/a&gt;にいろいろまとまっているので、&lt;br /&gt;自分がいつから「ねらー」になったか考えながら見てみては？&lt;br /&gt;&lt;br /&gt;＃私は2000年の夏ぐらいだったような、、、</description>
  <comments>http://asks.jp/users/nao/6425.html</comments>
  <category>2ch</category>
  <lj:mood>１０周年</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/6356.html</guid>
  <pubDate>Mon, 25 May 2009 15:21:00 GMT</pubDate>
  <title>無駄に時間使ったーーーーー</title>
  <link>http://asks.jp/users/nao/6356.html</link>
  <description>rails2でacts_as_authenticatedを使う場合&lt;br /&gt;&lt;br /&gt;・TestCaseとAuthenticatedTestHelperの両方に&lt;br /&gt;　assert_differenceメソッドがある&lt;br /&gt;・両クラスのメソッドの引数が違う&lt;br /&gt;&lt;br /&gt;ためにテストがエラーになってしまう。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://74.125.153.132/search?q=cache:D7thdvbWQm4J:ujihisa.nowa.jp/tag/rails%3Fp%3D1+rails+assert_difference&amp;amp;cd=13&amp;amp;hl=ja&amp;amp;ct=clnk&amp;amp;gl=jp&amp;amp;lr=lang_ja&quot;&gt;rubyneko&lt;/a&gt;（キャッシュ）より&lt;br /&gt;alias old__ assert_difference&lt;br /&gt;include AuthenticatedTestHelper&lt;br /&gt;alias assert_difference old__&lt;br /&gt;&lt;br /&gt;とするか&lt;br /&gt;trunkにあるものを使えばいいらしい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;↓この二つ、いつも間違うなぁ、、、&lt;br /&gt;&lt;br /&gt;goo辞書より&lt;br /&gt;authentication&lt;br /&gt;━━ n. 確証, 証明; 【コンピュータ】ユーザ識別, オーセンチケーション.&lt;br /&gt;&lt;br /&gt;authentification&lt;br /&gt;━━ n. 確認, 批准.</description>
  <comments>http://asks.jp/users/nao/6356.html</comments>
  <category>メモ</category>
  <lj:mood>あー、もう</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/6056.html</guid>
  <pubDate>Fri, 15 May 2009 11:33:00 GMT</pubDate>
  <title>男の子牧場って何が駄目なの？</title>
  <link>http://asks.jp/users/nao/6056.html</link>
  <description>&lt;a href=&quot;http://otoboku.jp/&quot;&gt;&lt;br /&gt;男の子牧場&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;サービス名とかサービス内容って話なら、使わない人はスルーすれば済む。&lt;br /&gt;&lt;br /&gt;勝手に登録されるという話であれば&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://ameblo.jp/cair/entry-10260663830.html&quot;&gt;男の子牧場のお問い合わせに関して&lt;/a&gt;&lt;br /&gt;＞承諾なき登録を利用規約で禁止しており&lt;br /&gt;&lt;br /&gt;とあるんだから、その規約を破って登録すれば&lt;br /&gt;その責めは登録した人にいく。&lt;br /&gt;&lt;br /&gt;サイバーエージェントにも責任があるという話なら&lt;br /&gt;プロバイダ法があるよね。&lt;br /&gt;従わないのであれば話は別だけど。&lt;br /&gt;&lt;br /&gt;何が駄目なんでしょう？</description>
  <comments>http://asks.jp/users/nao/6056.html</comments>
  <lj:mood>わかんない</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/5684.html</guid>
  <pubDate>Mon, 04 May 2009 17:52:00 GMT</pubDate>
  <title>教えてくん：愛知のお勧めスポット</title>
  <link>http://asks.jp/users/nao/5684.html</link>
  <description>GWを利用して愛知に来ているんですが、お勧めのスポットを&lt;br /&gt;教えてくださいな。大須以外で。</description>
  <comments>http://asks.jp/users/nao/5684.html</comments>
  <category>旅</category>
  <lj:mood>パシャパシャ</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/5405.html</guid>
  <pubDate>Sun, 12 Apr 2009 12:27:00 GMT</pubDate>
  <title>ニコ動の生放送をついつい見てしまう人へ</title>
  <link>http://asks.jp/users/nao/5405.html</link>
  <description>ガジェット通信の&lt;a href=&quot;http://getnews.jp/archives/8868&quot;&gt;生車載・ぐるり一周高速道路1000円の旅！ &lt;/a&gt;見ました。&lt;br /&gt;蘇民祭だのハゲ社長だの色々好き放題書きましたが、&lt;br /&gt;生放送で一日終わってしまった人も多いのではないでしょうか。&lt;br /&gt;&lt;br /&gt;そんな時はFirefoxのアドオン、LeechBlockを入れましょう。&lt;br /&gt;&lt;a href=&quot;https://addons.mozilla.org/da/firefox/addon/4476?lang=ja&quot;&gt;LeechBlock::Firefox Add-ons&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;設定の仕方&lt;br /&gt;１．ツール-&amp;gt;設定-&amp;gt;LeechBlock-&amp;gt;Options...&lt;br /&gt;２．Enter the domain names of the sites to block(one item per line)&lt;br /&gt;　　ブロックするサイトのドメインを入力（一行につき一つ）&lt;br /&gt;３．Enter a time periods within to block these sites(eg.0900-1230,1330-1700)&lt;br /&gt;　　ブロックする時間帯を入力（例：0900-1230,1330-1700）&lt;br /&gt;４．Select the days on which to block these sites&lt;br /&gt;　　ブロックする曜日を選択&lt;br /&gt;&lt;br /&gt;ニコ厨な人は&lt;br /&gt;Prevent access to options for this block set at times when these sites are blocked&lt;br /&gt;をチェックすることで、時間内は設定を変更できないようにすることも可能です。</description>
  <comments>http://asks.jp/users/nao/5405.html</comments>
  <category>Firefox</category>
  <lj:mood>肉だけじゃなく野菜も食べな</lj:mood>
</item>
<item>
  <guid isPermaLink='true'>http://asks.jp/users/nao/5155.html</guid>
  <pubDate>Sat, 11 Apr 2009 14:59:00 GMT</pubDate>
  <title>オレオレ、大阪府警</title>
  <link>http://asks.jp/users/nao/5155.html</link>
  <description>&lt;a href=&quot;http://gigazine.net/index.php?/news/comments/20090410_vivichat/&quot;&gt;&lt;br /&gt;大阪府警がわいせつチャット跡地に「犯罪を助長することになりますので、利用しないで&lt;wbr /&gt;ください」という警告文を表示&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;法律云々の話はGIGAZINEさんでやるだろうから置いといて&lt;br /&gt;この警告文は悪用される可能性があるのではという話。&lt;br /&gt;&lt;br /&gt;例えば警告文のあとに&lt;br /&gt;このサイトを以前利用された方はこちらまで電話でご連絡ください。&lt;br /&gt;ご連絡が無い場合、刑事裁判で不利になります。&lt;br /&gt;と書かれていたら電話してしまう人もいると思う。&lt;br /&gt;&lt;br /&gt;さて、電話の相手が「オレオレ、大阪府警」と言った時、その場で&lt;br /&gt;相手が本物か偽者かを見分けることができるだろうか。</description>
  <comments>http://asks.jp/users/nao/5155.html</comments>
</item>
</channel>
</rss>
