Skip to content

Instantly share code, notes, and snippets.

@nyaocat
nyaocat / run-in-nonet
Created May 8, 2021 08:00
指定コマンドをネットワーク接続不可環境下で実行させるスクリプト
#!/bin/bash
set -eu
readonly NSNAME="ns${RANDOM}"
sudo ip netns add "$NSNAME"
trap "sudo ip netns delete '$NSNAME'" 0
sudo ip netns exec "$NSNAME" sudo -u "$USER" "$@"
@nyaocat
nyaocat / pysdl2_and_wxpython.py
Last active March 14, 2022 03:05
pysdl2 in wxpython
import sdl2
import sdl2.ext
import math
import wx
class SDL2Timer(wx.Timer):
def Yaruzo(self, a):
sdl2.ext.init()
# window = sdl2.SDL_CreateWindow("Hi".encode("utf-8"),
@nyaocat
nyaocat / type-safe-builder.ts
Created November 30, 2020 10:05
Typescriptでタイプセーフなビルダーパターン
type WidthDefined = {width: number};
type HeightDefined = {height:number};
type TitleDefined = {title:string};
type AllDefined = WidthDefined & HeightDefined & TitleDefined;
class WidgetBuilder<T>{
constructor(private params: T){}
width<D>(this:WidgetBuilder<D extends WidthDefined ? never : D>, width: number):WidgetBuilder<D & WidthDefined> {
return new WidgetBuilder(Object.assign(this.params, {width}));
}