IT技術を詳しく解説し、IT業界の本音を探る。

クイズ答え合わせと、「論より証拠」が技術者の第一義

»

サーチマン佐藤です。
こんにちは。

私は、「頑張ります」という言葉を、
あまり信じていない。
(誤解されそうだなあ、笑)

もちろん、
ふつーに「頑張ります」と言われれば、
「お~、頑張ってください」と激励する。

そんな挨拶なら、OKだ。


しかし、以前、知人女性が、
ダメ男に恋してしまって、

「彼、今度こそ頑張るって言うから、
もう一度、信じてみようと思うの」
と言った時、私は言ってしまった。

「なんか証拠あるの?」と。


「頑張ります」なんて、
口ではいくらでも言えるし、
何か証拠となる行動があってこそ、
信じられると思うのだが・・・・

案の定、私は、その知人女性に、
「冷酷人間」の烙印を押され(苦笑)、

連絡も、途絶えた(涙)。

ガーン!
(身も蓋もなかったか!?汗)


すみません、相変わらず、
女心をわかってないサーチマンですが、
・・・・続きは、
この記事下段の追伸で。


さて、先日クイズを出しましたね。
今日は、その答え合わせです。

こちらも、「論より証拠」かな?(笑)


まずは、クイズの復習。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【クイズ】訪問カウンターはどうなる?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ここに単純な
訪問カウンター(プログラム)があります。

webサーバ1台で動く、
PHP20行程度の、簡単なものです。

この(PHP20行程度の)プログラムを、
ロードバランサ―配下の、
「WebServer1」と「WebServer2」に、
移植すると、カウンターは正常に動きますか?

ただし、移植にあたっては、
PHP20行程度のプログラムには、
何も手を加えません。
そのまんまのプログラムです。

※イメージは、こんな感じです

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

まずは、これに対する、
投票結果をみていきましょう。

以下の通りとなりました。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【クイズの回答結果】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
・正常に動く
84票22.6%

・正常に動かない
117票(31.5%)

・ブラウザの設定によっては正常に動く
36票(9.7%)

・プログラムの書き方によっては正常に動く
59票(15.9%)

・質問の意味はわかるけど、答がわからない
34票(9.2%)

・そもそも質問の意味がわからない
32票(8.6%)

・そのほか
9票(2.4%)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

まあ、後に述べる理由で、
100%正解かと言われると、100%でないのですが、

まず、大雑把な正解としては、
「正常に動かない」ですよ。

何故なら、

今回、サンプルとしてPHPで書きましたが、
例え、PHPを知らなくても、
「カウンターの数値をどこで持つのか?」が、
肝(きも)なわけで、

それを、端的に指摘してくれた読者がいます。


【読者から】
------------------------------------------------
もしカウンターの数値を意図通り表示したいなら、
それぞれのサーバ同士で、
カウンターの数値の情報をやり取りする必要がある。

それがないので、無理!
------------------------------------------------

そうですね。
正統派の考え方です。


まあ、疑っている読者も多いと思いますので、
「論より証拠」で、みてみましょう。


まず、イメージです。

では、ロードバランサ―に対して、
クリックしてみましょう。
http://13.230.126.0/index1.php

「Visits」が5回くらいになったら、
「Clear」して、また「Reload」してみてください。

おかしな動きするでしょ。

「正常に動かない」のです。


ちなみに、
「WebServer1」
http://52.193.228.146/index1.php

「WebServer2」
http://54.178.54.81/index1.php

両方とも、単独なら、うまく動きます。

もちろん、言っておきますが、
「WebServer1」も「WebServer2」も、
index1.phpのソースは、全く同じで、
20行程度のPHPです。


そう。

このように、
ロードバランサ―をかますと、
訪問カウンターに限らず、
ログイン情報なり、ショッピングカートなり、

データを保持するようなプログラムは、
要注意なのです。
(もちろん対処方法は、色々ありますよ)


でもね、ここで、アナタ、
文句あるでしょ(笑)!!


「そりゃ、お前のプログラムの書き方が悪いだけ」


今回のアンケートでも、
「〇〇すれば、正常に動かせる」
という回答も多かったのですが、

よかったら、その「正常に動く」ソース、
作って送ってもらえないですかね?

たかが、PHP20行程度のプログラムです。
すぐに書けると思うし、

「論より証拠」ですよ。

私のところに環境もありますし、
ロードバランサ―配下に置いて、
「正常に動く」か検証してみましょうよ。

そんな「正常に動く」ソース送ってくれたら、
謝礼出しちゃうかも(笑)。

だって、私は、
「論より証拠」を体現する人が、
好きなのでね。


さて、それを踏まえて、
実を言うと。。。。。

私も、こうしたら、
「正常に動くのでは?」という
アイディアを持っています。

もちろん、PHP20行程度です。

ただし、そのアイディアは、
実際のシステム開発においては、
「絶対にやってはいけない」方法です。

たぶん、先輩から、
「お前、それはダメだ」
って言われる方法だし、
Webシステムの非常識です。


だから、まあ、
今回の正解とはしませんが、

実際のところ、たぶん、
「プログラムの書き方によっては正常に動く」
と思います。

もちろん、PHP20行程度でね。
(何回も言わないと、勘違いする人が多数)


では、次回、
私も実際にソース作って配置して、
どうなるのか?検証してみましょう。

なんせ、このへんは、
Webシステムの肝(きも)なんでね。

しっかり理解していきましょう。

ではでは。
またお会いしましょう。

ありがとうございました。

●追伸
最近、その知人女性と話す機会があり、
「どうなった?」と聞いたら、

「別れました。私、洗脳されてました」と、
言ってましたよ(苦笑)

やっぱり、「論より証拠」じゃね。


●追伸2
ロードバランサ、Webサーバ2台、DB2台
を自分で作っていく講習を準備中です。

AWS使うなら、
このようなシステム構築が一般的です。

以前というか、今でも、
このシステム、自前で作ったら、
大変なことになるのですが(苦笑)、
時代は変わりました。

今は、それが簡単にできる。
それを体験する。

近々、ご案内できると思います。

お楽しみに。


●追伸3
上記で、「謝礼出しちゃうかも」
と言いましたが、
いや、出しましょう。

「正常に動く」ソース、
PHP20行程度、
是非、送ってくださいね。

ただし、100人も送ってこられると、
私も見たり試したり、大変なので、
先着5人くらいでお願いします。

送る際は、先着5人に入るか?
私にメールで確認してくださいね。

メールアドレス

sato●searchman.info

(●は@にして)

●最後に
今回の記事、いかがでしたか。
一つクリックしてくださいね。

すごく面白かった

面白かった

ふつう

イマイチ

つまらなかった

●ここでは言えない、さらに詳細な、すぐに知りたい

サーチマンの濃~いメルマガを読みたい場合は、
こちらから登録ください(無料)。

Comment(0)

コメント

コメントを投稿する