개발 지식
-
[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' 참고 사항으로 스프링 부트가 공식적으로 관리하는 라이브러리의 경우에는 버전을 알아서 세팅해주지만 그렇지 않은 라이브러리의 경우 버전까지 꼭 입력해야 한다.
-
[Spring] 필드가 1개인 DTO는 기본 생성자가 없을 시 에러가 발생한다.개발 지식/Spring 2023. 12. 27. 09:46
- 필드가 2개 이상인 경우에는 Getter와 Builder 애너테이션만 붙여도 정상적으로 동작하지만 1개인 경우에는 json을 자바 객체로 매핑하는 deserialize(역직렬화)를 할 수 없다는 에러가 발생한다. 해결 방법 1. @JsonCreator을 생성자에 붙인다. 2. @Jacksonized을 빌더와 같이 사용(필드를 포함한 생성자와 사용 가능) 3. 기본 생성자 사용 참고 자료 https://velog.io/@ifi9/%ED%95%84%EB%93%9C%EA%B0%80-1%EA%B0%9C%EC%9D%B8-DTO%EB%A5%BC-Jackson-Deserialize-%ED%95%A0-%EC%8B%9C-%EB%AC%B8%EC%A0%9C%EC%A0%90 필드가 1개인 DTO를 Jackson - Des..
-
환경변수 설정하는 방법개발 지식/기타 2023. 12. 8. 13:59
zsh의 경우 ~/.zshrc 파일에 환경변수를 등록하면 된다. zsh 이란? - 쉘의 종류중에 하나로 쉘이란 커널과 사용자 사이의 인터페이스로 쉽게 말하면 사용자가 쉘에게 명령을 내리면 쉘은 그것을 커널이 이해할 수 있게 전달해주는 역할을 한다. 예시 export PATH=/opt/homebrew/bin:$PATH - export 키워드는 환경 변수를 현재 쉘 세션 및 하위 프로세스에 전파하는데 사용되는 명령어이다. - 등호(=)를 기준으로 왼쪽에는 환경 변수 명이고 오른쪽은 변수에 할당되는 값에 해당한다. - :은 해당 환경 변수에 값을 더하는 것을 의미하며 위의 예시에서 $PATH는 기존의 PATH 변수 자체를 의미하고 /opt/homebrew/bin 경로에 기존 PATH 변수에 할당된 값을 더하는..