본문 바로가기

전체 글138

[Node.js] 콜백함수(Callback Function), 이벤트 루프(Event Loop) 쉬운개념 정리 ✅콜백함수(Callback Function)란? 정의 : 함수에 파라미터로 전달되는 함수 일반적으로 콜백함수는 비동기 작업의 완료 처리, 이벤트 처리 등에 많이 사용되는 패턴 콜백함수란 크게보면 단순히 다른 함수에 전달되어 나중에 호출 되는 함수를 의미한다. 비동기 작업의 완료 처리뿐만 아니라, 동기 작업에서의 특정 이벤트처리, 에러처리, 반복작업에도 활용할 수 있다! ex) 콜백함수를 사용하여 동기작업을 수행하는 예시 function processArray(array, callback) { for (let i = 0; i < array.length; i++) { const result = callback(array[i]); console.log(`결과: ${result}`); } } function s.. 2023. 7. 19.
[CS] Database에서 정규화(Normalization)란? ✅정규화(Normalization)란? 관계형 데이터베이스의 설계에서 중복을 최소화하여 데이터를 구조화 하는 프로세스 정규화의 목표 : 테이블 간에 중복된 데이터를 허용하지 않는 것, 즉 무결성을 유지하며 DB의 저장 용량을줄인다 ✅정규화(Normalization)의 절차! 정규화의 절차는 아래와 같이 순차적으로 진행되는데, 밑에 쉽게 설명을 해놓았으니 참고바람! ✅제 1 정규화(First Normal Form, 1NF) 정의: 테이블의 컬럼이 원자값(Atomic Value, 하나의 값)을 갖도록 테이블을 분해하는 것 위의 테이블에서 추신수와 박세리는 여러개의 취미를 가지고 있기 때문에 제 1 정규형을 만족하지 못한다. 그렇기 때문에 이를 아래와 같이 제 1 정규화 하여 분해할 수 있다. ✅제 2 정규화.. 2023. 7. 5.
[CS] 쓰레드와 쓰레드 풀 ✅Summary 쓰레드 : 프로세스 내에서 실행되는 실행 단위 쓰레드 풀 : 쓰레드를 미리 생성해두어 작업처리에 사용되는 쓰레드를 제한된 개수만큼 정해놓고 작업 큐에 들어오는 작업들을 하나씩 쓰레드가 맡아 처리하는 기법 ex) 치킨집에서 직원이 필요할때마다 구인하는 것이 아니라 뽑아놓고 일을 분담 쓰레드 풀의 장/단점 장점: 쓰레드를 생성/수거하는데 비용이 들지 않으므로 시스템 자원을 줄일 수 있다. 단점: 쓰레드를 너무 많이 생성해 두었다가 사용하지 않으면 메모리 낭비가 발생 ex) 직원이 많으면 월급만 나가니까 ✅프로세스와 쓰레드의 차이 👉프로세스 : 상가 건물을 컴퓨터라고 한다면 치킨집은 프로세스 : ex) 상가안의 식당들은 배정된 자신의 공간과 돈이 있다. 즉 컴퓨터 안에 각 프로세스가 존재 : .. 2023. 7. 5.
230703 실전프로젝트25 [PostgreSQL] 프로젝트 기술적 의사결정 ✅오늘 학습 Keyword [PostgreSQL] 팀 프로젝트 DB를 PostgreSQL로 정했고 노션에 기술적 의사결정이 정리되어있지만 구체적으로 고찰할 필요성을 느꼈다. ✅왜 MySQL이 아닌 PostgreSQL을 썼는가? 1. 공간 데이터 지원 PostgreSQL은 PostGIS라는 확장을 통해 공간 데이터를 지원한다. 공간 indexing을 사용하여 검색을 최적화할 수 있다고 판단했다. 2. 대규모 데이터 베이스 PostgreSQL은 확장성이 뛰어나고 대용량 데이터 베이스에서 잘 동작한다. 식당, user, reveiw등 900만 이상의 데이터를 핸들링하기에 적합하다고 판단했다. 3. MySQL 은 단순히 읽기/쓰기 작업에서는 더 빠른 성능을 보일 수 있지만 복잡한 쿼리 및 특정 작업에서는 불리할.. 2023. 7. 3.