タグ

Developmentとtypeに関するItisangoのブックマーク (7)

  • さらなる型安全性を求めて ~ Refinement TypeをScalaで実現する ~

    SoRの性質が強いBtoBアプリケーションでは、「堅く」作ることを求められる箇所がしばしばあります。 Scalaの型安全性が頼もしく感じられるのは、まさにこのような箇所においてです。 「堅く」作るために、私たちがいま注目しているのが refined と newtype というライブラリです。 この記事では、refinedとnewtypeを使ってScalaの型安全性をさらに引き出すテクニックを紹介します。 Value Class / Tagged Type refined + newtypeの話題に入る前に、これまでにどのようなテクニックが使われてきたかを簡単に振り返りましょう。 ここに、SNSのユーザーアカウントを表現するクラスがあります。 case class User(id: String, email: String, age: Int) val user1 = User("@tod

    さらなる型安全性を求めて ~ Refinement TypeをScalaで実現する ~
  • 8.1. 数値データ型

    smallint、integer、bigintは各種範囲の整数、つまり小数点以下の端数がない数を保持します。 許容範囲から外れた値を保存しようとするとエラーになります。 integer型は数値の範囲、格納サイズおよび性能において最も釣合いが取れていますので、一般的に使用されます。 smallint型は通常はディスク容量に制限が付いている場合にのみ使用します。 bigint型はintegerの許容範囲では十分ではない場合に使用されるよう設計されています。 SQLでは整数の型としてinteger(またはint)とsmallint、bigintのみを規定しています。 int2、int4およびint8は拡張ですが、いくつか他のSQLデータベースシステムでも使われています。 numeric型は、非常に大きな桁数で数値を格納できます。 通貨金額やその他正確性が求められる数量を保存する時は特に、この型を

    Itisango
    Itisango 2022/10/04
    smallint 2バイト 狭範囲の整数 -32768から+32767 integer 4バイト 典型的に使用する整数 -2147483648から+2147483647 bigint 8バイト 広範囲整数 -9223372036854775808から+9223372036854775807 decimal 可変長 ユーザ指定精度、正確 小数点より上は131072桁
  • 26.1. typing --- 型ヒントのサポート — Python 3.6.6 ドキュメント

    Note The Python runtime does not enforce function and variable type annotations. They can be used by third party tools such as type checkers, IDEs, linters, etc. This module provides runtime support for type hints. Consider the function below: def surface_area_of_cube(edge_length: float) -> str: return f"The surface area of the cube is {6 * edge_length ** 2}." The function surface_area_of_cube tak

    26.1. typing --- 型ヒントのサポート — Python 3.6.6 ドキュメント
    Itisango
    Itisango 2022/03/02
    「特定のシグネチャを持つコールバック関数を要求されるフレームワークでは、 Callable[[Arg1Type, Arg2Type], ReturnType] を使って型ヒントを付けます。」
  • クラス ライブラリ開発のデザイン ガイドライン

    クラス ライブラリ開発のデザイン ガイドラインは、.NET Framework を拡張し、.NET Framework と対話するためのライブラリを開発するためのものです。 .NET Framework デザイン ガイドラインの目的は、開発に使用されるプログラミング言語に依存しない統一化されたプログラミング モデルを用意することによって、ライブラリ デザイナーが API の一貫性と使いやすさをユーザーに提供できるようにすることです。 .NET Framework を拡張したクラスおよびコンポーネントを開発するときは、これらのデザイン ガイドラインに従うことを強くお勧めします。 一貫性のないライブラリ デザインは、開発者の生産性を損なうだけでなく、ライブラリを採用する意欲を失わせます。 これらのガイドラインは、クラス ライブラリのデザイナーが、さまざまなソリューションの利点と欠点を把握できる

    クラス ライブラリ開発のデザイン ガイドライン
  • SByte 構造体 (System)

    名前空間: System アセンブリ:System.Runtime.dll アセンブリ:mscorlib.dll アセンブリ:netstandard.dll ソース:SByte.cs ソース:SByte.cs ソース:SByte.cs 重要 一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。 public value class System::SByte : IComparable, IComparable<System::SByte>, IConvertible, IEquatable<System::SByte>, IFormattable public value class System::SByte : IComparable, IC

    SByte 構造体 (System)
  • ptrdiff_t - cppreference.com

    [編集] ノート ptrdiff_t は、負の値を取り得る場合に、ポインタ算術や配列のインデックスのために使用されます。 int などの他の型を使用するプログラムは、例えば64ビットのシステムにおいて、インデックスが INT_MAX を超えるとき、または32ビットの剰余算術をあてにしている場合、失敗するかもしれません。 同じ配列の要素を指すポインタ (配列の最後の要素の次を指すポインタも含む) だけがお互いに減算することができます。 2つのポインタの差を ptrdiff_t で表せないかもしれないくらい配列が大きい (要素が PTRDIFF_MAX 個より多いけれどもサイズが SIZE_MAX バイトより小さい) 場合、そのような2つのポインタの減算の結果は未定義です。 PTRDIFF_MAX より短い文字配列に対して、 ptrdiff_t は size_t の符号付き版としての役割を持ち

    Itisango
    Itisango 2020/04/01
    typeof (pointer_a - pointer_b) == ptrdiff_t #C
  • 標準SQL での日付・時刻の扱い方 : i am BEST

    2013年08月07日02:17 カテゴリSQLデータベース 標準SQL での日付・時刻の扱い方 今回は SQL での日付・時刻の計算について、です。 SQL での日付・時間の計算はけっこうベンダーによって差がありますが、標準SQL で決められた仕様ももちろん存在します。やっぱりベンダー個別の実装をいちいち記憶しておくのは大変ですし、結局混乱してしまってよくわからなくなりがちですよね。 まずは標準SQL で基的なところを理解しておいて、個別にアジャストするのがおすすめです。そこで今回は標準SQL で日時の扱い方の基的なところをみていきたいと思っています。 標準SQL での日付・時間関連のデータ型 標準SQL での日付・時間関連のデータ型は DATE型、TIME型、TIMESTAMP型の三つだけになります。 日付のみを格納する DATE型、時刻のみを格納する TIME型、両方を含んだ T

    標準SQL での日付・時刻の扱い方 : i am BEST
  • 1