「プログラム」カテゴリーアーカイブ

プログラムをおよびプログラムを走らせるためのサーバ設定情報をまとめたカテゴリです。

Value Server.com Control Panel上でcron(クーロン)を実行させるには?


普段はさくらインターネットを使っているのですがたまには違うサーバも使ってみようと思ってValue Serverをレンタルしてみました。

Value Serverでcron設定するのは、少しやり辛いです。

さくらインターネットでのcronタブよりわかり辛いのと、 Value-Server.com Control PanelのUIが分かり辛い為です。

 

Value ServerでCron設定する手順

1.Value-Server.com Control Panelにログインする。

2.左メニュー > お役立ちツールをクリックする。

3.プルダウン表示されるのでその中から

CRONジョブの設定・編集をクリックする。

vs-1

 

 

4.CRONジョブの設定・編集画面が表示されるのでその中に記述します。

毎時、毎日、を設定する場合には「*」を指定します。

以下の例では毎時 30分に cronが走る様に設定しています。

 

value-server-1

 

コマンドの指定は、以下の様にします。 赤文字部分を自分で記述する必要があります。public_htmlを記述してからシェル名を入力しないと動かないので注意してください。value serverの説明はざっくりしていて分かり辛いです。

/virtual/{user_name}/public_html/hogehoge.sh >/dev/null 2>&1

後ろに

>/dev/null 2>&1  を付ける事によりcron実行時の結果・エラーメールを破棄出来ます。届かない様に設定が出来ます。サーバ容量を消費してしまうので必ず設定しておきましょう。

5.シェル・スクリプトの実行権限を 755にします。

さくらインターネットでは特に手動で設定する必要がありませんでしたが、Value Serverは面倒な事に手動で実行権限を与えてやる必要があります。

WinSCPにログイン > 対象ファイルの上で右クリック > プロパティ(P)

vs-3

 

 

パーミッション(権限)を 0755   に設定します。

vs-4

 

 

hogehoge.shの中身

UTF-8で改行コードは、さくらエディタを使ってLFに統一をさせます。

#!/bin/sh

#PHP
/usr/local/bin/php /virtual/{user_name}/hoge-cron.php

exit

 

この手順を行えば、value server上でcronが正常に動作する様になります。


ロリポップのコロリプランでcron(クーロン)を実行するには?


ロリポップのコロリプランでcron(クーロン)を設定しました。

その時の例です。さくらインターネットとはcronの指定方法が若干違います。

 

cronの設定の仕方

 

1.管理画面にログインする。

2.WEBツールにフォーカスを当てる。

3.cron設定をクリックする。

loli

 

 

4.cronの設置を行う。

1) cronの設定名にクーロンの名前を付ける。

2) 実行したいタイミングをプルダウンより選択する。

3)  cron(クーロン)で実行したいスクリプトを指定する。

hoge.php を実行したい場合には、 hoge.phpのみ指定する。

loli-2

 

 

 

さくらインターネットよりもロリポップの方がクーロンの指定は簡単です。

ついでにさくらインターネットでのcronを指定する場合のコマンドは以下の通りです。

cd /home/{user_name}/www/{made_directory}; /usr/local/bin/php hogehoge.php 1> /dev/null

 


よく使う正規表現のまとめ


よく使う正規表現を纏めました。

 

VB.net/C#/PHP/Perl ・・・etc 言語関係無く使われます。全てを覚える事は難しいので必要に応じてマトリクスを活用してください。

○文字系

記号 意味
. 任意の1文字
* 直前の文字の0回以上の繰り返し*1
+ 直前の文字の1回以上の繰り返し*1
? 直前の文字は省略可能*1
*? 直前の文字の0回以上の繰り返し*2
+? 直前の文字の1回以上の繰り返し*2
?? 直前の文字は省略可能*2
[ ~ ] [ ]の中のどれか1文字*5
[^ ~ ] [ ]の中に無い1文字*5
( ~ | … ) ~か…かどっちか
{n} 直前の文字のn回の繰り返し
{min,max} 直前の文字のmin以上max以下の繰り返し(min、maxは省略可能)*1
{min,max}? 直前の文字のmin以上max以下の繰り返し(min、maxは省略可能)*2
\w アルファベット、数字、アンダスコア( _ )のどれかの1文字
\W アルファベット、数字、アンダスコア以外の1文字
\d 数字1文字
\D 数字以外の1文字
\s 半角スペース、タブ、改行のどれか1文字
\S 半角スペース、タブ、改行以外の1文字
\n 改行
\t タブ
\\ \記号
( ~ ) ( )内を1文字扱い

○位置系*3

記号 意味
^ 行の先頭
$ 行の末尾
\< 単語の先頭
\> 単語の末尾
\b 単語の先頭か末尾
\B 単語の先頭、末尾以外
\A ファイルの先頭
\z ファイルの末尾
\G 直前の一致文字列の末尾

○置換文字列で使える正規表現

記号 意味
\0 一致した文字列全体
\1 \2 … \9 それぞれ検索文字列の1~9番目の ( ) に一致した文字列*4
\l 次の1文字を小文字にする
\L ~ \E 挟まれた文字列を小文字にする
\u 次の1文字を大文字にする
\U ~ \E 挟まれた文字列を大文字にする
\n 改行
\t タブ
\\ \記号

*1 最長一致と呼ばれ、条件に合う一番長い部分に一致します。
*2 最短一致と呼ばれ、条件に合う一番短い部分に一致します。
*3 「位置系」の記号は「特定の文字列」ではなく「特定の位置」に一致します。
*4 ( ) の順番は ( が現れる順番です。
*5 [ ] 内で正規表現は使えません


TeraTermから直接PHPスクリプトを実行するには?


通常PHPスクリプトはブラウザから

http://***/test.php

とアクセスする事により実行しますが、バッチ処理等でPHPスクリプトをコマンドラインからサクッと実行したい事があります。

その場合には、

TeraTermを起動し

php  {対象スクリプト}

php execute_hoge.php

と入力しEnterを押せば完了します。

実に簡単です。


さくらインターネットでPHPエラー発生時にエラーメッセージが表示される様にするには?


さくらインターネットを契約しwww配下にtest.phpを配置しました。

間違えたコードを記述したので本来はエラーが出る筈なのに出ません。なぜでないのかなと調べていたところphp.inidisplay_errors = Onを記述する事によりエラーメッセージが無事出る様になりました。

サクラインターネットのサーバコントロール画面より直接php.iniを編集する事が出来ます。

php_error


jQueryエラー:js/jquery.min.map 404 (Not Found)


読み込んだ覚えも無いのにcromeでデバッグすると次のエラーメッセージが表示されていました。原因を調べていて解決したのでメモっておきます。

js/jquery.min.map 404 (Not Found) 

 

1つ目の対策

こんなソースを読み込んだ覚えも無かったので調べていたところ

/assets/js/jquery.jsの中に以下のコードを見つけました。

/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/

原因はこれなので削除します。

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
*/

こうする事によりJavaScriptのエラーは消えます。

jQueryに手を入れる必要があるのに少し抵抗がある人は2つ目の対策を試してみてください。

 

2つ目の対策

jquery.jsの変更をしたくない場合には、jquery.min.mapをjquery.jsと同じフォルダに置いてあげるとOKです。

 

 


【Visual Studio 2010】変数の値をピン留め機能を使って確認するには?


Visual Studio2010にはピン留め機能という便利な機能があります。

この機能を使えば、変数の値をソースコードの中で確認したり(Quick Watchを使う必要がありません。)

変数にコメントを付ける事が出来ます。

クイックウォッチ(QuickWatch)とは違って変数にコメントを付けられるのにはアドバンテージがあります。

ピン留め機能の使い方

変数を選択 > Pint To Source

ソースコード内に小さい変数が表示されたダイアログが現れます。

右側の赤囲みをクリックすれば下段にTextBoxが表示されるのでその中にコメントを入れる事が出来ます。

また、このピン留めした変数は自由に配置場所を移動させることが出来て便利です。

PinToSource

 


Drupalを使っていて途中から「アクセスが拒否されました。」というエラーメッセージが出る場合の対象方法


Drupalで構築したコンテンツは、突如として掲載済のコンテンツにも関わらず、アクセスが出来なくなってしまう場合があります。

原因は不明です。まぁー、バグでしょうけど。

その場合には、以下手順を行う事により解決します。

管理者権限でログイン > 管理セクション > コンテンツの管理 >  投稿の設定 >

drupal-2

 

投稿の設定の中には以下メッセージが表示されています。

drupal

ノードアクセスの状態

サイトがコンテンツへのアクセス権で問題を抱えている場合、アクセス権のキャッシュを再構築する必要があるかもしれません。 アクセス権の問題で考えられる原因は、無効化されているモジュールや、アクセス権の設定変更です。 再構築すると投稿に対するすべての特権が取り除かれ、それらを現在のモジュールと設定に基づくアクセス権に置き換えます。

多くのコンテンツや複雑な権限設定がある場合、再構築には多少時間がかかります。 再構築の完了後、投稿は自動的に新しいアクセス権を使用します。

メッセージの下にあるアクセス権の再構築をクリックするとDrupalにログインしていない一般ユーザでも閲覧が可能となります。


正規表現の纏め


 

以下正規表現についての解説ページを自分用に要点だけを抜粋して書き直したページです。

サルにもわかる正規表現入門

http://www.mnet.ne.jp/~nakama/

 

正規表現で使用する特殊文字※メタ文字

.   ^   $   [   ]   *   +   ?   |   (   )

正規表現でメタ文字を単なる文字として検索したい場合には\(円マーク)を頭に付けます。

\. \^ \$ \[ \] \* \+ \? \| \( \)

メタ文字の意味の解説

1).
半角の.(ドット)は何がしかの1文字を表わしています。

正規表現 : あなたは.です。

該当する文字列 :

あなたはです。

あなたはです。

といった置き換えや検索対象となります。

 

 

2) ^$
^(チルダと読みます。)

先頭にある文字のみを検索したい場合に使います。

$(ダラー)

最後にのみ存在する文字を検索した場合に使います。

 

 


Google Crome を使ってJavaScriptをデバッグするには?


Google Cromeに標準で備わっているJavaScriptデバッガーを使う時の

効率的なショートかっととかのまとめです。

 

一応、Google Cromeの中にある以下のボタンを押す事によりステップオーバー等を行うことも可能ですが、ショートカットコマンドを使った方が効率が良いです。

crome_js

以下にも記していますが、F10のステップオーバーを行う場合には次のアーチ状のアイコンをクリックします。

ステップオーバーするには?

F10を押します。これはVisual Studioと同じデバッグコードです。

crome_f10

 

では、実際によく使うショートカットコマンドを紹介します。

 

ステップオーバーする

F10

ステップインする

F11

JavaScriptのデバッグ実行を有効・無効設定を行う

残念ながらこのショートカットコマンドは、Cromeに用意されていないので以下のアイコンを直接クリックして有効・無効を切り替えます。

crome_stop

 

 

実行中のスコープ内の全変数の値を確認する

Cromeのデバッガを起動すると Scope Variables という部分が表示されるのでそれをクリックします。すると現在デバッグ中のファンクションの中に含まれている全変数の値を確認する事が出来ます。いちいち変数名を選択してAdd Watchなどする必要が無く大変便利な機能です。

crome_scope