アカウント名:
パスワード:
って小さいころママから教わらなかったのかい?
DBのカラムは全部VARCHAR(65535)にしてるので無問題です!
「64KBはすべての人にとって未来永劫充分なメモリだ」ですね。(桁が一つ違うけど)
"五千三百弐拾弐壱万二十一円"が数字演算出来ないなんてマイクロソフトのバグだ!とおっしゃったトコの人?
あとタイムスタンプ系だな。ミリ秒以下の単位でカウントアップするヤツは特に。
もっと言うと、小数演算で誤差が許されない場合はfloatでもdoubleでもダメ(丸め誤差や内部表現の誤差がある)。
マイクロソフトのXACT(Windows用)もやらかしてて、1ヶ月くらい連続でアプリが動いているとコールバックが発生しなくなるバグが
497 日もんだいもある
95は49.7日で不正動作してたっけ。その後のWindowsでタイマが10ms刻みになったのって、やっぱり単純に32ビットのまま稼働時間を10倍に伸ばすためだったのか
「大丈夫!この仕事は納品すれば終わりだし、メンテは別会社に投げる予定だから。どうせその頃に対応するのは赤の他人で、俺たちじゃないから。
むしろソニータイマーを入れておいた方が、自分達の飯の種になるってもんさ。」
#2000年問題、なにそれ美味しいの
それはそれでいいけど、今回の問題とは別だな。
int は常に16bitや32bitってわけじゃないぞ。
Cの規格上は8ビットでもいいんですよね。
short 以上っていうのは決まってなかったっけ?
shortもまたchar以上としか決まっていないので。8ビット≦char≦short≦int≦long<long longです。なんと、8ビットより長いであることが仕様から読み取れるのはlong longだけなのです!?ビット長が重要なら悩まずint_16tとかを使いましょう。
なんと、8ビットより長いであることが仕様から読み取れるのはlong longだけなのです!?
いやいや、そんなことはありません。その関係式とは別に、
という関係があります。 http://seclan.dll.jp/c99d/c99d05.htm#dt19990524 [seclan.dll.jp]
ビット長が重要なら悩まずint_16tとかを使いましょう。
int16_tも環境依存(存在するとは限らな
その関係式とは別に、
という関係があります。
おお、そうだったのですね。ありがとうございます。すると心配しないといけないのは、shortが32ビットあるかもしれない、とかの方向だったのですね。
ネトゲの経験値とか体力とかも32bitではやばい
そういうのはカンストさせればいいんだよ。仕様で上限を制約できない値がヤバいという話。
いや今回の話と同じでサービスが続く以上カンストするわけにいかない値だったりしますよ
いや、カンストはできる。そうすることによって、サービス停止をしなくていいのなら。
サービスを停止せざるを得ないケースといっしょにしてはいけない。いましめ。
ゲームの経験値や体力は上限を設定して上限値の変更が必要になったら変更すればいい。今回の問題とは違う問題。まあ今回の問題も上限値を把握している人間が変数のサイズを適切に管理していれば起きなかった話ではあるが。
うん、だから同じ事なんだよね
そもそも、ほとんどのネトゲは「長続きしない」という落とし穴が。
続いてくれて十分な利益が出続けるなんて奇蹟です。#起こらないから鬼籍
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人はmoriwaka -- Anonymous Coward
ログIDとお金はintで管理してはいけない (スコア:1)
って小さいころママから教わらなかったのかい?
Re:ログIDとお金はintで管理してはいけない (スコア:3)
DBのカラムは全部VARCHAR(65535)にしてるので無問題です!
Re: (スコア:0)
「64KBはすべての人にとって未来永劫充分なメモリだ」ですね。
(桁が一つ違うけど)
Re: (スコア:0)
"五千三百弐拾弐壱万二十一円"が数字演算出来ないなんてマイクロソフトのバグだ!とおっしゃったトコの人?
Re: (スコア:0)
あとタイムスタンプ系だな。ミリ秒以下の単位でカウントアップするヤツは特に。
もっと言うと、小数演算で誤差が許されない場合はfloatでもdoubleでもダメ(丸め誤差や内部表現の誤差がある)。
Re: (スコア:0)
マイクロソフトのXACT(Windows用)もやらかしてて、1ヶ月くらい連続でアプリが動いていると
コールバックが発生しなくなるバグが
Re: (スコア:0)
497 日もんだいもある
Re: (スコア:0)
95は49.7日で不正動作してたっけ。
その後のWindowsでタイマが10ms刻みになったのって、やっぱり単純に32ビットのまま稼働時間を10倍に伸ばすためだったのか
Re: (スコア:0)
Re: (スコア:0)
「大丈夫!
この仕事は納品すれば終わりだし、メンテは別会社に投げる予定だから。
どうせその頃に対応するのは赤の他人で、俺たちじゃないから。
むしろソニータイマーを入れておいた方が、自分達の飯の種になるってもんさ。」
#2000年問題、なにそれ美味しいの
Re: (スコア:0)
って小さいころママから教わらなかったのかい?
それはそれでいいけど、今回の問題とは別だな。
Re: (スコア:0)
int は常に16bitや32bitってわけじゃないぞ。
Re: (スコア:0)
Cの規格上は8ビットでもいいんですよね。
Re:ログIDとお金はintで管理してはいけない (スコア:1)
short 以上っていうのは決まってなかったっけ?
Re:ログIDとお金はintで管理してはいけない (スコア:1)
shortもまたchar以上としか決まっていないので。
8ビット≦char≦short≦int≦long<long long
です。
なんと、8ビットより長いであることが仕様から読み取れるのはlong longだけなのです!?
ビット長が重要なら悩まずint_16tとかを使いましょう。
Re: (スコア:0)
いやいや、そんなことはありません。
その関係式とは別に、
という関係があります。
http://seclan.dll.jp/c99d/c99d05.htm#dt19990524 [seclan.dll.jp]
int16_tも環境依存(存在するとは限らな
Re:ログIDとお金はintで管理してはいけない (スコア:1)
その関係式とは別に、
という関係があります。
おお、そうだったのですね。ありがとうございます。
すると心配しないといけないのは、shortが32ビットあるかもしれない、とかの方向だったのですね。
Re: (スコア:0)
ネトゲの経験値とか体力とかも32bitではやばい
Re:ログIDとお金はintで管理してはいけない (スコア:2)
そういうのはカンストさせればいいんだよ。
仕様で上限を制約できない値がヤバいという話。
Re: (スコア:0)
いや今回の話と同じでサービスが続く以上カンストするわけにいかない値だったりしますよ
Re:ログIDとお金はintで管理してはいけない (スコア:1)
いや、カンストはできる。
そうすることによって、サービス停止をしなくていいのなら。
サービスを停止せざるを得ないケースといっしょにしてはいけない。いましめ。
Re: (スコア:0)
ゲームの経験値や体力は上限を設定して上限値の変更が必要になったら変更すればいい。今回の問題とは違う問題。
まあ今回の問題も上限値を把握している人間が変数のサイズを適切に管理していれば起きなかった話ではあるが。
Re: (スコア:0)
うん、だから同じ事なんだよね
Re: (スコア:0)
そもそも、ほとんどのネトゲは「長続きしない」という落とし穴が。
続いてくれて十分な利益が出続けるなんて奇蹟です。
#起こらないから鬼籍