저번 글에 작성했던 가게에 대한 정보와, 가게의 좋아요 목록을 가져오는 코드를 서로 영향을 주지 않기 때문에 promise.all을 통해 병렬처리 하여 가져왔다.하지만 팀원분이 이 코드는 문제없이 동작하지만 Database의 조회 이외의 작업을 할때는 위험한 코드라고
async-await은 태스크의 순서가 보장되어야 할 때는 분명 강력하지만, 각각의 태스크가 서로 연관성이 없는 작업일 때는 앞의 작업이 끝날 때까지 기다릴 필요가 없다. 따라서 우리는 이때 다른 방법을 택해야한다.Promise.all은 여러 비동기 동작(프라미스)을
try-catch는 모든 에러를 처리할 수 있을까? 또한 이런 경우 func1~func4번 각각 함수마다 try-catch를 작성해줘야 할까?try-catch전에 먼저 throw에 대해 알아보자. 우리는 throw를 통해서 강제로 예외를 발생시킬 수 있다. 하지만 보통
저번 글에서 callback함수에 따른 js의 비동기 처리, 그리고 callback함수의 불편함에 의한 promise의 사용법을 알아보았다.이번 글에선, 이렇게 만들어진 promise객체를 반환하는 함수를 더욱 직관적으로 만들어 주는 await/async에 대해 알아보
저번글에서 js는 비동기적 아니라 동기적으로 동작하고,web api (nodejs에선 c++ api) 때문에 js가 비동기적으로 동작하는 것처럼 보이는 것을 알았다.그렇다면, 어떻게 비동기적으로 작동하는 코드를 순차적으로 수행할 수 있을까?저번 글에 따르면 consol
js는 특정 코드의 실행이 끝나는걸 기다리지 않고 다음 코드를 실행한다.setTimeout을 기다리지 않고 console.log('3')이 먼저 실행되기 때문에.위 코드는 1 -> 3 -> 2 순서로 콘솔에 찍힌다.그렇다면 js는 비동기적 실행되는 언어이구나 라는 생
mongo db와 server를 연결을 하고 난뒤 작업에서 갑자기 이런 에러가 나며 연결되지 않았다.branch를 옮기며 mongo관련 라이브러리를 설치하지 않았나 했지만 아니였다.팀원분의 node version은 16이였고, 나의 node version은 18이였다.
프로젝트에서 가게, 가게리뷰, 가게 좋아요 관련 CRUD를 만들때 api 경로에 대한 지적을 받았다.REST API를 지켜야하는 이유는 RESTful API는 일관성 있는 디자인 원칙과 표준화된 방법을 따르기 때문에, 다른 개발자나 팀이 API를 이해하고 사용하기 쉽다
이전에 개발을 할때는 REST API원칙을 지키지 않으며 개발을 해왔다. 사실 REST API가 뭔지도 잘 알지 못하고 그냥 서버의 url중 하나라고만 생각하고 있었다.이번 프로젝트에서는 REST API원칙을 최대한 지켜가며 개발을 하고 있다.API는 Applicati
프로젝트를 하며 로그인을 성공시킨다음 서버가 redirect를 시켜 다음 페이지로 넘어갈 것인가 Front측에서 자체적으로 페이지를 넘길 것인가에 대해 질문을 하였다.사실 뭔가 redirect가 안좋은 것 같다.. 정도로만 생각하고 있었다. redirect를 자주 사용
client가 보낸 body에 담긴 데이터가 server로 전달된다.body에 담긴 데이터는 해당 요청에 맞 requestDTO 객체로 씌워진다.그 객체는 validation 검사를 통해 데이터가 유효한지 검사한 다음,해당 서비스에 맞는 객체로 씌워져 서비스로 보내진다
클래스는 단 한개의 책임을 가져야 한다.클래스를 변경하는 이유는 단 하나여야 한다.기존의 코드를 변경하지 않고, 기능을 수정하거나 추가할 수 있도록 설계해야 한다.객체지향의 가장 큰 장점인 유연성, 재사용성, 유지보수성을 지키기 위함이다.하위 타입 객체는 상위 타입 객
"List Open Files"의 약자로, 현재 시스템에서 열린 파일 및 네트워크 소켓에 대한 정보를 출력하는 명령어입니다.6379 port를 모두 사용하는 프로세스를 출력현재 디렉토리에서 확장자가 .txt인 파일 중에서 'hello'라는 문자열이 포함된 모든 행을 출
도커 컨테이너는 서로 격리된 공간에서 실행되기 떄문에 다른 컨테이너와 통신이 불가능하다. 하지만 여러개의 컨테이너를 하나의 Docker 네크워크에 연결시키면 서로 통신이 가능해진다.
Dockerfile을 위와 같이 작성해주고Dockerfile에 정의해준대로 우리의 서버를 to1step이라는 이미지로 만들어준다.이미지가 1.15GB를 차지하는 모습을 볼 수 있다.node:16과 node:16-alpine은 둘 다 Docker Hub에서 제공하는 No
도커는 애플리케이션을 컨테이너에 담아 배포하고 실행할 수 있도록 하는 오픈소스 프로젝트이다.컨테이너는 가상화 기술 중 하나로, 운영체제 수준에서 격리된 환경에서 애플리케이션을 실행할 수 있도록 해준다.도커는 컨테이너를 사용하여 애플리케이션을 개발, 배포, 실행하기 위한
예시) front - [signUp ui] @gkqkehs7 back - [signUp api] @gkqkehs7 어짜피 최종 merge할 시 squash merge할 테니 중간에 이런 commit해서 올리는 것은 상관없음 최종 commit만 저 형식에 맞추어 올
github에 만들어 놓은 repository주소를 origin이라 한다.github와 연결하기연결여부 확인원격 저장소와 연결 해제origin의 master라는 branch에 업로드하면서 병합하는 push명령어fetch를 사용하면 원격저장소에 있는 데이터들을 로컬로 받
만약 commit을 위처럼 작성했는데 commit을 하나로 압축하려면 어떻게할까?git rebase를 사용하면 된다.단 현재에서 과거로 압축해야한다. 압축할 목적지는 pick이 되고 압축하면서 사라질 commit은 squash가 된다.위와 똑같은 상황을 연출하였다.gi
세번째 사진을 찍고 commit을 했는데 commit 메세지를 잘못입력해서 바꾸고 싶다면 어떻게 해야할까?git reset을 사용하면 된다. reset에는 3가지 종류가 있다. 하나씩 살펴보자.reset soft는 사진첩에서 사진만 지우는 것이다.reset soft를