본문 바로가기

반응형

전체 글

(367)
[Node.js] 스레드 풀 스레드 풀 노드(Node.js)에서 스레드 풀(thread pool)은 I/O 작업을 처리하는 데 사용되는 스레드의 집합입니다. 노드는 기본적으로 싱글 스레드로 동작하므로, 블로킹되는 I/O 작업(예: 파일 시스템 액세스, 네트워크 호출 등)을 처리할 때는 이러한 작업을 비동기적으로 수행하는 것이 중요합니다. 이를 위해 노드는 내부적으로 스레드 풀을 사용하여 I/O 작업을 비동기적으로 처리합니다. 노드의 스레드 풀은 기본적으로 4개의 스레드를 사용합니다. 이는 libuv 라이브러리에서 관리됩니다. 각 스레드는 I/O 작업을 처리하고, 작업이 완료되면 콜백 함수를 호출하여 결과를 반환합니다. 이렇게 함으로써, 노드는 I/O 작업을 비동기적으로 처리하면서도 블로킹되지 않고, 다른 작업을 처리할 수 있습니다...
[리액트 에러] react-dom.development.js:16317 Uncaught Error: Too many re-renders. Re 문제의 에러 react-dom.development.js:16317 Uncaught Error: Too many re-renders. React limits the number of renders to prevent an infinite loop. 문제의 코드 const MoviesCard = () => { const [alert, setAlert] = useState(""); const navigate = useNavigate(); const searchDate = useSelector((state: SearchDateType) => { const results = state.sortBySearch.data.results; // results가 undefined가 아닐 때 results.length <..
[단순용어] 자바스크립트에서 함수형 프로그래밍의 정의/장점/단점 함수형 프로그래밍이란? 프로그램을 함수들의 집합으로 생각하고 이러한 함수들을 조합하여 프로그램을 작성하는 프로그래밍 패러다임입니다. 함수형 프로그래밍의 예 위의 코드에서 square() 함수는 입력값 x에 대한 출력값만을 반환하므로 순수 함수입니다. add() 함수는 함수를 반환하는 고차 함수로서, 함수형 프로그래밍에서는 자주 사용됩니다. filter() 함수와 map() 함수는 배열을 다루는 함수 중에서 가장 자주 사용되며, reduce() 함수는 배열의 값을 하나의 값으로 축약하는 데 자주 사용됩니다. 이러한 함수들은 부작용이 없는 순수 함수로 구현되어 있어, 함수형 프로그래밍에서 주로 사용됩니다. // 순수 함수 예시 function square(x) { return x * x; } // 고차 함수..
[단순용어] 메모리 누수 메모리 누수의 의미와 원인 메모리 누수(memory leak)는 프로그램에서 동적으로 할당된 메모리를 사용한 후 해제하지 않고 계속 보유하고 있는 상태를 말합니다. 이러한 상태는 프로그램이 더 이상 필요하지 않은 메모리를 계속 보유하게 되어, 메모리 사용량이 계속해서 증가하는 문제를 발생시킵니다. 메모리 누수는 일반적으로 다음과 같은 원인으로 발생합니다. 할당된 메모리를 해제하지 않는 경우 할당된 메모리를 참조하는 포인터가 삭제되지 않은 경우 잘못된 포인터 참조로 인해 메모리가 해제되지 않은 경우 잘못된 메모리 사용으로 인해 메모리 누수가 발생하는 경우 메모리 누수는 메모리 사용량이 지속적으로 증가하여, 시스템 성능 저하나, 최악의 경우 시스템이 다운되는 결과를 초래할 수 있습니다. 이를 방지하기 위해서..
[단순정리] 자바와 노드 / CPU 바운드 작업과 I/O 바운드 작업 Node.js의 장점: 비동기 프로그래밍: Node.js는 비동기 I/O 처리를 지원하여 빠른 속도와 효율적인 메모리 사용을 가능하게 합니다. 쉬운 스케일링: Node.js는 비교적 단순한 구조를 가지고 있으며, 여러 개의 프로세스로 쉽게 스케일링할 수 있습니다. 자바스크립트: Node.js는 자바스크립트 기반으로 만들어졌으므로, 웹 개발자들에게 다루기 쉬운 문법과 프레임워크입니다. 커뮤니티: Node.js는 대규모 커뮤니티를 가지고 있으며, 많은 개발자들이 활발하게 개발을 진행하고 있습니다. Node.js의 단점: 단일 쓰레드: Node.js는 단일 쓰레드 모델을 사용하기 때문에 *CPU 바운드 작업에서는 성능이 저하될 수 있습니다. 메모리 누수: Node.js는 자바스크립트 언어 특성상, 메모리 누수..
[단순용어] nestjs의 prisma 와 ORM prisma 는 뭐야 NestJS는 TypeScript로 작성된 Node.js 프레임워크입니다. NestJS는 데이터베이스 작업을 수행하기 위해 여러 가지 ORM(Object-Relational Mapping)을 지원합니다. 그 중 하나가 Prisma입니다. Prisma는 ORM으로서, TypeScript와 JavaScript에서 작성된 데이터베이스 작업을 단순화하고 안전하게 만들어줍니다. Prisma는 데이터베이스에 대한 타입 안정성을 제공하며, 쿼리 작성을 보다 쉽게 만들어줍니다. NestJS에서 Prisma를 사용하면 데이터베이스 작업을 더 쉽게 수행할 수 있습니다. Prisma는 NestJS에서 TypeORM과 Sequelize와 같은 다른 ORM과 함께 사용할 수도 있습니다. Prisma를 사용..
[단순용어]비즈니스 로직(Business Logic) 비즈니스 로직(Business Logic)은 애플리케이션의 핵심적인 기능을 구현하는 코드로, 비즈니스 규칙에 따라 데이터를 처리하고, 처리된 결과를 반환하는 역할을 합니다. 비즈니스 로직은 애플리케이션의 목적과 사용자 요구에 따라 다르며, 일반적으로 다음과 같은 역할을 합니다. 데이터 검증: 입력된 데이터의 유효성을 검사하고, 필요한 경우 오류를 반환합니다. 데이터 가공: 입력된 데이터를 기반으로 계산이나 연산을 수행합니다. 데이터 조작: 데이터베이스에 데이터를 저장하거나, 수정, 삭제 등의 작업을 수행합니다. 예외 처리: 예기치 않은 상황이 발생했을 때, 적절한 예외 처리를 수행합니다. 비즈니스 로직은 애플리케이션의 핵심 기능을 담당하며, 애플리케이션의 성능과 안정성, 유지 보수성 등에 영향을 미칩니다..
[js] Web Speech API 를 이용해 음성인식 가능한 검색창 만들기 체험하기 및 코드 확인 - ⏺️ 클릭 시 음성녹음 동의 창이 뜨고 동의를 누르면 녹음이 시작됩니다. - 일정시간이 지나면 인식된 음성이 텍스트로 전환되어 input 창에 나타납니다. - 만일 녹음 도중에 중지하고자 한다면 🛑 버튼을 클릭하면 일정 대기 시간 없이 즉시 종료 됩니다. - 만일 여기서 실행이 안 된다면 아래 표의 우측 상단의 코드팬 로고를 클릭하면 해당 사이트에서 실행해볼 수 있습니다. HTML 삽입 미리보기할 수 없는 소스 HTML 코드 🔎 ⏺️ 🛑 JS 코드 const searchConsole = document.getElementById("search_console"); // ----- 현재 브라우저에서 API 사용이 유효한가를 검증 function availabilityFunc() {..

반응형