Programming/CS

4. HTTP와 HTTPS의 차이점더보기HTTP (HyperText Transfer Protocol): 클라이언트(브라우저)와 서버 간의 요청/응답 기반 통신 프로토콜. 브라우저가 서버에 요청을 보내면 서버가 응답을 반환한다.- 평문 통신 : 데이터를 암호화하지 않고 전송하므로 네트워크 상에서 데이터를 가로채기 쉽다.- 포트 : 기본적으로 80 포트를 사용한다.- 속도 : 암호화가 없기 때문에 속도가 약간 빠르다- 단점 : 로그인 정보, 결제 정보 등 민감한 데이터를 보호하지 못하여 보안에 취약하다. HTTPS (HyperText Transfer Protocol Secure): HTTP에 SSL/TLS(암호화 프로토콜)를 추가한 보안 통신 프로토콜. 데이터를 암호화하여 전송하며, 서버 인증서를 통해 서버..

1. 싱글톤 패턴더보기싱글톤 패턴 특정 클래스의 인스턴스가 하나만 존재하도록 보장하고, 이 인스턴스를 전역적으로 접근할 수 있게 하는 디자인 패턴. 이를 통해 시스템 리소스를 효율적으로 사용하고, 동일한 상태를 유지해야 하는 객체를 쉽게 관리할 수 있다. - 프로그램 내에서 하나의 객체만 존재해야 한다.- 프로그램 내에서 여러 부분에서 해당 객체를 공유하며 사용해야 한다. ex. 데이터베이스 연결 모듈 장점- 메모리 절약 : 하나의 인스턴스만 사용하므로 불필요한 객체 생성을 방지- 전역 상태 공유 : 애플리케이션 전역에서 동일한 상태를 유지하며 접근 가능- 객체 관리 용이 : 인스턴스를 중앙에서 관리하여 효율적인 자원 활요 단점- 테스트 어려움 : 전역 상태를 공유하기 때문에 테스트 환경에서 각 테스트마..

1. Spring DI/IoC는 어떻게 동작하나요?더보기IoC (Inversion of Control) 제어의 역전: 스프링 컨테이너가 객체의 생성, 초기화, 의존성 설정, 소멸 주기를 관리한다. 이로 인해 객체는 자신의 의존성을 알 필요 없이 필요한 시점에 주입받아 사용할 수 있음. DI (Dependency Injection) 의존성 주입: IoC의 구현 방식 중 하나로, 스프링 컨테이너가 객체의 의존성을 자동으로 주입해주는 방식이다. - 생성자 주입 : 객체 생성 시 의존성을 주입- Setter 주입 : Setter 메서드를 통해 의존성을 주입- 필드 주입 : @Autowired 어노테이션을 통해 직접 필드에 주입 Spring DI/IoC 동작 과정1) 스프링 컨테이너 초기화 : Applicati..

1. 데이터베이스에서 인덱스를 사용하는 이유 및 장단점더보기인덱스: 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조. 사용하는 이유- 테이블의 크기가 커질수록 특정 데이터를 찾는 작업은 전체 테이블 검색(Full Table Scan)이 발생하여 시간이 오래 걸린다. - 인덱스는 특정 열의 데이터를 정렬된 구조 (B-tree, Hash 등)로 관리하여 검색 속도를 향상시키는 역할.- 검색 시, 데이터베이스는 먼저 인덱스를 탐색한 후 해당 위치로 이동해 데이터를 조회한다. 장점- 검색 속도 향상 : WHERE, ORDER BY, JOIN, GROUP BY 같은 쿼리에서 데이터 검색 및 정렬이 빨라진다.- 쿼리 최적화 : 쿼리 실행 계획에서 Full T..

1. 프로세스와 프로그램 차이점더보기프로그램: 저장 장치에 저장된 실행 가능한 명령어와 데이터의 집합으로 실행되지 않은 상태에서는 정적이다. - 정적 존재: 프로그램은 메모리에 적재되지 않은 상태로 파일 시스템에 저장된다.- 파일 형태: 일반적으로 .exe, .bin, .py 같은 실행 가능한 파일 형식- 실행 전 상태: 자원을 소모하지 않음. 프로세스: 프로그램이 실행되어 CPU, 메모리, 파일 핸들 등 자원을 할당받아 운영체제에서 동작 중인 상태이다. - 동적 존재: 프로그램이 실행되면 운영체제에 의해 메모리에 적재되어 동작- 자원 소비: 프로세스는 실행 중 메모리, CPU 시간, 입출력 자원 등을 사용- 고유한 식별자: 운영체제는 각 프로세스를 PID로 구분- 다중 인스턴스: 하나의 프로그램에서 여..

1. 웹 통신의 큰 흐름: https://www.google.com/을 접속할 때 일어나는 일 더보기(1) 브라우저 검색창에 'www.google.com'를 입력한 후 엔터를 친다. 브라우저는 URL을 분석하고, 프로토콜(https), 도메인 이름(www.google.com), 및 경로를 분리한다. (2) DNS 조회브라우저는 www.google.com의 IP 주소를 찾기 위해 DNS 서버에 요청을 보낸다. 특정 웹사이트에 접속하기 위해서는 도메인이 아닌 IP 주소가 필요한데, 이는 외우기가 힘들고, 가독성이 떨어지기 때문에 도메인 명으로 웹페이지에 접속할 수 있도록 DNS 서버를 이용한다. (URL 이름과 IP 주소를 저장하고 있는 데이터베이스)- DNS 조회 과정로컬 캐시 확인ISP(ex. KT, ..