タグ

2024年10月3日のブックマーク (6件)

  • io-tsと反変・共変

    前の記事では、サブタイピング機能を備える静的型付け言語につきものの、抽象度が高く難しい概念「反変」と「共変」について解説しました。この記事では、前回の記事を書く動機となった気づきについてお話します。最初に前提として「反変」と「共変」を組み合わせた概念である「不変」を紹介し、その上で「不変」であることによって発覚した、その「気づき」について解説します。 不変: 関数の引数として受け取り、かつ戻り値として返す場合 ある型の型引数が、関数の戻り値であれば共変になり、関数の引数であれば反変になるということは、型引数が関数の戻り値と引数両方で使用されていた場合はどうなるでしょうか。そうした場合は「不変」となり、型引数に渡す型が全く同じでなければサブタイプ・スーパータイプの関係が成立しなくなります。文字通り「不変」なのです。 早速例を挙げましょう: // 型変数Tを関数の戻り値と引数両方に使用している

    io-tsと反変・共変
    igrep
    igrep 2024/10/03
    やっと書けた その2
  • 筒で理解する反変・共変

    この記事では、JavaScalaTypeScriptなど、サブタイピング(subtyping)をサポートする言語であれば間違いなくサポートしているであろう「反変(contravariant)」・「共変(covariant)」について、視覚的なアナロジーを用いつつ解説したいと思います。コード例を含め全てTypeScriptを前提とした説明ですが、同様の機能を持った言語であれば概ね同じことが言えるはずです。 そもそもサブタイピングとは サブタイピングとは、型と型との間にサブタイプ(subtype)・スーパータイプ(supertype)という関係を定めて、スーパータイプである型の代わりとして、サブタイプである型を利用できるようにする仕組みです。 例えば、TypeScriptではstring型はObject型のサブタイプであるので、次のようにObject型の変数にstring型の値を代入するこ

    筒で理解する反変・共変
    igrep
    igrep 2024/10/03
    やっと書けた
  • Kamal 2 を使い、インフラに詳しくない人でもNext.jsを296円のVPSにデプロイできるよう、説明してみる

    9月26, 27日に開催され、めちゃくちゃ盛り上がったRails World 2024でKamal 2が発表されました。Kamal 2はRuby on Railsを作った37signals社が、自社の人気サービスをデプロイするのに使用しているツールです。 37signals社はAWS等のクラウドに年間で$3,201,564を使った(2022年: 日円で4.5億円ほど)らしく、一方でAWSを使ってもインフラ系人員の削減もほとんどできなかったので、全然割に合わないからもうクラウドはやめて自分たちのサーバを使うと宣言しています。Kamal 2はそのために作られた、格的なデプロイツールです。 (ちなみに自分たちのサーバを使うと言ってもオンプレミスでサーバを運用するというのではなく、さくらの専用サーバに近いイメージです) Dockerベース Docker化されたアプリなら何にでも対応 (Rail

    Kamal 2 を使い、インフラに詳しくない人でもNext.jsを296円のVPSにデプロイできるよう、説明してみる
    igrep
    igrep 2024/10/03
  • すぐ消えてしまう要素をDevToolsで確認するTips集

    はじめに こんばんは! 皆さんは以下のようなすぐ消えてしまう要素をDevToolsで確認したいときはどうしますか? 常に表示されるようにわざわざコードを修正してから、DevToolsで要素を確認したりしていませんか?DevToolsをうまく使うことで、わざわざコードの修正をせずとも簡単に要素の確認をできるのでそのちょっとしたTipsのご紹介です! ① CSSイベントでの確認方法 まずはCSSイベントで要素の表示制御を行っているパターンでの確認方法です。以下のようにCSSイベントのhoverで表示制御をしている要素を例にDevToolsで確認する方法を見ていきましょう! import "./style.css"; export const Index = () => { return ( <div> <button className="myButton">Button</button> <

    すぐ消えてしまう要素をDevToolsで確認するTips集
    igrep
    igrep 2024/10/03
    デバッガーを起動するためのスニペット、汎用性高くていいなあ。
  • JSpecify 1.0.0 and Nullability in Java

    igrep
    igrep 2024/10/03
  • 「沖縄独立」煽る偽投稿拡散 背後に約200の中国工作アカウント - 日本経済新聞

    「沖縄独立」を促す偽動画が今、SNS上で拡散し続けている。日経済新聞が先端の人工知能AI)ツールで解析したところ、背後に拡散を請け負う大量の「情報工作アカウント」が見つかった。主に中華圏に向けたSNSの投稿だが、専門家は今後、日の世論分断にもつながりかねないと警鐘を鳴らす。「異例の言及」が契機「琉球属于中国,琉球群島不属于日!」(琉球は中国に属し、日に属してはいない!)「根据波

    「沖縄独立」煽る偽投稿拡散 背後に約200の中国工作アカウント - 日本経済新聞