Study(34)
-
2. 도커와 쿠버네티스 첫걸음
2.1 도커를 사용한 컨테이너 이미지 생성, 실행, 공유 백그라운드에 일어난 동작 이해하기 컨테이너 이미지 생성 도커에게 현재 디렉터리의 콘텐츠를 기반으로 kubia라고 부르는 이미지를 빌드하는 명령어이다. 도커는 디렉터리 내 Dockfile을 살펴보고 파일에 명시된 지시 사항에 근거해 이미지를 빌드한다. docker build -t kubia . 어떻게 이미지가 빌드되는지 이해하기 빌드 프로세스는 도커 클라이언트가 수행하지 않는다. 그 대신 디렉터리의 전체 콘텐츠가 도커 데몬에 업로드되고 그곳에서 이미지가 빌드된다. ❗️빌드 디렉터리에 불필요한 파일을 포함시키지 마라. 특히 원격 머신에 도커 데몬이 위치한 경우 이러한 파일이 빌드 프로세스의 속도 저하를 가져온다. 이미지 레이어에 관해 이해하기 이미지라..
2024.03.15 -
1. 쿠버네티스 소개
회사에서 쿠버네티스 스터디를 시작하여, 블로그에 내용들을 정리하고자 한다. 참고 도서는 'Kubernetes in Action'이다. 1.1 쿠버네티스와 같은 시스템이 필요한 이유 거대한 모놀리스 애플리케이션을 작은 마이크로서비스로 세분화함과 동시에 해당 애플리케이션을 실행하는 인프라의 변경으로 인한 것이다. 이런 변화를 이해하면 쿠버네티스와 도커와 같은 컨테이너 기술을 사용하는 것의 이점을 알 수 있다. 1.1.1 모놀리스 애플리케이션에서 마이크로서비스로 전환 모놀리스 애플리케이션은 시간이 지남에 따라 구성 요소간의 경계가 불분명해지고 상호의존성의 제약이 커지면서 전체 시스템의 복잡성이 커지게 된다. 시스템이 복잡해지고, 시스템의 증가하는 부하를 처리하기 위해 수직 확장을 하거나 수평 확장을 해야한다...
2024.03.09 -
[면접대비] 리눅스
기술면접시, 리눅스 관련 질문들을 많이 받아 기본적인 학습을 할 생각이다. ▶ 리눅스란? ✔ 유닉스 계열의 운영체제 ▶ 리눅스를 왜 사용할까? ✔ 리눅스는 오픈소스 운영체제로서 소스 코드를 자유롭게 수정하고 배포할 수 있습니다. 이로 인해, 보안성과 유연성이 뛰어난 것이 특징입니다. 또한, 서버 환경에서 많이 사용됩니다. ▶ Inode란? ✔ 파일 정보가 담긴 특별한 구조체 ▶ 링크와 복사의 차이? ✔ 링크는 같은 파일에 이름만 다르게 붙이는 것 ✔ 복사는 완전히 독립적인 파일을 만드는 것 ▶ 하드링크와 심볼릭 링크의 차이는? ✔ 하드 링크는 원본 파일의 데이터를 직접 가리키는 반면, 심볼릭 링크는 원본 파일의 위치를 가르킨다. ✔ 그래서, 하드 링크는 원본이 삭제되어도 계속 사용 가능하지만, 심볼릭 링..
2023.11.27 -
[면접 대비] CS
▶ 구글에 접속하는 과정에 대해 설명해주세요 1. 사용자가 브라우저에 URL을 입력 2. DNS서버에서 URL를 IP주소로 교체 3. 이 IP주소로 3-way-handshake 연결 과정을 진행 4. 클라이언트는 웹 서버로 Http Request Message를 보냄 5. 웹 서버는 Http Response Message를 보냄 6. 도착한 메세지는 클라이언트 단에서 데이터와 함께 view가 랜더링된다. 7. 4-way-handshake 과정으로 연결이 해제된다. ▶ TCP vs UDP ✔ 비연결형과 연결형 : TCP는 연결형 프로토콜로, 전송 전에 먼저 연결을 설정하고, 데이터 전송이 끝난 후 연결을 해제합니다. 반면에, UDP는 비연결형 프로토콜로 연결 설정 없이 데이터를 전송합니다. ✔ 데이터의 신..
2023.11.20 -
21일차
2023. 08.31 수업 이슈 Controller 요청과 결과페이지 연결 SpringMVC Ajax FileUpload AOP ▶ Ajax - Controller ▶ 파일 업로드 기술 사용 시 주의할 점 form태그 안에 input type="file"로 폼을 만든다. method=post만 가능하다. enctype="multipart/form-data" pom.xml 에 fileupload 디펜던시 추가 파일업로드한 정보를 저장하는 vo를 먼저 만들고 요청을 처리한다.(RequestMapping) cf) 업로드한 파일은 정적 문서 취급. WEB-INF 밑에 바로 저장된다. ▶ 결과페이지 없는 기술 ajax download → BeanNameResolver를 사용해야 한다. 왜냐하면, 반환값이 페이지(..
2023.11.18 -
[면접 대비] Java/Spring
[중요]▶ 객체 지향 프로그래밍의 키워드 ✅ 추상화 공통적인 기능이나 속성을 묶어서 이름을 붙인 것 ✅ 캡슐화 서로 연관있는 속성이나 기능들을 하나로 묶어 데이터를 외부로 부터 보호하는 것 ✅ 상속 객체가 다른 객체를 상속받으면, 그 객체의 요소들을 사용할 수 있는 것 ✅ 다형성 하나의 타입에 여러 개의 타입을 대입해서 사용할 수 있는 것 ▶ 제네릭이 무엇인가요? ✔ 클래스 내부에서 지정하는 것이 아니라, 외부에서 지정하도록 하는 것 ▶ 제네릭을 사용하는 이유는? ✔ 컴파일 시점에 오류를 발생시켜, 런타임 시점에 오류가 발생하는 것을 사전에 차단할 수 있음 ▶ 자바의 모든 클래스는 Object 클래스를 상속받습니다. 그리고 Object 클래스에는 equals() 와 hashCode() 라는 메소드가 선언..
2023.11.18