매일 작성하는 개발 일기
close
프로필 배경
프로필 로고

매일 작성하는 개발 일기

  • 분류 전체보기 (517) N
    • JavaScript (32)
    • Flutter (16)
    • HTML CSS (2)
    • 알고리즘 (279) N
      • Programmers (126) N
      • Baekjoon (153)
    • CS (11)
      • 컴퓨터 구조 (5)
      • 네트워크 (6)
    • Projects (0)
      • 분양모음집 (0)
      • 교정일기 (0)
      • 웹소설 캘린더 (0)
    • 스파르타코딩클럽 (166)
      • 내일배움캠프 (152)
      • 웹개발 종합반 (9)
      • 앱개발 종합반 (5)
    • 개발 기록장 (6)
    • 회고 (5)
  • 홈
  • JavaScript
  • Flutter
  • 태그
  • 방명록
간단하게 이해하는 CDN

간단하게 이해하는 CDN

프론트엔드 성능을 향상시키 위해서 가장 먼저 고려해야 할 것은 코드 스플리팅이나 서버 컴포넌트 같은 어려운 기술이 아니라 CDN이다. CDN은 기본적이면서도 가장 강력한 성능 개선 도구다.이 글에서는 CDN의 개념, 동작 방식, 그리고 어떤 장점이 있는지를 간단하게 살펴본다. CDN이란?CDN은 Content Delivery Network, 즉 콘텐츠 전송 네트워크를 의미한다. 전 세계에 분산된 서버를 통해 지연(latency)을 줄이고,웹 콘텐츠(예: JS, CSS, 이미지, 폰트 등)를 사용자에게 더 빠르게 전달하는 것이 핵심 목적이다. CDN의 핵심 전략분산 서버CDN 제공 업체는 전 세계 여러 지역에 엣지 서버(Edge Server)를 보유하고 있다.이 서버들은 원본 서버로부터 정적 리소스를 전달..

  • format_list_bulleted CS/네트워크
  • · 2025. 5. 6.
  • textsms
명령어의 구조와 주소 지정 방식

명령어의 구조와 주소 지정 방식

Cheat Sheet 명령어의 구조연산 코드: 명령어가 수행할 연산오퍼랜드: 연산에 사용할 데이터가 저장된 위치 (또는 데이터 그 자체)주소 필드라고도 부름, 명령어 안에 여러 개의 오퍼랜드가 있을 수 있음 주소 지정 방식유효 주소: 연산 코드에 사용할 데이터가 저장된 위치주소 지정 방식은 유효 주소를 찾는 방법즉시 주소 지정 방식: 연산에 사용할 데이터 그 자체를 명시직접 주소 지정 방식: 유효 주소를 명시 (메모리 주소)간접 주소 지정 방식: 유효 주소의 주소를 명시레지스터 주소 지정 방식: 유효 주소를 명시 (레지스터 이름)레지스터 간접 주소 지정 방식: 유효 주소를 저장한 레지스터 이름을 명시 (데이터는 메모리에 저장) 명령어의 구조명령어는 연산 코드와 오퍼랜드로 구성됨연산 코드는 연산자, 오..

  • format_list_bulleted CS/컴퓨터 구조
  • · 2025. 4. 5.
  • textsms
컴파일 언어와 인터프리터 언어

컴파일 언어와 인터프리터 언어

Cheat Sheet 고급 언어와 저급 언어고급 언어: 사람이 이해하기 쉬운 언어 → Java, Python 등저급 언어:컴퓨터가 직접 이해하고 실행할 수 있는 언어 (명령어)기계어: 0과 1로 이루어진 명령어 비트어셈블리 언어: 기계어를 사람이 이해하기 쉽게 번역한 언어 컴파일 언어와 인터프리터 언어컴파일 언어: 소스 코드 전체가 저급 언어로 변환되어 실행되는 고급 언어 (C)목적 코드: 컴파일 결과로 변환된 저급 언어오류 발생 시 전체 코드 실행X인터프리터 언어: 소스 코드가 한 줄씩 차례로 변환되어 실행되는 고급 언어 (Python)오류 발생 하더라도 오류 발생 전까지의 코드는 올바르게 수행됨일반적으로 인터프리터 언어가 더 느림 고급 언어와 저급 언어고급 언어: 사람이 이해하고 작성하기 쉽게 만..

  • format_list_bulleted CS/컴퓨터 구조
  • · 2025. 4. 2.
  • textsms
문자 집합: 아스키 코드와 유니코드

문자 집합: 아스키 코드와 유니코드

Cheat Sheet   문자 집합: 컴퓨터가 인식할 수 있는 문자의 모음문자 인코딩: 문자 → 0과 1로 변환문자 디코딩: 0과 1 → 문자로 변환아스키 코드 (ASCII): 초창기 문자 집합, 7비트로 하나의 문자 표현 → 최대 128개의 문자 표현EUC-KR: 한글 인코딩하는 완성형 인코딩 방식, 글자 하나에 2바이트 부여 → 4자리 십육진수로 표현완성형 (강) vs. 조합형(ㄱ+ㅏ+ㅇ) 인코딩 방식유니코드: 여러 나라의 문자들을 표현할 수 있는 표준 문자 집합, 다양한 인코딩 방식 사용대표적으로 UTF-8: 1바이트~4바이트까지 가변 길이의 인코딩 방식 문자 집합과 인코딩문자 집합: 컴퓨터나 인식할 수 있는 문자의 모음문자 인코딩: 문자를 0과 1로 변환사람이 이해할 수 있는 문자를 0과 1로 이..

  • format_list_bulleted CS/컴퓨터 구조
  • · 2025. 4. 1.
  • textsms
숫자 표현: 이진법과 십육진법

숫자 표현: 이진법과 십육진법

Cheat Sheet   정보 단위가장 작은 정보 단위: 비트 → 바이트(8비트) → kB(1,000byte) → MG → GB → TB워드(word): CPU가 한 번에 처리할 수 있는 데이터의 크기 이진법이진법: 0과 1만으로 모든 숫자를 표현, 플래그를 통해 양수/음수를 구분함음수 표현 방법 2의 보수: 어떤 수를 그보다 큰 2^n에서 뺀 값모든 0과 1을 뒤집고, 거기에 1을 더하는 방법도 가능십육진법: 10~15를 A~F로 표기함, 이진수로 변환하기 쉬움 (십육진수 한 글자=4비트의 이진수) 정보 단위0과 1을 나타내는 가장 작은 정보 단위는 비트(bit)프로그램은 수많은 비트로 이루어져 있음n비트는 2^n 가지 정보를 표현 가능8비트 = 1바이트(byte), 킬로바이트(kB), 메가바이트(MB..

  • format_list_bulleted CS/컴퓨터 구조
  • · 2025. 3. 31.
  • textsms
컴퓨터의 4가지 핵심 부품

컴퓨터의 4가지 핵심 부품

Cheat Sheet   컴퓨터가 이해하는 정보: 명령어, 데이터CPU: 명령어를 읽고 해석하고 실행함ALU(계산기), 레지스터(임시 저장 장치), 제어장치(제어 신호 내보내고, 명령어 해석)주기억장치(메모리): 현재 실행되는 프로그램을 저장보조기억장치: 전원이 꺼져도 보관할 프로그램을 저장입출력장치: 컴퓨터 외부에 연결되어 내부와 정보 교환할 수 있는 부품시스템 버스: 컴퓨터의 핵심 부품들이 정보를 주고받는 통로주소 버스, 데이터 버스, 제어 버스 컴퓨터가 이해하는 정보컴퓨터가 이해하는 정보에는 데이터와 명령어가 있음명령어는 컴퓨터를 작동시키는 정보컴퓨터는 0과 1로 표현된 정보만을 이해함컴퓨터는 명령어를 처리하는 기계 컴퓨터의 4가지 핵심 부품중앙처리장치(CPU), 주기억장치(메모리), 보조기억장치,..

  • format_list_bulleted CS/컴퓨터 구조
  • · 2025. 3. 29.
  • textsms
HTTP와 연계하는 웹 서버

HTTP와 연계하는 웹 서버

1대로 멀티 도메인을 가능하게 하는 가상 호스트 가상 호스트(Virtual Host) 기능을 사용하면 하나의 HTTP 서버에서 여러 개의 웹 사이트를 실행할 수 있음 즉 같은 IP 주소의 다른 호스트명과 도메인명을 가진 여러 개의 웹 사이트가 실행될 수 있음 따라서 HTTP 리퀘스트를 보낼 때는 호스트명과 도메인명을 완전하게 포함한 URI를 지정하거나, Host 헤더 필드에서 지정해야 함 통신을 중계하는 프로그램 프록시 서버와 클라이언트의 양쪽 역할을 하는 중계 프로그램 클라이언트로부터 받은 리퀘스트를 서버에 전송하고, 오리진 서버로부터 받은 리스폰스를 클라이언트에 전송함 리소스 본체를 가진 서버를 오리진 서버(Origin Server)라고 함 중계할 때마다 Via 헤더 필드에 경유한 호스트 정보를 추가..

  • format_list_bulleted CS/네트워크
  • · 2023. 9. 4.
  • textsms
HTTP 상태 코드

HTTP 상태 코드

상태 코드는 서버로부터 리퀘스트 결과를 전달한다 HTTP 상태 코드란? 클라이언트가 서버에 HTTP 리퀘스트를 보낼 때 서버에서 그 결과가 어떻게 되었는지 알려주는 것 상태 코드의 구조: 3자리 숫자와 설명 상태 코드 클래스: 숫자의 첫 번째 자리 클래스 설명 1xx Informational 리퀘스트를 받아들여 처리 중 2xx Success 리퀘스트를 정상적으로 처리했음 3xx Redirection 리퀘스트를 완료하기 위해서 추가 동작이 필요 4xx Client Error 서버가 리퀘스트 이해 불가능 5xx Server Error 서버에서 리퀘스트 처리 실패 2xx 성공 (Sueccess) 200 OK 클라이언트가 보낸 리퀘스트를 서버가 정상 처리하였음을 나타냄 204 No Content 서버가 리퀘스트..

  • format_list_bulleted CS/네트워크
  • · 2023. 7. 28.
  • textsms
HTTP 통신

HTTP 통신

HTTP 메시지 공통 구조 메시지 헤더 서버와 클라이언트가 꼭 처리해야 하는 내용과 속성 개행 문자 메시지 바디 꼭 전송되는 데이터 그 자체 메시지 헤더 구성 요소 리퀘스트 라인 혹은 상태 라인 리퀘스트 라인: 리퀘스트에 사용하는 메소드와 URI, HTTP 버전이 포함됨 상태 라인: 리스폰스 결과를 나타내는 상태 코드와 설명, 사용하는 HTTP 버전이 포함됨 헤더 필드: 리퀘스트와 리스폰스의 여러 조건과 속성 등을 나타냄 리퀘스트/리스폰스 헤어 필드, 일반 헤더 필드, 엔티티 헤더 필드 등 인코딩으로 전송 효율을 높이다 HTTP로 데이터를 전송할 때 인코딩(변환)을 하면 전송 효율을 높일 수 있음 메시지: HTTP 통신의 기본 단위로 8비트로 구성되고 통신을 통해 전송됨 엔티티: 리퀘스트랑 리스폰스의 페..

  • format_list_bulleted CS/네트워크
  • · 2023. 7. 21.
  • textsms
HTTP 프로토콜의 구조

HTTP 프로토콜의 구조

HTTP는 클라이언트와 서버 간에 통신을 한다 클라이언트는 텍스트, 이미지 등과 같은 리소스가 필요하다고 요구하고 서버가 이 리소스를 제공함 리퀘스트와 리스폰스를 교환하여 성립 클라이언트는 서버에 리퀘스트(Request)를 보내고, 서버는 리스폰스(Response)로 응답한다. GET /index.html HTTP /1.1 Host: www.hackr.jp 리퀘스트 메시지는 메소드, URI, 프로토콜 버전, 옵션 리퀘스트 헤더 필드, 엔티티로 구성됨 HTTP 서버 상에 있는 “index.html” 리소스가 필요하다는 리퀘스트 GET: 서버에 요규하는 종류 (메소드) index.html: 리퀘스트 URI로서 요구 대상인 리소스를 나타냄 HTTP /1.1: HTTP 버전 번호 HTTP /1.1 200 OK ..

  • format_list_bulleted CS/네트워크
  • · 2023. 7. 13.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
GitHub Link
전체 카테고리
  • 분류 전체보기 (517) N
    • JavaScript (32)
    • Flutter (16)
    • HTML CSS (2)
    • 알고리즘 (279) N
      • Programmers (126) N
      • Baekjoon (153)
    • CS (11)
      • 컴퓨터 구조 (5)
      • 네트워크 (6)
    • Projects (0)
      • 분양모음집 (0)
      • 교정일기 (0)
      • 웹소설 캘린더 (0)
    • 스파르타코딩클럽 (166)
      • 내일배움캠프 (152)
      • 웹개발 종합반 (9)
      • 앱개발 종합반 (5)
    • 개발 기록장 (6)
    • 회고 (5)
인기 글
최근 글
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바