タグ

開発と日付に関するmohnoのブックマーク (8)

  • うるう日にしか発生しないバグ

    昨日うるう日にしか発生しないバグに遭遇した。Javascriptを書く人には有名な話だとは思うので大して面白くはないかもしれないが一応メモ。 詳しくは書けないがバグが発生した関数の仕様としてはざっくりと下記のような感じ。 対象の年月日が基準日の1年前から1年後の間に含まれる場合はtrueを返しそうでない場合はfalseを返す 引数として2020-12-24というフォーマットの文字列が渡される(判定対象の日) 引数として2021-01-01というフォーマットの文字列が渡される(+-1年の基準日) Javascriptで書く (例) 対象の日: 2024/10/10 基準日: 2024/01/28 この時、trueになる範囲は2023/01/28 ~ 2025/01/28。なので2024/10/10はtrue。2023/01/28も2025/01/28もtrueになる。閉区間。 とあるコードの

    うるう日にしか発生しないバグ
    mohno
    mohno 2024/03/02
    「一方でうるう日に実行すると以下のようになる」←日付が関係する処理があるならうるう日のテストは必須だと思うけど、実行環境をうるう日にしないと再現しないバグは見つけにくいだろうか。
  • 基本4情報での名寄せは難しい|MORIDaisuke

    先日は住所の件でお楽しみでしたね。 私も楽しくなってしょうもないツイートをしたところ、@masanorkさんから有用な情報をいただいてしまいました。 異体字に加えて外字も根深いですし、日付型に収まらない住基の生年月日とか、屋号を含んだ個人事業主の口座名義とか、外国人氏名における住民登録のアルファベットと口座名義のカタカナとの解離とか、旧姓併記の例外処理とか、文字列型に刻まれたバッドノウハウの塊ですね https://t.co/GOaytijfst — Masanori Kusunoki / 楠 正憲 (@masanork) June 6, 2023 このとき、私はごく簡単な「名寄せの難しさ」の社内研修資料を作っている最中だったのですが、この情報が大変参考になりました。 一方、私だけが得をしているのがなんとなくムズムズしてきたので、ここにアウトプットしてスッキリしようと思います。 なお、住所

    基本4情報での名寄せは難しい|MORIDaisuke
    mohno
    mohno 2023/06/19
    「こんなに名寄せが大変なら、国民に一意なIDふればいいんじゃ?」「それが個人番号(マイナンバー)という発想」←だから、それを民間も使いたい、って話になるよね。
  • ホームページ- EY-Office

    小ネタです、JavaScript日の日付をYYYY-MM-DD形式で得るコードは案外面倒です。 2023年4月17日なら 2023-04-17 という文字列を得るコードはRubyならTime.now.strftime("%Y-%m-%d")、Pythonならdatetime.today().strftime("%Y-%m-%d")(importは省略しました)と簡単に書けますが、JavaScriptでは案外面倒なのです。 追記: いくつかの間違いのご指摘がありましたので修正しました(2023-04-19)。 DeepAIが生成した画像です いっけん正しいようで間違ったコード new Date().toISOString().slice(0,10) new Date()で日の日時を取得します toISOString()メソッドは日時データをISO形式の文字列に変換します、例えば 2

    ホームページ- EY-Office
    mohno
    mohno 2023/04/18
    「new Date().toLocaleDateString('sv-SE')」←へぇぇ。というか、JavaScript はいまだに書式指定が面倒なのか、という。
  • https://twitter.com/gobaSec/status/1477284596551421953

    https://twitter.com/gobaSec/status/1477284596551421953
    mohno
    mohno 2022/01/02
    200x年代に作ったプログラムで、開発者が自分のコードが10年以上もそのまま使われ続けるなんてことはないだろう、と思ってたんだろうね。Y2Kもそうだったわけだが。
  • 遅れてやってきた令和バグ あるいはiOSアプリでの日付の扱い方 - Hatena Developer Blog

    こんばんは、id:kouki_dan です。突然ですが、現在は2021年ですね。あるいは令和3年です。今年が有効期限の免許証には平成33年と書かれているかもしれません。また、神武天皇即位の年を元年と定めた皇紀では2681年になります。 同じ年を表しているはずなのですが、暦によって何年なのかは違います。実はiOSは複数の暦に対応していて、日で使われている和暦にも対応しています*1。令和元年5月にリリースされたiOS 12.3のリリースノートには、令和に対応したことが示されています。 暦を選択するのはiOSを使っているユーザーなので、iOSアプリでは端末によって複数の暦が存在しています。この記事では暦の取り扱いが不適切で実際に起きたバグとその原因、また、一般的にどのように日付を扱うべきかについて説明します。 突然、APIレスポンスのパースに失敗する 原因判明! APIのレスポンスが閏日だった

    遅れてやってきた令和バグ あるいはiOSアプリでの日付の扱い方 - Hatena Developer Blog
    mohno
    mohno 2021/09/21
    iOSのバグ、ではなかった。日付のパースは鬼門というか、環境依存にするとハマるね。
  • JSの日付ライブラリは、どれを使えばいいのかまとめ

    Moment.jsは、新規開発停止、メンテナンスモードに移行 Moment.jsは、新規機能の開発停止、メンテナンスモード(セキュリティ修正とMoment Timezoneのデータ更新は行う)に移行することが発表されています。これから新規開発するプロジェクトでは、別のライブラリを使うことが推奨されています。 僕の新規開発のプロジェクトでも当初はMoment.jsを使っていましたが、リリース前にこの発表が出たので、別のライブラリに変更することにしました。 Moment.jsのドキュメントページに、推奨ライブラリが4つ掲載されていたので、その中から選ぶことにしました。 Luxon Day.js date-fns js-Joda 簡単に結論が出るケース Day.jsを使うべき人 Moment.jsからの移行 Moment.jsを使い慣れている人 Day.jsはMoment.jsと同じAPI体系を

    JSの日付ライブラリは、どれを使えばいいのかまとめ
    mohno
    mohno 2020/12/30
    リンク先、"One day soon, we hope there won't be a strong need for date and time libraries in JavaScript at all."なんだろうな。
  • 【2020年問題】時間を刻めないガラケーが出始めたぞ

    ガラケーの中には2019年12月31日23時59分までしか時を刻めないものがあるようで、ツイートが流れてきました。 おそらくですが、auのケータイでしょうか。 私のN703iD(DoCoMo)は2037年12月までのカレンダーがあるので、DoCoMoは停波まで大丈夫だと思いたいですが。 これが2020年…未来だなって思いました。 続きを読む

    【2020年問題】時間を刻めないガラケーが出始めたぞ
    mohno
    mohno 2020/01/01
    カレンダーをネットで同期させる時代じゃなかったし、祝日も今ほど変化しなかったので、春分の日/秋分の日を組み込んでたりしたんじゃないかな。Sidekick for Windows 3.1は1999年までで「2000年問題はないよ」って言われてた。
  • 上司のおっさんに「月を入力すると日数が出るようにするにはどうすれば?」と聞かれたのでコレを教えてあげた心温まる話 - Togetter

    リンク Wikipedia 過剰適合 過剰適合(かじょうてきごう、英: Overfitting)とは、統計学や機械学習において、訓練データに対して学習されているが、未知データ(テストデータ)に対しては適合できていない、汎化できていない状態を指す。汎化能力の不足に起因する。 その原因の一つとして、統計モデルへの適合の媒介変数が多すぎる等、訓練データの個数に比べて、モデルが複雑で自由度が高すぎることがある。不合理で誤ったモデルは、入手可能なデータに比較して複雑すぎる場合、完全に適合することがある。 機械学習の分野では過学習とも呼ばれる。過剰適合の 2 users 23

    上司のおっさんに「月を入力すると日数が出るようにするにはどうすれば?」と聞かれたのでコレを教えてあげた心温まる話 - Togetter
    mohno
    mohno 2018/10/22
    ね、ネタだよね? 検索すれば EOMONTH あたりが出てくるけど(例: =DAY(EOMONTH(DATE(A1,A2,1),0)) ※A1,A2を年,月とした場合)
  • 1