27年、7月度のアクセス数のセッション数とページビュー数。

2015.08.04

Logging


今月のアクセス数とページビュー数です。今月の末、SSLの設定により表示されない状態が続きましたので最後の方はアクセス数激減していますが、表示がスムーズにされてからはアクセス数80件ぐらいまで回復しています。7月は一度、急激なアクセスがあったので後の対応が後手に回ってしまいました。今のところこのアクセス数を一気に500件まで増加させるのは方法は思いつきません。Facebookと連動するとアクセス数の伸びは確実に増えますが、正直な所それをせずにアクセス数を伸ばそうと考えています。
Facebookのページに広告を掲載すれば伸びは投資に比例して伸びると思いますが、かなり投資をしないとアクセス数は伸びないと思っていますなので、日々の記事を淡々と掲載していき情報量を増やすことに力を注ぎたいと思っています。
 

タグ

7月度, Facebook, SSL, アクセス数, アクセス数80件, かなり投資, セッション数, ところこのアクセス数, ページビュー数, 一度, 伸び, 広告, 後手, 情報量, 所それ, 方法, 日々, , 状態, 設定,

httpingのインストール方法。centOS7

2015.07.26

Logging

httpingのインストール方法ですけど。wgetを使用してダウンロードしインストールするだけでOKです。しかし、gccがインストールされていないとエラーが出てしまいますのでgccもインストールしないといけないです。まず、gccをインストールします。その後、httpingをインストールするとすんなりとインストール出来るはずです。

yum -y install gcc
wget http://www.vanheusden.com/httping/httping-2.3.4.tgz
tar xfz httping-2.3.4.tgz
cd httping-2.3.4
make install
httping https://www.google.co.jp

ちなみにwgetがインストールされていないとダウンロードすることが出来ませんのでこちらもインストールする事もお忘れなく。

yum -y install wget

タグ

-y, 2.3.4, 7, cd, centOS, com, gcc, http, httping, install, Make, OK, tar, tgz, vanheusden, wget, www, xfz, yum, インストール, エラー, こちら, こと, ダウンロード, パス, , 使用, , 方法,

WordPressを別のURLへ移行する方法。

2015.07.08

Logging


WordPressを別のURLへ移行する方法ですが、いろいろと巷では、WordPressのPHPを修正すれば良いよとか記載していますが、本当はこれだけで良いはずです。WordPressが保管されているデータベースのデータの任意のURLを全て置換するという方法です。そうすればエラーなどもなく移行することが可能ですが、ただ、データが多いと結構、大変な作業です。全てのURLを直さなくて良い場合などは・・・大変な作業になることは間違いないです。ほぼ、人力ですね。一括置換で良さそうな場合はすごく手間がかかりません。下記の方法がよく見かける方法ですが・・・おそらく上手くいきませんという場合が多いです。

WordPressのindex.phpの中の
require(‘./wp-blog-header.php’);

require(‘./wordpress/wp-blog-header.php’);に変更。

タグ

index.php, require, url, WordPress, wp-blog-header.php', エラー, これだけ, データベース, 一括置換, 下記, 人力, 作業, 全て, 変更, , 手間, 方法, 良いはず, 良い場合,

昨日の続き、cronPHP(´Д`)、一つのジョブから複数のPHPファイルを実行させる方法。

2015.06.25

Logging

<?php
//5分刻みに対して有効な無限クローン 処理が負荷の場合どうなるかは知りません。
date_default_timezone_set('Asia/Tokyo');
class cron{

    public function d_m($obj)
    {
            if($obj->m==="*")return true;
            if(preg_match("/,/",$obj->m))return $this->comma($obj->m,date("m"));
            if((int)$obj->m === (int)date("m"))return true;

            return false;
    }

    public function d_d($obj)
    {
            if($obj->d==="*")return true;
            if(preg_match("/,/",$obj->d))return $this->comma($obj->d,date("d"));
            if((int)$obj->d === (int)date("d"))return true;

            return false;
    }

    public function d_H($obj)
    {
            if(preg_match("/\*\/[0-9]{1,2}/",$obj->H)){
                $H = explode("/",$obj->H);
                if((int)$H[1]>0 && ((int)date("H") % (int)$H[1])===0)return true;
            }else{
                if($obj->H==="*")return true;
                if(preg_match("/,/",$obj->H))return $this->comma($obj->H,date("H"));
                if((int)$obj->H === (int)date("H"))return true;

            }
            return false;
    }

    public function d_i($obj)
    {
            if(preg_match("/\*\/[0-9]{1,2}/",$obj->i)){
                $i = explode("/",$obj->i);
                if((int)$i[1]>0 && ((int)date("i") % (int)$i[1])===0)return true;
            }else{
                if($obj->i==="*")return true;
                if(preg_match("/,/",$obj->i))return $this->comma($obj->i,date("i"));
                if((int)$obj->i === (int)date("i"))return true;

            }
            return false;
    }

    //曜日 0=日曜日 6=土曜日
    public function d_w($obj)
    {
            if((int)$obj->w[date("w")]===1)return true;
            return false;
    }

    public  function comma($c="",$t=""){
        if($c==="")return false;
        if($t==="")return false;
        $flg = false;
        foreach(explode(",",$c) as $cc){
            if((int)$cc===(int)$t)$flg = true;
        }
        return $flg;
    }


    public function d_command($obj){
        if($obj->command){
            exec($obj->command . " > /dev/null &");
        }
        return true;
    }

}
if ($argv[1]) {
   $filename = $argv[1];
    if(is_file($filename)){
        $jsn = json_decode(file_get_contents($filename));
        $cron = new cron();
        try {
            foreach($jsn as $obj){
                if($cron->d_m($obj)){
                    if($cron->d_d($obj)){
                        if($cron->d_H($obj)){
                            if($cron->d_i($obj)){
                                if($cron->d_w($obj)){
                                    $cron->d_command($obj);//波動拳{{{{
                                }
                            }
                        }
                    }
                }
            }
        } catch (\Throwable $th) {
            print $th->getMessage();
        }
    }
}

 
この頃、ネタがないので手抜き投稿です。気づいた人どのぐらいいるのだろうか?
Qittaに公開しました。https://qiita.com/question909/items/8f1df9b62ab4fba76243

タグ

39, 5, Asia, class, comma, cron, cronphp, date, default, function, gt, if, int, lt, match, obj, php, preg, public, quot, retu, return, set, this, timezone, Tokyo, true, クローン, ジョブ, ファイル, 一つ, 処理, 分刻み, 場合, 実行, 方法, 昨日, 有効, 無限, 複数, 負荷,

クロンを改良しました。前のクロンPHPは恐らくBUGってて。

2015.06.23

Logging


クロンPHPって言っても月や曜日判定はしていません。今回、その判定も行うように変えようと再度、コードを改良しました。前回のコードの約半分ぐらいのコードになってます。土曜日までには、月や曜日の対応を行うようにします。
ちなみにどういう機能をするのかと言いますと、さくらサーバではクロンの制限があります。その制限数以上、使おうとおもって考えたのが、一つのPHPを叩いてクロンがしている事を模倣することでした。
※昨日の話は撤回はしないものの、SEOよりSNSでSEOという考え方に変えました。よくよく考えてみるとアクセス数が多いほど、検索上位表示される確率も増えるのでやはり大事かなとボット。ボットらしくない振る舞いしたボットなら何とか成るかも知れないとも思ってます。

追記2022/09/06:クーロン制限突破方法を記載しています、こちらを参照ください。クーロン制限突破!

command":"cd /home/user/www/user_dir/site/; /usr/local/bin/php cron.php "cron.json"
<?php
//5分刻みに対して有効な無限クローン 処理が負荷の場合どうなるかは知りません。
date_default_timezone_set('Asia/Tokyo');
class cron{

    public function d_m($obj)
    {
            if($obj->m==="*")return true;
            if(preg_match("/,/",$obj->m))return $this->comma($obj->m,date("m"));
            if((int)$obj->m === (int)date("m"))return true;

            return false;
    }

    public function d_d($obj)
    {
            if($obj->d==="*")return true;
            if(preg_match("/,/",$obj->d))return $this->comma($obj->d,date("d"));
            if((int)$obj->d === (int)date("d"))return true;

            return false;
    }

    public function d_H($obj)
    {
            if(preg_match("/\*\/[0-9]{1,2}/",$obj->H)){
                $H = explode("/",$obj->H);
                if((int)$H[1]>0 && ((int)date("H") % (int)$H[1])===0)return true;
            }else{
                if($obj->H==="*")return true;
                if(preg_match("/,/",$obj->H))return $this->comma($obj->H,date("H"));
                if((int)$obj->H === (int)date("H"))return true;

            }
            return false;
    }

    public function d_i($obj)
    {
            if(preg_match("/\*\/[0-9]{1,2}/",$obj->i)){
                $i = explode("/",$obj->i);
                if((int)$i[1]>0 && ((int)date("i") % (int)$i[1])===0)return true;
            }else{
                if($obj->i==="*")return true;
                if(preg_match("/,/",$obj->i))return $this->comma($obj->i,date("i"));
                if((int)$obj->i === (int)date("i"))return true;

            }
            return false;
    }

    //曜日 0=日曜日 6=土曜日
    public function d_w($obj)
    {
            if((int)$obj->w[date("w")]===1)return true;
            return false;
    }

    public  function comma($c="",$t=""){
        if($c==="")return false;
        if($t==="")return false;
        $flg = false;
        foreach(explode(",",$c) as $cc){
            if((int)$cc===(int)$t)$flg = true;
        }
        return $flg;
    }


    public function d_command($obj){
        if($obj->command){
            exec($obj->command . " > /dev/null &");
        }
        return true;
    }

}
if ($argv[1]) {
   $filename = $argv[1];
    if(is_file($filename)){
        $jsn = json_decode(file_get_contents($filename));
        $cron = new cron();
        try {
            foreach($jsn as $obj){
                if($cron->d_m($obj)){
                    if($cron->d_d($obj)){
                        if($cron->d_H($obj)){
                            if($cron->d_i($obj)){
                                if($cron->d_w($obj)){
                                    $cron->d_command($obj);//波動拳{{{{
                                }
                            }
                        }
                    }
                }
            }
        } catch (\Throwable $th) {
            print $th->getMessage();
        }
    }
}
mは月
dは日
Hは時
iは分
wは日曜日から土曜日 0はOFF、1はON
commandは実行コマンド
[
    {
        "m":"*",
        "d":"*",
        "H":"*",
        "i":"*/10",
        "w":[1,1,1,1,1,1,1],
        "command":"cd /home/user/www/user.com/site/; /usr/local/bin/php hoge1.php"
    },
    {
        "m":"*",
        "d":"12,23,28",
        "H":"*",
        "i":"*/15",
        "w":[1,1,1,1,1,1,1],
        "command":"cd /home/user/www/user.com/site/; /usr/local/bin/php hoge2.php"
    }
]

タグ

-Command, 06, 09, 2022, BUG, cd, ho, php, quot, SEO, SNS, アクセス, クーロン, クロン, コード, こちら, こと, サーバ, さくら, ボット, 一つ, 上位, , 今回, 再度, 判定, 制限, , 前回, 参照, 土曜日, 大事, 対応, 撤回, 改良, 方法, 昨日, 曜日, , 検索, 模倣, 機能, 確率, 突破, 約半分, 考え方, 表示, 記載, , 追記,

jQueryでローディングって検索すると。

2015.05.20

Logging


 
jQueryでローディングって検索すると何やらいろいろヒットしました。なるほど、そういう事なのか、以外にも短いコードで書けるだなということが分かって目から鱗が落ちました。ロードされるまでGif動画を表示させてロード後切り替えているだけなんだ。jQueryってすごいですね。ちなみにjQuery.event.add(window,”load”,function(){…} こう書けばデータが読み込まれた後に処理が実行されます。ちなみにこの場合、HTMLや画像などのデータが読み込まれるまでGif画像を表示させる方法ですが、非同期通信を行っている間、ローディングのGif画像を表示させて普通に切り替える事も可能なんだということで、BBSもどきにその機能をつけてみました。コメントが表示されるまでローディング画像を表示させています。
https://zip358.com/tool/BBS

タグ

AM, BBSもどき, function, Gif動画, Gif画像, html, jQuery.event.add, load, window, コード, コメント, データ, ローディング, ローディング画像, ロード後, 以外, 処理, 方法, 機能, 短いコード, 非同期通信, ,

最後のWindowsが夏頃、リリースされます。

2015.05.14

Logging


最後のWindowsが夏頃、リリースされますが、ちょっと様子見でWindows7のままで使用しようと思っています。恐らく無償版のアップグレードするとダウングレードすることが出来ないと思うので自分は様子見です。話、脱線して昨日の続きです。PHPを使用しPOSTしてデータを渡し受け取る方法ですが、SSLでなければ下記のコマンドをLinux上で打てば処理されます。なのでコマンドとPHPとの合わせ技で処理します。

curl http://hoge.com -d "name=hoge" -d "pass=pass_hoge"

上記の様に記載したshファイルを任意の場所に置き、Linuxで処理するか、PHPで実行させるかなど方法があります。今回はPHPで実行する方法を記載します。上記のファイルをhello.shというファイルに保存したと過程して、PHPファイルで実行させた場合の処理を記載します。下記のコードをPHPファイルに記載すれば実行可能です。

$put =nl2br(shell_exec('sh hello.sh'));
echo $put;

あとは戻ってきた値を処理して必要な情報だけを抽出するコードを書けばいろいろな事が可能です。ちなみに今回はPOSTとする方法でしたが、それ以外にも階層のファイルの一覧を抽出した場合などもshに記載して結果を返す方法などが可能です。
※shファイルのパーミッション設定には注意が必要です。
 

タグ

'sh hello.sh', $put, Linux, nl2br, PHPファイル, POST, shell_exec, shファイル, Windows7, アップグレード, コード, コマンド, パーミッション設定, 上記, 下記, 合わせ技, 夏頃, 方法, 無償版, 階層,

CURLでページを抽出するのは簡単なのだけど・・・POSTして

2015.05.13

Logging


curlでページを抽出するのは簡単なのだけど、いま自分がやりたいことはSSLのサイトにデータをPOSTしてその結果を加工して表示させたいわけなのですが・・・。どうもPOSTする際にデータがうまく渡せてなくてエラー結果のページが表示されるのです。未だ問題が解決せず・・・・。うまく行かない・・・時間だけが流れてしまうので今日のトコロはやらない方法ですが、うまく行けばそのサイトを公表します。結構便利なサイトになるかと思っているのですが当分、無理な感じがします。

タグ

, curl, POST, POSTする際, SSH, SSL, エラー結果, サイト, データ, トコロ, ページ, 当分, 方法, 時間, 未だ問題,

ブログが長く続く方法はコレだけど思います。

2015.03.15

Logging


ブログが長く続く方法はコレだけど思います。気乗りしない時は書かないという事です、非公開で個人日記としてブログを残していく場合はともかく、その他の場合は気を落ちしてたり気が高ぶっていたりすると記事が感情的になりやすく、あまりよい記事は書けません。そういう場合はあえて書かないことをオススメします。ブログを長期的に休んだとしても直ぐにアクセス数に影響が出るということはないです。逆に変な記事を書いて読み手が憤慨な気分になったりすることの方が問題かと思われます。不特定多数に公開する場合、その時の感情で記事を書くとあまり良くないと思います、自分自身、感情的な記事を書くこともありますが、最終的にそういう記事は削除していることが多いです。ブログとかSNSとか特に不特定多数に公開する場合、自分の履歴として残ってしまいます。この何気ない履歴が後から問題になったりするのです。
記録に残るというのは良いようであまり良くない一面もあるのだなと思いますので、気乗りしない時はあえて書かないこと、それがブログが長く続く方法だと自分は思ってます。

タグ

SNS, アクセス数, あまりよい記事, コレ, その他, ブログ, 一面, 不特定多数, 何気ない履歴, 個人日記, 問題, 影響, 感情, 方法, 気分, 自分自身, 記録, 読み手, 非公開,

ブルーレイに外付けの自作USBハードディスクを取り付ける方法(ソニー)(`・ω・´)。

2015.01.20

Logging


 
ブルーレイに外付けの自作USBハードディスクを取り付ける方法(ソニー)ですが、意外にも簡単でUSBハードディスクを購入するよりも安価なので方法を伝授します。まず3.5型のHDDケースとHDD3.5インチを用意します(USBケーブルが必要な場合あり:だいたい3.5型のHDDケースを購入すると付属してます)。用意出来ましたら、3.5型のHDDケースを開けてHDD3.5インチを取り付けるだけです。取り付けと言っても差しこむだけですので誰でも出来ます。注意点はケースがSATA規格でHDDはIDE規格だったりすると差込口があわないので変換機を別途用意しないといけなくなります。現在の主流はSATA規格なのでまず間違えることはないと思います。差し込みが終わったら、USBをブルーレイに差しこむだけであとはブルーレイが勝手に認識してくれます(`・ω・´)。その後、ブルーレイのマニュアル(ソニー)に従ってHDDを登録(フォーマット)すれば増設、終わりです。ちなみにHDDとブルーレイの相性で認識しない場合があります(古いブルーレイなどに有りがち)。そういう場合は諦めてパソコンの外付けHDDとして使用しましょう(`・ω・´)・・・・。
自作外付けHDDのメリットはHDDの取っ替え引っ替えができちゃう事です。録画したHDD消したくないなぁと思った場合、HDDだけ交換すれば良いというメリットがあります。外付けHDDの交換より比較的に安価だということです(容量が増えれば増えるほど)。
※HDD3.5インチで容量が3TB(3テラバイト)の価格が1万円弱ぐらいです。

タグ

3テラバイト, HDD3.5インチ, HDDケース, IDE規格, SATA規格, USBケーブル, ソニー, フォーマット, ブルーレイ, マニュアル, メリット, , 古いブルーレイ, 変換機, 外付けHDD, 容量, 差し込み, 方法, 注意点, 自作USBハードディスク, 自作外付けHDD,

初心者でも自分のオリジナルアドレスでサイトやブログを持つ方法。

2015.01.18

Logging

初心者でも自分のオリジナルアドレスでサイトやブログを持つ方法を紹介します。
一番手ごろな方法はライブドアブログの有料版を使用する方法がオススメです(ドメインは別途取得が必要)。月の支いもそれほど高くありません。※年に一回ドメイン(アドレス)料金が発生します。2番目にオススメははてなブログですが、いろいろと独自の機能が面倒くさい感じです。
他にはFC2などなどブログサービスを行っている会社は有料版で独自ドメインが使用できる場合が殆どです(アメーバブログを除く)。
上記の方法が超初心者でも独自ドメイン(オリジナルアドレス)でサイト(ブログ)を持つ方法です。

次に紹介するのがレンタルサーバーをレンタルしてサイトを持つ方法です。こちらはやや難易度が高いです。
まず、必要な知識や技術取得を列挙します。

  1. FTPソフトの操作(サーバー上にディレクトリ作成)
  2. HTMLの基礎知識など(サイト作成に必要)
  3. WordPress(ブログ)アップロードの方法
  4. パーティションの知識
  5. DBの知識(MYSQL)
  6. zipファイルの解凍方法。

※ディレクトリ=フォルダ(Windows)
上記の知識が多少、必要になってきます。全然無くても勉強しながら試していくうちに徐々に覚えていきます。なので、例としてさくらレンタルサーバーの手続き方法やサイトやブログ開設方法を記載しときます。(習うより慣れろです(`・ω・´)。)
さくらレンタルサーバー(スタンダード版以上)でサイトやブログの設置する方法。
まずはレンタルのサーバ借りる手続きをこちらから行います→(スタンダード)。
注意して欲しい事は独自ドメインは後から申し込みします。
?申し込み時にさくらドメイン(アドレス:任意アドレス.sakura.ne.jp)を申し込みを行います。
※契約はスタンダードにする事、もしくはそれ以上!!。
?契約後、さくらから自動メールが届きますので保管してください。
?コントロールパネルに任意のさくらアドレス(ID)とパスワードでログインしてください。
https://secure.sakura.ad.jp/rscontrol/
?コントロールパネルから新規ドメインの契約を結びます。
ここで注意して欲しいのが契約時の選択項目で会員ID・現在さくらを利用中を選ぶことです。

?コントロールパネルから次のサイトの手順に従って作業してください。
お疲れ様です。(´Д`)
これで独自ドメインの取得及び使用ができるようになりました。
?
次にブログサイトの構築手順に進みます。
まず、コントロールパネルを開いてください。開いたらデータベースの新規作成ボタンをクリックして次のサイトの手順に従ってデータベース作成してください。ここで注意して欲しいのがデータベースの文字コードの設定をUTF-8に設定することです。また、パスワードは安易に推測されないような16文字以上のパスワードが良い感じです(ハッキングされないためにも)。
※パスワードはメモしてください。φ(..)メモメモ。
次にコントロールパネルからクイックインストール、ブログとクリックしていきます。次のサイトの手順を参考にしてください(※WordPressの手順STEP3の?から:中盤に記載)。
ここで注意して欲しいのがインストール先です。例えば、手順ではwpというフォルダにWordPressがインストールされます。※なお、ディレクトリ名の名前設定には注意が必要
なぜ、注意が必要か上記の方法でWordPressをインストールすると
ブログアドレスはhttp://オリジナルアドレス.com/wqとなってしまうからです。
?
http://オリジナルアドレス.com/にブログを表示したい場合は
FTPソフトを使用して手動でWordPressのインストールを行わないといけません(今回は省きます:手順はこちらから)。
現在状態ではオリジナルアドレスをブラウザに入力してもIndex of/という文字が表示されている状態になっていると思います。何故か、サイトを表示できる要素が無いからです。
表示させるファイルを作成しないといけません。
なのでファイル作成を行います。まずここで勉強をしてください。
マスター後、htmlファイルなどをFTPソフトを使用してアップロードを行います。FileZillaクライントというFTPソフトがオススメです(DLはこちらから、使用方法はこちらを参照)。
※ちなみにHTML作成時などにはエディタというものを使用します。
メモ帳でも作成できますが文字コードがシフトJISになってしまいますので少々問題があります。UTF-8という文字コードでサイト作成を行うのが現在の主流です(一昔前はシフトJISでしたけどね)。
エディタのオススメはテキストエディタ++です。他にもさくらエディタ秀丸エディタterapadが有名ドコロです。
((※ここではテキストエディタ++の文字コードの設定方法を記載しときます。インストール後、ファイル>新規作成と選択後にメニューバーのエンコードのUTF-8(BOMなし)で開くをクリックしてからソースコード(プログラム)を記載してください。尚、メニューバーの言語でH>HTMLと選択を行うと入力補完機能が使用できて便利です。))
ちなみにさくらレンタルサーバーのアップロード先
サーバー上の/home/ID名/www/のオリジナルアドレス.com(任意)/
という階層にアップロードする必要があります。
尚、wwwの直下にアップロードすると初期に取得した任意ID.sakura.ne.jpのアドレスに反映されます。
———-
サイトデザインなんて出来ないという方にテンプレートというものがあります。
ある程度、デザインされたファイルを配布しているのでまずは、そういうファイルを加工後、アップロードして
みるのも良いかも。テンプレート配布サイトはこちらから。
その他テンプレート配布サイト*1,*2,*3,*4
以上で初心者でもオリジナルアドレスでサイトやブログを持つ方法になります。
※注意点、ファイルやディレクトリを安易に消してしまうとサイトが表示されなくなったり機能しなくなったりしますので注意が必要です(アップロードも同様)。

タグ

2, fc, FTP, html, WordPress, アップ, アドレス, アメーバ, いろいろ, おすすめ, オリジナル, こちら, サーバー, サービス, サイト, ソフト, ディレクトリ, ドメイン, はてな, ブログ, ライブドアブログ, レンタル, ロー, , 上記, , 会社, 作成, 使用, 列挙, 初心者, 別途, 取得, 基礎, 場合, , 必要, 感じ, 手ごろ, 技術, 操作, 料金, 方法, , 有料, 機能, 殆ど, 発生, 知識, 紹介, 自分, 難易,

cronの設定数に制限があるさくらサーバーとかで制限以上に使う方法(´Д`)

2015.01.12

Logging

cronの設定数に制限があるさくらサーバーとかで制限数以上(cron設定を増やす方法
)に使う方法はないかなと考えた結果、自分はこうしました。
一つのPHPファイル(実行ファイル)から複数のファイルをキックすることに!(´Д`)
こうすれば、処理が遅くないファイルなら複数個でも実行できるのではないかと
思ったわけです。結果的に成功しているぽっいです。
※Shellで作れる人は作れるだろうけど自分には無理(´∀`*)ポッいのでPHPで制作しました。
ちなみにさくらレンタルサーバーの場合、php.iniにタイムゾーン設定を
加えてあげてください(date.timezone = Asia/Tokyo ←追加)。
そうしないと動かない恐れがあります。
作っていて思ったことですが、作る考え方はわかるものの、元々メソッドを覚えていない
人間なのでググってメソッド探しにまずヘタりました( ´Д`)=3。その後、完璧なハズとか
思ってソースを実行させるとエラーは出ないものの。思った通りうごかないという事象に
苦しめられること2時間、何でだろうとか思っていて検証してみた結果、メソッドの使い方が
間違っていたり、変数名が間違っていたりとなんとも言えない無情さに襲われましたが
何とか動作するようになったみたいなのでコードをうっぷします。
ソースコードを記載しときます。動作するとは
思いますが誤作動するかもしれないので保証はしません。なお、いつもながら
ソースにはコメントを記載しておりませんのでトレースしてください。
PHPファイルのDLはこちらから( ´Д`)=3?(最終更新日2015/01/12 11:07)
追記2
改良しました。{*改良版はこちら*}
※このPHPファイルを5分置きにキックしていますΣ(゚∀´(┗┐ヽ(・∀・ )ノ。

<?php
//5分刻みに対して有効な無限クローン 処理が負荷の場合どうなるかは知りません。
date_default_timezone_set('Asia/Tokyo');
class cron{

    public function d_m($obj)
    {
            if($obj->m==="*")return true;
            if(preg_match("/,/",$obj->m))return $this->comma($obj->m,date("m"));
            if((int)$obj->m === (int)date("m"))return true;

            return false;
    }

    public function d_d($obj)
    {
            if($obj->d==="*")return true;
            if(preg_match("/,/",$obj->d))return $this->comma($obj->d,date("d"));
            if((int)$obj->d === (int)date("d"))return true;

            return false;
    }

    public function d_H($obj)
    {
            if(preg_match("/\*\/[0-9]{1,2}/",$obj->H)){
                $H = explode("/",$obj->H);
                if((int)$H[1]>0 && ((int)date("H") % (int)$H[1])===0)return true;
            }else{
                if($obj->H==="*")return true;
                if(preg_match("/,/",$obj->H))return $this->comma($obj->H,date("H"));
                if((int)$obj->H === (int)date("H"))return true;

            }
            return false;
    }

    public function d_i($obj)
    {
            if(preg_match("/\*\/[0-9]{1,2}/",$obj->i)){
                $i = explode("/",$obj->i);
                if((int)$i[1]>0 && ((int)date("i") % (int)$i[1])===0)return true;
            }else{
                if($obj->i==="*")return true;
                if(preg_match("/,/",$obj->i))return $this->comma($obj->i,date("i"));
                if((int)$obj->i === (int)date("i"))return true;

            }
            return false;
    }

    //曜日 0=日曜日 6=土曜日
    public function d_w($obj)
    {
            if((int)$obj->w[date("w")]===1)return true;
            return false;
    }

    public  function comma($c="",$t=""){
        if($c==="")return false;
        if($t==="")return false;
        $flg = false;
        foreach(explode(",",$c) as $cc){
            if((int)$cc===(int)$t)$flg = true;
        }
        return $flg;
    }


    public function d_command($obj){
        if($obj->command){
            exec($obj->command . " > /dev/null &");
        }
        return true;
    }

}
if ($argv[1]) {
   $filename = $argv[1];
    if(is_file($filename)){
        $jsn = json_decode(file_get_contents($filename));
        $cron = new cron();
        try {
            foreach($jsn as $obj){
                if($cron->d_m($obj)){
                    if($cron->d_d($obj)){
                        if($cron->d_H($obj)){
                            if($cron->d_i($obj)){
                                if($cron->d_w($obj)){
                                    $cron->d_command($obj);//波動拳{{{{
                                }
                            }
                        }
                    }
                }
            }
        } catch (\Throwable $th) {
            print $th->getMessage();
        }
    }
}

タグ

, Asia, cron, date, ini, php, shell, timezone, Tokyo, いの, キック, こと, サーバー, さくら, ゾーン, タイム, パス, ファイル, ヘタ, ボツ, メソッド, レンタル, わけ, 一つ, , 人間, 処理, 制作, 制限, 場合, 完璧, 実行, , 成功, 方法, 無理, 結果, 考え方, 自分, 複数, 複数個, 設定, 追加,

7日間で人生を変える旅を読んでみて(`・ω・´)

2014.09.02

Logging

7日間で人生を変える旅を読んでみて、自分も旅に行きたいという気持ちになること間違いなし?。安価で海外旅行を楽しめる方法を簡潔に書いている本です。読んでいるとそれだけで旅に行った気分にもさせてくれる本でもあります。ただ、安価な旅プランなので道中のトラブルに関して対応できる英会話力がそれなりに必要になります。

「7日間で人生を変える旅」の本、一冊とあとは自分で詳細な旅プランを計画する事で、かんたんに、いろいろな海外の観光地を旅することがができる本になっています。
ちなみに、この本が出版されてから数年経過していますので、LCC(格安航空会社)などを使用すればもっと安価な旅行ができるはずです。

タグ

7, LCC, あと, いろいろ, かんたん, こと, それだけ, トラブル, パス, プラン, , , 人生, 会話力, 使用, 出版, 安価, 対応, 必要, , 方法, , 旅行, , 格安, 気分, 気持ち, 海外, 海外旅行, 簡潔, 経過, 自分, 航空, , 観光地, 計画, 詳細, 道中,

NO LIMIT[ノーリミット]栗城史多さんの場合:自分を超える方法。

2014.08.22

Logging

依然、登山家、栗城史多さんが書かれたノーリミットと言う本を読みました。その後、アルプス?の登山時に凍傷で指を切断しないといけないという事になりました。しかし彼、栗城史多さんは切断しないという選択枠を模索していろいろと試した方です。結局、指を切断するという事に至ったのですが、その模索する過程で、もがき苦しみ、いろいろと学んだことがあると思います。自分が思うに指が無くなってからの方が、何だか真の登山家に見えてしまうのは自分だけなのかな?今は指を失った彼ですが、再生医療によりこの指が再生できるようになるのは、本当にあともう少しの話だと思います。ちなみに紛失した指や手を再生する技術は出来ています。あとは国の認可が降りるのを待つだけなのです{細胞外マトリックス:まとめ参照}。

タグ

LIMIT, no, あと, アルプス, いろいろ, こと, ノーリミット, まとめ, マトリックス, , , 再生, 凍傷, 切断, 医療, 参照, 史多, , 場合, , , , 技術, , , 方法, , 本当, 栗城, 模索, 登山, 登山家, , 紛失, 細胞, 自分, , 認可, 過程, 選択枠,