銀の弾丸は存在しない


るんるるんるる~ん!
今日はお休みの日だけど、仕事ができるぞ~!
しかも、みんな休みだから集中できるぜ、最高!

ということで、休日出勤しております。
とは言っても通常の仕事は平日にするので、
今日は勉強中心の1日にしたい。

何をするかというと、正規表現を
ひたすらやる予定です。

さあ、あなたも一緒にやってみよう笑

その前に、基本の構文のカスタマイズについて。
例えばループ文というのがあって、
定型的で単純な作業を自動化できます。

例えばメルカリではポイントを付与するのに
月末にポイントを精算して一斉に
プッシュ通知を送るという処理があります。

そういう時に、裏ではこういうループ文を書いてます。

for( $i = 0 ; $i < 10 ; $i++ ) {
echo $i . ‘ ‘;
sleep(1);
}

これは0から9までの数字を1秒毎に
表示するっていう計算式なんだけど、
この処理の中身にポイント精算とか
入れて走ってるんでしょうね。

この処理をそのまま走らせると、
10秒間、真っ白なまんま
ぐるぐる回って、最後に文字が表示されるはず。

これをバッチ処理と言います。

ただ、100万回とかループをまわすと、
必ずどっかで引っかかって落ちることが多いらしい。
それをバッチがコケると言います。

で、コケた時にどこでコケたのかが分からないと
再起動した時にまた最初から処理を
繰り返すことになり、ムダな時間が増えます。

そこで役立つのがob_flushというヤツで、
これを間に挟むと、処理の途中を表示できます。
www.php.net…

なんかのソフトをインストールする時に、
何%とか表示してくれるアレ的なやつ。

お!これいいじゃんと思ってここでみんなに
実際に動作を見せてあげようと思ったら
レンサバだと結果しか表示されませんでした・・。

やっぱVPSですねえ。何回か以前にやったけど、
ドメインとか取ってないので公開用ではないし、
トコトン触って遊んでみるしかないみたい。

えーと、そんなことしなくても、
処理の更新件数をログで吐いておけばいいのか。
もしくはレコードの追加件数をカウントしとくか。

あ。寄り道した。今はもっと手前の段階だから、
とにかくコケてから考えればいいや。

ということで、色々な解決策を
あーでもないこーでもないと考えるのでした。

私のはバッチ処理のイロハを知ってる人から見ると
何やってんだよと言われそうなレベルだけど、
彼らも最初は苦労して学んだはず。

こういう解決策を、ひたすら考えたり調べたりするのに
大半の時間を割いてるんだってことを最近知りました。

記事書くみたいに、ブラインドタッチ
してるワケじゃないのね(゜Σ゜)

プログラマ的に言えば「銀の弾丸」
d.hatena.ne.jp/keyword/%B6%E4%A4%CE%C3%C6%B4%DD…

イチロー的に言えば
「遠回りしないと本当の自分に出会えない」

ってことだよね。

しかしプログラミングの用語っていちいちカッコいい。
オタクが作ったと思えないぐらい詩的な名言が多いっす。

あ。また脱線した。
正規表現のことはまた次の機会に。

さーて、仕事で遊ぼう!


The following two tabs change content below.
エグゼクティブクラブ代表の吉田です。 エグゼクティブクラブは9年に及ぶ実績を元に多数の成功者を輩出し、 14,000件以上に及ぶメール相談実績、2,700有余名以上の歴代会員サポート実績、 マニュアル・コンテンツ総数3300ページ以上、10名以上の講師陣によるサポート体制、 業界最大級の海外販売・個人輸出の会として、 あなたに的確なアドバイスをさせていただきます。

コメントを残す

メールアドレスが公開されることはありません。