본문 바로가기
반응형

전체 글281

[js] 객체안에 함수넣기 [js] 객체안에서 함수를 사용하는 방법, 조심해야할 점 1. 객체안에서 함수를 사용하는 4가지 방법 const buttonData = [ { btnBlue: "로그인", active: function test() { console.log("파란색 로그인버튼 눌림!"); }, }, { btnBlue: "검색", active: function () { console.log("파란색 검색버튼 눌림!"); }, }, { btnWhite: "로그인", active() { console.log("하얀색 로그인 버튼 눌림!"); }, }, { btnWhite: "검색", active: () => { console.log("하얀색 검색버튼 눌림!"); }, }, ]; buttonData[0].active(); but.. 2023. 3. 27.
[MongoDB, NestJS] DB 트랜잭션을 이용한 자원소비 코드 [NestJS, MongoDB] DB 자원(임계구역)에 동시접근할 때, 트랜잭션을 이용해 자원소비 제어 코드 Why? 1. DB자원이 0이하로 내려가지 않게 백엔드에서 구현한다. (자원이 0이하면 소비할 수 없고 Error처리) 2. 하지만 트랜잭션을 걸어주지 않는다면 DB 임계구역에 있는 자원에 동시에 접근하여 소비하여 자원이 동시에 -2가 되어 자원이 -1이 되는 경우가 있다. 이를 해결하기 위해 트랜잭션을 걸어주는 코드이다. (동시에 접근하는 것을 방지한다) async spendResource() { const session = await this.model.db.startSession(); session.startTransaction(); try{ // 자원이 없으면 예외처리 추가 부분 (roll.. 2023. 3. 26.
[NestJS] Entity vs DTO vs VO Entity vs DTO vs VO 정리 및 차이점 정리 Entity(ORM) 1. Entity는 실제 DB 테이블과 매핑되는 핵심 클래스이다. 2. 이를 기준으로 테이블이 생성되고 스키마가 변경된다. 3. 따라서, 절대로 Entity를 요청이나 응답값을 전달하는 클래스로 사용해서는 안된다. 4. Entity는 id로 구분된다. 그리고 비즈니스 로직을 포함할 수 있다. 5. Entity는 DTO처럼 setter를 가지는 경우 가변 객체로 활용할 수 있다. DTO(Data Transfer Object) 1. 데이터 유효성 체크, 데이터를 전달하기 위한 객체이다. 2. 계층간 데이터를 주고 받을 때, 데이터를 담아서 전달하는 바구니로 여러 레이어 사이에서 DTO를 사용할 수 있지만, 주로 View와 Cont.. 2023. 3. 25.
[js] Dayjs 라이브러리 (설치방법, i18n, 객체생성, get(), set(), DateFormat 설정 등) Dayjs 라이브러리 (설치방법, i18n, 객체생성, get(), set(), DateFormat 설정 등) Dayjs 라이브러리란? Dayjs 라이브러리는 Javascript에서 날짜/시간을 쉽게 파싱하고 계산할 수 있도록 도와주는 Date 라이브러리이다. 1. Dayjs 라이브러리 설치방법 npm install dayjs --save 2. API 참조: i18n 100여개 이상의 다국어를 지원하고 사용하지 않은 것은 빌드에 포함되지 않는다. 100여개 이상의 다국어, 자세한 locale을 확인하는 링크 https://github.com/iamkun/dayjs/tree/dev/src/locale GitHub - iamkun/dayjs: ⏰ Day.js 2kB immutable date-time lib.. 2023. 3. 24.
[js] 자바스크립트 Date객체 (기간 조회 및 날짜 계산) 자바스크립트 Date객체 (기간 조회 및 날짜 계산) 자바스크립트 Date 객체 기본적으로 자바스크립트의 Date 객체는 setMonth(), setDate()를 이용하여 날짜를 직접 지정할 수 있는 기능을 제공하고, setMonth(월 + N) 과 같은 기능을 통해 날짜 계산이 가능하다. 예) // 직접 날짜를 지정하는 방식 let birthday = new Date('February 2, 1997 03:24:00') let birthday = new Date('1997-02-2T03:24:00') let birthday = new Date(1997, 1, 2) // 월은 0부터 시작 let birthday = new Date(1997, 1, 2, 3, 24, 0) // Date의 연도에 0부터 99까.. 2023. 3. 24.
[js] 콜백지옥 코드 수정 콜백지옥이란? 1. 콜백지옥은 비동기 처리 로직을 위해 콜백 함수를 연속해서 사용할 때 발생하는 문제이다. 2. 콜백함수를 이용해서 비동기 로직처리 시, 코드가 깊어지는 것을 말한다. 3. 일반적으로 콜백지옥을 해결하는 방법에는 Promise 나 async & await를 사용하는 방법이 있다. 콜백지옥 -> Promise -> async & await 순서로 수정한다. 콜백지옥 예시 코드) class UserStorage{ loginUser(id, password, onSuccess, onError){ setTimeout(() =>{ if( id === 'kfdd6630' && password === '123' ) { onSuccess(id); } else{ onError(new Error('error.. 2023. 3. 23.
[js] try...catch, finally 정리 try...catch문, finally 블록 정리 1. try...catch문이란? 실행할 코드블럭을 표시하고 예외(exception)가 발생(throw)할 경우의 응답을 지정한다. try { // 수행하고싶은 로직을 수행한다. doSomething(); } catch (error) { console.error(error); } 위 코드에서 doSomething() 부분에서 error 발생시 console에 error가 출력된다. 2. try...catch문 문법 try { try_statements } [catch (exception_var) { catch_statements }] [finally { finally_statements }] try_statements: try 블록에서 실행될 선언들이다... 2023. 3. 23.
[js] async & await 정리 async & await 사용방법, useFul Promise APIs(Promise.all(), Promise.race()) async & await란? 1. async와 await는 자바스크립트의 비동기 처리 패턴 중 가장 최근에 나온 문법이다. 2. 비동기 방식을 사용함에 있어 Promise보다 명확한 방식이라고 할 수 있다. 3. 비동기 처리 동작은 기본적으로 callback, Promise와 동일하지만 앞 둘의 단점을 보완했다. 1 .async 사용방법 동기적 실행 // 1. Sync function fetchUser() { // 네트워크 응답이 10초 걸린다고 가정한다. return 'userName'; } const user = fetchUser(); console.log(user); con.. 2023. 3. 22.
[js] Promise 정리 Promise정리 [ State, Producer, Consumer(then, catch, finally), Promise Chaining, Error Handling ] Promise란? 1. Promise는 비동기 작업에 대한 javascript 개체이다. 2. Promise는 State라는 상태값을 가지고 Promise 생상부분과 사용부분으로 나눌 수 있다. 3. 비동기 처리 동작은 기본적으로 callback과 동일하지만 단점(콜백지옥)을 보완했다. 1) State state: pending -> fulfilled or rejected (보류 중 -> 이행 또는 거부됨) pending 상태 = 값을 아직 알 수 없을 때 (data가 정확하게 할당되지 않았을 때 등) fullfilled 상태 = 반환.. 2023. 3. 22.
[js] 콜백함수(callback) 콜백함수란? 콜백함수를 매개변수로 받는 함수 만드는 방법, 콜백지옥이란? 콜백함수(Callback function)란? 1. 콜백함수는 다른 함수에 매개변수로 넘겨준 함수를 말한다. (함수에 파라미터로 들어가는 함수) 2. 함수를 명시적으로 호출하는 방식이 아니라 특정 이벤트가 발생했을 때 시스템에 의해 호출된다. 3. 함수를 순차적으로 실행하고 싶을 때 사용한다. 콜백함수를 매개변수(parameter)로 받는 함수 만드는 방법 예제코드) function sayOne(params){ console.log(1); params(); } function sayTwo(){ console.log(2); } sayOne(sayTwo); 1. sayOne은 콜백함수 필요한 함수 2. sayTwo가 콜백함수이다. 3... 2023. 3. 21.
반응형