📄 hacking-ja
字号:
CVSへのアクセスAnonymous CVS で呵糠のソ〖スコ〖ドを茂でも掐缄できます。数恕は肌の奶りです。% cvs -d :pserver:guest@cvs.namazu.org:/storage/cvsroot loginCVS password: guest% cvs -d :pserver:guest@cvs.namazu.org:/storage/cvsroot co -P namazuまた、2001-06-25から奥年惹 (2.0.x) と倡券惹 (2.1.x) に尸呆しました。奥年惹のソ〖スを掐缄したい眷圭には% cvs -d :pserver:guest@cvs.namazu.org:/storage/cvsroot loginCVS password: guest% cvs -d :pserver:guest@cvs.namazu.org:/storage/cvsroot co -r stable-2-0 namazuとしてください。==============================================================GNU Build ToolsCVS から掐缄した Namazu を make するには、あらかじめ笆布のパッケ〖ジがインスト〖ルされている涩妥があります。 - GNU m4 1.4 - GNU autoconf 2.13 (もしくはそれ笆惧) - GNU automake 1.4 (もしくはそれ笆惧) - GNU libtool 1.3 (もしくはそれ笆惧) - GNU gettext 0.10.35 (もしくはそれ笆惧)いずれも GNU のミラ〖(e.g. ftp://ftp.ring.gr.jp/pub/GNU) から缄に掐れることができます。CVS からソ〖スを艰评したら、まずautogen.sh スクリプトを悸乖してください。===============================================================メッセ〖ジカタログ溯条の缄界1. 称poファイルの踏溯条婶尸を溯条する2. ja_JP.SJIS.po に簇しては、ja.po の溯条稿に make_sjis_po を 涩ず悸乖する。これで ja.po における恃构が ja_JP.SJIS.po にも 瓤鼻される。3. po 笆布で、make update-po を悸乖することによって、链 po を namazu.pot に票袋させることができる。答塑弄にはこれの帆り手しです。:)なお、GNU gettext 0.10.37 笆惯では Big5 や Shift_JIS な矢机误を'\' でエスケ〖プする涩妥はなくなりましたが、'\' でエスケ〖プされた矢机误を崔むカタログを借妄するためには、茨董恃眶OLD_PO_FILE_INPUT および OLD_PO_FILE_OUTPUT を肋年する涩妥があります。恶挛弄には% env OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes make update-poなどとしてください。================================================================Namazu のコ〖ディング惮搂 - Perl试mknmz盖铜の祸攫 * ハッシュのキ〖を矢机误で回年するときは涩ず '' で崇る。毋: ∵ $NMZ{log} ← $NMZ{'log'} => log という簇眶があるため perl 5.004 では warning が叫る * debugメッセ〖ジを叫蜗するときは涩ず util::dprint() を蝗う * verboseメッセ〖ジを叫蜗するときは涩ず util::vprint() を蝗う * エラ〖などの妄统で die するときは涩ず util::cdie() を蝗う * ファイルを倡くときには涩ず util::efopen() (エラ〖の箕に util::cdie() する)または util::fopen() を蝗う * while (<>) {} や while (<$fh>) {} を敦贿する。$_ はグロ〖 バル恃眶であるため、错副。洛わりに while (defined(my $line = <$fh>)) {} とする。 * 办箕ファイルを侯るときは涩ず my $tmpfile = util::tmpnam("NMZ.foobar"); として办箕ファイルの叹涟を艰评する。 * ファイルの面咳をまるごと粕み哈むときは util::readfile() を蝗う。 join '' <$fh> より庐いはず。 * ファイルを rename するときは涩ず util::Rename() を蝗う。 OS/2 滦忽。 * プログラム链挛に逼读をおよぼすグロ〖バル恃眶は lib/var.pl.in に年盗する。 * mknmz 柒だけに逼读をおよぼすグロ〖バル恃眶は src/mknmz.pl.in に年盗する。 $SYSTEM のみ毋嘲。 * ユ〖ザが mknmz.conf, ~/.mknmzrc にて恃构したいであろう恃 眶は lib/conf.pl.in に年盗する。今恕 * 涩ず -w オプションを脱いる #! /usr/bin/perl -w * 涩ず use strict する * local() は蝗わない * 恃眶は蝗う疤弥で离咐する - C咐胳のようにブロックの呵介で离咐する涩妥はない * 恃眶の离咐箕にはできる嘎り介袋步を乖う * for は for my $tmp (@foo) { ... } のように脱いる - my $tmp の婶尸が妥 ($tmpのスコ〖プをル〖プ柒に嘎年する) * 提り猛は哇に return する - サブル〖チン呵稿の及が return される、というル〖ルに完らない * built-in簇眶钙び叫しの狠は臼维できる摧崇柑はできるだけ臼く - ← substr $str, $offset, $len; ∵ substr($str, $offset, $len) * 赖惮山附では $&, $', $` を蝗わない - プログラム链挛が觅くなるため * サブル〖チンの钙び叫しは foobar() とする - &foobar は稍材 ("&" は稍妥) * サブル〖チンの年盗ではプロトタイプ离咐を乖う - sub foobar($$$) { ... } のように * $_ はできる嘎り蝗わない - $_ はグロ〖バル恃眶なので错副 * open() は蝗わない。 use IO::File を脱いて my $fh = new IO::File; $fh->open() とする * ファイルは哇に誓じず、 destructor にまかせる - $fh->close() しない (スコ〖プで扩嘎する) * リファレンスは络いに宠脱する * 贷赂の perl module を宠脱する - 贾呜の浩券汤をしない * $| といった泼检恃眶はできるだけ脱いない - $| は STDOUT->autoflush(1) で洛脱できる * グロ〖バル恃眶はできるだけ蝗わない * コ〖ドはできる嘎りモジュ〖ル步する - APIを年めて橙磨を推白にする * 涩妥に炳じて Object Oriented Programming を艰り掐れる - すべてを OOP で今くことはない * 墓い赖惮山附には努倒 /x モディファイアを努脱する * 恃眶を蝗った赖惮山附には奥链なら /o モディファイアを努脱 する * コメントは毖胳で今く叹涟惮搂 * テンポラリな恃眶は房を啼わず tmp という叹涟にする * for 矢のカウンタには $i, $j, $k を脱いる - 3檬より考くしないように丹をつける * サブル〖チン叹は瓢混 (+誊弄胳)、恃眶叹は叹混 - e.g. update_registry() * 胳の息冯にはアンダ〖スコア ('_') を脱いる - e.g. get_os_name(), $os_name * 渡疥恃眶の叹涟は井矢机 * グロ〖バル恃眶の叹涟は capitalize し、アンダ〖スコアを臼 维する (妥浮皮) - $IndexType * 芹误、ハッシュの恃眶叹は剩眶妨にする (妥浮皮) - @files * 恃眶叹の端眉な臼维はしない - $on (OS name) などは稍材 * が、涩妥に炳じて臼维する (妥浮皮) * 臼维のル〖ルは汤澄步する - file handle -> fh - pointer -> ptr - index -> idx - current -> cur - protocol -> proto - length -> len - string -> str - argument -> arg - source -> src - destination -> dest - control -> ctrl - module -> mod - language -> lang - initialize -> init - variable -> var - 戮にもあれば纳裁する * package が佰なれば票じサブル〖チン叹を脱いて紊いインデント * インデントは 4矢机帽疤 $foo = 1 + 2 + 3; $bar = ((1 + 2) + 3) * 4; if ($foo == $bar) { print foobar($foo, $bar), "\n"; } else { die "error"; } sub foobar ($$) { my ($foo, $bar) = @_; return $foo + $bar; }Perl簇息リンク * CPAN <ftp://ring.asahi-net.or.jp/archives/lang/perl/CPAN/> * Perl Style <ftp://ftp.dti.ad.jp/pub/lang/CPAN/doc/FMTEYEWTK/style/slide-index.html> * perl5.005_02のドキュメント <http://www.kt.rim.or.jp/%7ekbk/perl5.005/index.html> * perl5.004_04のドキュメント <http://www.kt.rim.or.jp/%7ekbk/perl5.doc/index.html> * Perl information memo <http://www.st.rim.or.jp/~cond/perlinfo/index.html> * /pub/IIJ/dist/utashiro/perl directory <ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl> * /pub/lang/CPAN/authors/Hirofumi_Watanabe directory <ftp://ftp.dti.ad.jp/pub/lang/CPAN/authors/Hirofumi_Watanabe> * FMTEYEWTK <ftp://ftp.dti.ad.jp/pub/lang/CPAN/doc/FMTEYEWTK/index.html> * Yahoo! - Computers and Internet:Programming Languages:Perl <http://www.yahoo.co.jp/Computers_and_Internet/Programming_Languages/Perl/> * JPerl for Win32 <http://www.yk.rim.or.jp/~hizumi/perl/index.html> * Index of /archives/lang/perl/CPAN/modules/by-authors/Gurusamy_Sarathy <http://ring.nacsis.ac.jp/archives/lang/perl/CPAN/modules/by-authors/Gurusamy_Sarathy/> * Learning Perl/Tk <http://tanaka-www.cs.titech.ac.jp/~ueki/PerlTk/index.html> * ActiveState Tool Corp. - Professional tools for Perl developers <http://www.activestate.com/> * Index of /archives/lang/perl/CPAN/modules/by-module/Tk <http://ring.nacsis.ac.jp/archives/lang/perl/CPAN/modules/by-module/Tk/> * What's wrong with Perl <http://www.stud.ifi.uio.no/~larsga/download/artikler/perl.html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -