분류 전체보기 (330) 썸네일형 리스트형 도커 1차시 수업 실습 *도커 실행하고 있으면 해당 터미널창 사용 불가, 터미널 2개켜서 사용하기 도커 이미지 pull 받아서 이미지 실행 도커 멈추고 삭제하기(Ctrl+c 누르면 멈출수 있음= stop) docker container rm은 docker rm이랑 같은 역할함. docker ps는 실행중인 컨테이너만 확인 할 수 있음docker ps -a 하면 stop되어있는 컨테이너를 확인할 수 있음. 여기서 ID확인 후 컨테이너 rm 실행 볼륨마운트하면 컨테이너에 반영됨 로컬 8888포트를 컨테이너 안에 있는 80포트와 연결해보기(아파치서버이용)docker run -p 8888:80 httpd html 파일을 수정해보자 격리되어있는 파일 시스템에 들어가기docker exec -it [컨테이너NAME] /bin/sh컨테.. Docker 설치하기 및 사전학습 정리내용 원티드의 프리온보딩 백엔드 챌린지에 참여신청 후 사전 학습을 진행해보고자 합니다(컨테이너 기반 서버 관리 경험으로 면접 뽀개기 ) https://www.wanted.co.kr/events/pre_challenge_be_19 1차: 5.8(수) 20시 2차: 5.11(토) 10시 3차: 5.15(수) 20시 4차: 5.18(토) 10시" data-og-host="www.wanted.co.kr" data-og-source-url="https://www.wanted.co.kr/events/pre_challenge_be_19" data-og-url="https://www.wanted.co.kr/events/pre_challenge_be_19" data-og-image="https://scrap.kakaocdn... 추가로 해보고 싶은 것 1. 암호화 방식 SHA-2 & salt 로 변경하여 단방향 암호화 처리 해보기 -> 완료 2. 이력 테이블 복합키로 생성 3. 코드 리팩토링 MAVEN 도서 읽으면서 정리한 내용 [자바 세상의 빌드를 이끄는 메이븐] 이라는 책을 읽으면서 알게된 내용을 정리하려고 함. 메이븐은 'mvn' 명령을 실행하면 기본적으로 pom.xml 파일을 읽어 빌드를 실행한다. pom.xml 파일이 아닌 다른 설정 파일을 사용하고자 한다면 '-f' 또는 '--file' 옵션을 사용하면 된다. ex) mvn -f mypom.xml test 아키타입 메이븐의 템플릿 프로젝트로 프로젝트를 생성하면 프로젝트의 뼈대를 자동으로 생성할 수 있다. 메이븐의 이 같은 기능을 아키타입 이라고 한다. 메이븐에서 제공하는 아키타입은 메이븐 중앙저장소에서 관리한다. 메이븐 아키타입을 통해 기본 디렉토리 구조를 자동으로 생성한다. (project이름/src/main/java/groupId값 으로 만들어지는 것) pom.xm.. GitLab 사용법 GitLab 사용법GitLab default branch 변경(master → main)변경할 브랜치 생성(main)Setting → Repository → Branch defaults에서 Default branch를 main으로 변경Protected branches 변경 : 브랜치 maintainers만 merge or push할 수 있도록 보호Git Clone 받는 법(인텔리제이 Local 창 기준)인텔리제이 에서 프로젝트 아무거나 열고나서Local에서 명령어로원하는 경로로 이동clone 프로젝트를 저장할 폴더 생성mkdir didimCMgit clone 실행git clone **오류 발생 시 메세지를 잘 읽어볼 것.fatal: could not read Username for '[g](http://.. Memory Leak 메모리 누수 Memory Leak 메모리 누수 컴퓨터 프로그램이 필요하지 않는 메모리를 점유하고 있는 현상 메모리를 동적 할당한 뒤 더 이상 필요하지 않는 메모리가 해제되지 않으면서 메모리가 부족해서 발생하는 현상이다 메모리 누수가 계속되면 Out of Memory 현상이 발생해서 애플리케이션이 동작하지 못하고 프로그램이 종료되는 현상이 발생할 수 있다 GC가 진행되어도 메모리 확보가 되지 않는 것을 확인하면 메모리 누수 존재 가능성이 있다 힙덤프 분석을 통해서 메모리에 지나치게 존재하는 오브젝트를 확인해보자 View에 사용자 이름을 전달하는 Controller 중복 코드 제거 문제 현재 Header메뉴에 사용자 이름을 표시하고자 사용자 인증이 완료된 경우 GET요청을 처리하는 ViewController에서 Model에 사용자 이름을 담아 view에 전달하고 있는데, 이 코드가 로그인이 필요한 메서드에 모두 포함되고 있어서 filter를 활용하여 코드 중복을 제거하고자 함 상기 코드에서 Model.addAttribute(“username”,findUsername); 부분이 중복되고 있습니다. 해결 과정 OncePerRequestFilter Class 활용 Http Request의 한 번의 요청에 대해 한 번만 실행하는 Filter인 OncePerRequestFilter를 상속받아 UsernameFilter Class를 생성했습니다. 이를 활용하여 request에 data(사용자.. 검색 이력 저장 시 시간 저장 문제 해결 Spring Boot v2.7.18, Mybatis, MariaDB 환경에서 개발하던 중 발생한 문제 검색 이력 저장 시 milliseconds 단위까지 저장되지 않음(24.03.14) 문제 검색 이력을 담는 테이블의 Mapper를 JUnit5로 테스트 하던 중 검색 이력 저장 시 milliseconds 단위까지 저장되지 않는다는 것을 발견했습니다. 현재 사용자의 login_id와 검색 시간인 search_date 두개의 컬럼을 PK로 사용하고 있고, search_date가 milliseconds 단위까지 포함해야 데이터 중복이 일어나지 않기 때문에, milliseconds 단위의 저장은 필수로 이루어져야 합니다. 해결 과정 알고보니 DB별로 TIMESTAMP 타입의 사용법이 달랐고, MariaDB의 T.. 이전 1 2 3 4 5 6 7 ··· 42 다음