移転ãã¾ãã
http://osd.jp/itoasuka/ ã«ç§»è»¢ãã¾ããã
Wicket 1.5-rc2 ãªãªã¼ã¹ï¼
ãWicket 1.5-rc2 ããªãªã¼ã¹ããã¾ããããªããä»åã¯ãRC2ãã§ã¯ãªããrc2ãã§ãããééãã®ãªãããã注æãã ããï¼ç¬ï¼ã
ãããã¯ç§ã«ã¨ã£ã¦ã¨ã¦ãå¬ãããªãªã¼ã¹ãªã®ã§ãï¼ããã®ãªãªã¼ã¹ã«ããã㦠wicketstuff ã® 1.5-rc2 ããªãªã¼ã¹ããã¾ãããããã¦ãã®ä¸ã« Wicket ã® Scala æ¡å¼µãããã®ã§ããããã®åº¦ã¯ãã㦠Scala 2.8.1 対å¿ã¨ãªãã¾ããï¼ï¼ããã¾ã§ã¯ 2.7.5ï¼ãããã§ã·ã³ã·ã³ SNAPSHOT ããã«ãããå¿ è¦ããªããªãã¾ãããã£ããï¼
Scala + Wicket ã«ãã ORM ãæ¢ã
ãé¢ç½ã¿ããªãã®ã§ JPA ã¯ã¨ããããããã¨ãã¾ããDoma ããæ°ã«å ¥ããªã®ã§ãDoma ã念é ã«ãã£ãããã¾ãããããè¸ã¾ã㦠Scala + Wicket ã«ãã ORM ãæ¢ãã¦ãã¾ããæä¸ã§ãããã¨ã³ãã£ãã£ãã¨ã¯ã¬ã³ã¼ãã¨ç´ã¥ãã¯ã©ã¹ã®ãã¨ã§ãã
Squeryl
ãWicket ã§å©ç¨ãããªãç´ååã«é¢ããä»çµã¿ããã£ããã§ãã¦ããªãã¨ããã¾ãããSqueryl ãã®ç¹ã§ããããåé¡ãã§ã¾ããã以åãã¨ãããã¾ããããã¾ããã¨ã³ãã£ãã£ã«å®ç¾©ãã¦ãã serialVersionUID ããªããæ°¸ç¶å対象ã«ãªã£ã¦ãã¾ãã¾ããããã¯ãã°ã§ãããããããããã¨ã³ãã£ãã£ã®ãã£ã¼ã«ãã«ã«ã¹ã¿ã åï¼ã¦ã¼ã¶å®ç¾©åï¼ã使ããã®ã§ããããã®ã«ã¹ã¿ã åãå¿ ãç¶æ¿ããªããã°ãªããªãã¯ã©ã¹ã Serializable ã§ã¯ãªãã®ã§ã«ã¹ã¿ã åã使ç¨ããã¨ã³ãã£ãã£ã¯ç´ååã§ããªããªã£ã¦ãã¾ãã¾ãã
ãçµè«ã¨ãã¦ã¯ç¾æç¹ã§ã¯ Squeryl 㯠Wicket ã¨ã®ç¸æ§ã¯æªãã§ãããã ã以ä¸ã® ORM ã«æ¯ã¹ãã¨ãã¨ã³ãã£ãã£ãã¤ãã¥ã¼ã¿ãã«ã«ã§ãããããã£ã¼ã«ãã®åã« Option åã使ç¨ãããã¨ãã§ãããªã©ã¨ã¦ã Scala çã§ããä»å¾ã«æå¾ ãã¦ãã¾ãã
Circumflex ORM
ãCircumflex ã¨ãã Web ã¢ããªã±ã¼ã·ã§ã³ã»ãã¬ã¼ã ã¯ã¼ã¯ãããã®ã§ããããã® ORM ãåç¬ã§ä½¿ããã¨ãã§ãã¾ããããã¥ã¡ã³ããå°ãªãããã©ã³ã¶ã¯ã·ã§ã³ç®¡çã®ããæ¹ãè¦ã¤ããã¾ã§ããã¶ãè¦å´ãã¾ãããããããããã¨è©ããã DSL ã£ã·ãã§ããããã®åãç´æçãªä½¿ãæ¹ãã§ãããããã¾ããããããå¿ è¦ã«ãªã£ãã¨ãã« DB ã»ãã·ã§ã³ãå§ã¾ãã¨ããä»çµã¿ã«ãªã£ã¦ãã¦ããªã¯ã¨ã¹ããµã¤ã¯ã«ãªã¹ãã§ã³ãããããã¼ã«ããã¯ãã¦ãããã°ã©ãã§ã»ãã·ã§ã³ãã©ãã ã使ããããããããªããã㪠Wicket ã«ã¯ãã£ã¦ã¤ãã®ä»çµã¿ã ã¨æãã¾ãã
ãSqueryl ã®ããã«ã¨ã³ãã£ãã£ãã¤ãã¥ã¼ã¿ãã«ã«ãããã¨ã¯ã§ããªãããã§ããã¾ããããã©ã«ãã§å¯¾å¿ãã¦ããåãå°ãªãã®ãããã¯ã§ BINARYï¼byte é åï¼åã«ã対å¿ãã¦ãã¾ããã
MyBatis
ãiBatis ãããã MyBatis ã§ãããã㯠Scala ãã¤ãã£ãã§ã¯ããã¾ãããé常ã«æè»ã§ãã¨ã³ãã£ãã£ã«ç¸ããã»ã¨ãã©ããã¾ããããã ããããã Java ç¨ã§ãã®ã§ï¼.Net çããããï¼Scala å´ããæ©ã¿å¯ããªããã°ãªããªãç¹ãããã¤ãããã¾ãããã£ã¼ã«ãã«ã«ã¹ã¿ã åãæå®ã§ãã¾ãã Option åãæ±ãããã®ããæ¹æ³ãç§ã«ã¯è¦ã¤ããã¾ããã§ããã
ãGuice ã¨ã®é£æºãç°¡åã§ãããåç¬ã§ AOP ã«ãããã©ã³ã¶ã¯ã·ã§ã³å¢çãè¨å®ã§ã㦠Wicket ã¨ã®ç¸æ§ã¯è¯ãã§ããScala çã§ãªãé¨åã«ç®ãã¤ã¶ãã°è¯ãé¸æè¢ã ã¨æãã¾ãã
Ubuntu 10.10 㧠KeePass 2.14 ãåããã
ãç§ã¯ãã¹ã¯ã¼ã管çã« KeePass Password Safe ã使ã£ã¦ãã¾ããWindows ã®ã½ããã¦ã§ã¢ã§ãããKeePassX ã¨ãã KeePass äºæã®ã½ããã Ubuntu ã®æ¨æºãªãã¸ããªã«åå¨ãã¾ãã
ãããããKeePassX 㯠KeePass ãã¼ã¸ã§ã³ 1 ç³»ã¨äºææ§ãããã¾ããããã¼ã¸ã§ã³ 2 ç³»ã¨ã¯ããã¾ããã
ãWindows é£ãã¨ã£ã¨ã¨ KeePass 2 ç³»ã«ä»¥éãã¦ããã®ã« Ubuntu é£ãããã«è¿½å¾ã§ããªãã®ã¯ã¾ããï¼ã¨ãããã¨ã§ãããè¦ã¦ã¿ããããã㯠Mono ã§ãåãã¨ã®ãã¨ãç§ã®ç°å¢ã§ã¯ã以ä¸ã®ã©ã¤ãã©ãªã追å ããã¨åãããã¨ãã§ãã¾ããããã¶ã mono-runtime ãå¿ è¦ã§ãããç§ã®ç°å¢ã§ã¯å ¥ããã¤ããããªãã£ãã®ã§ãããã§ã«ã¯ãã£ã¦ãã¾ããã
sudo aptitude install libmono-system-runtime2.0-cil sudo aptitude install libmono-winforms2.0-cil
èµ·åã¯ä»¥ä¸ã®ããã«
mono KeePass.exe
Scala + Wicket + Squeryl ã試ãã¦ã¿ã
ãç§ã¯åã ãã Wicket 㯠Scala ã¨ç¸æ§ãããã«éããªãã¨è¨ã£ã¦ã¯ãã¾ããããæªã ã«è©¦ãã¦ããªãã£ãã®ã§ãã®é£ä¼ãå©ç¨ãã¦è©¦ãã¦ã¿ã¾ãããORM ã¯æè¿ Doma ããæ°ã«å ¥ãã ã£ãã®ã§ãããScala ã§ã¯ APT ã使ããªãã®ã§ Squeryl ã試ãã¦ã¿ã¾ããã
ã¨ã«ããç´ååã鬼é
ãWicket ã¨ãã£ãããã¨ã«ãã Serializable ã§ããScala ã®å ´åã¯ãç´ååå¯è½ãªã¯ã©ã¹ã«ã¯ @serializable ãä»ããã®ããç´æã§ããã¨ãããããã㯠java.io.Serializable ãå®è£ ããã®ã¨ã¯æå³ãéã£ã¦ããããã§ãModel ã«é£ããããã¨ãã§ããªãã®ã§ããã
ããããããWicket 㯠Scala ãã¤ãã£ããªãã¬ã¼ã ã¯ã¼ã¯ã§ã¯ãªãã®ã§ãã»ãã¼ã㧠Java ã³ã¬ã¯ã·ã§ã³ã使ããã¦ããããã§ããScala ã«ã¯ Scala ã³ã¬ã¯ã·ã§ã³ã Java ã³ã¬ã¯ã·ã§ã³ã«å¤æããæ©è½ãããããã§ããããã®å¤æçµæã Wicket ããè¦ã㨠Serializable ãããªãã®ã§ãè¦åãã°ãåºã¦ãã¾ãã¾ãããªã®ã§ãã³ãã¼ã³ã³ã¹ãã©ã¯ã¿ã使ã£ããããã¯ãã«ãªãããªã¼ãã¼ããããã¡ãã£ã¨æ°ã«ãªãã¨ããã
ãSqueryl ã¯ãScala ORMãã§ã°ã°ãããä¸çªåãã«åºã¦ããã®ã§ä½¿ã£ã¦ã¿ãã ããªã®ã§ãããä»çµã¿çã«ã¯ã¨ã¦ã好ã¿ã«åãã¾ãããDoma ã¨åããããã£ã¼ã«ãã«ãã¡ã¤ã³ãªãã¸ã§ã¯ãã使ç¨ãããã¨ãã§ããããã«ã¨ã³ãã£ãã£ãã¤ãã¥ã¼ã¿ãã«ã«ã§ããã£ã¦ã®ãè¯ãã§ãï¼ããã¯ç§ã® Doma ã®ä¸æºç¹ã®ã²ã¨ã¤ã§ããï¼ãã¨ããããããã¤ãSerialVersionUID ããæ°¸ç¶åãããã¨ããã®ã§ãããã¨ã³ãã£ãã£ä¸ã®æ°¸ç¶åããªãããããã£ãã¢ããã¼ã·ã§ã³ã«ãã£ã¦æå®ãããã¨ãã§ããã®ã§ãããScala 㯠SerialVersionUID ãã¢ããã¼ã·ã§ã³ã§æå®ããã®ã§ãããã§æ°¸ç¶å対象ã§å¤ããã¨ã§ããªãããã§ãããªã®ã§ãWicket ã§ã¡ããã¨ä½¿ãã«ããããªã¨æãã¾ããï¼ã¨ããããã@serializable ã ããã¤ã㦠@SerialVersionUID ãã¤ããªãããã«ãã¦åé¿ãã¦ãã¾ãï¼ã
æ¨æ¥ã® Wicket ã«é¢ããã¤ã¶ãã
- Wicket ããããããWicket
- Wicket ã«ã¯ BigInteger ã®ã³ã³ãã¼ã¿ããªããBigDecimal ã¯ããã
- Doma 㯠BigInteger ã«å¯¾å¿ãã¦ããããã©ãWicket ã« BigInteger ã®ã³ã³ãã¼ã¿ããªãããèªåã§ä½ãã®ãããã©ãå²ã«å ±ãããªãããï¼ä½¿ããªãããï¼ã ãããèªä½ã®ãã¡ã¤ã³ç¨ã³ã³ãã¼ã¿ã¯ BigInteger ã¸ã¯å½é¢é対å¿ã§ã
- ã¨æã£ããã©ãBigDecimal ã«ãã¦ãããtoBigInteger ã§æ«å®çã«å¯¾å¿ããããããã
æ¨æ¥ã® Doma ã«é¢ããã¤ã¶ãã
ãæè¿ãTwitter ã§ã¤ã¶ããã¦ã°ããã§ãããããããæ´æ°ãã¦ããªãã£ãã®ã§ãã¤ã¶ãããã¾ã¨ããè£è¶³ãã¦ããã¾ãã
PostgreSQL ã® FOR UPDATEï¼è¡ããã¯ï¼ã®è©±
- Doma 1.13.0 ã§ã¯ PostgreSQL ã® FOR UPDATE NOWAIT æ§æã使ããªããFOR UPDATE ã¯ä½¿ããã
- Doma ã NOWAIT ã¤ããã¯ããã¦ããã
- Doma 㯠PostgreSQL 8.0 以ä¸ãµãã¼ãã表æãã¦ããã®ã§ããã㯠NOWAIT ã使ããªã PostgreSQL 8.0 ã«å¯¾ãã¦ã¯æ£ããæåã
- ããããªãã PostgreSQL 8.1 以ä¸ã®ã¦ã¼ã¶ã«ã¨ã£ã¦ã¯ã¡ãã£ã¨å¯ããã
- ãªãã«ãã¦ããNOWAIT ãä»ããã ãã§ãæ²è¦³çæä»å¶å¾¡ã«ã¯å¯¾å¿ãã¦ããªããã¨è¨ãããã®ã§ãFOR UPDATE ãã使ããªãã¨ä¸ç¬æã£ã¦ãã¾ãã
Doma tools ã¸ã®è¦æ
- DAO ã®ã¡ã½ããåããªãã¡ã¯ã¿ãªã³ã°ã§å¤æ´ããããSQL ãã¡ã¤ã«ã®ãã¡ã¤ã«åã追å¾ãã¦ã»ãããªãã