반응형 프로그래밍 언어22 [kotlin] null safety 코틀린에서는 변수를 선언할 때 이 변슈가 nullable한 변수인지, non-null, null이 들어갈 수 없는 변수인지 지정을 할 수가 있다 . 예를 들어보자. var name: String = "test"name = null // errorvar nullableName: String? = 'test'nullableName = null 이렇게 하게 되면 name이라는 변수는 null을 할당할 수 없기 때문에 에러가 나지만 nullableName은 nullable하게 선언했기 때문에 에러가 나지 않는다. 또 한 가지 예시를 들어보자. name.length //값이 있는게 확실하기 때문에 에러 안남nullableName.length //컴파일 에러 name 변수는 값이 있는게 확실하기 때문에 name... 2025. 5. 6. [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. 이전 1 2 3 4 ··· 6 다음 반응형