본문 바로가기

전체 글

[Docker] 내가 만든 애플리케이션 도커로 실행하기, 이미지 공유하기 1. 도커(docker) 이미지(image) 만들기 1) Dockerfile 생성 도커 이미지를 만들기 위해서 Dockerfile이 필요함 Dockerfile이란 도커 이미지를 어떻게 생성할 것인지 정의한 파일 FROM: 도커 이미지를 생성할 때 기본적으로 사용할 base image를 작성, 주로 OS이미지, 런타임 이미지를 지정 ADD src dst: 호스트 머신에 있는 파일이나 폴더를, dst라는 위치에 저장(만약, 이미지에 복사하려는 디렉토리가 없을 시 도커가 자동 생성해줌 ) RUN script: 스크립트 실행, 이미지를 빌드할 때 사용하는 커맨드 CMD: 생성된 도커 이미지를 실행할 때 자동으로 실행되는 커맨드 기타 EXPOSE: 이미지가 통신에 사용할 포트 지정 ENV: 환경변수 지정 ENTR.. 더보기
[TIL] 사이드 프로젝트 29일차 1. 개발 진행 상황 - 테스트 코드 1) 어느 정도 완료, 예외처리한거 추가 필요, 작성된 코드 리팩토링 필요, 테스트 안된거 있는지 확인하기 2) Spring REST Docs 이거 일단 에러 나는 부분 맞춰서 작성 할 수 있는 부분만 작성했는데 좀 더 공부해서 작성해야할 듯 - 채팅 기능 구현 채팅 기능은 처음 해보는거라서 일단 뭘 쓰고 어떻게 기능 구현하는 지 검색과 정리 필요 웹 소켓, stomp, 도커, redis 관련 공부가 필요해......ㅠ 오늘은 예전에 엘라스틱 서치때문에 잠깐 건드리다 만 도커 공부를 좀 했음 redis로 채팅 저장하고 좀 더 길게? 긴 기간 저장할 것을 MySQL DB에 저장하는 방식으로 생각하고 있어서 그것도 찾아봐야함 2. 오늘 한 일 / 회고 기능 구현을 위한.. 더보기
도커(Docker) 개념 잡기 1. 정의 우리가 작성한 코드를 서버에서 실행하기 위해서는 OS 설치, 실행 환경 세팅, 빌드, 라이브러리 다운로드 등의 많은 과정이 필요함. 도커는 우리가 만든 어플리케이션을 원하는 환경에서 실행하는 것을 도와주는 것 2. 구성요소 Client 사용자가 docker를 사용하기 위해 사용하는 CLI(Command Line Interface) DOCKER_HOST 1) 컨테이너(Containers) - 이미지를 사용하여 실행한 것으로 프로세스의 독립성을 보장하기 위해서 네트워크나 저장소가 분리되어 있음 - 격리된 공간에서 프로세스가 동작하는 기술, 가상화 기술의 일종이지만 기존 가상화는 OS 가상화가 일반적이였다면, 도커는 프로세스를 격리하는 방식으로 cpu나 메모리도 필요한 만큼만 사용하기 때문에 성능 .. 더보기
[TIL] 사이드 프로젝트 28일차 1. 개발 진행 상황 테스트 코드 작성 채팅 기능 공부 2. 개발 중 발생한 이슈와 해결 1) 상황 - 테스트 코드를 각 기능(회원, 게시글, 모임, 댓글 등등 )을 테스트하면 테스트를 성공하지만 모든 코드를 한번에 테스트하면 테스트 실패 2) 원인 - 회원, 게시글, 댓글 등등 각 테스트를 위해 임의로 작성한 데이터가 중복되거나 제약조건이 위반되어서 에러 발생 3) 해결 방법 1. 제일 간단한 MypageController 테스트 로그를 확인을 해봄 @BeforeEach public void setup(RestDocumentationContextProvider restDocumentationContextProvider) throws Exception { mockMvc = MockMvcBuilders ... 더보기
스프링 JPA 쿼리가 두번 발생하는 경우 해결하기 1. 상황 테스트 코드 로그를 보면 같은 쿼리가 두번 나타나는 현상 발생 2. 해결 방법 - 로그에서 value값 확인을 위해 추가한 기존 설정 - 기존 org.hibernate.SQL을 show_sql 로 변경 - 쿼리가 한 번만 찍히는 것을 확인 // 3. 원인 더보기
스프링 JPA, 로그에서 쿼리 값(파라미터) 보기 기존 로그를 보면 value가 '?' 로 보임 properties에 간단한 설정이면 value를 볼 수 있음 logging.level.org.hibernate.SQL = debug logging.level.org.hibernate.type.descriptor.sql = trace 설정 후 로그를 확인해보면 아래와 같이 value를 확인할 수 있음 더보기
[TIL] 사이드 프로젝트 27일차 1. 개발 진행 상황 - 테스트 코드 공부 및 작성 중 - 스프링 시큐리티 공부중 2. 개발 중 발생한 이슈와 해결 에러 해결: 일시를 나타내는 localDateTime 형식오류! 형식에 맞추어 제대로 작성하기 더보기
[TIL] 사이드 프로젝트 26일차 1. 개발 진행 상황 - 스프링 시큐리티 공부 2. 오늘 한 일 / 회고 - 테스트를 위해서 스프링 시큐리티 공부를 더 깊게 들어가야겠다. 테스트 코드 자체도 어려운데 시큐리티 적용된걸 테스트하려다보니까 더 어렵고... 스프링 시큐리티를 잘 몰라서 더 어려운 것 같다는 생각이들어서...ㅎ 해야지해야지 해놓고 조금 하다말고 하다해서 제대로 깊게 못파고든 스프링 시큐리티를 시간 넉넉히 잡고 공부를 해야겠다. 더보기