반응형 분류 전체보기136 [DB] Prepared Statement란? Prepared Statement는 데이터베이스 쿼리를 실행 할 때 쿼리를 미리 준비하고 실행할 때 필요한 값만 바인딩하여 사용하는 방식이다. 일반적으로 SQL 쿼리를 실행할 때와 달리, Prepared Statement는 SQL 구문과 데이터 값을 분리하여 처리한다. 이러한 방식은 SQL Injection 공격을 예방하고, 반복적인 쿼리 실행 성능을 향상시키는 등 여러 가지 장점을 제공한다. 일반 Statement의 동작 방식일반적으로 SQL을 실행할 때 다음과 같은 단계를 거친다.SQL 문자열 생성--예시SELECT * FROM users WHERE name = 'Alice'; 2. 파싱 (Parsing) : SQL 문법을 검사하고, 쿼리 구조를 분석한다. 3. 컴파일(Complie.. 2025. 6. 10. [NestJS] TypeError: Do not know how to serialize a BigInt 문제 해결 개발을 진행하던 도중 만난 에러. 이 api를 호출했을 때 에러도 뱉어내지 않고 계속해서 응답이 오지 않는 상황이 벌어졌다. 서비스 단에서의 문제인가 봤더니 문제가 없었고 리턴 값에 console.log를 찍어봐도 잘 나오는데 리턴만 안됐다. gpt한테 바로 물어보니... 라길래 바로 json으로 강제로 직렬해보았다. 그랬더니 발생한 에러 TypeError: Do not know how to serialize a BigInt 이는 응답 데이터를 Nestjs에서는 JSON.stringify()로 직렬화할 때 BigInt 타입이 포함되어 있으면 발생하는 에러이다. 데이터가 많아질 거 같아 한 테이블의 pk 타입을 bigint로 설정했더니 이런 문제가 발생한 것이였다. 가장 안전하고 간단한 방법은 모든 Bi.. 2025. 5. 29. [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. [Git] 원격 브랜치 로컬로 가져오기 이 간단한 걸 매번 까먹어서 적는 포스팅... 원격 브랜치를 로컬로 가져오기 위해서는 다음과 같은 작업을 거친다. - git remote update원격 브랜치 업데이를 한다. - git branch -r원격 브랜치를 확인한다. - git checkout -t [원격 브랜치]원격 브랜치를 가져온다. -t 옵션은 로컬에서 원격 브랜치를 tracking 하겠다는 의미이고, 브랜치 이름은 원격과 같은 이름으로 생성된다. 만약에 로컬 브랜치 이름을 원격과 다르게 설정하고 싶다면 - git checkout -b [생성할 새 브랜치] [원격 브랜치] 라고 명령어를 실행하면 된다. 2025. 5. 2. 이전 1 2 3 4 ··· 34 다음 반응형