컨테이너 오케스트레이션 컨테이너의 배포, 관리, 확장, 네트워킹을 자동화하는 것. 재설계할 필요 없이 각기 다른 환경 전반에 동일한 애플리케이션을 배포하는 데에도 도움이 된다. Kubernetes 쿠버네티스는 컨테이너화된 애플리케이션의 자동 디플로이, 스케일링 등을 제공하는 관리시스템으로, 오픈소스 플랫폼이다. 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 쉽게 확장할 수 있다. 쿠버네티스는 또한 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다. 기본 개념 쿠버네티스에서 가장 중요한 것은 desired state 라는 개념이다. 쉽게 말해 사용자가 원하는 서비스, 네트워크 상태를 의미 한다. 얼마나 많은 컨..
2022 KAKAO BLIND RECRUITMENT 파괴되지 않은 건물 링크 : https://programmers.co.kr/learn/courses/30/lessons/92344 사용 언어 : JAVA 문제 설명 N x M 크기의 행렬 모양의 게임 맵에는 내구도를 가진 건물이 각 칸마다 하나씩 있다. 적은 이 건물들을 공격하여 파괴하려고 하고, 반대로 아군은 회복 스킬을 사용하여 건물들의 내구도를 높이려 한다. 건물은 적의 공격을 받으면 내구도가 감소하고 내구도가 0이하가 되면 파괴된다. 적의 공격 혹은 아군의 회복 스킬이 모두 끝난 뒤 파괴되지 않은 건물의 개수를 구하라. 첫 번째 스킬: 적이 맵의 (0,0)부터 (3,4)까지 공격하여 4만큼 건물의 내구도를 낮춤 두 번째 스킬: 적이 맵의 (2,0..
컨테이너와 가상머신 비교 요약 가상 머신(VM)은 서버 하드웨어를 가상화(또는 직접 관리할 필요성을 제거)하는 반면, 컨테이너는 서버의 운영 체제를 가상화한다. Docker는 컨테이너를 위한 운영 체제(또는 런타임)이다. 컨테이너를 실행하려는 각 서버에 Docker Engine이 설치되어 컨테이너를 구축, 시작 또는 중단하는 데 사용할 수 있는 간단한 명령 세트를 제공한다. 가상머신 Host: 가상 시스템 호스트 서버이며 처리 능력, 메모리, 디스크 및 네트워크 I/O 등과 같은 컴퓨팅 리소스를 제공하는 기본 하드웨어. GuestOS: 운영 체제 및 애플리케이션 소프트웨어의 완전히 별개의 독립적 인스턴스. 호스트 VM에 상주하고 해당 서버의 컴퓨팅 리소스에서 공유하는 가상 워크로드. Hypervisor:..
Docker 란? 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트. Docker는 컨테이너를 위한 운영 체제(또는 런타임)이다. 컨테이너를 실행하려는 각 서버에 Docker Engine이 설치되어 컨테이너를 구축, 시작 또는 중단하는 데 사용할 수 있는 간단한 명령 세트를 제공한다. 구조 도커는 클라이언트-서버 아키텍처를 사용한다. Docker 클라이언트는 Docker 데몬과 REST API를 사용하여 UNIX 소켓 또는 네트워크 인터페이스를 통해 통신한다. Docker 데몬은 Docker 컨테이너를 빌드, 실행 및 배포하는 무거운 작업을 수행한다. 도커 데몬 Docker API 요청을 수신하고 이미지, 컨테이너, 네트워크 및 볼륨과 같은 Dock..
SPA, MPASPA (Single Page Application)React.js, Vue.js ... MPA (Multi Page Application)JSP, PHP, ... CSR, SSRCSR (Client Side Rendering)Vue, React 등의 SPA framework에서 사용하는 방식브라우저(client)에서 JS에 의해 view를 동적으로 생성. 때문에 page 전환이 SSR보다 상대적으로 빠르다. 대신 최초 접속 시 모든 JS와 static 파일을 가져와야 하기 때문에 최초 접속 시 로딩은 SSR에 비해 느리다.page 전환시 깜빡임이 없기 때문에 자연스러운 사용자 경험이 가능하다. SSR (Server Side Rendering)PHP 등의 MPA(Multi Page Appl..
실행할 자바 프로그램 실행할 프로그램은 1분마다 현재 시각을 알려주는 프로그램이다. import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class PrintTime { public static void main(String[] args) throws InterruptedException { LocalDateTime today = LocalDateTime.now(); String formatedNow = today.format(DateTimeFormatter.ofPattern("현재 시각: HH시 mm분 ss초")); System.out.println(formatedNow); } } 코드가 준비 되었다면 cmd ..
mysql, mariaDB에 모두 동일하게 동작하는 명령어 입니다. 왜 동일하게 동작할까? 계정 생성 create user '[userid]'@'[host]' identified by '[password]'; userid에는 사용하고자 하는 계정의 id를 적어주면 된다. host는 db에 접근하기 위해 이 계정을 사용할 수 있는 호스트 정보를 적어주면 된다. 내 로컬 호스트에서만 사용하고 싶다면 @'localhost', 모든 호스트에서 접근을 허용하려면 @'%'로 적어준다. 생성된 계정 확인 show databases; use mysql; select host, user, password from user; 맨 아래 행에 방금 만든 계정을 확인할 수 있다. 계정 삭제 drop user '[userid]'..
IP (Internet Protocol, 인터넷 규약) 운영체제가 다른 컴퓨터끼리, 구현된 언어가 다른 프로그램끼리 (통칭 호스트) 네트워크에서 통신하기 위한 통신 규약. IP의 정보는 패킷-데이터그램이라고도 한다-에 담겨 전송된다. 특징 비신뢰성 비신뢰성은 흐름에 관여하지 않기 때문에 보낸 정보가 제대로 갔는지 보장하지 않는다. 예를 들어 전송 과정에서 패킷이 손상되거나 순서가 섞이거나 손실될 수도 있다. 패킷 전송과 정확한 순서를 보장하려면 TCP 프로토콜과 같은 IP의 상위 프로토콜을 이용해야 한다. 비연결성 IP는 비연결성 통신이기 때문에 이전에 통신한 적 없는 호스트에 패킷을 보낼 때 경로 설정이 필요없다. IP 헤더 내에 수신, 발신 주소를 포함 -> IP 주소 IP 헤더 내 바이트 전달 순서..
1. 프롬프트를 연다 2. mysql.exe가 설치되어 있는 경로로 이동 (나의 경우는 C:\Program Files\MySQL\MySQL Workbench 8.0 이었음) 3. mysqldump -uroot -p 테이블명 > 파일명.sql 친다. 만약 액세스가 거부되었다는 문구가 나온다면? 덤프 파일을 해당 경로에 저장할 수 없다는 뜻이다. 그래서 mysqldump -uroot -p 테이블명 > c:\sqldump\파일명.sql 처럼 파일 저장 경로를 다른 곳으로 바꾸고 진행하면 된다. 비밀번호까지 치고 나면 해당 경로에 덤프파일이 생성되어 있을 것이다.
인터넷 프로토콜 스택 application support network applications. IMAP, SMTP, HTTP transport process-process data transfer. TCP, UDP network route of datagrams from source to destination. IP, routing protocols link data transfer between neighboring network elements. Ethernet. 802.11(WiFi), PPP physical bits on the wire application, transport, network layer -> communication layers transport layer의 역할 : 패킷 스위..