KDOT Engineering

株式会社KDOTの開発情報ポータル

monkey_curry
4,566 views

サルでもわかるカリー化とそのメリット

アロー関数は前提知識。 カリー化を一言 関数を返す関数によってプログラムの共通化を図り、堅牢で安全なプログラムを作る。 カリー化の理論的な説明 複数変数を取る関数がある その関数を1変数を取り、関数を返す関数に分解する or wikiped...

ruby_sorbet
254 views

Rubyの型解析ライブラリSorbet事始め

ついに前々から今年の夏リリースされるとアナウンスされていたstripe製のRuby型解析ライブラリがリリースされました。 個人的にRubyは型が加われば最強の言語なので、これは本当に嬉しい。 導入方法として、公式のGetting Start...

cats-effectv3-0-0
59 views

cats-effectv3.0.0がリリースされたらしい

詳しくは https://github.com/typelevel/cats-effect/releases/tag/v3.0.0 IOモナドの刷新 徹底的に再デザインしてパフォーマンス向上 ユーザが使いやすいようなインターフェースの追求...

scalaのauxパターン
101 views

ScalaのAuxパターン

ScalaにはAuxパターンというものがあるらしいのでまとめ。 解決したい課題 ある型に対しての型クラスインスタンスが複数欲しいときがあり、しかもその型クラス同士に依存関係があるとする。 上の例でいくとsomethingメソッドはTのTyp...

scalaのジェネリックライブラリshapelessの基本
34 views

Scalaのジェネリックライブラリshapelessの基本

Scalaにはジェネリックプログラミングとか言うものを行うshapelessというライブラリがある。 その基本。 shapelessがやりたいこと そもそもジェネリックプログラミングとはなんぞやというと、名前の通りジェネリック=総称的なプロ...

タイミング攻撃の仕組み
111 views

タイミング攻撃の仕組み

タイミング攻撃を調べていたところ、こんなサイトがあったので意訳っぽくまとめ。 原理 簡単に言えばアプリケーションがなにかをするときにかかる時間の差異を分析することによる攻撃。 今回登場するHMACに限って言えば、トークン認証で値を比べるとき...

ziostreamとfs2streamを相互変換する
19 views

ZStreamとFs2Streamを相互変換する

ZIOを使ってサーバーを立てるときたまにwebsocketを使用したい時がある。 内部的にはZStreamを使用しているので、後はそれをhttp serverにつなぎこむだけなのだが、今の所ZIO×http serverのstableなライ...

python-ellipsis-type-hints
20 views

PythonのEllipsis(...)とtype hints

pythonのEllipsisとは Ellipsisのtype hintsでの使用例 前提知識 Pythonのtype hintsについての簡単な知識 スタブファイルが何者かなど Pythonについての基本的な知識 型システムについての基本...