M1 맥북에서 Linux Ubuntu 사용하기 with AWS EC2
·
Programming
애플이 최근에 출시한 M1 프로세서를 사용한 MAC은 VMware, VirtualBox 등 무료 가상 머신을 사용할 수 없다. 현재까진 Parallels에서만 사용이 가능한 것으로 알고 있다. MAC OS는 기본적으로 터미널이 있고, 리눅스 기반 명령어를 사용할 수 있도록 환경이 어느 정도 갖추어져 있지만, 그 조상이 Linux가 아니라 라 Unix(Linux의 조상)이어서 그런진 몰라도 리눅스 환경에서 사용했던 명령어 일부가 지원하지 않거나 다른 명령어가 그 역할을 한다. 포인트는 공부 및 프로젝트 배포 실습을 위해선 Linux환경이 필요하다. 그래서 결국 대안으로 AWS EC2를 이용해 Linux 환경을 사용하기로 했다. 사실 AWS도 공부를 제대로 하고 사용해야 하는 기술 스택이지만 아직 배움이 부..
Spring Study 02
·
Programming
온라인 강의를 듣고 배운 점들을 기록한다. Bcrpyt & BcryptPasswordEncoder - Spring Security에서 제공하는 암호화 기법. - 내부적으로 임의의 salt값을 이용해 평문을 다이제스트(암호문)로 변환한다. - 즉 동일한 문자열에 대한 해시 결과가 매번 다르게 나온다. - 그러므로 위 라이브러리에서 제공하는 해시 비교 메서드를 통해서 비교할 수 있다. - Bcrpyt 라이브러리의 checkpw() 메서드를 통해 평문과 다이제스트를 비교할 수 있다. - BcryptPasswordEncoder는 AuthenticationProvider의 인자 값(UserDetailServices, PasswordEncoder)의 PasswordEncoder의 구현체로 가장 사용 빈도가 높은 구..
Spring Study 01
·
Programming
온라인 강의를 듣고 배운 점들을 기록한다. @RequiredArgsConstructor - Lombok 어노테이션, final 필드, @NonNull이 붙은 필드에 대한 생성자를 제공한다. - 참고로 @AllArgsConstructor는 모든 필드에 대한 생성자를 제공한다. - Controller에서 주입되는 Service나 Service에서 주입되는 Repository 등을 final 필드로 선언할 때 주로 사용하는 것 같다. schema.sql & data.sql - SpringBoot에서 resources 디렉터리 아래에 위 파일들이 있다면, 내용을 읽어서 해당하는 DDL, DML을 수행한다. - 특히 JPA와 H2 DB를 사용할 때 ApplicationRunner를 사용하지 않고 초기 DB 형태를..
Docker 02
·
Programming
Docker를 지탱하는 기술 chroot(change root) 프로세스의 새로운 루트 디렉터리를 만든다. 그리고 그 루트의 상위로 접근할 수 없게 하는 기술 즉 호스트 파일 시스템이 아닌 별도의 실행환경을 가지게 된다. namespace 하나의 시스템(호스트 OS)에서 수행되지만 독립된 공간처럼 격리된 환경을 제공하는 리눅스 커널의 경량 프로세스 가상화 기술 cgroup(control group) 하나의 프로세스에 할당되는 물리적인 자원을 조정하는 기술 CPU개수, CPU 사용률, 최대 할당 Memory 등 Overlay File System 공통적으로 사용하는 이미지는 Read-Only로 하나의 레이어를 공유하고 Write 전용 레이어를 두어 컨테이너별로 사용하는 데이터 및 레이어를 따로 관리하는 기..
Docker 01
·
Programming
가상화 CPU, 메모리 등 내가 가지고 있는 자원을 논리적인 형태로 묶는 행위 가상화 등장 배경 기존 상황 메일 서비스, 백업 서비스의 2개의 서비스를 운영해야 한다고 가정해보자. 그럼 단순히 보면 메일 서비스를 위한 서버 1대, 백업 서비스를 위한 서버 1대, 총 2대의 서버가 필요하다. 그래서 2대의 서버를 운영 중이다. 문제점 비효율적이다. 실제로 한 서비스에 할당된 서버 자원이 좀 지나치게 풍부하다. 서비스 특성상 피크 타임이 다르다. 메일 서버는 일과 시간에, 백업 서버는 밤에 리소스 사용량이 많다. 그래서 메일 서버는 밤에는 놀고, 백업 서버는 낮에 논다. 결국 내가 가진 자원이 굉장히 비효율적으로 사용되고 있는 상황이다. 즉 내 자원에 대한 Utilization이 굉장히 떨어진다. 그럼에도 ..
M1 맥북에서 Docker + Tomcat 이미지 사용하기
·
Programming
M1 Docker가 정식 Release 되었다. 열심히 삽질해서 Tomcat 이미지에 HTML 파일을 올려서 접속하는 것을 성공했다. GUI 환경도 잘 되어있어서 가능하지만 이미지 검색할 때 회원가입을 해야 하는 귀찮음(?)때문에 전통적인 CLI방식으로 테스트해봤다. Docker Desktop for Apple silicon docs.docker.com 1. Docker 설치 이 부분은 기존의 맥 애플리케이션 설치할 때와 동일하게 진행하면 된다. 설치 후에 Docker의 아키텍처가 Apple인 것을 확인한다. Intel이라고 뜨면 M1용을 설치한 것이 아니니깐 주의. 2. Tomcat 이미지 파일 검색 및 다운로드 // docker hub의 tomcat 관련 이미지를 검색 docker search tom..