[Spring, Swagger] Swagger 적용하기 및 기본 경로 변경하기
프로그래밍/Java2024. 9. 21. 15:44[Spring, Swagger] Swagger 적용하기 및 기본 경로 변경하기

몇 달 전 새로운 프로젝트를 시작하기 앞서 백엔드에서 작업하는 내용을 프론트 개발자들이 직접 확인할 수 있도록 Swagger를 통해 문서화를 진행하기로 했다 ! 문서화를 해놓으면 요청하는 데이터의 타입과 변수명을 직접 확인할 수 있고, 응답되는 타입과 값을 바로바로 확인할 수 있어 소통의 비용이 감소할 수 있습니다 ! 멋쟁이 프론트 개발자가 Swagger에 백엔드 개발자가 문서화한 내용들을  프로젝트 내부에서  모두 가져다 쓸 수 있도록 제작해놔서 코드 제작에 대한 비용도 감소하였다 !그럼 이제 Swagger 적용 방법에 대해 알아보도록 합시다 ! 🫡Swagger 적용하기프로젝트 환경Java : 17Spring-boot : 3.2.7Gradle : 8.8SpringBoot 3.0.0 이상부터는 spri..

[Java, 자바] Mybatis Map foreach로 반복하기
프로그래밍/Java2024. 9. 10. 22:55[Java, 자바] Mybatis Map foreach로 반복하기

Spring에서 Mybatis 사용 중 요청 받은 데이터를 Map으로 받아 로직을 수행하는 중 아래와 같은 오류가 발생했다 !unable to make field private final byte[] java.lang.string.value accessible: module java.base does not "opens java.lang" to unnamed module위 에러를 확인 해보면 java.lang 패키지에 접근할 수 없어 발생하는 오류라고한다.해결 방법을 보니 openJDK 버전 문제일 수도 있고 환경 변수에 문제가 있을 수 있다고 해서 여러가지 방법을 시도해봤지만 ! 여전히 해결되지 않아 Mybatis에서 Map을 사용하는 방법을 다시 한번 찾아보기로했다. 📄기존 코드 IN..

[Github, Git] 리포지토리 폴더 접속 안될 때
Error2024. 9. 7. 22:05[Github, Git] 리포지토리 폴더 접속 안될 때

깃허브에 업로드되어있는 프로젝트를 새로운 리포지토리 안에 넣고 push를 하니 아래 사진과 같이 화살표가 표시되고 해당 폴더로 접속이 안되는 상황이 발생했다 ! 검색해보니 저장소에 하위 저장소가 생겼기 때문이였다. 즉, 상위 폴더에도 .'git' 파일이 존재하고 하위 폴더에도 '.git' 파일이 존재해서 발생한 오류이다 !  해결 방법먼저 하위 폴더로 접속해 '.git' 파일을 삭제해줍니다.해당 파일이 안보일 때 finder에서 command + shift + . 키를 입력하면 해당 파일을 확인할 수 있습니다.(Mac 기준)그 다음 원격 저장소 파일들까지 깔끔하게 삭제하기 위해 터미널을 실행하여 하위 폴더에서 아래의 명령어를 입력해줍니다.git rm --cached . -rf 위 명령어를 입력한 다음 다..

[Java, Spring] @ControllerAdvice, @RestControllerAdvice란 ?
프로그래밍/Java2024. 9. 1. 22:41[Java, Spring] @ControllerAdvice, @RestControllerAdvice란 ?

요즘 이것 저것 하느냐고 손이 부족해서 오랜만에 포스팅을 쓰네요 !! 분발하자 !!!! (살려주세요...)@ControllerAdvice와 @RestControllerAdvice 우선 순위에 대해 알아보다 Advice에 대해 같이 정리하면 좋을 것 같아 같이 정리해보려고 합니다🫠 ❓@ControllerAdvice란 ?@ControllerAdvice는 Spring 3.2에서 도입된 어노테이션이고, 모든 @Cotroller 클래스가 공유하는 공통 로직을 정의할 때 사용합니다.주로 예외 처리와 바인딩 설정, 모델 객체 등에 사용됩니다. 아래 예제 코드를 통해 간단히 알아보겠습니다 ! 예제코드NotFoundException이 발생할 경우 error라는 이름의 뷰로 이동하고 메세지를 출력합니다.반환되는 타입을 ..

[Error] MySQL net.sf.log4jdbc.sql.jdbcapi.DriverSpy claims to not accept jdbcUrl
Error2024. 8. 16. 11:15[Error] MySQL net.sf.log4jdbc.sql.jdbcapi.DriverSpy claims to not accept jdbcUrl

문제 없이 잘 운영하던 사이트가 어느 순간부터 데이터 조회가 이루어지지 않고 있다는 것을 확인했다.....서버 DB 접근이 안되고 로컬 DB에도 접근이 안되고 있었다 !에러 메세지는 다음과 같다.### Error querying database. Cause: java.lang.RuntimeException: Driver net.sf.log4jdbc.sql.jdbcapi.DriverSpy claims to not accept jdbcUrl, jdbc:log4jdbc:mysql://localhost/TheJapen?serverTimezone=Asia/Seoul### The error may exist in file [/Users/ichanhan/Desktop/projectfile/thejapenprojec..

[CS] Thread(스레드), Process(프로세스)란 ?
IT이론/네트워크2024. 8. 6. 23:36[CS] Thread(스레드), Process(프로세스)란 ?

이번에는 Thread에 관련해서 학습할 예정입니다 ! 면접 질문 준비하면서 프로세스는 뭐다, 스레드는 뭐다 라고 간단하게만 알고 있었는데 이번 기회에 조금 더 깊이 공부해보겠습니다 ! 하지만....쉽지 않다는거......😢 ❓프로세스와 스레드란 ?위 그림을 봤을 때 운영체제 안에 프로세스가 존재하고, 프로세스 안에 스레드가 존재합니다. 📦 프로세스프로세스는 실행 중인 프로그램의 인스턴스입니다. 즉, 우리가 컴퓨터에서 더블 클릭을 해서 프로그램을 켰을 때 하나의 프로세스가 생성된다고 생각하시면 됩니다 ! 각 프로세스는 독립적인 메모리 공간을 가지고 있고, 운영체제에서 별도의 작업 단위로 분리(독립적)해서 관리됩니다 ! 그리고 각 프로세스는 별도의 메모리 공간을 갖고 있기 때문에 서로 간섭하지 않으며, ..

[IntelliJ] IntelliJ 내장 DB(IntelliJ Database Tool) 사용법
설정2024. 8. 1. 13:54[IntelliJ] IntelliJ 내장 DB(IntelliJ Database Tool) 사용법

IDE에서 Database를 활용할 수 있도록 IntelliJ에서 지원을 해주고 있다는 것을 알게되었습니다 !너무 편해서 사용법을 공유하려고합니다 ! 준비물은 IntelliJ Ultimate 버전 !사용 가능한 기능은 Jet Brains 사이트에서 확인 가능합니다 !Oracle, MySQL, PostgreSQL 등등 대부분의 툴 지원이되고 ! Redis까지 사용할 수 있는게 너무 좋네요 !⭐️IntelliJ 내장 DB 사용하기프로젝트 내부 오른쪽 바에 노출되어있는 Database를 클릭해줍니다.참고로 연결한 DB는 프로젝트 별로 관리됩니다 ! 즉, 1번 프로젝트에서 연결한 DB는 2번 프로젝트에서 확인이 불가합니다 ! 다음으로 + 버튼을 누른 뒤 Data Source 탭 내부에 있는 DB 종류를 골라줍니..

[Java, 자바] 예외 처리란 ?
프로그래밍/Java2024. 7. 31. 23:28[Java, 자바] 예외 처리란 ?

프로잭트를 진행할 때 예외처리를 많이 사용했지만, 깊이 있게 공부하지 않은 것 같아 정리를 한번 해보려고합니다 !❓예외 처리란 ?예외 처리란 프로그램 실행 흐름상 오류가 발생했을 때 그 오류를 대체하는 방법입니다.에러(Error) : 메모리 부족이나 스택오버플로우와 같이 일단 발생하면 복구할 수 없는 심각한 오류예외(Exception) : 인자값 Null에러 NPE(NullPointException)가 발생하더라도 수습이 가능한 덜 심각한 오류 예외 계층자바는 프로프로그램 실행 중에 발생할 수 있는 예상치 못한, 즉 예외(Exception)를 처리하기 위한 메커니즘을 제공합니다.이는 프로그램의 안정성과 신뢰성을 높이는 데 중요한 역할을 합니다.자바의 예외 처리는 try, catch, finally, th..

image