Skip to content

Instantly share code, notes, and snippets.

2025-08-20 Original post.

2025-08-24 I'd like to refine the terminology used. The pattern demonstrated here is most accurately described as "polymorphism over effects, (using Higher-Kinded Types)".

It's important to distinguish this from other related concepts. Although it bears a strong resemblance to the Tagless Final pattern, this approach is distinct, and as a tight (not vendor free) integration with Kyo. Furthermore, please note that it is not "Effect Polymorphism," which is an alternate and less precise phrasing.

Thanks a lot to all of you for the valuable feedback!


@gfx
gfx / 001-wifi-routers-v2.md
Last active September 27, 2024 16:23
Wi-Fiルーターおすすめ by 妻

概要

  • ネットーワーク機器のマーケ担当をしてる妻から聞いた、Wi-Fiルータのオススメ(「同僚のメーカー担当ごとに己の”最強”を選んでもらった」とのこと)です
  • 「ルーターにはWi-Fiルータだけじゃなく他にもいろいろあるんだよ!これはWi-Fiルータのことね」と言われたのでタイトルを変えました
  • 「AXほにゃらら」は規格(AX = Wi-Fi 6)+速度の参考値とのことです
  • もともとの文脈: 家庭内の雑談をツイートしたところ( https://twitter.com/__gfx__/status/1464084908091920387 )知人が反応したので妻に「ルータのおすすめ教えてと知人がいってるのでなんか教えて」といって教えてもらったのが元です
  • 下にあるv1.md が最初のやつ(2021/11/26)で、このv2.md がホッテントリ入りしたあとの改訂版(2021/11/27)です

追記(2022/05/24):

  • TP-Linkはちょいちょいやらかしがあります
@udzura
udzura / SECKUN 2021 pub.md
Last active April 20, 2024 00:58
SECKUN 2021/ProSec-IT 2021 コンテナ演習資料(公開版)

SECKUN 2021/ProSec-IT 2021 コンテナ演習資料(公開版)

この資料について

九州大学のSECKUN 2021/ProSec-IT(enPiT-Pro) 2021の共通カリキュラムにおいて、近藤 @udzura が担当したコンテナ概要の授業にて使用した教材です。

今回、公益性を鑑み、授業固有の連絡事項などを削除した状態で公開します。

@gakuzzzz
gakuzzzz / _0.md
Last active December 22, 2022 06:30
https://twitter.com/matarillo/status/1302048512771645440 フラットなデータ集合からネストしたグルーピングするのに foldMap が便利だよというお話

前提

こちらのツイート https://twitter.com/matarillo/status/1302048512771645440 をみて foldMap か foldLeft で簡単に書けるのでは?と思ったのが発端

データ構造がこんな感じだとして

  case class OrganizationRecord(
    id: Long,
    organizationLv1: String,
@mpppk
mpppk / clean_architecture.md
Last active March 6, 2026 01:41
クリーンアーキテクチャ完全に理解した

2020/5/31追記: 自分用のメモに書いていたつもりだったのですが、たくさんのスターを頂けてとても嬉しいです。
と同時に、書きかけで中途半端な状態のドキュメントをご覧いただくことになっており、大変心苦しく思っています。

このドキュメントを完成させるために、今後以下のような更新を予定しています。

  • TODO部分を埋める
  • 書籍を基にした理論・原則パートと、実装例パートを分割
    • 現在は4層のレイヤそれぞれごとに原則の確認→実装時の課題リスト→実装例という構成ですが、同じリポジトリへの言及箇所がバラバラになってしまう問題がありました。更新後は、実装時の課題リストを全て洗い出した後にまとめて実装を確認する構成とする予定です。

2021/1/22追記:

@SAMMY7th
SAMMY7th / scalakb20190523.md
Last active November 30, 2019 01:59
2019/05 Scala導入を検討したい人に向けた情報をまとめてみた

2019/05 Scala導入を検討したい人に向けた情報をまとめてみた

Scalaとは?

  • The Scala Programming Language
    • 開発元はLightbend 社 と EPFL(Odersky先生がいるスイスの大学)
    • 2019/05 現在、最新バージョンは 2.12
  • Dottyと呼ばれる新しいScalaコンパイラが開発されている
    • Scala3
  • 2019/05 現在0.15.0-RC1
@mala
mala / nwc.md
Created January 15, 2019 23:41
次世代Webカンファレンス 2019 振り返り

次世代Webカンファレンス 2019 振り返り

  • この文章に関しても所属組織とは関係のない個人の見解です

所感など

  • 本当に全く打ち合わせをしていないので、話題が分散しがちだったかもしれない。
  • せっかくの所属組織とは無関係のレギュレーションなので、具体名を上げてガンガン治安の悪いことを言うつもりだったのだけど、直前に「具体的な企業名は避けましょう」と言われて若干遠慮した。
  • マズいことをガンガンしゃべる覚悟で来たので、防刃ベストを着ているが、特に出番は無かった。トイレにも行った。
  • 本当は話す予定だったトピックについて、いくつかは、別途private gistに書く。
@qnighy
qnighy / rust-patterns.md
Last active March 6, 2025 19:03
Rustのパターンっぽいやつメモ

パターンとはその言語が抽象化できなかった敗北の歴史である。 しかしどんなに優れた言語であってもあらゆる繰り返しに勝てるわけではない。 人は必ずメタ繰り返しを欲するからだ。 そしてそれはRustも例外ではない。

ここでは、OOPでも知られているパターンよりも、Rustに特有のパターンを思いつく限りまとめてみた。名前は適当。

  • crate splitting
    • でかいcrateを分割して、見通しを良くする・再コンパイルの分量を削減する・並列コンパイルを可能にする
  • 親玉crate(全てにdependする)と殿crate(全てにdependされる)があることが多いので、だいたい束みたいな形になる。
@unio-lss
unio-lss / XHRController.php
Last active April 14, 2019 09:10
Symfony4: 自前のアノテーションでコントローラ制御 https://karafuru-ramune.com/blog/827c536bef00d652d1d08de69d49a1eb
<?php
namespace App\Controller;
use App\Annotation\XMLHttpRequest;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
/**
@gakuzzzz
gakuzzzz / design_pattern_in_scala.md
Last active February 12, 2024 02:05
Design Patterns in Scala (ScalaMatsuri 2018 Unconfoerence)

Design Patterns in Scala

Scala でよく見るパターン

Type-Safe Builder

Javaで多引数のコンストラクタを避けるために使われる Builder パターンは、Scala では名前付き引数呼び出しが使えるので必要ありません。

Builderパターンに制約を加えて条件に合わない場合、コンパイルエラーにしたい。