전체 글
-
[Spring] 설정 파일 여러 개 생성하여 적용하기(application.yml)개발 지식/Spring 2024. 1. 8. 15:49
- 설정 파일(.yml)을 여러 개 생성하여 특정 profile로 애플리케이션을 실행하는 경우 기본적인 application.yml 파일이 먼저 적용되고 이 후 application-{profile}.yml 파일의 설정이 덮어씌워지는 방식으로 동작하게 된다. 예를 들어, spring.security.oauth2.client.registration 설정에서 기본 application.yml 파일에서는 google, naver, kakao에 대한 설정을 해주었고 application-{profile}.yml 파일에서는 naver, kakao 설정을 해주는 경우 google은 기본 파일의 설정이 적용된다. profile 단위로 설정 파일을 분리하는 방법 1. application-{profile}.yml 방식..
-
[DB] MySQL 계정 생성 및 권한 부여 방법 정리개발 지식/DB 2024. 1. 8. 14:23
1. 계정 생성 CREATE USER '계정아이디'@'호스트명' IDENTIFIED BY '비밀번호'; - 호스트명에 localhost를 넣게 되면 내부 ip에서만 접속이 가능하고 %의 경우에는 외부 모든 ip에서 접속이 가능한 계정이 된다. 2. 계정 권한 부여 //모든 DB에 모든 권한 부여 GRANT ALL PRIVILEGES ON *.* TO '계정아이디'@'호스트'; ex) grant all privileges on *.* to 'testId1'@'loalhost'; //특정 DB에 모든 권한 부여 GRANT ALL PRIVILEGES ON 데이터베이스명.* TO '계정아이디'@'호스트'; ex) grant all privileges on board.* to 'testId1'@'loalhost'..
-
[Java] 정규표현식 캡처 그룹과 비캡처 그룹개발 지식/Java 2024. 1. 7. 11:32
정규표현식에서 그룹이란 ()로 감싸진 부분들을 의미한다. 캡처 그룹은 매칭 결과에서 해당 부분의 정보를 추출할 수 있는 그룹을 의미하고 비캡처 그룹은 해당 부분의 정보를 추출할 수 없는 그룹을 의미한다. 예시 String input = "A123 B456 C789"; Pattern pattern = Pattern.compile("([A-Z])(\\d+)"); Matcher matcher = pattern.matcher(input); while (matcher.find()) { System.out.println("전체 매칭: " + matcher.group(0)); // 전체 매칭 System.out.println("첫 번째 그룹: " + matcher.group(1)); // 첫 번째 그룹 (대문자) S..
-
[Spring] Spring REST Docs 적용 중 발생한 문제개발 지식/Spring 2024. 1. 5. 13:33
문제1 에러로그 lang.IllegalArgumentException: urlTemplate not found. If you are using MockMvc did you use RestDocumentationRequestBuilders to build the request? 원인 mockMvc.perform() 메서드의 인자로 RestDocumentationRequestBuilders 대신 MockMvcRequestBuilders를 사용했기 때문 해결방법 기존의 post, patch, get, delete 메서드의 static import를 RestDocumentationRequestBuilders로 바꿔주면 된다. 문제2 에러로그 java.lang.ClassCastException: class jav..
-
[Spring] Spring REST Docs를 이용한 API 문서화개발 지식/Spring 2024. 1. 4. 17:29
Spring REST Docs 에 대한 설명 전체적인 흐름 빌드 -> 테스트 -> 스니펫 생성 -> asciidoctor에 의해 스니펫을 이용하여 html 생성(이때 반드시 src/docs/asciidoc 경로에 index.adoc 파일을 생성하여 어떻게 html 파일을 생성할 것인지 정의해줘야 한다. 여기서 adoc 파일의 파일명 그대로 html 파일이 생성된다.) -> build/docs/asciidoc 경로에 생성된 html 파일을 src/main/resources/static/docs 경로에 복사한다. -> src/main/resources/static 해당 경로는 정적 파일에 대한 루트 클래스패스로 docs/index.html 형식으로 요청하게 되면 API 문서화 페이지가 제공된다. 사용법 ..
-
[DB] ubuntu에 mysql 설치 및 초기비밀번호 변경하는 법개발 지식/DB 2023. 12. 31. 14:25
1. 패키지 관리자인 apt를 통해 mysql을 설치한다 sudo apt update sudo apt install mysql-server-8.0 2. sudo mysql 명령어를 통해 mysql에 들어간다. 3. 다음 명령어를 통해 계정 비밀번호를 바꾼다. alter user '계정'@'호스트' identified by '비밀번호'; flush privileges; 예시 alter user 'root'@'localhost' identified by '1234'; flush privileges; 4. mysql -u 계정 -p 명령어를 통해 접속한다.
-
[Spring] build.gradle에 추가하는 라이브러리 공식문서 확인하는 방법개발 지식/Spring 2023. 12. 27. 17:12
https://mvnrepository.com/repos/central - 위의 주소로 가서 해당 라이브러리를 검색하면 나온다. - 위의 예시에서 redis를 검색하였을때 나오는 경로를 이용하여 build.gradle에 다음과 같은 구문을 추가하면 된다. implementation 'org.springframework.boot:spring-boot-starter-data-redis' 참고 사항으로 스프링 부트가 공식적으로 관리하는 라이브러리의 경우에는 버전을 알아서 세팅해주지만 그렇지 않은 라이브러리의 경우 버전까지 꼭 입력해야 한다.