Åê¹ÆÎý½¬(73, 0)
 ¾ã³²¾ðÊó(18, 0)
 »¨ÃÌ(871, 0)
 ¶È̳Êó¹ð(284, 0)
 Vineseed¤ËZope(623, 0)
 ImgBBS(14, 0)
 ¥á¥â(32, 0)
 eclipse(6, 0)
¡¡¡¡

¥á¥â

zope-memo ¤ÎÍ­±×¤Ê¾ðÊó¤ä¥á¥â¡õ³Ð½ñ

Åê¹Æ²èÌ̤Îɽ¼¨¤ò 

¸¡º÷ʸ»ú 

¤ªÌ¾Á°  EMail 
 º¸¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¿ôÃͤòÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ 

0032 0026 0016 0006

16 kiyo 2003ǯ12·î11Æü 18»þ30ʬ Id=kiyo

>>15¡¡Ê¸»ú¤Î¥¨¥¹¥±¡¼¥×¥³¡¼¥É¤Î¤³¤È¤Ç¤¹¤« (Python ¥Æ¥¯¥Ë¥«¥ë¥ê¥Õ¥¡¥ì¥ó¥¹ p22)
¤¦¡¢ºÇ¶á¾¿ÍÍͤΥ½¡¼¥¹¤Ð¤«¤êį¤á¤ÆËܯɤó¤Ç¤Ê¤¤¡ÊËܤθºß¤µ¤¨Ëº¤ì¤ë·ò˺¾É^^)
¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤Æwindows»î¤·¤¿ print ɽ ¤Ç OK¤Ç¤·¤¿¡£
 
¤Þ¤¿¤Þ¤¿ÃѤº¤«¤·¤¤¤±¤É¡¢¤¹¤°Ëº¤ì¤ë¤Î¤Ç¥á¥â
xxx.src.rpm ¤Ï¡¡rpm -i xxx.src.rpm ¤Ç SPEC¥Õ¥¡¥¤¥ë¤¬¤Ç¤­¤ë¤ó¤À¤Ê¤¢
¼«Ê¬¤Î´Ä¶­¤ËSPEC¥Õ¥¡¥¤¥ë¤ò½ñ¤­´¹¤¨¤Æ¡Ê²ò¤é¤Ê¤¤¤Î¤Ç´¶¤ÇÊÔ½¸ ´À;;¡Ë
¸¡ºº rpm -bi xxx.spec ¡õ rpm -bc xxx.spec ¤¹¤ë
¥¨¥é¡¼¤¬¤Ç¤¿¤é¤Þ¤¿Å¬Åö¤ËSPEC¥Õ¥¡¥¤¥ë¤òÊÔ½¸
¤¦¤Þ¤¯¤¤¤Ã¤¿¤é rpm -bb xxx.spec ¤Ç rpm ¥Õ¥¡¥¤¥ë¤òºîÀ®
 
¤Ø¤Ø¡¢Zope-2.6.2 + Python-2.2.3 ¤À¤Ã¤¿¤Î¤Ç owa ¤µ¤ó¤Î rpm ¤¬Æþ¤é¤Ê¤«¤Ã¤¿¤Î¤¬
¤¦¤Þ¤¯Æþ¤ì¤ë»ö¤Ç¤­¤¿¤¢¡Á
¤Á¤Ê¤ß¤Ë egenix-mx-base-2.0.5, psycopg-1.1.10 ¤¬¹¹¿·¤Ç¤­¤¿¡£¤¦¤ì¤·¤¤¡ª¡ª



15 owa 2003ǯ12·î11Æü 15»þ 3ʬ Id=owa

>>14
ʸ»ú¤Î¥¨¥¹¥±¡¼¥×¥³¡¼¥É¤Î¤³¤È¤Ç¤¹¤« (Python ¥Æ¥¯¥Ë¥«¥ë¥ê¥Õ¥¡¥ì¥ó¥¹ p22)
¤À¤Ã¤¿¤é¤³¤ì¤¬¤¹¤Ù¤Æ¤¸¤ã¤Ê¤¤¤«¤Ê¡£
 
'%%' »È¤¦»þ¤Ã¤Æ¡¢¤³¤¦¤¤¤¦¤³¤È
>>> print '%d%' % 100
ValueError: incomplete format
>>> print '%d%%' % 100
100%
 
ÄÉ¿®: Windows ¤Î¾ì¹ç
>>> print 'ɽ'
¤È¤«¤Ç¤­¤ë¤Î¤«¤Ê¡¢¤ä¤Ã¤Ñ¤ê¢­¤«¤Ê
>>> print 'ɽ\'



14 kiyo 2003ǯ12·î11Æü 10»þ46ʬ Id=kiyo

¥×¥í¥À¥¯¥ÈÆâÉô¤Î python ¤è¤ê Zope ¥Õ¥©¥ë¥ÀÆâ¤Ø¥Æ¥­¥¹¥È¤òÊݸ¤¹¤ë¾ì¹ç
% , \ Åù¡¡%%, \\¤È½ñ¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¡£
¾¤â¤¢¤ë¤«¤Ê¡©
 
¼«Ê¬¤Î°Ù¤Îñ¤Ê¤ë¥á¥â¤Ç¤¹¡£



13 kiyo 2003ǯ12·î 2Æü 16»þ23ʬ Id=kiyo

SHA ¤Ç¤Î°Å¹æ²½
import sha, binascii
def sha_passwd(passwd):
    """
    """
    return binascii.b2a_base64(sha.new(passwd).digest())[:-1]
 
¤³¤ì¸Æ¤Ó½Ð¤»¤Ð°Å¹æ²½¤Ç¤­¤ë¡£´Êñ¤À¤¢



12 kiyo 2003ǯ11·î26Æü 1»þ 1ʬ Id=kiyo

UTF-8 ¤Î¥á¥â ¸å¤Û¤É¤ªÊÙ¶¯ÍѤˡª¡ª
­¡UTF-8
¡¡UTF-8¤Ï¡¤4¥Ð¥¤¥È¤ÎUCS-4¤ò1¡Á6¥Ð¥¤¥È¤Þ¤Ç¤Î²ÄÊÑŤˤ¹¤ë¤â¤Î¤Ç¡¤¤ª¤â¤Ë¥Ç¡¼¥¿¤Î°µ½Ì¤òÌÜŪ¤È¤·¤Æ¤¤¤ë¡£
¡¡¤Þ¤º¡¤ISO 10646¤Î¡Ö0000 0000¡Á0000 007F¡×¡Ê16¿Êɽµ­¡Ë¤Þ¤Ç¤ò¡Ö0xxx xxxx¡×¡Ê0¤È1¤Î¥Ó¥Ã¥Èɽµ­¡§¤³¤³¤Ç¤Ï1¥Ð¥¤¥È¤Ë¤Ê¤ë¡Ë¤Çɽ¤ï¤¹¡£
¡¡¼¡¤Î¡Ö0000 0080¡Á0000 07FF¡×¤Þ¤Ç¤Ï¡¤1¥Ð¥¤¥ÈÌܤò110¡¤2¥Ð¥¤¥ÈÌܤò10¤Ç»Ï¤á¤ë¡Ö1110 xxxxx 10xxx xxx¡×¡Ê2¥Ð¥¤¥È¡Ë¤Çɽ¤ï¤¹¡£
¡¡Æ±Íͤ˼¡¤Î¡Ö0000 0800¡Á0000 FFFF¡×¤Ï¡Ö1110 xxxx 10xx xxxx 10xx xxxx¡×¡Ê3¥Ð¥¤¥È¡Ë¤Çɽ¤ï¤¹¡£
¡¡¤³¤¦¤¹¤ì¤ÐASCIIʸ»ú¤Ï1¥Ð¥¤¥È¤ÇºÑ¤ß¡¤¡Ö0000 0080¡Á0000 07FF¡Ê¤«¤Ê¤ËÁêÅö¤¹¤ëÉôʬ¡Ë¡×¤ÏÆüËܸì¤Î¤Ò¤é¤¬¤Ê¡¦¥«¥¿¥«¥Ê¤ä¥è¡¼¥í¥Ã¥Ñ¤Îʸ»ú¤Þ¤ÇÆþ¤ì¤Æ2¥Ð¥¤¥È¤ÇºÑ¤à¡£¤µ¤é¤Ë3¥Ð¥¤¥È¤Ç´Á»ú¤ò´Þ¤á¤¿BMP¤¬Á´Éô¼ý¤Þ¤ë¤³¤È¤Ë¤Ê¤ë¡£
¡¡UTF-8¤Ï¡¤½¾Íè¤ÎASCII¤È´Êñ¤Ë¥³¥ó¥Ð¡¼¥È¤Ç¤­¤ÆÊØÍø¤Ê¤Î¤ÇJava¤ÎÆâÉôŪ¤Ê½èÍý¤Ê¤É¤Ç¤¹¤Ç¤Ë»È¤ï¤ì¤Æ¤¤¤ë¡£ÌäÂê¤Ï¡¤´Á»ú¤ÏUCS-2¤Ç¤Ï2¥Ð¥¤¥È¤Ê¤Î¤ËUTF-8¤Ë¤¹¤ë¤È3¥Ð¥¤¥È¤Ë¤Ê¤Ã¤Æ°µ½Ì¤Ë¤Ê¤é¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ë¤³¤È¤Ç¤¢¤ë¡£¤³¤Î¤¿¤áUTF-8¤Ï±Ñ¸ì·÷¤Î¤¿¤á¤ÎÊýË¡¤È¤¤¤Ã¤Æ¤è¤¤¤È»×¤¦¡£



11 kiyo 2003ǯ11·î18Æü 23»þ52ʬ Id=kiyo

¥Ý¥¹¥°¥ì( psycopg )ÈǤǤλö¤À¤±¤É¡¢ ZSQLMethod Æâ¤ËÄ̾ï½ñ¤«¤Ê¤¤ SQL ʸ¤ò½ñ¤¤¤¿»þ¤ËÊѤʸ½¾Ý
create table hoge (
a1 SERIAL ¤È¤«¡¢
a2 bytea ¤È¤«
)
¤¬¤¢¤ë¾ì¹ç¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ®Ä¾¸å¤Ç¤Ï¤¦¤Þ¤¯¥Æ¡¼¥Ö¥ë¤¬ºîÀ®¤Ç¤­¤ë¤Î¤À¤¬¡¢
°ìöºï½ü¤·¤¿¤é¡¢Æ±¤¸ SQL ʸ¤Ç¤â¥¨¥é¡¼¤Ë¤Ê¤ë¡£
¤Ê¤ó¤Ç¤À¤í¤¦¡¢
¤Ê¤ó¤Ç¤À¤í¤¦¡Á¡¢¤Ê¤ó¤Ç¤À¤í¤¦¡£



10 kiyo 2003ǯ11·î18Æü 23»þ42ʬ Id=kiyo

psycopg ¤Ç blob ¤ÎInsert into ¤Ë²¿ÅÙ¤ä¤Ã¤Æ¤â¼ºÇÔ¤¹¤ë¡£
Ʊ¤¸¤ä¤êÊý¤Ç Firebird ¤Ï²¿¤È¤â¤Ê¤¤¡£
¤Ê¤¼¡©¤Ã¤È»×¤Ã¤¿¤é
¤­¤Á¤ó¤È·¿ÊÑ´¹(int ¤Ç°ú¤Ã¤«¤«¤Ã¤Æ¤¤¤¿)¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤¬¸¶°ø¤À¤Ã¤¿¡£
 
¶µ·±¡§
DBAPI ¤Ç¤Î SQL ʸ¤Ï ·¿ÊÑ´¹¤Ï¤È¤Ã¤Æ¤â½ÅÍפÀ¡£
¤â¤Ã¤È¤â¸úΨŪ¤Ê¤ä¤êÊý¤Ï¡¢°ú¿ô¤ò¤â¤é¤Ã¤¿¥á¥¾¥Ã¥È¦¤Ç·¿ÊÑ´¹¤¹¤ë»ö
¤³¤ì¤«¤é¤Ï¤³¤Î¤ä¤êÊý¤ò½¬´·ÉÕ¤±¤ë»ö¤Ë¤·¤è¤¦¡£



9 kiyo 2003ǯ11·î11Æü 19»þ22ʬ Id=kiyo

¥Õ¥©¡¼¥à¤Ë¥Ü¥¿¥ó¤òÊ£¿ô¸ÄºîÀ®¤·¤Æ¤½¤ì¤¾¤ì¤Ë¥³¥Þ¥ó¥É¤ò½ñ¤¯¾ì¹ç
-------
<form method="POST">
<input type="submit" name="hoge1:method" value="hoge1">
<input type="submit" name="hoge2:method" value="hoge2">
</form>
---------
¤Î¤è¤¦¤Ëº£¤Þ¤Ç½ñ¤¤¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢
ËÜÆü²¿ÅÙ¸«Ä¾¤·¤·¤Æ¤â¥³¥Þ¥ó¥É¤ØÈô¤ó¤Ç¤¯¤ì¤Ê¤«¤Ã¤¿¡£
º£¤Þ¤Ç¤È°ã¤¦¤È¸À¤¨¤Ð¥Õ¥ì¡¼¥à¤ò»È¤Ã¤¿»ö¤À¤±¤À¤¬¡¢
¥Õ¥ì¡¼¥à»È¤¦¤ÈÉÔ¶ñ¹ç¤Ç¤ë¤Î¤«¤Ê¤¢¡©
¿§¡¹»î¤·¤¿·ë²Ì
-------
<form action="./" method="POST">
<input type="submit" name="hoge1:method" value="hoge1">
<input type="submit" name="hoge2:method" value="hoge2">
</form>
---------
action ¤òÁÞÆþ¤¹¤ë¤È»×¤Ã¤¿¤è¤¦¤Ëư¤¤¤Æ¤¯¤ì¤¿¡£
action="aho" ¤È¤«½ñ¤¤¤Æ hoge1 ¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È xxx/aho/hoge1
¤È¤Ê¤Ã¤¿»ö¤«¤é¡¡action="./" ¤Ê¤é¤É¤¦¤À¡£¤Ã¤Æ´¶¤¸¤Ç¤ä¤Ã¤¿¤Î¤Ç¤·¤¿¡£
 
# ÃΤäƤ¤¤ë¿Í¤Ï¾Ð¤Ã¤Æ¤¤¤ë¤À¤í¤¦¤Ê¤¢
# »ä¤Ï¤³¤ì¤Ë´Ý°ìÆüÈñ¤ä¤·¤Æ¤·¤Þ¤Ã¤¿¡£



8 kiyo 2003ǯ 9·î 9Æü 13»þ 4ʬ Id=kiyo

Firebird(interbase) ¤Ë¤Æ¡¢¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ë¾ì¹çÄÌ¾ï¥Æ¡¼¥Ö¥ë̾¡¢¥Õ¥£¡¼¥ë¥É̾¤ÏÂçʸ»ú¤Ë¤Ê¤ë¡£
 
create table "hogetable"(
"hoge1" integer NOT NULL,
"hogebody" varchar(128) character set EUCJ_0208,
PRIMARY KEY("hoge1")
)
¤Î¤è¤¦¤Ë""¤Ç¤¯¤¯¤ë¤È¾®Ê¸»ú¤ÇÅÐÏ¿¤µ¤ì¤ë»ö¤òȯ¸«¤·¤¿¡£
¤·¤«¤·¡¢Python Database API¤Ë¤Æ¡¡Insert¡¡Åù½èÍý¤·¤è¤¦¤È¤¹¤ë¤È¡¢¤½¤ó¤Ê¥Æ¡¼¥Ö¥ë̾¤Ï¸«¤Ä¤«¤é¤Ê¤¤¤È¤Ç¤ë¡£
¸¶°øÉÔÌÀ¤À¤¬¡¢°ì±þ¥á¥â



7 kiyo 2003ǯ 8·î11Æü 13»þ38ʬ Id=kiyo

LocalFS ¤¬¡¢context.manage_addProduct['LocalFS'].manage_addLocalFS(***)¤Ç¥¨¥é¡¼¤¬¤Ç¤ë¡£
 
Âкö¡§
LocalFS ¥Õ¥©¥ë¥À¤ÎLocalFS.py ¤ò³«¤­°Ê²¼¤Î¤è¤¦¤Ë½¤Àµ¤¹¤ë¡£
 
1351: ob = LocalFS(id, title, basepath, username, password)
1352: self._setObject(id, ob)
1353: if REQUEST is not None:(¤³¤ì¤ò²Ã¤¨¤ë¡Ë
1354: ¡¡¡¡return self.manage_main(self, REQUEST)
 
Íýͳ¡§Zope Bible P195 ¤Çȯ¸«¡£
context.manage_addProduct['LocalFS'].manage_addLocalFS(***)
¤Ç¸Æ¤Ó½Ð¤¹¤È¡¢REQUEST ¤Ë None ¤¬ÅϤµ¤ì¤ë°Ù¤À¤í¤¦
Ê̤Υץí¥À¥¯¥È¤Ç¤â¤¢¤ë¤«¤âÃΤì¤Ê¤¤¡Ê¤«¤Ê¡©¡Ë