Tips - ¤¿¤Þ¤Ë¤Ã¤¡£
2006-09-10 Sun
¢£ ¥Ï¥Ã¥¯¤Ê°ìÆü
µ×¤·¤Ö¤ê¤Ë¥³¡¼¥É¤ò½ñ¤¤¤¿¡¥¤ó¤Ç¤â¤Ã¤Æ¡¤jbirth ¤ò¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¡¥
2006-09-09 Sat
¢£ Jakarta commons digester
¥Ç¥Ð¥Ã¥°¤Î¤È¤¤Î¥Ç¥Ð¥Ã¥°¥í¥°¤Î½Ð¤·Êý¡¥
log4j ¤È¤«¡¤java.util.logging ¤È¤«¤òƳÆþ¤·¤ÆÀßÄê¥Õ¥¡¥¤¥ë¤ò½ñ¤¯¤Î¤¬Èó¾ï¤ËÌÌÅݤʤΤǡ¤¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤹ¤ëÊýË¡¡¥·ë¹½Ãµ¤¹¤Î¤Ë¼ê´Ö¼è¤Ã¤¿¤Î¤Ç¥á¥â¡¥
¼Â¹Ô»þ¤Ë
$ java -Dorg.apache.commons.logging.simplelog.defaultlog=trace ¼Â¹Ô¤¹¤ë¥¯¥é¥¹Ì¾
¤È¤¹¤ë¡¥¤³¤¦¤¹¤ë¤È trace ¥ì¥Ù¥ë¤Ç¥í¥°¤¬½ÐÎϤµ¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¡¥
¤Þ¤¿¡¤ÏäÏÊѤï¤Ã¤Æ¡¤call-param-rule ¤Ç¥¹¥¿¥Ã¥¯¤ËÀÑ¤Þ¤ì¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ò call-method-rule ¤Î°ú¿ô¤Ë¤·¤¿¤¤¤È¤¤¬¤¢¤ë¡¥²¿¤« List ¤Ê¤É¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤Ã¤Æ¡¤¤½¤ì¤ò¤¢¤ë¥á¥½¥Ã¥É¤Î°ú¿ô¤ËÅϤ·¤¿¤¤¤Ê¤É¡¥¤½¤Î¤È¤¤Ë¤Ï call-param-rule ¥¿¥°¤Î from-stack °À¤ò»È¤¦¤ÈÎɤ¤¤é¤·¤¤¡¥
<call-method-rule methodname="methodName" paramcount="1" /> <object-create-rule classname="java.util.ArrayList" /> <call-param-rule paramnumber="1" from-stack="true" />
¤³¤ì¤Ç
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
object.callMethod(list);
¤ß¤¿¤¤¤Ê½èÍý¤ò°Ê²¼¤Î¤è¤¦¤Ë½ñ¤±¤ë¡¥
¥Ç¡¼¥¿¤Î xml
<data>
<values>
<value>aaa</value>
<value>bbb</value>
<value>ccc</value>
<value>ddd</value>
</values>
</data>
digester-rule.xml
<pattern value="data/values">
<object-create-rule classname="java.util.ArrayList" />
<call-method-rule methodname="callMethod" paramtypes="java.util.List" />
<call-param-rule paramnumber="0" from-stack="true" />
<pattern value="value">
<call-method-rule methodname="add" paramcount="1" />
<call-param-rule paramnumber="0" />
</pattern>
</pattern>
Digester ¤ÏÊØÍø¤ÇÌÌÇò¤¤¤ó¤À¤±¤É¡¤¥Ç¥Ð¥Ã¥°¤¬»à¤Ì¤Û¤É¿É¤¤¡¥
¤Þ¤¿¡¤¸Ä¿ÍŪ¤Ë¤Ï XML ¤È¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Þ¥Ã¥Ô¥ó¥°¥ë¡¼¥ë¤Ï Java ¸À¸ì¤È¤·¤Æ½ñ¤¯¤Î¤Ç¤Ï¤Ê¤¯¡¤¤½¤ì¤À¤±¤òÊ̤Υե¡¥¤¥ë¤Ë½ñ¤¯¤³¤È(¤¹¤Ê¤ï¤Á¥Þ¥Ã¥Ô¥ó¥°¥ë¡¼¥ë¤ò xml ¤Ç½ñ¤¯)¤¬Ë¾¤Þ¤·¤¤¤È»×¤Ã¤Æ¤¤¤ë¤Î¤À¤¬¡¤¸¡º÷¤·¤Æ¸«¤Ä¤«¤ë¤Î¤ÏÉáÄ̤˥롼¥ë¥ª¥Ö¥¸¥§¥¯¥È¤òºî¤Ã¤Æ Digester ¥ª¥Ö¥¸¥§¥¯¥È¤Ë addRule ¤¹¤ë¤À¤±¤Î¥µ¥ó¥×¥ë¤¬¤Û¤È¤ó¤É¤Ê¤Î¤Ç¡¤º¤¤ë¡¥
2005-12-15 Thu
¢£ DENIM ¤ÎÆüËܸ첽
Web ¥Ç¥¶¥¤¥ó¤Î¤¿¤á¤Î¥Ä¡¼¥ë¤Ç¤¢¤ë¡¥¥Ç¥â¤ò¸«¤ì¤Ð¤É¤Î¤è¤¦¤Ê´¶¤¸¤«¤¬¤ï¤«¤ë¤«¤â¡¥
¤¿¤À¡¤ÆüËܸ줬Ä̤é¤Ê¤¤¡¥¤È¤¤¤¦¤«¡¤Comic Sans MS ¥Õ¥©¥ó¥È¤¬¤¢¤ë´Ä¶¤Ê¤é¡¤¶¯À©Åª¤Ë¥Õ¥©¥ó¥È¤ò Comic Sans MS ¤Ë¤¹¤ë¤Î¤Ç¡¤º¤¤ë¡¥
¤¢¤È¡¤²èÌ̤ò¥Þ¥¦¥¹¤Î±¦¥Ü¥¿¥ó¤Ç¥É¥é¥Ã¥°¤¹¤ë¤È¡¤¥¹¥¯¥í¡¼¥ë¤¹¤ë (Adobe Reader ¤Ç PDF ¤ò¸«¤¿¤È¤¤ß¤¿¤¤¤Ë) ¤Î¤À¤¬¡¤Adobe Reader ¤È¤Ï¥¹¥¯¥í¡¼¥ë¤Î¸þ¤¤¬Á´¤¯µÕ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¤º¤¤ë¡¥
¤Ê¤Î¤Ç¡¤½¤Àµ¤·¤Æ¤ß¤¿¡¥ÆüËܸ첽¤Ë¤Ä¤¤¤Æ¤Ï¡¤¤³¤³¤Ë¤¢¤ë¤¬¡¤denim ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¸Å¤¯¡¤¤½¤Î¤Þ¤Þ¤Ç¤ÏÆüËܸ첽¤Ç¤¤Ê¤¤¡¥¹¹¤Ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¥Ú¡¼¥¸¤¬¸«¤Ä¤«¤é¤Ê¤¤¡¥»ÅÊý¤Ê¤¤¤Î¤Ç¡¤¥¯¥é¥Ã¥¯¤·¤Æ¤ß¤¿¡¥¤Á¤Ê¤ß¤Ë¡¤denim ¤Î¥é¥¤¥»¥ó¥¹¤Ï Berkeley Software License¡¥
1. denim.jar ¤òŸ³«¤¹¤ë¡¥
$ jar xvf denim.jar
2. ÆüËܸ첽
2.1. Comic Sans MS ¤ò»ØÄꤷ¤Æ¤¤¤ë²Õ½ê¤ò¸«¤Ä¤±¤ë¡¥grep ºÇ¶¯¡¥
$ grep -r Comic edu Binary file edu/berkeley/guir/denim/DenimConstants.class matches Binary file edu/berkeley/guir/denim/dialogs/TextInsertDialog.class matches Binary file edu/berkeley/guir/denim/io/SVGUtils.class matches Binary file edu/berkeley/guir/denim/TypedText.class matches
2.2. ¥Ð¥¤¥Ê¥ê¤ò½ñ¤´¹¤¨¤Æ¤â¤¤¤¤¤±¤É¡¤¤³¤³¤Ï¥Á¥¥ó¤Ë¥Ç¥³¥ó¥Ñ¥¤¥ë¡¥
$ jad edu/berkeley/guir/denim/DenimConstants.class \ > edu/berkeley/guir/denim/dialogs/TextInsertDialog.class \ > edu/berkeley/guir/denim/io/SVGUtils.class \ > edu/berkeley/guir/denim/TypedText.class
2.3. ½ÐÍ褿¥Õ¥¡¥¤¥ë (³ÈÄ¥»Ò¤¬ jad) ¤Î³ÈÄ¥»Ò¤ò java ¤ËÊѹ¹¤¹¤ë¡¥
2.4. ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò½ñ¤´¹¤¨¤ë¡¥Comic Sans MS ¤È»ØÄꤵ¤ì¤Æ¤¤¤ëÉôʬ¤ò SansSerif ¤ËÊѤ¨¤ë¡¥¤ß¤«¤Á¤ã¤ó¥Õ¥©¥ó¥È ¤¬»È¤¤¤¿¤±¤ì¤Ð¡¤¡Ö¤ß¤«¤Á¤ã¤ó¡×¡¤¤É¤»¤¤¤µ¤ó¥Õ¥©¥ó¥È ¤¬¤è¤±¤ì¤Ð¡Ö¤É¤»¤¤¤µ¤ó¡×¤È¤·¤Æ¤¯¤À¤µ¤¤¡¥»È¤¤¤¿¤¤¾ì¹ç¤Ï¤¢¤é¤«¤¸¤áOS¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡¥
2.5. ºÆ¥³¥ó¥Ñ¥¤¥ë¡¥
$ javac -d . -classpath denim.jar:denim_help.jar:... *.java
¥Ç¥³¥ó¥Ñ¥¤¥ë¤Ë jad ¤ò»È¤Ã¤¿¾ì¹ç¡¤super() ¤Î¸Æ¤Ó½Ð¤·¤¬¤Ê¤ó¤È¤«¤«¤ó¤È¤«¤ÈÅܤé¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡¥¤½¤³¤ÏŬÅö¤Ë½¤Àµ¡¥
3. ¥¸¥§¥¹¥Á¥ã¤òÊѤ¨¤ë¡¥
3.1. ¥Þ¥¦¥¹¥¸¥§¥¹¥Á¥ã¤Ï gsa ¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¥
edu/berkeley/guir/denim/data/interpreters/denim.gsa ¤òÊѹ¹¡¥
3.2. °Ê²¼¤ÎÊѹ¹¤ò¹Ô¤¦¡¥
name confusion_pan_right -> name confusion_pan_left name confusion_pan_left -> name confusion_pan_right name confusion_pan_up -> name confusion_pan_down name confusion_pan_down -> name confusion_pan_up
4. ºÆÅÙ jar ¤Ë¸Ç¤á¤ë¡¥
$ jar cvfm denim.new.jar META-INF/MANIFEST.MF edu
denim.new.jar ¤ò denim.jar ¤ËÃÖ¤´¹¤¨¤ë¤È¡¤´°À®¡¥
2005-05-26 Thu
2005-05-26 Thu
2004-10-11 Mon
¢£ Jakarta POI ¤Ç Excel ¤òÆÉ¤â¤¦
POI ¤È¤Ï
Java API To Access Microsoft Format Files
¤Ê API ¥é¥¤¥Ö¥é¥ê¡¥
Excel ¤òÆÉ¤à¤Ë¤Ï POI ¤ÎÃæ¤Î HSSF ¤ò»È¤¦¤è¤¦¤À¡¥¤È¸À¤Ã¤Æ¤â¡¤Á´¤Æ°ì¤Ä¤Î jar ¥Õ¥¡¥¤¥ë¤Ë¼ý¤Þ¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¤µ¤¤Ë¤·¤Ê¤¤¡¥
¤µ¤Æ¡¤POI ¤Ç Excel ¤òÆÉ¤à¤Î¤ËɬÍ×¤Ê¤Î¤Ï HSSFWorkbook, HSSFSheet, HSSFRow, HSSFCell ÊդꡥÁ´¤Æ org.apache.poi.hssf.usermodel ¥Ñ¥Ã¥±¡¼¥¸¤Ë°¤¹¤ë¡¥¤½¤ì¤¾¤ì¤Î°ÕÌ£¤Ï Excel ¤ÈƱ¤¸¡¥
- Workbook ¤¬°ì¤Ä¤Î Excel ¥Õ¥¡¥¤¥ë¡¥
- HSSFSheet ¤¬¥·¡¼¥È (Excel ¤Î²¼¤ÎÊý¤Î¥¿¥Ö)
- HSSFRow ¤¬¥·¡¼¥È¤ÎÃæ¤Î°ì¹Ô
- HSSFCell ¤¬°ì¤Ä¤Î¥Þ¥¹
¤ó¡¼¤Ç¡¤¤Þ¤¡¡¤ÆÉ¤ß¹þ¤à¤Ë¤Ï
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream("hoge.xls"));
HSSFSheet sheet = workbook.getSheet("sheetname");
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
String string = cell.getStringCellValue();
¤³¤ì¤Ç¡¤hoge.xls ¤Î sheetname ¥·¡¼¥È¤Î A1 ¤Ë¤¢¤ëʸ»úÎó¤òÆÉ¤à¤³¤È¤¬¤Ç¤¤ë¡¥
¥»¥ë¤ËÆþ¤Ã¤Æ¤¤¤ë¤Î¥Ç¡¼¥¿¤Î¼ïÎà¤Ë¤è¤ê¡¤ÆâÍÆ¤òÆÉ¤à¥á¥½¥Ã¥É¤¬°Û¤Ê¤ë
- ¿ôÃÍ
cell.getNumericCellValue()
- ÆüÉÕ
cell.getDateCellValue()
- ʸ»úÎó
cell.getStringCellValue()
- ¼° (¼°¤Î·ë²Ì¤ÎÃͤǤϤʤ¯¡¤¼°¤½¤Î¤â¤Î)
cell.getCellFormula()
¤ò»È¤¦¤ß¤¿¤¤¡¥
¥»¥ë¤ò¼èÆÀ¤¹¤ë¤È¤¤Î HSSFRow#getCell ¤Î°ú¿ô¤Ï short ·¿¡¥¤Ê¤ó¤Ç¤ä¤Í¤ó¤Ê´¶¤¸¤À¤¬¡¤¤Þ¤¡»ÅÊý¤Ê¤¤¡¥¤â¤·¡¤¤½¤Î¥»¥ë¤Ë²¿¤âÃͤ¬Æþ¤Ã¤Æ¤Ê¤±¤ì¤Ð null ¤òÊÖ¤¹¡¥HSSFSheet#getRow ¤âƱ¤¸¤¯¡¥
¤Á¤Ê¤ß¤Ë¡¤¥»¥ë¤Î¥¹¥¿¥¤¥ë (±¦´ó¤»¤È¤«¡¤ÇØ·Ê¿§¤È¤«) ¤ò¼èÆÀ¤·¤¿¤¤¾ì¹ç¤Ï HSSFCell#getCellStyle ¤ò»È¤¨¤Ð¤¤¤¤¤è¤¦¤À¡¥get ¤ò create ¤ËÊѤ¨¤ë¤È¡¤¿·¤·¤¯¤½¤Î¥Ç¡¼¥¿¤òºîÀ®¤¹¤ë¤³¤È¤Ë¤Ê¤ë¡¥
¤Á¤Ê¤ß¤Ë¡¤¤³¤³¤Ë½ñ¤¤¤¿ÆâÍÆ¤Ï HSSF - HOWTO ¤È Javadocs ¤òį¤á¤¿¤À¤±¤Ç½ñ¤¤¤¿¤â¤Î¤À¡¥¥°¥é¥Õ¤ò°·¤¦ÊýË¡¤Þ¤Ç¤ÏÆÉ¤ó¤Ç¤Ê¤¤¤·¡¤ÃΤé¤Ê¤¤¡¥Windows ¤Ç»È¤¦Ê¬¤Ë¤ÏÆüËܸì¤ËÌäÂê¤Ï¤Ê¤«¤Ã¤¿¡¥
¤ó¡¼¤Ã¤È¡¤maven ¤Î¥Ç¥Õ¥©¥ë¥È¥ê¥â¡¼¥È¥ê¥Ý¥¸¥È¥ê¤Ë¤Ï¸Å¤¤¥Ð¡¼¥¸¥ç¥ó (2.0-final-20040126) ¤·¤«¤Ê¤¤¤Î¤Ç¡¤Jakarta ËÜ²È ¤«¤é 2.5.1-final-20040804 ¤ò¼è¤Ã¤Æ¤¤Æ¡¤${user.home}/.maven/repository/poi/jars/ °Ê²¼¤ËÃÖ¤¯¡¥
¤³¤ì¤Ç maven ¤Ç¤âºÇ¿·ÈǤΠpoi ¤¬»È¤¨¤ë¡¥
2004-08-29 Sun
¢£ invokespecial ¤Ë´Ø¤·¤Æ¤Á¤ç¤Ã¤È´ª°ã¤¤
º£¤Þ¤Ç»ä¤Ï invokespecial ¤Ï¥³¥ó¥¹¥È¥é¥¯¥¿¤Î¸Æ¤Ó½Ð¤·¤Î¤ß¤Ë»È¤ï¤ì¤ë¤â¤Î¤À¤È»×¤Ã¤Æ¤¤¤¿¤Î¤À¤¬¡¤
¤½¤ì¤À¤±¤¸¤ã¤Ê¤«¤Ã¤¿¤è¤¦¤À¡¥
invokespecial ¤Ç¸Æ¤Ó½Ð¤µ¤ì¤ë¤Ù¤¥á¥½¥Ã¥É¤Ï
- ¥¤¥ó¥¹¥¿¥ó¥¹½é´ü²½¥á¥½¥Ã¥É (<init>)
- this¥ª¥Ö¥¸¥§¥¯¥È¤Îprivate¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É
- super¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É
¤Ê¤¼¡¤¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É¤Ê¤Î¤Ë¡¤invokevirtual ¤Ç¸Æ¤Ó½Ð¤µ¤ì¤Ê¤¤¤Î¤À¤Èº¤¤Ã¤Æ¡¤
Ä´¤Ù¤Æ¤ß¤ë¤È¡¤¤³¤¦¤Ç¤¹¤«¡¥
°ÅÌÛŪ¤Ë»×¤¤¤³¤à¤Î¤Ï¥À¥á¤À¤Ê¡¥
2004-08-28 Sat
¢£ ¥ª¥Ú¥é¥ó¥É¥¹¥¿¥Ã¥¯¤«¤é¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤Îºï½ü
¥ª¥Ú¥é¥ó¥É¥¹¥¿¥Ã¥¯¤Ë
arrayref
arrayref
value
arrayref
arrayref
¤È¤¤¤¦¤â¤Î¤¬ÀÑ¤Þ¤ì¤Æ¤¤¤ë¤È¤¡¤POP2 ¤ò»È¤Ã¤Æ¾å¤Î arrayref Æó¤Ä¤ò¾Ã¤½¤¦¤È¤·¤¿¡¥
Verify ¥¨¥é¡¼¤Ë¤Ê¤Ã¤¿¡¥
POP, POP ¤È POP ¤ò 2 ²ó»È¤¦¤È Verify ¥¨¥é¡¼¤¬µ¯¤³¤é¤Ê¤«¤Ã¤¿¡¥
»ÅÍͤò¸«¤Æ¤ß¤ë¤È¡¤
POP2 ¤Ï 2 ¥ï¡¼¥É¤Î¥Ç¡¼¥¿¤«¡¤¤â¤·¤¯¤Ï 1 ¥ï¡¼¥É¤Î¥Ç¡¼¥¿ 2 ¤Ä¤ËÂФ·¤Æ¤Î¤ß»È¤¨¤ë
¤È¤¢¤ë¡¥
¤Ê¤¼¤À¡¥¤Þ¤¡¡¤POP 2 ²ó¤Ç²ò·è¤·¤Æ¤ë¤«¤é¤¤¤¤¤±¤É¤µ¡¥
Java²¾ÁÛ¥Þ¥·¥ó»ÅÍÍ (pp.264) ¤Ç³Îǧ¡¥
»Äǰ¤Ê¤¬¤é¡¤Âè1ÈǤÎÊý¡¥
»È¤Ã¤¿ Verifier ¤Ï BCEL ¤Î org.apache.bcel.verifier.Verifier
2004-08-18 Wed
¢£ jakarta-commons digester
<root>
<properties>
<property>
<name>name</name>
<value>value</value>
</property>
</properties>
</root>
¤Î¤è¤¦¤Ê¤â¤Î¤Ç¡¤java.util.Properties ¤Ë¥»¥Ã¥È¤·¤¿¤¤¾ì¹ç¡¤xmlrule ¤Ï°Ê²¼¤Î¤è¤¦¤Ë½ñ¤±¤ÐÎɤ¤¤è¤¦¤À¡¥
<digester-rules>
<object-create-rule pattern="root" classname="java.util.Properties" />
<pattern value="root/properties/property">
<call-method-rule methodname="setProperty" paramcount="2"/>
</pattern>
<pattern value="root/properties/property/name">
<call-param-rule paramnumber="0" />
</pattern>
<pattern value="root/properties/property/value">
<call-param-rule paramnumber="1" />
</pattern>
</digester-rules>
¤¿¤Ã¤¿¤³¤ì¤À¤±¤òÄ´¤Ù¤ë¤Î¤Ë 2 »þ´Ö¤Û¤É¤«¤«¤Ã¤¿¡¥
call-method-rule ¤Î°À¤Î methodname ¤ò methodName ¤È¤·¤Æ¤¤¤¿¤Î¤Ç¤Ï¤Þ¤Ã¤Æ¤¤¤¿¤Î¤ÏÆâ½ï¡¥
2004-03-16 Tue
¢£ ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë Swing ¤Î Look & Feel ¤òÊѹ¹¤¹¤ë¥á¥Ë¥å¡¼
final UIManager.LookAndFeelInfo[] info = UIManager.getInstalledLookAndFeels();
JMenu laf = new JMenu();
laf.setText("Look & Feel");
for(int i = 0; i < info.length; i++){
final int index = i;
JMenuItem item = new JMenuItem();
item.setText(info[i].getName());
laf.add(item);
item.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
UIManager.setLookAndFeel(info[index].getClassName());
SwingUtilities.updateComponentTreeUI(BirthmarkFrame.this);
} catch(Exception ee){
}
}
});
}
return laf;
¤³¤ó¤Ê¤ó¤ÇÂç¾æÉפΤϤº¡¥
2004-02-07 Sat
¢£ rm * Âкö:
rm * ¤·¤Æµã¤¤¤Á¤ã¤¦¤è¤¦¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï'-i'¤È¤¤¤¦Ì¾Á°¤Î¶õ¥Õ¥¡¥¤¥ë¤òÃÖ
¤¤¤Æ¤ª¤¤Þ¤·¤ç¤¦¡£
rm -f -i ¤À¤È-i¤¬Í¥Àè¤À¤«¤é¡£
¤ª¤©¡¥Ìܤ«¤éÎÚ¡¥ÁÇÀ²¤é¤·¤¤¡¥
2003-12-12 Fri
¢£ ¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤µ¤»¤¿¤¤¾ì¹ç
Action#execute Æâ¤Ç
response.setContentType("application/x-octet-stream");
InputStream in = getInputStream();
OutputStream out = response.getOutputStream();
int data;
while((data = in.read()) != -1) out.write(data);
return null;
¤È¤¹¤ì¤Ð¤è¤¤¤é¤·¤¤¡¥
ºÇ¸å¤Ï null ¤òÊÖ¤¹¤Î¤¬¥ß¥½¡¥
¤Á¤Ê¤ß¤Ë¡¤¥À¥¦¥ó¥í¡¼¥É¤µ¤»¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò·è¤á¤ë¤Ë¤Ï
response.setHeader("Content-Disposition", "inline; filename=\"filename.dat\"");
¤È¤¹¤ì¤ÐÎɤ¤¤è¤¦¤À¡¥
»²¹Í
<http://www.janit.com/TechnoInf/Java/Struts1.1b3/userGuide/building_view.html#text_rendering>
<http://java-house.jp/ml/archive/j-h-b/027672.html>
2003-10-31 Fri
¢£ Iterator ¤ò Enumeration ¤È¤·¤Æ°·¤¦
IteratorEnumeration ¤Ê¤ë¤â¤Î¤ò»È¤¦¤«¡¤
java.util.Collections#enumeration(Collection)
¤ò»È¤¦¡¥
java.util.Collections ¤Ï¿§¡¹¤Ç¤¤ë¡¥
2003-10-13 Mon
¢£ Torque
generator ¤Ï torque.jar ¤Ë´Þ¤Þ¤ì¤Ê¤¤¤Î¤Í¡¦¡¦¡¦¡¥
¤ó¤Ç¤â¤Ã¤Æ¡¤$TORQUE_HOME/src/generator/ ¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤è¤¦¤È»×¤¦¤â¡¤
build.xml ¤¬¤Ê¤¤¡¥¥³¥ó¥Ñ¥¤¥ë¤Ë maven ¤ò»È¤¦¤Î¤«¡¥
Maven ¤ÏÎɤ¯ÃΤé¤Ê¤¤¤ó¤À¤¬¤Ê¤¡¤È»×¤¤¤Ä¤Ä¡¤¥³¥ó¥Ñ¥¤¥ë¤·¤è¤¦¤È¤¹¤ë¡¥
jndi-1.2.1, jdbc-2.0 ¤¬¼èÆÀ¤Ç¤¤Ê¤¤¤È¸À¤ï¤ì¤ë¡¥
maven ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ beta9 ¤À¤Ã¤¿¤Î¤Ç¡¤rc1 ¤Ë¤·¤Æ¤ß¤ë¡¥
¤½¤ì¤Ç¤âƱ¤¸¤â¤Î¤¬¼èÆÀ¤Ç¤¤Ê¤¤¡¥»ÅÊý¤Ê¤¤¤Î¤Ç¡¤
$MAVEN_REPOSITORY/jndi/jars ¤È $MAVEN_REPOSITORY/jdbc/jars °Ê²¼¤Ë
¤½¤ì¤¾¤ì¡¤$TORQUE_HOME/lib/ ¤Ë¤¢¤ë jndi-1.2.1.jar, jdbc-2.0.jar ¤òÆþ¤ì¤ë¡¥
¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤¿¡¥
2003-10-10 Fri
¢£ ShiftJIS
¡ÖͽÌó¡×¤ä¡Öɽ¼¨¡×¤È¤¤¤¦Ê¸»úÎó¤ò cygwin + C, perl ¤Ê¤ó¤«¤Ç½ÐÎϤ·¤è¤¦¤È¤¹¤ë¤È¡¢
ʸ»ú²½¤±¤¹¤ë¡£
¤³¤ì¤Ï Shift JIS ¤ÎÌäÂê¡£
¡Öͽ¡×¤ä¡Öɽ¡×¤È¤¤¤¦Ê¸»ú¤Î 2 ¥Ð¥¤¥ÈÌÜ¤Ë 0x5c(\) ¤¬Æþ¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢
¡ÖÌó¡×¤ä¡Ö¼¨¡×¤Îʸ»ú¤Î 1 ¥Ð¥¤¥ÈÌܤ¬¥¨¥¹¥±¡¼¥×¤µ¤ì¡¢·ë²Ì¤È¤·¤Æ²½¤±¤ë¤â¤Î¡£
Shift JIS ¤ò¤ä¤á¤ë¤«¡¢¡Öͽ\Ìó¡×¡Öɽ\¼¨¡×¤Î¤è¤¦¤Ë¤¹¤ë¤ÈÂç¾æÉס£
¤³¤ÎÌäÂê¤ò»ý¤Äʸ»ú¤Ï°Ê²¼¤ÎÄ̤ꡣ0x5c ¤¬ \ ¤ò¤¢¤é¤ï¤¹ ASCII ¥³¡¼¥É¡£
¥½(0x835c), ±½(0x895c), ³½(0x8a5c), µ½(0x8b5c), ·½(0x8c5c), ¹½(0x8d5c), »½(0x8e5c)
½½(0x8f5c), ¿½(0x905c), Á½(0x915c), ý(0x925c), Ž(0x935c), ǽ(0x945c), ɽ(0x955c)
˽(0x965c), ͽ(0x975c), Ͻ(0x985c), ѽ(0x995c), ӽ(0x9a5c), ս(0x9b5c), ׽(0x9c5c)
Ù½(0x9d5c), Û½(0x9e5c), ݽ(0x9f5c), ß½(0xe05c), á½(0xe15c), ã½(0xe25c), å½(0xe35c)
ç½(0xe45c), é½(0xe55c), ë½(0xe65c), í½(0xe75c), ï½(0xe85c), ñ½(0xe95c), ó½(0xea5c)
¤À¤«¤é¡¢±½Ïᢵ½¤¯¡¢¹½Â¤¡¢½½²ó¡¢¿½¤¹¡¢Ã½¿Ú¡¢Å½¤ë¡¢Ç½ÎÏ¡¢É½¸½¡¢Ë½ÎÏ¡¢Í½ËÉ¡¢Ï½¹â¡¢Ó½·ì¡¢ç½Éô
¤Ê¤ó¤«¤Ïʸ»ú²½¤±¤¹¤ë¡£
°Ê²¼¤Î¥×¥í¥°¥é¥à¤Çɽ¼¨¤µ¤ì¤¿¤â¤Î¤òÎóµó¤·¤¿¤À¤±¤À¤¬¡£
#include <stdio.h>
int main(int argc, char *argv[]){
int i;
for(i = 0; i < 256; i++){
if((i & 0x80) == 0x80){ /* 0x80 ¤Î¥Ó¥Ã¥È¤¬Íî¤Á¤Æ¤¤¤ë¤È ASCII ¤Ê¤Î¤Ç
Ω¤Ã¤Æ¤¤¤ë¤â¤Î¤Î¤ß¤òɽ¼¨¤¹¤ë */
printf("%c%c(0x%x%x)\n", i, '\\', i, '\\');
}
}
}
2003-03-30 Sun
¢£ ¿·´´Àþ¤Ç¤Î°ÜÆ°Ãæ
Torque ¤Ë¤Ä¤¤¤Æ¤Ë¿·¤·¤¤ tips ¤òºÜ¤»¤È¤¤¤¿¡£
<http://oikaze.com/~tamada/Products/torque/>





