본문 바로가기

전체 글400

[Docker] 컨테이너 구조 및 커맨드 사용법 - 이론편 위 영상을 바탕으로 정리한 글입니다!   도커 컨테이너 구조도커 컨테이너는 컨테이너 레이어(Container Layer)와 이미지 레이어(Image Layer)로 구성되어 있음 컨테이너 레이어읽기/쓰기 모두 가능한 계층으로 최상단 레이어에 추가됨컨테이너를 실행하고 진행되는 변경사항은 이 계층에 저장됨 이미지 레이어읽기 전용 계층으로 다른 컨테이너와 공유할 수 있는 레이어  컨테이너 레이어는 각기 다른 컨테이너가 공유하지 않는 계층이기 때문에 위 그림과 같이 이미지 레이어를 공유하고 각각 컨테이너 레이어를 공유함이미지 레이어를 공유하면 용량을 절약할 수 있음동일한 이미지 레이어를 사용하고 있기 때문에 동일한 퍼포먼스를 낼 수 있음  도커 명령어 구조도커의 모든 명령은 'docker'로 시작하며 어떤 대상에.. 2024. 7. 10.
[Docker] 도커 기초 위 영상을 바탕으로 정리한 글입니다!  Docker란?컨테이너 기반의 오픈소스 가상화 플랫폼어떤 프로그램을 외부 환경과 격리시켜 구동할 수 있게 해주는 소프트웨어 컨테이너란?OS 상에서 논리적인 영역(컨테이너)를 구축하고, 애플리케이션이 작동하는데 필요한 요소들을 모아 별도의 서버처럼 동작하는 것Linux 환경이 아닐 경우, Linux의 애플리케이션들을 가동하기 위한 기술 (기본을 Linux로 함)필요한 요소만으로 구성되어 있어 오버헤드가 적음 (VM과 비교) 2024. 7. 10.
[AWS] 스프링 부트 jar 빌드와 AWS EC2 배포 위 영상을 보고 따라하며 정리한 내용입니다!   Jar 파일로 생성하는 방법 IntelliJ에서 배포하고 싶은 프로젝트를 연 후, Gradle 창에서 프로젝트명 > Tasks > build 로 들어가 bootJar를 더블 클릭한다.  위 사진처럼 BUILD SUCCESSFUL이라고 뜨면 성공입니다.  해당 프로젝트를 저장한 위치로 들어가 build > libs 에 들어가면 .jar 파일이 생성되어 있습니다.Jar 파일 생성은 성공입니다.   AWS EC2에 배포하는 방법 AWS에 로그인하여 Console 창에서 EC2를 선택합니다.만약 Console 창에 뜨지 않는다면 검색하셔도 됩니다.  클릭했을 때 뜨는 Resources에서 Instances (running)을 클릭합니다.  현재 running 중인.. 2024. 7. 10.
[AWS] 클라우드와 AWS 온프레미스기업이 서버를 자체적으로 보유하고 직접 설치 및 운영하는 방식 클라우드 컴퓨팅원격 환경에서 서버를 운영공유 가능한 컴퓨팅 리소스를 어디서나 간편하게 요청에 따라 네트워크를 통해 접근할 수 있도록 하는 모델주문형 서비스 (요청에 따른 컴퓨팅 서비스)넓은 범위의 접속 가능리소스의 공유신속한 확장성측정 가능 클라우드 컴퓨팅 등장 배경CPU 처리의 고속화빨라진 네트워크 속도와 거대해진 데이터 센터IT 투자 비용의 절감과 효율성빠른 확장성 온프레미스 vs 클라우드 온프레미스클라우드구축 속도하드웨어와 소프트웨어을 조달해서 배치, 설치하는데 시간이 오래 걸림클라우드 서비스를 통해 빠르게 구축 가능경제성피크 타임의 이용량을 계산해서 하드웨어와 소프트웨어를 구입, 유지보수 인력 필요사용하고자 하는 기간만 서비스.. 2024. 7. 6.
[Spring] fromEntity, toEntity, ofEntity? - DTO와 Entity 변환 팀 프로젝트를 진행하며 DTO와 Entity 변환을 어떻게 구현했는지 서로 공유하였다.어떤 분은 fromEntity, toEntity라는 함수를, 또 어떤 분은 ofEntity라는 함수를 정의하여 사용하셨다고 하였다.서로 맞추려다 보니 더 정확히 알아야겠다는 생각이 들어 찾아보았다.  DTO, Entity를 변환하는 3가지 방법1. 생성자 혹은 빌더를 통해 변환하는 방법2. toXXX, fromXXX 메소드를 통해 변환하는 방법3. 별도 DTO, Entity Mapper를 통해 변환하는 방법 첫번째 방법인 생성자나 빌더를 통해 변환하는 방법은 약간의 문제가 생길 수도 있다고 한다. 가독성이 떨어지고, 레이어에서 휴먼 에러로 필드 매핑 실수가 일어나지 않도록 신경써야 하기 때문이다. Mapper는 DTO,.. 2024. 7. 4.
[Spring] 연관 매핑을 지양하라? 개인 프로젝트에서 멀티 모듈을 도전했다가 난관에 봉착했다.A 모듈에 있는 엔티티와 B 모듈에 있는 엔티티가 연관이 필요하게 된 것이다.급하게 멘토님께 질문을 드렸고, 연관 매핑 대신 String으로 Key값만 받아와서 저장하는 방안을 추천해주셨다.연관 매핑을 안 해도 되는 방법이 있다는 것을 알게된 후로, 이게 자주 쓰이는 방법인지가 궁금해졌다. 그래서 검색하던 중 '연관 매핑을 지양하라'라는 글을 보게 되어 정리해둔다.  연관매핑을 왜 사용하는지Spring JPA에서는 @ManyToOne, @OneToMany와 같은 어노테이션을 가지고 연관관계를 확인할 수 있다. 이렇게 되면 직접 참조를 해 연관관계 객체를 바로 찾을 수 있게 되고, Join Query 없이 Join이 가능하며, 유지보수에 용이하다는 .. 2024. 7. 4.