목록전체 글 (160)
개발자공부일기
1. 트랜잭션이란 무엇인가?트랜잭션(Transaction)은논리적으로 한 번에 처리되어야 하는 작업들의 묶음이라고 이해하면 된다.조금 더 풀어서 말하면:하나의 비즈니스 작업(계좌이체, 주문, 게시글 작성 등)을 수행하기 위해여러 개의 SQL이 실행될 때그 전체를 하나의 단위로 묶어서전부 성공하거나, 전부 실패하도록 만든 것을 트랜잭션이라고 부른다.1-1. 계좌이체 예시로 보는 트랜잭션계좌이체를 예로 들면 A가 B에게 10,000원을 송금한다고 했을때 다음과 같은 과정이 논리적으로 한 번에 처리되어야 한다.A 계좌에서 10,000원 출금B 계좌에 10,000원 입금이 두 작업 중 하나만 성공하고 하나는 실패하면 안 된다.출금만 되고 입금이 안 되면? → 돈이 사라짐입금만 되고 출금이 안 되면? → 돈이 생..
흐름제어·혼잡제어·오류제어 네트워크에서 송신자 → 인터넷(라우터들) → 수신자 흐름이 있을 때,흐름제어: 수신자 보호(버퍼 넘침 방지)혼잡제어: 네트워크 보호(라우터 큐 과부하 방지)오류제어: 손상·유실 복구(정확성 보장)실제 전송 가능량은 보통실제 송신 윈도 = min(수신자 광고 윈도 rwnd, 혼잡윈도 cwnd) rwnd (receiver window, 수신자가 광고하는 윈도)수신 측 애플리케이션/커널 버퍼의 남은 여유를 바이트 단위로 광고한 값.송신자는 아직 ACK로 확인되지 않은 데이터 총량이 rwnd를 넘지 않도록 전송량을 제한한다cwnd (congestion window, 혼잡 윈도)송신 측이 네트워크 혼잡을 추정해 스스로 설정하는 전송 한도. 네트워크가 견딜 만한 속도로만 보내려는 자가 규..
네트워크에서 “스위치”라고 부르지만, 실제로는 처리할 수 있는 계층(Layer)에 따라 능력이 크게 달라진다.L2는 단순하고 빠르며, L7은 할 수 있는 게 많지만 복잡하고 비싸다. 핵심은 “무엇을 보고, 어디까지 판단하느냐”L2스위치(데이터링크 계층)무엇을 본다이더넷 헤더의 출발지/목적지 MAC무엇을 한다MAC 학습: 들어오는 프레임의 출발지 MAC과 유입 포트를 MAC 테이블에 저장포워딩: 목적지 MAC이 테이블에 있으면 해당 포트로만 전송, 없으면 플러딩플러딩:스위치에서 특정 목적지 주소에 대한 정보를 찾지 못했을 때, 허브처럼 패킷을 입력 포트를 제외한 모든 포트로 보내는 현상입니다브로드캐스트 도메인 관리: VLAN으로 논리 분리 가능 => 브로드캐스트 범위를 분리하여 불필요한 확산을 줄일 수 있..
HTTP 메서드HTTP 메서드는 클라이언트가 서버에게 “무엇을 어떻게 하길 원하는지”를 표현하는 표준화된 동사다. 같은 URL이라도 메서드에 따라 의미와 서버 동작이 달라진다.메서드 종류GET: 자원 조회. 본문 없이 조회 중심. 안전하고 멱등. 캐싱 우선.POST: 자원 생성·처리. 안전·멱등 아님. 폼 제출, 명령형 작업.PUT: 전체 업데이트(치환). 멱등. 전체 상태를 보내 재설정.PATCH: 부분 업데이트. 멱등 아님(보통 그렇지만 멱등하도록 설계 가능).DELETE: 자원 삭제. 멱등.HEAD: 헤더만 조회(본문 없음). 빠른 존재 확인·사이즈 확인.OPTIONS: 지원 메서드·CORS 프리플라이트 확인.TRACE/CONNECT: 특수 목적. 일반 API에서는 거의 사용 안 함.GET리소스 조..
IP의 개념인터넷 프로토콜(Internet Protocol)의 약자로, 인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약을 의미합니다. 인터넷 계층의 IP 프로토콜은 IP 주소를 사용하여 호스트나 네트워크 장비를 식별합니다. 인터넷에 접속한 컴퓨터와 라우터에 고유한 IP 주소를 할당하고, 그 IP 주소를 사용해서 컴퓨터를 특정하거나 통신 상대방으로 지정합니다. IP 프로토콜에서는 현재 IPv4(Internet Protocol version 4)의 주소 체계를 사용하고 있습니다. 하지만 스마트폰의 등장 및 모든 사물이 인터넷으로 연결되는 사물 인터넷으로 인해 IP 주소를 사용하는 기기가 폭발적으로 증가하면서 IPv4보다 월등히 많은 수의 IP 주소를 할당할 수 있는 IPv6(In..
Express란?Express는 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크이다. 사실상 Nodejs의 표준 웹서버 프레임워크로 불려질 만큼 많은 곳에서 사용하고 있다. 그렇다면 Node.js와 Express는 무슨 관계인가? Node.js는 Chrome의 V8엔진을 이용하여 javascript로 브라우저가 아니라 서버를 구축하고, 서버에서 JavaScript가 작동되도록 해주는 런타임 환경(플랫폼)이라고 했다. Express는 이런 Nodejs의 원칙과 방법을 이용하여 웹애플리케이션을 만들기 위한 프레임워크이다. 프레임워크란?이처럼 목적에 필요한 것을 고민할 필요 없이 이용할 수 있도록 일괄로 가져다 쓰도록 만들어 놓은 '구조..
────────────────1.화살표 함수(Arrow Function)란?────────────────화살표 함수는 ES6에서 추가된 새로운 함수 문법이다.기본 형태const add = (a, b) => { return a + b;};조금 더 줄이면const add = (a, b) => a + b; // 한 줄이면 return 생략 가능매개변수가 하나면 괄호도 생략 가능const square = x => x * x;객체를 바로 반환할 때는 소괄호로 감싸야 한다const makeUser = (name, age) => ({ name, age });여기서 객체를 반환할때 소괄호를 쓰는 이유는 {}만 있으면 이게 로직을 감싼건지 객체인지 구별하지 못하기 때문이다. ────────────────2. this와..
1) SSR (Server-Side Rendering)서버가 매 요청마다 HTML을 생성해 응답하는 방식. 사용자는 첫 화면을 HTML로 즉시 받고, 이후 브라우저가 JS를 받아 하이드레이션(Hydration)을 수행.요청 흐름클라이언트가 /page 요청서버가 데이터 fetch → HTML 렌더링HTML 전달(콘텐츠 보임) → JS 로드 → 하이드레이션장점SEO 최상: 첫 응답에 실제 콘텐츠 포함개인화/권한 기반 UI에 유리: 쿠키·세션을 보고 매 요청마다 다르게 그림실시간성 높은 페이지(주가, 대시보드)에 적합단점서버 부하↑, TTFB↑매 요청 렌더링 비용 큼(스케일 비용)캐시 전략이 까다로움(쿠키 등으로 CDN 캐시가 깨질 수 있음)적합한 상황로그인 대시보드, 장바구니/주문내역 등 사용자별 화면크롤러..
