タグ

ブックマーク / miyakawataku.hatenablog.com (3)

  • 夏時間導入における電算システムの対応 - 映画は中劇

    夏時間が導入された場合、電算システムにおいて必要となる対応をまとめます。なお、「夏時間に対応しない」としても、改修が不要とは限りません。 あるシステムが、夏時間に対応しない、と決めたとする。tz databaseのAsia/Tokyoには変更が加わる以上、tzdataに依存してローカル時間の処理を行っている場合は、「夏時間に対応しない」ための改修が必要となる。— 宮川 拓? (@miyakawa_taku) 2018年8月6日 なお、稿はUnix系およびWindowsのみを取り上げます。汎用機における夏時間の扱いについては、知見がないため取り上げません。 背景1: 電算システムにおける時刻の一般的な取り扱い まずは、コンピュータがどのように時刻を扱うか、簡単におさらいします。 コンピュータが「現在時刻」を得るには、 1. システムクロック、 2. タイムゾーンデータベース 3. タイムゾ

    夏時間導入における電算システムの対応 - 映画は中劇
    t-tanaka
    t-tanaka 2018/08/09
    まず基本はここから。
  • Java の throws 節では型変数が使える - 映画は中劇

    つい先だって知ったのですが、 Java のメソッドの throws 節では型変数が使えます。 8.4.6 Method throws / Java Language Specification これによって、投げる可能性のある例外の型が使い手側で変えられるようなメソッドを書くことができます。たとえば次のプログラムのように、例外の型と例外オブジェクトの生成を使い手にまかせる汎用の表明メソッドが書けます。 *1 class Checker { static <T extends Throwable> void check(boolean condition, Supplier<T> supplier) throws T { if (! condition) { throw supplier.get(); } } } class SomeException extends Exception {

    Java の throws 節では型変数が使える - 映画は中劇
  • ラムダ式は必ずしも invokedynamic に翻訳されるわけではない - 映画は中劇

    Java 8 で導入される新しい Date & Time API に関する良い記事です。 *1 Java8の日付および時刻処理(Date/Time API(JSR-310))の紹介と利用指針 | ありえるえりあ ですが、冒頭のラムダ式に関する記述に若干の問題があります。 ひとつだけラムダ式について言及しておくと、「ラムダ式は(関数型インターフェースの)オブジェクトを生成する」と説明している文章があったら、その文章は怪しいので疑いの目で読んでください。実際にはラムダ式はオブジェクト生成のコードにはならないからです(InvokeDynamicの呼び出しコードになります)。 問題点は次の2点です。 ラムダ式は関数型インタフェースのオブジェクトを生成 (produce) します。ただし、インスタンス化 (instantiate) するとは限りません。 現時点で OpenJDK と Oracle J

    ラムダ式は必ずしも invokedynamic に翻訳されるわけではない - 映画は中劇
  • 1