이미지를 압축 파일로 저장하기Docker Image를 압축하면 .tar 확장자를 가진 파일로 생성됩니다.docker save -o [OUTPUT_FILE] IMAGE# my-app:v1 이미지를 my-app-v1.tar로 압축.docker save -o my-app-v1.tar my-app:v1# my-app:v1 이미지 제거docker rmi my-app:v1docker save 명령어 옵션docker save 명령어는 Docker Image를 .tar 파일로 저장하는데 사용됩니다. 이 명령어에는 다음과 같은 옵션이 있습니다.-o, --output: 저장할 파일의 경로를 지정합니다. 해당 옵션은 필수로 설정해줘야 합니다.-quiet: 해당 옵션을 사용하면 명령어 실행 중 출력되는 메시지를 최소화 할 수..
Dockerfile과 Docker Compose는 모두 Docker 생태계의 일부이며 서버 구동과 관련이 있지만, 그 역할과 목적에는 중요한 차이점이 있습니다.Dockerfile정의Dockerfile은 Docker Image를 생성하기 위한 레시피 혹은 설계도 같은 것입니다. 이 파일에는 컨테이너가 어떻게 작동해야 하는지에 대한 지시사항이 담겨 있습니다. 역할Dockerfile은 운영체제, 실행할 코드, 필요한 라이브러리 및 환경 변수 설정 등을 포함하여 특정 애플리케이션을 실행하는 데 필요한 모든 것을 정의합니다. 사용 예시예를 들어 Python 애플리케이션을 Docker 컨테이너에서 실행하기 위해 필요한 Python 런타임, 코드 복사, 필요한 패키지 설치 등을 Dockerfile에 명시합니다.FRO..
IoC(=Inversion of Control) ContainerIoC란 직역 하자면 "제어의 반전"이라는 뜻이며, 프로그램의 제어를 다른 대상이 맡는 것을 의미합니다. IoC Container는 스프링 컨테이너 또는 DI 컨테이너라고 불립니다.이 스프링 컨테이너는 스프링 프레임워크의 핵심 컴포넌트입니다.스프링 컨테이너는 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공합니다.스프링에서는 자바 객체를 빈(Bean)이라고 합니다. 즉, 스프링 컨테이너(=IoC Container)는 내부에 존재하는 빈의 생명주기를 관리(빈의 생성, 관리, 제거)하며, 생성된 빈에게 추가적인 기능을 제공하는 것입니다. 스프링 컨테이너는 XML, 어노테이션 기반의 자바 설정 클래스로 만들 수 있..
DI(=Dependency Injection)DI란 의존 관계 주입 또는 의존성 주입이라 불립니다. Spring의 3가지 핵심 프로그래밍 모델(AOP, DI, IoC) 중 하나 입니다. DI는 외부에서 객체 간의 관계(의존성)을 결정해 주는데 즉, 객체를 직접 생성하는 것이 아니라 외부에서 생성 후 주입시켜 주는 방식이라고 할 수 있습니다. 이를 통해서 객체 간의 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있습니다. Spring에서의 DI 방법Spring에서 의존 관계를 주입(DI)하는 방법에는 3가지가 있습니다.Spring DI 3가지 방법Construct Injection (생성자 주입)Field Injection (필드 주입)Setter Injection (Setter 주입)Spr..
프로세스와 쓰레드프로세스시스템에서 실행 중인 프로그램을 이야기합니다. 자신만의 메모리 공간을 포함한 독립적인 실행 환경을 가지고 있습니다. 우리가 사용하는 프로그램들의 일부는 여러 프로세스 간 상호 작용하는 것일 수 있습니다.JVM은 하나의 프로세스로 실행되며, 동시에 여러 작업을 수행하기 위해 멀티 쓰레드를 지원하고 있습니다. 쓰레드프로세스 안에서 독립적으로 실행되는 작은 실행 단위를 의미합니다.쓰레드는 JVM에 의해 관리되며, 프로세스에는 적어도 한 개 이상의 쓰레드가 존재합니다. Main 쓰레드 하나로 시작하여 쓰레드를 추가 생성하게 되면 멀티 쓰레드 환경이 됩니다.이러한 쓰레드는 프로세스의 리소스를 공유하기 때문에 효율적이긴 하나, 리소스 동기화와 같은 문제점이 발생합니다.JAVA의 쓰레드Java..
SQL 개요SQL 기능에 따른 분류데이터 정의어(DDL): 테이블을 생성하는 데 사용하며 CREATE, ALTER, DROP문 등이 있습니다.데이터 조작어(DML): 테이블에 대해 데이터 검색, 삽입, 수정, 삭제 시 사용하며 INSERT, SELECT, DELETE, UPDATE문 등이 있습니다. 여기서 SELECT 문은 특별히 query문(질의어)라고 합니다.데이터 제어어(DCL): 데이터 사용 권한을 관리할 때 사용합니다. GRANT, REVOKE문 등이 있습니다. SQL의 실행 순서는 다음과 같습니다. FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT 데이터 정의어 - DDLCREATE 문테이블을 생성하고, 속성과 속성에 관한 제약을 정의..
관계 데이터 모델의 개념릴레이션릴레이션(Relation): 행과 열로 구성된 테이블속성(Attribute): 세로의 값으로 열(Column)이라고 합니다.튜플(Tuple): 가로의 값으로 행(Row)이라고 한다.차수(Degree): 속성의 수카디날리티(Cardinality): 튜플의 수스키마(Schema): 릴레이션이 어떻게 구성되는지, 어떤 정보를 담고 있는지에 대한 기본적이 구조를 정의(Table 첫 행의 Header)인스턴스(Instance): 정의된 스키마에 따라 테이블에 실제 저장된 데이터의 집합 스키마의 구성요소속성(Attribute): 릴레이션의 스키마 열도메인(Domain): 속성이 가질 수 있는 값의 집합차수(Degree): 속성의 개수위 테이블에서 속성은 도서번호, 도서이름, 출판사,..
데이터베이스와 데이터베이스 시스템데이터, 정보, 지식데이터: 관찰의 결과, 정량적/정성석인 실제 값정보: 데이터에 의미를 부여한 것지식: 사물이나 현상에 대한 이해위 그림에서 에베레스트가 8,848m라는 것은 데이터가 되며, 에베레스트가 세계에서 가장 높은 산이라는 것은 데이터에 의미를 부여한 정보, 에베레스트에 관한 보고서는 지식이 됩니다. 일상 생활의 데이터베이스데이터베이스란 우리에게 필요한 정보를 구조적으로 통합해 놓은 것입니다. 일상 생활에서 사용 되는 데이터베이스는 아래와 같은 것들이 있습니다. 데이터베이스의 개념통합 데이터: 데이터를 통합하는 개념, 각자 사용하던 데이터를 통합하고 중복된 데이터를 최소화하여 중복으로 인한 데이터 불일치를 제거합니다.저장 데이터: 문서로 보관된 데이터가 아..
Docker에 Linux Container를 올린 후, SSH 접속 프로그램(Putty)을 통해 접속하는 방법을 알아보도록 하겠습니다.리눅스 관련 이미지 받기우선 Docker Hub에서 리눅스 OS와 관련된 이미지(CentOS / Ubuntu)를 다운 받아야 합니다. 저는 Ubuntu 이미지를 다운 받아 실행하였습니다.# 명령어를 통해 ubuntu와 관련된 이미지들을 확인합니다.docker search ubuntu 이 중, STARS가 가장 많고 OFFICIAL 항목이 [OK]인 이미지는 공식적인 이미지이며, 신뢰성 있는 이미지입니다.그럼 다음과 같은 명령어를 통해 최상단의 ubuntu 이미지를 다운 받습니다.# 'ubuntu' 이름을 가진 이미지를 다운받습니다.docker pull ubuntu 그럼 이..
Objects 클래스Object 클래스와 유사한 이름을 가진 java.util.Objects 클래스는 객체 비교, HashCode 생성, null 여부, 객체 문자열 리턴 등의 연산을 수행하는 정적(static) 메서드들로 구성된 Object 클래스의 유틸리티 클래스 입니다.Objects 클래스의 메서드compare(a, b) - 객체 비교 메서드equals(), deepEquals() - 객체 동등 비교 hash(), hashCode() - 해시 코드 생성isNull(), nonNull(), requireNonNull() - null 여부 조사toString() - 객체 문자 정보 compare(T a, T b, Comparator c) : 객체 비교 메서드두 객체 a, b를 Comparator(=비..
- Total
- Today
- Yesterday