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
@mu-hun
mu-hun / sketch_dec7a.ino
Created December 7, 2025 07:14
퍼지 로직 아두이노 시뮬레이션
#include <Fuzzy.h> // Please install eFLL (Embedded Fuzzy Logic Library) from https://github.com/alvesoaj/eFLL
// Fuzzy
Fuzzy *fuzzy = new Fuzzy();
// FuzzyInput Temperature
FuzzySet *VeryCold = new FuzzySet(0, 0, 10, 20);
FuzzySet *Cold = new FuzzySet(10, 20, 20, 30);
FuzzySet *Good = new FuzzySet(20, 30, 30, 40);
FuzzySet *Hot = new FuzzySet(30, 40, 50, 50);

Web Frontend Programmer, Mu-Hun Kim

Senior Computer Engineering student graduating in Feb 2026, with three years of hands-on frontend engineering experience across multiple startups.

Work Experience

Web Frontend Engineer, Penxle Company (Oct 2023~Apr 2024)

I joined as a contract frontend engineer three months before the launch of

[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 공유
@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. 프로시져를 써서 요약하는 방법

데이터 구조, 기능 관계성을 설명하는 용도로 리스프가 알맞다.

  • 프로시저를 보통 데이터처럼 쓸 수 있다.
  • 데이터와 프로시저를 구분하지 않는다
    • 대표 예로 표현식 = 값 인가?

리스프는 프로시저를 데이터처럼 다룬다.