Webサービス「ロト予想.com」のTOPページを変更
は午前中にちょっと隙間時間が出来まして
「本業の仕事をするほどの時間は無いから、前に作りかけたWebサービスの手直しでもするか!」
と思い立ったが吉日という訳で、作ったまま放置していたWebサービス「ロト予想.com」をちょっと手直しする事に(^-^)v
このWebサービスのTOPページが雑に作ってそのままだったので気になっていたんですよね~。
以前のTOPページはこんな殺伐としたもの・・・(-_-;
各Webサービスのページへのリンクを貼ってあるだけで、システムの説明とかも一切なし!!!
「アカン、あかんですよ!!!」
という訳でチャチャチャッと♪
リニューアル後のTOPページはこんな感じ!
1ページにロト7、ロト6、ミニロトの最新の当選数字と当選結果を載せた上で、各リンクを付けておくようにしました!
自分でもロト6を毎週購入する様になって分かったのですが、当選結果ってきになるんですよね、まぁ当然ですが(^-^;
なので
「TOPページで全てのロト宝くじの当選数字と当選結果が見られたら、需要があるかな~♪」
と思いまして。
もしよろしければ、TOPページをブックマークなどして頂いて普段来るページとしてもらえると嬉しいです♪
小バグ修正&ロト7の販売額が型の最大値を超えた!?
他にも見てみたら、ミニロトの当選結果がおかしくなっていて、DBのデータを直したり。
他にはロト7の販売実績額とキャリーオーバーの金額が一緒の数値になっていて
「なんじゃこりゃ(?_?)」
となってチェックしたら、第306回 2019年03月01日のキャリーオーバー金額が「3,531,756,965円」とかになっていました。
桁が多きすぎてよく分からない感じですが、これって
35億円
となっています(^o^;
「これはもしやint型のMAX値を超えてるんじゃ・・・」
と思い立ってチェックしたら金額がどちらも「2147483647」の数値になっていました。
MySQLのint型のサイズを調べてみると・・・
intのサイズは4バイトで-2147483647〜2147483647までしか指定出来ません。
サイズは以下のサイトが覚えやすい。インドと中国の人口(25億人)が登録するとサービスが落ちますw
ちなみにこれ以上のサイズの数値を指定したい場合は、bigint型を使います。
UnixTimestampは11桁以上になるので、bigint型なら保存できます。
これですね!
金額が「2147483647円」となっていましたが、まさにintの最大値「2147483647」に丸められて格納されていました(^-^;
要はロト7の販売額やキャリーオーバー額が21.5億円とかを超えてしまう時は、int最大値までに統一されてしまって正しく表示されないという(^o^;
Webサービス作った頃は、こんなにもロト7が売れてなかったり、キャリーオーバーが発生していなかったので気付きませんでした。
対策も先程の引用先に載っていたとおりで、int型をやめてbigint型にすれば良いとのこと。
DBのTABLEを作り直してデータを修正し、インポートし直せば・・・
21.5億円を超えた、26.8億円や22.4億円も正しく表示されました!!!
これにてバグ修正終わり!
2019年9月14日修正 「ロト7当選番号チェックの7個目数字が登録されないバグ」
サブタイトルどおりなのですが「ロト7当選番号チェックの7個目の数字が登録されないバグ」を自分で使っていて見つけまして修正しました。
何故か7個目の数字に6個目の変数を割り当てている箇所があって、その書き間違えのせいで正しく動いていませんでした。
本日修正してリリース済みです。
どうして気付いたのかと言うと、今日現在ロト7が2回連続でキャリーオーバー中だから!
一枚だけ買ってロト7のキャリーオーバー狙いで参戦しようかとおもいまして、現在の頻出数字とラッキー数字の組み合わせで買おうと思いまして、当選番号チェックに7個の数字を登録しようと思ったらうまく出来なくて「どうして?」となりまして(・_・;
それで気付いた次第です。
皆さんも来週木曜までにロト7を買うとキャリーオーバーで最大10億円が当たるチャンスがありますよ(((o(*゚▽゚*)o)))♡
狙い目です(^_^)v