こんにちは、ねこです。

自称プログラマのおばちゃんのブログです。いろいろあるよねぇ~。

AS400 / ZEND / PHP / Ajax#3(ZEND for i / ZEND Studio13)

2016-12-30 06:22:02 | IBM i

とうとう今年も終わっちゃいますね。

みなさん、忙しくされてますか?

ねこは、そこそこ。今晩は、うちで道場のパーティがあります。ちっちゃな家に12人ぐらいきちゃいます。ポットラック式にしたので、今年は餃子やくぐらいかな。楽でよし!

 

では、本題です。

今日は、なかなかお目にかかれないであろう、ZENDコンソール画面をAS400とWEBの両方の写真を添付します。このZEND for i というシステムはアラン・セイデンさんというかたが、まったく違う二つのマシーン、AS400とPCを組み合わせたことに大きな意味があります。このお陰で、PHPが走ったり、WebsphearとAS400上で連携させたりということが可能です。まぁ、最近ではIISサーバでもPHP走らせてるところありますが。この規模はそんなもんじゃぁありません!なかなかすごいことです。

こちらZENDウェブコンソール画面

この前ウェブニアのサーバートレーニングを受けたんですが、ここアメリカでもAS400と連携するシステムが増えてきているそうですが、まだまだ情報が足りてないようで、ほとんどの人がこのコンソールコマンドを知りませんでした。

GO AS400上のルート/ZSMENU

そしてこのコマンドをグリーンスクリーン(AS400の画面)のコマンドラインから打ち込むと、次の画面が出てきてとても便利です。

こちらZEND AS400コンソール画面

 
 そして、こちらウェブコンソール画面
 
 
皆様、良いお年をお過ごしください。ねこでした。

剣道2 お勧めの動画

2016-12-29 06:51:50 | 剣道

ねこです。

もう、年の暮れですね。

おそうじおわりましたか?

今年は、剣道の稽古納めできませんでした。子供空手教室へ助っ人に出かけてました。でも、二日に初稽古があるので、楽しみです。来年の目標は「一足一刀の間から打ち込める方法を模索する」、にしようかな。。。

そこで、ねこがいつも見ている動画をご紹介したいと思います。三段に受かったときには毎日見ていた動画です。

nakayuki1952 さまの動画です。

 

一足一刀からの面打ち、動画

https://www.youtube.com/watch?v=EHlfSPLN6cg&list=PLSO7lP9BXRUFtYNTyZNd2THr4miG07ce3&index=1

癒しの剣道 

というのをご推奨されておられます。

この方の的確な指導が三年ほど前からきにいっていて、私のyoutubeリストには必ずあってほぼお昼休みには毎回見ております。もう高校生、大学生ってゆうんじゃないんで、少ない時間、すこしずつでもね、体に教訓が残ってくれればと思ってます。

正直言って、これを見た誰かが強くなったりしたら悔しいなぁ、なんてふところの狭いことを思っているねこでした。

読んでくれて有難うございます。ねこでした。

 


AS400 / ZEND / PHP / Ajax#2(AS400とPHPの連携、コストなし)

2016-12-28 08:04:17 | IBM i

 

全開に引き続き。。。初めてこちらにたどり着いた方、こちらからお読みください。

AS400 / ZEND / PHP / Ajax#1(AS400とPHPの連携、コストなし)

 

気をつけてください、ローカルでZEND for Windows なんかを使う場合にはDB2コネクトありませんから。。。たとえ、あなたのお使いのZEND for i にあったとしても。。。
1.こちら、PDOを使う場合。
try {
if ($server_name == 'localhost') {
$dbh = new PDO('odbc:DRIVER={iSeries Access ODBC Driver};SYSTEM=AS400のドメインネーム/ホストネーム;HOSTNAME=AS400のドメインネーム/ホストネーム;DATABASE=AS400赤丸の中;NAMING=1;', 'サーバーのユーザー名', 'アクセスパスワード', array(
PDO::ATTR_PERSISTENT => true
));
} else {
$dbh = new PDO("ibm:AS400赤丸の中", "サーバーのユーザー名", "アクセスパスワード", array(
PDO::ATTR_PERSISTENT => true
));
}
} catch (Exception $e) {
die("なんで死んでしまったんだ。。。ドメイン名はあってるのか?だめだったら、IPアドレス直でやってみよう。データベースはAS400のSystemネームだぞ?それでもだめだったら、あとはクォーテーションなんか間違ってねーか?: " . $e->getMessage());
}
function funcpushdata($dbh, $sql){
try {
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction();
$sth = $dbh->prepare($sql);
$sth->execute();
$data = $sth->fetchAll(PDO::FETCH_ASSOC);
$dbh->commit();
} catch (Exception $e) {
$dbh->rollBack();
echo "ここの場合はSQLを最初に心配したほうがいいかもです。: " . $e->getMessage();
}
return $data;
}

 

2.で、こっちはiSeries Access ODBC for Windows 付属のODBCアドミニストレーションを使った方法。PDOは使えないらしい。。。間違ってたらごめんなさい。
if ($server_name == 'localhost'){
$server="astest";
$user="サーバーのユーザー名";
$pw="アクセスパスワード";
$connect = odbc_connect($server,$user,$pw);
if ($connect == false) {
echo "Use System i Navigator Defaultをコネクションで選択しているか?セキュリティも全部System iに任せちまえ!.<br>";
}
$result=odbc_exec($connect, $sql) or die("ここの場合はSQLを最初に心配したほうがいいかもです。");
$data = array();
while($myRow = odbc_fetch_array($result)){
$data[] = $myRow;
}
odbc_close($connect);
}else if ($server_name == 'AS400のドメインネーム/ホストネーム'){
$server="*LOCAL";
$user="サーバーのユーザー名";
$pw="アクセスパスワード";
$connect = db2_connect($server,$user,$pw);
if ($connect == false) {
echo "もうこれはね。。。わからん。サーバー名を確認すること。これがプロダクションサーバーで実際にデータベースとのやり取りをするところなんで、大体はローカルをさせば大丈夫だと思うんだが。こればっかりはそのシステムによるでしょう.<br>";
}
$result=db2_exec($connect, $sql) or die("Data error");
$data = array();
while($myRow = db2_fetch_assoc($result)){
$data[] = $myRow;
}
db2_close($connect);
}else{
echo "これはもう電源だな。。。<br>";
}

で、ちょっと心配。。。なんて場合は、こうしても良いかもです。これは、個人の責任でね。ねこは、もっとバッシバシにやりたい派です。時間かかるけどな。
function fnc_Chk($str, $charset = 'UTF-8'){
return htmlspecialchars($str, ENT_QUOTES, $charset);
}
$date1 = fnc_Chk($_GET['Date1']);
$date2 = fnc_Chk($_GET['Date2']);
array_push($aryParm, $date1, $date2);
$and = $and." and datefield between (?) and (?)";
$sql = "select * from antanotable where userid = 'tomato'".$and;

 

RPGプログラマ上がりのねこが必死でつかんだ情報です。「こんなん、もうしってるわっ」ってなかた、すみません。でも初心者の方やこれからPHPとAS400を連携させようとされてる方、ささやかながらでも情報を共有できればとアップしました。少しでも役に立ったと思われた方、こちらのアフィリエイトクリックしてください。バナーブリッジ様のバナーです。ねこは今アフィリエイトにチャレンジしてます。

アフィリエイトというのはアメリカからもできんのかいな。一日目

アフィリエイトというのはアメリカからもできんのかいな。一日目(午後の部)

アフィリエイトというのはアメリカからもできんのかいな。二日目

アフィリエイトというのはアメリカからもできんのかいな。三日目

アフィリエイトというのはアメリカからもできんのかいな。四日目(Googleアドセンス検証とAS400、PHPの話を少し)

アフィリエイトというのはアメリカからもできんのかいな。五日目‐なら、Googleアナリティクスしてみたる。

 

 


AS400 / ZEND / PHP / Ajax#1(AS400とPHPの連携、コストなし)

2016-12-27 06:28:37 | IBM i

ねこです。

2014年に『あかん。。。またカテゴリーが増える。 -> AS400 + Apache + PHP + DOJO ToolKit』なんて記事を書いたんですが、ほったらかしになっているにもかかわらず、結構な数の方が見てくださっていました。びっくりです。。。この記事の後、新しいプロジェクトがきて頓挫しちゃってたんですね。すみません。。。

ではまずAS400 についてですが、ご存知のようにコンピュータ言語からすでに違います。(AS400はebcdic / PCはascii) PCより大型の『ミッドフレーム』もしくは『メインフレーム』といわれるマシーンです。90年代には、多くの官公庁、病院、大企業などが主にデータ管理とその出入力画面にエミュレータという遠隔操作を使用して活用していました。ここアメリカでは、未だに多くの場所で使われています。その理由として挙げられるのは、IBMが「i(アイ)シリーズ」として、全てのプロトコルを一台でやってやろうじゃないか、と2000年ごろに打ち立てた新しい形式にコスト削減を求めたエンジニア達がこぞって推奨したからですね。2000ミレニアム問題もなつかしいなぁ。。。

では、本題に入ります。そういうことで未だ多くの場所でAS400 が使われているのですが、ことコンピュータ言語に関しては不便なことが多発しています。PHPなどは殿堂入りのプログラミング言語にもかかわらず、2010年ごろまでAS400では使えませんでした。ところが、AS400のWEBサーバ化の可能性が進むにつれて、それも不可能ではなくなってきたのです。そしてそれをボックスに詰め込んだのが、『ZEND』。たったらぁ~んっ!

ねこは2014年の記事の段階で、『ZEND』を使わない方法でとおもったんですが、『ZEND』を使うだけなら今のところコストがかかりません。それにとっても簡単です。ねこの職場でも一年ほど無料バージョンを使ってました。だって、PHP使うだけだもん。それにしてもAS400でPHP動いたときは感激やったなぁ!では、何にコストがかかるのか?それは、サポートと、Z-rayといわれる、モニタリングシステムです。普通のログなんかだけじゃなくってちゃんとSQLステート文や、HTTPリクエストなんかもきっちり一緒に見せてくれるんで、プロダクションエラーがとってもわかりやすい!!!Slow Request Excution とか、Slow Qury Executionなんかもみせてくれる。自動的にエラーをメールしてくれたりね。ZEND Studio というIDEをあわせて使うとライブでプロトタイプデバッグができちゃいます。お値段はたしか、プロフェッショナルで年間九千ドル弱、Studioで三百ドル弱ってとこかな?

ただひとつ、ここに問題があります。

それは、開発のローカル(ねこのはWindows)とプロダクションのドライバがことなること。はい。DB2 Connect が必要です。この情報を得るのに、結構な時間がかかった。だって、IBMさんとZENDさんは仲良しだから、お互いに商品売りたいものね。その上、このDB2 Connect、数年前まで、無料やったんとちゃうかな?↓これ、2012年の情報です。でも、まだこのままだと思います。DDB2 Connect、これが意外ににたかぁーい!!!ほとんどの会社がAS400買ったときの付属のSystem i Access にたよってるんじゃぁないでしょうか!?ねこんとこもそうでした。。。あれはつらい戦いだったなぁ。。。でぇ!ここでこちら「ポッチ」と押してください。ねこはいま、アフィリエイトに挑戦しています。そりゃ、お金入ればうれしいに決まってます。でもね、結構ちまたで出回ってる「私はアフィリエイトで大金稼ぎました!」とか、「アフィリエイト、主婦でも簡単、お小遣いかせぎ!」なんてのを目にすると、「ちっ。。。」って思っちゃたんです。どれくらいの努力を加えたところで「簡単」とか「働かずに」とか定義できるレベルなのかと。みんな必死なんじゃないのぉ?でも、アフィリエイトの構造自体は大賛成です!!!だって、たったクリックするだけで、結果的に相乗効果で全ての人の利益が上がるってこと。お互いにクリックし合えばいいんですよね。意地悪心抜きでね。アフィリエイト、隔週ぐらいで結果アップしていきます。

おっと、話がそれました。

それでは、DB2が使えないSystem i Accessローカルマシーンから、データベースにコネクトしたい場合には、

iSeries Access ODBC Driver をつかいましょう!!!

そしてもちろん、ZEND for i では、DB2コネクトつかえます。AS400だからね。

次回、実際のドライバコネクションの部分を詳しくお見せします。。。アフィリエイト上がってなかったら、心折れちゃうかもですが。

 

読んでくれてありがとう! ねこでした。

 


剣道1 私なりの攻め 背の高い人と面したとき

2016-12-25 21:07:10 | 剣道

ネコです。

メリクリです。

さぁー今日は剣道について書こうと思います。

「その一、背の高い人と相対したとき。」

みなさん、ネコは剣道三段、ただ今アメリカの大学生、子供たち中心に教えてます。

教えてるといっても大先生はいるんで、ただのサポートなんですがね。

教えることは楽しいです。

特に子供がうまく面を打てた時にみせる、あの「やったったぞ!」というあの強い目!

いいですねえ!

ネコは大した剣道家ではないので、日本の文化を紹介する程度にしか教えることしかできないのですが、ただひとつ、背の高い人と相対したときの攻め方を必死で研究している自負はあります。

なぜなら、アメリカ人みんなでかーい!!!女も男もみんな一緒に練習するから。

 

なので、高段者の先生方、素晴らしい剣士の皆様方にはお耳汚しかもしれせんが、紹介したいと思います。

。。。

。。。

それは、三つ。

 

 

ひとつ、背の高い相手には「二の越の打」で打つべし

*宮本武蔵の『五輪の書』の『水の巻』にあります。魚住孝至先生のNHKテキストにも書かれていますように、「気の早い敵には自分が打つと見せて相手が打ってきたところをかわして打つ」という意味です。

ネコの場合は、遠間から右足だけ入り、それが攻めになるので相手は背の低いネコを打ちたくて仕方がない。でも、ネコからするとまだまだ相手には届かない「間」なので、体重移動はせず、具体的にはまだ体重の70%ぐらいは後ろ足にあって、相手が来るのを待つ状態でいる。そこに相手が入った時を見計らて面を打つ。

 

 

ひとつ、背の高い相手には「小手」を打つべし

*当たり前のようにおもえるけど、これがあまりうまくいかない。なぜなら、「呼び水」が足りないからです。

「呼び水」とはなにか?ネコが勝手にそう呼んでいるんですが、ようは、相手に「こっちは面ねらってんでぇ!」と信じ込ませることです。そのためには何度も腕を上げたり、剣先を上げたりしなければ、相手は信じてくれません。そして、なんとか信じさせたところに相手が「させるかぁ~」と、ガンダム初戦闘の時のアムロのように打ちこんで来た時、素早くその小手をとらえます。なんてったって、相手はねこより背がたかいからね、相手のその体格からなる自信がそうさせてるのさ!

 

 

ひとつ、背の高い相手には美しい「引き胴」をうつべし

*覚えてますか?あの女子剣道チャンピオンの山本真理子選手も最後には『逆引き胴』で延長戦を勝ち抜きました。これは、諸刃の剣です。なにをいってるか、きっとおわかりでしょう。大阪の関目にある警察道場で初めて山本さんにお会いした時、「なんてちっこくてかわいいんだ!」と思うほど小柄な方でした。竹刀もわざわざ39を買って、38.5に切ってもらうそうです。

 

今日はこんなところかな。

日々是精進。

今日は、剣道のこと書いたんで、アフィリエイトは抜きにしときます。なんか、剣道って私にとってとっても尊い感じがするんで、煩悩は控えときます。メリクリです。

 

読んでくれてありがとう。ネコでした。