서론Promise는 JavaScript의 비동기 프로그래밍을 도와주는 라이브러리다.현재는 JavaScript V8엔진에 기본 탑재되어 있다. (즉 Node.js에서도 활용할 수 있다.)IE10 이전 버전에서는 작동하지 않는데 Babel과 Promise polyfill을 통해 비슷하게 작동하도록 만들 수 있다. 본론그렇다면 어떻게 Promise가 비동기 작동을 돕는걸까?간단한 Wait 함수를 살펴보자.const wait = (time: number): Promise => new Promise((resolve, reject) => { setTimeout(() => resolve(), time);});wait(4000).then(() => console.log("done"))이 코드를 실행한다면 4초 후 P..
서론Powerlevel10k도 oh-my-zsh에 엮어 많이 사용하는 라이브러리다.간단히 설치하고 사용할 수 있고, 비주얼 적으로도 좋아 자주 사용된다.본론우선 여기를 참고해 oh-my-zsh와 폰트를 설치해준다.두번째로 여기를 참고해 설치할 수 있다.oh-my-zsh와 연계해 설치하는 코드는 다음과 같다.git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k마지막으로 ~/.zshrc의 theme 부분을 다음과 같이 설정한다.# Set name of the theme to load --- if set to "random", it will#..
서론많은 사람이 zsh의 매력을 느끼고 zsh, ohmyzsh를 사용하시는 경우가 많다.하지만 zsh를 처음 쓴다면 의외로 단조로운 쉘 때문에 당황할 지도 모른다.여기에서 쓰면 좋을 zsh 확장인 oh-my-zsh와 zsh-autosuggestion, zsh-syntax-highlighting 설치방법에 대해 이야기한다.본론우선 oh-my-zsh의 설치코드는 다음과 같다.sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"보통 cURL은 우분투나 맥에 다 깔려있기 때문에 cURL을 사용하는 방식을 권장한다.우분투 환경에서 zsh가 깔려있지 않다면 다음 명령어를 사용하면 된다.sudo ap..
서론FastAPI를 사용하다보면 Pydantic을 이용해 커스텀 class를 정의해야 할 일이 생긴다.아래는 Pydantic의 BaseModel class를 상속한 CorrectionRequest class를 정의하는 모습이다.실제 맞춤법 검사기에서 사용하는 클래스이다.class CorrectionRequest(BaseModel): text: str correction: str memo: str recaptcha_response: str그러면 Pydantic은 무엇이고 왜 사용하는 걸까? 본론Pydantic의 공식 Docs의 서문을 인용하겠다.Pydantic is the most widely used data validation library for Python.Pydantic은 데..