본문 바로가기
반응형

자바스크립트11

[JavaScript] 이벤트 루프에 대해서... 이벤트 루프는 자바스크립트의 비동기 처리 메커니즘으로, 싱글 스레드 환경에서도 비동기 작업(예: 타이머, 네트워크 요청 등)을 처리할 수 있게 도와주는 비동기 실행 모델이다. 자바스크립트는 기본적으로 한 번에 하나의 작업만 처리할 수 있는 싱글 스레드 언어지만, 이벤트 루프 덕분에 비동기 처리가 가능해진다. 동작 원리1. 콜 스택 (Call Stack)실행 중인 함수들이 쌓이는 스택이다.가장 위에 있는 함수가 실행되며, 실행이 끝나면 스택에서 제거 된다.2. 웹 API / 백그라운드 작업브라우저나 Node.js 런타임이 제공하는 기능 (예: setTimeout, fetch, 이벤트 리스너)이 실행된다.비동기 작업은 콜 스택에서 바로 실행되지 않고, 백그라운드로 넘겨진다.3. 태스크 큐(Task Queue.. 2025. 3. 26.
[js] forEach와 비동기 작업(Transaction API error: Transaction already closed: Could not perform operation 발생!) 외주 작업을 하던 도중에  Transaction API error: Transaction already closed: Could not perform operation 라는 에러를 만났다. 해당 코드는 다음과 같은데  await this.prisma.$transaction(async (tx) => { const maxCombineNum = await tx.order.aggregate({ ... }); //원하는 데이터에서 +1 let newCombineNum = maxCombineNum._max.combineNum + 1; //위에 newCombineNum.. 2024. 5. 31.
[JS] var, let, const의 차이를 알아보자 var, let, const는 자바스크립트에서 변수를 선언할 때 사용하는 키워드이다. 그렇다면 이 세 키워드의 차이는 무엇일까. 바로 변수의 스코프와 값 변경 가능성이다.(스코프란 변수와 함수 등의 식별자가 유효한 범위를 제한하는 개념이라고 할 수 있다.) var 키워드는 ES5 이전부터 사용되던 변수 선언 방식이다. 함수 스코프를 가지며, 변수의 값 변경이 가능하다. var 키워드는 변수를 재선언 할 수 있다. function varTest() { var a = 1; if(true){ var a = 2; console.log(a); //2 } console.log(a); //2 } varTest(); console.log(a); // ReferenceError: a is not defined let은 .. 2024. 3. 1.
[SQL] SQL 특정 문자 제거하기 한창 회사에서 개발 중에 계좌번호를 입력했을 때 ' - ' 표시가 있어 중복으로 계좌번호가 입력되는 현상이 있어 수정 요청이 들어왔다. 1333-3333과 13333333은 같은 계좌인데 중복 등록 된다는 것. 그래서 데이터를 디비에 저장할 때 체크하는 과정을 거쳐야 했다. 쿼리 문에서 특정 문자를 제거 하여 체크하도록 하였다. 먼저 입력 받은 데이터에도 ' - ' 표시를 제거 했다. 그리고 데이터베이스에서 해당 계좌번호가 있는지 확인을 하는 쿼리를 날려야 하는데 이 때 where 조건에 함수를 추가해 ' - '를 없애게 했다. 이렇게 쿼리를 주게 되면 '-' 표시가 ''로 바뀌게 되어 공백 없이 숫자로만 조건을 걸 수 있다. 2023. 9. 20.
반응형