mysqldump 치트 시트
·
개발이야기/토막글
dump 가져오기 mysqldump --column-statistics=0 -h [host] -u [user] -p [데이터베이스명] > [파일명].sql -p : 패스워드를 입력하겠다는 옵션 --column-statistics=0: mysql 8.0부터 새로 지원하는 COLUMN_STATISTICS 테이블 관련 기능을 끄는(0)옵션 dump 밀어넣기 mysql -h [host] -u [user] -p [데이터베이스명] < [파일명].sql -p : 패스워드를 입력하겠다는 옵션
타입스크립트: ts2322 error 해결을 위한 서브타입 관련 개념 총정리
·
개발이야기
타입스크립트를 사용하다보면 흔히 볼 수 있는 에러가 있습니다. Type A is not assignable to type B. (2322) 위 케이스는 이해하기 너무나도 직관적이지만, 종종 저 타입 정의가 복잡해지게 되면 에러 해결에 어려움을 겪곤 합니다. 이 글에서는 이 에러 해결에 도움을 줄 수 있는 타입스크립트의 이론적인 개념들을 훑어봅니다. 서브타입과 슈퍼타입 Dog는 Animal인가요? 네 맞습니다. Animal이 Dog인가요? 아닙니다. 그러므로, Dog는 Animal의 부분집합입니다. 타입 세상에서는 더 큰 집합인 Animal을 슈퍼타입, 그 부분집합인 Dog를 서브타입이라 부릅니다. Animal을 담는 변수에 Dog를 담을수는 있지만, Dog를 담는 변수에 Animal을 담을 수는 없습니다..
한글의 유니코드 인코딩과, javascript에서 한글 문자열을 다루는 방식
·
개발이야기
개요 이 글은 컴퓨터 세상과 javascript에서 한글이 다뤄지는 방식을 알아봅니다. 오로지 대소문자 52자와 공백문자, 문장부호만 있으면 되는 영어와는 달리 한글은 자음과 모음의 조합으로 이루어져 있습니다. 한글은 그래서, 완성형과 조합형 두 가지 형태로 저장됩니다. '가' 부터 '힣' 까지의 11,172 자의 글자가 U+ AC00 ~ D7FF의 유니코드 공간을 할당받아 점유 중이고, 초성 'ㄱ'~'ㅎ' 와 모음(중성)과 종성이 U+ 1100 ~ 11FF의 공간을 점유중입니다. 이외에도 다른 한글관련 유니코드들이 있습니다. 조합형 글자들의 Normalization 문자의 Equivalence 이런 조합의 문제는 한글만이 겪는 것이 아닙니다. "가" 와 "ㄱ"+"ㅏ"가 동등한 것과 같은 성질을 동등성(..
내 포트를 잡아먹고 어디선가 돌아가고 있는 내 로컬 서비스 죽이기
·
개발이야기/토막글
IDE 사용 중 실수로 서버 등을 실행해둔 채로, IDE를 종료하여, 어떻게 종료해야 할지 모르겠을 때 사용합니다. 특정 포트를 사용하고 있는 PID를 찾아서 그 프로세스를 종료시키면 됩니다. macOS와 Linux 모두에서 적용 가능합니다. 예시) 8050번 포트를 잡아먹고 있는 내 프로세스를 죽이고 싶다면 lsof -i tcp:8050 # 혹은 netstat -vanp tcp | grep 8050 # 에서 PID 확인 후 kill -15
oh-my-zsh 설치하기
·
개발이야기/토막글
oh-my-zsh은 멍청하고 입력이 불편한 터미널을 아주 똑똑하게 만들 수 있는 툴입니다. 맥북을 처음 구매했다면, 거의 필수로 깔아야하는 툴입니다. 설치 sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" 위 커맨드만 터미널에 입력해주면 설치는 끝입니다. oh-my-zsh는 기본적으로 온갖 alias를 제공합니다. alias를 터미널에 입력하여 어떤 alias가 가능한지 리스트를 볼 수 있습니다. 저는 alias 를 많이 사용하지는 않으나, 홈으로 바로 이동시켜주는 ~ 와 현재 경로의 모든 파일을 보여주는 ls -al의 alias인 la를 가장 많이 사용하는 것 같습니다. oh-my-..
powerlevel10k로 터미널 꾸미기
·
개발이야기/토막글
맥북을 사면 가장 먼저 해야 할 일 중 하나는 역시 터미널 꾸미기입니다. 저는 powerlevel10k로 터미널을 꾸며 사용하고 있습니다. 아래 내용은 powerlevel10k readme 에서 필요한 내용만 재구성한 것입니다. 기본 환경 세팅 이전에는 iterm2와 zsh이 설치되어 있습니다. zsh은 최신 맥북 OS 에서는 iterm2에 기본으로 깔려 있습니다. 설치 과정 터미널에 아래 명령어를 순서대로 입력해줍니다. # powerlevel10k를 로컬에 설치하는 커맨드 입니다 git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k # 설치한 powerlevel10k 관련 내용을 zsh의 config 파일인 zs..
HTTP의 역사: 0.9부터 3.0까지
·
개발이야기
안녕하세요. Mozilla에서 소개된 HTTP의 역사 관련 글을 재구성해 보았습니다. https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP HTTP 기본 - HTTP | MDN HTTP는 확장 가능한 프로토콜로 리소스 및 URI(Uniform Resource Identifier), 간단한 메시지 구조, 클라이언트-서버 통신 흐름과 같은 개념에 의존합니다. 이러한 기본 개념을 토대로, 새로운 HTTP 메서드나 developer.mozilla.org HTTP란? OSI 7계층에서 애플리케이션 계층의 프로토콜입니다. 일반적으로는 TCP 및 TLS(HTTPS) 계층 위에서 동작합니다. UDP 위에서 동작 가능하게 된 것은 아래 기술할 것이나, HTTP/3..
데코레이터(Decorator)
·
개발이야기
데코레이터란 무엇인가? 디자인 패턴으로써의 데코레이터의 의미와 typescript에서의 데코레이터 사용법을 알아보자. 디자인패턴으로써의 데코레이터 구조 패턴에 속한다. AOP(Aspect Oriented Programming)의 주요 개념인 흩어진 관심사(Crosscutting Concerns)를 구현하는데 탁월하다. 아래 두 글에서 적절한 비유로 잘 설명해주고 있다. https://refactoring.guru/ko/design-patterns/decorator https://gmlwjd9405.github.io/2018/07/09/decorator-pattern.html 위 두 링크의 내용을 간단히 요약해보겠다. 우리가 알림서비스를 개발한다고 가정하자. 유저가 어떤 행동을 했느냐에 따라, SMS 알림..