2006ǯ04·î
¤¹¤Ç¤Ë狼¤¬ÀäÂФ˽ñ¤¤¤Æ¤¤¤ë¤Ï¤º¤È¤Ï»×¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢ õ¤¹¤è¤ê¤â½ñ¤¤¤¿Êý¤¬Á᤽¤¦¤À¤Ã¤¿¤Î¤Ç¡¢ livedoor ¥Ö¥í¥°¤ÎÀ¸¥í¥°¤ò¼èÆÀ¤¹¤ë perl ¥¹¥¯¥ê¥×¥È¤ò ½ñ¤¤¤Æ¤ß¤Þ¤·¤¿¡£ ¤Ä¤¤¤Ç¤Ë¡¢¥Ç¥¶¥¤¥ó¤ò¥«¥¹¥¿¥Þ¥¤¥º¤·¤¿¤È¤¤Î¡¢ ¥¹¥¿¥¤¥ë¥·¡¼¥È¡ÊCSS¡Ë¤äHTML¤Î¥Æ¥ó¥×¥ì¡¼¥È¤â¼èÆÀ¤Ç¤¤Þ¤¹¡£ Î㤨¤Ð¡¢
livedoor.pl gcd raw_log 10 log.csv
¤Ê¤É¤È¼Â¹Ô¤¹¤ì¤Ð¡¢10 ¥Ú¡¼¥¸Ê¬ (200¹Ô) ¤ÎÀ¸¥í¥°¤ò¡¢ CSV ·Á¼°¤Ç¥Õ¥¡¥¤¥ë¡Ölog.csv¡×¤ËÊݸ¤Ç¤¤Þ¤¹¡£ ¤Þ¤¿¡¢
livedoor.pl gcd index_tmpl index.html
¤Ê¤É¤È¼Â¹Ô¤¹¤ì¤Ð¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¥Ú¡¼¥¸¤ÎHTML¥Æ¥ó¥×¥ì¡¼¥È¤ò¡¢ ¥Õ¥¡¥¤¥ë¡Öindex.html¡×¤ËÊݸ¤Ç¤¤Þ¤¹¡£ Âè°ì°ú¿ô¡Ögcd¡×¤ÎÉôʬ¤Ë¤Ï¡¢ ¥Ö¥í¥°¤Î¥¢¥«¥¦¥ó¥È̾ (¥¹¥¯¥ê¥×¥È¤ÎÀèÆ¬Éôʬ¤ÇÄêµÁ¤·¤Æ¤¤¤Þ¤¹) ¤ò »ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ »ä¤Î¾ì¹ç¡¢ ¡ÖGCD Æüµ¡×¤È ¡ÖÀçÀйÀÌÀCTO ¤ÎÆüµ¡×¤Î Æó¤Ä¤Î¥Ö¥í¥°¥¢¥«¥¦¥ó¥È¤¬¤¢¤ë¤Î¤Ç¡¢ ¤½¤ì¤¾¤ì¡Ögcd¡×¤È¡Öklab¡×¤È¤¤¤¦Ì¾Á°¤ÇÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£
;Ã̤Ǥ¹¤¬¡¢Æó¤Ä¤Î¥Ö¥í¥°¤ò½ñ¤¤¤Æ¤¤¤ë¤Î¤Ï¡¢ ¸Ä¿ÍÍѤȲñ¼ÒÍѤȤò¶èÊ̤·¤è¤¦¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤â¤È¤â¤È»ä¤Î¤Ê¤«¤Ç¤Ï¼ñÌ£¤È»Å»ö¤Î¶³¦Àþ¤¬Û£Ëæ¤Ê¤Î¤Ç¡¢ ¸Ä¿Í¤È²ñ¼Ò¤Ç¥Ö¥í¥°¤ò¶èÊ̤·¤è¤¦¤È¤·¤Æ¤âº®¤¶¤Ã¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¤«¤é¡¢ ¶èÊ̤¹¤ë¤³¤È¤Ë°ÕÌ£¤¬¤¢¤ë¤È¤Ï»×¤¨¤Þ¤»¤ó¡£ ¤¸¤ã¡¢¤Ê¤¼Æó¤Ä¤Î¥Ö¥í¥°¤Ê¤Î¤«¤È¸À¤¨¤Ð¡¢ ¡ÖGCD Æüµ¡×¤Î¤Û¤¦¤¬ ¤è¤ê¥á¥âŪ¤Ç¥Í¥¿¤òÃߤ¨¤Æ¤ª¤¡¢¤¢¤ëÄøÅٹͤ¨¤¬¤Þ¤È¤Þ¤Ã¤¿¤â¤Î¤ò ¡ÖÀçÀйÀÌÀCTO ¤ÎÆüµ¡×¤Ø ½ñ¤³¤¦¡¢¤È¤¤¤¦¤Î¤¬ ¤½¤â¤½¤â¤Î°Õ¿Þ¤Ç¤·¤¿¡£
¤ä¤Ã¤Ä¤±»Å»ö¤Ê¤Î¤Ç¡¢ÆÍ¤Ã¹þ¤ß¤É¤³¤íËþºÜ(^^;) ¤Î¥¹¥¯¥ê¥×¥È¤À¤È¤Ï»×¤¤¤Þ¤¹¤¬¡¢ livedoor¥Ö¥í¥°¤ò¤ª»È¤¤¤ÎÊý¤Ï¤´ÍøÍÑ失¤ì¤Ð¹¬¤¤¤Ç¤¹¡£ ¤â¤Á¤í¤ó¡¢¤´ÍøÍѤκݤÏÀèÆ¬Éôʬ¤Î¥æ¡¼¥¶ID & ¥Ñ¥¹¥ï¡¼¥ÉÅù¤ò Ŭµ¹½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢¥¹¥¯¥ê¥×¥ÈÃæ¤ÇÆüËܸì¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢ ¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï EUC-JP ¤ÇÊݸ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
livedoor.pl (livedoor blog À¸¥í¥° & CSS/¥Æ¥ó¥×¥ì¡¼¥È ¼èÆÀ¥¹¥¯¥ê¥×¥È)
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common;
use CGI qw/unescapeHTML/;
%blogs = (
"gcd" => {
"User" => "hiroaki_sengoku",
"Pass" => "xxxxxxxx",
"BlogID" => 1600549,
"ID" => 11111,
"PageID" => 22222,
},
"klab" => {
"User" => "klab_sengoku",
"Pass" => "yyyyyyyy",
"BlogID" => 1631449,
"ID" => 33333,
"PageID" => 44444,
},
);
&help unless $_ = shift;
if (my $blog = $blogs{$_}) {
$User = $$blog{"User"};
$Pass = $$blog{"Pass"};
$BlogID = $$blog{"BlogID"};
$ID = $$blog{"ID"};
$PageID = $$blog{"PageID"};
} else {
&help;
}
$ua = new LWP::UserAgent;
$ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; ja)");
$ua->env_proxy();
$ua->cookie_jar( {} );
my $res = $ua->request(POST "http://member.livedoor.com/login/index",
[ "livedoor_id" => $User, "PASSWORD" => $Pass,
".next" => "", ".sv" => "" ]);
while (my $type = shift) {
if ($type eq "css" || $type eq "index_tmpl" || $type eq "article_tmpl" ||
$type eq "category_tmpl" || $type eq "monthly_tmpl") {
my $file = shift;
open(OUT, ">$file") || die;
my $url = "http://cms.blog.livedoor.com/cms/design/edit"
. "?tmpl=$type&blog_id=$BlogID&id=$ID";
my $req = new HTTP::Request GET => $url;
my $res = $ua->request($req);
if ($res->content =~
/\<textarea .*name=\"content\" [^\>]*\>([^\<]+)\<\/textarea\>/) {
my $content = unescapeHTML($1);
$content =~ s/\r\n/\n/g;
print OUT $content, "\n";
}
close(OUT);
} elsif ($type eq "raw_log") {
my $npage = shift;
($npage =~ m/^\d+$/ && $npage >= 1) || &help;
my $file = shift;
open(OUT, ">$file") || die;
my $url = "http://analyzer.livedoor.com/log/raw?page_id=$PageID";
my $prepat = '\<td\b[^\>]*\>\<strong\>\<small\>';
my $postpat = '\<\/small\>\<\/strong\>\<\/td\b[^\>]*\>';
for (my $i=1; $i <= $npage; $i++) {
my $req = new HTTP::Request GET => "$url&p=$i";
my $res = $ua->request($req);
my $datepat = '\d\d\d\d\-\d\d\-\d\d \d\d\:\d\d\:\d\d';
my $date;
for (split(/(\<small\>$datepat\<\/small\>)/, $res->content)) {
if (/^\<small\>($datepat)\<\/small\>$/) {
$date = $1;
} elsif (/^\<\/th\>\s*\<\/tr\>\s*/) {
my @record;
for (split(/\<\/tr\>\s*/, $')) {
my $column;
if (/$prepat(.*)$postpat/o) {
if ($1 eq 'URL') {
$column = 0;
} elsif ($1 eq '¥ê¥Õ¥¡¥é') {
$column = 1;
} elsif ($1 eq '¥Ö¥é¥¦¥¶') {
$column = 2;
} elsif ($1 eq '¥ê¥â¡¼¥È¥Û¥¹¥È') {
$column = 3;
} else {
die "Unknown column: $_\n";
}
}
if (/\<td\b[^\>]*\>\<small\>(.*)\<\/small\>\<\/td\b[^\>]*\>/){
$_ = $1;
s/\<\/?a\b[^\>]*\>//g;
if (/,/) {
s/\"/\"\"/g;
$_ = "\"$_\"";
}
$record[$column] = $_;
} elsif (/^\<\/table\>/) {
last;
} elsif (! /^\<tr\>\s*\<th\b[^\>]*\>/) {
die "Unknown format: $_\n";
}
}
print OUT $date, ",", join(',', @record), "\r\n";
}
}
}
close(OUT);
} else {
&help;
}
}
exit 0;
sub help {
print "Usage livedoor <blog> <opt>...\nblog: ",
join("\n ", keys %blogs), "\n",
'opt: css <file>
index_tmpl <file>
article_tmpl <file>
category_tmpl <file>
monthly_tmpl <file>
raw_log <n> <file>
';
exit 1;
}
ÊÀ¼Ò¤ÎÌÌÀܤÇ(»ä¤Ë)¤è¤¯Ê¹¤«¤ì¤ë¤³¤È¡¢ ÌÌÀÜ´±¼«¿È¤¬¸ì¤ëÌÌÀܹ¶Î¬Ë¡¡£ º£¤Þ¤Ç¤ªÏä·¤·¤Æ¤¤¿¤³¤È¤ò¤¤¤Ã¤¿¤ó¤Þ¤È¤á¤Æ¤ß¤Þ¤¹¡£
- (1) ¹â¤¤µ»½ÑÎϤäÆÎ㤨¤Ð¤É¤ó¤Ê¤³¤È¤Ç¤¹¤«¡©
- »Ö˾ưµ¡¤¬¡Öµ»½Ñ¤ò³Ø¤Ó¤¿¤¤¡×¤Ê¤Î¤Ë¡¢ ´Î¿´¤Î¤½¤Îµ»½Ñ¤¬¤É¤¦¤¤¤¦¤â¤Î¤«¥¤¥á¡¼¥¸¤Ç¤¤Æ¤¤¤Ê¤¤¡¢ ¸À¤¤´¹¤¨¤ì¤Ð¼«Ê¬¤¬²¿¤ò¤·¤¿¤¤¤Î¤«¼Â¤Ïʬ¤«¤Ã¤Æ¤¤¤Ê¤¤¡¢ ¤³¤ì¤Ï¤«¤Ê¤êÌäÂê¤Ç¤¹¤è¤Í¡©
- (2) ²¿¤«¼ÁÌä¤Ï¤¢¤ê¤Þ¤»¤ó¤«¡©
- ÌÌÀܤò¼õ¤±¤ËÍè¤Æ¡¢¤Ê¤Ë¤â¼ÁÌ䤷¤è¤¦¤È¤·¤Ê¤¤¿Í¤¬¤¤¤Þ¤¹¡£ ʬ¤«¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ëʬ¤«¤Ã¤¿¤Ä¤â¤ê¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¢ ¤³¤ì¤Ïµ»½Ñ¼Ô¤Ë¤È¤Ã¤ÆÃ×̿Ū¤Ê¤³¤È¤Ç¤¹¡£ ¤É¤³¤Þ¤Ç¤â¼«Ê¬¤¬Ê¬¤«¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤ò¼«³Ð¤·¡¢ õµá¤·Â³¤±¤ë½¬´·¤¬Ìµ¤±¤ì¤Ð¡¢¥¹¥¥ë¥¢¥Ã¥×¤Ï³Ð«¤Ê¤¤¤Ç¤·¤ç¤¦¡£
- (3) Á°¿¦¤Ç¤¤¤¯¤é¤â¤é¤Ã¤Æ¤¤¤Þ¤·¤¿¤«¡©
- Á°¿¦µë¤Ë´ð¤Å¤¤¤ÆµëÍ¿¤ò·è¤á¤ë¤¿¤á¡¢¤È¤¤¤¦¤ï¤±¤Ç¤Ï·è¤·¤Æ¤Ê¤¯¡¢ KLab ¤ÎµëÍ¿ÂηϤ˥¹¥à¡¼¥º¤Ë°Ü¹Ô¤Ç¤¤ë¤«È½ÃǤ¹¤ë¤¿¤á¤Ç¤¹¡£
º£²ó¤Î¼ÁÌä¤Ï¡¢
À¸³è¤¹¤ë¤¿¤á¤ËƯ¤«¤Í¤Ð¤Ê¤é¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤¬²¾¤Ë¤Ê¤«¤Ã¤¿¤È¤·¤¿¤é¡¢
²¾¤Ë¡¢°ì½µ´Ö²¿¤ò¤·¤Æ¤â¤¤¤¤¡¢¤È¸À¤ï¤ì¤¿¤é¡¢²¿¤ò¤·¤Þ¤¹¤«¡©
¤Ê¤¼¤³¤ó¤Ê¼ÁÌä¤ò¤¹¤ë¤«¤È¸À¤¨¤Ð¡¢¼«Ê¬¤ÏËÜÅö¤Ï²¿¤ò¤·¤¿¤¤¤Î¤« ¹Í¤¨¤Æ¤â¤é¤¤¤¿¤¤¤«¤é¤Ç¤¹¡£
¼«Ê¬¤¬²¿¤ò¤·¤¿¤¤¤«¡© ¤½¤ó¤Ê¤³¤È¤Ïʬ¤«¤Ã¤Æ¤¤¤ë¤Ë·è¤Þ¤Ã¤Æ¤¤¤ë¤¸¤ã¤Ê¤¤¤«¡¢ ¤ª¶â¤Ëº¤¤é¤Ê¤¤¤Ê¤é¹¥¤¤Ê¤³¤È¤ò¤¹¤ë¤µ¡¢¤È¿¤¯¤Î¿Í¤Ï¸À¤¦¤Ç¤·¤ç¤¦¡£
¤¸¤ã¡¢¹¥¤¤Ê¤³¤È¤Ã¤Æ²¿¤Ç¤¹¤«¡©
»Å»ö¤·¤Ê¤¯¤Æ¤â¤¤¤¤¤Î¤Ê¤é¡¢¤¢¤ì¤â¤·¤¿¤¤¡¢¤³¤ì¤â¤·¤¿¤¤¡¢...
¤½¤ÎÃæ¤Ç°ìÈÖ¤ä¤ê¤¿¤¤¤Î¤Ï²¿¤Ç¤¹¤«¡©
°ìÆüÃæ¡¢¿²Â³¤±¤¿¤¤¡£
Íá¤Ó¤ë¤Û¤É¼ò¤ò°û¤ß¤¿¤¤¡£
²¿¤â¹Í¤¨¤º¤Ë¤Ü¡¼¤Ã¤È¤·¤Æ¤¤¤¿¤¤¡£
...
¤Þ¤¢¹¥¤¤Ë¤ä¤Ã¤Æ¤Æ¤¯¤À¤µ¤¤¡£(^^;)
¤â¤Á¤í¤óµ¤Ê¬Å¾´¹¤ÏɬÍפʤΤǡ¢
»þ¤Ë¤Ï¥Ï¥á¤ò³°¤¹¤³¤È¤âɬÍפǤ·¤ç¤¦¡£
¤Ç¤â¡¢²¿¤«¤ò¤ä¤Ã¤Æ¤¤¤ë¤«¤é¤³¤½¤Îµ¤Ê¬Å¾´¹¤Ç¤¹¤è¤Í¡£
ǯ¤¬¤éÇ¯Ãæ¡¢µ¤Ê¬Å¾´¹¤·Â³¤±¤ë¤ï¤±¤Ë¤Ï¤¤¤¤Þ¤»¤ó¤è¤Í¡£
¤À¤«¤é¡Á¡¢ÉáÃʤϷù¤Ê»Å»ö¤ò¤ä¤Ã¤Æ¤Æ¡¢ ¤ª¤Þ¤±¤Ë»Ä¶È³¤¤ÇË»¤·¤¯¤ÆË»¤·¤¯¤Æ¡¢ ¤¿¤Þ¤ËµÙÆü¤¬¤¢¤Ã¤Æ¤âÈè¤ì¤Æ¤¤¤ë¤«¤é²¿¤â¤¹¤ëµ¤¤¬µ¯¤¤º¡¢ ¤¢¡Á »Å»ö¤·¤Ê¤¯¤Æ¤â¤¤¤¤¤Ê¤é¹¥¤¤Ê¤³¤È¤¬¤Ç¤¤ë¤Î¤Ë¡Á
¤¤¤¨¡¢¤À¤«¤é¤½¤Î¡Ö¹¥¤¤Ê¤³¤È¡×¤Ã¤Æ¤Ê¤ó¤Ç¤·¤ç¤¦¡©
¤È¤¤¤¦¤Î¤¬¼ÁÌä¤Ê¤Î¤Ç¤¹¤¬... (-_-;)
°ìÀ¸¤Î»þ´Ö¤Î¤¦¤Á¤Î¤«¤Ê¤ê¤Î»þ´Ö¤ò»Å»ö¤ËÈñ¤ä¤¹¤Î¤Ç¤¹¤«¤é¡¢ °ìÀ¸¤«¤±¤Æ¼è¤êÁȤߤ¿¤¤¤È»×¤¦¤è¤¦¤Ê¤³¤È¤ò¤¹¤Ù¤¤À¤È»×¤¦¤Î¤Ç¤¹¡£ ¹¥¤¤Ê¤³¤È¤ò¤ä¤Ã¤Æ¤Æ¤ª¶â¤¬¤â¤é¤¨¤ì¤Ð¶ìÏ«¤Ï¤·¤Ê¤¤¡¢¤È¿¤¯¤Î¿Í¤Ï¸À¤¦¤Ç¤·¤ç¤¦¡£ ¤Ç¤â¡¢ËÜÅö¤Ë°ìÀ¸¤«¤±¤Æ¤â¤ä¤ê¤¿¤¤¤Û¤É¹¥¤¤Ê¤³¤È¤Ã¤Æ¤¢¤ê¤Þ¤¹¤«¡©
¤â¤·¤¢¤ë¤Ê¤é¡¢¤½¤Î¡Ö¹¥¤¤Ê¤³¤È¡×¤ò¤ä¤Ã¤Æ¤Æ¤âÀ¸³è¤Ç¤¤Ê¤¤ ¤ÈȽÃǤ¹¤ë¤Î¤Ï¤Ê¤¼¤Ç¤·¤ç¤¦¡© °ìÀ¸¤«¤±¤ë³Ð¸ç¤¬¤¢¤ë¤Ê¤é¡¢ÂçÄñ¤Î¤³¤È¤ÏÀ®¤·¿ë¤²¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£ ·ù¡¹»Å»ö¤ò¤·¤¿¤Ã¤Æ¡¢¹¥¤¤Ç¤ä¤Ã¤Æ¤ë¿Í¤Ë¾¡¤Æ¤ë¤Ï¤º¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ·Ü¸ý¤È¤Ê¤ë¤âµí¸å¤È¤Ê¤ë¤Ê¤«¤ì¡¢ ¹¥¤¤Ê¤³¤È¤ò¤·¤è¤¦¡£
¤â¤·¤½¤ì¤Û¤É¡Ö¹¥¤¤Ê¤³¤È¡×¤¬¤Ê¤¤¤Î¤Ê¤é¡¢¤Ê¤¼Ãµ¤µ¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¡©
°ìÀ¸¤«¤±¤Æ·ù¡¹»Å»ö¤ò¤¹¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£²¿¤Î¤¿¤á¤Ë¡©
À¸³è¤Î¤¿¤á¡¢¤È¤¤¤¦¤Î¤Ï¼«Ê¬¼«¿È¤Ø¤Î ¤¤¤¤¤ï¤± ¤Ê¤Î¤Ç¤Ï¡©
º£Æü¤«¤é¸Þ·îÏ¢µÙ¤Ç¤¹¤Í¡£
²ñ¼Ò¤Ë¤è¤Ã¤Æ¤Ï 9 Ï¢µÙ¤Î¤È¤³¤í¤â¤¢¤ë¤È¤«¡£
¤¢¤Ê¤¿¤Ï²¿¤ò¤·¤Þ¤¹¤«¡©
ÃÙ¤ì¤Ð¤»¤Ê¤¬¤é Haskell ¤ÇÍ·¤ó¤Ç¤¤¤Þ¤¹¡£ KLab ¤Îµ»½Ñ¼Ô¤ÎÃæ¤Ë¤â¡¢¼ê³¤·¿¸À¸ì¤ÎÀ¤³¦¤Ë ¤É¤Ã¤×¤ê¤Ä¤«¤Ã¤Æ¤¤¤ÆÂ¾¤ÎÀ¤³¦¤òÃΤé¤Ê¤¤¿Í¤Ï ¤¤¤ë¤Î¤Ç¡¢ tech ML (µ»½Ñ¼Ô¸þ¤Î KLab ¼ÒÆâ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È) ¤Ç Haskell ¤Î¾Ò²ð¤ò¤·¤Æ¤ß¤Þ¤·¤¿¡£
Subject: [tech:8480] Haskell ÀçÀФǤ¹¡£ ÅâÆÍ¤Ç¤¹¤¬¡¢Haskell ¤Ã¤ÆÃΤäƤޤ¹¤«¡© »ä¤ÏÌÌÀܤ·¤¿¿Í¤Ë¶µ¤¨¤Æ¤â¤é¤Ã¤¿ ;) ¤Î¤Ç¤¹¤¬¡¢ºÇ¶áή¹Ô¤ê¤Î´Ø¿ô·¿¸À¸ì¤Ç¤¹¡£ ¥Ö¥í¥°¤ò¸«¤Æ¤ë¤È¡¢¤¢¤Á¤³¤Á¤ÇÏÃÂê¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Í¡£ ÆþÌçÍѤΥڡ¼¥¸: ¤ä¤µ¤·¤¤ Haskell ÆþÌç (¥Ð¡¼¥¸¥ç¥ó98) http://www.sampou.org/haskell/tutorial-j/index.html ¡Ö¤ä¤µ¤·¤¤¡×¤È½ñ¤¤¤Æ¤Þ¤¹¤¬¡¢´Ø¿ô·¿¸À¸ì¤ò½é¤á¤Æ³Ø¤Ü¤¦¤È¤¹¤ë¿Í¤Ë¤ÏÉߵ郎 ¹â¤¤¤«¤âÃΤì¤Þ¤»¤ó¡£¤Þ¤º¤Ï´Êñ¤Ê Haskell ¥×¥í¥°¥é¥à¤ò¸«¤Æ¤ß¤Þ¤·¤ç¤¦¡£ ------------------------------------------------------------------------ guusuu x | x `mod` 2 == 0 = True | otherwise = False ------------------------------------------------------------------------ ¤³¤ì¤Ï guusuu(x) ¤È¤¤¤¦´Ø¿ô¤ÎÄêµÁ¤Ç¤¹¡£ x ¤ò 2 ¤Ç³ä¤Ã¤¿Í¾¤ê¤¬ 0 ¤Ê¤é¤Ð¡¢guusuu(x) = True ¤½¤ì°Ê³°¤Ê¤é¤Ð¡¢ guusuu(x) = False ¤ÈÆÉ¤ß¤Þ¤¹¡£´Êñ¤Ç¤¹¤Í¡© ;) Áᮼ¹Ԥ·¤Æ¤ß¤Þ¤·¤ç¤¦¡£ ¾åµ¥×¥í¥°¥é¥à¤ò test.hs ¤È¤¤¤¦¥Õ¥¡¥¤¥ë̾¤ÇÊݸ¤·¤Æ¤ª¤¤¤Æ¡¢ Haskell ½èÍý·Ï¤Ç¤¢¤ë ghci ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ ------------------------------------------------------------------------ senri:/home/sengoku/tmp % ghci ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.4.2, for Haskell 98. / /_\\/ __ / /___| | http://www.haskell.org/ghc/ \____/\/ /_/\____/|_| Type :? for help. Loading package base-1.0 ... linking ... done. Prelude> :load test.hs Compiling Main ( test.hs, interpreted ) Ok, modules loaded: Main. *Main> guusuu 2 True *Main> guusuu 7 False *Main> ------------------------------------------------------------------------ ¡Ö:load test.hs¡×¤È¤¤¤¦¤Î¤¬¡Ötest.hs¡×¤òÆÉ¤ß¹þ¤à¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ç¤¹¡£ ¡Öguusuu 2¡×¤ò¼Â¹Ô¤¹¤ë¤È¡¢guusuu(2) ¤ÎÃͤǤ¢¤ë True ¤¬½ÐÎϤµ¤ì¤Æ¤¤¤Þ¤¹¤Í¡£ ¤³¤ì¤À¤±¤À¤È¡¢¤¢¤Þ¤êǽ¤¬¤Ê¤¤¤Î¤Ç¡¢¶ö¿ôÎó¤òɽ¼¨¤µ¤»¤Æ¤ß¤Þ¤·¤ç¤¦¤«¡£ ------------------------------------------------------------------------ *Main> take 10 [1,2..] [1,2,3,4,5,6,7,8,9,10] *Main> take 10 [x|x <- [1,2..], guusuu x] [2,4,6,8,10,12,14,16,18,20] ------------------------------------------------------------------------ ¡Ötake 10¡×¤È¤¤¤¦¤Î¤Ï¤½¤Î¸å¤í¤Î¥ê¥¹¥È¤ÎÀèÆ¬ 10 ¸Ä¤ÎÍ×ÁǤò¼è¤ê½Ð¤¹´Ø¿ô¤Ç ¤¹¡£¡Ö[1,2..]¡×¤È¤¤¤¦¤Î¤Ï¼«Á³¿ôÎó¤Î¥ê¥¹¥È¤Ç¤¹¤Í¡£take ¤ò»È¤ï¤º¤Ë [1,2..] ¤òɽ¼¨¤µ¤»¤è¤¦¤È¤¹¤ë¤È¡¢Ìµ¸Â¤Ë¼«Á³¿ôÎó¤òɽ¼¨¤·¤Þ¤¹¡£ ------------------------------------------------------------------------ *Main> [1,2..] [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22, ...̵¸Â¤Ë³¤¯... ------------------------------------------------------------------------ ÅÓÃæ¤Ç»ß¤á¤ë¤Ë¤Ï control-C ¤ò²¡¤·¤Þ¤¹¡£ ¤µ¤Æ¡¢ [x|x <- [1,2..], guusuu x] ¤È¤¤¤¦½ñ¤Êý¤Ï¡¢¥°¥é¥ÕÍýÏÀ¤ÎÎØ¹Ö¤Ë»²²Ã¤·¤Æ¤¤¤ë¿Í¤ä¡¢½Ò¸ìÏÀÍý¤ò³Ø¤ó¤À¤³¤È ¤Î¤¢¤ë¿Í¤Ë¤Ï¤ª¤Ê¤¸¤ß¤Î½ñ¤Êý¤¸¤ã¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£¼«Á³¿ôÎó¤ÎÃæ¤Ç¡¢ ½Ò¸ì guusuu(x) ¤¬ True ¤Ç¤¢¤ë¤è¤¦¤Ê x ¤Î¤ß¼è¤ê½Ð¤·¤¿¥ê¥¹¥È¡¢¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£ ¤¸¤ã¡¢¤³¤Î¥×¥í¥°¥é¥à¤Ï¤É¤¦¤Ç¤·¤ç¤¦¡© ------------------------------------------------------------------------ hurui [] = [] hurui (top:rest) = top:(hurui [x|x <- rest, x `mod` top /= 0]) ------------------------------------------------------------------------ ´Ø¿ô hurui ¤Ï°ú¿ô¤È¤·¤Æ¥ê¥¹¥È¤ò¤È¤ê¤Þ¤¹¡£¡Ö[]¡×¤Ï¶õ¥ê¥¹¥È¤Ç¤¹¡£¤Ä¤Þ¤êÍ× ÁǤ¬²¿¤â¤Ê¤¤¥ê¥¹¥È¤Ç¤¹¤Í¡£°ú¿ô¤¬¶õ¥ê¥¹¥È¤Ê¤é¤Ð hurui [] ¤ÎÃͤâ [] ¤Ç¤¹¡£ °ú¿ô¤¬ [] ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢°ú¿ô¤Î¥ê¥¹¥È¤ò¡¢ÀèÆ¬ top ¤È»Ä¤ê rest ¤Ëʬ²ò¤·¤Þ¤¹¡£ Î㤨¤Ð hurui [3,5,9,11,13] ¤Î¾ì¹ç¡¢top ¤¬ 3 ¤Ç rest ¤¬ [5,9,11,13] ¤Ç¤¹¡£ # ¤³¤Î¤¢¤¿¤ê¡¢lisp ¤òÃΤäƤ¤¤ë¿Í¤Ë¤Ï¤ª¤Ê¤¸¤ß¤Î³µÇ°¤Ç¤¹¤Í ¼¡¤Ë top ¤È (hurui [x|x <- rest, x `mod` top /= 0]) ¤ò¤Ä¤Ê¤²¤¿¥ê¥¹¥È¤ò¡¢ hurui ¤ÎÃͤȤ·¤ÆÊÖ¤·¤Þ¤¹¡£¡Ö:¡×¤¬¥ê¥¹¥È¤òºî¤ë¤¿¤á¤Î±é»»»Ò¤Ç¤¹¡£ # lisp ¤Ç¸À¤¦¤È¤³¤í¤Î cons ¤È¸À¤¨¤Ð lisp ¤òÃΤäƤ¤¤ë¿Í¤Ë¤Ï´Êñ¤Ç¤¹¤Í ¤Ç¤Ï (hurui [x|x <- rest, x `mod` top /= 0]) ¤È¤Ï²¿¤Ç¤·¤ç¤¦¡© ¡Ö/=¡×¤È¤¤¤¦¤Î¤ÏÅù¤·¤¯¤Ê¤¤¡¢¤È¤¤¤¦±é»»»Ò¤Ç¤¹¡£C ¤Ç¸À¤¦¤È¤³¤í¤Î¡Ö!=¡×¤Ç¤¹ ¤Í¡£¤Ä¤Þ¤ê¡¢rest ¤ÎÃæ¤Ç¡Öx `mod` top /= 0¡×¤¬ True ¤Ë¤Ê¤ë¤â¤Î¤ò¼è¤ê½Ð¤· ¤¿¥ê¥¹¥È¤òµá¤á¡¢¤³¤ì¤ò°ú¿ô¤È¤·¤Æ hurui ¤òºÆµ¢¸Æ½Ð¤·¤·¤Æµá¤á¤¿¥ê¥¹¥È¡¢¤È ¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ top ¤¬ 3 ¤Ç rest ¤¬ [5,9,11,13] ¤Ç¤·¤¿¤«¤é¡¢3 ¤Ç³ä¤Ã¤ÆÍ¾¤ê¤¬ 0 ¤Ç¤Ê¤¤ (¤Ä¤Þ¤ê 3 ¤Ç³ä¤êÀÚ¤ì¤Ê¤¤) ¤â¤Î¤Î¥ê¥¹¥È¡¢¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£9 °Ê³°¤Ï 3 ¤Ç³ä¤êÀÚ¤ì¤Ê¤¤¤Î¤Ç [5,11,13] ¤Ç¤¹¤Í¡£¤³¤ì¤ò°ú¿ô¤È¤·¤Æ hurui ¤ËÍ¿¤¨¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢3 (top ¤ÎÃÍ) ¤È hurui [5,11,13] ¤ÎÃͤò¤Ä¤Ê¤²¤¿¥ê¥¹¥È¤¬Åú¤Ë¤Ê¤ê¤Þ ¤¹¡£ ƱÍÍ¤Ë hurui [5,11,13] ¤ÎÃͤϡ¢5 ¤È hurui [11,13] (11 ¤â 13 ¤â 5 ¤Ç¤Ï³ä ¤êÀÚ¤ì¤Ê¤¤¤«¤é) ¤ÎÃͤò¤Ä¤Ê¤²¤¿¥ê¥¹¥È¤Ç¤¹¤Í¡£¤È¤¤¤¦¤Î¤ò¤É¤ó¤É¤óºÆµ¢Åª¤Ë·« ¤êÊÖ¤¹¤È¡¢hurui [3,5,9,11,13] ¤ÎÃÍ¤Ï [3,5,11,13] ¤Ë¤Ê¤ê¤Þ¤¹¡£¼ÂºÝ¤Ë»î¤· ¤Æ¤ß¤Þ¤·¤ç¤¦: ------------------------------------------------------------------------ *Main> hurui [3,5,9,11,13] [3,5,11,13] ------------------------------------------------------------------------ ¥¹¥ë¥É¥¤¿Í¤Ï¤¹¤Ç¤Ëʬ¤«¤Ã¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢ ¤³¤Î´Ø¿ô¤Ï¡Ö¥¨¥é¥È¥¹¥Æ¥Í¥¹¤ÎäÁ¡×¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢ ------------------------------------------------------------------------ *Main> take 20 (2:hurui [3,5..]) [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71] ------------------------------------------------------------------------ ¤Ê¤É¤È¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢20¸Ä¤ÎÁÇ¿ô¤òÎóµó¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤·¤¿¡£ ¤É¤¦¤Ç¤¹¡© ÌÌÇò¤¤¤Ç¤·¤ç¤¦¡© ´Ø¿ô·¿¸À¸ì¤òÃΤäƤ¤¤ë¿Í¤Ï¡¢¤¿¤Ö¤ó Haskell ¤â¤¹¤°»È¤¤¤³¤Ê¤¹¤³¤È¤¬¤Ç¤¤ë ¤È»×¤¤¤Þ¤¹¤·¡¢´Ø¿ô·¿¸À¸ì¤òÃΤé¤Ê¤¤¿Í¤Ï¡¢¤¼¤Ò¤³¤Îµ¡²ñ¤ËÃΤ뤳¤È¤ò¥ª¥¹¥¹¥á ¤·¤Þ¤¹¡£¤Ê¤¼¤Ê¤é´Ø¿ô·¿¸À¸ì¤òÃΤé¤Ê¤¤¥×¥í¥°¥é¥Þ¤Ã¤Æ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ÎÀ¤ ³¦¤ÎȾʬ¤·¤«ÃΤé¤Ê¤¤¤ï¤±¤Ç¡¢Haskell ¤ò³Ø¤Ö¤³¤È¤Ë¤è¤êÀ¤³¦¤¬Â礤¯¹¤¬¤ë¤È »×¤¦¤«¤é¤Ç¤¹¡£ ´Ø¿ô·¿¸À¸ì¤ò½é¤á¤Æ³Ø¤Ö¿Í¤Ï¡¢¤Þ¤º¤Ï ÆþÌçHaskell¡½¤Ï¤¸¤á¤Æ³Ø¤Ö´Ø¿ô·¿¸À¸ì ¸þ°æ ½ß (Ãø) ¤¢¤¿¤ê¤òÆÉ¤à¤Î¤¬¤¤¤¤¤«¤âÃΤì¤Þ¤»¤ó¡£»ä¤Î´ù¤Î¾å¤ËÃÖ¤¤¤Æ¤ª¤¯¤Î¤Ç¡¢¶½Ì£¤¢¤ë ¤«¤¿¤Ï¤É¡¼¤¾ (ÀèÃå°ì̾Í͸ÂÄê)¡£ ¤³¤ÎËܤϡ¢ÉûÂê¤Ë¤â¤¢¤ë¤è¤¦¤Ë´Ø¿ô·¿¸À¸ì¤ò½é¤á¤Æ³Ø¤Ö¿Í¸þ¤±¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤Î ¤Ç¡¢¥¤¥Þ¥¤¥ÁËܼÁ¤ò³°¤·¤Æ¤¤¤ë¤ó¤Ç¤¹¤è¤Í¤§... ¤À¤«¤éËܲ»¤Ç¤Ï¥ª¥¹¥¹¥á¤ÊËÜ¤Ç ¤Ï¤Ê¤¤ ;-) ¤Î¤Ç¤¹¤¬¡¢´Ø¿ô·¿¸À¸ì¤Ø¤Î¤È¤Ã¤«¤«¤ê¤È¤·¤Æ¤Ï¤è¤¤¤Î¤«¤âÃΤì¤Þ¤»¤ó¡£ #13425 ÀçÀÐ ¹ÀÌÀ http://www.gcd.org/sengoku/ Hiroaki Sengoku <sengoku@gcd.org>
¤³¤Î¥á¡¼¥ë¤Ë°ìÈÖÁ᤯ȿ±þ¤·¤¿¤Î¤Ï¡¢KLab ¤Î³«È¯¤Ë»²²Ã¤¤¤¿¤À¤¤¤Æ¤¤¤ë ¶¨Îϲñ¼Ò H ¼Ò¤Î CTO ¤Î T ¤µ¤ó¤Ç¤·¤¿¡£ T ¤µ¤ó¤È¤Ï¤´Ìµº»ÂÁ¤·¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢ Èà¤â»ä¤ÈƱÍÍ¤Ë Haskell ¤ÇÍ·¤ó¤Ç¤¤¤¿¤³¤È¤¬Ê¬¤«¤Ã¤Æ¡¢ ¤µ¤¹¤¬¤È»×¤Ã¤¿¼¡Âè¡£
# ¶¨Îϲñ¼Ò¤µ¤ó¤ËÉ餱¤º¤Ë´èÄ¥¤Ã¤Æ¤Í ¡ä KLab ¼Ò°÷
¤´Ìµº»ÂÁ¤·¤Æ¤ª¤ê¤Þ¤¹¡£ H ¼Ò¤Î T ¤Ç¤¹¡£ Hiroaki Sengoku wrote: > ÅâÆÍ¤Ç¤¹¤¬¡¢Haskell ¤Ã¤ÆÃΤäƤޤ¹¤«¡© ¤Ê¤¼¤«»ä¤â¡¢º£·î¤ÎƬ¤°¤é¤¤¤Ë¤È¤¢¤ë¥Ö¥í¥°¤ÇÃΤäơÊYAPC::Asia 2006¤ÎPugs´ØÏ¢ ¤Î¥¨¥ó¥È¥ê¤À¤Ã¤¿¤è¤¦¤Ê¡Ä¡Ë > ÆþÌçHaskell¡½¤Ï¤¸¤á¤Æ³Ø¤Ö´Ø¿ô·¿¸À¸ì > ¸þ°æ ½ß (Ãø) ¤ò¹ØÆþ¤·¤Æ¡¢¤Ò¤½¤ä¤«¤Ë³Ú¤·¤ó¤Ç¤ª¤ê¤Þ¤·¤¿¡£ ¤½¤·¤Æ¡¢¤¤¤ä¤¢¡¢¤³¤ì¤Ï¡¢¼«Ê¬¤À¤±³Ú¤·¤ó¤Ç¤¤¤ë¤Ë¤Ï;¤ê¤Ë¤â¤â¤Ã¤¿¤¤¤Ê¤¤¤Î¤Ç¡¢ ¡ÊH¼ÒÆâ¤Î¡ËÊÙ¶¯²ñ¤Î¥Í¥¿¤Ë¤·¤è¤¦¤ÈÀë¸À¤·¤Æ¤¤¤¿ÌðÀè¤Ë¡¢Åê¹Æ¤òÇÒ¸«¤·¤Þ¤·¤Æ¡¢ ¤Ä¤¤È¿±þ¤·¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£
KLab ¤Ç¤â Haskell ÊÙ¶¯²ñ¤ä¤ê¤Þ¤·¤ç¤¦!
ÊÀ¼Ò¤ÎÌÌÀܤÇ(»ä¤Ë)¤è¤¯Ê¹¤«¤ì¤ë¤³¤È¡¢ ÌÌÀÜ´±¼«¿È¤¬¸ì¤ëÌÌÀܹ¶Î¬Ë¡¤Î»°²óÌÜ¡£
¿¤¯¤Î´ë¶ÈƱÍÍ¡¢KLab ¤ÎÌÌÀܤǤâ¡ÖÁ°¿¦¤Ç¤¤¤¯¤é¤â¤é¤Ã¤Æ¤¤¤¿¤«¡×¤Ï ÅöÁ³¤Î¤è¤¦¤Ë¼ÁÌ䤷¤Þ¤¹¡£ ¤¬¡¢¤½¤ì¤ÏÁ°¿¦µë¤Ë´ð¤Å¤¤¤ÆµëÍ¿¤ò·è¤á¤ë¤¿¤á¡¢¤È¤¤¤¦¤ï¤±¤Ç¤Ï·è¤·¤Æ¤Ê¤¯¡¢ KLab ¤ÎµëÍ¿ÂηϤ˥¹¥à¡¼¥º¤Ë°Ü¹Ô¤Ç¤¤ë¤«È½ÃǤ¹¤ë¤¿¤á¤Ç¤¹¡£
À¤´Ö°ìÈÌŪ¤Ë¤Ï¡¢¤Þ¤À¤Þ¤Àǯ¸ù½øÎó¤ÎµëÍ¿ÂηϤΤ褦¤Ç¡¢ ǯÎ𤬹⤯¤Ê¤ë¤È¤É¤¦¤·¤Æ¤âµëÎÁ¤¬¹â¤¯¤Ê¤ë·¹¸þ¤Ë¤¢¤ê¤Þ¤¹¡£ Î㤨¤ÐÀèÆüÌÌÀܤ·¤¿¿Í¤Ï¡¢ 5ǯÁ°¤«¤éÀ®Ä¹¤¬»ß¤Þ¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¸«¼õ¤±¤é¤ì¤Þ¤·¤¿¡£ 5ǯ´Ö¤µ¤·¤¿¤ë¿ÊÊâ¤â¤Ê¤¤¤Î¤Ë¡¢ µëÎÁ¤Î¤ß¤¬¾å¤¬¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¡¢ ¤¤¤Þ¤µ¤é 5ǯÁ°¤ÎµëÎÁ¤Ç¸Û¤¦¤Î¤â̵Íý¤ÊÏäǤ¹¤·¡¢ 5ǯ´ÖÀ®Ä¹¤¬»ß¤Þ¤Ã¤Æ¤¤¤¿¿Í¤¬Å¾¿¦¤ÇÆÍÁ³¿¤Ó»Ï¤á¤ë²ÄǽÀ¤Ï Ä㤤¤ÈȽÃǤ»¤¶¤ë¤òÆÀ¤Ê¤«¤Ã¤¿¤Î¤Ç ÉÔºÎÍѤȤʤê¤Þ¤·¤¿¡£
¤â¤Á¤í¤ó¡ÖÀ®Ä¹¤¬»ß¤Þ¤Ã¤Æ¤¤¤¿¡×¤È¤¤¤¦¤Î¤Ï»ä¤«¤é¸«¤¿¼ç´Ñ¤Ç¤¢¤Ã¤Æ¡¢ Åö¿Í¤«¤é¤¹¤ì¤Ð 5ǯ´Ö¤Î´Ö¤Ë¤¤¤í¤¤¤í·Ð¸³¤òÀѤó¤Ç¤¤¿¤È»×¤Ã¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¡£ ¼ÂºÝ¡¢¿¦Ì³·ÐÎò½ñ¤Ë¤Ï¤¤¤í¤¤¤í¤Ê¥×¥í¥¸¥§¥¯¥È¤¬Îóµó¤·¤Æ¤¢¤ê¤Þ¤·¤¿¡£ ¤·¤«¤·¡¢¤É¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤âÊÌÃʻפ¤Æþ¤ì¤¬¤¢¤Ã¤¿¤ï¤±¤Ç¤â¤Ê¤¤¤è¤¦¤Ç¡¢ ¡Ö°õ¾Ý¿¼¤«¤Ã¤¿¥×¥í¥¸¥§¥¯¥È¤ò¡¢°ì¤Ä¤À¤±¤Ç¤¤¤¤¤Î¤Ç»öºÙ¤«¤Ë¾Ü¤·¤¯ÀâÌÀ¤·¤Æ²¼¤µ¤¤¡×¤È ¤ª´ê¤¤¤·¤Æ¤â¡¢¤É¤¦¤¤¤¦À½Éʤò³«È¯¤·¤¿¤Î¤«ÀâÌÀ¤¹¤ë¤À¤±¤À¤Ã¤¿¤Î¤Ç¤¹¡£ »ä¤È¤·¤Æ¤Ï¡¢¤É¤¦¸À¤¦ÅÀ¤òº¤Æñ¤È´¶¤¸¡¢¤É¤Î¤è¤¦¤Ë¹©Éפ·¡¢²¿¤ò³Ø¤ó¤À¤«Åù¡¹¤ò ʹ¤¤¿¤«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢ ¤Ä¤¤¤Ë¤½¤¦¤¤¤¦ÏäÏʹ¤±¤º¤¸¤Þ¤¤¤Ç¤·¤¿¡£
¡ÖµëÍ¿¤Î·ÐÏ©°Í¸À¤ÈÆó¶Ë²½¡×¤«¤é°úÍÑ:
¥¥ã¥ê¥¢¤Ã¤Æ¡Ö²¿¤ò¤ä¤Ã¤¿¤³¤È¤¬¤¢¤ë¤«¡×¤â¤¢¤ë¤±¤É ¡ÖÁ°¿¦¤Ç¤¤¤¯¤é¤â¤é¤Ã¤Æ¤¤¤¿¤«¡×¤È¤¤¤¦¤Î¤âÂ礤¤¤ó¤À¤è¤Í¡¥ ï¤âÀäÂÐŪ¤ÊµëÍ¿¿å½à¤Î´¶³Ð¤Ê¤ó¤Æ¤Ê¤¤¤«¤é¡¤ ¤É¤¦¤·¤Æ¤â¡ÖÁ°¿¦¤Ç¤¤¤¯¤é¤â¤é¤Ã¤Æ¤Þ¤·¤¿¤«¡©¡×¤È¤¤¤¦¤Î¤¬½ÅÍפʴð½à¤È¤Ê¤ë¡¥
¤½¤¦¤Ç¤·¤ç¤¦¤«¡© KLab ¤Ë¤Ï KLab ¤Î¡ÖÀäÂÐŪ¤ÊµëÍ¿¿å½à¤Î´¶³Ð¡×¤¬¤¢¤ê¤Þ¤¹¡£ ¤â¤Á¤í¤óÌÌÀܤÎû¤¤»þ´Ö¤Ç¡¢ ¤É¤Î¤¯¤é¤¤¤ÎǽÎϤò»ý¤Ã¤Æ¤¤¤ë¿Í¤«Àµ³Î¤ËÇİ®¤¹¤ë¤³¤È¤Ïº¤Æñ¤Ç¤¹¤¬¡¢ ¼ÂºÝ¤Ë 3¥ö·î¡ÁȾǯ¤â°ì½ï¤ËƯ¤±¤Ð¡¢ Ʊ¤¸¿¦¼ï¤Îï¤è¤ê¾å¤Çï¤è¤ê²¼¤Î¼ÂÎÏ¡¢ ¤Ê¤ó¤Æ¤Î¤Ïï¤ÎÌܤˤâÌÀ¤é¤«¤Ë¤Ê¤ë¤â¤Î¤À¤È»×¤¤¤Þ¤¹¡£ ¤À¤«¤é KLab ¤ÇÁ°¿¦µë¤òʹ¤¯¤Î¤Ï¡¢ µëÍ¿¤ò·è¤á¤ëºÝ¤Î´ð½à¤Ë¤·¤è¤¦¤È¤¤¤¦¤ï¤±¤Ç¤Ï·è¤·¤Æ¤Ê¤¯¡¢ KLab ¤ÎµëÍ¿ÂηϤ˥½¥Õ¥È¥é¥ó¥Ç¥£¥ó¥°¤µ¤»¤ë¤³¤È¤¬²Äǽ¤«È½ÃǤ¹¤ë¤¿¤á¤Ç¤¹¡£
Ʊ¥Ú¡¼¥¸¤«¤éºÆÅÙ°úÍÑ:
¿Í»ö¤¬¤Þ¤È¤â¤Ê¤é°Ü¹Ô´ü´Ö¤ÏÁ°¿¦¤ÎµëÍ¿¤À¤±¤É¡¤ ¤À¤ó¤À¤ó¤È´ë¶ÈÆâÉô¤ÎµëÍ¿¿å½à¤Ë¼ý«¤µ¤»¤ëÌõ¤À¤±¤É¡¤ 狼¤ÎµëÍ¿¤ò²¼¤²¤ë¤¿¤á¤Ë¤Ï·ë¹½¤Þ¤¸¤á¤ËÀâÌÀ²Äǽ¤Ê´ÉÍý¤ò¤¹¤ëɬÍפ¬¤¢¤Ã¤Æ¡¤ ¤Ê¤«¤Ê¤«ÂçÊѤÀ¤Ã¤¿¤ê¤¹¤ë¡¥ ¤½¤¦¤ä¤Ã¤Æ·ÐÏ©°Í¸Ū¤ÊÌäÂê¤Ç½êÆÀ¤¬Æó¶Ë²½¤·¤Æ¤¤¤ë¤Î¤Ë¡¤ ¤½¤ì¤ò¼ÂÎϼçµÁ¤À¤È¤«È´¤«¤·¤¿¤éÂ礤ʴְ㤤¤À¡¥
µëÍ¿¤ò²¼¤²¤ë¤Î¤Ï¼ÂºÝÂçÊѤǤ¹¡£¤·¤«¤·¡¢ ¼ÂÎϼçµÁ¤òɸÜÖ¤¹¤ë°Ê¾å¡¢ À®Ä¹¤Ë¤È¤â¤Ê¤Ã¤ÆµëÎÁ¤¬ÂçÉý¤Ë¾å¤¬¤ë¿Í¤¬½Ð¤Æ¤¯¤ë°ìÊý¤Ç¡¢ ÊѲ½¤ËŬ±þ¤Ç¤¤º¤ËµëÎÁ¤¬²¼¤¬¤ë¿Í¤¬½Ð¤Æ¤¯¤ë¤³¤È¤ÏÈò¤±¤é¤ì¤Ê¤¤¤³¤È¤Ç¤¹¡£ ¡Ö·ë¹½¤Þ¤¸¤á¤Ë¡×¤É¤³¤í¤«ÂçÊѤÊÏ«ÎϤò¤«¤±¤ÆÏ䷹礤¡¢ ¤ª¸ß¤¤Ç¼ÆÀ¤·¤¿¾å¤Ç¹ß³Ê¤ò¼Â»Ü¤·¤Æ¤¤¤Þ¤¹¡£
³Î¤«¤ËÌÌÀܤǤÏÇİ®¤·ÀÚ¤ì¤Ê¤«¤Ã¤¿Ç½ÎϤÎÄ㤵¤¬Æþ¼Ò¸å¤Ëȯ³Ð¤·¡¢ ¼ÂÎϤȵëÍ¿¤Î¥ß¥¹¥Þ¥Ã¥Á¤¬À¸¤¸¤ë¥±¡¼¥¹¤â̵¤¤¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ ÉÔ¹¬¤Ë¤â¤½¤¦¤¤¤¦¥±¡¼¥¹¤¬µ¯¤¤Æ¤·¤Þ¤Ã¤¿¤È¤¤ÏÀ¿¿´À¿°ÕÁ´ÎϤÇÂбþ¤· À§Àµ¤¹¤ë¤è¤¦ÅØ¤á¤Æ¤¤¤Þ¤¹¡£ ¤ª¸ß¤¤Ç¼ÆÀ¤·¤¢¤¦¤Þ¤Ç²¿»þ´Ö¤âÏä·¹þ¤à¤³¤È¤â¤¢¤ë¤ï¤±¤Ç¤¹¤¬¡¢ ¤½¤ì¤Ï¼ÂÎϼçµÁ¤ò°Ý»ý¤¹¤ë¤¿¤á¤ËÅöÁ³Ê§¤¦¤Ù¤¥³¥¹¥È¤À¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£
Á°²ó¤Ï¡¢¥ê¥ì¡¼¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤Ï https ¤Ê¤Î¤Ç¡¢ stone °Ê³°¤Î¥½¥Õ¥È¥¦¥§¥¢¤â»È¤¨¤ë¤È¤¤¤¦¤ªÏäò¤·¤Þ¤·¤¿¡£ °ìÎã¤È¤·¤Æ OpenSSL ÉÕ°¤Î s_client ¤ò»È¤Ã¤Æ¤ß¤¿¤ï¤±¤Ç¤¹¤¬¡¢ https ¤ò°·¤¦¥¯¥é¥¤¥¢¥ó¥È¥½¥Õ¥È¥¦¥§¥¢¤È¤¤¤¨¤ÐÉáÄÌ¤Ï WWW ¥Ö¥é¥¦¥¶¤Ç¤¹¤Í¡£ ¤È¤¤¤¦¤ï¤±¤Çº£²ó¤Ï WWW ¥Ö¥é¥¦¥¶¤Ç¥¢¥¯¥»¥¹¤¹¤ëÊýË¡¤ò¾Ò²ð¤·¤Þ¤¹¡£
¥Ö¥é¥¦¥¶¤Ç https://relay.klab.org/ ¤ò¥¢¥¯¥»¥¹¤¹¤ë¤È¡¢ ¼¡¤Î¤è¤¦¤Ê¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤¬ SSL ¤Ç°Å¹æ²½¤µ¤ì¤Æ¡¢ ¥ê¥ì¡¼¥µ¡¼¥Ð relay.klab.org ¤ØÁ÷¿®¤µ¤ì¤Þ¤¹¡£
GET / HTTP/1.1 Host: relay.klab.org User-Agent: Mozilla/5.0 ... ¡Ê¶õ¹Ô¡Ë
¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï SSL ¥¯¥é¥¤¥¢¥ó¥Èǧ¾Ú¤òÍ׵᤹¤ë¤Î¤Ç¡¢ ¥Ö¥é¥¦¥¶¤Ï¾ÚÌÀ½ñ¥¹¥È¥¢¤Ë¤¢¤ë SSL ¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤ò»ÈÍѤ·¤Æ ǧ¾Ú¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ ÍøÍѤǤ¤ë SSL ¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤¬Ê£¿ô¤¢¤ë¾ì¹ç¤Ï¡¢ ¥Ö¥é¥¦¥¶¤¬¾ÚÌÀ½ñ¤ÎÁªÂò²èÌ̤ò¥æ¡¼¥¶¤ËÄ󼨤·¡¢¥æ¡¼¥¶¤¬Áª¤Ö¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤ò¼õ¤±¼è¤Ã¤¿¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï¡¢ Ʊ¤¸¾ÚÌÀ½ñ¤ò»ý¤Ä relayagent ¤«¤é¤ÎÀܳ¤¬Â¸ºß¤¹¤ì¤Ð¡¢ ¤½¤Î relayagent ¤È¤ÎÄÌ¿®¤ò³ÎΩ¤µ¤»¤ë¤Î¤Ç¤·¤¿ (VPN-Warp ÆþÌçÊÔ (3)¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£
¤Ä¤Þ¤ê¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤Ë³¤¤¤ÆÁ÷¤é¤ì¤ë¥Ç¡¼¥¿¤¬¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè¤ËÁ÷¿®¤µ¤ì¡¢ ¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀ褫¤éÊÖ¤µ¤ì¤¿¥Ç¡¼¥¿¤¬¡¢¥Ö¥é¥¦¥¶¤ËÆÏ¤¤Þ¤¹¡£
¤¬¡¢¤Á¤ç¤Ã¤ÈÂԤäƤ¯¤À¤µ¤¤¡£ Á°²ó¤Þ¤Ç¤ËÀâÌÀ¤·¤Æ¤¤¿¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤Î¾ì¹ç¡¢ ¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î) ¤Ï stone ¤¬ÁÞÆþ¤·¤¿¡¢ ¤¤¤ï¤Ð¥À¥ß¡¼¤Î¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤Ç¤·¤¿¡£ ¥À¥ß¡¼¤Ç¤¹¤«¤é¡¢¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î) ¤Ï ¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè¤ËÁ÷¿®¤¹¤ëɬÍפ¬¤Ê¤«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢ ¥Ö¥é¥¦¥¶¤ò»È¤¦¾ì¹ç¤Ï¡¢¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤Ï¥Û¥ó¥â¥Î¤Ç¤¹¡£ ¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤â¹þ¤ß¤Ç¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè¤Î WWW ¥µ¡¼¥Ð¤ËÁ÷¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
VPN-Warp ÆþÌçÊÔ (3)¤Ç ÀâÌÀ¤·¤¿ relayagent ¤ÎÀßÄê¤Ç¤Ï¡¢ ¡Ö-n¡×¥ª¥×¥·¥ç¥ó (relayagent ¤ò¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤È¤·¤Æ»È¤¦¡¢¤È¤¤¤¦°ÕÌ£) ¤ò »ØÄꤷ¤¿¤³¤È¤ò³Ð¤¨¤Æ¤¤¤Þ¤¹¤Ç¤·¤ç¤¦¤«¡© ¼Â¤Ï¡¢¤³¤Î¡Ö-n¡×¥ª¥×¥·¥ç¥ó¤È¤¤¤¦¤Î¤¬¡¢ relayagent ¤Ë¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î) ¤ò¼è¤ê½ü¤¯¤³¤È¤ò»Ø¼¨¤¹¤ë ¥ª¥×¥·¥ç¥ó¤Ê¤Î¤Ç¤¹¡£ ¤À¤«¤é¡Ö-n¡×¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¡¢ ¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤â´Þ¤á¤Æ¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè (¤Ä¤Þ¤ê WWW ¥µ¡¼¥Ð) ¤ËÁ÷¤é¤ì¤Þ¤¹¡£
Î㤨¤Ð relayagent ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹:
-k private.pem -c cert.pem relay.klab.org:443 intra:80
intra:80 ¤¬¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè¤Î WWW ¥µ¡¼¥Ð¤Ç¤¹¤Í¡£ ¤³¤Î¤è¤¦¤ÊÀßÄê¤Ç relayagent ¤ò¼Â¹Ô¤·¤Æ¤ª¤¯¤³¤È¤Ë¤è¤ê¡¢ ¥Ö¥é¥¦¥¶¤¬ https://relay.klab.org/ ¤Ø¥¢¥¯¥»¥¹¤¹¤ë¤È¡¢ ¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¹þ¤ß¤Ç intra:80 ¤Ø¥¢¥¯¥»¥¹¤¬¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£
¤³¤ì¤ÇÌäÂê¤Ê¤¯¥Ö¥é¥¦¥¶¤Ç intra:80 ¤Ø¥¢¥¯¥»¥¹¤Ç¤¤ë...
¾ì¹ç¤â¤¢¤ë¤È¤Ï»×¤¤¤Þ¤¹¤¬¡¢
ÆóÅÀ¤Û¤ÉÃí°Õ¤¹¤Ù¤ÅÀ¤¬¤¢¤ê¤Þ¤¹¡£
- ¡Öhttps¡×¤È¡Öhttp¡×¤Î°ã¤¤
- ¥Û¥¹¥È̾¤Î°ã¤¤
¾¯¡¹¤ä¤ä¤³¤·¤¤ÌäÂê¤Ç¤¹¤Î¤Ç¡¢¼¡²ó¤Þ¤ï¤·¤Ë¤·¤Þ¤·¤ç¤¦¡£
ÊÀ¼Ò¤ÎÌÌÀܤÇ(»ä¤Ë)¤è¤¯Ê¹¤«¤ì¤ë¤³¤È¡¢ ÌÌÀÜ´±¼«¿È¤¬¸ì¤ëÌÌÀܹ¶Î¬Ë¡¤ÎÆó²óÌÜ¡£
ÌÌÀܤò¼õ¤±¤ËÍè¤Æ¡¢¤Ê¤Ë¤â¼ÁÌ䤷¤è¤¦¤È¤·¤Ê¤¤¿Í¤¬¤¤¤Þ¤¹¡£ ÌÌÀܤò¼õ¤±¤ËÍ褿¿Í(±þÊç¼Ô)¤Ë¤È¤Ã¤Æ¤Ï¡¢ ½é¤á¤Æ¤Î²ñ¼Ò¤Ç¤¢¤ë¤ï¤±¤Ç¡¢ ¤½¤Î²ñ¼Ò¤Ë¤Ä¤¤¤Æ¤ÏÃΤé¤Ê¤¤¤³¤È¤À¤é¤±¤Ê¤Ï¤º¤Ç¤¹¡£ ¤½¤ì¤Ê¤Î¤Ë°ìÅÙ¤â±þÊç¼Ô¤Î¦¤«¤é¼ÁÌ䤷¤è¤¦¤È¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ ÌÌÀܤò½ªÎ»¤¹¤ëÁ°¤Ë¡¢ ¡Ö²¿¤«¼ÁÌä¤Ï¤¢¤ê¤Þ¤»¤ó¤«¡©¡×¤È¤¤¤¦¼ÁÌä¤ò¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤½¤ì¤Ç¤â²¿¤â¼ÁÌ䤷¤Æ¤â¤é¤¨¤Ê¤¤¤Î¤Ï¡¢ ±þÊç¼Ô¤Î´Ø¿´Å٤νç¤Ë
- ¤½¤Î²ñ¼Ò¤Ë¶½Ì£¤¬¤Ê¤¤
- ¶½Ì£¤Ï¤¢¤ë¤Î¤À¤±¤É¡¢ÅöºÂÃΤꤿ¤¤¤³¤È¤Ïʬ¤«¤Ã¤¿¤Î¤ÇËþÂ
- ÃΤꤿ¤¤¤³¤È¤Ï¤Þ¤À¤¢¤ë¤Î¤À¤±¤É¡¢¼ÁÌä¤Ç¤¤Ê¤¤
¤È¤¤¤¦Íýͳ¤¬¹Í¤¨¤é¤ì¤ë¤Ç¤·¤ç¤¦¡£ (1) ¤Ï¡¢ÌÌÀÜ´±¤¬±þÊç¼Ô¤ËÂФ·¤Æ²ñ¼Ò¤ÎÌ¥ÎϤò½¼Ê¬¤ËÀâÌÀ¤Ç¤¤Ê¤«¤Ã¤¿¡¢ ¤È¤¤¤¦¤³¤È¤Ê¤Î¤Ç¡¢È¿¾Ê¤¹¤Ù¤¤Ï±þÊç¼Ô¤Ç¤Ï¤Ê¤¯¤ÆÌÌÀÜ´±(¤Ä¤Þ¤ê»ä)¤Î¤Û¤¦¤Ç¤¹¤Í¡£ ¤Ê¤Î¤Ç¡¢¤³¤³¤Ç¤Ï (2) ¤È (3) ¤Ë¤Ä¤¤¤Æ¤Î¤ß¹Í¤¨¤Þ¤¹¡£
¤Þ¤º (2) ¤Ç¤¹¤¬¡¢ÌÌÀܤϤ»¤¤¤¼¤¤ 1»þ´Ö¡¢Ä¹¤¯¤Æ¤â 2»þ´ÖÄøÅ٤ʤ櫓¤Ç¡¢ ¤½¤ó¤Êû¤¤»þ´Ö¤Ç¤É¤ì¤À¤±¤Î¤³¤È¤¬Ê¬¤«¤ë¤È¤¤¤¦¤Î¤Ç¤·¤ç¤¦¡©
¼ØÂ¤Ç¤¹¤¬¡¢»ä¤¬¥±¥¤¡¦¥é¥Ü¥é¥È¥ê¡¼ (KLab ¤Îµì¼Ò̾) ¤ÎΩ¤Á¾å¤²¤Ë »²²Ã¤¹¤ë¤È¤¤Ë¼õ¤±¤¿ÌÌÀÜ (¤Ä¤Þ¤ê»ä¤¬±þÊç¼Ô¤ÎΩ¾ì¤À¤Ã¤¿ºÇ¸å¤ÎÌÌÀÜ) ¤Ï¡¢ Ïä¬À¹¤ê¾å¤¬¤Ã¤ÆÏä·¹þ¤ß¡¢µ¤ÉÕ¤¤¤¿¤È¤¤Ë¤Ï 6 »þ´Ö¤¬·Ð²á¤·¤Æ¤¤¤Þ¤·¤¿¡£ ¤³¤³¤Þ¤ÇŤ¤¤È¡¢Èó¾ï¼±¤«¤âÃΤì¤Þ¤»¤ó¤Í¡£(^^;)
ʬ¤«¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ëʬ¤«¤Ã¤¿¤Ä¤â¤ê¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¢ ¤³¤ì¤Ïµ»½Ñ¼Ô¤Ë¤È¤Ã¤ÆÃ×̿Ū¤Ê¤³¤È¤Ç¤¹¡£ ¤É¤³¤Þ¤Ç¤â¼«Ê¬¤¬Ê¬¤«¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤ò¼«³Ð¤·¡¢ õµá¤·Â³¤±¤ë½¬´·¤¬Ìµ¤±¤ì¤Ð¡¢¥¹¥¥ë¥¢¥Ã¥×¤Ï³Ð«¤Ê¤¤¤Ç¤·¤ç¤¦¡£
¤·¤¿¤¬¤Ã¤ÆÌÌÀÜ´±¤È¤·¤Æ¤Ï¡¢¤³¤Î±þÊç¼Ô¤Ë¤Ï¡Ö¿¤Ó¤·¤í¡×¤¬¤â¤¦¤¢¤Þ¤ê¤Ê¤¤¡¢ ¤Ä¤Þ¤ê¸½¾õ¤Î¥¹¥¥ë°Ê¾å¤Î¤â¤Î¤Ï´üÂÔ¤·¤Ë¤¯¤¤¤ÈȽÃǤ»¤¶¤ë¤òÆÀ¤Þ¤»¤ó¡£ ¸½ºß¤Î¥¹¥¥ë¤Î¤Þ¤Þ¤Ç³èÌö¤·¤ÆÄº¤±¤ë¤ÈȽÃǤ¹¤ë¾ì¹ç¤ÏºÎÍѤ·¤Þ¤¹¤·¡¢ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤ÏÉÔºÎÍѤȤʤê¤Þ¤¹¡£
°ìÊý (3) ¤Ï¡¢µ»½Ñ¼Ô¤È¤·¤Æ¤Ï²ÄǽÀ¤¬¤¢¤ë¤¬¡¢¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥óǽÎϤ¬Ä㤤¡¢ ¤È¤¤¤¦¾ì¹ç¤Ç¤¹¡£ ¤â¤Á¤í¤ó¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó¤È¤¤¤¦¤Î¤ÏÁÐÊý¸þ¤Î¤â¤Î¤Ê¤Î¤Ç¡¢ ¼ÁÌ䤷¤Ë¤¯¤¤Ê·°Ïµ¤¤Ë¤·¤Æ¤·¤Þ¤Ã¤¿ ÌÌÀÜ´±¤Î¦¤ËÈ󤬤¢¤ë²ÄǽÀ¤âÈݤá¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢ ¼ÁÌ䤷¤ä¤¹¤¤´Ä¶¤Ç¤Ê¤¤¤È¼ÁÌä¤Ç¤¤Ê¤¤¤È¤¤¤¦¤Î¤âº¤¤ê¤â¤Î¤Ç¤¹¡£
¤È¤Ï¤¤¤¨¡¢µ»½Ñ¤È°ã¤Ã¤Æ¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥óÎϤϺФò¤È¤Ã¤Æ¤«¤é¤Ç¤â½¬ÆÀ¤Ç¤¤Þ¤¹¡£ ¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥óǽÎϤ¬³§Ìµ¤Ç¤â¡¢µ»½Ñ¼Ô¤È¤·¤Æ¤ÎÁǼÁ¤¬¤¢¤ë¤«¤¿¤Ë¤Ï À§ÈóÆþ¼Ò¤·¤ÆÄº¤¤¿¤¤¤Ç¤¹¤·¡¢ ¼ÂºÝÌÌÀÜ»þ¤Ë¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥óǽÎϤ¬¥¼¥í¤À¤Ã¤¿¿Í (ÌÌÀܤλþ¡¢¤Û¤È¤ó¤ÉÏ乤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿) ¤¬ Æþ¼Ò¸åÂç³èÌö¤·¤Æ¤¤¤ëÎã¤â¤¢¤ê¤Þ¤¹¡£ ¤â¤Á¤í¤ó»Å»ö¤ò±ß³ê¤Ë¿Ê¤á¤ë¤Ë¤Ï¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥óÎϤ¬¹â¤¤Êý¤¬ ¤¤¤¤¤Ë·è¤Þ¤Ã¤Æ¤Þ¤¹¤Î¤Ç¡¢ Î㤨¤Ð
¼ÁÌäÎÏ¡½Ïä·¾å¼ê¤Ï¤³¤³¤¬¤Á¤¬¤¦
ã·Æ£ ¹§ (Ãø)
ÃÞËà½ñ˼ ; ISBN: 4480816267 ; (2003/03)
¤Ê¤É¤òÆÉ¤ó¤Ç¡Ö¼ÁÌ䤹¤ëÎϡפò¿¤Ð¤·¤Æ¤¤¤Ã¤ÆÍߤ·¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£
Á϶Ȥ«¤é 6ǯ¡¢KLab ¤ÏÂ礤¯È¯Å¸¤·¤Þ¤·¤¿¡£5¿Í¤Ç»Ï¤á¤¿²ñ¼Ò¤¬¤â¤¦¤¹¤°200¿Í¤Ë㤹¤ëÀª¤¤¤Ç¤¹¡£ ºòǯ 9·î¤Ë¤Ï »Ò²ñ¼Ò KLab¥»¥¥å¥ê¥Æ¥£¤òÀßΩ¤·¡¢ ¥»¥¥å¥ê¥Æ¥£Ê¬Ìî¤Ø¤ÎËܳʿʽФò³«»Ï¤·¤Þ¤·¤¿¡£ ¤Ç¤â»ä¤Ë¤È¤Ã¤Æ²ñ¼Ò¤ÎȯŸ°Ê¾å¤Ë½ÅÍפʤΤϡ¢ KLab¥°¥ë¡¼¥×¤ÎȯŸ¤Ë¤¢¤ï¤»¤Æ »ä¼«¿È¤âÂ礤¯ÊѤï¤ë¤³¤È¤¬¤Ç¤¤¿¤È¤¤¤¦¤³¤È¤Ç¤¢¤ê¡¢ ¤Þ¤¿°ì½ï¤ËƯ¤¯µ»½Ñ¼Ô¤¿¤Á¤âÂ礤¯À®Ä¹¤·¤¿¤È¤¤¤¦ÅÀ¤Ç¤¹¡£
¤â¤Á¤í¤ó¡¢µ»½Ñ¼Ô¤¬À®Ä¹¤¹¤ì¤Ð¤½¤ì¤À¤±¤Ç¤¤¤¤¡¢ ¤È¤¤¤¦¤Û¤É²ñ¼Ò¤Ïñ½ã¤Ê¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ ²ñ¼Ò¤È¤¤¤¦¤â¤Î¤Ï¡¢Ìò°÷¤¬3¿Í¤¤¤¿¤é3¿Í¡¢5¿Í¤¤¤¿¤é5¿Í¤¬³§°ã¤¦¥¿¥¤¥×¤Ç¡¢ ¤½¤ì¤¾¤ì¤ÎΩ¾ì¤«¤é²ñ¼Ò¤Î¤¢¤ë¤Ù¤»Ñ¤òÄ󰯤·¡¢ ¤½¤ì¤é¤ò¥ß¥Ã¥¯¥¹¤·¤Æ°ìÈÖ¤¤¤¤²ñ¼Ò¤òÁϤë¤Ù¤¤À¤È»×¤¤¤Þ¤¹¡£ »ä¤Ïµ»½Ñ¼Ô¤À¤«¤éµ»½Ñ¼Ô¥µ¥¤¥É¤«¤é²ñ¼Ò¤Î¤¢¤ë¤Ù¤»Ñ¤ò¤¤¤Ä¤â¹Í¤¨¤Æ¤¤¤Þ¤¹¡£
»ä¤Ï KLab¥°¥ë¡¼¥×¤ò¡¢¤³¤ì¤«¤é¤â¤â¤Ã¤È ¡Öµ»½Ñ¼Ô¤ÎÀ®Ä¹¤Ë¤È¤Ã¤Æ°ìÈÖÌò¤ËΩ¤Ä²ñ¼Ò¡× ¡Öµ»½Ñ¼Ô¤¬¼«¤é¿¤Ó¤Æ¤¤¤¯¤³¤È¤¬¤Ç¤¤ë²ñ¼Ò¡×¤Ë¤·¤¿¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤·¤Æ¡¢µ»½Ñ¼Ô㤬 KLab¥°¥ë¡¼¥×¤òƧ¤ßÂæ¤Ë¤·¤Æ¼¡¤Î¥¹¥Æ¥Ã¥×¤Ë¿Ê¤à¤Î¤â¤¤¤¤¤·¡¢ KLab¥°¥ë¡¼¥×¤Ë»Ä¤Ã¤Æ¡¢KLab¥°¥ë¡¼¥×¤Î¾Íè¤Ë¹×¸¥¤·¤Æ¤¯¤ì¤Æ¤â¤¤¤¤¡£
¤½¤³¤Ë°ìÈֽŤ¤ò¤ª¤¤¿¤¤¡£
¤½¤Î°Ù¤Ë¤³¤À¤ï¤Ã¤Æ¤¤¤ë¤³¤È¤ò3¤Ä¤´¾Ò²ð¤·¤Þ¤¹¡£
ÌÌÇò¤¤¤³¤È¤Ïµö²Ä¤·¤Þ¤¹
¡Ö¥³¥¹¥ÈŪ¤Ë¤É¤¦¤«¤Ê¡©¡×¤È»×¤¦¤³¤È¤Ç¤â¡¢ ¿·¤·¤¤¤³¤È¤Ç¤¢¤ì¤ÐÀѶËŪ¤Ë¤ä¤Ã¤Æ¤¤¤¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£ ¡Ö¥È¥Ã¥×¤ÎÍý²ò¤¬¤Ê¤¤¡×¡Ö¾å»Ê¤ÎÀâÆÀ¤¬ÂçÊѡפȤ¤¤¦µ»½Ñ¼Ô¤ÎÏäò¤è¤¯¼ª¤Ë¤·¤Þ¤¹¤¬¡¢ KLab¥°¥ë¡¼¥×¤Ç¤Ï ¤½¤ó¤Ê¤³¤È¤Ï¤¢¤ê¤¨¤Þ¤»¤ó¡£¤½¤ì¤Ï¡¢»ä¤¬¾å»Ê¤À¤«¤é¤Ç¤¹¡£ ¼ÂºÝ¤Ë¸À¤¤½Ð¤·¤Ã¤Ú¤Ï»ä¼«¿È¤¬°ìÈÖ¿¤¯¤Æ¡¢ ¥á¥ó¥Ð¡¼¤«¤é¡Ö¤³¤ó¤Ê̵Ã㤷¤Ê¤¤¤Ç²¼¤µ¤¤¡×¤È¸À¤ï¤ì¤Þ¤¹¤¬¡¦¡¦¡¦¡£ ¾å»Ê¤ò»ß¤á¤ë¤³¤È¤Ï¤¢¤Ã¤Æ¤â¡¢»ß¤á¤é¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£ µ»½Ñ¼Ô¤Ë¤È¤Ã¤Æ¡¢ÀѶËŪ¤Ë¤ä¤ê¤¿¤¤¤³¤È¤¬¤ä¤ì¤ë¡¢ Ä©Àï¤Ç¤¤ë´Ä¶¤Ç¤¹¡£
¤µ¤é¤Ë¡¢¸½ºß¤Î¶È̳¤È¤ÏľÀÜ´Ø·¸¤Ê¤¤¤³¤È¤Ë¤â¤É¤ó¤É¤óÄ©À路¤Æ¤â¤é¤¦¤¿¤á¡¢ ¶Ð̳»þ´Ö¤Î10%°ÊÆâ¤Ç¤¢¤ì¤Ð¾å»Ê¤Îµö²Ä¤òÆÀ¤º¤Ë²¿¤ò¤ä¤Ã¤Æ¤â¤¤¤¤¤È¤¤¤¦ ¡Ö¤É¤Ö¤í¤¯À©Å١פòºî¤ê¤Þ¤·¤¿¡£ ¤¢¤ëÄøÅÙ¥á¥É¤¬¤Ä¤¯¤Þ¤Ç¤Ï¡Ö¤³¤Ã¤½¤ê¡×µ»½Ñ¤ò»Å¹þ¤ó¤Ç¤â¤é¤Ã¤Æ¡¢ ¤â¤·¤¦¤Þ¤¯¤¤¤Ã¤¿¤éȯɽ¤·¤Æ¤â¤é¤Ã¤Æ¤ß¤ó¤Ê¤Ç»ö¶È²½¤ò¹Í¤¨¤ë¡£ ¥â¥Î¤Ë¤Ê¤é¤Ê¤«¤Ã¤¿¤È¤·¤Æ¤â¹½¤ï¤Ê¤¤¡¢ ¼ºÇÔ¤ò¶²¤ì¤ºÄ©À魯¤ë°ÕÍߤòÂçÀڤˤ·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
¤¤¤«¤Ë¹âÉé²Ù¤ËÂѤ¨¤¦¤ë¥µ¡¼¥Ð¤òºî¤ë¤³¤È¤¬¤Ç¤¤ë¤«¡¢ ¤¤¤«¤Ë·ÐºÑŪ¤Ë±¿ÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤ë¤«¡¢ ¤È¤¤¤¦¥¯¥é¥¹¥¿¥ê¥ó¥°¥µ¡¼¥Ð¤Î¸¦µæ³«È¯¤Ï¡¢ º£¤Ç¤³¤½ KLab ¤Î»ö¶È¤ÎÃì¤Î°ì¤Ä¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢ ºÇ½é¤Ï¥±¡¼¥¿¥¤Java¥¢¥×¥ê¤òºî¤ë¹ç´Ö¤Ë¡Ö¤³¤Ã¤½¤ê¡×»Å¹þ¤ó¤Àµ»½Ñ¤À¤Ã¤¿¤Î¤Ç¤¹¡£ ¶È̳¤È¤ÏľÀÜ´Ø·¸¤Ê¤¤¤³¤È¤À¤Ã¤¿¤¬¹¥¤¤À¤«¤é¤È¤ä¤Ã¤Æ¤ë¤¦¤Á¤Ë¡¢ ¤¤¤Ä¤Î¤Þ¤Ë¤« KLab ¤Î¥³¥¢¥³¥ó¥Ô¥¿¥ó¥¹¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤ï¤±¤Ç¡¢ ¡Ö¤É¤Ö¤í¤¯¡×Àº¿À¤Îŵ·¿Îã¤È¸À¤¨¤ë¤Ç¤·¤ç¤¦¡£
¤Þ¤¿¡¢¥»¥¥å¥ê¥Æ¥£Ê¬Ìî¤Ø¤Î¿Ê½Ð¤â¡¢ ºÇ½é¤Î¤¤Ã¤«¤±¤Ï¼ñÌ£¤Çºî¤Ã¤¿¥×¥í¥°¥é¥à¤Ç¤·¤¿¡£ ¤³¤Î¤¢¤¿¤ê¤Î·Ð°Þ¤Ï¡¢ ¡Ö¤Ê¤¼¥±¡¼¥¿¥¤¡¦¥³¥ó¥Æ¥ó¥Ä³«È¯¤«¤é¡¢¥»¥¥å¥ê¥Æ¥£¤ØÅ¾¿È¤·¤¿¤Î¤«¡©¡×¤Ë½ñ¤¤¤Æ¤¤¤Þ¤¹¡£
º£¤Þ¤Ç¤Î»ö¶ÈÎΰè¤Ï̵»ë¤·¤Æ¤â¤é¤Ã¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£ IT °Ê³°¤ÏÈù̯¤Ç¤¹¤¬¡¢¡Öµ»½Ñ¡×¤È¤¤¤¦Ì¾¤¬¤Ä¤±¤Ð²¿¤Ç¤â OK ¤Ç¤¹¡£ ¡Ö¤½¤³¤Ï¤ªÁ°¤Î¤ä¤ë¤³¤È¤¸¤ã¤Ê¤¤¡×¤È¸À¤ï¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ »ä¤¬ CTO ¤Ç¤¢¤ë°Ê¾å¡¢ ¤ä¤ëµ¤¤¬¤¢¤ë¤Ê¤é¼¡¡¹¤Ë¿·¤·¤¤¸¦µæ³«È¯¤¬¤Ç¤¤Þ¤¹¡£ ¤½¤·¤Æ¡¢¤½¤³¤ÇÀѤ߽Ťͤ¿µ»½ÑÎϼ¡Âè¤Ç CTO ¤âÌܻؤ»¤Þ¤¹¡£ ¤½¤ì¤¬ KLab ¤È¤¤¤¦²ñ¼Ò¤Ê¤Î¤Ç¤¹¡£
µ»½Ñ¼Ô¤Î¾å»Ê¤Ïµ»½Ñ¼Ô¤Ç¤¢¤ë¤Ù¤¤Ç¤¹
¤³¤ì¤Ï»ä¤Î¤³¤À¤ï¤ê¤Ç¡¢¤º¤Ã¤È¸À¤¤Â³¤±¤Æ¤¤¤ë¤³¤È¤Ç¤¹¡£ µ»½Ñ¼Ô¤¬¡Öµ»½Ñ¤À¤±¤Ç¤É¤³¤Þ¤Ç¤â¾å¤Ã¤Æ¤¤¤±¤ë²ñ¼Ò¡× ¡Ö¼«Ê¬¤Î¥¥ã¥ê¥¢¥Ñ¥¹¤òÌÀ³Î¤ËÉÁ¤±¤ë²ñ¼Ò¡×¤½¤ì¤¬ÍýÁÛ¡£ ½ÐÀ¤¤¹¤ë¤Èµ»½Ñ¤¬¤Ê¤¯¤Ê¤Ã¤¿¤ê¡¢¾å»Ê¤¬¤¤¤Ä¤Î´Ö¤Ë¤«µ»½Ñ¼Ô¤Ç¤Ê¤¯¤Ê¤ë¤È¡¢ ¡Ö¤¤¤º¤ì¤Ïµ»½Ñ¤ò¼Î¤Æ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡×¤È»×¤Ã¤Æ¤·¤Þ¤¦¡£¤½¤ì¤Ï¤¢¤ê¤¨¤Ê¤¤¡£
»ö¶ÈʬÌî¤Î¹¤¬¤ê¤Ë¤È¤â¤Ê¤¤¸½ºß¤Ï»ö¶ÈÉôÀ©¤ò¤·¤¤¤Æ¤¤¤Þ¤¹¤¬¡¢ ËÜÅö¤Ëµ»½Ñ¤¬¹¥¤¡¢¤È¤¤¤¦¿Í¤Î¤¿¤á¤Ë¤Ï¡¢ ¸¦µæÉôÌç¤Ç¤¢¤ë K¥é¥Ü¥é¥È¥ê¡¼ (µì¼Ò̾¤ò°ú¤·Ñ¤¤¤Ç¤¤¤Þ¤¹) ¤¬¤¢¤ê¡¢ »ä¤¬Ä¾³í¤·¤Æ¤¤¤Þ¤¹¡£ ¤Þ¤¿¡¢KLab¥»¥¥å¥ê¥Æ¥£¤Ïº£¤Î¤È¤³¤í¥»¥¥å¥ê¥Æ¥£Ê¬Ìî¤ËÆÃ²½¤·¤Æ¤¤¤ë¤Î¤Ç µ¡Ç½ÁÈ¿¥¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢µ»½ÑÉôÌç¤Ï»ä¤¬Åý³ç¤·¤Æ¤¤¤Þ¤¹¡£
¤µ¤é¤Ë¡¢¾å»Ê¤¬Ã±¤Ëµ»½Ñ¼Ô¤Ç¤¢¤ë¤È¤¤¤¦¤À¤±¤Ç¤Ê¤¯¡¢ ¾å»Ê¤¬Éô²¼¤òµ»½Ñ¼Ô¤È¤·¤Æ¤Î¼ÂÎϤÇɾ²Á¤Ç¤¤ë¤È¤¤¤¦¤³¤È¤ò½Å»ë¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢¡ÖÈà¤Ï¡¢¤³¤Î¤¢¤¿¤ê¤ÎʬÌͥ¤ì¤Æ¤¤¤ë¡×¤Ê¤É¤È¤¤¤¦³µÍ×ɾ²Á¤Ç¤Ï¤Ê¤¯¡¢ Î㤨¤Ð¥½¡¼¥¹¥³¡¼¥É¤Þ¤Ç¸«¤Æ¡¢Í¥¤ì¤Æ¤¤¤ëÅÀ¤ò¶ñÂÎŪ¤Ëɾ²Á¤Ç¤¡¢ ¤µ¤é¤Ë²þÁ±¥Ý¥¤¥ó¥È¤â¥¢¥É¥Ð¥¤¥¹¤Ç¤¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
°ìÈ̤βñ¼Ò¤Ç¤Ï¡¢²áµî¤Î¸ùÏ«¼Ô¤¬¾å¤Ë¤¤¤ë´ë¶È¤¬Â¿¤¤¤è¤¦¤Ç¤¹¤¬¡¢ ¤Ç¤âÈà¤é¤Ï¡¢²áµî¤Îµ»½Ñ¤Ë´Ø¤·¤Æ¤ÏÍ¥¤ì¤Æ¤¤¤Æ¤â¡¢ ɬ¤º¤·¤âº£¤Îµ»½Ñ¤Ë´Ø¤·¤ÆÀºÄ̤·¤Æ¤¤¤ë¤È¤Ï¸À¤¨¤Þ¤»¤ó¡£ KLab¥°¥ë¡¼¥×¤Î¾ì¹ç¤Ï¡¢ ¤³¤ì¤«¤é¤Îµ»½Ñ¤ÇÉô²¼¤ò°ú¤ÃÄ¥¤Ã¤Æ¤¤¤±¤ë¿Í¤Ç¤Ê¤¤¤È¾å»Ê¤Ë¤Ï¤·¤Þ¤»¤ó¡£ ¾å»Ê¤Ç¤â¡¢¿·¤·¤¤¹Í¤¨Êý¤ä¿·¤·¤¤¥Ñ¥é¥À¥¤¥à¤ËŬ±þ¤Ç¤¤Ê¤¤¿Í¤Ï¡¢ ¤À¤ó¤À¤óÂत¤Æ¤â¤é¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
À¤¤ÎÃæÅª¤Ë¤Ï¡¢¾åή¹©Äø¤ò½ÅÍפʻŻö¡¢ ²¼Î®¹©Äø¤òñ½ãϫƯ¤Èª¤¨¤ë¸«Êý¤¬¤¢¤ê¤Þ¤¹¡£ ²¼Î®¤Ï¿·¿Í¤¬¤ä¤ë»Å»ö¤È¸«¤Ê¤µ¤ì¡¢ ¥×¥í¥°¥é¥ß¥ó¥°¤ò¤Û¤È¤ó¤É·Ð¸³¤·¤Æ¤¤¤Ê¤¤¿Í¤¬¥×¥í¥°¥é¥Þ¡¼¤Î¾å»Ê¤À¤Ã¤¿¤ê¤¹¤ë¡£ ¤³¤ì¤Ç¤Ï¥Þ¥È¥â¤Êɾ²Á¤¬¤Ç¤¤ë¤Ï¤º¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ²¼Î®¤Ë¤Ï²¼Î®¤Ê¤ê¤ÎÆñ¤·¤µ¤¬¤¢¤ê¡¢ ²¼Î®¤ÎÆÀ°Õ¤Ê¿Í¤¿¤Á¤â¡¢¾åή¤ÈƱÍͤËɾ²Á¤µ¤ì¤ë¤Ù¤¤Ç¤¹¡£ KLab¥°¥ë¡¼¥×¤Ë¤Ï¡¢¾åή¤¬ÆÀ°Õ¤Ê¾åĹ¤È²¼Î®¤¬ÆÀ°Õ¤Ê¾åŤÎξÊý¤¬¤¤¤Þ¤¹¤Î¤Ç¡¢ ²¼Î®¤À¤«¤é¾åή¤è¤êÃϰ̤¬²¼¡¢¤È¤¤¤¦¤³¤È¤ÏÁ´¤¯¤¢¤ê¤Þ¤»¤ó¡£
KLab¥°¥ë¡¼¥×¤Ï¿¿¤Î¼ÂÎϼçµÁ¡¦Ç½ÎϼçµÁ¤Î²ñ¼Ò¤Ç¤¹
À®²Ì¼çµÁ¤¸¤ã¤Ê¤¯¤Æ¼ÂÎϼçµÁ¡¦Ç½ÎϼçµÁ¡£ ¤É¤ì¤À¤±Ç½ÎϤò»ý¤Ã¤Æ¤¤¤ë¤«¡¢¥Ý¥Æ¥ó¥·¥ã¥ë¤â´Þ¤á¤¿¤È¤³¤í¤Çɾ²Á¤·¤Þ¤¹¡£ ¤½¤·¤ÆÇ½ÎϤ¬¤¢¤ë¿Í¤Ï¥É¥ó¥É¥óȴŧ¡£Ç½ÎϤ¬³«²Ö¤·¤¿»þÅÀ¤Ç¡¢ ¤¤¤¤Ê¤êÇܤεëÍ¿¤Ë¤·¤Æ¤â¤¤¤¤¡£ ¸å¤«¤éÍ褿¿Í¤¬¾å»Ê¤òÄɤ¤È´¤¯¤Î¤ÏÆü¾ïÃãÈÓ»ö¤Ç¤¹¡£
¿¤¯¤Î²ñ¼Ò¤ÏÀ®²Ì¼çµÁ¤ËÁö¤ê¤¬¤Á¤Ç¤¹¡£ ¤½¤ì¤Ï¾å»Ê¤¬µ»½Ñ¤ò¤ï¤«¤Ã¤Æ¤ª¤é¤º¡¢µ»½Ñ¼Ô¤ò¤¤Á¤ó¤Èɾ²Á½ÐÍè¤Ê¤¤¤«¤é¤Ç¤¹¡£ Éô²¼¤Î¤ä¤Ã¤Æ¤¤¤ë¤³¤È¤¬µ»½ÑŪ¤Ë¤É¤³¤Þ¤ÇÀ¨¤¤¤Î¤«¤ò¡¢ ɾ²Á¤Ç¤¤Ê¤¤¤«¤é¿ô»ú¤Ç½Ð¤ë¤â¤Î¤ò¿®¤¸¤ë¤·¤«¤Ê¤¯¡¢ ¡Ö¤è¤êÍø±×(Ψ)¤Î¹â¤¤¤â¤Î¤ò¤ä¤Ã¤¿¤«¡©¡× ¤È¤¤¤¦¤³¤È¤¬¥á¥¤¥ó¤Î»ØÉ¸¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ µ»½Ñ¤È¤¤¤¦¤è¤ê¡Ö¤¤¤«¤Ë¥³¥¹¥È¥À¥¦¥ó¤¹¤ë¤«¡©¡× ¡Ö¤¤¤«¤Ë³°Ãí¤ò¤¤¤¸¤á¤Æ°Â¤¯ºî¤ë¤«¡× ¤¬ÃíÎϥݥ¤¥ó¥È¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¡¢ µ»½Ñ°Ê³°¤ÎÊý¸þ¤Ë¥Ù¥¯¥È¥ë¤¬¸þ¤¤¤Æ¤·¤Þ¤¦¡£ ¤½¤ó¤Ê²ñ¼Ò¤Ë¤Ï¤Ê¤ê¤¿¤¯¤Ê¤¤¤·¡¢¤·¤¿¤¯¤Ê¤¤¡£
ľÀÜÀ®²Ì¤Ë·ë¤Ó¤Ä¤«¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢¿·¤·¤¤Ã챤òìÅÍߤ˵ۼý¤·¡¢ ¿·¤·¤¤¤³¤È¤ò¥É¥ó¥É¥ó¹Í¤¨¡¢ ¼«Ê¬¤Î¹Í¤¨¤Æ¤¤¤ë¤³¤È¤òÀѶËŪ¤Ëȯɽ¤·¤Æ³§¤ÎÌò¤ËΩ¤Ä¡£ ¤½¤ì¤ò½Å»ë¤·¤¿¤¤¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£ ¸¦µæ³«È¯¤Ï²ñ¼Ò¤ÎÃæ¤Ç¤Ï¥³¥¹¥È¥»¥ó¥¿¡¼¡£ ¤É¤Î¤ß¤Á¥³¥¹¥È¤Ê¤ó¤À¤«¤é¡¢¤ª¶â¤Ç´¹»»¤·¤¿¤¯¤Ê¤¤¡£ ¤½¤Î¿Í¤ÎǽÎÏ¡¦¼ÂÎϤÇɾ²Á¤·¤¿¤¤¡£ ¤À¤«¤é¥È¥Ã¥×¤Ëµ»½Ñ¼Ô¤¬¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤·¡¢ µ»½Ñ¼Ô¤ÎΩ¾ì¤«¤é¡¢Â¾¤ÎÌò°÷¤ÈÆ®¤¦¤³¤È¤³¤½¤¬ CTO (ºÇ¹âµ»½ÑÀÕǤ¼Ô) ¤ÎÌò³ä¤À¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£
¼èÄùÌò CTO
K¥é¥Ü¥é¥È¥ê¡¼ ½êĹ
ÀçÀйÀÌÀ
KLab¥»¥¥å¥ê¥Æ¥£³ô¼°²ñ¼Ò
¼èÄùÌò CTO
µ»½ÑËÜÉô ËÜÉôĹ
ÀçÀйÀÌÀ
¤³¤Î»þ´ü¡¢KLab ¤È KLab¥»¥¥å¥ê¥Æ¥£¤Ï ¾åȾ´ü (9·î¡Á2·î) ¤Îɾ²ÁÌÌÃ̤ε¨Àá¤Ç¤¹¡£ »ä¤Ï KLab ¤Î¸¦µæÉôÌç¤Ç¤¢¤ë K¥é¥Ü¥é¥È¥ê¡¼ (µì¼Ò̾¤ò¤È¤Ã¤ÆÌ¾ÉÕ¤±¤Þ¤·¤¿) ¤È¡¢ KLab¥»¥¥å¥ê¥Æ¥£¤Îµ»½ÑËÜÉô¤òôÅö¤·¤Æ¤¤¤Þ¤¹¡£ ºòÆü¤Ï¡¢»ä¤ÎľÀܤÎÉô²¼¤ÎÃæ¤Ç°ìÈּ㤤 H ¤µ¤ó¤ÎÌÌÃ̤ò¹Ô¤Ê¤¤¤Þ¤·¤¿¡£
H ¤µ¤ó¤Ïºòǯ¤Î¿·Â´Æþ¼Ò¤Ê¤Î¤Ç¡¢¤Þ¤À¤Þ¤À³Ø¤Ö¤Ù¤¤³¤È¤Ï¤¿¤¯¤µ¤ó¤¢¤ë¤ï¤±¤Ç¤¹¤¬¡¢ ¿Í°ìÇܵ»½Ñ¤¬¹¥¤¤Ê¤Î¤Ç¡¢»ä¤È¤·¤Æ¤âÂçÊÑ´üÂÔ¤·¤Æ¤¤¤Þ¤¹¡£ ¤¤¤Þ¤Ï¡¢¤¤¤í¤ó¤Ê¤³¤È (µ¤ÇÛ¤ê¤È¤«¡¢²ñ¼Ò¤Î¶ÈÀӤȤ«) ¤òµ¤¤Ë¤¹¤ë¤è¤ê¡¢ ¹¥¤¤Ê¤³¤È¤ò¼«Í³¤Ë³Ø¤Ó¡¢¿¤Ó¿¤Ó¤È°é¤Ã¤ÆÍߤ·¤¤¡¢¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£
Èà¤ËÏä·¤¿¤Î¤Ï¤³¤ó¤Ê¤³¤È¤Ç¤¹:
°ìÅÀÃí°Õ¤·¤Æ¤Û¤·¤¤ÅÀ¤ò¤¢¤²¤ë¤È¤¹¤ì¤Ð¡¢ ÍÍ¡¹¤Êµ»½Ñ¤Ë´Ø¿´¤ò»ý¤ÄºÝ¤Ë¡¢¶¯¼å¤Î¥á¥ê¥Ï¥ê¤ò¤Ä¤±¤ë¤³¤È¤ò°Õ¼±¤¹¤ë¡¢ ¤È¤¤¤¦ÅÀ¤Ç¤¹¡£ WWW¤Ç¸ø³«¤µ¤ì¤ë¾ðÊ󤬤ɤó¤É¤ó½¼¼Â¤·¤Æ¤¤¤¯ºòº£¡¢ ¤É¤Î¤è¤¦¤Êµ»½Ñ¤Ç¤â¤«¤Ê¤ê±ü¿¼¤¤¤È¤³¤í¤Þ¤Ç WWW ¤Ç¼ê·Ú¤ËÆþ¼ê¤Ç¤¤ë¤è¤¦¤Ë ¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¤³¤È¼«ÂΤÏÁÇÀ²¤é¤·¤¤¤³¤È¤Ê¤Î¤Ç¤¹¤¬¡¢ Æþ¼ê¤¬¼ê·Ú¤Ë²Äǽ¤È¤¤¤¦¤³¤È¤¬¡¢ ʬ¤«¤Ã¤¿¤Ä¤â¤ê¤Ë´Ù¤ë¥ê¥¹¥¯¤òÁý¤ä¤·¤Æ¤¤¤ë¤ï¤±¤Ç¡¢ ¤³¤Î櫤˴٤é¤Ê¤¤¤è¤¦Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
ÆÃ¤Ë´Ø¿´¤ò»ý¤Ã¤¿Ê¬Ìî¡¢¤¿¤È¤¨¤Ð¥Ù¥¤¥ºÍýÏÀ¤ä¥ª¡¼¥È¥Þ¥È¥óÍýÏÀ¤Ê¤É¤Ï¡¢ Ä̤ꤤ¤Ã¤Ú¤ó¤ÎÍý²ò¤Ë¤È¤É¤Þ¤é¤º¡¢¤È¤³¤È¤ó¤Þ¤ÇÊÙ¶¯¤·¤Æ¤ä¤ë¡¢ ¤¯¤é¤¤¤Î°Õµ¤¹þ¤ß¤ÇÄ©À路¤Æ¤Û¤·¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£
WWW ¤ÎÉáµÚ¤Ë¤è¤Ã¤Æ¡¢¹¤¯Àõ¤¯³Ø¤Ö¤³¤È¤Ï³ÊÃʤËÍÆ°×¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¹¤¤»ëÌî¤ò»ý¤Ä¤³¤È¤Ï¤È¤Æ¤âÂçÀڤʤ³¤È¤Ê¤Î¤Ç¤¹¤¬¡¢ ³ÆÊ¬Ì¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ¼«¿È¤¬¤É¤Î¤¯¤é¤¤¤Î¥ì¥Ù¥ë¤Þ¤Ç³Ø¤Ù¤¿¤«Çİ®¤·¤Æ¤¤¤Ê¤¤¤È¡¢ ¤Û¤ó¤ÎɽÁؤò¤«¤¹¤Ã¤¿¤À¤±¤ÇËþ¤·¤Æ¤·¤Þ¤¤¤«¤Í¤Þ¤»¤ó¡£
¤À¤«¤é¡¢¤É¤ó¤ÊʬÌî¤Ç¤â¡¢¤É¤ó¤Ê¤Ë¶¹¤¤¥Ô¥ó¥Ý¥¤¥ó¥È¤Ç¤â¤¤¤¤¤«¤é ¿¼¤¯¿¼¤¯³Ø¤Ö·Ð¸³¤¬½ÅÍפÀ¤È»×¤¦¤Î¤Ç¤¹¡£ ¿¼¤¯³Ø¤Ù¤Ð³Ø¤Ö¤Û¤É¡¢¤½¤Î¿¼¤µ¤¬´ð½à¤È¤Ê¤Ã¤Æ¡¢ ¤½¤Î¾¤ÎʬÌî¤Ø¤ÎÍý²ò¤¬¤É¤Î¥ì¥Ù¥ë¤Þ¤ÇÅþ㤷¤¿¤«¡¢ ¤è¤êÀµ³Î¤ËÇİ®¤Ç¤¤ë¤â¤Î¤Ç¤·¤ç¤¦¡£
Àõ¤¯¤·¤«³Ø¤ó¤À¤³¤È¤¬¤Ê¤±¤ì¤Ð¡¢¤½¤ÎÀõ¤µ¤¬¤½¤Î¿Í¤Î¸Â³¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Ê¤Ë¤ò³Ø¤ó¤À¤È¤·¤Æ¤â¡¢¼«¿È¤¬¤É¤Î¥ì¥Ù¥ë¤Þ¤ÇÍý²ò¤Ç¤¤Æ¤¤¤ë¤Î¤«¡¢ ¼«¿È¤¬Íý²ò¤Ç¤¤Æ¤¤¤Ê¤¤¿¼Ê¥¤¬¤É¤ì¤À¤±¿¼¤¤¤â¤Î¤Ê¤Î¤«¡¢ ±Ê±ó¤ËÃΤ뤳¤È¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£
¤À¤«¤é¡¢ÆÃ¤Ë¼ã¤¤¤¦¤Á¤Ï¡¢¤È¤³¤È¤ó¤Þ¤Ç³Ø¤ó¤Ç¤ß¤ÆÍߤ·¤¤¤Î¤Ç¤¹¡£ H ¤µ¤ó¤Ë¤Ïû´üŪ¤ÊÌÜɸÀßÄê¤È¤·¤Æ¡¢ ¸ÅŵŪ¤Ê¶µ²Ê½ñ°ìºý¤ò´°Á´Íý²ò¤¹¤ë¤³¤È¤ò´«¤á¤Þ¤·¤¿:
¤Ê¤Ë¤«¤Ò¤È¤Ä¤Ç¤¤¤¤¤Î¤Ç¡¢È¾´ü¤«¤±¤Æ¤È¤³¤È¤ó³Ø¤ó¤Ç¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤Ò¤È¤Ä¤ÎʬÌî¤ò¤É¤³¤Þ¤Ç¤â¿¼·¡¤ê¤¹¤ë¡¢¤È¤¤¤¦¤³¤È¤ò°ìÅ٤Ǥâ·Ð¸³¤·¤¿¿Í¤Ï¡¢ ¶½Ì£¤ÎÂоݤ¬¤¤¤í¤¤¤í°Ü¤êÊѤï¤Ã¤Æ¤â¡¢ ʬ¤«¤Ã¤¿¤Ä¤â¤ê¾õÂ֤˴٤ê¤Ë¤¯¤¤¤â¤Î¤Ç¤¹¡£ WWW¾å¤Ç¤Î³Ø½¬¤À¤È¡¢¿¼ËÙ¤¹¤ë°ÊÁ°¤Ë¶½Ì£¤¬È¯»¶¤·¤Æ¤·¤Þ¤¦¥ê¥¹¥¯¤¬¤¢¤ë¤Î¤Ç¡¢ ɾ²Á¤¬³ÎΩ¤·¤¿¸ÅŵŪ¤Ê¶µ²Ê½ñ¤ò°ìºý¡¢´°Á´Íý²ò¤Ë㤹¤ë¤Þ¤ÇÆÉ¤ß¹þ¤à¡¢ ¤È¤¤¤Ã¤¿ÊÙ¶¯ÊýË¡¤Î¤Û¤¦¤¬¤¤¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤É¤ó¤ÊʬÌî¤Î¶µ²Ê½ñ¤Ç¤â¤¤¤¤¤È»×¤¤¤Þ¤¹¤¬¡¢ °ìÎã¤È¤·¤Æ»ä¤¬³ØÀ¸»þÂå¤Ë³Ø¤ó¤À¡Ö¸ÅŵŪ¤Ê¶µ²Ê½ñ¡×¤ò¾Ò²ð¤·¤Þ¤·¤¿:
Switching and Finite Automata Theory
Zvi Kohavi
McGraw-Hill Education ; ISBN: 0070993874 ; (1979/03/01)
27ǯÁ°¤ÎËܤǤ¹¡ª ÉÿÊʬÊâ¤È¤â¤¤¤ï¤ì¤ëµ»½Ñ³×¿·¤Î¥¹¥Ô¡¼¥É¤ÎÃæ¤Ç¡¢ 1/4À¤µª°Ê¾åÀΤÎËܤ¬º£¤Ç¤âÄÌÍѤ¹¤ë¤Î¤Ç¤¹¤«¤é¡¢Ìû²÷¤¸¤ã¤¢¤ê¤Þ¤»¤ó¤«¡£
Äɵ:
¡Ö¤ä¤á¤ë¤Þ¤Ç¤Ï¤¬¤ó¤Ð¤ê¤Þ¤Ã¤»¡×¤«¤é°úÍÑ:
¤Ê¤ó¤Ç¤«¤È¤¤¤¦¤È¡¢·ë¶É¤ï¤·¤Ï¡¢²ñ¼Ò¤Î¤¿¤á¤È¤«¡¢¼«Ê¬¤ÎµëÎÁ¤ò¾å¤²¤ë¤¿¤á¤À¤±¤Ë»Å»ö¤·¤Æ¤¤¤ë¤Ä¤â¤ê¤Ï¤Ê¤¤¤«¤é¤Ê¤Î¤Ç¤¹¡£¼«Ê¬¤Î¼ÂÎϤΤ¿¤á¤Ë¡¢º£µÛ¼ý¤Ç¤¤ë¤Ù¤¤³¤È¤ÏÁ´¤ÆµÛ¼ý¤·¡¢µ¡¤¬½Ï¤·¤¿¤é¡¢¤É¤³¤Ë¤Ç¤âÈô¤Ó½Ð¤»¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤³¤¦¡¢¤È»×¤Ã¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£¤À¤«¤é¡¢º£¤Ïɾ²Á¤¬¤Ê¤«¤í¤¦¤¬¤Ê¤ó¤À¤í¤¦¤¬¡¢¤È¤Ë¤«¤¯¤ä¤ë¤Ù¤¤³¤È¤ò¥Ð¥·¥Ð¥·¤³¤Ê¤µ¤Ê¤¤ã¥¤¥«¥ó¤È»×¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¡£
¤½¤ÎÄ̤ê¤Ç¤¹¤Í¡£ ¼ã¤¤¤È¤¤Ï¼ã¤¤¤È¤¤·¤«¤Ç¤¤Ê¤¤¤³¤È¤ò¤¹¤Ù¤¤À¤È»×¤¦¤Î¤Ç¤¹¡£ ²ñ¼Ò¤¬¤É¤¦¤Ê¤í¤¦¤È¡¢ ¥¹¥¥ë¤µ¤¨¿È¤Ë¤Ä¤±¤ì¤Ðµ»½Ñ¼Ô¤Ï¾¡¤Á»Ä¤ì¤ë¤Î¤Ç¤¹¤«¤é¡£
Á°²ó¤Ï¡¢VPN-Warp ¤ò¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤È¤·¤Æ»È¤¦¾ì¹ç¤Î¡¢ ´ðËÜŪ¤ÊÀßÄêÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤·¤¿¡£ ¥í¡¼¥«¥ë¥Û¥¹¥È¤Î 8080È֥ݡ¼¥È¤ò¡¢ ¥ê¥â¡¼¥È¤Î intra:10080 ¤Ø¥Õ¥©¥ï¡¼¥É¤¹¤ë¾ì¹ç¤Ë¡¢ ¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç stone ¤òÁö¤é¤»¤ëÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤¿¤ï¤±¤Ç¤¹¤¬¡¢ stone ¤Ï¤â¤È¤â¤È VPN-Warp ÀìÍѤΥ½¥Õ¥È¥¦¥§¥¢¤È¤¤¤¦¤ï¤±¤Ç¤Ï·è¤·¤Æ¤Ê¤¯¡¢ stone ¤ÏÈÆÍÑ¥ê¥Ô¡¼¥¿¤Ç¤¹¡£
¤Ä¤Þ¤ê stone ¤ò»È¤ï¤Ê¤¯¤Æ¤â¡¢ https ¥ê¥¯¥¨¥¹¥È¤ò¥ê¥ì¡¼¥µ¡¼¥Ð¤ËÁ÷¿®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤Ê¤é ¤Ê¤ó¤Ç¤â»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
»î¤·¤Ë OpenSSL ÉÕ°¤Î s_client ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¤ß¤Þ¤·¤ç¤¦:
% s_client -cert relay,10020-cert.pem -key relay,10020-priv.pem -connect relay.klab.org:443 CONNECTED(00000003) ... subject=/C=JP/postalCode=106-6122/ST=Tokyo/L=Minato-ku/streetAddress=6-10-1 Roppongi/streetAddress=Roppongi-Hills Mori-Tower 22F/O=K Laboratory Co.,Ltd/OU=HTTP/OU=InstantSSL/CN=relay.klab.org ... --- GET / HTTP/1.1 HTTP/1.1 200 OK :irc.klab.org NOTICE AUTH :*** Looking up your hostname... :irc.klab.org NOTICE AUTH :*** Found your hostname
ºÇ½é¤Î¹Ô¤Î s_client ¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤È¡¢ ¸å¤í¤ÎÊý¤Î¡ÖGET / HTTP/1.1¡×¤ª¤è¤Ó³¤¯²þ¹ÔÆó²ó¤¬¼ê¤ÇÆþÎϤ·¤¿Éôʬ¤Ç¡¢ ¤¢¤È¤Ï s_client ¥³¥Þ¥ó¥É¤Î¼Â¹Ô·ë²Ì¤Ç¤¹¡£ ¥¯¥é¥¤¥¢¥ó¥Èǧ¾Ú¤ò¹Ô¤Ê¤¦¤¿¤á¡¢s_client ¤Î°ú¿ô¤Ë¾ÚÌÀ½ñ¤Î
- ¸ø³«¸° (-cert ¥ª¥×¥·¥ç¥ó)
- relay,10020-cert.pem
- ÈëÌ©¸° (-key ¥ª¥×¥·¥ç¥ó)
- relay,10020-priv.pem
¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£s_client ¤Ï SSL Àܳ¤·¤¿¸å¡¢¥µ¡¼¥Ð¾ÚÌÀ½ñ¤ÎÆâÍÆ¤Ê¤É¤¬¡¢ ¤É¤Ð¤Ã¤È½ÐÎϤµ¤ì¤Þ¤¹¤¬¡¢¤½¤Î¸å¡Ö---¡×¤òɽ¼¨¤·¤Æ¥»¥Ã¥·¥ç¥ó¤¬³ÎΩ¤·¤Þ¤¹¡£
¤½¤·¤Æ¡¢¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î)
GET / HTTP/1.1 ¡Ê¶õ¹Ô¡Ë
¤òÁ÷¤ë¤È¡¢¥ì¥¹¥Ý¥ó¥¹¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î)
HTTP/1.1 200 OK ¡Ê¶õ¹Ô¡Ë
¤¬Á÷¤é¤ì¤Æ¤¤Æ¡¢¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè¤È¤Î¥»¥Ã¥·¥ç¥ó¤¬³ÎΩ¤·¤Þ¤¹¡£ ¤³¤ÎÎã¤Î¾ì¹ç¤Ç¤Ï¡¢³ÎΩ¤·¤¿Ä¾¸å¤Ë¥Ç¡¼¥¿¤¬Á÷¤é¤ì¤Æ¤¤Æ¤¤¤Þ¤¹¤Í:
:irc.klab.org NOTICE AUTH :*** Looking up your hostname... :irc.klab.org NOTICE AUTH :*** Found your hostname
¤³¤ì¤Ï¡¢KLab ¼ÒÆâ¤Î IRC ¥µ¡¼¥Ð¤«¤éÁ÷¤é¤ì¤Æ¤¤¿¥Ç¡¼¥¿¤Ç¤¹¡£ KLab ¤Ç¤Ïµ»½ÑŪ¤ÊÂǤÁ¹ç¤ï¤»¤Ï IRC ¤ÇºÑ¤Þ¤»¤Æ¤·¤Þ¤¦¤³¤È¤â¿¤¯¡¢ ÎÙ¤ÎÀʤˤ¤¤ë¿Í¤È¤ÎÂǤÁ¹ç¤ï¤»¤Ç¤µ¤¨¡¢IRC ¤Ç¹Ô¤Ê¤¦¥±¡¼¥¹¤¬¤¢¤ê¤Þ¤¹¡£ IRC ¤ÇÏ䷤Ƥª¤±¤Ðʸ»ú¤Ç»Ä¤ê¤Þ¤¹¤·¡¢ ¥ê¥â¡¼¥È¤Ë¤¤¤ë¿Í¤âµÄÏÀ¤Ë»²²Ã¤Ç¤¤ë¤Î¤Ç¡¢¤È¤Æ¤âÊØÍø¤Ç¤¹¡£
KLab ¼ÒÆâ IRC ¤Ï¤¢¤Þ¤ê¤Ë¾ïÍѤµ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ ¤¤¤Ä¤Ç¤â¤É¤³¤Ç¤â IRC ¤Ë»²²Ã¤·¤Æ¤ª¤¤¿¤¤¤ï¤±¤Ç¡¢ ¤½¤¦¤¤¤¦¤È¤ VPN-Warp ¤Ï¤È¤Æ¤âÊØÍø¤Ç¤¹¡£ ¤Ä¤Þ¤ê¡¢stone ¤ò¥Î¡¼¥ÈPC ¾å¤Ç NT ¥µ¡¼¥Ó¥¹¤È¤·¤ÆÁö¤é¤»¤Æ¤ª¤¯¤À¤±¤Ç¡¢ ¥Î¡¼¥ÈPC ¤¬¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ë¤Ä¤Ê¤¬¤Ã¤Æ¤µ¤¨¤¤¤ì¤Ð¡¢ ¥À¥¤¥¢¥ë¥¢¥Ã¥×¤Ç¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤è¤¦¤È̵ÀþLAN ¤Ç¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤è¤¦¤È´Ø·¸¤Ê¤¯¡¢ 6667È֥ݡ¼¥È¤ò¾ï¤Ë¼ÒÆâIRC ¥µ¡¼¥Ð¤Ø¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤¤Æ¡¢ ¥Î¡¼¥ÈPC ¾å¤Î IRC ¥¯¥é¥¤¥¢¥ó¥È¤Ç localhost:6667 ¤ØÀܳ¤·¤Æ ¾ï¤Ë¥Á¥ã¥Ã¥È¾õÂ֤ˤ·¤Æ¤ª¤±¤ë¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£
2000ǯ¤Ë (³ô)¥±¥¤¡¦¥é¥Ü¥é¥È¥ê¡¼ (KLab ¤ÎÅö»þ¤Î¼Ò̾) ¤òÁ϶Ȥ·¤Æ¤«¤é 6 ǯ¡¢ ÅöÁ³¤Ê¤¬¤é¿ô¸Â¤ê¤Ê¤¯ºÎÍÑÌÌÀܤò¹Ô¤Ê¤¤¤Þ¤·¤¿¡£ ºÇ¶á¤Ç¤³¤½»ä¤ÎÌÌÀܤʤ·¤ÇºÎÍѤµ¤ì¤¿¿Íã¤âÁý¤¨¤Æ¤¤¿¤Î¤Ç¤¹¤¬¡¢ °ì»þ¤Ïµ»½ÑÉôÌç¤Î¤Û¤ÜÁ´°÷¤¬»ä¤ÎÌÌÀܤò·Ð¤ÆÆþ¼Ò¤·¤¿ ¤È¤¤¤¦¿Íã¤À¤Ã¤¿»þ´ü¤â¤¢¤ê¤Þ¤¹¡£
ºÇ½ª¤ÎÌò°÷ÌÌÀܤȤ¤¤¦¤È¡¢Â¿¤¯¤Î¿Í¤¬Ä̤ꤤ¤Ã¤Ú¤ó¤ÎÌÌÀܤÀ¤È»×¤¦¤é¤·¤¯¡¢ Ìò°÷ÌÌÀܤǵ»½ÑŪ¤ÊÆÍ¤Ã¹þ¤ß¤ò¼õ¤±¤Æ¡¢±þÊç¼Ô¤¬¸ÍÏǤ¦¥±¡¼¥¹¤¬Â¿¡¹¤¢¤ê¤Þ¤·¤¿¡£ »ä¤È¤·¤Æ¤Ï¡¢±þÊç¼Ô¤Ë¹ç¤ï¤»¤Æ¤½¤ÎÅÔÅÙ¡¢¤É¤¦¤¤¤¦ÌÌÀÜÊýË¡¤¬Å¬¤·¤Æ¤¤¤ë¤«¹Í¤¨¤Æ¡¢ ¼ÁÌ䤹¤ëÆâÍÆ¤òÊѤ¨¤Æ¤Ï¤¤¤ë¤Î¤Ç¤¹¤¬¡¢ ¤½¤¦¤Ï¤¤¤Ã¤Æ¤â 100¿Í°Ê¾å¤âÌÌÀܤ¹¤ì¤Ð¤¢¤ëÄøÅ٥ѥ¿¡¼¥ó¤Î¤è¤¦¤Ê¤â¤Î¤â¤Ç¤Æ¤¤Þ¤¹¡£
Èæ³ÓŪÉÑÅÙ¤¬¹â¤¤¼ÁÌä¥Ñ¥¿¡¼¥ó¤ò¾Ò²ð¤·¡¢ ¤É¤¦Åú¤¨¤ë¤³¤È¤¬¤Ç¤¤Æ¤¤¤¿¤éºÎÍѤˤʤäƤ¤¤¿¤«¡¢ ¿¶¤êÊ֤äƤߤ褦¤È»×¤¤¤Þ¤¹¡£ ̾ÉÕ¤±¤Æ¡ÖÌÌÀÜFAQ¡×¡¢ÌÌÀܤÇ(»ä¤Ë)¤è¤¯Ê¹¤«¤ì¤ë¤³¤È¡¢ ÌÌÀÜ´±¼«¿È¤¬¸ì¤ëÌÌÀܹ¶Î¬Ë¡¡£
KLab ¤Ë¤¢¤Þ¤ê¶½Ì£¤ò»ý¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤±¤É (ž¿¦°¶Àû¥¨¡¼¥¸¥§¥ó¥È¤Ë´«¤á¤é¤ì¤Æ) ¤È¤ê¤¢¤¨¤ºÌÌÀܤò¼õ¤±¤ËÍè¤Þ¤·¤¿¡¢ ¤È¤¤¤¦±þÊç¼Ô¤Ë¡¢ ¤Ê¤ó¤È¤« KLab ¤ÎÌ¥ÎϤòÅÁ¤¨¤Æ¡¢Æþ¼Ò¤·¤è¤¦¤È¤¤¤¦µ¤¤Ë¤µ¤»¤ë¤Î¤¬ ÌÌÀÜ´±¤ÎÏӤ諤»¤É¤³¤í¤À¤È»×¤¦¤Î¤Ç¤¹¤¬¡¢ ¤½¤ì¤Ç¤â¤ä¤Ã¤Ñ¤êÌÌÀܤǤÎÏäÎÀ®¤ê¹Ô¤¾å¡¢ »Ö˾ưµ¡¤Ë¤Ä¤¤¤Æ¼ÁÌ䤹¤ë¤³¤È¤Ï¤è¤¯¤¢¤ê¤Þ¤¹¡£
¤¹¤ë¤È¡¢¡ÖKLab ¤Î¹â¤¤µ»½ÑÎϤ¬Ì¥ÎÏۡס¢¤È¤« ¡Ö¤½¤¦¤¤¤¦¹â¤¤µ»½Ñ¤ò³Ø¤Ó¡¢¿È¤Ë¤Ä¤±¤¿¤¤¡×¡¢¤È¤«¤ª¤Ã¤·¤ã¤ë¤«¤¿¤¬ ¾¯¤Ê¤«¤é¤º¤¤¤Þ¤¹¡£ ¤½¤¦¤¤¤¦¤³¤È¤ò¸À¤ï¤ì¤Æ¤·¤Þ¤¦¤È¡¢ »ä¤Ï¤Ä¤¤ (^^;)¡¢ ¡Ö¹â¤¤µ»½ÑÎϤäÆÎ㤨¤Ð¤É¤ó¤Ê¤³¤È¤Ç¤¹¤«¡©¡×¤È ʹ¤¤¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹¡£ °ÕÃϰ¤Ê¼ÁÌä¤Ç¤¹¤Í (_O_)¡£
¿¤¯¤ÎÊý¤Ï¡¢¤½¤¦¤¤¤¦¼ÁÌ䤬Ê֤äƤ¯¤ë¤È¤ÏÁ´¤¯Í½´ü¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤é¤·¤¯¡¢ ¤³¤³¤Ç¸ÀÍդ˵ͤޤäƤ·¤Þ¤¤¤Þ¤¹¡£ »Ö˾ưµ¡¤¬¡Öµ»½Ñ¤ò³Ø¤Ó¤¿¤¤¡×¤Ê¤Î¤Ë¡¢ ´Î¿´¤Î¤½¤Îµ»½Ñ¤¬¤É¤¦¤¤¤¦¤â¤Î¤«¥¤¥á¡¼¥¸¤Ç¤¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¹¡£ ¸À¤¤´¹¤¨¤ì¤Ð¼«Ê¬¤¬²¿¤ò¤·¤¿¤¤¤Î¤«¼Â¤Ïʬ¤«¤Ã¤Æ¤¤¤Ê¤¤¡¢ ¤³¤ì¤Ï¤«¤Ê¤êÌäÂê¤Ç¤¹¤è¤Í¡©
¡Öµ»½Ñ¤Ã¤Æ¤Ê¤ó¤À¤í¤¦¡Ä¡× ¤Õ¤È¤½¤ó¤Ê¤³¤È¤ò¹Í¤¨¤¿¤³¤È¤¬°ìÅ٤Ǥ⤢¤ë¤è¤¦¤Ê¿Í¤Ê¤é¤Ð¡¢ ¡Öµ»½Ñ¤ò³Ø¤Ó¤¿¤¤¡×¤Ê¤ó¤ÆÃê¾ÝŪ¤Ê¸À¤¤Êý¤Ç¤Ï¤Ê¤¯¡¢ ¤â¤Ã¤È¶ñÂÎŪ¤Ê¤³¤È¤¬¸À¤¨¤ë¤È»×¤¦¤Î¤Ç¤¹¡£ ¤½¤·¤Æ¼«Ê¬¤¬²¿¤ò¤·¤¿¤¤¤«¡¢¤¤Á¤ó¤È¥¤¥á¡¼¥¸¤Ç¤¤Æ¤¤¤ë¿Í¤Ï¡¢ KLab ¤ËÆþ¼Ò¤·¤¿¤¢¤È¡¢¤Û¤ÜÎ㳰̵¤¯Âç³èÌö¤·¤Æ¤¤¤Þ¤¹¡£
KLab ¤Î³«È¯¤Ë»²²Ã¤¤¤¿¤À¤¤¤Æ¤¤¤ë¶¨Îϲñ¼Ò¤Î A ¼Ò¤Î S ¼ÒŤ¬¡¢ tech ML ¤ËÅꤲ¤¿Ì䤤¤«¤±¤ËÂФ·¡¢ Ʊ¤¸¤¯¶¨Îϲñ¼Ò¤Î H ¼Ò¤ÎÌò°÷¤Ç¤¢¤ë K ¤µ¤ó¤¬±þ¤¨¤Þ¤·¤¿¡£
# KLab ¼ÒÆâ¤Î ML ¤Ê¤Î¤Ë¡¢KLab ¼Ò°÷°Ê³°¤ÇÏä¬À¹¤ê¾å¤¬¤ë
# ¤³¤È¤â¤¢¤ë¤Î¤¬¡¢tech ML ¤ÎÂç¤¤ÊÆÃŤǤ¹ (^^;)¡£
> ¡ô¤É¤Ê¤¿¤¬¡ÖÀìÌç¶µ°é¡×¤ò¼õ¤±¤é¤ì¤¿Êý¤Ê¤Î¤«¤ï¤«¤ê¤Þ¤»¤ó¤¬^^;
> ¡ô¡ô¤¼¤ÒÅÚÆü¤Ç¸Å¤¤¶µ²Ê½ñ¤Ê¤É¤ò·¡¤ê½Ð¤·¤Æ¤¤¤¿¤À¤¤¿¤¯:-)
º£¤Ç¤â¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Î½èÍý¡ÊÊýË¡¤Î¡Ë¸Â³¦¤Ë´Ø¤·¤Æ¤Ï¤È¤Æ¤â¶½Ì£¤¬¤¢¤ê
¥ª¡¼¥È¥Þ¥È¥ó¤È·×»»²ÄǽÀ ¾ðÊó½èÍý¥·¥ê¡¼¥º
ÍÀî ÀáÉ× (Ãø), µÜÌî ¸ç (Ãø)
¤¢¤¿¤ê¤Ï¤ª¤â¤·¤í¤¤¤«¤Ê¤È¡£»ä¤ÏÆÃ¤Ë¸åȾ¤Î·×»»²ÄǽÀ¤¬¹¥¤¤Ç¤¹¡£
¤Ç¡¢»ä¤âÏä˲äï¤Ã¤Æ¤ß¤Þ¤·¤¿:
ÀçÀФǤ¹¡£¤ª¤ª¡¢¤Ä¤¤¤Ë tech ML ¤Ç·×»»²ÄǽÀ¤ÎÏÃÂ꤬...
K ¤µ¤óÛ©¤¯:
> ¡Ö¥ª¡¼¥È¥Þ¥È¥ó¤È·×»»²ÄǽÀ¡×
¤³¤Î¤¢¤¿¤ê¤Î¡¢°ìÄÌ¤ê³Ø¤Ù¤ëËܤòÆÉ¤ó¤Ç¤ß¤ë¤È¡¢ Âç³Ø¤ÎÀìÌç²ÝÄø¤Ç²¿¤ò¤ä¤Ã¤Æ¤ë¤Î¤«ÃΤë»ö¤Ï¡¢¤Ç¤¤½¤¦¤Ç¤¹¤Í¡£
# ¤Ç¤â¡¢ÃΤë»ö¤ÈÍý²ò¤¹¤ë»ö¤ÏÁ´¤¯ÊÌʪ ;-)
> ¤¢¤¿¤ê¤Ï¤ª¤â¤·¤í¤¤¤«¤Ê¤È¡£»ä¤ÏÆÃ¤Ë¸åȾ¤Î·×»»²ÄǽÀ¤¬¹¥¤¤Ç¤¹¡£
ËÜÅö¤Ë½ÅÍפʤΤϡ¢¤³¤Î¡Ö¤ª¤â¤·¤í¤¤¡×¤È¤¤¤¦´¶³Ð¤«¤â¤·¤ì¤Þ¤»¤ó¤Í¤§...
·×»»²ÄǽÀ¤Ë´Ø¤¹¤ë¡Ö¤ª¤â¤·¤í¤¤¡×ËܤȤ·¤Æ¤Ï¡¢
·èÄêÉÔǽ¤ÎÏÀÍý¥Ñ¥º¥ë¡½¥²¡¼¥Ç¥ë¤ÎÄêÍý¤ÈÍÍÁêÏÀÍý
¥ì¥¤¥â¥ó¥É ¥¹¥Þ¥ê¥ä¥ó (Ãø), Ä¹Èø ³Î (ËÝÌõ), ÅÄÃæ ÊþÇ· (ËÝÌõ)
¤¢¤¿¤ê¤¬¤ª¤¹¤¹¤á¡£¤¤¤¤Ê¤ê¤³¤ÎËܤòÆÉ¤à¤ÈºÃÀÞ¤¹¤ë¤«¤âÃΤì¤Ê¤¤ ;) ¤Î¤Ç¡¢
ÆþÌçÍѤȤ·¤Æ¤Ï¥Û¥Õ¥¹¥¿¥Ã¥¿¡¼¤ÎÉÔµà¤Î̾ºî:
¥²¡¼¥Ç¥ë¡¢¥¨¥Ã¥·¥ã¡¼¡¢¥Ð¥Ã¥Ï¡½¤¢¤ë¤¤¤ÏÉÔ»×µÄ¤Î´Ä 20¼þǯµÇ°ÈÇ
¥À¥°¥é¥¹¡¦R. ¥Û¥Õ¥¹¥¿¥Ã¥¿¡¼ (Ãø), Douglas R. Hofstadter (¸¶Ãø),
Ìîºê ¾¼¹° (ËÝÌõ), ÌøÀ¥ ¾°µª (ËÝÌõ), ¤Ï¤ä¤· ¤Ï¤¸¤á (ËÝÌõ)
¤¬¤¢¤Þ¤ê¤Ë¤âÍ̾¤Ç¤¹¤Í¡£
# 20¼þǯµÇ°ÈǤ¬½Ð¤¿¤Î¤«¡Á
# ¤È¤¤¤¦¤³¤È¤Ï¤Ä¤Þ¤ê¡¢»ä¤¬½é¤á¤Æ¤³¤ÎËܤòÆÉ¤ó¤Ç¤«¤é 20ǯ¤¿¤Ã¤¿¡¢¤È¤¤¤¦
# ¤³¤È¤Ê¤Î¤Ç¤¹¤Í¡£¤¦¡Á¤óºÐ¤ò¤È¤Ã¤¿¤â¤Î¤À...
Á°²ó¤Ï¡¢ssh ¤Î¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤ÈÈæ³Ó¤·¤Æ¡¢ VPN-Warp ¤Ë¤Ï¼¡¤ÎÆÃŤ¬¤¢¤ë¤³¤È¤òÀâÌÀ¤·¤Þ¤·¤¿¡£
- ¥í¥°¥¤¥ó¥¢¥«¥¦¥ó¥È¤¬ÉÔÍ×
- ¥¢¥¯¥»¥¹Âоݤϥê¥ì¡¼¥µ¡¼¥Ð¤Î¤ß
Î㤨¤Ð¥í¡¼¥«¥ë¥Û¥¹¥È¤Î 8080È֥ݡ¼¥È¤ò¡¢ ¥ê¥â¡¼¥È¤Î intra:10080 ¤Ø¥Õ¥©¥ï¡¼¥É¤¹¤ë¾ì¹ç¡¢ ¼¡¤Î¤è¤¦¤Ë¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç stone ¤ò¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Ç relayagent ¤ò¡¢ ¤½¤ì¤¾¤ìÁö¤é¤»¤Þ¤¹¡£
¥í¡¼¥«¥ë¥Û¥¹¥È ¥ê¥ì¡¼ ¥ê¥â¡¼¥È¥Û¥¹¥È
stone ¨¡¨¡¨¡¨¡¨¡¢ª ¥µ¡¼¥Ð ¢«¨¡¨¡¨¡¨¡ relayagent¨¡¢ª intra
8080È֥ݡ¼¥È ¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¢ª 10080È֥ݡ¼¥È
stone ¤â¡¢relayagent ¤â¡¢¥ê¥ì¡¼¥µ¡¼¥Ð¤ËÂФ·¤Æ¤Ï ¡Ö¥¯¥é¥¤¥¢¥ó¥È¡×¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢¥í¡¼¥«¥ë¥Û¥¹¥È¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¡¢¥ê¥ì¡¼¥µ¡¼¥Ð¡¢ ¤¤¤º¤ì¤Ë¤ª¤¤¤Æ¤â¡¢ssh ¤Î¾ì¹ç¤Î¤è¤¦¤Ê¥í¥°¥¤¥ó¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£
ɬÍפʤΤϡ¢SSL ¥¯¥é¥¤¥¢¥ó¥Èǧ¾Ú¤À¤±¤Ç¡¢ stone/relayagent ¤Ï¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ ¥ê¥ì¡¼¥µ¡¼¥Ð¤Ø¥¢¥¯¥»¥¹¤¹¤ë¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£ ¼ÂºÝ¡¢¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï stone/relayagent ¤Ë¤È¤Ã¤Æ¡¢ ÉáÄ̤Πhttps ¥µ¡¼¥Ð¤Î¤è¤¦¤Ë¸«¤¨¤Þ¤¹¡£ ¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï¡¢stone/relayagent ÁÐÊý¤«¤é SSL Àܳ¤ò¼õÉÕ¤±¡¢ ¤â¤·Æ±°ì¤Î¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤ò»ý¤Ã¤Æ¤¤¤ëÁȤ¬¤¢¤ì¤Ð¡¢ ¤½¤ì¤é¤ò·ë¤ÓÉÕ¤±¤ëÌò³ä¤ò²Ì¤¿¤·¤Þ¤¹¡£
¶ñÂÎŪ¤ÊÀßÄêÊýË¡
stone/relayagent ¤½¤ì¤¾¤ì¤Î¶ñÂÎŪ¤ÊÀßÄêÊýË¡¤ò¸«¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£
stone ¤ÎÀßÄê
stone ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹:
-q key=private.pem -q cert=cert.pem relay.klab.org:443/ssl,http localhost:8080 "GET / HTTP/1.1" --
- -q key= ¤«¤é»Ï¤Þ¤ë¹Ô¤Ï¡¢SSL ¾ÚÌÀ½ñ¤ÎÈëÌ©¸°¥Õ¥¡¥¤¥ë¡¢
- -q cert= ¤«¤é»Ï¤Þ¤ë¹Ô¤Ï¡¢SSL ¾ÚÌÀ½ñ¤Î¸ø³«¸°¥Õ¥¡¥¤¥ë¤Î»ØÄê¤Ç¤¹¡£
- relay.klab.org:443 ¤Ï¥ê¥ì¡¼¥µ¡¼¥Ð¤Î»ØÄê¡¢
- ºÇ¸å¤Î localhost:8080 ¤¬¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç listen ¤¹¤ë¥Ý¡¼¥È¤Î»ØÄê¤Ç¤¹¡£
¤³¤Î¤è¤¦¤ÊÀßÄê¤ò¹Ô¤Ê¤¦¤È¡¢ stone ¤Ï 8080È֥ݡ¼¥È¤Ç¼õ¤±¤¿Àܳ¤ò¡¢ ¡Öhttps ¥ê¥¯¥¨¥¹¥È¤Ë¾è¤»¤Æ¡×¥ê¥ì¡¼¥µ¡¼¥Ð¤ØÅ¾Á÷¤·¤Þ¤¹¡£
¡Öhttps ¥ê¥¯¥¨¥¹¥È¤Ë¾è¤»¤Æ¡×¤È¤¤¤¦¤Î¤Ï¤É¤¦¤¤¤¦¤³¤È¤«¤È¤¤¤¦¤È¡¢ Î㤨¤Ð 8080È֥ݡ¼¥È¤ËÀܳ¤·¤Æ¡Öabcdefg¡×¤È¤¤¤¦¥Ç¡¼¥¿¤òÁ÷¿®¤·¤¿¤È¤¹¤ë¤È¡¢ stone ¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¤ò¡¢SSL ¤Ç°Å¹æ²½¤·¤Æ¥ê¥ì¡¼¥µ¡¼¥Ð¤ØÁ÷¤ê¤Þ¤¹:
GET / HTTP/1.1 abcdefg
¤¢¤Þ¤ê¡Öhttps ¥ê¥¯¥¨¥¹¥È¡×¤Î¤è¤¦¤Ë¤Ï¸«¤¨¤Þ¤»¤ó¤¬ (^^;)¡¢ ºÇ½é¤Î°ì¹Ô¤¬¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À¤Ç¡¢ ¶õ¹Ô¤ò¤¢¤±¤Æ¡¢¥ê¥¯¥¨¥¹¥È¥Ü¥Ç¥£¤¬Â³¤¤¤Æ¤¤¤ë¡¢¤È¸«¤Ê¤¹¤³¤È¤â¤Ç¤¤Þ¤¹¡£
¼Â¤ò¤¤¤¦¤È¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î) ¤òÁ÷¤ê½ª¤ï¤Ã¤¿»þÅÀ¤Ç¡¢ Ǥ°Õ¤Î¥Ç¡¼¥¿¤ÎÁ÷¼õ¿®¤¬²Äǽ¤Ç¡¢ Á÷¿®¤·¤¿¥Ç¡¼¥¿¥Ç¡¼¥¿¤Ï¤½¤Î¤Þ¤Þ relayagent ¤ØÅÁ¤ï¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢ 8080È֥ݡ¼¥È¤¬¡¢relayagent ¤Ø¥Õ¥©¥ï¡¼¥É¤µ¤ì¤ë¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£
relayagent ¤ÎÀßÄê
relayagent ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹:
-n -k private.pem -c cert.pem relay.klab.org:443 intra:10080
- -n ¤Ï¡¢relayagent ¤ò¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤È¤·¤Æ»È¤¦¡¢¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£
- -k ¤«¤é»Ï¤Þ¤ë¹Ô¤Ï¡¢SSL ¾ÚÌÀ½ñ¤ÎÈëÌ©¸°¥Õ¥¡¥¤¥ë¡¢
- -c ¤«¤é»Ï¤Þ¤ë¹Ô¤Ï¡¢SSL ¾ÚÌÀ½ñ¤Î¸ø³«¸°¥Õ¥¡¥¤¥ë¤Î»ØÄê¤Ç¤¹¡£
- relay.klab.org:443 ¤Ï¥ê¥ì¡¼¥µ¡¼¥Ð¤Î»ØÄê¤Ç¤¹¡£
- ºÇ¸å¤Î intra:10080 ¤¬¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè¤Î»ØÄê¤Ç¤¹¡£
¤³¤Î¤è¤¦¤ÊÀßÄê¤Ç relayagent ¤ò¼Â¹Ô¤¹¤ë¤È¡¢ relayagent ¤Ï¡¢¥ê¥ì¡¼¥µ¡¼¥Ð¤ËÂФ·¤Æ°Ê²¼¤Î¤è¤¦¤Ê¡Ö¥Ý¡¼¥ê¥ó¥°¡×¤ò https ¤òÁõ¤Ã¤Æ¹Ô¤Ê¤¤¤Þ¤¹¡£
GET /KLAB/poll HTTP/1.1 X-Ver: 2 relayagent.cpp,v 1.32 W (TAKUMI)
¡ÖX-Ver:¡×¤Î¼¡¤Î¿ô»ú¡Ö2¡×¤Ç¡¢relayagent - ¥ê¥ì¡¼¥µ¡¼¥Ð´Ö¤Î ¥×¥í¥È¥³¥ë¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÅÁ¤¨¤Æ¤¤¤Þ¤¹¡£ ³¤¯¡Örelayagent.cpp,v 1.32 W (TAKUMI)¡×¤Ïñ¤Ë relayagent ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò (¥È¥é¥Ö¥ë»þ¤Î²òÀÏÍѤȤ·¤Æ) ÅÁ¤¨¤Æ¤¤¤ë¤À¤±¤Ç¡¢Ä̾ï¤Ï»²¾È¤µ¤ì¤Þ¤»¤ó¡£
¤³¤Î¥ê¥¯¥¨¥¹¥È¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î) ¤òÁ÷¤ê½ª¤ï¤ë¤È¡¢ ¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï¼¡¤Î¤è¤¦¤Ê¥ì¥¹¥Ý¥ó¥¹¤òÊÖ¤·¤Þ¤¹:
HTTP/1.1 200 OK X-Customer: nusers=10&type=3&expire=1262271599&digest=0123456789abcdef0123456789abcdef
¤³¤Î¡¢https ¥ì¥¹¥Ý¥ó¥¹¥Ø¥Ã¥À (¤Î¤è¤¦¤Ê¤â¤Î) ¤ò¼õ¿®¤·¤¿¸å¡¢ relayagent ¤Ï¥ì¥¹¥Ý¥ó¥¹¥Ü¥Ç¥£ÂÔ¤Á¾õÂÖ (¥Ý¡¼¥ê¥ó¥°¾õÂÖ) ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤Î¾õÂ֤λþ¡¢ Ʊ¤¸¾ÚÌÀ½ñ¤ò»ý¤Ä stone ¤«¤é¤ÎÀܳ¤¬¤¢¤ë¤È¡¢ ¤½¤Î¾ðÊ󤬥쥹¥Ý¥ó¥¹¥Ü¥Ç¥£¤È¤·¤ÆÁ÷¤é¤ì¤Æ¤¤Æ¡¢ relayagent ¤Ï¤½¤ì¤ò¼õ¤±¤Æ intra:10080 ¤ØÀܳ¤ò¹Ô¤Ê¤¤¡¢ stone ¤È intra:10080 ¤È¤Î´Ö¤ÎÄÌ¿®¤¬³ÎΩ¤¹¤ë¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£
¿¤¯¤Î²ñ¼Ò¤ÈƱÍÍ¡¢KLab (¤ª¤è¤Ó KLab¥»¥¥å¥ê¥Æ¥£) ¤Ç¤â¡¢ ½ÐÍè¤ë¸Â¤ê¥ª¡¼¥×¥ó¥½¡¼¥¹¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ ²æ¡¹¤¬DSAS¤È¸Æ¤ó¤Ç¤¤¤ë ¥·¥¹¥Æ¥à¥¤¥ó¥Õ¥é¤Ï¡¢´°Á´¤Ë¥ª¡¼¥×¥ó¥½¡¼¥¹¥Ù¡¼¥¹¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢Î㤨¤Ð ¡Ö¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë·óÉé²Ùʬ»¶´ï·ó¥ë¡¼¥¿¥Þ¥·¥ó¡×¤â Linux ¥Ù¡¼¥¹¤È¤Ê¤Ã¤Æ¤ª¤ê¤Þ¤¹¡£
¤Ê¤¼¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ë¤³¤À¤ï¤ë¤Î¤«¡©
º´Ìî»á¤Î¥³¥é¥à¤Ë¡¢ ¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ë¤³¤À¤ï¤ë¿Í¤ÎÍýͳ¤Ã¤ÆÀµ¤·¤¤¡©:
> ¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ë¤³¤À¤ï¤ë¿Í¤ËÍýͳ¤òʹ¤¯¤ÈÉáÄÌ
>
> ¡¡£±¡¥ÌµÎÁ¤À¤«¤é
> ¡¡£²¡¥ÂçÀª¤Î¿Í¤¬»È¤Ã¤Æ¤¤¤ë¤«¤é¥Ð¥°¤¬¾¯¤Ê¤¤¤È»×¤ï¤ì¤ë
> ¡¡£³¡¥¥½¡¼¥¹¥³¡¼¥É¤¬¸ø³«¤µ¤ì¤Æ¤¤¤ë¤«¤é°Â¿´
>
> ¤È¤¤¤¦Åú¤¨¤¬Ê֤äƤ¤Þ¤¹¡££±¤È£²¤Ï¤Þ¤¢¤½¤ÎÄ̤ê¤À¤È»×¤¤¤Þ¤¹¡£
> ¤·¤«¤·£³¤Ï¸Ä¿ÍŪ¤Ë¤Á¤ç¤Ã¤Èµ¿Ìä¤Ç¤¹¡£
> ¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ë¤³¤À¤ï¤Ã¤Æ¤¤¤ë¿Í¤Ç¡¢¥ª¡¼¥×¥ó¥½¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤Î
> ¥½¡¼¥¹¥³¡¼¥É¤ò¼ÂºÝ¤ËʬÀϤ·¤¿¤³¤È¤¬¤¢¤ë¿Í¤Ã¤Æ
> ¤É¤Î¤¯¤é¤¤¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£
¡Ä¡Ä
> ¤Ê¤Î¤Ç¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ë¤³¤À¤ï¤ëÍýͳ¤òʹ¤«¤ì¤¿¤é¤«¤Ã¤³¤¤¤¤¤³¤È
> ¸À¤ï¤º¤ËÁÇľ¤Ë¡Ö̵ÎÁ¤À¤·µ¡Ç½¤ËÉÔËþ¤â¤Ê¤¤¤«¤é¡×¤¯¤é¤¤¤Ë¤·¤Æ¤ª¤¯¤Î¤¬
> ¤è¤¤¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£
¤È¤¤¤¦Ì䤤¤«¤±¤¬¤¢¤ê¤Þ¤·¤¿¡£¤µ¤¹¤¬º´Ì¤ó¡¢Åª¤ò¼Í¤¿¸·¤·¤¤¤´°Õ¸«¤Ç¤¹¤Í¡£ ÀµÄ¾¤ÊÏá¢KLab ¤â¥ª¡¼¥×¥ó¥½¡¼¥¹¤òÍøÍѤ·¤Æ¤¤¤ë¤È¤¤¤Ã¤Æ¤â¡¢ ¥¹¥ß¤«¤é¥¹¥ß¤Þ¤ÇʬÀϤ·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤·¡¢ ¡Ö̵ÎÁ¤À¤·µ¡Ç½¤ËÉÔËþ¤â¤Ê¤¤¤«¤é¡×¤È¤¤¤¦Ì̤⤢¤ë¤³¤È¤ÏÈÝÄꤷ¤Þ¤»¤ó¡£ ¤·¤«¤·¡¢¤ªµÒÍͤ˥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë¤È¤¤¤¦Î©¾ì¤È¤·¤Æ¤Ï¡¢ ¤â¤¦¾¯¤·ÀѶËŪ¤ÊÍýͳ¤â»ý¤Á¤¿¤¤¤È¤³¤í¤Ç¤¹¡£
ÀÕǤ¤¢¤ë¥·¥¹¥Æ¥à±¿ÍѤò¼Â¸½¤¹¤ë¤¿¤á¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹
¥·¥¹¥Æ¥à¤Ë¥Ù¥ó¥ÀǤ¤»¤Î¥Ö¥é¥Ã¥¯¥¹¥Ü¥Ã¥¯¥¹¤ÊÉôʬ¤¬¤¢¤ë¤È¡¢ ¤½¤ÎÉôʬ¤¬¸¶°ø¤Î¾ã³²¤Ø¤ÎÂбþ¤ÏÃÙ¤¯¤Ê¤ê¤¬¤Á¤Ç¤¹¤·¡¢ ¸¶°øµæÌÀ¤ò´°Á´¤Ë¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤¤Ê¤±¤ì¤Ð¡¢ ºÆÈ¯Ëɻߺö¤âÂоÉÎÅˡŪ¤Ê¤â¤Î¤Ë¤Ê¤ê¤¬¤Á¤Ç¤¹¡£ ¤³¤ì¤Ç¤Ï¼«¿®¤ò»ý¤Ã¤Æ¤ªµÒÍͤ˥µ¡¼¥Ó¥¹¤òÄ󶡤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£
KLab ¤â°ÊÁ°¤ÏÈ¢¥â¥Î¤ÎÉé²Ùʬ»¶µ¡¤òÍøÍѤ·¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢ ¥¯¥ê¥Æ¥£¥«¥ë¤Ê¥Ð¥°¤Ë»¶¡¹Çº¤Þ¤µ¤ì¤Þ¤·¤¿¡£ ¤³¤ÎÈ¢¥â¥Î¤Ï L2½èÍý¤ËÌäÂ꤬¤¢¤ê¡¢ ÄÌ¿®ÉÔÎɤ¬È¯À¸¤¹¤ë¥±¡¼¥¹¤¬¤¢¤Ã¤¿¤Î¤Ç¤¹¡£ ¤â¤Á¤í¤ó¥Ù¥ó¥À¤Ø¤Ï¾É¾õ¤òÊó¹ð¤·¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢ ´°Á´¤ÊÂкö¤Ë¤Ï»ê¤é¤º¡¢¤Ê¤ó¤È¤«±¿ÍѤǥ«¥Ð¡¼¤·¤Æ¤¤¤Þ¤·¤¿¡£
¤³¤ì¤Ç¤Ï¡¢¤¤¤Ä¾É¾õ¤¬ºÆÈ¯¤¹¤ë¤«Ê¬¤«¤é¤º Àº¿À±ÒÀ¸¾å¤â¤è¤í¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£ ¤½¤³¤Ç¡¢LVS (Linux Virtual Server) ¤ò»È¤Ã¤Æ Linux ¥Ù¡¼¥¹¤ÎÉé²Ùʬ»¶µ¡¤ò ¹½ÃÛ¤¹¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£ ¤à¤í¤ó¡¢LVS ¤Î¥½¡¼¥¹¥³¡¼¥É¤ÎÁ´¤Æ¤ò´°Á´¤ËÇİ®¤·¤Ä¤¯¤·¡¢ LVS ¥×¥í¥¸¥§¥¯¥È¤Ë¹×¸¥¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ë¤Þ¤Ç¤Ë¤Ï¡¢ ¤Þ¤À¤Þ¤ÀÆ»Äø¤¬±ó¤¤¤Î¤Ç¤¹¤¬¡¢ ºÆ¸½²Äǽ¤Ê¾ã³²¤Ç¤¢¤ì¤ÐÌäÂê¤Î½êºß¤ò¸«¤Ä¤±½Ð¤»¤ëÄøÅ٤Π¥ì¥Ù¥ë¤Ë¤Ï㤹¤ë¤³¤È¤¬¤Ç¤¤Æ¤¤¤ë¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤·¤«¤â¡¢¼Â¤Ï¤³¤¦¤ä¤Ã¤Æ¼«Á°¤Ç¹½ÃÛ¤·¤¿Éé²Ùʬ»¶µ¡¤ÎÊý¤¬¡¢ ¤½¤ì¤Þ¤Ç»È¤Ã¤Æ¤¤¤¿È¢¥â¥Î¤è¤ê¤º¤Ã¤È°ÂÄꤷ¤Æ±¿ÍѤǤ¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤¹¡£
¥Ù¥ó¥À¤ÎÅÔ¹ç¤Ë¿¶¤ê²ó¤µ¤ì¤Ê¤¤¤¿¤á¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹
¥×¥í¥×¥é¥¤¥¨¥¿¥ê¤Ê¥½¥Õ¥È¥¦¥§¥¢¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¥Ù¥ó¥À¤¬¥µ¥Ý¡¼¥È¤òÄä»ß¤¹¤ë¥ê¥¹¥¯¤È¤¤¤¦¤Î¤â¹Í¤¨¤Æ¤ª¤«¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¥Ù¥ó¥À¤¬¥µ¥Ý¡¼¥È¤ò»ß¤á¤¿¤³¤È¤òÍýͳ¤Ë¡¢ ÊÀ¼Ò¤Î¤ªµÒÍͤËÂФ¹¤ë¥µ¡¼¥Ó¥¹Ä󶡤ò»ß¤á¤ë¡¢¤È¤¤¤¦¤ä¤êÊý¤â ̵¤¤¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢ µ»½Ñ²ñ¼Ò¤òɸÜÖ¤¹¤ë KLab ¤È¤·¤Æ¤Ï¡¢ ¤¢¤Þ¤ê¤½¤¦¤¤¤¦¸À¤¤Ìõ¤Ï¤·¤¿¤¯¤¢¤ê¤Þ¤»¤ó¡£
¤¹¤ë¤È¡¢ ¥Ù¥ó¥À¤¬¥µ¥Ý¡¼¥È¤ò»ß¤á¤¿¤È¤¤Î¤³¤È¤Þ¤Ç¹Í¤¨¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¤¬¡¢ ¤¢¤¤¤Ë¤¯¥½¥Õ¥È¥¦¥§¥¢¤Î»ÈÍѵöÂú¤È¤¤¤¦¤Î¤Ï°ìÈ̤ËÉÔÊ¿Åù·ÀÌó¤Ç¡¢ ¥½¥Õ¥È¥¦¥§¥¢¤ò»ÈÍѤ¹¤ë¦¤Ë¤ÏÂǤļ꤬¤Ê¤¤¤³¤È¤¬Â¿¤¤¤è¤¦¤Ç¤¹¡£ ¥Ù¥ó¥À¤ÎÅÔ¹ç¤Ë¿¶¤ê²ó¤µ¤ì¤ë¤è¤ê¤Ï¡¢ ¤¤¤¶¤È¤Ê¤Ã¤¿¤é¼«Á°¤Ç²ò·è¤Ç¤¤ë¤è¤¦¡¢ ¥½¡¼¥¹¤¬¥ª¡¼¥×¥ó¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤òÁª¤ÖÊý¤¬ ·ë²ÌŪ¤Ë³Ú¤È¤¤¤¨¤ë¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£
¡Ö¤Ê¤ó¤«¥×¥í¥×¥é¥¤¥¨¥¿¥ê¤Ã¤ÆÇϼ¯¤ß¤¿¤¤¤À¤Ê¡× (¤³¤³¥®¥³¡ª) ¤Ç¡¢
> ¥×¥í¥×¥é¥¤¥¨¥¿¥ê¤Ê¥½¥Õ¥È¤ÎÊý¤¬¤è¤Ã¤Ý¤É¥ê¥¹¥¯¤À¤é¤±¤Á¤ã¤¦¤Î¡©
> ¤ï¤¶¤ï¤¶¥¯¥½¹â¤¤¶âʧ¤¦¤Î¤Ë¡¢¤È»×¤¨¤Æ¤¯¤ë¡£
¤È¤¤¤¦°Õ¸«¤â½Ð¤Æ¤¤¤ë¤è¤¦¤Ë¡¢ ¥Ù¥ó¥À¤Î¥µ¥Ý¡¼¥È¤¬¥¢¥Æ¤Ë¤Ê¤ë¥±¡¼¥¹¤Ð¤«¤ê¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£
¼«Í³¤Ê¥·¥¹¥Æ¥à¹½ÃÛ¤ò¼Â¸½¤¹¤ë¤¿¤á¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹
¤É¤ó¤Ê¤Ë½ÀÆðÀ¤¬¹â¤¤¥½¥Õ¥È¥¦¥§¥¢¤Ç¤â¡¢ ¥«¥¹¥¿¥Þ¥¤¥º¤Ç²Äǽ¤ÊÈϰϤȤ¤¤¦¤Î¤Ï¥¿¥«¤¬ÃÎ¤ì¤Æ¤¤¤Þ¤¹¡£ ¥½¡¼¥¹¤ò²þÊѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤ë¼«Í³¤È¤Ï±ÀÅ¥¤Îº¹¤Ç¤·¤ç¤¦¡£
KLab ¤È¤·¤Æ¤Ï¡¢ ¾¼Ò¤Ç¤Ï¹Ô¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤è¤¦¤ÊÊýË¡¤Ç¡¢ ÂѸξãÀ¤ò¸þ¾å¤µ¤»¤¿¤ê¡¢ Àǽ¤ò¸þ¾å¤µ¤»¤¿¤ê¡¢ ¤è¤êÄ㥳¥¹¥È¤Ê±¿ÍѤò¼Â¸½¤·¤¿¤ê ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ º¹Ê̲½¤ò¤Ï¤«¤Ã¤Æ¤¤¤¤¿¤¤¤ï¤±¤Ç¡¢ ¤½¤¦¤Ê¤ë¤È¥Ù¥ó¥À¤ÎÀ½Éʤò»È¤¦¤è¤ê¤Ï¡¢ ¥ª¡¼¥×¥ó¥½¡¼¥¹¤ò»È¤¦¤Ù¤¡¢¤È¤¤¤¦ÁªÂò¤Ë¤Ê¤ê¤Þ¤¹¡£
¼ÂºÝ¤Ë¤É¤Î¤è¤¦¤Ë¥ª¡¼¥×¥ó¥½¡¼¥¹¤ò³èÍѤ·¤Æ¤¤¤ë¤«¤Ï¡¢ DSAS³«È¯¼Ô¤ÎÉô²°¤Ê¤É¤Ç ¾Ò²ð¤·¤Æ¤¤¤¤¿¤¤¤È»×¤Ã¤Æ¤ª¤ê¤Þ¤¹¤·¡¢ ¥ª¡¼¥×¥ó¥½¡¼¥¹¤ò³èÍѤ·¤Æ¤¤¤¯²áÄø¤Ç²æ¡¹¤Î¥ì¥Ù¥ë¤¬¾å¤¬¤Ã¤Æ¡¢ ¥ª¡¼¥×¥ó¥½¡¼¥¹³¦¤Ë¹×¸¥¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ì¤ì¤Ð¡¢ ¤½¤ì¤Ï²æ¡¹¤Ë¤È¤Ã¤ÆË¾³°¤Î¹¬¤Ç¤¢¤ê¡¢ ¤½¤ì¤òÌܻؤ·¤Æ¸¦ïÓ¤òÀѤó¤Ç¤¤¤¯½ê¸¤Ç¤¹¡£
¡Ã¤³¤Îµ»ö¤ÎURL ¨¢Comments(0) ¨¢TrackBack(0) ¨¢µ»½Ñ¤È¿Íºà°éÀ®¤È·Ð±Ä | ¥·¥¹¥Æ¥à¹½ÃÛ¡¦±¿ÍÑ
KLab¥»¥¥å¥ê¥Æ¥£¤Î¼çÎÏÀ½ÉʤǤ¢¤ë¡¢ ¸Ä¿Í¾ðÊó¥¹¥¥ã¥Ê ¡ÖP-Pointer¡× ¤Î¹¹ð¤ò¡¢4/14 ¤«¤é°ì¥ö·î´Ö¡¢Ãϲ¼Å´¤Ë½Ð¤¹¤³¤È¤Ë¤·¤Æ¤ß¤Þ¤·¤¿¡£ ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¹¹ð¤¬¿¤Ó¤Ä¤Ä¤¢¤ëº£¡¢ »þÂå¤ËµÕ¹Ô¤·¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¤¬¡¢ ¸òÄ̹¹ð¤È¤¤¤¦½¾Íè·¿¤Î¹¹ð¤¬¤É¤ì¤À¤±¸ú²Ì¤¬¤¢¤ë¤«³Ú¤·¤ß¤Ç¤¹¡£
Åìµþ¥á¥È¥í Ãϲ¼Å´ Ⱦ¢ÌçÀþ ¤Ë·ÇºÜ¤·¤¿¡¢
P-Pointer ¤Î
Áë¾å¹¹ð:
°ìÈÌŪ¤Ë¤Ï¡¢Áë¤Î¾å¤Î¹¹ð¤Ê¤ó¤Æ (¸«¾å¤²¤Ê¤¤¤È¸«¤¨¤Ê¤¤¤«¤é) ï¤â¸«¤Ê¤¤¤À¤í¤¦¤È¤¤¤¦¤³¤È¤Ç¡¢ Äߤ깹ð¤Ê¤É¤ËÈæ¤Ù¤ë¤È°Â²Á¤ÊÁë¾å¹¹ð¤Ê¤Î¤Ç¤¹¤¬¡¢
²æ¡¹¤¬¥ê¡¼¥Á¤·¤¿¤¤¿Íã¤Ï¥é¥Ã¥·¥å¤Î»þ´ÖÂӤ˾è¤ëÄ̶еÒ
¢
¥é¥Ã¥·¥å»þ´ÖÂÓ¤ÎÅıàÅÔ»ÔÀþ¤Ï»à¤Ì¤Û¤Éº®¤à
¢
¤È¤Æ¤â¿·Ê¹¤È¤«¤òÆÉ¤á¤ë¤è¤¦¤Ê¾õÂ֤ǤϤʤ¤
¢
Ãϲ¼Å´¤À¤«¤é·Ê¿§¤ò¸«¤ë¤ï¤±¤Ë¤â¤¤¤«¤Ê¤¤
¢
»ÅÊý¤Ê¤¤¤ó¤ÇÁë¤Î¾å¤Î¹¹ð¤Ç¤â¸«¤ë¤«
¤È¤Ê¤ë¤Î¤Ç¡¢ º®»¨¤¹¤ëÄ̶ÐÏ©Àþ¤Ç¤¢¤ì¤Ð¤¢¤ë¤Û¤ÉÁë¾å¹¹ð¤Ï¸ú²ÌŪ¤À¤ÈÁÛÁü¤·¤¿¼¡Âè¤Ç¤¹¡£ »ä¼«¿È¡¢ËèÄ«ËèÈÕ¡¢¥é¥Ã¥·¥å¤ÎÅıàÅÔ»ÔÀþ (½Â뤫¤éÀ¾¤Ø¿¤Ó¤ëÅìµÞÏ©Àþ¤Ç¤¹¡£Ãϲ¼Å´È¾Â¢ÌçÀþ¤ÈÁê¸ß¾è¤êÆþ¤ì¤·¤Æ¤¤¤Þ¤¹) ¤ÇÄ̶Ф·¤Æ¤¤¤Æ¡¢ Áë¾å¹¹ð¤ò¸«¤ëµ¡²ñ¤¬Â¿¤«¤Ã¤¿¤ê¤·¤Þ¤¹¤·¡¢ ±èÀþ¤Ë¤Ï¤¤¤ï¤æ¤ë¡ÖIT¶È³¦¡×¤Î²ñ¼Ò¤¬Â¿¤¯¡¢ ¡Ö¸Ä¿Í¾ðÊó¡×¤Ë¥»¥ó¥·¥Æ¥£¥Ö¤Ê¿Í¤¬Â¿¤¤¤À¤í¤¦¡¢ ¤È¤¤¤¦¤³¤È¤ÇȾ¢ÌçÀþ¤òÁª¤Ó¤Þ¤·¤¿¡£
Á°²ó¤Ï¡¢ssh ¤Î¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤Ë¤Ï¼¡¤ÎÆóÅÀ¤Î·çÅÀ¤¬¤¢¤ë¡¢ ¤È¤¤¤¦¤ªÏäò¤·¤Þ¤·¤¿¡£
- ¥ê¥â¡¼¥È¥Û¥¹¥È¤Ë¥í¥°¥¤¥ó¥¢¥«¥¦¥ó¥È¤¬É¬Í×
- ¥ê¥â¡¼¥È¥Û¥¹¥È¤Ø¥¢¥¯¥»¥¹¤Ç¤¤ë¤³¤È¤¬É¬Í×
¤¹¤Ê¤ï¤Á¡¢ssh ¤Ç¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤ò¹Ô¤Ê¤¦¾ì¹ç¡¢Î㤨¤Ð
ssh -L 8080:intra:10080 remote "sleep 1d"
¤È¤¤¤Ã¤¿´¶¤¸¤Ç¼Â¹Ô¤·¤Þ¤¹¤¬¡¢ssh ¥í¥°¥¤¥óÀè¤Ç¤¢¤ë remote ¤Î ¥»¥¥å¥ê¥Æ¥£¥ì¥Ù¥ë¤ò²¼¤²¤ëÍ×°ø¤È¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¢¤È¤¤¤¦·çÅÀ¤Ç¤¹¡£
·çÅÀ (1) ¤ò VPN-Warp ¤Ç¤Ï¤É¤Î¤è¤¦¤Ë²ò·è¤·¤Æ¤¤¤ë¤«
VPN-Warp¤Ç¤Ï¡¢¥ê¥â¡¼¥È¥Þ¥·¥ó¤Ë¥í¥°¥¤¥ó¥¢¥«¥¦¥ó¥È¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£ ¥ê¥â¡¼¥È¥Þ¥·¥ó¤ËɬÍפʤΤϡ¢¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤È¸Æ¤Ð¤ì¤ë¥×¥í¥°¥é¥à¤ò Áö¤é¤»¤ë¤³¤È¤À¤±¤Ç¡¢Linux ¾å¤Ç¤â Windows ¾å¤Ç¤âÁö¤é¤»¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¤·¡¢ Windows ÈǤϡ¢NT ¥µ¡¼¥Ó¥¹¤È¤·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
VPN-Warp ¤Ç¤Ï¥æ¡¼¥¶´ÉÍý¤ò¥ê¥ì¡¼¥µ¡¼¥Ð¾å¤Î DB ¤Ç¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ 100Ëü¿Íµ¬ÌϤΥ桼¥¶¤ËÂФ·¤Æ¤â;͵¤Ç¥µ¡¼¥Ó¥¹¤Ç¤¤Þ¤¹¡£ ¥ê¥â¡¼¥È¥Þ¥·¥ó¤Ç¤Ï¥æ¡¼¥¶´ÉÍý¤ò¹Ô¤Ê¤¦É¬Íפ¬¤Ê¤¤¤Î¤Ç¡¢ ¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤òÁö¤é¤»¤ë¤¿¤á¤ËɬÍפÊÀßÄê¤Ï¡¢ ¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥ÉÀè (¾å½Ò¤ÎÎã¤À¤È intra:10080) ¤ÎÀßÄê¤À¤±¤Ç¤¹¡£
¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤¬¹Ô¤Ê¤¦¤Î¤Ï¡¢ ¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤Ë¸ÂÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ ¥»¥¥å¥ê¥Æ¥£¥ê¥¹¥¯¤òºÇ¾®¸Â¤ËÍÞ¤¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
·çÅÀ (2) ¤ò VPN-Warp ¤Ç¤Ï¤É¤Î¤è¤¦¤Ë²ò·è¤·¤Æ¤¤¤ë¤«
VPN-Warp¤Ç¤Ï¡¢¥ê¥â¡¼¥È¥Þ¥·¥ó¤ËľÀÜ¥¢¥¯¥»¥¹¤¹¤ëÂå¤ï¤ê¤Ë¡¢ Ãæ·ÑÀìÌç¤Î¥ê¥ì¡¼¥µ¡¼¥Ð¤òÍѤ¤¤Þ¤¹¡£ ¥ê¥â¡¼¥È¥Þ¥·¥ó¾å¤ÇÁö¤é¤»¤ë¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤¬¡¢ ¥ê¥ì¡¼¥µ¡¼¥Ð¤Ø¥¢¥¯¥»¥¹¤·¤Æ¥ê¥ì¡¼¥µ¡¼¥Ð¤ÈÏ¢·¸Æ°ºî¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ ¥í¡¼¥«¥ë¥Û¥¹¥È¤¬¥¢¥¯¥»¥¹¤¹¤ëÂоݤϥê¥â¡¼¥È¥Þ¥·¥ó¤Ç¤Ï¤Ê¤¯ ¥ê¥ì¡¼¥µ¡¼¥Ð¤Ë¤Ê¤ê¤Þ¤¹¡£ ssh ¤È VPN-Warp¤Î°ã¤¤¤ò¿Þ¤Ç½ñ¤¯¤È¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹:
ssh ¤Î¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤Î¾ì¹ç:
¥í¡¼¥«¥ë¥Û¥¹¥È ¥ê¥â¡¼¥È¥Û¥¹¥È
ssh ¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¨¡¢ª sshd ¨¡¢ª intra
8080È֥ݡ¼¥È ¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¢ª 10080È֥ݡ¼¥È
VPN-Warp¤Î¾ì¹ç:
¥í¡¼¥«¥ë¥Û¥¹¥È ¥ê¥ì¡¼ ¥ê¥â¡¼¥È¥Û¥¹¥È
stone ¨¡¨¡¨¡¨¡¨¡¢ª ¥µ¡¼¥Ð ¢«¨¡¨¡¨¡¨¡ relayagent¨¡¢ª intra
8080È֥ݡ¼¥È ¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¢ª 10080È֥ݡ¼¥È
¿ÞÃæ relayagent ¤È¤¤¤¦¤Î¤¬¥ê¥ì¡¼¥¨¡¼¥¸¥§¥ó¥È¤Ç¤¹¡£ VPN-Warp¤Î¾ì¹ç¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Ø¤Ï³°Éô¤«¤é¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬ ¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤¡£ Âå¤ï¤ê¤Ë³°Éô¤«¤é¤Î¥¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤ë¤Î¤Ï¡Ö¥ê¥ì¡¼¥µ¡¼¥Ð¡×¤Ç¤¹¡£
ssh ¤Î¾ì¹ç¤Ï¥ê¥â¡¼¥È¥Û¥¹¥È¤¬³°Éô¤«¤é¤Î¹¶·â¤Ë»¯¤µ¤ì¤ë¥ê¥¹¥¯¤¬¤¢¤ë¤ï¤±¤Ç¤¹¤¬¡¢ VPN-Warp¤Î¾ì¹ç¤Ï¡¢³°Éô¤«¤é¤Î¹¶·â¤Ë»¯¤µ¤ì¤ë¤Î¤Ï¥ê¥ì¡¼¥µ¡¼¥Ð¤À¤±¤Ç¤¹¡£
¤½¤·¤Æ¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï¡¢KLab ¤Ê¤É VPN-Warp Äó¶¡Â¦¤¬±¿±Ä¤¹¤ë¤Î¤Ç¡¢ VPN-Warp ¥æ¡¼¥¶¤Ï³°Éô¤«¤é¤Î¹¶·â¤òµ¤¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£
¤Þ¤¿¡¢¥ê¥ì¡¼¥µ¡¼¥Ð¼«ÂΤÏñ¤Ë¥Ç¡¼¥¿¤ò±¦¤«¤éº¸¤Ø¥Ç¡¼¥¿¤òή¤¹¤À¤±¤Ç¡¢ ssh ¥í¥°¥¤¥ó¥¢¥«¥¦¥ó¥È¤Î¤è¤¦¤Ê¿¯Æþ¤Î³ݤ«¤ê¤Ë¤Ê¤ë¤è¤¦¤Ê¤â¤Î¤Ï ²¿¤â¤¢¤ê¤Þ¤»¤ó¡£ ¤â¤Á¤í¤ó¥ê¥ì¡¼¥µ¡¼¥Ð¤Ï¡¢ÀìÍѤΥǥ£¥ì¥¯¥È¥ê¤Ø chroot ¤·¤Æ¤«¤é¡¢ ¥ê¥ì¡¼¥µ¡¼¥ÐÀìÍѤΥ桼¥¶¸¢¸Â¤Ç¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¡ÖDB ¥µ¡¼¥Ð¤Î¥»¥¥å¥ê¥Æ¥£¸þ¾åºö (3)¡×¤Ç¤Ï¡¢ ¤É¤Î¥æ¡¼¥¶¤¬ UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤Ë¥¢¥¯¥»¥¹¤·¤¿¤«ÆÃÄꤹ¤ë¤¿¤á¤Ë¡¢ ¥æ¡¼¥¶¤´¤È¤Ë¥½¥±¥Ã¥È¤òºîÀ®¤·¤Þ¤·¤¿¡£ ¤·¤«¤· Linux ¤Ê¤É¤Î OS ¤Ç¤Ï¡¢UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤Ë¸Â¤ê ¥¢¥¯¥»¥¹¸µ¤Î¥æ¡¼¥¶¤ò getsockopt(2) ¤ÇÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤¤ë¤Î¤Ç¡¢ ¥½¥±¥Ã¥È°ì¤Ä¤À¤±¤Ç¤É¤Î¥æ¡¼¥¶¤«¤é¤Î¥¢¥¯¥»¥¹¤«¶èÊ̤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Î㤨¤Ð°Ê²¼¤Î¤è¤¦¤Ë getsockopt ¤Î°ú¿ô¤Ë SO_PEERCRED ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢ ucred ¹½Â¤ÂΤ˥¢¥¯¥»¥¹¸µ¤Î¥æ¡¼¥¶¤Î¾ðÊ󤬳ÊǼ¤µ¤ì¤Þ¤¹:
struct ucred cr;
int len = sizeof(cr);
int ret = getsockopt(sd, SOL_SOCKET, SO_PEERCRED, &cr, &len);
if (ret == 0) {
struct passwd *passwd = getpwuid(cr.uid);
...
}
¤·¤¿¤¬¤Ã¤Æ¡¢UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ò listen ¤·¡¢ ¤½¤Î¥½¥±¥Ã¥È¤ØÀܳ¤¬¤¢¤Ã¤¿¤é¡¢ ¤½¤ì¤ò DB ¥µ¡¼¥Ð¤ØÄÌ¿®¤ò´Æ»ë¤·¤Ä¤ÄÃæ·Ñ¤¹¤ë¥×¥í¥°¥é¥à dbrelay ¤Ë¤ª¤¤¤Æ¡¢ ¾åµ¤Î¤è¤¦¤Ë getsockopt(2) ¤ò»È¤Ã¤Æ¥¢¥¯¥»¥¹¸µ¥æ¡¼¥¶¤òÆÃÄꤷ¡¢ ÄÌ¿®¤Î´Æ»ë¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤¿ DB ¥æ¡¼¥¶Ì¾¤È°ìÃפ·¤¿¤éÃæ·Ñ¤ò·Ñ³¤·¡¢ °ìÃפ·¤Ê¤«¤Ã¤¿¤éÄÌ¿®¤ò¼×ÃǤ¹¤ë¡¢¤È¤¤¤¦¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¤â¤Á¤í¤ó¡¢³Æ¥æ¡¼¥¶¤¬Ä¾ÀÜ DB ¥µ¡¼¥Ð¤Ø¥¢¥¯¥»¥¹¤·¤Ê¤¤¤è¤¦¡¢ dbrelay ¤«¤é¤Î¥¢¥¯¥»¥¹°Ê³°¤Ï OUTPUT ¥Á¥§¥¤¥ó¤ÇÄÌ¿®¤òµÑ²¼¤·¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ê»Å³Ý¤±¤ò¡¢¥é¥Ã¥¯Æâ¤ÎÁ´¥µ¡¼¥Ð¤Ë»Å¹þ¤à¤³¤È¤Ë¤è¤ê¡¢ ³Æ¥æ¡¼¥¶¤ÏƱ̾¤Î DB ¥æ¡¼¥¶¤Ç¤Î¤ß DB ¥µ¡¼¥Ð¤Ø¡¢ UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È·Ðͳ¤Ç¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹¡£
ÄÌ¿®¤Î´Æ»ë¤ò¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Ê¤¯¡¢ DB ¥µ¡¼¥Ð¦¤Ç¹Ô¤Ê¤¤¤¿¤¤¾ì¹ç¤Ï¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¤Î dbrelay ¤Ç¤Ï ¥¢¥¯¥»¥¹¸µ¤Î¥æ¡¼¥¶Ì¾¤ò¥µ¡¼¥Ð¦¤ØÅÁ¤¨¤ë¤À¤±¤Ë¤·¤Æ¡¢ ÄÌ¿®¤Î´Æ»ë¤ª¤è¤ÓÄÌ¿®¤Î¼×ÃǤϥµ¡¼¥Ð¦¤Ç¹Ô¤Ê¤ï¤»¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
ºÇ¿·ÈÇ ¤Î stone ¤Ë¤Ï ¥¢¥¯¥»¥¹¸µ¤Î¥æ¡¼¥¶Ì¾¤ò¥µ¡¼¥Ð¦¤ØÅÁ¤¨¤ëµ¡Ç½¤¬¤¢¤ë¤Î¤Ç¡¢ Î㤨¤Ð¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¼¡¤Î¤è¤¦¤Ë stone ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
stone dbserver:12345/http /tmp/db.sock '\U'
¡Ö/http¡×¤Î»ØÄê¤È¡Ö'\U'¡×¤¬¡¢¥æ¡¼¥¶Ì¾¤ò¥µ¡¼¥Ð (dbserver:12345) ¤Ø ÅÁ¤¨¤ëÀßÄê¤Ç¤¹¡£Î㤨¤Ð¥æ¡¼¥¶ sengoku ¤¬ UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È /tmp/db.sock ¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È¡¢stone ¤Ï¤Þ¤º
Apr 14 07:54:36.809789 16384 3 5>6 73 65 6e 67 6f 6b 75 0d sengoku. Apr 14 07:54:36.809828 16384 3 5>6 0a 0d 0a ...
¤ò dbserver:12345 ¤ØÁ÷¿®¤·¡¢¤½¤Î¸å¤Ï /tmp/db.sock ¤«¤é dbserver:12345 ¤Ø¤Î Ãæ·Ñ¤¬¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¥µ¡¼¥Ð¦¤Ç¤Ï¤Þ¤ººÇ½é¤ËÁ÷¤é¤ì¤Æ¤¤¿¥æ¡¼¥¶Ì¾¤ò¼õ¤±¼è¤ê¡¢ ¤½¤Î¸å¤ÏÄÌ¿®¤ò´Æ»ë¤·¤Ä¤Ä 12345 È֥ݡ¼¥È¤«¤é DB ¥µ¡¼¥Ð¤Ø¤ÎÃæ·Ñ¤ò¹Ô¤Ê¤¨¤Ð¤è¤¤¤ï¤±¤Ç¤¹¡£
KLab¥»¥¥å¥ê¥Æ¥£(³ô)¤ÎÀ½ÉÊ¤Ë VPN-Warp ¤È¤¤¤¦ SSL VPN ¥½¥ê¥å¡¼¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ÎÀ½Éʤϡ¢ºÇ½é¤Î¥×¥í¥È¥¿¥¤¥×¤ò»ä¤¬³«È¯¤·¡¢ ¼ÒÆâ¥¤¥ó¥Õ¥é¹½ÃÛ¤ÇĹǯ (¤È¤¤¤Ã¤Æ¤â KLab(³ô) ¤¬ÀßΩ¤«¤é¤Þ¤À 6ǯ¤Ê¤Î¤Ç¡¢ ¤»¤¤¤¼¤¤¤½¤Î¤¯¤é¤¤¤Ç¤¹¤¬) »È¤¤Åݤ¹¤³¤È¤Ë¤è¤Ã¤Æ¿®ÍêÀ¤¬¤¢¤¬¤Ã¤Æ¤¤¿¤â¤Î¤ò¡¢ ¾¦Éʲ½¤·¤¿¤â¤Î¤Ç¤¹¡£ »ä¼«¿È¤¬ºÇ½é¤Ë³«È¯¤·¤¿¡¢¤È¤¤¤¦°¦Ãå¤â¤¢¤ë¤Î¤Ç¡¢ ¡ÖÀçÀйÀÌÀCTO ¤ÎÆüµ¡×¤È¤¤¤¦¾ì¤òÍøÍѤ·¤Æ¡¢ VPN-Warp ¤òÆâÉô¹½Â¤¤â´Þ¤á¤Æ²òÀ⤷¤Æ¤¤¤¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
VPN-Warp ¤Ï¡¢¤Õ¤Ä¤¦¤Î SSL VPN ¤ËÈæ¤Ù¡¢°Ê²¼¤ÎÆÃħ¤¬¤¢¤ê¤Þ¤¹:
- ¥µ¡¼¥Ð¦¤ÎÀßÄ꤬´Êñ
ÆÃ¼ì¤ÊÀßÄê¤ÎɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£ ¥¤¥ó¥È¥é¥Í¥Ã¥È¾å¤Î Web ¥µ¡¼¥Ð¤ËÀìÍÑ¥½¥Õ¥È¥¦¥§¥¢¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤À¤±¤Ç¤¹¡£ - ´û¸¤Î¥¤¥ó¥È¥é¥Í¥Ã¥È´Ä¶¤òÍøÍÑ
¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ÎÀßÄê¤òÊѤ¨¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£ - PC¡¢·ÈÂÓÅÅÏá¢PDA ¤Ê¤É¤«¤éÍøÍѲÄǽ
¼çÍ×üËö¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ - ¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ëÆâÉô¤Î¾ðÊó¤ò´°àú¤ËÊݸî
SSL ¤Ë¤è¤ê°Å¹æ²½¡¦Ç§¾Ú (¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð´Ö¤ÎÁê¸ßǧ¾Ú) ¤Ç ¹âÅ٤ʥ»¥¥å¥ê¥Æ¥£¤ò¼Â¸½¤·¤Þ¤¹¡£ - ¥¯¥é¥¤¥¢¥ó¥È¦¤Ø¤Î´Êñ¤ÊƳÆþ
ÆÃÊ̤ʥ½¥Õ¥È¤¬É¬Íפʤ¯ SSL ¾ÚÌÀ½ñ¤Î¥¤¥ó¥Ý¡¼¥È¤À¤±¤Ç»È¤¨¤Þ¤¹¡£ - °ÂÄꤷ¤¿¥·¥¹¥Æ¥à
Äêɾ¤¢¤ë KLab ¤Î¥Ç¡¼¥¿¥»¥ó¥¿¤òÍøÍѤ¹¤ë¤¿¤á°Â¿´¤Ç¤¹¡£
VPN-Warp ¤Ã¤Æ²¿¡©
°ì¸À¤Ç¸À¤¦¤È¡¢¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤Ç¤¹¡£ ssh ¤Î¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤ò»È¤Ã¤¿¤³¤È¤¬¤¢¤ë¿Í¤Ï¿¤¤¤È»×¤¦¤Î¤Ç¤¹¤¬¡¢ ´ðËܤϥ¢¥ì¤ÈƱ¤¸¤Ç¤¹¡£ ssh ¤À¤È¡¢¥í¡¼¥«¥ë¥Û¥¹¥È (Î㤨¤Ð¼«Ê¬¤Î PC) ¾å¤Ç
ssh -L 8080:intra:10080 remote "sleep 1d"
¤Ê¤É¤È¼Â¹Ô¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ ¥í¡¼¥«¥ë¥Û¥¹¥È¤Î 8080 È֥ݡ¼¥È¤ò (remote ¤«¤é¸«¤Æ) intra:10080 È֥ݡ¼¥È¤Ø¥Õ¥©¥ï¡¼¥É¤Ç¤¤Þ¤¹¡£ intra:10080 ¤Ë¡¢¥¤¥ó¥È¥é¤Ø¥¢¥¯¥»¥¹²Äǽ¤Ê http proxy ¤¬Æ°¤¤¤Æ¤¤¤ì¤Ð¡¢ ¥í¡¼¥«¥ë¥Û¥¹¥È¤Î 8080 È֥ݡ¼¥È¤ò¥¤¥ó¥È¥é¤Î http proxy ¤È¤·¤Æ »È¤¦¤³¤È¤¬¤Ç¤¤ë¤ï¤±¤Ç¤¹¤Í¡£
¤¸¤ã¡¢ssh ¤Ç¤¤¤¤¤ó¤¸¤ã¤Ê¤¤¡© ¤Ê¤ó¤Ç VPN-Warp ¤ò»È¤¦¤Î¡©
ssh ¤Î¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥À¤Ë¤ÏÂ礤¯Ê¬¤±¤ÆÆó¤Ä¤Î·çÅÀ¤¬¤¢¤ê¤Þ¤¹:
- ¥ê¥â¡¼¥È¥Û¥¹¥È (¤³¤ÎÎã¤Ç¤Ï remote) ¤Ë¥í¥°¥¤¥ó¥¢¥«¥¦¥ó¥È¤¬É¬Í×
¥Ý¡¼¥È¥Õ¥©¥ï¡¼¥É¤¹¤ë¤¿¤á¤À¤±¤Ë¡¢ ssh ¤Ç¥í¥°¥¤¥ó¤Ç¤¤ë¸¢¸Â¤òÍ¿¤¨¤ë ¤È¤¤¤¦¤Î¤Ï¡¢¤¤¤«¤Ë¤âµíÅá¤Ç¤¹¤è¤Í¡© ¤Þ¤¿¡¢¥µ¡¼¥Ð¤Î¥¢¥«¥¦¥ó¥È¤È¤¤¤¦¤Î¤ÏÌÇ¿ÌðäËÁý¤ä¤»¤ë¤â¤Î¤Ç¤â¤Ê¤¤¤Î¤Ç¡¢ Î㤨¤Ð¿ôÀé¿Í¤òͤ¨¤ë¥æ¡¼¥¶¤Ë¥µ¡¼¥Ó¥¹¤¹¤ëÊýË¡¤È¤·¤Æ¤Ï¸½¼ÂŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ - ³°Éô¤«¤é¥ê¥â¡¼¥È¥Û¥¹¥È¤Ø¥¢¥¯¥»¥¹¤Ç¤¤ë¤³¤È¤¬É¬Í×
¤³¤ÎÎã¤Î remote ¤Ï¥¤¥ó¥È¥éÆâ¤Ø¥¢¥¯¥»¥¹¤Ç¤¤ë¤³¤È¤¬É¬ÍפǤ¹¡£ ¥¤¥ó¥È¥éÆâ¤Ø¥¢¥¯¥»¥¹¤Ç¤¤ë¥µ¡¼¥Ð¤ò ³°Éô¤«¤é¥¢¥¯¥»¥¹¤Ç¤¤ë¥»¥°¥á¥ó¥È (Î㤨¤Ð DMZ) ¤ËÃÖ¤¯¤Î¤Ï ¸½¼ÂŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤«¤é¡¢ÉáÄ̤Ϥ¤¤Ã¤¿¤ó³°Éô¤«¤é¥¢¥¯¥»¥¹²Äǽ¤Ê ¥µ¡¼¥Ð (Î㤨¤Ð¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë) ¤Î ŬÅö¤Ê¥Ý¡¼¥È (Î㤨¤Ð 10022 È֥ݡ¼¥È) ¤Ç¼õ¤±¤Æ¡¢ ¤½¤ì¤ò¥¤¥ó¥È¥éÆâ¤Ø¥Õ¥©¥ï¡¼¥É¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤Æ¤ª¤¯¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ DMZ ¤ËÃÖ¤¯¤è¤ê¤Ï¥Þ¥·¤Ç¤¢¤ë¤â¤Î¤Î¡¢ ³°Éô¤«¤éľÀÜ¥í¥°¥¤¥ó¤Ç¤¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤«¤ï¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤³¤ÎÆó¤Ä¤Î·çÅÀ¤Ï¡¢¤É¤Á¤é¤â¡Ö¥ê¥â¡¼¥È¥Û¥¹¥È¡×¤Î ¥»¥¥å¥ê¥Æ¥£¥ì¥Ù¥ë¤ò²¼¤²¤ëÍ×°ø¤Ë¤Ê¤ê¤Þ¤¹¡£ ñÅáľÆþ¤Ë¸À¤¨¤Ð¡¢³°Éô¤ÎÂè»°¼Ô¤¬¡Ö¥ê¥â¡¼¥È¥Û¥¹¥È¡×¤Ë¥í¥°¥¤¥ó¤·¤Æ ¥Õ¥ë¥³¥ó¥È¥í¡¼¥ë¸¢¸Â¤òÃ¥¤¦¥ê¥¹¥¯¤¬¹â¤Þ¤Ã¤Æ¤¤¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
¼¡²ó¤Ï¡¢VPN-Warp ¤¬¾åµ·çÅÀ¤ò¤É¤Î¤è¤¦¤Ë²ò·è¤·¤Æ¤¤¤ë¤«ÀâÌÀ¤·¤Þ¤¹¡£
KLab ¤Î³«È¯¤Ë»²²Ã¤¤¤¿¤À¤¤¤Æ¤¤¤ë¶¨Îϲñ¼Ò¤Î A ¼Ò¤Î S ¼ÒŤ¬¡¢
»ä¼«¿È¤Ï¾ðÊó½èÍý¤Î¥¥Û¥ó¤ò¤Á¤ã¤ó¤È¡Ö¶µ¤ï¤Ã¤¿¤ê½¬¤Ã¤¿¤ê¡×¤·¤¿ ¤³¤È¤Ï¤Ê¤¯¡¢¤½¤ÎÅÀ¤Ç¡¢»ê¤ë½ê¤Ç¡Ö¤ä¤Ã¤Ñ¤ê¥¥Û¥ó¤¬¤·¤Ã¤«¤ê¤·¤Æ ¤¤¤ë¿Í¤Ë¤ÏŬ¤ï¤Ê¤¤¤Ê¤¡¡×¤È´¶¤¸¤ë¥·¡¼¥ó¤â·Ð¸³¤·¤Þ¤¹¡£
¤Ç¡¢Âç³Ø¤äÀìÌç³Ø¹»¤Ç¾ðÊó½èÍý¤ò³Ø¤ó¤ÇÍ褿¿Í¤Ë¶µ¤¨¤ÆÍߤ·¤¤¤Î ¤Ç¤¹¤¬¡¦¡¦¡¦¡¦¡¦¡¦
| Q1¡Ë | ³Ø¹»¤Ç¤É¤ó¤Ê¥³¡¼¥¹(¹ÖµÁ/ñ°Ì)¤¬¤¢¤ê¤Þ¤·¤¿¤«¡£
¡û¡û³Ø ¤È¤« ¡û¡ûµ»Ë¡ ¤È¤«¤½¤ó¤Ê´¶¤¸¤Î¡£ |
| Q2¡Ë | ¤½¤ÎÃæ¤Ç¡¢°õ¾Ý¿¼¤«¤Ã¤¿¤â¤Î¤ä¡¢º£¤³¤¦¤ä¤Ã¤Æ³«È¯¤Î¸½¾ì¤Ç»Å»ö¤ò
¤·¤Æ¤¤¤Æ¡Ö³Ø¤ó¤Ç¤è¤«¤Ã¤¿¤Ê¤¡¡×¤È»×¤Ã¤¿¤â¤Î¤ò¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£ |
| Q3¡Ë | º£¤³¤Î²ñ¼Ò¤Î¡¢³Ø¹»¤Ç¤½¤¦¤¤¤¦¤³¤È¤ò³Ø¤ó¤Ç¤³¤Ê¤«¤Ã¤¿¿Í¤ËÂФ·¤Æ
¡Ö²¶¤¬²ò¤ë¤è¤¦¤Ë¶µ¤¨¤Æ¤ä¤ë¡ª¡×¤È¤¤¤¦¤Î¤¬¤¢¤ë¤È¤·¤¿¤é ¤É¤ó¤Ê»ö¤Ç¤¹¤«¡£ |
¤È¤¤¤¦¼ÁÌä¤ò tech ML ¤Ë¤·¤Þ¤·¤¿¡£
¤ß¤Ê¤µ¤ó¤Ê¤é¤É¤¦Åú¤¨¤Þ¤¹¤«¡©
- A1)
- »ä¤Ï¾ðÊ󹩳زʤÀ¤Ã¤¿¤Î¤Ç¡¢ÏÀÍý²óÏ©¤«¤é¥³¥ó¥Ñ¥¤¥é¡¢¥½¥Õ¥È¥¦¥§¥¢¹©³Ø¤Þ¤Ç°ì ÄÌ¤ê³Ø¤Ó¤Þ¤·¤¿¡£¤Ä¤¤¤Ç¤Ë¤¤¤¦¤È¼ÂÁ©Åª¤Ê¥×¥í¥°¥é¥ß¥ó¥°¤Ï¡¢Ë¿¥½¥Õ¥È¥¦¥§¥¢¥Ï ¥¦¥¹¤Ç¥Ð¥¤¥È¤·¤Æ³Ð¤¨¡¢¥Í¥Ã¥È¥ï¡¼¥¯¤Ï¡¢ºÇ½é¤Î½¢¿¦Àè¤Î¥¤¥ó¥È¥é¹½ÃۤμêÅÁ¤¤ ¤ò¤·¤Æ³Ð¤¨¤Þ¤·¤¿¡£
- A2)
-
ÀìÌç²ÝÄø¤Ç³Ø¤Ö»ö¤Ç°ìÈÖÂç»ö¤Ê¤Î¤Ï¡¢¡ÖÂ糤¡×¤òÃΤë»ö¤Ç¤¹¤Í¡¢¤¤Ã¤È¡£
¡ÖÂ糤¡×¤òÃΤé¤Ê¤¤¡Ö°æ¤ÎÃæ¤Î³¿¡×¤Ï¡¢·è¤·¤Æ¡Ö°æ¡×¤«¤é½Ð¤ë»ö¤Ï¤Ç¤¤Þ¤»¤ó¡£
Âç»ö¤Ê¤Î¤ÏÃ챤ä·Ð¸³¤ò¿È¤Ë¤Ä¤±¤ë»ö¤Ç¤Ï¤Ê¤¯¤Æ¡¢¼«Ê¬¤¬²¿¤òÃΤé¤Ê¤¤¤«¤ò ÃΤë»ö¤Ç¤¹¡£
Âç³Ø¤Ï¡Ö³«È¯¤Î¸½¾ì¤Ç¡×Ìò¤Ë¤¿¤Ä¤³¤È¤ò¶µ¤¨¤Æ¤¯¤ì¤Ê¤¤¡¢¤È¿¤¯¤Î¿Í¤¬¸À¤¤¤Þ¤¹ ¤¬¡¢¤½¤¦¤¤¤¦¤³¤È¤ò¸À¤¦¿Í¤Ã¤Æ¡¢¤Û¤Ü³Î¼Â¤Ë¼«Ê¬¤¬²¿¤òÃΤé¤Ê¤¤¤«Ê¬¤«¤Ã¤Æ¤Ê¤¤ ¤È»×¤¤¤Þ¤¹¡£ - A3)
-
¤Ê¤ó¤Ç¤â¤¤¤¤¤Ç¤¹¡£¼«Ê¬¤Ç¤ÏÅþÄìºî¤ê½Ð¤¹»ö¤¬¤Ç¤¤Ê¤¤¤â¤Î¤Ë¤Ä¤¤¤Æ¡¢
´°Á´¤ËÍý²ò¤¹¤ë¤è¤¦ÅØÎϤ¹¤ë·Ð¸³¤ò¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡£
¸À¤¤Âؤ¨¤ì¤Ð¡¢²¿¤« (What) ¤ò³Ø¤Ö»ö¤¬½ÅÍפʤΤǤϤʤ¯¤Æ¡¢
¤Þ¤·¤Æ¡¢¤É¤¦¤ä¤Ã¤Æ (How) ¤ò³Ð¤¨¤ë»ö¤Ê¤ó¤Æ½ÅÍפǤ¢¤ë¤Ï¤º¤¬¤Ê¤¯¡¢
ÂÎÆÀ¤¹¤Ù¤¤Ï¡¢¤Ê¤¼ (Why) ¤òÌ䤤³¤±¤ë½¬´·¤½¤Î¤â¤Î¤Ç¤¹¡£
¡Ö¥È¥é¥ó¥¶¥¯¥·¥ç¥óÎØÆÉ²ñ¡×(¼ÒÆâÎØÆÉ²ñ¤Ç¤¹) ¤ÎËܤò¡¢ ¡Öʬ¤«¤Ã¤¿¤Ä¤â¤ê¡×¥ì¥Ù¥ë¤Ç¤Ï¤Ê¤¯¡¢ ´°Á´¤ËÍý²ò¤Ç¤¤ë¤Þ¤Ç´èÄ¥¤ë¤È¤«¤Ç¤â¡¢¤â¤Á¤í¤ó¤¤¤¤¤Ç¤¹¤Í¡£ ¤É¤³¤Þ¤Ç´°Á´¤ËÍý²ò¤Ç¤¤¿¤«¼«ÂΤϡ¢¼Â¤Ï¤¢¤Þ¤ê½ÅÍפǤϤʤ¯¤Æ¡¢ Íý²ò¤·¤è¤¦¤ÈÅØÎϤ·¤Æ¡¢¼«¿È¤Î¸Â³¦¤Þ¤ÇÎϤò½Ð¤·ÀڤäƤߤ뤳¤È¤¬»ö¤¬ Âç»ö¤Ê¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¡£
¡ÖÎØÆÉ²ñ¡×¤Ë»²²Ã¤·¤¿¿Í¤Ï¼Â´¶¤·¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢²¿¤¬Ê¬¤«¤é¤Ê¤¤¤« ʬ¤«¤é¤Ê¤¤¿Í¤Ï¡¢¼ÁÌ䤵¤¨¤Ç¤¤Ê¤¤¤ï¤±¤Ç¤¹¡£¼«Ê¬¤¬ËÜÅö¤ËÍý²ò¤Ç¤¤Æ¤¤¤ë¤«¡¢ ¾ï¤ËÈ¿¾Ê¤¹¤ë½¬´·¤ò¿È¤ËÉÕ¤±¤¿¤¤¤â¤Î¤Ç¤¹¡£
¤Á¤Ê¤ß¤Ë»ä¤ÏÂç³ØÀ¸¤Î»þ¡¢ÎÙ¤ÎÍý³ØÉô¤Î¿ô³Ø²Ê¤Ø½Ð¤«¤±¤Æ¤¤¤Ã¤Æ¡¢ ¤Ê¤ó¤È¤«Íý²ò¤·¤è¤¦¤È¤µ¤ó¤¶¤ó¶ì¤·¤ó¤Àµó¤²¶ç¡¢ ¤É¡¼¤·¤Æ¤â¡Öʬ¤«¤Ã¤¿¤Ä¤â¤ê¡×¥ì¥Ù¥ë¤«¤é椹¤ë¤³¤È¤¬¤Ç¤¤º¤Ë ¼«¿È¤ÎÍý²òÎϤ賦¤òÃΤë·Ð¸³¤ò¤·¤Þ¤·¤¿¡£
¤¤¤Á¤ª¡¼¤½¤Îñ°Ì¤Ï¼è¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢¿ô³Ø¼Ô¤Ë¤Ê¤ë¤³¤È¤Ï¤¢¤¤é¤á¤Æ ¾ðÊ󹩳ؤËÀìǰ¤·¤è¤¦¤È»×¤Ã¤¿¤Î¤Ç¤·¤¿¡£
ÀèÆü¡¢KLab ¤Î¥¨¥ó¥¸¥Ë¥¢¤Î T ¤µ¤ó¤¬¡¢ KLab ¼ÒÆâ ML ¤Ç¥Þ¡¼¥±¥Æ¥£¥ó¥°¤ÎËܤò¾Ò²ð¤·¤Þ¤·¤¿¡£
º£½µ¤Î¥Þ¡¼¥±¥Æ¥£¥ó¥°ËÜ¡§¡Ö¥Þ¡¼¥±¥Æ¥£¥ó¥° / ²¸Â¢Ä¾¿Í¡×
»ä¤¬¥Þ¡¼¥±¥Æ¥£¥ó¥°¤ò³Ø¤ó¤À¤È¤¤Î»Õ¤«¤é¾Ò²ð¤µ¤ì¤¿ËÜ¡£ ÆþÌç½ñ¤È¤·¤ÆÆÉ¤à¤Î¤âÎɤ¤¤Ç¤¹¤¬¡¢ÌÖÍåŪ¤«¤ÄÂηÏŪ¤ËÅ»¤á¤é¤ì¤Æ¤ª¤ê¡¢ ¥Þ¡¼¥±Ç¾¤òÀ°Íý¡¦»É·ã¤¹¤ë¤Î¤Ë¤âŬ¤·¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¡£ Åż֤ÎÃæ¤Ç¤âÆÉ¤ß¤ä¤¹¤¤Ê¸¸Ë¥µ¥¤¥º¡£
¤µ¤Ã¤½¤¯Çã¤Ã¤ÆÆÉ¤ó¤Ç¤ß¤Þ¤·¤¿¡£ ÌÖÍåŪ¤Ëʬ¤«¤ê¤ä¤¹¤¯ÀâÌÀ¤·¤Æ¤¢¤ë¤Î¤Ç¡¢ ¥Þ¡¼¥±¥Æ¥£¥ó¥°¤òÀìÌç¤È¤·¤Ê¤¤¿Í¤Ë¤â¤¤¤¤ËܤǤ¹¤Í¡£ ¤½¤³¤Ç¡¢»ä¤â¿äÁ¦Ê¸¤ò tech ML (KLab µ»½Ñ¼Ô ML) ¤Ë½ñ¤¤Þ¤·¤¿:
T ¤µ¤ó¥ª¥¹¥¹¥á¤Î¥Þ¡¼¥±ËܤòÇ㤤¤Þ¤·¤¿¡£ ¤³¤ÎËܤ˽ñ¤¤¤Æ¤¢¤ë»ö¤¯¤é¤¤¤Ï¡¢ ¤¤Á¤ó¤È²¡¤¨¤Æ¤ª¤¯¤È¡¢ µ»½Ñ¼Ô°Ê³°¤Î¿Í¤ÈÏä¹»þ¤ËÌòΩ¤Ä¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢µ»½Ñ¼Ô¡¢´ë²è¼Ô¡¢¥Þ¡¼¥±¥¿¡¼¡¢¥»¡¼¥ë¥¹¡¢ ²ñ¼Ò¤Ç¤Ï¤¤¤í¤ó¤Ê¿Í¤¬¶È̳¤òʬô¤·¤Æ»Å»ö¤ò¿Ê¤á¤ë¤ï¤±¤Ç¤¹¤¬¡¢ ¶¦Ä̸À¸ì¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤È°Õ»×ÁÂÄ̤¬¤¦¤Þ¤¯ ¤¤¤«¤Ê¤¯¤Æ»Å»ö¤¬¥¹¥à¡¼¥º¤Ë¿Ê¤ß¤Þ¤»¤ó¤è¤Í¡©
¤Ç¡¢¶¦Ä̸À¸ì¤È¤¤¤¦¤«¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ò¾¯¤·¤Ç¤â¶¦Í¤¹¤ë¤¿¤á¤Ë¡¢ ¤ª¸ß¤¤¤ÎʬÌî¤Î´ðÁÃŪ¤ÊÉôʬ¤¯¤é¤¤¤Ï¡¢ÌÖÍåŪ¤Ë²¡¤¨¤Æ¤ª¤¯»ö¤¬½ÅÍפǤ¹¤Í¡£
¤Ê¤Î¤Ç¡¢µ»½Ñ¼Ô¤³¤½¡¢¤³¤¦¤¤¤¦¥Þ¡¼¥±¥Æ¥£¥ó¥°¤Î´ðÁäòÌÖÍåŪ¤Ë²òÀ⤷¤¿Ëܤò ÆÉ¤à¤Ù¤¤À¤È»×¤¤¤Þ¤¹¡£ ¸å¤Û¤ÉËÜê¤ËÃÖ¤¤¤Æ¤ª¤¤Þ¤¹¤Î¤Ç¡¢À§ÈóÆÉ¤ó¤Ç²¼¤µ¤¤¡£
# ¿¿¤ÃÀè¤ËÆÉ¤ß¤¿¤¤¡¢¤È¤¤¤¦¿Í¤Ï»ä¤¬ËÜê¤ËÃÖ¤¯Á°¤Ë¼è¤ê¤ËÍè¤Æ¤Í¡£
¤È¤¤¤¦¥á¡¼¥ë¤ò tech ML ¤Ëή¤·¤¿Ä¾¸å¡¢ KLab¥»¥¥å¥ê¥Æ¥£¤Î Windows ¥×¥í¥°¥é¥ß¥ó¥°¤¬ÆÀ°Õ¤Ê S ¤µ¤ó¤¬¼è¤ê¤ËÍè¤Þ¤·¤¿¡£ Èà¤ÏÆüº¢¡¢¥Þ¡¼¥±¥Æ¥£¥ó¥°¤Ê¿Í㤫¤é̵ÍýÆñÂê ;) ¤ò²¡¤·¤Ä¤±¤é¤ì¤Æ º¤¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢ ¥Þ¡¼¥±¥Æ¥£¥ó¥°¤Î´ðÁäò³Ø¤Ö¤³¤È¤Ï¤¤Ã¤ÈÌò¤Ë¤¿¤Ä¤³¤È¤Ç¤·¤ç¤¦¡£
¤³¤¦¤¤¤¦ËܤòÆÉ¤ó¤Ç¡¢ ¥Þ¡¼¥±¥Æ¥£¥ó¥°¤È¤Ï¤½¤â¤½¤â¤É¤ó¤Ê¤³¤È¤Ê¤Î¤«ÃΤäƤª¤«¤Ê¤¤¤È¡¢ Ʊ¤¸¥×¥í¥¸¥§¥¯¥È¤Ç°ì½ï¤ËƯ¤¤¤Æ¤¤¤ë¥Þ¡¼¥±Ã´Åö¤Ê¿Í¤¬¡¢ ¥Þ¡¼¥±¥¿¤È¤·¤Æ¤É¤Î¤¯¤é¤¤Í¥½¨¤Ê¿Í¤Ê¤Î¤«¡¢ ¤¢¤ë¤¤¤Ï¥À¥á¤Ê¿Í¤«Ê¬¤«¤ê¤Þ¤»¤ó¤è¤Í¡©
Ʊν¤¬Í¥½¨¤Ê¥Þ¡¼¥±¥¿¤Ê¤é¡¢ ¤½¤Î¿Í¤Î¸À¤¦»ö¤ò¿®¤¸¤Æ³«È¯Êý¿Ë¤ò·è¤á¤Æ¤«¤Þ¤ï¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢ ¤½¤¦¤Ç¤Ê¤¤¥Þ¡¼¥±¥¿¤Î¾ì¹ç¤Ï¡¢ ¸À¤¦»ö¤ò±ÆÝ¤ß¤Ë¤¹¤ë¤Î¤Ï´í¸±¤Ç¤¹¤è¤Í¡© ¿®¤¸¤ë¼Ô¤Ï¤ò¤¹¤¯¤ï¤ì¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£ ¤½¤¦¤¤¤¦¾ì¹ç¤Ï¡¢±ÆÝ¤ß¤Ë¤»¤º¤Ë¡¢ ¾¤Î¿Í¤Î°Õ¸«¤òʹ¤¯¤Ê¤ê¡¢¼«Ê¬¤Ç¹Í¤¨¤ë¤Ê¤ê¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
¤¢¤ë¤¤¤ÏΩ¾ì¤òµÕ¤Ë¤·¤Æ¹Í¤¨¤Æ¤ß¤ë¤Èʬ¤«¤ê¤ä¤¹¤¤¤«¤âÃΤì¤Þ¤»¤ó¡£
Î㤨¤Ð¡¢µ»½Ñ¤Î»ö¤¬Á´¤¯Ê¬¤«¤é¤Ê¤¤¿Í¤¬¡¢ µ»½Ñ¼Ô¤Ë³«È¯¤ò°ÍÍê¤ò¤¹¤ë¤È¤¡¢ ¤½¤Îµ»½Ñ¼Ô¤¬¤É¤Î¤¯¤é¤¤Í¥½¨¤Ê¿Í¤«Ê¬¤«¤é¤Ê¤¤¤È¡¢ ¤½¤Î¿Í¤¬¡û½µ´Ö¤Ç³«È¯¤Ç¤¤ë¡¢ ¤È¤¤¤¦¸ÀÍÕ¤ò¿®¤¸¤Æ¤¤¤¤¤Î¤«Îɤ¯¤Ê¤¤¤Î¤«È½ÃǤǤ¤Þ¤»¤ó¤è¤Í¡© ¤Ç¤¤ë¡¢¤È¸À¤Ã¤¿¤«¤é¿®¤¸¤¿¤Î¤Ë¡Á¡¢¤È¸À¤Ã¤Æ¤â¸å¤Îº×¤Ç¤¹¡£
¤À¤«¤éµ»½Ñ¼Ô¤Ç¤Ê¤¤¿Í¤â¡¢ Áê¼ê¤¬¤É¤Î¤¯¤é¤¤Í¥½¨¤Êµ»½Ñ¼Ô¤«È½ÃǤǤ¤ëÄøÅ٤ˤϡ¢ µ»½Ñ¤Î´ðËܤòÌÖÍåŪ¤Ë²¡¤¨¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤·¡¢ ¤½¤ÎµÕ¤Ë¡¢¥Þ¡¼¥±¥Æ¥£¥ó¥°¤ÎÀìÌç²È¤Ç¤Ê¤¤¿Í¤â¡¢ Áê¼ê¤¬¤É¤Î¤¯¤é¤¤Í¥½¨¤Ê¥Þ¡¼¥±¥¿¡¼¤«È½ÃǤǤ¤ëÄøÅ٤ˤϡ¢ ¥Þ¡¼¥±¥Æ¥£¥ó¥°¤Î´ðËܤòÌÖÍåŪ¤Ë²¡¤¨¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡¢ ¤Ã¤Æ¤³¤È¤À¤È»×¤¤¤Þ¤¹¡£
Á°¡¹²ó(3)¡¢ Á°²ó(4) ¤È¡¢ ¾¿Í¤Î DB ¥Ñ¥¹¥ï¡¼¥É¤òÃΤ俥桼¥¶¤¬¡¢ ¤½¤Î¿Í¤Ë¤Ê¤ê¤¹¤Þ¤·¤Æ DB ¤Ë¥í¥°¥¤¥ó¤·¤è¤¦¤È¤·¤Æ¤â DB¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤ò¼×ÃǤ¹¤ë»Å³Ý¤±¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤·¤¿¡£ (3) ¤Ï¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¡¢(4) ¤Ï¥µ¡¼¥Ð¦¤Ç¡¢ ¤½¤ì¤¾¤ì DB¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤ò´Æ»ë¤·¡¢ UNIX ¥æ¡¼¥¶Ì¾¤È¡¢DB ¥æ¡¼¥¶Ì¾¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤ÏÄÌ¿®¤ò¼×ÃǤ·¤Þ¤¹¡£
DB ¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤«¤é DB ¥æ¡¼¥¶Ì¾¤òÃê½Ð¤¹¤ëÊýË¡¤Ï¡¢ DB ¥µ¡¼¥Ð¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤Î¤Ç¡¢ ÀìÍѤΤâ¤Î¤ò¼ÂÁõ¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¤¹¤¬¡¢ º£²ó¤Ï¤½¤Î°ìÎã¤È¤·¤Æ MySQL 4.0.x ¤Î¾ì¹ç¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤·¤ç¤¦¡£
MySQL ¤Î¾ì¹ç¤Ï¡¢¥½¡¼¥¹¤¬¸ø³«¤µ¤ì¤Æ¤¤¤Þ¤¹¤·¡¢ ³«È¯¼Ô¸þ¤±¤Ë¤Ï¥×¥í¥È¥³¥ë»ÅÍͽñ¤â¤¢¤ë¤è¤¦¤Ê¤Î¤Ç¡¢ ¥¯¥é¥¤¥¢¥ó¥È¡Ý¥µ¡¼¥Ð´ÖÄÌ¿®¤ò´°Á´¤Ë²òÀϤ¹¤ë¤³¤È¤â²Äǽ¤Ê¤Î¤Ç¤¹¤¬¡¢ DB¥æ¡¼¥¶Ì¾¤ò¼è¤ê½Ð¤¹ÄøÅ٤ʤéÄÌ¿®ÆâÍÆ¤ò¥À¥ó¥×¤¹¤ë¤À¤±¤Ç¤â ¼è¤ê½Ð¤·Êý¤¬¿ä¬¤Ç¤¤Þ¤¹¡£
¤Þ¤º¤Ï¼ê»Ï¤á¤ËÄÌ¿®ÆâÍÆ¤ò¥À¥ó¥×¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£ ¤É¤ó¤Ê¥Ä¡¼¥ë¤ò»È¤Ã¤Æ¤â¤è¤¤¤Î¤Ç¤¹¤¬¡¢ ¤³¤³¤Ç¤ÏÀÛºî stone ¤ò»È¤Ã¤Æ¤ß¤Þ¤¹¡£ ŬÅö¤Ê¥Ý¡¼¥È¤Ç listen ¤·¡¢ ¤½¤ì¤ò MySQL ¥µ¡¼¥Ð¤ØÃæ·Ñ¤·¤Ä¤Ä¡¢ ÄÌ¿®ÆâÍÆ¤ò¥À¥ó¥×¤¹¤ë¤è¤¦¤Ë stone ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ Î㤨¤Ð¡¢12345È֥ݡ¼¥È¤Ç listen ¤·¡¢ ¡Ö-ppp¡×¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤ÆÄÌ¿®ÆâÍÆ¤ò¥À¥ó¥×¤µ¤»¡¢ ¥Û¥¹¥È¡Ödbserver¡×¤Î 3306È֥ݡ¼¥È¤ØÃæ·Ñ¤µ¤»¤ë¤¿¤á¤Ë¤Ï¡¢ ¼¡¤Î¤è¤¦¤Ë stone ¤ò¼Â¹Ô¤·¤Þ¤¹¡£
stone -ppp dbserver:3306 12345
¤½¤·¤Æ¡¢MySQL ¤Î¥¯¥é¥¤¥¢¥ó¥È¤Ç¤¢¤ë mysql ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£ MySQL ¥µ¡¼¥Ð¤ËÀܳ¤¹¤ëÂå¤ï¤ê¤Ë¡¢ stone ¤¬ listen ¤¹¤ë 12345È֥ݡ¼¥È¤ËÀܳ¤µ¤»¤Þ¤·¤ç¤¦¡£
mysql -P12345 -h127.0.0.1 -usengoku -pabcdefg
DB ¥æ¡¼¥¶Ì¾¡Ösengoku¡×¡¢¥Ñ¥¹¥ï¡¼¥É¡Öabcdefg¡×¤ÇÀܳ¤·¤Þ¤¹¡£ ¤³¤Î»þ¡¢stone ¤Î½ÐÎϤϼ¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹:
% stone -ppp dbserver:3306 12345 Apr 7 07:04:45.525293 16384 start (2.3a) [19635] Apr 7 07:04:45.530733 16384 stone 3: senri.gcd.org:3306 <- 0.0.0.0:12345 Apr 7 07:05:03.405877 16384 stone 3: accepted TCP 5 from 127.0.0.1:37758 mode=3 Apr 7 07:05:03.417693 16384 3 5<6 34 00 00 00 0a 34 2e 30 4....4.0 Apr 7 07:05:03.417785 16384 3 5<6 2e 32 35 2d 73 74 61 6e .xx-stan Apr 7 07:05:03.417802 16384 3 5<6 64 61 72 64 2d 6c 6f 67 dard-log Apr 7 07:05:03.417813 16384 3 5<6 00 e8 7e 00 00 2d 3a 79 ..~..-:y Apr 7 07:05:03.417823 16384 3 5<6 75 5e 58 7e 31 00 2c 20 u^X~1., Apr 7 07:05:03.417833 16384 3 5<6 0c 02 00 00 00 00 00 00 ........ Apr 7 07:05:03.417844 16384 3 5<6 00 00 00 00 00 00 00 00 ........ Apr 7 07:05:03.418337 16384 3 5>6 15 00 00 01 85 24 00 00 .....$.. Apr 7 07:05:03.418374 16384 3 5>6 00 73 65 6e 67 6f 6b 75 .sengoku Apr 7 07:05:03.418385 16384 3 5>6 00 53 4d 5c 4a 55 53 49 .SM\JUSI Apr 7 07:05:03.418393 16384 3 5>6 57 W Apr 7 07:05:03.418643 16384 3 5<6 05 00 00 02 00 00 00 02 ........ Apr 7 07:05:03.418671 16384 3 5<6 00 .
³Æ¹Ô»Ï¤á¤Î¡ÖApr 7 07:04:45.525293¡×¤Ï»þ¹ï¤Ç¡¢¥Þ¥¤¥¯¥íÉÃñ°Ì¤Çɽ¼¨¤·¤Æ¤¤¤Þ¤¹ (¥Þ¥¤¥¯¥íÉÃñ°Ì¤Þ¤Çɽ¼¨¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ï stone 2.3a ¤«¤é¤Ç¤¹)¡£ ¼¡¤Î¡Ö16384¡×¤Ï¥¹¥ì¥Ã¥ÉID ¤Ç¤¹¤¬¡¢º£²ó¤Ï̵»ë¤·¤Æ¤â¤é¤Ã¤Æ¹½¤¤¤Þ¤»¤ó¡£ ºÇ½é¤Î»°¹Ô¤Ï stone ¤Î¥í¥°¤Ê¤Î¤Ç̵»ë¤¹¤ë¤È¤·¤Æ¡¢ ¼¡¤ÎÉôʬ¤¬ MySQL ¥µ¡¼¥Ð¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷¤é¤ì¤¿ÄÌ¿®ÆâÍÆ¤Ç¤¹¡£ ¡Ö5<6¡×¤¬¡¢¥µ¡¼¥Ð¢ª¥¯¥é¥¤¥¢¥ó¥ÈÊý¸þ¤ÎÄÌ¿®¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£
Apr 7 07:05:03.417693 16384 3 5<6 34 00 00 00 0a 34 2e 30 4....4.0 Apr 7 07:05:03.417785 16384 3 5<6 2e 32 35 2d 73 74 61 6e .xx-stan Apr 7 07:05:03.417802 16384 3 5<6 64 61 72 64 2d 6c 6f 67 dard-log Apr 7 07:05:03.417813 16384 3 5<6 00 e8 7e 00 00 2d 3a 79 ..~..-:y Apr 7 07:05:03.417823 16384 3 5<6 75 5e 58 7e 31 00 2c 20 u^X~1., Apr 7 07:05:03.417833 16384 3 5<6 0c 02 00 00 00 00 00 00 ........ Apr 7 07:05:03.417844 16384 3 5<6 00 00 00 00 00 00 00 00 ........
MySQL ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤é¤·¤¤â¤Î¤¬Á÷¤é¤ì¤Æ¤¤¤ëÍͻҤ¬Ê¬¤«¤ê¤Þ¤¹¡£ ¤³¤³¤Ç¤ÎÌÜŪ¤Ï DB ¥æ¡¼¥¶Ì¾¤òÃê½Ð¤¹¤ë¤³¤È¤Ç¤¢¤ê¡¢ DB ¥æ¡¼¥¶Ì¾¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¢ª¥µ¡¼¥ÐÊý¸þ¤ËÁ÷¤é¤ì¤ë¤Ï¤º¤Ê¤Î¤Ç¡¢ ¥µ¡¼¥Ð¢ª¥¯¥é¥¤¥¢¥ó¥ÈÊý¸þ¤ÎÄÌ¿®¤Ï̵»ë¤·¤Æ¤·¤Þ¤Ã¤Æ¤â¹½¤ï¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢ ÀèÆ¬¤Î¡Ö34 00¡×¤Ë¤ÏÃíÌܤ·¤Æ¤ª¤¤¤¿Êý¤¬¤è¤¤¤Ç¤·¤ç¤¦¡£ ¤³¤Î¼ê¤Î¥¯¥é¥¤¥¢¥ó¥È¡Ý¥µ¡¼¥Ð´Ö¥×¥í¥È¥³¥ë¤Ç¤Ï¡¢ ÀèÆ¬¤Ë¤³¤ì¤«¤éÁ÷¤ë¥Ç¡¼¥¿¤ÎŤµ¤òÁ÷¿®¤¹¤ë¤³¤È¤¬°ìÈÌŪ¤À¤«¤é¤Ç¤¹¡£ ¼ÂºÝ¡¢¡Ö34 00¡×¤Ï½½¿Ê¿ô¤Ç¸À¤¦¤È 52 ¤Ç¤¹¤¬¡¢ ¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷¤é¤ì¤¿¥Ç¡¼¥¿¤Ï 56 ¥Ð¥¤¥È¤Ê¤Î¤Ç¡¢ ÀèÆ¬ 2 ¥Ð¥¤¥È¤¬¥Ç¡¼¥¿Ä¹¡¢¼¡¤Î 2 ¥Ð¥¤¥È¡Ö00 00¡×¤¬¥Ç¡¼¥¿¤Î¼ïÊÌ¡¢ »Ä¤ê¤Î 52 ¥Ð¥¤¥È¤¬¥Ç¡¼¥¿¤À¤í¤¦¡¢¤È¿ä¬¤Ç¤¤Þ¤¹¡£
³¤¯Éôʬ¤¬¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤ØÁ÷¤é¤ì¤¿ÄÌ¿®ÆâÍÆ¤Ç¤¹¡£ ¡Ö5>6¡×¤¬¡¢¥¯¥é¥¤¥¢¥ó¥È¢ª¥µ¡¼¥ÐÊý¸þ¤ÎÄÌ¿®¤Ç¤¢¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£
Apr 7 07:05:03.418337 16384 3 5>6 15 00 00 01 85 24 00 00 .....$.. Apr 7 07:05:03.418374 16384 3 5>6 00 73 65 6e 67 6f 6b 75 .sengoku Apr 7 07:05:03.418385 16384 3 5>6 00 53 4d 5c 4a 55 53 49 .SM\JUSI Apr 7 07:05:03.418393 16384 3 5>6 57 W
ÀèÆ¬ 2 ¥Ð¥¤¥È¡Ö15 00¡×¤¬¥Ç¡¼¥¿Ä¹¤Ç¤¢¤ë¤È²¾Äꤷ¤Æ¤ß¤Þ¤¹¡£ ½½¿Ê¿ô¤Ç¸À¤¦¤È 21 ¤Ç¡¢ ¥Ç¡¼¥¿¼ïÊ̤ȿ䬤µ¤ì¤ë 2 ¥Ð¥¤¥È¥Ç¡¼¥¿¡Ö00 01¡×¤Î¸å¤Ë 21 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤¬Â³¤¤¤Æ¤¤¤Þ¤¹¡£ ¤½¤·¤Æ¡¢¥Ç¡¼¥¿¤ÎÃæ¤ËÌÀ¤é¤«¤Ë DB ¥æ¡¼¥¶Ì¾¤È»×¤ï¤ì¤ëʸ»úÎó¡Ösengoku¡×¤È ¤½¤Î¥Ç¥ê¥ß¥¿¤È»×¤ï¤ì¤ë¡Ö00¡×¤¬¤¢¤ê¤Þ¤¹¡£ ³¤¯ 8 ¥Ð¥¤¥È¤Ï¥Ñ¥¹¥ï¡¼¥É¤È¿ä¬¤Ç¤¤Þ¤¹¡£ DB ¥æ¡¼¥¶Ì¾¤ÎÁ°¤Î 5 ¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¡Ö85 24 00 00 00¡×¤Ï¡¢ ¸ÇÄêĹ¤Î¥Ç¡¼¥¿¤È¿ä¬¤Ç¤¤ë¤Î¤Ç¡¢ DB¥æ¡¼¥¶Ì¾¤òÃê½Ð¤¹¤ë¤Ë¤Ï¡¢ ¥¯¥é¥¤¥¢¥ó¥È¢ª¥µ¡¼¥ÐÊý¸þ¤Î¥Ç¡¼¥¿¤Î¤¦¤Á¡¢ ºÇ½é¤«¤é 10 ¥Ð¥¤¥ÈÌܤ«¤é¡Ö00¡×¤Þ¤Ç¤ò¼è¤ê½Ð¤»¤ÐÎɤµ¤½¤¦¤Ç¤¹¡£
¤â¤Á¤í¤ó¼ÂºÝ¤Ë±¿ÍѤ¹¤ëºÝ¤Ï¡¢MySQL ¤Î¥½¡¼¥¹¤Ê¤¤¤·¥×¥í¥È¥³¥ë»ÅÍͽñ¤ò »²¾È¤·¤Æ³Î¼Â¤ò´ü¤¹¤ë¤Ù¤¤Ç¤¹¤¬¡¢ ¥×¥í¥È¥³¥ë»ÅÍͤ¬¸ø¼°¤Ë¤Ï¸ø³«¤µ¤ì¤Æ¤¤¤Ê¤¤ DB ¥µ¡¼¥Ð¤Î¾ì¹ç¤Ç¤â¡¢
- DB ¥æ¡¼¥¶Ì¾¤¬¼è¤ê½Ð¤»¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥í¥°¤Ë½ÐÎϤ·¤¿¾å¤ÇÄÌ¿®¤òÍÆÇ§
- DB ¥æ¡¼¥¶Ì¾¤¬¼è¤ê½Ð¤»¤¿¤¬¡¢¤½¤Î DB ¥æ¡¼¥¶Ì¾¤¬ DB ¤Ë¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ ¥í¥°¤Ë½ÐÎϤ·¤¿¾å¤ÇÄÌ¿®¤òÍÆÇ§
- DB ¥æ¡¼¥¶Ì¾¤¬¼è¤ê½Ð¤»¤Æ¡¢¤«¤Ä¤½¤Î DB ¥æ¡¼¥¶Ì¾¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢ ¼è¤ê½Ð¤·¤¿ DB ¥æ¡¼¥¶Ì¾¤¬Àµ¤·¤¤¤â¤Î¤È¤·¤Æ°·¤¤¡¢ÄÌ¿®¤Îµö²Ä/¼×ÃǤò¹Ô¤Ê¤¦
¤Ê¤É¤È¡¢DB ¥æ¡¼¥¶Ì¾¤òÀµ¤·¤¯¼è¤ê½Ð¤»¤Ê¤«¤Ã¤¿¤È»×¤ï¤ì¤ë¤È¤¤Ï ¤È¤ê¤¢¤¨¤ºÄÌ¿®¤òÍÆÇ§¤·¤Æ¤ª¤¤¤Æ¡¢ ¸å¤Û¤É DB ¥æ¡¼¥¶Ì¾¤ÎÃê½ÐÊýË¡¤ò²þÄû¤¹¤ë¡¢¤È¤¤¤¦±¿ÍѤ¬²Äǽ¤Ç¤·¤ç¤¦¡£
¤Ê¤ª¡¢MySQL ¤Î¾ì¹ç¤ÏÁ°½Ò¤·¤¿¤è¤¦¤Ë¸ø¼°¤Ê¥×¥í¥È¥³¥ë»ÅÍͽñ¤â¤¢¤ê¤Þ¤¹¤·¡¢ Ian Redfern »á¤¬¥½¡¼¥¹¤ò²òÀϤ·¤ÆºîÀ®¤·¤¿¥×¥í¥È¥³¥ë¤Î²òÀ⤬ °Ê²¼¤Î¥Ú¡¼¥¸¤Ç¸ø³«¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
- MySQL Protocol (MySQL 3.22 ¡Á 4.0)
- http://www.redferni.uklinux.net/mysql/MySQL-323.html
- MySQL Protocol (MySQL 4.1)
- http://www.redferni.uklinux.net/mysql/MySQL-Protocol.html
Á°²ó¤Ï¡¢ DB ¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤ò´Æ»ë¤·¤Æ¡¢ UNIX ¤Ç¤Î¥æ¡¼¥¶¸¢¸Â¤È DB ¥æ¡¼¥¶Ì¾¤¬°ìÃפ¹¤ë»þ¤Ë¸Â¤ê ÄÌ¿®¤òµö²Ä¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤·¤¿¡£
¥¢¥¯¥»¥¹¸µ¤È¤Ê¤ë¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Þ¥·¥ó¤Ê¤é¤Ð¡¢ ¤É¤Î¥æ¡¼¥¶¤¬¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¤«ÍưפËÄ´¤Ù¤é¤ì¤ë¤Î¤Ç¡¢ ÄÌ¿®¤Î´Æ»ë¤â¥¢¥¯¥»¥¹¸µ¤Ç¹Ô¤Ê¤Ã¤¿Êý¤¬´Êñ¤Ç¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¤³¤ÎÊýË¡¤Ç¤Ï¡¢ ¥Ç¡¼¥¿¥»¥ó¥¿Æâ¤ÎÁ´¤Æ¤Î¥µ¡¼¥Ð¤ÇÄÌ¿®¤Î´Æ»ë¤ò¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢ ¤ä¤äÈË»¨¤Ç¤¹¡£ ¤Þ¤¿¡¢UNIX ¤Ç¤Î¥æ¡¼¥¶¸¢¸Â¤´¤È¤Î¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¤ò ¼Â¸½¤¹¤ëÊýË¡¤È¤·¤Æ¡¢ Á°²ó¤Ï³Æ¥æ¡¼¥¶¤´¤È¤ËÀìÍѤΠUNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤òÍѰդ·¡¢ ¤½¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥óÀßÄê¤Ç¥³¥ó¥È¥í¡¼¥ë¤¹¤ëÊýË¡¤ò¾Ò²ð¤·¤Þ¤·¤¿¤¬¡¢ ÅöÁ³¤Î¤³¤È¤Ê¤¬¤é DB ¥¢¥¯¥»¥¹¤ò¹Ô¤¦¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤¬ UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
DB ¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤Î´Æ»ë¤ò¥¢¥¯¥»¥¹Àè¡¢ ¤Ä¤Þ¤ê DB ¥µ¡¼¥Ð¡¼Â¦¤Ç¹Ô¤¦¤³¤È¤¬¤Ç¤¤ì¤Ð¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¤Ï´Æ»ë¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¤³¤È¤ò°Õ¼±¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤êÁ°²óÀâÌÀ¤·¤¿¡ÖÆþ¸ýµ¬À©¡×¤Ë¤è¤ë¥¢¥¯¥»¥¹À©¸Â¤Ç¤¹¤Í¡£ ¥¯¥é¥¤¥¢¥ó¥È¦¤«¤é¸«¤ì¤Ð¡¢ ÉáÄÌ¤Ë DB¥µ¡¼¥Ð¤Ø TCP Àܳ¤¹¤ë¤À¤±¤Ê¤Î¤Ç¡¢ ¤É¤Î¤è¤¦¤Ê¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤Ç¤âÍøÍѲÄǽ¤Ç¤·¤ç¤¦¡£
¤³¤ÎÆþ¸ýµ¬À©¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢ ¤É¤Î¥æ¡¼¥¶¸¢¸Â¤Ç¥¯¥é¥¤¥¢¥ó¥È¥×¥í¥°¥é¥à¤¬Æ°¤¤¤Æ¤¤¤ë¤Î¤«¡¢ DB ¥µ¡¼¥Ð¦¤«¤éÄ´¤Ù¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢TCP Àܳ¤Ç¤Ï¥µ¡¼¥Ð¦¤ÏÁ÷¤é¤ì¤Æ¤¤¿ ¥Ñ¥±¥Ã¥È¤ò¼õ¤±¼è¤ë¤À¤±¤Ê¤Î¤Ç¡¢ ¤½¤Î¥Ñ¥±¥Ã¥È¤ò郎Á÷¿®¤·¤¿¤«¤Þ¤Ç¤Ï´ØÃΤ·¤Þ¤»¤ó¡£ ¤½¤³¤Ç¡¢ÄÌ¿®Áê¼ê¤¬Ã¯¤Ê¤Î¤«Ä´¤Ù¤ëÊýË¡¤òÄê¤á¤¿¤Î¤¬¡¢ RFC1413 ¤ÇÄ󰯤µ¤ì¤¿ IDENT ¥×¥í¥È¥³¥ë¤Ç¤¹¡£ IDENT ¥×¥í¥È¥³¥ë¤Ï¡¢ ¼õ¤±¼è¤Ã¤¿ TCP ¥Ñ¥±¥Ã¥È¤ËµÏ¿¤µ¤ì¤Æ¤¤¤ë Á÷¿®¸µ¤Î IP ¥¢¥É¥ì¥¹¤È¥Ý¡¼¥ÈÈÖ¹æ¤ò¼ê¤¬¤«¤ê¤Ë¡¢ Áê¼ê¤¬Ã¯¤«¥¯¥é¥¤¥¢¥ó¥È¦¤ØÌ䤤¹ç¤ï¤»¤Þ¤¹¡£
IDENT ¥×¥í¥È¥³¥ë¤Ï¡¢¤¢¤Þ¤ê»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤Æµ×¤·¤¤¤Î¤Ç¡¢ ¤Þ¤º´Êñ¤Ë¾Ò²ð¤·¤Þ¤·¤ç¤¦¡£
¥Û¥¹¥È CLIENT ¤«¤é¥Û¥¹¥È SERVER ¤Î 12345È֥ݡ¼¥È¤Ø¥¢¥¯¥»¥¹¤·¤¿ ¾ì¹ç¤Ë¤Ä¤¤¤Æ¹Í¤¨¤Þ¤¹¡£ ¤½¤ÎÀܳ¾õ¶·¤Ï¼¡¤Î¤è¤¦¤Ë netstat ¥³¥Þ¥ó¥É¤Ê¤É¤Ç³Îǧ¤Ç¤¤Æ¡¢
SERVER % netstat Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 SERVER:12345 CLIENT:45486 ESTABLISHED
¤³¤Î¾ì¹ç¤À¤È¡¢CLIENT ¤Î 45486È֥ݡ¼¥È¤«¤é SERVER ¤Î 12345È֥ݡ¼¥È¤Ø¤Î TCP Àܳ¤¬³ÎΩ¤·¤Æ¤¤¤ë (ESTABLISHED) ¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£
¤³¤Î¤È¤¡¢SERVER ¤Ï CLIENT ¤Ë IDENT Ìä¹ç¤»¤ò¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ CLIENT ¤Î¤É¤Î¥æ¡¼¥¶¤¬ TCP Àܳ¤ÎÁê¼ê¤«Ä´¤Ù¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
SERVER % telnet CLIENT 113 Connected to CLIENT. 45486,12345 ¡Ä (1) 45486 , 12345 : USERID : OTHER :sengoku ¡Ä (2) Connection closed by foreign host.
(1) ¤¬ SERVER ¤«¤é CLIENT ¤Ø¤ÎÌä¹ç¤»¤Ç¡¢ Á÷¼õ¿®ÁÐÊý¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ÎÂФòÁ÷¿®¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤ËÂФ·¡¢(2) ¤¬ CLIENT ¤«¤é SERVER ¤Ø¤Î±þÅú¤Ç¡¢ TCP Àܳ¤ÎÁê¼ê¤¬¡Ösengoku¡×¤Ç¤¢¤ë¤³¤È¤¬Ê¬¤«¤ê¤Þ¤·¤¿¡£
¤³¤Î¤è¤¦¤Ë¡¢ÄÌ¿®Áê¼ê¤¬Ã¯¤«¼ê·Ú¤Ë³Îǧ¤Ç¤¤ëÊØÍø¤Ê¥×¥í¥È¥³¥ë¤Ê¤Î¤Ç¤¹¤¬¡¢ Áê¼ê¥Û¥¹¥È¤¬¿®ÍѤǤ¤Ê¤±¤ì¤ÐÅöÁ³ IDENT ±þÅú¤â¿®¤¸¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£ ÉÔÆÃÄê¿¿ô¤Î¥Û¥¹¥È¤«¤é¤ÎÄÌ¿®¤ò¼õ¤±ÉÕ¤±¤ë¾ì¹ç¤Ï¡¢ IDENT Ìä¹ç¤»¤ò¹Ô¤Ê¤Ã¤Æ¤â¡ÖÀµÄ¾¤Ê¡×±þÅú¤¬Ê֤äƤ¯¤ë¤È¤Ï´üÂԤǤ¤Ê¤¤¤ï¤±¤Ç¡¢ ¾¯¤Ê¤¯¤È¤â¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Ç¤Ï¤¢¤Þ¤ê»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¤è¤¦¤Ç¤¹¡£
¤·¤«¤· ¥Ç¡¼¥¿¥»¥ó¥¿¤Î¥é¥Ã¥¯Æâ¤Î¥µ¡¼¥Ð¤Ç¤¢¤ì¤Ð¡¢ ÅöÁ³´ÉÍý¼Ô¤¬·è¤Þ¤Ã¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¤«¤é¡¢ Á´¤Æ¤Î¥µ¡¼¥Ð¤ÇÀµ¤·¤¯ IDENT ±þÅú¤òÊÖ¤¹¤è¤¦¤ËŰÄ줹¤ë¤³¤È¤ÏÍÆ°×¤Ç¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢ IDENT ¥×¥í¥È¥³¥ë¤ò»È¤Ã¤¿Æþ¸ýµ¬À©¤ò¼Â»Ü¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤Þ¤º DB ¥µ¡¼¥Ð¤ò¡¢UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤Ç¤Î¤ß¥¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤ë ¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£ ¤³¤Î¥½¥±¥Ã¥È¤Ï¡¢local ¥æ¡¼¥¶¤¬¾¡¼ê¤Ë¥¢¥¯¥»¥¹¤·¤¿¤ê¤·¤Ê¤¤¤è¤¦¡¢ DB ¥µ¡¼¥Ð¤ò¼Â¹Ô¤¹¤ë¥æ¡¼¥¶¸¢¸Â¤Ç¤Î¤ßÆÉ¤ß½ñ¤¤Ç¤¤ë¤è¤¦¤Ë ÀßÄꤷ¤Æ¤ª¤¯¤È¤è¤¤¤Ç¤·¤ç¤¦¡£
¼¡¤Ë¡¢ÆÃÄê¤Î¥Ý¡¼¥È¤Ç listen ¤·¡¢Àܳ¤ò¼õ¤±ÉÕ¤±¤¿¤é ¤³¤Î UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ØÃæ·Ñ¤¹¤ë¥×¥í¥°¥é¥à¤ò¡¢ DB ¥µ¡¼¥Ð¤ò¼Â¹Ô¤¹¤ë¥æ¡¼¥¶¤ÈƱ¤¸¥æ¡¼¥¶¸¢¸Â¤ÇÁö¤é¤»¤Þ¤¹¡£ ¤³¤ÎÃæ·Ñ¥×¥í¥°¥é¥à¤Ï¡¢ Ãæ·Ñ¤¹¤ëºÝ¤ËÀܳ¸µ¥Û¥¹¥È¤ËÂФ·¤Æ IDENT Ìä¹ç¤»¤ò¹Ô¤Ê¤¤¡¢ IDENT ±þÅú¤ÇÆÀ¤¿¥æ¡¼¥¶Ì¾¤È¡¢ ÄÌ¿®¤ò´Æ»ë¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤¿ DB ¥æ¡¼¥¶Ì¾¤¬ °ìÃפ·¤Ê¤¤¾ì¹ç¤ÏÄÌ¿®¤ò¼×ÃǤ¹¤ë¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£
¤³¤Î¤è¤¦¤Ê»Å³Ý¤±¤Ë¤è¤ê¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥æ¡¼¥¶¤Ï¡¢ »Å³Ý¤±¤ò°Õ¼±¤¹¤ë¤³¤È¤Ê¤¯ DB ¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ¤½¤·¤Æ¡¢ ²¿¤«¤Î¤Ï¤º¤ß¤ËÊ̤ΠDB¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É¤òÃΤꡢ ¤½¤Î DB¥æ¡¼¥¶¤Ë¤Ê¤ê¤¹¤Þ¤·¤Æ¥¢¥¯¥»¥¹¤·¤è¤¦¤È¤·¤Æ¤â ÄÌ¿®¤Ï¼×ÃǤµ¤ì¤Þ¤¹¡£
°ìÈ̤ˡ¢¥Þ¥·¥ó C ¤«¤é¥Þ¥·¥ó S ¤Ø¤Î¥¢¥¯¥»¥¹¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¡¢
(IN) ¥Þ¥·¥ó S ¤Ç¥¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤ë¤È¤³¤í¤ÇÀ©¸Â¤¹¤ë¡ÖÆþ¸ýµ¬À©¡×
(OUT) ¥Þ¥·¥ó C ¤Ç¥¢¥¯¥»¥¹¤ò½Ð¤¹¤È¤³¤í¤ÇÀ©¸Â¤¹¤ë¡Ö½Ð¸ýµ¬À©¡×
¤Î2Ä̤ê¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£°ìÈ̤˥¢¥¯¥»¥¹À©¸Â¤È¤¤¤¦¤È (IN) ¤ÎÆþ¸ýµ¬À©¤òÍѤ¤¤ë¤³¤È¤¬Â¿¤¤¤Î¤Ç¤¹¤¬¡¢ ¤³¤ì¤Ï¥¢¥¯¥»¥¹¤ò½Ð¤¹¥Þ¥·¥ó¤¬ÆÃÄê¤Ç¤¤Ê¤¤¤«¡¢ ¤¢¤ë¤¤¤ÏÆÃÄê¤Ï¤Ç¤¤ë¤Î¤À¤±¤É¥Þ¥·¥ó¤Î¿ô¤Ê¤¤¤·¼ïÎब¿²á¤®¤ë¤¿¤á¤Ç¤¹¡£
Î㤨¤Ð¡¢¥Þ¥·¥ó S ¤Ø¤Î¥í¥°¥¤¥ó¤òÀ©¸Â¤·¤¿¤¤¾ì¹ç¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£ °ìÈÌŪ¤Ë¤Ï¥¢¥¯¥»¥¹¸µ¤È¤Ê¤ê¤¦¤ë¥Þ¥·¥ó¤ÏÆÃÄê¤Ç¤¤Ê¤¤¤«¡¢ ÆÃÄê¤Ç¤¤¿¤È¤·¤Æ¤â¿ô¤¬Â¿¤¤¤Ç¤·¤ç¤¦¤·¡¢ ¤½¤Î¥Þ¥·¥ó¤Çư¤¯ OS ¤Î¼ïÎà¤â¿¼ï¿ÍͤǤ·¤ç¤¦¡£ ¥¢¥¯¥»¥¹¸µ¤È¤Ê¤ê¤¦¤ë¥Þ¥·¥ó¤ÎÁ´¤Æ¤Ç¡¢ ¥¢¥¯¥»¥¹¤ò½Ð¤¹¤³¤È¤òÀ©¸Â¤·¤è¤¦¤È¤¹¤ë¤Î¤ÏÈ󸽼ÂŪ¤Ç¤¹¡£ ¤Ê¤Î¤ÇÉáÄ̤ϥ¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤ë¦¤Î¥Þ¥·¥ó S ¤Ç ¥¯¥é¥¤¥¢¥ó¥È¤Îǧ¾Ú¤ò¹Ô¤Ê¤Ã¤Æ¥¢¥¯¥»¥¹À©¸Â¤ò¤·¤Þ¤¹¡£
Î㤨¤Ð ssh ¤Î¾ì¹ç¤Ê¤é¤É¤³¤Î¥Þ¥·¥ó¤«¤é¤Î¥¢¥¯¥»¥¹¤Ç¤¢¤Ã¤Æ¤â¡¢ ÈëÌ©¸°¤ò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤ò¾ÚÌÀ¤Ç¤¤ë¤Ê¤é¥¢¥¯¥»¥¹¤òµö²Ä¤·¡¢ ¤½¤¦¤Ç¤Ê¤±¤ì¤ÐµÑ²¼¤·¤Þ¤¹¡£ ¥¢¥¯¥»¥¹¤ò½Ð¤¹Â¦¤Î¥Þ¥·¥ó¤Ç¤Ï²¿¤Î½Ð¸ýµ¬À©¤â¤Ê¤¯¡¢ ¥¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤ë¦¤Î¥Þ¥·¥ó¤Ç¤ÎÆþ¸ýµ¬À©¤À¤±¤Ç¤¹¤Í¡£
¤È¤³¤í¤¬¡¢¥Ç¡¼¥¿¥»¥ó¥¿¤Î¥é¥Ã¥¯Æâ¤Î¥Þ¥·¥ó¤Ë¸ÂÄꤹ¤ì¤Ð¡¢ »ö¾ð¤ÏÊѤï¤Ã¤Æ¤¤Þ¤¹¡£ ¥é¥Ã¥¯Æâ¤ËÆþ¤ì¤Æ¤¢¤ë¥Þ¥·¥ó¤Î¿ô¤Ï¹â¡¹Í¸Â ;) ¤Ç¤¹¤·¡¢ ¿¤¯¤Î¾ì¹çÁ´¤Æ¤Î¥Þ¥·¥ó¤ÇƱ¤¸ OS ¤¬Æ°¤¤¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¤·¡¢ ´ÉÍý¤ÎÅԹ礫¤é¤¤¤¨¤ÐÁ´¤Æ¤Î¥Þ¥·¥ó¤òƱ¤¸¥Á¡¼¥à¤¬´ÉÍý¤¹¤Ù¤¤Ç¤·¤ç¤¦¡£
¤³¤Î¤è¤¦¤ÊÆÃ¼ì¤Ê´Ä¶²¼¤Ç¤Ï¡¢ (OUT) ¤Î½Ð¸ýµ¬À©¤â¸½¼ÂŪ¤ÊÊýË¡¤È¤Ê¤ê¤Þ¤¹¡£ Î㤨¤Ð DB ¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤ò¹Í¤¨¤ë¤È¡¢ DB ¥µ¡¼¥Ð¤ÏÄ̾ï¤Î¥µ¡¼¥Ðǧ¾Ú¤Î¤ß¤Ç¤¢¤Ã¤Æ¤â¡¢ ¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¥¢¥¯¥»¥¹¤ò½Ð¤¹¤Î¤òÀ©¸Â¤¹¤ë½Ð¸ýµ¬À©¤òÀߤ±¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ ¥»¥¥å¥ê¥Æ¥£¤ò¸þ¾å¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥¯¥é¥¤¥¢¥ó¥È¦¤Î OS ¤¬ Linux ¤Ç¤¢¤ì¤Ð¡¢ ½Ð¸ýµ¬À©¤ÎÊýË¡¤È¤·¤Æ iptables ¤Î OUTPUT ¥Á¥§¥¤¥ó¤ò»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ Î㤨¤Ð DB ¥µ¡¼¥Ð¤¬ 12345È֥ݡ¼¥È¤Ç¥¢¥¯¥»¥¹¤ò¼õ¤±ÉÕ¤±¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢ ¥é¥Ã¥¯Æâ¤ÎÁ´¥Þ¥·¥ó¤Ë¤ª¤¤¤Æ
iptables -N dbaccess 2>/dev/null || iptables -F dbaccess iptables -A dbaccess -j ACCEPT -m owner --uid-owner dbuser ¡Ä(2) iptables -A dbaccess -j DROP ¡Ä(3) iptables -A OUTPUT -j dbaccess -p tcp --dport 12345 --syn ¡Ä(1)
¤ò¼Â¹Ô¤·¤Æ¤ª¤¤Þ¤¹¡£
DB ¥µ¡¼¥Ð¤Ø¥¢¥¯¥»¥¹¤ò½Ð¤½¤¦¤È¤·¤Æ¡¢ DB ¥µ¡¼¥Ð¤¬Æ°¤¤¤Æ¤¤¤ë¥Þ¥·¥ó¤Î 12345È֥ݡ¼¥È¤Ø¤ÎÀܳ¤·¤è¤¦¤È¤¹¤ë¤È¡¢ ¤Þ¤º OUTPUT ¥Á¥§¥¤¥ó¤Î (1) ¤Î¥ë¡¼¥ë¤Ë¤è¤Ã¤Æ dbaccess ¥Á¥§¥¤¥ó¤Ø¥¸¥ã¥ó¥×¤·¤Þ¤¹¡£ ¥¢¥¯¥»¥¹¤ò½Ð¤½¤¦¤È¤·¤¿¥æ¡¼¥¶¤¬ dbuser ¤Ç¤¢¤ì¤Ð¡¢ dbaccess ¥Á¥§¥¤¥ó¤Î (2) ¤Î¥ë¡¼¥ë¤Ë¤è¤Ã¤ÆÄÌ¿®¤¬µö²Ä¤µ¤ì¤Þ¤¹¤¬¡¢ dbuser °Ê³°¤Î¥æ¡¼¥¶¤Ç¤¢¤ì¤Ð¡¢ (3) ¤Î¥ë¡¼¥ë¤Ë¤è¤Ã¤ÆÄÌ¿®¤¬µÑ²¼¤µ¤ì¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢dbuser °Ê³°¤Î¥æ¡¼¥¶¤Ï¡¢¤¿¤È¤¨ DB ¤Î¥Ñ¥¹¥ï¡¼¥É¤òÃΤäƤ¤¤Æ¤â¡¢ DB ¤Ë¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£
DB ¤Ë¥¢¥¯¥»¥¹¤·¤¿¤¤¥æ¡¼¥¶¤¬Áý¤¨¤Æ¤¯¤ë¤È¡¢ ¤½¤Î¤¿¤Ó¤Ë iptables ¤ÎÀßÄê¤òÊѹ¹¤¹¤ë¤Î¤ÏÌÌÅݤǤ¹¤Î¤Ç¡¢ DB ¥µ¡¼¥Ð¤ØÀܳ¤Ç¤¤ë¥æ¡¼¥¶¤Ï°ì¤Ä¤À¤± (Î㤨¤Ð dbuser) ¤Ë¤·¤Æ¤ª¤¤¤Æ¡¢ ¤½¤Î¥æ¡¼¥¶¸¢¸Â¤ÇÃæ·Ñ¥×¥í¥°¥é¥à¤òư¤«¤¹¤è¤¦¤Ë¤¹¤ë¤ÈÊØÍø¤Ç¤·¤ç¤¦¡£
Î㤨¤Ð¡¢DB ¤Ë¥¢¥¯¥»¥¹¤·¤¿¤¤¥æ¡¼¥¶ user1, user2, user3, user4 ¤¬ ¤¢¤ë¤È¤·¤Þ¤¹¡£ ¤Þ¤º¡¢DB ¾å¤ËƱ̾¤Î¥æ¡¼¥¶¥¢¥«¥¦¥ó¥È¤òºî¤ê¤Þ¤¹¡£ ¼¡¤Ë¡¢¥é¥Ã¥¯Æâ¤ÎÁ´¥µ¡¼¥Ð¤Ë¤ª¤¤¤Æ¡¢ ¥æ¡¼¥¶Ëè¤Ë UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ò listen ¤·¡¢ ¤½¤Î¥½¥±¥Ã¥È¤ØÀܳ¤¬¤¢¤Ã¤¿¤é¡¢ ¤½¤ì¤ò DB ¥µ¡¼¥Ð¤ØÃæ·Ñ¤¹¤ë¥×¥í¥°¥é¥à (¤³¤³¤Ç¤Ï dbrelay ¤È¸Æ¤Ö¤³¤È¤Ë¤·¤Þ¤·¤ç¤¦) ¤òư¤«¤·¤Þ¤¹¡£ Î㤨¤Ð¼¡¤Î¤è¤¦¤Ê¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
/home/user1/socket /home/user2/socket /home/user3/socket /home/user4/socket
³Æ¥½¥±¥Ã¥È (¤¢¤ë¤¤¤Ï¥½¥±¥Ã¥È¤òÃÖ¤¤¤Æ¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê) ¤Ï¡¢ ¼«Ê¬°Ê³°¤Î¥æ¡¼¥¶¤ÏÆÉ¤ß½ñ¤¤Ç¤¤Ê¤¤¤è¤¦¤Ë ¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÀßÄꤷ¤Þ¤¹¡£ ¤Ä¤Þ¤ê dbrelay ¤Ï root ¸¢¸Â¤Çµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤µ¤é¤Ë¡¢Á°½Ò¤·¤¿¤è¤¦¤Ë DB ¥µ¡¼¥Ð¤Ø¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï dbuser ¥æ¡¼¥¶¸¢¸Â¤Ç¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤«¤é¡¢ ³Æ¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤·¤¿¸å¤Ï¡¢ dbuser ¥æ¡¼¥¶¸¢¸Â¤Ë setuid ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤½¤·¤Æ¡¢¤³¤³¤¬´Î¤Ê¤Î¤Ç¤¹¤¬¡¢ dbrelay ¤Ï DB ¥µ¡¼¥Ð¤Ø¤ÎÄÌ¿®¤ò´Æ»ë¤·¡¢ Àܳ¤ò¼õ¤±ÉÕ¤±¤¿¥½¥±¥Ã¥È¤Î¥æ¡¼¥¶Ì¾¤È¡¢ DB ¤Ø¤Î¥¢¥¯¥»¥¹¤ò¹Ô¤Ê¤¦ DB ¥æ¡¼¥¶Ì¾¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï ÄÌ¿®¤ò¼×ÃǤ·¤
