Dockerfile이란? 도커에서 사용되는 이미지를 생성하기 위해 스크립트를 작성할 수 있는 텍스트 형식의 파일이다. 주요 명령어 Command Description FROM Base 이미지를 지정 (ex: Node 나 JDK 지정) LABEL Version, Writer와 같은 이미지 메타데이터를 작성 CMD 도커 컨테이너가 시작될 때 실행되는 shell 명령을 설정 RUN 이미지 작성시 실행되는 shell 명령 설정 및 새로운 이미지 layer를 만드는 역할 ENTRYPOINT 도커 컨테이너가 시작될 때 실행되는 shell 명령을 설정 CMD와는 다르게 docker run에서 부여되는 명령에 overrride가 되지 않고 실행됨 EXPOSE 도커 컨테이너 외부에 오픈할 Port 설정 ENV 도커 컨테..
전체 글
단계별로 성장하자!1. docker run 명령 pull, create, start명령을 한번에 처리하며 타겟 이미지를 가져와서 커스텀 설정에 따라 컨테이너를 생성하여 실행하는 명령어 2. 옵션 Option Description -i 컨테이너에서 외부로 표준 입력( ex: STDIN )을 open. 내부 프로그램으로 입력을 전달하기 위해 -t 가상 터미널(tty)을 할당 -d 컨테이너를 백그라운드에서 실행 --name 컨테이너 이름 설정 =rm 컨테이너가 종료되면 자동으로 컨테이너를 삭제 -p Host와 컨테이너 포트를 연결 -v Host와 컨테이너 디렉토리를 연결 3. -it 자주 같이 쓰는 옵션 -i 옵션으로 도커 컨테이너에 외부로의 표준 입력을 open하고 -t 옵션으로 가상(psedo) tty를 만들어 표준 입력을..
1. 문제 상황 사용자가 반납을 직접 정해진 시간 내로 하지 않았을 경우 사용자에게 페널티를 주고 서버에서 자동으로 반납하는 기능을 구현해야 한다. 어떻게 구현해야 할까 고민하다가 "API를 구현해 놓고 cron 명령으로 정해진 시간마다 호출해야 할까?"라고 생각했고, Spring에는 이러한 기능을 제공해주는 것이 없는지 찾아보았다 2. 어떻게 구현할까? 우선 Spring에 스케줄링을 도와주는 기능이 있는지 알아보았다. @Scheduled 어노테이션을 사용하면 일정한 시간 간격 또는 특정 시간에 해당 코드를 실행하도록 설정할 수 있다고 한다. 3. @Scheduled를 적용해보자 (1) 먼저 Main Application class에 @EnableScheduling 어노테이션을 추가한다. @SpringB..
1. 문제 상황 JwtTokenFilter를 UsernamePasswordAuthenticationFilter 이전에 끼워 넣고 실행하였는데 필터가 두 번 호출되고 동작이 꼬여버리는 상황이 발생했다. (1) JwtTokenFilter.java @Component @RequiredArgsConstructor public class JwtTokenFilter extends OncePerRequestFilter { private final JwtTokenProvider jwtTokenProvider; @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filter..
1. 메소드 이름에서 지원되는 키워드 공식 문서를 기반으로 살펴보았다. public interface MemberRepository extends JpaRepository { List findByGenderAndAgeGreaterThan(String gender, int age); } 위와 같이 Member 객체의 gender state가 입력된 gender와 같고 age 상태가 입력된 age보다 큰 Member를 찾는 쿼리 메서드를 정의할 수 있다. Method Name은 만약 엔티티의 변수 Name이 바뀌면 같이 변경해야 한다! (안하면 에러남) 2. 쿼리 메서드 기능 카운팅(COUNT): count~By 반환타입은 long 타입 존재여부(EXISTS): exists~By 반환타입은 boolean 타..
generate: Cmd + n history: Cmd + e 이전에 열었던 파일 앞으로 가기 뒤로가기: Cmd + [ or ] : 단어 한번에 선택: Option + 화살표 상 라인 삭제: Cmd + Backspace 자동 완성: Control + Space 문단 단위로 코드 이동: Command + Shift + 화살표 상, 하 한 줄 위 아래 이동: Option + Shift + 화살표 상, 하 Constructor/Getter/Setter 등 선택 자동 만들기, 파일 생성하기: Control + Enter Or Cmd + n 계속 업데이트 예정~~