るんるるんるる~ん!
今日はお休みの日だけど、仕事ができるぞ~!
しかも、みんな休みだから集中できるぜ、最高!
ということで、休日出勤しております。
とは言っても通常の仕事は平日にするので、
今日は勉強中心の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…
イチロー的に言えば
「遠回りしないと本当の自分に出会えない」
ってことだよね。
しかしプログラミングの用語っていちいちカッコいい。
オタクが作ったと思えないぐらい詩的な名言が多いっす。
あ。また脱線した。
正規表現のことはまた次の機会に。
さーて、仕事で遊ぼう!

最新記事 by 吉田ゆうすけ (全て見る)
- 【本日で更新停止】さようなら - 2020年1月31日
- 【残り1日】明日で更新停止します - 2020年1月30日
- これから儲かる商品20選は本日削除 - 2020年1月28日