본문 바로가기
반응형

nodejs13

[Prisma] $executeRawUnsafe와 $queryRawUnsafe() 차이 $executeRawUnsafe()와 $queryRawUnsafe()는 둘 다 Prisma에서 raw query를 직접 실행할 때 사용하는 함수이다. 하지만 당연히 차이가 있기 때문에 나눠진게 아니겠는가? 그 차이를 알아보자. $executeRawUnsafe()이 함수는 INSERT/UPDATE/DELETE 같은 실행만하고 결과를 받지 않는 쿼리에서 사용이 된다. 이 함수의 리턴 값은 쿼리에 의해 영향 받은 row의 수를 리턴하게 된다. 따라서 결과 데이터는 받을 수 없다. const count = await prisma.$executeRawUnsafe( `UPDATE "User" SET active = false WHERE last_login $queryRawUnSafe() 이 함수는 SELECT.. 2025. 4. 22.
[AI] 간단한 AI api 호출로 nsfw 컨텐츠 검수해보기 이직하고난지 한달도 되지 않아... 이전 회사의 ai 서비스 개발 경험을 바탕으로 새로운 업무를 맡게 되었다. 이른바 ai를 통해 nsfw 컨텐츠 검수 필터링 기능 도입이였다. 크리에이터와 팬을 잇는 서비스의 특성 상 이런 센슈얼한 이슈가 될 수 있는 컨텐츠는 필연적인 바... 현재 회사에는 모든 검수가 수동으로 이루어지고 있다고 했다. 해당 담당자의 화면에는 모든 포스트를 열람할 수 있는 화면이 뜨고 거기서 담당자가 문제가 될 만한 컨텐츠인지 아닌지를 직접 확인하고 있던 상황.. 이런 상황이기 때문에 당연히 담당자가 놓치거나하는 이슈가 발생할 수 있기 때문에 이 부분에서 ai를 통해 센슈얼한 컨텐츠만 필터링을 해서 볼 수 있는 기능이 요구 사항이였다. 처음 기존 담당자가 진행했던 부분은 직접 모델을 학.. 2025. 4. 22.
[JavaScript] 이벤트 루프에 대해서... 이벤트 루프는 자바스크립트의 비동기 처리 메커니즘으로, 싱글 스레드 환경에서도 비동기 작업(예: 타이머, 네트워크 요청 등)을 처리할 수 있게 도와주는 비동기 실행 모델이다. 자바스크립트는 기본적으로 한 번에 하나의 작업만 처리할 수 있는 싱글 스레드 언어지만, 이벤트 루프 덕분에 비동기 처리가 가능해진다. 동작 원리1. 콜 스택 (Call Stack)실행 중인 함수들이 쌓이는 스택이다.가장 위에 있는 함수가 실행되며, 실행이 끝나면 스택에서 제거 된다.2. 웹 API / 백그라운드 작업브라우저나 Node.js 런타임이 제공하는 기능 (예: setTimeout, fetch, 이벤트 리스너)이 실행된다.비동기 작업은 콜 스택에서 바로 실행되지 않고, 백그라운드로 넘겨진다.3. 태스크 큐(Task Queue.. 2025. 3. 26.
[Redis] Redis를 이용한 동시성 이슈 해결 실습해보기 - SETNX 사용 방법 동시성 문제란?여러개의 프로세스나 스레드가 동시에 같은 리소스, 예를 들자면 데이터베이스나 캐시, 파일 등에 접근 할 때 예상 치 못한 데이터 충돌, 중복 실행, 무결성 문제가 발생하는 상황이다. 대표적인 예시로는 재고 감소, 중복 결제 방지, 특정 작업의 중복 실행 방지 등이 필요 할 때 동시성 제어가 필요하다.  Redis를 이용한 동시성 해결 방법 Redis를 활용하여 분산 락(distributed lock)을 사용하면, 하나의 작업이 끝날 때까지 다른 프로세스가 동일한 리소스를 변경하지 못하도록 막을 수 있다. Redis를 이용한 대표적인 동시성 해결 기법은 다음과 같다SETNX (SET if Not Exists) 사용Redlock 알고리즘 (분산 락 강화 버전) 사용이 두가지 방법을 nodejs.. 2025. 2. 20.
반응형