Skip to content

Instantly share code, notes, and snippets.

View Kuniwak's full-sized avatar
💭
I may be slow to respond.

Yuki Kokubun Kuniwak

💭
I may be slow to respond.
View GitHub Profile
@Kuniwak
Kuniwak / kuniwak-resume.md
Last active December 29, 2025 03:37
Kuniwak (Yuki Kokubun) の職務経歴書

自己紹介

SET(Software Engineer in Test) のグループの元マネージャ。専門は ソフトウェアテスト/Lint/Git。実務経験のあるプログラミング言語は JavaScript, TypeScript, Swift, C#, Go, Isabelle, OCaml, F#(コードは OSS を参照)。

(2025/12 現在)転職活動はしていません。

提供できる価値

@Kuniwak
Kuniwak / miro_api.go
Created July 30, 2025 05:44
Miro API Client Example
package main
import (
"encoding/json"
"fmt"
"net/http"
"os"
"strconv"
)
@Kuniwak
Kuniwak / coin_problem_fl.txt
Created June 18, 2025 00:59
支払い方法の決定性問題
M: ℕ (支払い金額)
S: coin multiset (財布)
W1, W2, W3: coin multiset (渡す貨幣)
O1, O2, O3: coin multiset (お釣り)
submultiset: 'a multiset ⇒ 'a multiset ⇒ bool (多重集合が包含されていれば真、そうでなければ偽)
card: 'a multiset ⇒ ℕ (多重集合の要素数)
norm: coin multiset ⇒ bool (貨幣の多重集合が正規形であれば真、そうでなければ偽)
val: coin multiset ⇒ ℕ (貨幣の多重集合の価値)
Pay(M, S, O, W) ≡ submultiset(W1, S) ∧ val(W) - val(O) = M ∧ norm(O) ∧ norm(S - W + O) (支払い関係が成立していれば真、そうでなければ偽)
@Kuniwak
Kuniwak / NumberGenerator1.FromGitHubCopilot.cs
Last active February 12, 2024 09:23
GitHub Copilot に [0-100) の区間でその分布が正規分布に従う関数を実装させてみた実験例
namespace Playground.CopilotTDD;
public static class NumberGenerator
{
public static int GetBetween0To100BySeed(int seed)
{
return new Random(seed).Next(0, 100);
}
}
// https://chat.openai.com/share/a75ee402-3131-4ee8-9a9d-54bf1b81071c
using System;
namespace Playground.CopilotTDD.Tests
{
public static class NumberGenerator
{
public static int GetBetween0To100BySeed(int seed)
{
// 線形合同法のパラメータ
theory Scratch
imports Main
begin
no_notation relcomp (infixr "O" 75)
(* oreo 型の内部表現 *)
datatype oreo0 = O0 | Ore0 oreo0 | Reo0 oreo0
theory "Well_Not_Dense_Order" imports Main begin
context wellorder
begin
definition bot :: 'a
where "bot ≡ LEAST x. True"
sublocale order_bot bot less_eq less
proof standard
fix a
@Kuniwak
Kuniwak / Well_Dense_Order.thy
Created July 15, 2022 00:39
整列順序で稠密順序な例。
theory "Well_Dense_Order" imports Main begin
datatype a = A
text "a は整列順序である。"
instantiation a :: wellorder
begin
definition less_eq_a :: "a ⇒ a ⇒ bool"
where "less_eq_a a b ≡ True"
@Kuniwak
Kuniwak / vim_intro.txt
Last active June 2, 2022 03:48
Vimの起動時に表示されるAA。vim-splashを入れて g:splash#path にこのファイルを指定するとhappy。 ライセンスはパブリックドメインです。ご自由にお使いください。【推奨環境】background=dark guifont=SourceCodePro-Regular
..
.::::.
___________ :;;;;:`____________
\_________/ ?????L \__________/
|.....| ????????> :.......'
|:::::| $$$$$$"`.:::::::' ,
,|:::::| $$$$"`.:::::::' .OOS.
,7D|;;;;;| $$"`.;;;;;;;' .OOO888S.
.GDDD|;;;;;| ?`.;;;;;;;' .OO8DDDDDNNS.
'DDO|IIIII| .7IIIII7' .DDDDDDDDNNNF`
theorem
fixes f :: "'x ⇒ 'y ⇒ 'y"
assumes finite: "finite X"
and eq: "⋀x. x ∈ X ⟹ f x = g x"
shows "Finite_Set.fold f z X = Finite_Set.fold g z X"
using finite using eq by (rule_tac fold_closed_eq[where ?B=UNIV]; simp)