1. 메서드 오버라이딩 package poly.overriding; public class Parent { public String value = "parent"; public void method() { System.out.println("Parent.method"); } } package poly.overriding; public class Child extends Parent { public String value = "child"; @Override public void method() { System.out.println("Child.method"); } } => Child에서 Parent의 메서드를 오버라이딩 하였다. package poly.overriding; public class Over..
1. JWT(JSON Wen Token) 인터넷 표준 인증 방식 자바스크립트의 JSON 자료구조를 가지며, Web Token으로 사용하는 것으로 주로 로그인 인증에 사용한다. 1-1. JWT 사용 이유 장점1: 서버의 확장성이 높고 대량의 트래픽이 발생해도 대처 가능하다. http는 기본적으로 state-less를 지향하므로 서버가 클라이언트 상태를 가지고 있지 않는다. 장점2: JWT가 유효하지 않을 때 서버에 바로 인증 에러를 일으켜 불필요한 트래픽이 발생하지 않도록 한다. 단점: 비교적 많은 양의 데이터가 전송되므로 네트워크 성능저하가 있을 수 있다. 데이터 노출로 인한 보안 문제. 1-2. JWT의 구성 헤더.페이로드.시그니처 헤더: 토큰 타입, 암호화 알고리즘 명시 페이로드: JWT에 넣을 데이..
다형성과 캐스팅 //부모 변수가 자식 인스턴스 참조(다형적 참조) Parent poly = new Child(); //단, 자식의 기능은 호출할 수 없다. 컴파일 오류 발생 //poly.childMethod(); //다운캐스팅(부모 타입을 자식 타입으로) Child child = (Child) poly; child.childMethod(); //실행순서 Child child = (Child) poly; //다운캐스팅을 통해 부모타입을 자식 타입으로 변환한 뒤 대입 Child child = (Child) x001 //참조값을 읽을 다음 자식 타입으로 지정 //따라서 Parent poly의 타입이 변하는 것이 아닌 참조값이 Child 타입이 되는 것이다. 캐스팅 종류 ((Child) poly).childMe..
* 네트워크 - 종단 시스템(end system): pc나 스마트폰처럼 네트워크 송수신 주체 - 프로토콜(protocol): 두 이종 시스템을 연결하기 위한 규약 - 통신을 목적으로 물리적인 선으로 연결되어 있거나 무선으로 연결됨 * 인터넷 - 회사 혹은 소규모 네트워크에서 전세계 네트워크와 연결된 상태 - 다양한 애플리케이션 서비스가 제공 - 종단 시스템은 보통 ISP(Internet Service Provider)에 의해 연결 * OSI 7계층 - 네트워크 구성요소를 7개 계층으로 역할을 나눈 표준 모델 - 각 계층별 역할을 통해 통신 규격(프로토콜)을 만족 - 일부 하위계층은 하드웨어에서 구현, 상위계층은 소프트웨어로 구현 * TCP/IP - OSI 7계층이 나오기 전 널리 사용되던 사실상 표준 역..
1. 단일 스레드와 멀티 스레드 * Thread: CPU 활용의 기본 단위 - 프로세스 내에서 프로그램 명령을 실행하는 기본 단위 - 스레드ID, 프로그램 카운터, 레지스터 집합, 스택으로 구성 - 같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션, open files 등의 운영체제 자원 공유 * 단일 스레드(Single Thread) - 장점: 자원을 공용화 하지 않으므로 공용 자원 접근 통제 불필요, Context Switch 작업 불필요 - 단점: 다수개의 CPU 활용이 불가 * 멀티 스레드(Multi Thread) 개념: 프로그램을 다수의 실행 단위로 나누어 실행, 각각의 스레드가 고유의 레지스터와 스택으로 표현 - 장점 - 대응적 측면: 일부가 차단되거나 장시간 작업 수행시에도 계속해서 실..
1. 프로세스 - 실행중인 프로그렘 - 디스크에 저장된 실행 파일이 메모리에 적재될 때 비로소 프로세스가 된다. - 텍스트 세션: 실행 코드 - 데이터 세션: 전역변수 - 힙 세션: 프로그램 실행 시 동적으로 할당되는 메모리 - 스택 세션: 함수 호출 시 임시 데이터 저장 프로세스 상태 별 설명 New: 프로세스 생성 중 Running: 명령어들이 실행 중 Waiting: 프로세스가 어떤 사건이 일어나기를 기다림 Ready: 프로세스가 처리기에 할당 되기를 기다림 Terminated: 프로세스 실행이 종료 각 프로세스는 운영체제에서 프로세스 제어 블록 PCB에 의해 표현됨 프로그램 카운터: 프로세스가 다음에 실행할 명령어의 주소 CPU 레지스터 메모리 관리 정보 CPU 스케줄링 정보 2. 프로세스 스케줄..
1. 컴퓨터 시스템의 기본 구성 하드웨어(CPU, 메모리, I/O) 운영체제: 하드웨어와 응용 프로그램의 사용을 제어, 조정하는 역할 응용 프로그램 사용자 2. 운영체제의 정의와 하는 일 정의 커널은 컴퓨터에서 항상 실행되는 하나의 프로그램 시스템 프로그램으로서 모든 프로그램을 포함하고 시스템 운영과 관련 있는 응용 프로그램 하는 일 리소스 할당의 주체: 모든 리소스를 관리하고 자원에 대해 충돌되는 요청 사이에서 효율적이고 공정하게 사용, 리소스 분배 제어 프로그램: 프로그램 실행을 제어, 오류 및 부적절한 사용 방지 하나 이상의 CPU, 장치 컨트롤러는 공유된 메모리에 대한 접근을 제공하는 공용 버스를 통해 연결되고, 메모리를 두고 경쟁하는 CPU와 디바이스의 동시 실행 3. 컴퓨터 시스템의 작동 * ..
1강 개념 2강 도커, 도커 컴포즈, 도커 허브 3강 도커, 도커허브 설치 및 도커허브 회원가입 4강 도커 작동 원리 5강 도커 이미지 삭제하기 6강 컨테이너 실행하기 7강 컨테이너 포트포워딩 및 데몬으로 실행 8강 모든 image 한번에 삭제하는 명령어 9강 docker dit 옵션과 attach 10강 docker exec 명령어 변경 11강 docker volumn 옵션으로 폴더 연결하기 12강 docker commit 이미지 굽기와 docker hub 업로드 13강 docker file step1 - 굽기 14강 docker file step2 - Entrypoint와 Workdir 15강 docker file step3 - RUN 명령어 16강 docker file step4 - nginx 내부..