忍者ブログの元開発者が送る愛と感動と涙のスペクタクル。プログラムの開発日誌やタダの日記です。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
/*
* ZendX_Date_Holiday
*
* 2007年以降の日本の祝日を判定します
*
* 2006年より過去に遡った調査をする場合は要調整(5/4が国民の休日になる)
* wikipedia(http://ja.wikipedia.org/wiki/国民の祝日)とかで確認して$ddやkokumin()、spring()、autumn()辺りを調整してください
*
* @cateogry ZendX
* @package ZendX_Date
* @author misney <mizuno@ninja.co.jp>
*/
class ZendX_Date_Holiday {
/**
* 平日かな?
*
* @return boolean
*/
public static function isWeekday($y, $m, $d) {
if (self::isHoliday($y, $m, $d)) {
return false;
} else {
return true;
}
}
/**
* 祝日かな?
*
* @return boolean
*/
public static function isHoliday($y, $m, $d) {
$t = mktime(0,0,0,$m,$d,$y);
$w = date("w", $t);
$wc = intval($d / 7) + 1;
//祝日定義
$dd = array(
1=>array(1=>true, 'function'=>array('monday2')),
2=>array(11=>true),
3=>array('function'=>array('spring')),
4=>array(29=>true),
5=>array(3=>true, 4=>true, 5=>true),
7=>array('function'=>array('monday3')),
9=>array('function'=>array('autumn', 'monday3', 'kokumin')),
10=>array('function'=>array('monday2')),
11=>array(3=>true, 23=>true),
12=>array(23=>true),
);
//山の日は2016年から
if ($y >= 2016) {
$dd[8] = array(11=>true);
}
if (!empty($dd[$m][$d])) {//決められた祝日
return true;
}
//ハッピーマンデイや春秋分、国民の休日がある月は関数処理
if(!empty($dd[$m]['function'])) {
foreach ($dd[$m]['function'] as $func) {
if (self::$func($y, $m, $d, $w, $wc, $t)) {
return true;
}
}
}
//水曜日までは振替休日をチェック。
if ($w < 4) {
$_w = $w;
$_y = $y;
$_m = $m;
$_d = $d;
while($_w > 0) {
//1日の場合は前月末日を作成する
if ($d == 1) {
$t = $t - 86400;
$_y = date("Y", $t);
$_m = date("m", $t);
$_d = date("d", $t);
} else {
$_y = $_y;
$_m = $_m;
$_d = $_d - 1;
}
if (self::isHoliday($_y, $_m, $_d)) {
$_w--;
if ($_w == 0) {
return true;
}
} else {
break;
}
}
}
return false;
}
/**
* ハッピーマンデーかな?(第2月曜日)
*
* @return boolean
*/
private static function monday2($y, $m, $d, $w, $wc, $t) {
if ($w == 1 && $wc == 2) {
return true;
}
return false;
}
/**
* ハッピーマンデーかな?(第3月曜日)
*
* @return boolean
*/
private static function monday3($y, $m, $d, $w, $wc, $t) {
if ($w == 1 && $wc == 3) {
return true;
}
return false;
}
/**
* 春分の日かな?
*
* 前年2月の最初の平日に制定されるらしい。(官報に掲載される暦要項)
* 地球の運行状態が変化した場合などに変更される可能性はあるらしい(過去には無い)
*
* @return boolean
*/
private static function spring($y, $m, $d, $w, $wc, $t) {
$p = $y % 4;
switch($p) {
case '1':
$_d = '20';
break;
case '2':
if ($y < 2023) {
$_d = '21';
} else {
$_d = '20';
}
break;
case '3':
if ($y < 2056) {
$_d = '21';
} else {
$_d = '20';
}
break;
default:
if ($y < 2089) {
$_d = '20';
} else {
$_d = '19';
}
break;
}
if ($d == $_d) {
return true;
}
return false;
}
/**
* 秋分の日かな?
*
* 前年2月の最初の平日に制定されるらしい。(官報に掲載される暦要項)
* 地球の運行状態が変化した場合などに変更される可能性はあるらしい(過去には無い)
*
* @return boolean
*/
private static function autumn($y, $m, $d, $w, $wc, $t) {
$p = $y % 4;
switch($p) {
case '1':
if ($y < 2042) {
$_d = '23';
} else {
$_d = '22';
}
break;
case '2':
if ($y < 2075) {
$_d = '23';
} else {
$_d = '22';
}
break;
case '3':
$_d = '23';
break;
default:
if ($y < 2009) {
$_d = '23';
} else {
$_d = '22';
}
break;
}
if ($d == $_d) {
return true;
}
return false;
}
/**
* 国民の休日かな?
*
* 祝日と祝日に挟まれた日は祝日というオセロのような祝日。
* 2013年現在は9月21日or22日の火曜日にしか発生しない。
*
* @return boolean
*/
private static function kokumin($y, $m, $d, $w, $wc, $t) {
if (($d == 21 || $d == 22) && $w == 2) {
if (self::isHoliday($y, $m, $d-1, $w-1, $wc, $t) && self::isHoliday($y, $m, $d+1, $w+1, $wc, $t)) {
return true;
}
}
return false;
}
}
使用されたアカウント名 | 攻撃回数 |
admin | 216,003 |
host名 | 115,363 |
administrator | 72450 |
Admin | 5,006 |
ニックネーム | 3,941 |
2013/8/20 | 117,861 |
2013/8/21 | 104,085 |
2013/8/22 | 65,336 |
2013/8/23 | 3,634 |
2013/8/24 | 5,277 |
2013/8/25 | 1,597 |
2013/8/26 | 1,052 |
2013/8/27 | 32,025 |
2013/8/28 | 34,274 |
2013/8/29 | 48,326 |
# wget http://download.oracle.com/otn-pub/java/jdk/6u33-b03/jdk-6u33-linux-x64.bin
# chmod a+x jdk-6u33-linux-x64.bin
# ./jdk-6u33-linux-x64.bin
# vi /etc/profile
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
# source /etc/profile
# cd /etc/yum.repos.d/
# wget http://archive.cloudera.com/redhat/cdh/cloudera-cdh3.repo
# yum install hadoop-hbase hadoop-hbase-master hadoop-0.20-namenode hadoop-0.20-jobtracker hadoop-0.20-secondarynamenode hadoop-0.20-tasktracker hadoop-zookeeper
# vi /etc/hbase/conf/hbase-evn.sh #以下の行のコメントアウトを外す
export HBASE_MANAGES_ZK=true
# vi /etc/hbase/conf/hbase-site.xml #<configuration>の中に以下を追加
<property>
<name>hbase.zookeeper.quorum</name>
<value>127.0.0.1</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.property.maxClientCnxns</name>
<value>200</value>
</property>
# service hadoop-0.20-datanode start
# service hadoop-0.20-jobtracker start
# service hadoop-0.20-namenode start
# service hadoop-0.20-secondarynamenode start
# service hadoop-0.20-tasktracker start
# service hadoop-hbase-master start
# wget ftp://ftp.riken.jp/net/apache/maven/binaries/apache-maven-3.0.4-bin.tar.gz
# tar zxf ./apache-maven-3.0.4-bin.tar.gz
# mv /usr/local/src/apache-maven-3.0.4 /usr/share/maven
# vi /etc/profile
export M2_HOME=/usr/share/maven
export M2=$M2_HOME/bin
export PATH=$PATH:$M2
# source /etc/profile
# wget ftp://ftp.meisei-u.ac.jp/mirror/apache/dist/gora/gora-0.2-src.tar.gz
# tar zxvf ./gora-0.2-src.tar.gz
# cd ./apache-gora-0.2/
# mvn clean compile
# cd /usr/local/src
# wget http://ftp.riken.jp/net/apache//ant/binaries/apache-ant-1.8.4-bin.tar.gz
# tar zxf ./apache-ant-1.8.4-bin.tar.gz
# cp -R /usr/local/src/apache-ant-1.8.4 /usr/share/ant
# vi /etc/profile
export ANT_HOME=/usr/share/ant
export PATH=$PATH:$ANT_HOME/bin
# cd /usr/local/src
# mkdir ./nutch2.0
# cd ./nutch2.0
# wget ftp://ftp.riken.jp/net/apache/nutch/2.0/apache-nutch-2.0-src.tar.gz
# tar zxvf ./apache-nutch-2.0-src.tar.gz
# vi conf/nutch-site.xml #<configuration></configuration>の中に以下を追加
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.hbase.store.HBaseStore</value>
<property>
<property>
<name>http.agent.name</name>
<value>nutch2.0</value>
</property>
# vi ivy/ivy.xml #108行目付近にある下記の記述のコメントアウトを外す
<dependency org="org.apache.gora" name="gora-hbase" rev="0.2" conf="*->default" />
#vi conf/gora.properties
gora.datastore.default=org.apache.gora.hbase.store.HBaseStore
# ant
BUILD SUCCESSFUL
Total time: 3 minutes 33 seconds
# cd /usr/local/src/nutch2.0
# ./runtime/deploy/bin/nutch
Usage: nutch COMMAND
where COMMAND is one of:
inject inject new urls into the database
hostinject creates or updates an existing host table from a text file
generate generate new segments to fetch from crawl db
fetch fetch URLs marked during generate
parse parse URLs marked during fetch
updatedb update web table after parsing
updatehostdb update host table after parsing
readdb read/dump records from page database
readhostdb display entries from the hostDB
solrindex run the solr indexer on parsed segments and linkdb
solrdedup remove duplicates from solr
parsechecker check the parser for a given url
plugin load a plugin and run one of its classes main()
junit runs the given JUnit test
or
CLASSNAME run the class named CLASSNAME
Most commands print help when invoked w/o parameters.
画像RSS
おまとめボタン
カテゴリー
忍者カウンター
忍者ビジター
忍者アド
ブログ内検索
リンクなどなど
最新コメント
プロフィール
アーカイブ
フリーエリア
忍者ツールズプロフィール