|
|
¡¡¡¡
¥á¥â
zope-memo ¤ÎͱפʾðÊó¤ä¥á¥â¡õ³Ð½ñ
http://fzug.com/kiyo/blog/10 ¤Ç¾Ò²ð¤·¤¿ xmlrpc ¤Î¥Ç¥âÈǤòÆþ¤ì¤Þ¤·¤¿¡£ ¤â¤· Linux¤Ç±¿ÍѤ·¤Æ¤¢¤Ã¤Æ¡¢Python 2.2¤¬Í·¤ó¤Ç¤¤¤ëÊý¤Ï¥Æ¥¹¥È¤·¤ÆÌ㤦¤È´ò¤·¤¤¡£ ¤Ç¤â¡¢Zope ¤Ø±Æ¶Á¤òÍ¿¤¨¤ë¤«¤âÃΤì¤Ê¤¤¤Î¤Ç¤¢¤Þ¤ê¤ª´«¤á¤Ç¤¤Ê¤¤¡£ °ì±þºîÀ®¤·¤¿¤Î¤ÇµÏ¿¤Î°Ù¤Ë½ñ¤¤¤Æ¤Þ¤¹¡£ ÆâÍÆ xmlrpc¤ò»È¤Ã¤ÆZope¤Î PythonScript¤ò¸Æ¤Ó½Ð¤·¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é½»½ê¸¡º÷¤·¤¿·ë²Ì¤ò ¥¯¥é¥¤¥¢¥ó¥È£Ð£Ã¤ØÉ½¼¨¤µ¤»¤Æ¤¤¤ë¡£ win ÈǤϺǿ·¤Î Python-2.3.3¤ò»È¤Ã¤Æ¤Þ¤¹¡£ SJISÂбþ¤ÎPython2.3.3¤ò¥¤¥ó¥¹¥È¡¼¥ë¸å http://fzug.com/fzug_prog/zopeing/d_load/xmlrpc_test/yubinfz*** ¤ò²òÅष¤¿¤éOK linuxÈÇ¤Ï ¸Å¤¤Python2.2.3 ¤ò»È¤Ã¤Æ¤Þ¤¹¡£ http://fzug.com/fzug_prog/zopeing/d_load/xmlrpc_test/searchz*** ¤ò²òÅह¤ë¤È yubinApp/yubinsr ¼Â¹Ô¥Õ¥¡¥¤¥ë yubinApp/lib/libqt.so.2.3.0 yubinnApp/lib/libqtintf-6.5.0-qt2.3.so yubinApp/Python-2.2.3/setup.py yubinApp/Python-2.2.3/makepy22lib ¤¬¤Ç¤¤ë¡£ ¼ê½ç £± Python-2.2.3.tgz ¤òÌã¤Ã¤Æ¤¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë # tar zxvf Python-2.2.3.tgz # cd Python-2.2.3 # ./configure --prefix=/usr ¤³¤³¤Ç yubinApp/Python-2.2.3/setup.py¤ÈyubinApp/Python-2.2.3/makepy22lib¤ò Python-2.2.3 ¤Ø¥³¥Ô¡¼ # make # ./makepy22lib ºÆÅÙ¥³¥ó¥Ñ¥¤¥ë # make distclean ./configure --prefix=/usr make install ¼ê½ç £² yubinApp/lib/libqt.so.2.3.0 yubinnApp/lib/libqtintf-6.5.0-qt2.3.so /usr/lib ¤Ø¥³¥Ô¡¼¤¹¤ë # ldconfig ¤³¤ì¤Ç # yubinApp/yubinsr ¤¬¼Â¹Ô¤Ç¤¤ë¤È»×¤¦¡£
¥Ñ¡¼¥ß¥Ã¥·¥ç¥óÅù¤òÊѹ¹¤»¤º¥³¥Ô¡¼¤¹¤ëÊýË¡ ¤Ê¤¢¡Á¤ó¤À¡£¤È»×¤¦¤ó¤À¤±¤É¡¢¤¹¤°Ëº¤ì¤ë¡£ ¤À¤«¤é¥á¥â # tar cvf - . | tar xvf - -C /hoge
¤À¤ó¤À¤ó python or Zope ¤«¤éÎ¥¤ì¤Æ¤¤¤¯¤è¤¦¤Ê¡¢¤Ç¤â˺¤ì¤Æ¤Ï¤¤¤±¤Ê¤¤¤Î¤Ç¥á¥â¥á¥â linux ¤Ç CD-R(W) ¤¬¾Æ¤±¤¿¡£ »²¹Í¥µ¥¤¥È¤Ï http://takeposo.dyndns.org/unix/setting/cdrw.rhtml ATAPI ¥¿¥¤¥×¤Î CD-R ¤Ê¤Î¤À¤¬¡¢¤Á¤ç¤Ã¤È´Êñ¤ËºÑ¤Þ¤»¤¿ £±¡¥¤Þ¤º cdrecord ¤Î¡¡¥¤¥ó¥¹¥È¡¼¥ë apt-get install cdrecord £²¡¥lilo.conf ¤Ø append="hdc=ide-scsi"¤òÄɲà image=/boot/vmlinuz-2.4.22-0vl2.8 label=linux initrd=/boot/initrd-2.4.22-0vl2.8.img read-only root=/dev/hda5 append="hdc=ide-scsi" ºÆµ¯Æ° £³¡¥cdrecord -scanbus ¤Ç¡¢¤É¤Î¥Ç¥Ð¥¤¥¹¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¤«³Îǧ dev=0,0,0 ¤À¤Ã¤¿ CD-RW ¤ÎÆâÍÆ¤ò¥Ö¥é¥ó¥¯¡Ê½é´ü²½¡Ë¤¹¤ë¥³¥Þ¥ó¥É cdrecord dev=0,0,0 blank=fast iso ¥¤¥á¡¼¥¸¤Îºî¤êÊý #mkisofs¡¡-r¡¡-J¡¡-V myfirstcdrw¡¡-o recorded_dir.iso recorded_dir/ myfirstcdrw ¤Ï¥Ü¥ê¥å¡¼¥à¥é¥Ù¥ë recorded_dir.iso ¤Ï ºîÀ®¤¹¤ë iso ¤Î¥Õ¥¡¥¤¥ë̾ recorded_dir/ ÌÜŪ¤Î¥Ç¥£¥ì¥¯¥È¥ê¥£ iso ¤ò CD-R(W) ¤Ø cdrecord¡¡-v¡¡speed=4¡¡dev=0,0,0¡¡-eject¡¡-data¡¡recorded_dir.iso ¸«¤¿¤é²¿¤È¤Ê¤¯²ò¤ë¤Î¤ÇÆâÍÆ¾Êά ¤³¤ì¤À¤±¥á¥â¤·¤Æ¤ª¤±¤Ð»È¤¨¤ë¤Ê¡£
>>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 ʸ¤Ï ·¿ÊÑ´¹¤Ï¤È¤Ã¤Æ¤â½ÅÍפÀ¡£ ¤â¤Ã¤È¤â¸úΨŪ¤Ê¤ä¤êÊý¤Ï¡¢°ú¿ô¤ò¤â¤é¤Ã¤¿¥á¥¾¥Ã¥È¦¤Ç·¿ÊÑ´¹¤¹¤ë»ö ¤³¤ì¤«¤é¤Ï¤³¤Î¤ä¤êÊý¤ò½¬´·ÉÕ¤±¤ë»ö¤Ë¤·¤è¤¦¡£
|
|