이 글은 [2024 NEW] 개발자를 위한 쉬운 도커 강의를 듣고 작성한 글입니다! 모든 강의자료 이미지 출처는 해당 강사님께 있습니다. 메타데이터 메타데이터는 데이터에 대한 데이터를 의미한다. 이미지가 실세로 압축된 데이터라면 메타데이터는 이 이미지에 대한 정보를 기술하는 데이터이다. 하나의 이미지는 실제로 압축된 파일과 파일의 정보가 저장되어 있는 메타데이터로 구성되어 있다. Env와 Cmd 이미지의 메타데이터에서 유심히 봐야 할 부분이 Env와 Cmd 필드이다. Env는 소프트웨어가 실행 시 참조할 설정 정보이다. Env는 Key와 Value로 이루어져 있다. (ex. VERSION=1.23.2) Env에는 버전 정보, 파일 경로와 같은 값이 저장되어 있다. 이 값이 바뀌면 이미지의 실행 방법이 달..
분류 전체보기
이 글은 [2024 NEW] 개발자를 위한 쉬운 도커 강의를 듣고 작성한 글입니다! 모든 이미지 출처는 해당 강사님께 있습니다. 이미지를 컨테이너로 실행하고, 이미지와 컨테이너의 차이를 알아보자. 이미지란?이미지는 특정 서버를 실행할 수 있는 상태를 저장한 압축 파일이다. 프로그램과 프로세스의 차이프로그램은 실행 가능한 소프트웨어이다. 프로그램을 설치하면 디스크를 차지한다. 프로그램인 상태에서는 CPU나 메모리 같은 컴퓨터의 리소스를 사용하지 않고, 스토리지의 디스크 공간만 차지한다. 파일 형태의 프로그램을 실행하면 프로세스가 된다. 프로그램은 여러 개의 프로세스를 실행할 수 있다. 프로세스는 CPU와 메모리를 사용한다. 이미지와 컨테이너이미지와 컨테이너의 관계가 프로그램과 프로세스의 관..
이 글은 [2024 NEW] 개발자를 위한 쉬운 도커 강의를 듣고 작성한 글입니다! 모든 이미지 출처는 해당 강사님께 있습니다. 이번에는 도커의 기본 명령어를 학습하고, Nginx 웹서버를 실행시켜 Nginx 컨테이너가 제공하는 웹 페이지에 접속해 볼 것이다. Docker 기본 명령어 Docker를 실행하고, 다음 명령어를 사용해보자. docker version : 클라이언트와 서버의 버전 및 상태를 확인 docker info : 플러그인, 시스템 상세 정보를 확인 docker --help : 메뉴얼 확인 아래 명령어는 도커의 기본 명령 작성 방법이다. Management Command는 대분류로, 생략이 가능하다. Command는 소분류로 필수이다. docker (Management Command) C..
이 글은 [2024 NEW] 개발자를 위한 쉬운 도커 강의를 듣고 작성한 글입니다! 모든 이미지 출처는 해당 강사님께 있습니다. 도커는 컨테이너를 관리하기 위해 만들어진 소프트웨어이다. 컨테이너는 큰 서버를 나누어 사용하기 위한 가상화 기술이다. 도커와 컨테이너를 이해하려면 서버와 가상화 기술이 무엇인지 알아야 한다. 가상화 기술에는 대중적인 가상화 기술인 Hypervisor, 새롭게 등장한 컨테이너 가상화인 Container가 있다. 엔터프라이즈에서 서버를 운영하는 방식은 총 3가지가 있다. 베어메탈(Baremetal)은 우리가 컴퓨터를 구입하여 사용하는 것과 비슷한 방식인데, 여러가지 이유로 비효율적이다. 그 외에 하이퍼바이저(Hypervisor), 컨테이너(Container) 방식이 있다. 가상화 ..
·TIL
프로젝트를 진행하며, 이때까지 jar 파일을 로컬에서 빌드하고 scp를 이용하여 jar 파일을 배포 서버에 올리고 nohup java -jar jar파일명.jar & 명령어로 배포를 진행하였다. 하지만.. 이렇게 해서는 안된다는 것을 알고 있었기에, 이번에는 CI/CD 까지는 아니더라도 (지식이 부족해서...........) 다음과 같은 목표를 가지게 되었다. 우분투에 깃 원격저장소를 연결하고 pull 받은 후 script를 사용하여 기존에 돌아가던 jar 파일을 멈추고 pull 받은 상태의 프로젝트를 새로 빌드 후 실행시키는 것! 크게 깃 설치 및 레포 연결, 쉘 스크립트 부분으로 나눌 수 있다. 01. Ubuntu에 Git 설치 1. 깃 설치 sudo apt install git 2. 레포를 저장할 ..
·JPA
01. 페치 조인(fetch join) 이란? 페치 조인은 SQL의 조인 종류와는 무관하다. JPQL에서 성능 최적화를 위해 제공하는 기능으로, 연관된 엔티티나 컬렉션의 SQL을 한 번에 함께 조회하는 기능이다. 쿼리로 내가 원하는 대로 어떤 객체 그래프를 한 번에 조회할 것을 동적인 타이밍에 정할 수 있다. join fetch 명령어를 사용하면 된다. 페치 조인 ::= [LEFT [OUTER] | INNER] JOIN FETCH 조인경로 02. 엔티티 페치 조인 Member를 가져올 때 Team도 가져오고 싶은 경우, JPQL로 select m from Member m join fetch m.team 을 작성하고 실제 나가는 SQL 쿼리문을 보면 SELECT M.*, T.* FROM MEMBER M I..
·JPA
01. 경로 표현식이란? 경로 표현식이란 .(점)을 찍어 객체 그래프를 탐색하는 것이다. 3가지 경로 표현식이 존재한다. 세 가지 중 어떤 것을 사용하느냐에 따라 내부 동작이 달라지기 때문에 반드시 이해하고 사용해야 한다. 02. 경로 표현식 용어 정리 상태 필드(state field) : 단순히 값을 저장하기 위한 필드이다. 예시로는 select m.username 이 있다. 연관 필드(association field) : 연관관계를 위한 필드이다. 단일 값 연관 필드와 컬렉션 값 연관 필드로 나뉜다. 단일 값 연관 필드 : @ManyToOne, @OneToOne 에 사용하며 대상이 엔티티이다. 예시로는 join m.team t 이 있다. 컬렉션 값 연관 필드 : @OneToMany, @ManyToMa..
문자열 묶기 https://school.programmers.co.kr/learn/courses/30/lessons/181855 문제 설명 문자열 배열 strArr이 주어집니다. strArr의 원소들을 길이가 같은 문자열들끼리 그룹으로 묶었을 때 가장 개수가 많은 그룹의 크기를 return 하는 solution 함수를 완성해 주세요. 제한 사항 1 ≤ strArr의 길이 ≤ 100,000 1 ≤ strArr의 원소의 길이 ≤ 30 strArr의 원소들은 알파벳 소문자로 이루어진 문자열입니다. 입출력 예 strArr result ["a","bc","d","efg","hi"] 2 풀이 1. 정답으로 리턴할 정수형 변수 answer를 0으로 초기화한다. 2. 100001개의 정수형 배열 변수 countArr을..