Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマーク
  • テクノロジー
  • PHP の mt_rand() は一貫して壊れている(consistently broken)らしい - 唯物是真 @Scaled_Wurm
  • Twitterでシェア
  • Facebookでシェア

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできますコメント表示の設定

ブックマークしました

ここにツイート内容が記載されますhttps://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

345usersがブックマークコメント100

    ガイドラインをご確認の上、良識あるコメントにご協力ください

    0/0
    入力したタグを追加

    現在プライベートモードです設定を変更する

    おすすめタグタグについて

      よく使うタグ

        PHP の mt_rand() は一貫して壊れている(consistently broken)らしい - 唯物是真 @Scaled_Wurm

        ガイドラインをご確認の上、良識あるコメントにご協力ください

        0/0
        入力したタグを追加

        現在プライベートモードです設定を変更する

        おすすめタグタグについて

          よく使うタグ

            はてなブックマーク

            はてなブックマークで
            関心をシェアしよう

            みんなの興味と感想が集まることで
            新しい発見や、深堀りがもっと楽しく

            ユーザー登録

            アカウントをお持ちの方はログインページ

            記事へのコメント100

            • 注目コメント
            • 新着コメント
            オーナーコメントを固定しています
            sucrose
            オーナープルリクエストを書かれたkusano_kさんが解説記事を書かれたので、そちらもご参照くださいhttp://kusano-k.hatenablog.com/entry/2016/02/20/223229

              その他
              gabill
              perl「やり方はひとつじゃない」Python「たったひとつの冴えたやり方があるはずだ」Ruby「プログラミングを楽しく」PHP「確かに壊れてる、しかし一貫して壊れてる」

                その他
                VoQn
                悪いけど「実に」PHPらしいと思うよこの展開…

                  その他
                  psne
                  一貫して壊れている物を直したら結果が変わってしまう(例えば再現性のある乱数の結果が欲しい条件でmt_srand(1)としたコードに影響する、ドルアーガの塔のMAP)、と言われると議論は必要

                    その他
                    bamch0h
                    そうだ!mt_rand2()を作ろう!

                      その他
                      Mattyan
                      これ、もしかしたらいま各所で騒がれているソシャゲのガチャのレアアイテムが出ない問題に関わっているかもしれない。なぜかってどのカードが出るかの抽選は妄想しているような複雑なことをせずmt_randで引いてるから

                        その他
                        sin20xx
                        そもそもマニュアルにも厳密な乱数ではないから使う場面はちゃんと考えろとあり、且つ、先人たちからも現行版でもmt_randは非推奨なのでこの関数自体の現状の立ち位置を考えると最初の指摘はもっともだと思うよ?

                          その他
                          hnw
                          これPHPがクソって話になるのは毎度皆さん欲しい結論があるんだなーとしか。まだPR出てから3日目で、対応方針決まってない段階ってことでしょ / 元のPRで議論再開してた。7.1から入るくらいが妥当な着地点かしら。

                            その他
                            hakaikosen
                            7のリリース前に発見できてれば7で置き換えただろうねぇ。

                              その他
                              qtamaki
                              そびえ立つく(ry

                                その他
                                t_trad
                                PHPのどこを押せば後方互換性なんて言葉が出てくんだよ

                                  その他
                                  オーナーコメントを固定しています
                                  sucrose
                                  オーナーsucroseプルリクエストを書かれたkusano_kさんが解説記事を書かれたので、そちらもご参照くださいhttp://kusano-k.hatenablog.com/entry/2016/02/20/223229

                                    2016/02/20リンク

                                    その他
                                    xll
                                    “(拙訳: 確かに壊れている。しかし、少なくとも一貫して壊れている)”

                                      その他
                                      deep_one
                                      「一貫して壊れている」事の意味はある意味分かる(笑) 普通はそのコマンドを非推奨にして凍結して、別コマンドをたてる。/コメントで実際に非推奨になっているらしいことを知ったので、対応は全くもって正しい。

                                        その他
                                        trashtoy
                                        後方互換性とか理由にしてるけど, 以前マイナーバージョンアップなのにデフォルトの挙動を変えてきた array_uniquehttp://d.hatena.ne.jp/hnw/20090228 のことは忘れない

                                        その他
                                        KaeruHeika
                                        consistentlyは一貫して、堅実に、矛盾なく、というニュアンスのようなので。

                                          その他
                                          vanbraam
                                          もうmt_randをobsoletedにして,nmt_rand (not Mersenne twister)という従来動作版とrmt_rand (right MT)という正常版とを作って,2年くらい経ったらmt_randを廃止すればいいのでは

                                            その他
                                            hevohevo
                                            「一貫して壊れている」というより、「10年使い続けたらそれはもう正しい」という印象。PHPらしいエピソード。

                                              その他
                                              hirata_yasuyuki
                                              おおう… Browsing: “PHP の mt_rand() は一貫して壊れている(consistently broken)らしい - 唯物是真@Scaled_Wurm

                                                その他
                                                UDONCHAN
                                                『少なくとも一貫して壊れている』

                                                  その他
                                                  solidstatesociety
                                                  クソだけど死なない!

                                                    その他
                                                    taruhachi
                                                    phpだからこその問題があるとしたらそれはまだ使われているからという問題だけのような気が、、、。

                                                      その他
                                                      bouzuya
                                                      互換性なら仕方ないな。

                                                        その他
                                                        AmaiSaeta
                                                        「後方互換の問題が在るから議論要るよね」は尤もだと思うよ(ソフトウェアで生成できる乱数はあくまで疑似乱数な訳で)。

                                                        その他
                                                        nilab
                                                        「Mersenne Twister法で擬似乱数を生成する関数のmt_rand()にバグ」「kusanoさんがmt_rand()の実装に9年以上前から1文字違いでバグがあったことを見つけて、数ヶ月後にマージされる」

                                                          その他
                                                          kusigahama
                                                          パラメータに , $broken = true); を足しましょう

                                                            その他
                                                            nnhrsk
                                                            mt_rand()って最初に知った時、mtってわざわざ付いているのに違和感感じた

                                                            その他
                                                            you21979
                                                            一貫して壊れているは新しい

                                                              その他
                                                              kanflu
                                                              擬似乱数であって、生成結果が予測可能なのだからそれに依存した用例もありうる(均等分布することが重要なので、暗号に使うわけではない)ので、パッチバージョンでは修正できないという(あたりまえの)話っす。

                                                                その他
                                                                t2y-1979
                                                                意味がわからないよ

                                                                その他
                                                                ngsw
                                                                この対応方法実は嫌いじゃないし、むしろ好きかもしれない。「PHPは歯ブラシである」という割り切り方から言えば、言語としても筋の通ったかっこいい対応方法と思える。

                                                                  その他
                                                                  Peranikov
                                                                  PHPの情報は意図的に遮断しているのについ読んでしまった。くそ。

                                                                    その他
                                                                    bootJP
                                                                    わらえないけど。わらってしまう PHP の mt_rand() は一貫して壊れている(consistently broken)らしい - 唯物是真@Scaled_Wurm

                                                                      その他
                                                                      jojo800
                                                                      もはやバグではなく仕様なのでは

                                                                        その他
                                                                        rokujyouhitoma
                                                                        このバグよく見つけたな

                                                                        その他
                                                                        t_yano
                                                                        MicrosoftはWindowsだかOfficeだかの、昔のバグを、互換性維持の為に互換モードでは正確に再現している、とかいう話を思い出した。

                                                                          その他
                                                                          abyssgate
                                                                          笑うしかねえw

                                                                          その他
                                                                          kazoo_oo
                                                                          buggy but can't fix な世界。つらい。

                                                                            その他
                                                                            butasan2007
                                                                            これだから、「これだからPHPは...」と言われちゃうんだよね...

                                                                              その他
                                                                              georgew
                                                                              適当に斜め読みしたところによると、後方互換性を損なう変更なのでよく議論してから大型のリリース中で修正することになるっぽい > 乱数のseed固定で書いてるコードは影響受けるからか...

                                                                                その他
                                                                                p_tan
                                                                                互換性は大事よなぁ…。

                                                                                その他
                                                                                peroon
                                                                                ガシャの排出もこれのせいにしたらいい

                                                                                  その他

                                                                                  注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

                                                                                  リンクを埋め込む

                                                                                  以下のコードをコピーしてサイトに埋め込むことができます

                                                                                  プレビュー
                                                                                  アプリのスクリーンショット
                                                                                  いまの話題をアプリでチェック!
                                                                                  • バナー広告なし
                                                                                  • ミュート機能あり
                                                                                  • ダークモード搭載
                                                                                  アプリをダウンロード

                                                                                  関連記事

                                                                                    usersに達しました!

                                                                                    さんが1番目にブックマークした記事「PHP の mt_rand() ...」が注目されています。

                                                                                    気持ちをシェアしよう

                                                                                    ツイートする

                                                                                    PHP の mt_rand() は一貫して壊れている(consistently broken)らしい - 唯物是真 @Scaled_Wurm

                                                                                    PHPでMersenne Twister法で擬似乱数を生成する関数のmt_rand()にバグがあり出力がおかしい、という話が...PHPでMersenne Twister法で擬似乱数を生成する関数のmt_rand()にバグがあり出力がおかしい、という話が流れてきておもしろかったので簡単にまとめておく kusanoさんがmt_rand()の実装に9年以上前から1文字違いでバグがあったことを見つけて、数ヶ月後にマージされる(追記: 正確には、PHP版の実装が他と異なっているのは前から知られていたらしい*1 )PHPに送った1文字修正するプルリクエストがマージされた🎉 mt_rand()の返す値が元のメルセンヌツイスタと異なっていた。https://t.co/Z5WJhHVyNd— kusanoさん@がんばらない (@kusano_k) February 17, 2016 その後、生成される擬似乱数列が変わってしまうので、後方互換性を壊す変更は議論してからmergeすべきということでrevertされるこの前マージされた

                                                                                    ブックマークしたユーザー

                                                                                    • funghi_seven2025/06/03funghi_seven
                                                                                    • techtech05212023/12/17techtech0521
                                                                                    • okumuraa12022/08/23okumuraa1
                                                                                    • zu22022/07/31zu2
                                                                                    • uva2022/07/31uva
                                                                                    • xll2022/07/31xll
                                                                                    • hintoku2022/07/31hintoku
                                                                                    • proverb2022/07/31proverb
                                                                                    • koma_g2022/07/31koma_g
                                                                                    • munieru_jp2020/12/15munieru_jp
                                                                                    • mizu0x19f2020/01/09mizu0x19f
                                                                                    • akase2442018/07/12akase244
                                                                                    • tmsanrinsha2017/03/12tmsanrinsha
                                                                                    • mrtc02017/02/20mrtc0
                                                                                    • tana_bata2017/01/17tana_bata
                                                                                    • miki_bene2016/07/13miki_bene
                                                                                    • dtan42016/04/14dtan4
                                                                                    • emonkak2016/04/11emonkak
                                                                                    すべてのユーザーの
                                                                                    詳細を表示します

                                                                                    ブックマークしたすべてのユーザー

                                                                                    同じサイトの新着

                                                                                    同じサイトの新着をもっと読む

                                                                                    いま人気の記事

                                                                                    いま人気の記事をもっと読む

                                                                                    いま人気の記事 - テクノロジー

                                                                                    いま人気の記事 - テクノロジーをもっと読む

                                                                                    新着記事 - テクノロジー

                                                                                    新着記事 - テクノロジーをもっと読む

                                                                                    同時期にブックマークされた記事

                                                                                    いま人気の記事 - 企業メディア

                                                                                    企業メディアをもっと読む

                                                                                    はてなブックマーク

                                                                                    公式Twitter

                                                                                    はてなのサービス

                                                                                    • App Storeからダウンロード
                                                                                    • Google Playで手に入れよう
                                                                                    Copyright © 2005-2025Hatena. All Rights Reserved.
                                                                                    設定を変更しましたx

                                                                                    [8]ページ先頭

                                                                                    ©2009-2025 Movatter.jp