タグ

2020年12月22日のブックマーク (4件)

  • 随伴を使って理解するStateモナドの実装

    前回の記事は魔法のように見えるStateモナドの実装も、順を追って見ていけば理解することは難しくないという話でした。 しかし状態の変更を順番に処理するというような手続き的な考え方にかなり近い構造が、うまくモナドになってくれるというのは少し不思議ですよね。 この記事では タプル (a, b) 関数 a -> b カリー化 curry :: ((a, b) -> c) -> a -> b -> c uncurry :: (a -> b -> c) -> (a, b) -> c といったHaskellの基的な要素が随伴と呼ばれる関係を構成することを見て、 その随伴からStateモナドが導かれることを説明していきたいと思います。 随伴 二つの圏 C, D と二つの関手 F : C \rightarrow D, G : D \rightarrow C が与えられたとしましょう。 もし GF = {

    随伴を使って理解するStateモナドの実装
    Ehren
    Ehren 2020/12/22
  • Two new ways to read a file quickly

    System calls on Linux are relatively cheap, though the mitigations for speculative-execution vulnerabilities have made them more expensive than they once were. But even cheap system calls add up if one has to make a large number of them. Thus, developers have been working on ways to avoid system calls for a long time. Currently under discussion is a pair of ways to reduce the number of system call

    Ehren
    Ehren 2020/12/22
  • Deep Learning将棋は従来の将棋ソフトとここが違うぞ | やねうら王 公式サイトやねうら王 公式サイト

    ふかうら王の製作のためにdlshogiのソースコードをくまなく読んだので、Deep Learning型の将棋についてつらつらと書いてみる。 dlshogiとは dlshogiは先月に開催された将棋ソフトの大会「電竜戦」で優勝したGCTのエンジン部分(探索部)でもある。つまりは、dlshogiは現在、世界最強の将棋ソフトと言っても過言ではないだろう。従来の将棋ソフトとはどこが異なるのだろうか。今後、Deep Learning系の将棋ソフトの導入を検討している人向けにざっと書いていく。 ※ 今回書くのは、現在のdlshogiの話である。将来的に改良される可能性は大いにあるが、2020年の電竜戦では、この仕様であったということである。 CPUを使うソフトとGPUを使うソフト、どちらがコスパがいいの? 今回、電竜戦で優勝したGCTをGeForce RTX 2080で動かすとfloodgateでR3

    Ehren
    Ehren 2020/12/22
  • Micro Frontends Architecture Patterns

    書は、Micro Frontends Architecture Patternsというタイトルを付けていますが、モノリスからJAMstack、Micro Frontendsまで、Webフロントエンドを包括した様々なアーキテクチャパターンの詳細を体系的に紹介しています。 ソフトウェアとしてのアーキテクチャ全体を俯瞰し、他のシステムとのやりとりを設計するような考え方が役に立つことは多いです。フロントエンド観点で、様々なアーキテクチャパターンをまとめることで、Web開発の助けになればと考えています。 また、アーキテクチャの歴史と変遷を知ることで「Micro Frontends」への理解を深めることができると筆者は考えました。Micro FrontendsはThoughtWorksのTechnology RadarではすでにADOPTとなり、海外で多くの事例が存在します。Micro Fronte

    Micro Frontends Architecture Patterns
    Ehren
    Ehren 2020/12/22