|
|
¡¡¡¡
¥á¥â
zope-memo ¤ÎͱפʾðÊó¤ä¥á¥â¡õ³Ð½ñ
>>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 ¤¬¹¹¿·¤Ç¤¤¿¡£¤¦¤ì¤·¤¤¡ª¡ª
>>14 ʸ»ú¤Î¥¨¥¹¥±¡¼¥×¥³¡¼¥É¤Î¤³¤È¤Ç¤¹¤« (Python ¥Æ¥¯¥Ë¥«¥ë¥ê¥Õ¥¡¥ì¥ó¥¹ p22) ¤À¤Ã¤¿¤é¤³¤ì¤¬¤¹¤Ù¤Æ¤¸¤ã¤Ê¤¤¤«¤Ê¡£ '%%' »È¤¦»þ¤Ã¤Æ¡¢¤³¤¦¤¤¤¦¤³¤È >>> print '%d%' % 100 ValueError: incomplete format >>> print '%d%%' % 100 100% ÄÉ¿®: Windows ¤Î¾ì¹ç >>> print 'ɽ' ¤È¤«¤Ç¤¤ë¤Î¤«¤Ê¡¢¤ä¤Ã¤Ñ¤ê¢¤«¤Ê >>> print 'ɽ\'
¥×¥í¥À¥¯¥ÈÆâÉô¤Î python ¤è¤ê Zope ¥Õ¥©¥ë¥ÀÆâ¤Ø¥Æ¥¥¹¥È¤òÊݸ¤¹¤ë¾ì¹ç % , \ Åù¡¡%%, \\¤È½ñ¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¡£ ¾¤â¤¢¤ë¤«¤Ê¡© ¼«Ê¬¤Î°Ù¤Îñ¤Ê¤ë¥á¥â¤Ç¤¹¡£
SHA ¤Ç¤Î°Å¹æ²½ import sha, binascii def sha_passwd(passwd): """ """ return binascii.b2a_base64(sha.new(passwd).digest())[:-1] ¤³¤ì¸Æ¤Ó½Ð¤»¤Ð°Å¹æ²½¤Ç¤¤ë¡£´Êñ¤À¤¢
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¤Ï±Ñ¸ì·÷¤Î¤¿¤á¤ÎÊýË¡¤È¤¤¤Ã¤Æ¤è¤¤¤È»×¤¦¡£
¥Ý¥¹¥°¥ì( psycopg )ÈǤǤλö¤À¤±¤É¡¢ ZSQLMethod Æâ¤ËÄ̾ï½ñ¤«¤Ê¤¤ SQL ʸ¤ò½ñ¤¤¤¿»þ¤ËÊѤʸ½¾Ý create table hoge ( a1 SERIAL ¤È¤«¡¢ a2 bytea ¤È¤« ) ¤¬¤¢¤ë¾ì¹ç¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ®Ä¾¸å¤Ç¤Ï¤¦¤Þ¤¯¥Æ¡¼¥Ö¥ë¤¬ºîÀ®¤Ç¤¤ë¤Î¤À¤¬¡¢ °ìöºï½ü¤·¤¿¤é¡¢Æ±¤¸ SQL ʸ¤Ç¤â¥¨¥é¡¼¤Ë¤Ê¤ë¡£ ¤Ê¤ó¤Ç¤À¤í¤¦¡¢ ¤Ê¤ó¤Ç¤À¤í¤¦¡Á¡¢¤Ê¤ó¤Ç¤À¤í¤¦¡£
psycopg ¤Ç blob ¤ÎInsert into ¤Ë²¿ÅÙ¤ä¤Ã¤Æ¤â¼ºÇÔ¤¹¤ë¡£ Ʊ¤¸¤ä¤êÊý¤Ç Firebird ¤Ï²¿¤È¤â¤Ê¤¤¡£ ¤Ê¤¼¡©¤Ã¤È»×¤Ã¤¿¤é ¤¤Á¤ó¤È·¿ÊÑ´¹(int ¤Ç°ú¤Ã¤«¤«¤Ã¤Æ¤¤¤¿)¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤¬¸¶°ø¤À¤Ã¤¿¡£ ¶µ·±¡§ DBAPI ¤Ç¤Î SQL ʸ¤Ï ·¿ÊÑ´¹¤Ï¤È¤Ã¤Æ¤â½ÅÍפÀ¡£ ¤â¤Ã¤È¤â¸úΨŪ¤Ê¤ä¤êÊý¤Ï¡¢°ú¿ô¤ò¤â¤é¤Ã¤¿¥á¥¾¥Ã¥È¦¤Ç·¿ÊÑ´¹¤¹¤ë»ö ¤³¤ì¤«¤é¤Ï¤³¤Î¤ä¤êÊý¤ò½¬´·ÉÕ¤±¤ë»ö¤Ë¤·¤è¤¦¡£
¥Õ¥©¡¼¥à¤Ë¥Ü¥¿¥ó¤òÊ£¿ô¸ÄºîÀ®¤·¤Æ¤½¤ì¤¾¤ì¤Ë¥³¥Þ¥ó¥É¤ò½ñ¤¯¾ì¹ç ------- <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="./" ¤Ê¤é¤É¤¦¤À¡£¤Ã¤Æ´¶¤¸¤Ç¤ä¤Ã¤¿¤Î¤Ç¤·¤¿¡£ # ÃΤäƤ¤¤ë¿Í¤Ï¾Ð¤Ã¤Æ¤¤¤ë¤À¤í¤¦¤Ê¤¢ # »ä¤Ï¤³¤ì¤Ë´Ý°ìÆüÈñ¤ä¤·¤Æ¤·¤Þ¤Ã¤¿¡£
Firebird(interbase) ¤Ë¤Æ¡¢¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ë¾ì¹çÄÌ¾ï¥Æ¡¼¥Ö¥ë̾¡¢¥Õ¥£¡¼¥ë¥É̾¤ÏÂçʸ»ú¤Ë¤Ê¤ë¡£ create table "hogetable"( "hoge1" integer NOT NULL, "hogebody" varchar(128) character set EUCJ_0208, PRIMARY KEY("hoge1") ) ¤Î¤è¤¦¤Ë""¤Ç¤¯¤¯¤ë¤È¾®Ê¸»ú¤ÇÅÐÏ¿¤µ¤ì¤ë»ö¤òȯ¸«¤·¤¿¡£ ¤·¤«¤·¡¢Python Database API¤Ë¤Æ¡¡Insert¡¡Åù½èÍý¤·¤è¤¦¤È¤¹¤ë¤È¡¢¤½¤ó¤Ê¥Æ¡¼¥Ö¥ë̾¤Ï¸«¤Ä¤«¤é¤Ê¤¤¤È¤Ç¤ë¡£ ¸¶°øÉÔÌÀ¤À¤¬¡¢°ì±þ¥á¥â
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 ¤¬ÅϤµ¤ì¤ë°Ù¤À¤í¤¦ Ê̤Υץí¥À¥¯¥È¤Ç¤â¤¢¤ë¤«¤âÃΤì¤Ê¤¤¡Ê¤«¤Ê¡©¡Ë
|
|