Skip to content

Instantly share code, notes, and snippets.

View x86chi's full-sized avatar
💡
No sliver bullet

Muhun x86chi

💡
No sliver bullet
View GitHub Profile
@x86chi
x86chi / pathReslove.ts
Created June 4, 2023 06:09
Node JS API `path.resolve` implement
View pathReslove.ts
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);
}
@x86chi
x86chi / light.txt
Last active May 30, 2023 15:01
조명용 인라인 HTML
View light.txt
data:text/html,<input type="color" onchange="document.bgColor=this.value">
@x86chi
x86chi / index.ts
Created January 24, 2023 06:21
First item is constant
View index.ts
type A = ['-', ...number[]]
let a = ['-', 1, 2, 3, 4] satisfies A
// You can type check in playground:
// https://www.typescriptlang.org/play?#code/C4TwDgpgBAglC8UDaByAtCgNFAdHgdgK4C2ARhAE5IC61AUHQDYTBQCGCy6WUAjNgCZsAZmwAWalADObYAEspAMzkQpsOkA
@x86chi
x86chi / recommend-references.md
Last active February 21, 2024 15:58
업무 중 추천 할 만한 서적
View recommend-references.md

소프트웨어 공학

  • 프로패셔널 소프트웨어 - 개발 짧은 스케줄, 뛰어난 상품, 성공적인 프로젝트, 경력 개발을 위해
  • 실용주의 프로그래머
  • 맨 먼스 미신
  • 프로그래밍 심리학
  • 내 코드가 그렇게 이상한가요 - 좋은 코드/나쁜 코드로 배우는 설계 입문

수학적 사고 및 문제해결

  • 알고리즘 트레이닝 - 프로그래밍 대회 입문 가이드
@x86chi
x86chi / .zshrc
Last active October 21, 2021 03:33
Open Azure repo in Browser from git remote url
View .zshrc
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'`
}
@x86chi
x86chi / SICP.md
Last active February 19, 2021 11:12
View SICP.md

SICP

1. 프로시져를 써서 요약하는 방법

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

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

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

@x86chi
x86chi / 4.1.2.js
Created September 30, 2020 05:07
YDKJS generator example
View 4.1.2.js
let z = 1;
function *foo() {
const x = yield 2;
z++
const y = yield (x*z)
console.log(x, y, z)
}
const it_first = foo()
@x86chi
x86chi / daum-mail.js
Last active August 15, 2020 07:27
북마크 한 메일만 제외해서 삭제하기
View daum-mail.js
const bookmark = '.btn_important.on'
const interval = setInterval(function () {
const items = document.querySelectorAll('.mail_item')
for (const item of items) {
if (item.querySelector(bookmark) == null) item.querySelector('#mCk').click()
}
document.querySelector('.btn_del').click()
if (
document.querySelector('.info_none') != null ||
View machine.js
const fetchMachine = Machine({
initial: 'idle',
states: {
idle: {
on: {
SUBMIT: 'submit',
},
},
submit: {
on: {
View keybase.md

Keybase proof

I hereby claim:

  • I am x86chi on github.
  • I am x86chi (https://keybase.io/x86chi) on keybase.
  • I have a public key whose fingerprint is AC20 7DB2 AB92 8ADA 536B D65B 3258 2116 71E1 404B

To claim this, I am signing this object: