전체 글(101)
-
[DEV] 병렬처리와 Lock
병렬처리에 대한 이슈. 중급/고급 개발로 갈 때 마주치는 문제들.. 병렬 처리 & 병행 처리 병렬: 하나의 task를 한 명이 처리 하다 두명 , 세명등으로 나누는. 병행: 하나의 task는 하나의 프로세스가 처리 ## why? node.js는 single thread. single thread성능 한계. 대부분 cpu가 멀티 코어로 나오고 있고, 이렇게 멀티 코어로 나온 코어를 동시에 활용하는 게 성능이 더 높다 ## 장점만있나 1. cpu 숫자에 따라서 어떻게 처리를 할 지 선택을 해야함 ex) cpu core숫자에 * 2 해서 처리하도록 개발자가 주는게 적절. 너무 많으면 너무 큰 오버헤드를 발생 * 함수형 프로그래밍이 이런 병렬 처리를 하는 데 적합하게 됨 2. 공유 자원의 접급 문제 병렬적으로 ..
2022.06.08 -
[NestJS] monorepo nestJS 구조
최근 nestJS를 쓰는데 하나의 레포지토리(저장소)에서 여러 프로젝트에 접근하는 방식을 수집 및 정리하려 합니다. 사실 회사에서는 msa로 구조를 바꾸면서 사수분이 express + typescript + typedi + routing-controllers 대략 이런 조합으로 apps/libs를 나눠서 컨벤션을 만드셨는데 nest에서도 비슷하게 제공해주고 있었습니다. 따로 빌드되는 이점이 크다고 하셨는데.. 자바 스프링 진영에서 사용되는 구조에서 오는 이점을 활용하려고 하신듯합니다! nestJS를 쓰면 자유도를 크게 안주고 팀원끼리 구조를 맞출 수 있으니! 한 번 정리해보고자 합니다😄 단일 repository의 장점 - 시스템이 어떻게 연관되어 있는 지 쉽게 이해 - 유틸리티 함수같이 코드 공유에 대한..
2022.05.24 -
[golang] WSL에서 golang 세팅
wsl로 개발환경 세팅을 하면서 golang 스터디를 진행해보고자 합니다. 사전 준비 wsl2 설치 remote-wsl 설치 : vscode에서 wsl사용 wsl 에서 golang 설치 >> sudo apt update >> sudo apt install golang-go 차례로 설치 후 version 확인해서 version이 나오면 설치 완료! go version 어디서든 Go 실행 파일을 수행할 수 있게 GOPATH의 bin 경로를 세팅 go프로젝트는 아무곳에나 만드는 게 아니라 $GOPATH를 잡고 만들어 작업 공간을 구성하는 게 관리상 굿. golang 다운로드 wget https://dl.google.com/go/go1.15.3.linux-amd64.tar.gz 압축 풀기 sudo tar -xv..
2021.12.04 -
[Redis] WSL를 이용해 Redis window에서 설치 (Window Subsystem Linux)
* Redis는 캐시 메모리로 DB에 콜을 하지 않고 Redis에 담았다가 Redis의 데이터를 빠르게 가져올 수 있어 효율적인 관리가 가능해집니다. *window에서는 지원을 안하는데 window용 모듈을 지원해 설치하는 방법도 있었는데, WSL이라는 window의 sub-system linux로 우분투 LTS를 이용할 수 있는데 이 방법으로 설치를 해보겠습니다. WSL 설치 1. Microsoft store에서 ubuntu를 치면 다양한 버전이 나오는데 글을 쓰는 시점에 20.04 LTS가 나와서 설치를 해주시면 됩니다. (저는 설치를 한 상태라 시작으로 나옵니다!) 2. 이후 username과 password를 입력하라고 나오는 창에서 입력해주시면 됩니다. (18.04버전으로 다시 설치해서 예시를 ..
2021.07.24 -
husky , lint-staged로 git hook하기 - 컨벤션 세팅
사전에 eslint, prettier가 설치되었다는 가정하에 작성한 글입니다! npm install --save-dev -g eslint global 설치 했다는 가정하게 코드를 작성했습니다. 아니라면 직접 node_modules의 bin파일에서 CLI (command line interface) 명령어를 입력하도록 package.json에 넣어줘야 합니다! // global 설치 안 한 경우 ./node_modules/.bin/eslint --fix . // global 설치한 경우 eslint --fix . *프로젝트 전역에서 작동하는 지 확인해보시고 판별해서 사용하시면 될 것 같습니다. git hook? git commit , git push하기 전에 갈고리로 낚아 채오는 것을 git hook이라 ..
2021.03.25 -
[Next.js] Next.js 정리 노트
why Next.js ? next.js -> 리액트 기반의 프레임워크로 서버 사이드 렌더링(SSR)을 지원하는 프레임워크라 SEO같은 것들을 쉽게 적용할 수 있다. npx로 설치하지 않고 'create-next-app'이란 명령어로 생성 'create-react-app'이 아니다. npx create-next-app nextjs-tutorial 설치 후 package.json에서 확인 npm run dev 명령어로 실행시켜 로컬환경에서 돌려볼 수 있다. UI 프레임워크 사용 ( sementic ui ) sementic uinpm install semantic-ui-react semantic-ui-css sementic uinpm install semantic-ui-react semantic-ui-css ..
2021.02.01