티스토리

seungwook(TIL)
검색하기

블로그 홈

seungwook(TIL)

til.seungwook.com/m

하도 까먹어서 적어놓는 글

구독자
9
방명록 방문하기
공지 블로그 공지 모두보기

주요 글 목록

  • [Kubernetes] 볼륨(Volume) 이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.기존 파드를 새로운 파드로 교체하면, 기존 파드 내부에 있던 데이터도 같이 삭제된다. 만약 이 파드가 MySQL을 실행시키는 파드였다면 MySQL에 저장된 데이터도 같이 삭제 돼버린다. 따라서 파드 내부에 저장된 데이터가 삭제되면 안 되는 경우에는 볼륨(Volume)이라는 개념을 활용해야 한다. Volume볼륨(Volume)이란 데이터를 영속적으로 저장하기 위한 방법이다. 쿠버네티스에서 볼륨은 크게 2가지 종류로 나뉜다.로컬 볼륨(Local Volume)퍼시스턴트 볼륨(Persistent Volume, PV) 로컬 볼륨파드 내부의 공간 일부를 볼륨(Volume)으로 활용하는 방식이다.이 방식은 파드가 삭제되는 즉시.. 공감수 0 댓글수 0 2025. 5. 12.
  • [Spring Boot 핵심원리와 활용] 사용자 정의 메트릭 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.MeterRegistry마이크로미터 기능을 제공하는 핵심 컴포넌트스프링을 통해서 주입 받아서 사용하고, 이곳을 통해서 카운터, 게이지 등을 등록한다.MeterRegistry는 마이크로미터(Micrometer)에서 모든 메트릭(Counter, Gauge, Timer 등)을 등록하고 관리하는 중심 객체이다.Spring Boot에서는 MeterRegistry를 빈(bean)으로 자동 주입받아 사용할 수 있으며, 이 객체를 통해 커스텀 메트릭을 생성하거나 값을 기록할 수 있다. 카운터(Counter)Counter(카운터)단조롭게 증가하는 단일 누적 측정항목 (단일 값, 보통 하나씩 증가)누적이므로 전체 값을 포함(to.. 공감수 0 댓글수 0 2025. 5. 11.
  • [Kubernetes] 환경변수 관리(ConfigMap, Secret) 이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.ConfigMapSpring Boot에서는 설정값을 application.yml으로 분리해서 관리한다.별도의 파일로 분리를 해서 관리함으로써 유지보수가 편리해지고 개발, 테스트, 프로덕션과 같은 환경 분리가 편해진다. 쿠버네티스에서는 파드(Pod), 디플로이먼트(Deployment), 서비스(Service)가 각각의 역할을 가지고 있는 것처럼 환경 변수를 관리하는 역할을 가진 오브젝트가 따로 존재한다.그게 바로 컨피그맵(ConfigMap)이다. spring-config.yamlapiVersion: v1kind: ConfigMap# ConfigMap 기본 정보metadata: name: spring-config #.. 공감수 1 댓글수 0 2025. 5. 11.
  • [Spring Boot 핵심원리와 활용] 마이크로미터, 프로메테우스, 그라파나 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.마이크로미터세상에는 수 많은 모니터링 툴이 있고, 시스템의 다양한 정보를 이 모니터링 툴에 전달해서 사용하게 된다.모니터링 툴이 작동하려면 시스템의 다양한 지표들을 각각의 모니터링 툴에 맞도록 만들어서 보내주어야 한다.그런데 중간에 사용하는 모니터링 툴을 변경하면 기존에 측정했던 코드를 모두 변경한 툴에 맞도록 다시 변경해야 한다.개발자 입장에서는 단순히 툴 하나를 변경했을 뿐인데, 측정하는 코드까지 모두 변경해야 하는 문제가 발생한다.이런 문제를 해결하는 것이 바로 마이크로미터(Micrometer)라는 라이브러리이다. 다양한 메트릭마이크로미터와 액츄에이터가 기본으로 제공하는 다양한 메트릭은 아래와 같다.JVM .. 공감수 0 댓글수 0 2025. 5. 10.
  • [Kubernetes] Deployment와 Service 이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.DeploymentDeployment 개념디플로이먼트(Deployment) 란 파드를 묶음으로 쉽게 관리할 수 있는 기능을 말한다.현업에서는 일반적으로 서버를 작동시킬 때 파드(Pod)를 수동으로 배포하진 않는다.디플로이먼트(Deployment)라는 걸 활용해서 파드(Pod)를 자동으로 배포한다. 디플로이먼트의 장점파드의 수를 지정하는 대로 여러 개의 파드를 쉽게 생성할 수 있음.ex) 파드를 100개를 생성하라고 시키면 디플로이먼트가 알아서 파드를 100개 생성해준다.파드가 비정상적으로 종료된 경우, 알아서 새로 파드를 생성해 파드 수를 유지한다.동일한 구성의 여러 파드를 일괄적으로 일시 중지, 삭제, 업데이트를.. 공감수 1 댓글수 0 2025. 5. 10.
  • [Spring Boot 핵심원리와 활용] 액츄에이터(Actuator) 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.액츄에이터를 사용하려면 스프링부트 의존성에 다음과 같이 추가해야한다.build.gradledependencies { implementation 'org.springframework.boot:spring-boot-starter- actuator' // actuator 추가} 의존성을 추가하고 /actuator 경로로 접근하면 액츄에이터에 접근할 수 있다.http://localhost:8080/actuator 액츄에이터의 모든 기능을 웹에 노출하려면 application.yml에 아래와 같이 작성하면 된다.application.ymlmanagement: endpoints: web: exposur.. 공감수 0 댓글수 0 2025. 5. 9.
  • [java] 백준 18429번 문제(근손실) 원본 링크 : https://www.acmicpc.net/problem/18429문제설명 소스코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj_18429{ static int n, k, count; static int[] kitEffect; static boolean[] usedKit; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.i.. 공감수 0 댓글수 0 2025. 5. 9.
  • [Kubernetes] 파드(Pod) 이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.파드(Pod)도커에서는 하나의 프로그램을 실행시키는 단위를 컨테이너라고 부른다. 쿠버네티스에서는 하나의 프로그램을 실행시키는 단위를 파드(Pod)라고 부른다.도커 : 컨테이너쿠버네티스 : 파드(하나 또는 여러개의 컨테이너로 구성)따라서 파드(Pod)는 일반적으로 쿠버네티스에서 하나의 프로그램을 실행시키는 단위라고 기억해두면 이해하기 편하다.쿠버네티스에서 가장 작은 단위일반적으로 하나의 파드가 하나의 컨테이너를 가진다. (예외적으로 하나의 파드가 여러 개의 컨테이너를 가지는 경우도 있다.) 쿠버네티스도 도커처럼 이미지를 기반으로 파드를 띄워 실행시킨다. Pod 생성 및 실행Nginx먼저 Manifest File을 .. 공감수 2 댓글수 0 2025. 5. 9.
  • [Kubernetes] 쿠버네티스 설치(Mac) 이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.쿠버네티스쿠버네티스(Kubernetes)는 다수의 컨테이너를 효율적으로 배포, 확장 및 관리하기 위한 오픈 소스 시스템이다.쿠버네티스(Kubernetes)는 Docker Compose와 비슷한 느낌을 가지고 있다. Docker Compose도 다수의 컨테이너를 쉽게 관리하기 위해 활용하기 때문이다.하지만 도커 컴포즈로 수백, 수천 개의 컨테이너를 관리하기는 힘들다. 하지만 쿠버네티스는 가능하다.Docker Compose: 로컬 개발 환경 또는 소규모 서비스 구성에 적합하며, 오케스트레이션 기능은 제한적이다.Kubernetes: 프로덕션 환경에서 수천 개의 컨테이너를 안정적으로 관리할 수 있다. 쿠버네티스의 장점컨테.. 공감수 0 댓글수 0 2025. 5. 8.
  • [Nginx] 다중 도메인 설정, 로드 밸런싱 다중 도메인 설정Nginx를 통해서 하나의 서버에서 도메인마다 다른 애플리케이션에 연결시킬 수 있다.예를들어, aaa.com 이라는 도메인에는 A라는 스프링부트 애플리케이션에 연결시키고, bbb.com이라는 도메인에는 B라는 스프링부트 애플리케이션에 연결시킬 수 있다. 이 글에서 설명하는 방법은 우분투 환경을 기준으로 설명하며, /etc/nginx/conf.d에 있는 .conf 파일을 사용하지 않는다. /etc/nginx/nginx.conf모든 사이트에 적용할 전역 설정 /etc/nginx/sites-available이 디렉토리는 Nginx에서 사용할 수 있는 모든 서버 블록 설정 파일을 보관하는 장소이다.이곳에 설정 파일을 작성한다고 해서 Nginx가 자동으로 해당 설정을 반영하지는 않으며, 단순히 설.. 공감수 0 댓글수 0 2025. 5. 7.
  • [java] 백준 24542번 문제(튜터-튜티 관계의 수) 원본 링크 : https://www.acmicpc.net/problem/24542문제설명 소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj_24542{ static int[] parent; static final int MOD = 1_000_000_007; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRead.. 공감수 1 댓글수 0 2025. 5. 7.
  • [java] 백준 1976번 문제(여행 가자) 원본 링크 : https://www.acmicpc.net/problem/1976문제설명 소스코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj_1976{ static int[] parent; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); // 도시 수 .. 공감수 0 댓글수 0 2025. 5. 7.
  • [java] 백준 1717번 문제(집합의 표현) 원본 링크 : https://www.acmicpc.net/problem/1717문제설명 소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj_1717{ static int[] parent; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new .. 공감수 0 댓글수 0 2025. 5. 6.
  • [java] 유니온 파인드(Union-Find) 이 글은 Do it! 알고리즘 코딩 테스트 - 자바편을 개인적으로 공부하고 정리하는 글임을 알립니다.유니온 파인드유니온 파인드는 여러 개의 원소들이 어떤 그룹(집합)에 속해 있는지를 빠르게 확인하고, 서로 다른 그룹을 하나로 합치기 위해 사용하는 자료구조이다.예를 들어 친구 관계, 네트워크 연결, 그래프의 사이클 여부처럼 ‘서로 연결되어 있는지 아닌지’를 효율적으로 판별해야 하는 문제에서 매우 빠른 속도로 연산할 수 있기 때문에 자주 사용된다. 유니온 파인드는 일반적으로 여러 노드가 있을 때 특정 2개의 노드를 연결해 1개의 집합으로 묶는 union 연산과 두 노드가 같은 집합에 속해있는지를 확인하는 find 연산으로 구성되어있는 알고리즘이다. union 연산 : 여러 노드가 있을 때 특정 2개의 노드를.. 공감수 1 댓글수 1 2025. 5. 6.
  • [Spring Boot 핵심 원리와 활용] 외부 설정 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.외부 설정이란 애플리케이션을 실행할 때 필요한 설정값을 외부에서 불러와서 전달하는 것을 의미한다.외부 설정은 일반적으로 다음 4가지 방법이 있다.OS 환경 변수: OS에서 지원하는 외부 설정, 해당 OS를 사용하는 모든 프로세스에서 사용자바 시스템 속성: 자바에서 지원하는 외부 설정, 해당 JVM안에서 사용자바 커맨드 라인 인수: 커맨드 라인에서 전달하는 외부 설정, 실행시 main(args) 메서드에서 사용외부 파일(설정 데이터): 프로그램에서 외부 파일을 직접 읽어서 사용 스프링 통합커맨드 라인 옵션 인수, 자바 시스템 속성, OS 환경변수는 모두 외부 설정을 key=value 형식으로 사용할 수 있는 방법.. 공감수 1 댓글수 0 2025. 5. 3.
  • [Spring Boot 핵심 원리와 활용] 자동 구성 라이브러리 제작 및 사용 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. package memory;import org.springframework.boot.autoconfigure.AutoConfiguration;import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;import org.springframework.context.annotation.Bean;@AutoConfiguration@ConditionalOnProperty(name = "memory", havingValue = "on")public class MemoryAutoConfig { @Bean public MemoryCon.. 공감수 0 댓글수 0 2025. 5. 2.
  • [AWS] 고가용성 인프라 구축 이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.가용성(Availability)이란 시스템이 서비스를 정상적으로 제공할 수 있는 가능성을 의미한다.서비스에 장애가 발생할 가능성이 극히 작은 시스템을 가용성이 높은(고가용성) 시스템이라고 말할 수 있다. 반대로 서비스가 다운되는 시간이 긴 시스템을 가용성이 낮은 시스템이라고 한다. 가용성을 높이기 위해서는 서비스 사용 불가능 시간을 최대한 발생시키지 않게 하고 설령 발생하더라도 그 시간을 짧게 만들어야 한다. 다운 타임을 줄이는 데 가장 중요한 설계 방법 중 하나가 시스템 이중화이다. 이 글에서 최종 구축하는 인프라 아키텍쳐는 아래와 같다.VPC에 가용 영역을 2개로 설정하고, 각 가용 영역에 퍼블릭, 프라이빗 .. 공감수 1 댓글수 0 2025. 5. 2.
  • [AWS] VPC(Virtual Private Cloud) 이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.VPC의 개념VPC를 쓰는데 여러가지 이유가 있지만, 핵심적인 이유는 딱 한가지 보안 때문이다.VPC란 가상의 네트워크 공간을 의미한다. VPC를 활용하면 외부에서 직접 접근할 수 없는 독립적인 네트워크 환경을 구성할 수 있어서, 보안적으로 안전하게 리소스(EC2, RDS 등)를 사용할 수 있다. 예를 들어, EC2 인스턴스 2대가 있다고 가정하자. 그런데 1대의 인스턴스는 인터넷에 자유롭게 접근하면서 사용하고 싶고, 나머지 1대는 좀 더 안전하고 비공개로 사용하고 싶을 수 있다. 이럴 때 VPC를 활용하면 된다. VPC는 가상의 네트워크 공간이다.따라서 네트워크 공간의 크기를 정해야한다.AWS에서 EC2, RDS.. 공감수 1 댓글수 0 2025. 4. 30.
  • [AWS] AWS 글로벌 인프라 IaaS, PaaS, SaaS, 온프레미스 온프레미스(On-Premise)모든 것을 직접 구축하고 운영하는 방식이다.서버, 네트워크, 운영체제, 애플리케이션까지 모두 내가 책임지고 관리해야 한다. IaaS (Infrastructure as a Service)인프라(서버, 스토리지, 네트워크, 가상화)만 빌려쓰는 방식이다.OS부터 애플리케이션까지는 내가 직접 설치하고 관리해야 한다.대표 예: AWS EC2, Azure VM, GCP Compute Engine PaaS (Platform as a Service)운영체제, 미들웨어, 런타임 환경까지 제공해주며, 개발자는 데이터와 애플리케이션만 올리면 되는 방식이다.대표 예: Heroku, AWS Elastic Beanstalk, Google App Engine.. 공감수 1 댓글수 1 2025. 4. 30.
  • [java] 백준 1707번 문제(이분 그래프) 원본 링크 : https://www.acmicpc.net/problem/1707문제설명 소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Boj_1707{ static ArrayList[] list; // 인접 리스트 static int[] colors; // 색상 배열 public static void main(String[] args) throws I.. 공감수 1 댓글수 0 2025. 4. 28.
  • [스프링 핵심원리 - 고급] 스프링 AOP 실무 주의사항 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.프록시와 내부 호출문제점스프링은 프록시 방식의 AOP를 사용한다.따라서 AOP를 적용하려면 항상 프록시를 통해서 대상 객체(Target)을 호출해야 한다.이렇게 해야 프록시에서 먼저 어드바이스를 호출하고, 이후에 대상 객체를 호출한다.만약 프록시를 거치지 않고 대상 객체를 직접 호출하게 되면 AOP가 적용되지 않고, 어드바이스도 호출되지 않는다.AOP를 적용하면 스프링은 대상 객체 대신에 프록시를 스프링 빈으로 등록한다. 따라서 스프링은 의존관계 주입시에 항상 프록시 객체를 주입한다.프록시 객체가 주입되기 때문에 대상 객체를 직접 호출하는 문제는 일반적으로 발생하지 않는다.하지만 대상 객체의 내부에서 메서드 호출.. 공감수 0 댓글수 0 2025. 4. 27.
  • [Spring 핵심원리 - 고급] 포인트컷 지시자(PCD) 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.애스펙트J는 포인트컷을 편리하게 표현하기 위한 특별한 표현식을 제공한다.예) @Pointcut(“execution(* hello.aop.order..*(..))”) 포인트컷 표현식은 AspectJ pointcut expression 즉 애스펙트J가 제공하는 포인트컷 표현식을 줄여서 말하는 것이다.포인트컷 표현식은 execution 같은 포인트컷 지시자(Pointcut Designator)로 시작한다. 줄여서 PCD라 한다. 포인트컷 지시자의 종류execution : 메소드 실행 조인 포인트를 매칭한다. 스프링 AOP에서 가장 많이 사용하고, 기능도 복잡하다.within : 특정 타입 내의 조인 포인트를 매칭한다... 공감수 1 댓글수 0 2025. 4. 27.
  • [네트워크 이론] 무선 네트워크 이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.와이파이와 802.11IEEE 802.11은 무선 LAN의 표준이며, 와이파이(Wi-Fi)의 기술 기반이다.유선 LAN이 IEEE 802.3(이더넷)을 기반으로 하는 것처럼, 무선 LAN은 IEEE 802.11 표준을 따른다.IEEE 802.11 뒤에 붙는 알파벳(b, g 등)은 세부 규격을 의미하며, 주파수로는 2.4GHz와 5GHz 대역이 주로 사용된다. 802.11의 세부 규격은 주파수, 전송 속도, 전송 거리, 변조 방식 등에 따라 달라진다.버전별로 성능 차이가 있기 때문에 제품 스펙에 따라 지원 주파수와 최대 속도도 달라진다.와이파이를 선택할 때 ‘2.4G’ 또는 ‘5G’라고 표기되는 것은 이.. 공감수 0 댓글수 0 2025. 4. 24.
  • [네트워크 이론] 암호화 방식 이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.암호화(encryption): 원문 데이터를 알아볼 수 없는 형태로 변경하는 것을 의미복호화(decryption): 암호화된 데이터를 원문 데이터로 되돌리는 것을 의미암호화와 복호화는 비단 안전한 데이터 송수신뿐만 아니라 인증서 기반의 검증도 가능하게 한다. 암호와 인증서키는 원문 데이터를 수학적 연산을 통해 암호문으로 바꾸는 데 사용되는 값이며, 이 과정을 암호화 알고리즘이라 한다.암호문은 키 없이는 제3자가 의미를 알 수 없도록 설계되며, 복호화를 통해 원문을 되찾을 수 있다. 대칭키 암호화 방식과 공개키 암호화 방식대칭키 암호화 방식대칭 키 암호화 방식은 암호화와 복호화에 동일한 키를 사용하는 방.. 공감수 2 댓글수 0 2025. 4. 24.
  • [네트워크 이론] 가용성, 이중화, 로드 밸런싱 이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.가용성 가용성이란 시스템이나 네트워크가 얼마나 안정적으로 기능을 수행할 수 있는지를 나타내는 개념이다. 흔히 ‘불안정하다’, ‘안정적이다’라는 표현으로 대체되지만, 명확한 정의로는 일정 수준의 성능을 꾸준히 유지하며 기능을 제공할 수 있는 특성을 의미한다.가용성의 수준은 고가용성(high availability)이라는 개념으로 수치화할 수 있으며, 이는 전체 사용 시간 중 실제로 사용 가능한 시간의 비율을 말한다.업타임을 전체 시간(업타임 + 다운타임)으로 나눈 값이 가용성이며, 일반적으로 이 수치가 높을수록 시스템이 안정적이라고 평가받는다.업타임 : 정상적인 사용 시간다운타임 : 정상적인 사용이 불가.. 공감수 0 댓글수 0 2025. 4. 24.
  • [java] 백준 2667번 문제(단지번호붙이기) 원본 링크 : https://www.acmicpc.net/problem/2667문제설명 소스코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;public class Main{ static int n; static int[][] map; // 지도 static boolean[][] visited; // 방문 배열 public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Array.. 공감수 1 댓글수 1 2025. 4. 23.
  • [네트워크 이론] 응용 계층 - HTTP 이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.HTTP의 특성HTTP 프로토콜은 중요한 4가지 특성이 있다.요청과 응답 기반미디어 독립적무상태성(Stateless)지속 연결 요청-응답 기반 프로토콜HTTP는 ‘클라이언트–서버 구조 기반의 요청–응답 프로토콜’이다.클라이언트와 서버가 있고, 클라이언트는 서버에게 요청 메시지를 전송하며, 서버는 클라이언트에게 요청에 대한 응답 메시지를 전송한다.HTTP는 이와 같이 클라이언트와 서버가 서로 HTTP 요청 메시지와 HTTP 응답 메시지를 주고받는 구조로 동작한다.그렇기에 같은 HTTP 메시지일지라도 HTTP 요청 메시지와 HTTP 응답 메시지는 메시지 형태가 다르다. 미디어 독립적 프로토콜HTTP를 정의.. 공감수 1 댓글수 0 2025. 4. 23.
  • [네트워크 이론] 응용 계층 - DNS와 자원 이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.도메인 네임과 네임 서버네트워크상의 어떤 호스트를 특정하기 위해 IP 주소를 사용한다.하지만 오로지 IP 주소만 사용하기에는 번거롭다. 통신하고자 하는 모든 호스트의 IP 주소를 기억하고 있기도 어렵기 때문이다.호스트의 IP 주소는 언제든지 바뀔 수 있기 때문이다. 여러분이 모든 친구의 전화번호를 전부 기억하기 어려운 것과도 비슷하다.그래서 일반적으로 사용자는 상대 호스트를 특정하기 위해 IP 주소보다는 도메인 네임을 많이 사용한다.도메인 네임은 호스트의 IP 주소와 대응되는 문자열 형태의 호스트 특정 정보이다.예를 들어 http://www.example.com, developers.naver.com,.. 공감수 0 댓글수 0 2025. 4. 22.
  • [java] 백준 2644번 문제(촌수계산) 원본 링크 : https://www.acmicpc.net/problem/2644문제설명 소스코드import java.io.*;import java.util.*;public class Boj_2644{ static ArrayList[] list; // 인접 리스트 static boolean[] visited; // 방문 배열 static int[] depth; // 깊이(촌수) 배열 public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parse.. 공감수 1 댓글수 0 2025. 4. 22.
  • [네트워크 이론] 전송 계층 - TCP와 UDP 이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.TCP 통신 단계와 세그먼트 구조TCP는 통신(데이터 송수신)하기 전에 연결을 수립하고 통신이 끝나면 연결을 종료한다.그리고 데이터 송수신 과정에서 재전송을 통한 오류 제어, 흐름 제어, 혼잡 제어 등의 기능을 제공한다. MSSTCP의 연결 수립과 종료를 이해하려면 가장 먼저 MSS라는 단위와 TCP의 세그먼트 구조를 이해해야 한다.MSS는 Maximum Segment Size의 약자로, TCP로 전송할 수 있는 최대 페이로드 크기를 의미한다.MSS의 크기를 고려할 때 헤더 크기는 제외한다. 헤더의 크기까지 포함했던 단위인 MTU와는 대조적이다. TCP 세그먼트 헤더 송신지 포트(source port).. 공감수 0 댓글수 0 2025. 4. 22.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.