1. Node.js란 무엇인가Node.js는 Chrome V8 엔진으로 빌드된 JavaScript 런타임이다. "서버 언어"가 아니라 "JavaScript 실행 환경"이다. 서버, CLI 도구, 빌드 툴(Webpack, Vite), 자동화 스크립트 어디에나 쓸 수 있다.실제 사용처: Netflix, LinkedIn, PayPal, NASA, 네이버, 카카오 등이 Node.js를 서버로 사용한다.Node.js가 서버로 적합한 이유: I/O가 많고 동시 접속이 많은 서비스에 강하다. 단, CPU를 많이 쓰는 연산(이미지 처리, 암호화)에는 약하다.2. 싱글 스레드와 Non-blocking I/ONode.js는 하나의 메인 스레드로 코드를 실행한다. 그런데 어떻게 동시에 여러 요청을 처리할 수 있을까?핵심은 ..
1. API란 무엇인가API(Application Programming Interface)는 애플리케이션을 프로그래밍할 때 복잡한 내부 구현을 숨기고 필요한 기능만 제공하는 도구다. console.log(), print()처럼 내부 동작을 몰라도 함수만 호출하면 된다.어려운 것은 감추고 쉽게 상호작용할 수 있게 해주는 것이 인터페이스고, API는 그 개념을 애플리케이션 영역으로 가져온 것이다.클라이언트-서버 통신에서의 API는 이 개념의 부분 집합이다. 서버가 어떻게 데이터를 처리하는지는 몰라도, 정해진 URL과 HTTP 메서드로 요청하면 약속된 응답이 돌아온다.요청 흐름: 클라이언트(Browser/App) → HTTP 요청 → API Server(Express/Node.js) → 쿼리 → Databas..
📌 본 서평은 출판사로부터 도서를 제공받아 작성한 서평입니다.처음이라 막막했던 리액트 입문기컴퓨터공학을 전공했지만, 아직 개발이라는 것을 제대로 경험해보지 못했을 때가 있었다. 프론트엔드인지 백엔드인지, 아니면 웹 개발이 아닌 전혀 다른 분야의 개발을 공부해야 할지 감조차 잡지 못했던 시기였다. 졸업은 코앞인데 개발자로서 바로 취업할 수 있을지, 전공자임에도 스스로에 대한 자격지심이 있었다. 그러던 중 인프런에서 이정환 저자의 동명 강의를 알게 됐고, 일단 무조건 완강을 해보자는 목표 하나로 덜컥 강의를 구매했다. 그렇게 처음 리액트와 인연을 맺었고, 이번 서평단 기회를 통해 그 강의를 바탕으로 탄생한 『한 입 크기로 잘라 먹는 리액트(개정판)』를 다시 만나게 됐다. 오래된 친구를 다시 만나는 것 같으..
SQL 워밍업도서관 ERD(member, book, book_category, rent, book_likes)를 기준으로 연습했다.기본 조회"소설" 카테고리의 모든 책을 조회한다.SELECT b.name, b.descriptionFROM book bJOIN book_category bc ON b.book_category_id = bc.idWHERE bc.name = '소설';집계 함수회원별 대여 횟수 상위 5명을 조회한다.SELECT m.name, COUNT(*) AS rent_countFROM member mJOIN rent r ON m.id = r.member_idGROUP BY m.id, m.nameORDER BY rent_count DESCLIMIT 5;GROUP BY에 m.id, m.name을 ..
SQL 분류SQL은 기능에 따라 네 가지로 분류된다. 각 분류가 다루는 대상이 다르므로 구분해서 이해하는 것이 중요하다. 분류 전체 이름 대상 주요 명령 DDL Data Definition Language 테이블·스키마 구조 CREATE, ALTER, DROP, TRUNCATE DML Data Manipulation Language 테이블 안의 데이터 SELECT, INSERT, UPDATE, DELETE DCL Data Control Language 사용자 권한 GRANT, REVOKE ..
SQL vs NoSQL관계형 데이터베이스(SQL)와 비관계형 데이터베이스(NoSQL)의 차이는 단순히 문법이 아니다. 데이터를 어떤 방식으로 저장하고 조회하느냐의 차이다. 구분SQL (관계형)NoSQL (비관계형) 스키마사전 정의 필수유연 (없거나 동적) 데이터 구조테이블 (행/열)key-value, document, graph 등 관계 표현외래키(FK)중첩 구조 또는 참조 일관성강함 (ACID 보장)최종 일관성 (BASE: Basically Available, Soft state, Eventually consistent) 확장 방식수직 확장 (Scale Up)수평 확장 (Scale Out) 트랜잭션완전 지원제한적 조인JOIN으로 테이블 결합조인 미지..