[CS] 프로그래밍 에러 종류
·
Programming/CS
✅ 컴파일 에러 (Compile-Time Error)🔽 특징코드 작성 후 컴파일 과정에서 발생하는 에러로, 코드가 실행되기 전에 발견된다.주로 구문 에러(Syntax Error)나 타입 에러(Type Error)가 포함된다.🔽 예시int number = "Hello"; // 타입 불일치🔽 해결 방법컴파일러가 제공하는 에러 메시지를 읽는다.코딩 시, IDE의 실시간 문법 검사 기능을 활용한다. (예: IntelliJ, Eclipse)  ✅ 런타임 에러 (Runtime Error)🔽 특징코드가 컴파일에는 성공했지만 실행 중에 발생하는 에러이다.주로 NullPointerException, IndexOutOfBoundsException과 같은 예외 상황이 포함된다.🔽 예시int[] array = {1,..
[Kubernetes] 쿠버네티스
·
Programming/Kubernetes
들어가기 앞서, 이 글은 도커(Docker) 및 컨테이너 배포에 대한 기본적인 이해를 전제로 작성되었습니다. 도커와 관련된 자세한 설명은 여기에 모두 정리해 두었으니, 참고해 주시면 좋겠습니다.  ✅ 쿠버네티스 (Kubernetes, k8s)쿠버네티스는 컨테이너화된 애플리케이션을 배포하고 관리하기 위한 오픈 소스 플랫폼이다. 컨테이너 오케스트레이션 도구로서, 애플리케이션의 확장, 배포, 운영을 자동화한다.오케스트레이션: 여러 개의 컨테이너 또는 서버를 효율적으로 관리하고 작업을 의미한다. 주요 역할은 애플리케이션이 여러 컨테이너로 구성되어 있을 때, 각각의 컨테이너를 배포, 스케일링, 업데이트, 복구하는 것을 자동화한다. ▶ 쿠버네티스의 등장 배경도커의 등장으로 컨테이너 기반 배포 방식이 보편화되었고, ..
[Docker] 도커
·
Programming/Docker
✅ 배포 방식의 변화 과정▶ 전통적 배포 (Traditional Depolyment)구성: 하드웨어 -> 운영체제 -> 애플리케이션설명: 물리적인 컴퓨터 한 대에 하나의 OS를 설치하고, 애플리케이션이 해당 운영 체제에서 직접 실행되는 방식이다.문제점자원 공유 문제: 애플리케이션들이 동일한 OS를 공유하므로, 같은 리소스(라이브러리, 네트워크, CPU)를 사용하게 된다. 이로 인해 성능 문제가 발생하게 된다.확장성 부족: 새로운 애플리케이션을 설치하거나 추가하려면 운영 체제 및 하드웨어의 환경에 맞게 설치하고 설정해야 한다.배포 방식하나의 물리적 서버가 있다.물리적 서버 위에 운영 체제를 설치한다.동일한 운영 체제에서 여러 프로덕트를 실행한다. 발생하는 문제들을 피하려면 물리적 서버를 추가로 구매해야 한..
[Network] XSS, CSRF
·
Programming/Network
해당 글은 VSFe 깃허브 레포를 참고하여 작성한 글입니다. (아래 출처에 표기) ✅ XSS에 대해서 설명해 주세요.XSS(Cross-Site Scripting): 웹 애플리케이션의 취약점을 이용해, 악성 스크립트를 삽입하여 사용자에게 실행하게 만드는 공격 기법이다. ▶ XSS의 종류Reflected XSS: 악성 스크립트가 서버에 저장되지 않고, URL 등의 입력 데이터에 포함되어 전달되는 유형이다. 사용자가 악성 링크를 클릭하면, 그 즉시 스크립트가 실행된다.Stored XSS: 악성 스크립트가 데이터베이스에 저장되어 여러 사용자에게 지속적으로 전달되는 유형이다. 해당 글을 열람하는 모든 사용자가 스크립트의 영향을 받게 된다.DOM-based XSS: 악성 스크립트가 클라이언트 측에서 DOM(Docu..
[Network] 멀티플렉싱, 디멀티플렉싱
·
Programming/Network
해당 글은 VSFe 깃허브 레포를 참고하여 작성한 글입니다. (아래 출처에 표기) ✅ 멀티플렉싱과 디멀티플렉싱에 대해 설명해 주세요. ▶ 멀티플렉싱(Multiplexing)멀티플렉싱: 여러 개의 데이터 스트림을 하나의 물리적 통신 채널을 통해 동시에 전송할 수 있도록 하는 기술이다. 네트워크에서 이 과정은 전송 계층(Transport Layer)에서 주로 이루어진다.🔽 예시웹 브라우저, 이메일 클라이언트, 파일 전송 프로그램 등 여러 애플리케이션이 동시에 작동하며 각각의 데이터를 전송하는 경우, 이 데이터들이 모두 하나의 네트워크 연결을 공유한다. ▶ 디멀티플렉싱(Demultiplexing)디멀티플렉싱: 멀티플렉싱된 데이터를 수신 측에서 다시 개별 데이터 스트림으로 분리하는 과정이다. 수신된 데이터는 ..
[Network] 서브넷 마스크, 게이트웨이
·
Programming/Network
해당 글은 VSFe 깃허브 레포를 참고하여 작성한 글입니다. (아래 출처에 표기) ✅ 서브넷 마스크와, 게이트웨이에 대해 설명해 주세요.▶ 서브넷 마스크서브넷 마스크: IP 주소를 네트워크 주소와 호스트 주소로 나누는 데 사용되는 값이다.네트워크 주소: 네트워크에 속한 모든 호스트(단말)를 포함하는 네트워크 자체를 지칭하는 주소이다.호스트 주소: 같은 네트워크 내에 각 호스트(단말)를 구분하기 위한 주소이다.IP 주소와 관련된 자세한 설명은 여기를 참고하면 좋을 것 같다.🔽 필요성IP 주소에서 네트워크 주소와 호스트 주소를 구분하는 경계점이 고정되어 있지 않다. 서브넷 마스크를 사용하면 필요한 호스트 IP 개수에 따라 네트워크 크기를 다르게 할당할 수 있도록 하여, IP 주소의 낭비를 방지할 수 있다...
[Network] 로드밸런서
·
Programming/Network
해당 글은 VSFe 깃허브 레포를 참고하여 작성한 글입니다. (아래 출처에 표기) ✅ 로드밸런서가 무엇인가요?▶ 로드밸런싱로드밸런싱: 네트워크 트래픽을 여러 서버나 네트워크 장치에 고르게 분산시켜, 특정 서버에 과부하가 걸리지 않도록 하는 기술이다. 이를 통해 시스템의 성능, 가용성, 신뢰성을 높이고, 장애 발생 시에도 서비스가 중단되지 않도록 보장한다. ▶ 로드밸런서로드밸런서: 로드밸런싱을 수행하는 장치 또는 소프트웨어를 의미한다. 로드밸런서는 클라이언트의 요청을 받아, 이를 여러 서버 중 하나로 전달하며, 요청에 따라 가장 적합한 서버를 선택한다.🔽 로드밸런서의 필요성서버를 운영할 때, 서버가 감당하지 못할 정도의 트래픽이 몰릴 경우, 이를 해결할 수 있는 방법은 크게 두 가지가 있다.scale-u..
[Network] 라우팅, 포워딩
·
Programming/Network
해당 글은 VSFe 깃허브 레포를 참고하여 작성한 글입니다. (아래 출처에 표기) ✅ 라우터 내의 포워딩 과정에 대해 설명해 주세요.패킷 수신: 라우터는 네트워크 인터페이스를 통해 패킷을 수신한다.헤더 분석: 수신한 패킷의 IP 헤더를 분석하여 목적지 IP 주소를 확인한다.포워딩 테이블 조회: 라우터는 목적지 IP 주소와 일치하는 항목을 찾기 위해 포워딩 테이블을 조회한다.적절한 인터페이스 선택: 포워딩 테이블에 기반하여 패킷을 어떤 인터페이스로 보내야 할지를 결정한다. 선택된 인터페이스는 다음 홉으로 패킷을 전송한다.패킷 전송: 패킷이 결정된 인터페이스를 통해 다음 홉으로 전송된다.홉(Hop): 데이터 패킷이 출발지에서 목적지로 이동하는 동안 거쳐가는 각 네트워크 장치(주로 라우터 또는 스위치)  ✅ ..
soeun2537
'Programming' 카테고리의 글 목록