Skip to content

Instantly share code, notes, and snippets.

View mu-hun's full-sized avatar
๐Ÿ’ก
No sliver bullet

Mu-Hun mu-hun

๐Ÿ’ก
No sliver bullet
View GitHub Profile
[InternetShortcut]
URL=data:text/html,<input type="color" onchange="document.bgColor=this.value">
@mu-hun
mu-hun / README.md
Last active March 9, 2025 11:53
`nvshare`: ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ ์ œ์•ฝ ์—†๋Š” ์‹ค์šฉ์ ์ธ GPU ๊ณต์œ 

nvshare: ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ ์ œ์•ฝ ์—†๋Š” ์‹ค์šฉ์ ์ธ GPU ๊ณต์œ 

  • ์ €๋„ ๋งํฌ: nvshare | 2024 IEEE/ACM 46th
  • ํ•ด๋‹น ์—ฐ๊ตฌ๋ฅผ GitHub grgalex/nvshare README์— ๋‚˜์˜จ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ฆฌ๋ทฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฝ๊ธฐ ์ „์—...

์•„๋ž˜ ์ธ์šฉ ์•„ํ‹ฐํด์˜ ์˜์ƒ ๋ฒ„์ „ ๋ฐ nvshare ๋ฐ๋ชจ: https://youtu.be/9n-5sc5AICY

I've written a Medium article on the challenges of GPU sharing on Kubernetes, it's worth a read.[^medium]

@mu-hun
mu-hun / jejuair.net.user.js
Created November 15, 2024 02:19
JejuAir login button active for Firefox
// ==UserScript==
// @name JejuAir login button active for Firefox
// @version 1
// @grant none
// @match https://www.jejuair.net/ko/member/auth/login.do*
// @run-at document-end
// ==/UserScript==
const button = document.querySelector(".button-wrap.button-wrap--login button");
button.className = "button button--primary login button--active"
@mu-hun
mu-hun / pathReslove.ts
Created June 4, 2023 06:09
Node JS API `path.resolve` implement
export default function pathResolve(...paths: string[]) {
const parsedPaths = paths.flatMap((path) => path.split('/')).filter(Boolean);
const resolvedPaths = parsedPaths.reduce((previousValue, path) => {
if (path === '..') {
previousValue.pop();
} else {
previousValue.push(path);
}
@mu-hun
mu-hun / index.ts
Created January 24, 2023 06:21
First item is constant
type A = ['-', ...number[]]
let a = ['-', 1, 2, 3, 4] satisfies A
// You can type check in playground:
// https://www.typescriptlang.org/play?#code/C4TwDgpgBAglC8UDaByAtCgNFAdHgdgK4C2ARhAE5IC61AUHQDYTBQCGCy6WUAjNgCZsAZmwAWalADObYAEspAMzkQpsOkA
@mu-hun
mu-hun / recommend-references.md
Last active July 17, 2025 14:00
์—…๋ฌด ์ค‘ ์ถ”์ฒœ ํ•  ๋งŒํ•œ ์„œ์  ๐Ÿ“š

์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™

  • ๊ฒธ์†ํ•œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋“  ๊ฑฐ๋งŒํ•œ ์†Œํ”„ํŠธ์›จ์–ด
  • ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ
  • ๋งจ ๋จผ์Šค ๋ฏธ์‹ 
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹ฌ๋ฆฌํ•™
  • ๋‚ด ์ฝ”๋“œ๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์ด์ƒํ•œ๊ฐ€์š” - ์ข‹์€ ์ฝ”๋“œ/๋‚˜์œ ์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์„ค๊ณ„ ์ž…๋ฌธ

ํ•™์Šต ๋ฐฉ๋ฒ•

  • ํฌ๋ฆฌ์—์ดํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋จธ
@mu-hun
mu-hun / .zshrc
Last active October 21, 2021 03:33
Open Azure repo in Browser from git remote url
function az() {
open `git remote get-url origin |
perl -pe 's#^git\@ssh\.dev\.azure\.com:v3/(.*)/(.*)$|^https://.*@dev.azure.com/(.*)/_git/(.*)$#https://dev.azure.com/\1\3/_git/\2\4#g'`
}
@mu-hun
mu-hun / SICP.md
Last active February 19, 2021 11:12

SICP

1. ํ”„๋กœ์‹œ์ ธ๋ฅผ ์จ์„œ ์š”์•ฝํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ, ๊ธฐ๋Šฅ ๊ด€๊ณ„์„ฑ์„ ์„ค๋ช…ํ•˜๋Š” ์šฉ๋„๋กœ ๋ฆฌ์Šคํ”„๊ฐ€ ์•Œ๋งž๋‹ค.

  • ํ”„๋กœ์‹œ์ €๋ฅผ ๋ณดํ†ต ๋ฐ์ดํ„ฐ์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ์™€ ํ”„๋กœ์‹œ์ €๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค
    • ๋Œ€ํ‘œ ์˜ˆ๋กœ ํ‘œํ˜„์‹ = ๊ฐ’ ์ธ๊ฐ€?

๋ฆฌ์Šคํ”„๋Š” ํ”„๋กœ์‹œ์ €๋ฅผ ๋ฐ์ดํ„ฐ์ฒ˜๋Ÿผ ๋‹ค๋ฃฌ๋‹ค.

@mu-hun
mu-hun / mma.user.js
Last active October 24, 2025 04:50
๋ณ‘๋ฌด์ฒญ ๋ณ‘์—ญ์ผํ„ฐ ๊ฒ€์ƒ‰
// ==UserScript==
// @name ๋ณ‘๋ฌด์ฒญ ๋ณ‘์—ญ์ผํ„ฐ ๊ฒ€์ƒ‰
// @version 1
// @grant none
// @match https://work.mma.go.kr/caisBYIS/search/byjjecgeomsaek.do
// @match https://work.mma.go.kr/caisBYIS/search/cygonggogeomsaek.do
// @run-at document-idle
// ==/UserScript==
@mu-hun
mu-hun / 4.1.2.js
Created September 30, 2020 05:07
YDKJS generator example
let z = 1;
function *foo() {
const x = yield 2;
z++
const y = yield (x*z)
console.log(x, y, z)
}
const it_first = foo()