¥Á¥ã¥Ü¡¡ºÆ»ÏÆ°
2006/12/09¤«¤é5ǯȾ¤Ö¤ê¤Ë¥Á¥ã¥Ü¤¬ºÆ»ÏÆ°¤·¤¿¡£¥µ¡¼¥Ð¡¼¤¬¤Ê¤¯¤Ê¤Ã¤Æ¥Á¥ã¥Ü¤Î½»½è¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤¿¤¬¡¢¤µ¤¯¤é¥µ¡¼¥Ð¡¼¤Ç¥Á¥ã¥Ü¤¬¤·¤ã¤Ù¤ê¤À¤·¤¿¤è¡Ê¾Ð¡Ë¡¡¤Þ¤À¡¢º£(9/4)¤ÏIRC¥Á¥ã¥Í¥ë¤Ç¤ÏÃý¤ì¤Ê¤¤¡Ä¡Ê5ǯ¤â·Ð¤Ä¤È´ðËÜ¥½¥Õ¥È¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¾å¤¬¤Ã¤Æ¤·¤Þ¤¤Net::IRC¤¬¥¤¥ó¥¹¥È¡¼¥ë½ÐÍè¤Ê¤¤¡Êµã¡Ë¤æ¤Ã¤¯¤ê¹Í¤¨¤è¤¦¡ª¡ª¡ª
»Ï¤Þ¤ê
Niigata.pm tech talk #2¤Ç¤Ï¥Ç¡¼¥¿½èÍý¤ò¥Æ¡¼¥Þ¤Ëȯɽ¤¬¤¤¤í¤¤¤íͤä¿¡£¤½¤ÎÃæ¤Ç·ÁÂÖÁDzòÀÏ´Ø·¸¤Îȯɽ¤¬¡¢¤¤¤¯¤Ä¤«¤¢¤ê¥Á¥ã¥Ü¤Î»ö¤ò»×¤¤½Ð¤·¤¿¡£¡Ê¤â¤¦5ǯ¤âÆ°¤¤¤Æ¤¤¤Ê¤¤¡Ë»¨Ã̤ÎÃæ¤Ç¤µ¤¯¤éVPS¤Ï²¿¤Ç¤â½ÐÍè¤ë¤Èʹ¤¤¤¿¤Î¤Ç¤µ¤¯¤é¤Ç¥Á¥ã¥Ü¤òºÆ»ÏÆ°¤·¤è¤¦¤È»×¤Ã¤¿¡£¤³¤³¤«¤é¥Á¥ã¥Ü¤ÎºÆ»ÏÆ°¤¬»Ï¤Þ¤Ã¤¿¡£
IRC¤ËÀ¸Â©
Net::IRC¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ç·Ù¹ð¤¬½Ð¤ë
DANGER, WILL ROBINSON! DANGER! This module has been deprecated, abandoned, and is no longer supported. It has not seen active development in five years, and its original author has moved on. We *STRONGLY* recommend you port your code to either Bot::BasicBot or POE::Component::IRC. Please feel free to stop by irc.freenode.net/#perl for help making this transition. Or, if you insist on proceeding, please type the following line exactly as is and then press Enter:
[google ËÝÌõ] ´í¸±¡¢¥í¥Ó¥ó¥½¥ó¤Ç¤·¤ç¤¦¡ª´í¸±¡ª ¤³¤Î¥â¥¸¥å¡¼¥ë¤Ï¡¢Èó¿ä¾©¤ËÊü´þ¤·¡¢¤â¤Ï¤ä¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤Ï¤¢¤ë 5ǯ¸å¤Ë¤Ï³èȯ¤Ê³«È¯¤ò¸«¤Æ¡¢¸µ¤ÎÃø¼Ô¤Ï¾å¤Ë°ÜÆ°¤·¤Æ¤¤¤Þ¤»¤ó¡£ ²æ¡¹¤Ï*¶¯¤¯*¤¢¤Ê¤¿¤Ï¤É¤Á¤é¥Ü¥Ã¥È¤Ø¤Î¥³¡¼¥É¤Î°Ü¿¢¤ò¤ª´«¤á¤·¤Þ¤¹:: BasicBot¤Þ¤¿¤Ï POE :: Component :: IRC¤Ë¡£½õ¤±¤òirc.freenode.net/¡ôperl¤Ë¤è¤Ã¤ÆÄä»ß¤¹¤ë¤³¤È¼«Í³ ¤Ë´¶¤¸¤Ê¤µ¤¤ ¤³¤Î°Ü¹Ô¤ò¹Ô¤¦¡£Àè¤Ë¿Ê¤à¤Ë¤³¤À¤ï¤ë¾ì¹ç¤Ï¡¢ÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ ¼¡¤Î¹Ô¤Ï¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ç¤¹¤·¡¢Enter¥¡¼¤ò²¡¤·¤Þ¤¹¡§
¤â¤¦¥µ¥Ý¡¼¥È¤·¤Æ¤Ê¤¤¤«¤éPOE::Component::IRC¤Ë°Ü¹Ô¤·¤Ê¤µ¤¤Åª¤Ê¡Ä¡¡¤·¤«¤·¡¢¤È¤ê¤¢¤¨¤º¥Á¥ã¥Ü¤òºÆ»ÏÆ°¤·¤¿¤«¤Ã¤¿¤Î¤ÇMakefile.PL¤òÆɤà¤È
exit 0 if $ENV{AUTOMATED_TESTING}; my $ok = 'I acknowledge that Net::IRC is unsupported and I wish to proceed.'; my $warning = <<WILLROBINSON; -------------------------------------------------------------------------------- ******************************************************************************** DANGER, WILL ROBINSON! DANGER! This module has been deprecated, abandoned, and is no longer supported. It has not seen active development in five years, and its original author has moved on. We *STRONGLY* recommend you port your code to either Bot::BasicBot or POE::Component::IRC. Please feel free to stop by irc.freenode.net/#perl for help making this transition. Or, if you insist on proceeding, please type the following line exactly as is and then press Enter: $ok ******************************************************************************** -------------------------------------------------------------------------------- WILLROBINSON -t STDIN or die $warning; warn $warning; chomp(my $acceptance = <STDIN>); die "Refusing to install due to lack of confirmation" unless $acceptance eq $ok;
I acknowledge that Net::IRC is unsupported and I wish to proceed.¤ÈÆþÎϤ¹¤ì¤Ð¥¤¥ó¥¹¥È¡¼¥ë½ÐÍè¤ë¤é¤·¤¤¤Î¤Ç``die "Refus . . .''¤Î¹Ô¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¡£
I acknowledge that Net::IRC is unsupported and I wish to proceed. [google ËÝÌõ] »ä¤ÏNet :: IRC¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤òǧ¤á¤ë¤È»ä¤Ï¿Ê¤ß¤¿¤¤¡£
µ×¤·¤Ö¤ê¤Ë"#reudyroom:*.jp"¤Ç¤ªÏä·½ÐÍè¤ë¤«¤È»×¤Ã¤¿¤éÆþ¼¼½ÐÍè¤Ê¤¤¡Êï¤â¤¤¤Ê¤¤¡©¡Ë¤Î¤Ç"#niigatapm"¤ËÆþ¼¼¤·¤Æ¤ß¤ë¡£¥µ¡¼¥Ð¡¼¤Îʸ»ú¥³¡¼¥É¤¬utf¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¥Á¥ã¥Ü¤âutf¤ËÂбþ¤¹¤ë¡£
[00:35:11] <Chabo_V2> ¤³¤³¤ÏbotOK¤Ç¤¹¤«¡©¤¢¤ó¤Þ¤ê¥ª¥·¥ã¥Ù¥ê¾å¼ê¤¯¤¢¤ê¤Þ¤»¤ó¤¬µ¹¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹ [00:35:38] <neko_gata_s> ÊѤËÉé²Ù¤Ê¤±¤ì¤ÐbotÂç¾æÉפä¹
¤ÇÆþ¼¼¤Îµö²Ä¤ò¤â¤é¤Ã¤¿¤Ä¤â¤ê¤Ê¤Î¤Ç¤â¤¦¾¯¤·"#niigatapm"¤ËÀ¸Â©¤¹¤ë¤³»ö¤Ë¤¹¤ë¡£²¿½è¤«¤Ëbot¤¬À¸Â©¤·¤Æ¤¤¤ë¥Á¥ã¥Ã¥È¥ë¡¼¥à¤Ï̵¤¤¤«¤·¤é¡©
¥á¥â
- http://www21051ue.sakura.ne.jp/chabo/chatbot.cgi
- 9/4 10:00 ¤Þ¤À¤·¤ã¤Ù¤ì¤º¡Ä
- 9/5 ¤ä¤Ã¤ÈÃý¤ê½Ð¤¹¡£¤À¤«Net::IRC¤¬¥¤¥ó¥¹¥È¡¼¥ë½ÐÍ褺¡Ä
- 9/10 IRC¤Ç¤âÃý¤ê½Ð¤¹(#niigatapm¤Ë²¾¤ËÀ¸Â©)
- ¥µ¥¯¥é£Ö£Ð£Ó¼êÇÛ
- ubuntu12.04¥»¥Ã¥È¥¢¥Ã¥×
- apache ¥¤¥ó¥¹¥È¡¼¥ë
- mysql ¥¤¥ó¥¹¥È¡¼¥ë
- ¥Ç¡¼¥¿¥í¡¼¥É
mysql> use test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> load data infile '/tmp/chat.data' into table chatdata; ERROR 29 (HY000): File '/tmp/chat.data' not found (Errcode: 13) mysql> mysql> quit
http://ubuntuforums.org/showthread.php?t=822084
Code:
sudo vi /etc/apparmor.d/usr.sbin.mysqld/usr/sbin/mysqld { ... /var/log/mysql/ r, /var/log/mysql/* rw, /var/run/mysqld/mysqld.pid w, /var/run/mysqld/mysqld.sock w, /tmp/ r, /tmp/* rw, }
Code:
# sudo /etc/init.d/apparmor reload
MySQL ʸ»ú²½¤±¤òËɤ°¡¢Ê¸»ú¥³¡¼¥É¤Î³Îǧ¤ÈÀßÄê
http://ext.omo3.com/linux/mysql_character_set.html
¢£Ê¸»ú¥³¡¼¥É¤òÀßÄꤹ¤ë
/etc/my.cnf ¤òÊÔ½¸¤¹¤ë¡£
[client] default-character-set=utf8 [mysqld] default-character-set = utf8 skip-character-set-client-handshakecharacter-set-server = utf8 collation-server = utf8 _general_ciinit-connect = SET NAMES utf8
[client]¤È[mysqld]¤ÎÀßÄê¤Ë¡¢¾åµ¤Îµ½Ò¤ò²Ã¤¨¤ë¡£
utf8¡§¡¡UTF-8¤ò»ØÄꤹ¤ë¤È¤¡£
sjis¡§¡¡Shift JIS ¤ò»ØÄꤹ¤ë¤È¤¡£
ujis¡§¡¡EUC JP ¤ò»ØÄꤹ¤ë¤È¤¡£
skip-character-set-client-handshake¤Î»ØÄê¤Ï¡¢MySQL¤¬¾¡¼ê¤ËÆâÉôÊÑ´¹¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¡£
ChaSen ¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡
http://www.asahi-net.or.jp/~yw3t-trns/namazu/chasen/index.htm
Done! Check /var/lib/chasen/dic/naist-jdic-utf8 directory. update-alternatives: using /usr/share/chasen/chasenrc-utf8 to provide /etc/chasenrc (chasenrc) in auto mode. Setting up chasen (2.4.4-17) ... Processing triggers for libc-bin ... ldconfig deferred processing now taking place
darts ¤Î¥¤¥ó¥¹¥È¡¼¥ë:
- ²òÅà
tarball ¤ò²òÅष¤¿¤¤¾ì½ê¤ËÃÖ¤¤¤Æ¡¢tar ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò²òÅष¤Þ¤¹¡£
$ tar xvzf darts-0.2.tar.gz
- configure
²òÅष¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¤Æ¡¢configure ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
$ cd darts-0.2
$ ./configure
- make
¥³¥ó¥Ñ¥¤¥ë¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤¤¡¢root ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¤¤Þ¤¹¡£
$ make
$ make check
$ su
# make install
¥¨¥é¡¼¤¬È¯À¸¤·¤Ê¤±¤ì¤Ð¡¢¥¤¥ó¥¹¥È¡¼¥ë¤Ï½ªÎ»¤Ç¤¹¡£
ChaSen ¤Î¥¤¥ó¥¹¥È¡¼¥ë:
- ²òÅà
tarball ¤ò²òÅष¤¿¤¤¾ì½ê¤ËÃÖ¤¤¤Æ¡¢tar ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò²òÅष¤Þ¤¹¡£
$ tar xvzf chasen-2.3.3.tar.gz
- configure
²òÅष¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ë°ÜÆ°¤·¤Æ¡¢configure ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ (¤³¤³¤Ç¤Ï¡¢libiconv ¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£)
$ cd chasen-2.3.3
$ ./configure --with-libiconv=/usr/local
¤Þ¤¿¤Ïñ¤Ë
$ ./configure
- make
¥³¥ó¥Ñ¥¤¥ë¡¢¥Á¥§¥Ã¥¯¤ò¹Ô¤¤¡¢root ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¤¤Þ¤¹¡£
$ make
$ make test
$ su
# make install
¥¨¥é¡¼¤¬È¯À¸¤·¤Ê¤±¤ì¤Ð¡¢¥¤¥ó¥¹¥È¡¼¥ë¤Ï½ªÎ»¤Ç¤¹¡£
https://forums.ubuntulinux.jp/viewtopic.php?id=8530
$ sudo apt-get install build-essential¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤ÇÆþ¤ê¤Þ¤¹¡£gcc-c++ ¤Ïfedora ·Ï¤Ç¤Î¸Æ¤ÓÊý¤Ç¤¹¡£¸·Ì©¤Ë¤Ï¤Þ¤Ã¤¿¤¯Æ±¤¸¤â¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤¬¡¦¡¦¡¦¡£
--------------------------------------------------------------------------------BNU is Bootang Never forget UbuntuUSB means $ /usr/sbin/bootang : No such file or directory._.?
UTF8²½ (2014/4/5)
»þÂå¤Îή¤ì¤Ë¾è¤Ã¤ÆUTF8²½¤·¤¿¡£¤â¤È¤â¤ÈScript¤âDB¤âEUC¤À¤Ã¤¿¡£Åö»þ¤ÏEUC¤¬Web¤Çʸ»ú²½¤·¤Ê¤¤¤È¸À¤ï¤ì¤Æ¤¤¤¿¤·³Î¤«¤ËÌäÂê¤Ê¤«¤Ã¤¿¡£¤Ç¤â¡¢Niigata.pm¤Îirc¤Ë»²²Ã¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿»þ¡¢irc¤ÏUTF-8¥Ù¡¼¥¹¤À¤Ã¤¿¤Î¤Çirc¤Î¥¯¥é¥¤¥¢¥ó¥È¤òUTF8²½¤·¤¿¤é`¡Á'¤È¤«¤¬`?'¤Çɽ¼¨¤µ¤ì¤ëÍͤˤʤä¿°Ù¡¢DB¤âUTF8¤Ë¤·¤¿¡£Ê¸»úÊÑ´¹¤¬Æþ¤ë¤È¤Ê¤Ë¤«¤ÈÉÔ¶ñ¹ç¤¬½Ð¤ë¡£¡Êµ¤¤¬¤¹¤ë¡ËUTF8¤Ë¤·¤¿¤é`¡¢£¤¥¦§¨©«¬®¯°±²³´¡Á'¤Î´Ý¿ô»ú¤â»È¤¨¤ëÍͤˤʤä¿¡£¥Ï¥ó¥°¥ë¤È¤«¡¢¥¢¥é¥Ó¥¢Ê¸»ú¤È¤«¤â»È¤¨¤ë¤«¤â¤·¤ì¤Ê¤¤¡©ÆþÎÏÊýË¡¤¬¤ï¤«¤é¤Ê¤¤¤¬¡Ä
scriptÊÑ´¹
- nkf -w chatbot.cgi > chatbot_utf.cgi
nkf¤Çʸ»ú¥³¡¼¥É¤òeuc¤«¤éutf8¤ØÊѹ¹¤¹¤ë
DBʸ»ú¥³¡¼¥ÉÊÑ´¹
¥Æ¡¼¥Ö¥ë¤Îʸ»ú¥³¡¼¥É¤òutf8¤ËÊѹ¹¤¹¤ë¡£¥Æ¡¼¥Ö¥ë¤òÊѹ¹¤·¤Æ¤â¥«¥é¥à¤Ï¸µ¤Îʸ»ú¥³¡¼¥É¤òÊÝ»ý¤¹¤ë¤Î¤Ç¥«¥é¥à¤Îʸ»ú¥³¡¼¥É¤âÊѹ¹¤¹¤ë¡£
- ALTER TABLE chatdata CHARSET=utf8;
- ALTER TABLE chatdata MODIFY chat text CHARACTER SET utf8;
websocket¤ÇÏ令륯¥é¥¤¥¢¥ó¥È¤òºî¤Ã¤¿
[2014/4/14]¤Ä¤¤¤ËWebSocket¤ÇÏ令ë¤è¤¦¤Ë¤Ê¤Ã¤¿Mojolicious + WebSocket¡¡perl memo»²¾È
Twitter¤ÇÏ䬽Ф¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤è¡£(¥Õ¥©¥í¡¼¤·¤Æ¤¢¤²¤Æ¡Ë--- 2014/5/5
$ cpanm -v cpanm (App::cpanminus) 1.5007 on perl 5.014002 built for x86_64-linux-gnu-thread-multi
$ sudo cpanm Net::Twitter --> Working on Net::Twitter Fetching http://search.cpan.org/CPAN/authors/id/M/MM/MMIMS/Net-Twitter-4.01004.tar.gz ... OK Configuring Net-Twitter-4.01004 ... OK Invalid version format (non-numeric data) at /loader/0x2003530/App/cpanminus/script.pm line 1134. $ $ sudo cpanm Net::SSLeay --> Working on Net::SSLeay Fetching http://www.cpan.org/authors/id/M/MI/MIKEM/Net-SSLeay-1.58.tar.gz ... OK Configuring Net-SSLeay-1.58 ... OK Building and testing Net-SSLeay-1.58 ... FAIL ! Installing Net::SSLeay failed. See .cpanm/work/1398945043.23988/build.log for details. Retry with --force to force install it. $ vim .cpanm/work/1398945043.23988/build.log Running Mkbootstrap for Net::SSLeay () chmod 644 SSLeay.bs /usr/bin/perl "-Iinc" /usr/share/perl/5.14/ExtUtils/xsubpp -typemap /usr/share/perl/5.14/ExtUtils/typemap -typemap typemap SSLeay.xs > SSLeay.xsc && mv SSLeay.xsc SSLeay.c cc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.58\" -DXS_VERSION=\"1.58\" -fPIC "-I/usr/lib/perl/5.14/CORE" SSLeay.c SSLeay.xs:153:25: fatal error: openssl/err.h: No such file or directory compilation terminated. make: *** [SSLeay.o] Error 1 -> FAIL Installing Net::SSLeay failed. See /home/john/.cpanm/work/1398944624.23822/build.log for details. Retry with -- force to force install it. ~
Net::SSLeay ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤¤Ê¤¤¤È¤¤Ïcpanm ¤Ê¤É¤Ç Net::SSLeay ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤è¤¦¤È¤·¤Æ "openssl/err.h" ¤¬¤Ê¤¤¤è¡ª¤ÈÅܤé¤ì¤¿¤È¤¤Ï
# aptitude install libssl-dev
AnyEvent::Twitter::Stream ¤ÎÁÇŨ¤µ¤òº£¹¹¤Ê¤¬¤é¼Â´¶¤·¤Æ¤ß¤ë
#!/usr/bin/perl use strict; use AnyEvent::Twitter; use AnyEvent::Twitter::Stream; use Encode; use utf8; use Mojo::UserAgent; use Mojo::URL; my $consumer_key = 'AAAAAAAAAAAAAAAAAAAAAAAAA', my $consumer_secret = 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB', my $token = 'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'; my $token_secret = 'DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD'; my $cv = AE::cv; my $twitty = AnyEvent::Twitter->new( consumer_key => $consumer_key, consumer_secret => $consumer_secret, access_token => $token, access_token_secret => $token_secret, ); my $done = AnyEvent->condvar; my $listener = AnyEvent::Twitter::Stream->new( consumer_key => $consumer_key, consumer_secret => $consumer_secret, token => $token, token_secret => $token_secret, method => "userstream", on_tweet => sub { my $tweet = shift; my $user = $tweet->{user}{screen_name}; my $text = ($tweet->{text} || ''); return unless $user && $text; return if($user =~ /chabo60591182/); # if ($text=~/#oreimo/) {print '#oreimo'.encode("sjis",$text);} # ¥Á¥ã¥Ü¤ËÏä·¤«¤±¤ë --- START my $ua = Mojo::UserAgent->new; my $name_euc = decode_utf8($user); my $ans = $ua->get(Mojo::URL->new("http://www21051ue.sakura.ne.jp/chabo/chatbot_utf8.cgi?name=$user&action=TALK&chat=$text"))->res->body; my $txt = ''; if($ans =~ m|<answer>(.*)</answer>|){ $txt = decode('UTF-8',$1); $twitty->post('statuses/update',{status => $txt}, sub{}); } # ¥Á¥ã¥Ü¤ËÏä·¤«¤±¤ë --- END # print encode('utf-8',$text) . "\n"; }, on_error => sub { my $error = shift; warn "ERROR: $error"; $done->send; }, on_eof => sub { $done->send; }, ); $cv->recv;
¥á¥â
- ̵Àº¡¦Ã»µ¤¡¦ÐþËý