분류 전체보기

원인스프링 시큐리티 강의 영상을 보면서 스프링 부트 초기 세팅을 하던 와중, 로컬에 저장되어있지 않은 데이터베이스를 만들려는 시도를 하였기 때문에 url에 지정된 데이터베이스를 찾지 못했다는 해당 에러가 발생하였습니다.spring.datasource.url=jdbc:mysql://127.0.0.1:3306/spring_jwt해결 방법간단하게 url의 마지막 부분에 아래 첨부된 코드를 작성하면 해결됩니다.?createDatabaseIfNotExist=true해당 코드는 데이터베이스가 존재하지 않을 때 만들어주는 옵션입니다.spring.datasource.url=jdbc:mysql://127.0.0.1:3306/spring_jwt?createDatabaseIfNotExist=true참고https://juni..
· Back-End
SW마에스트로에서 개발할 프로젝트에 멀티 모듈을 적용할지 고민이 생겼습니다. 이번에는 멀티모듈에 대해서 간단하게 알아보는 글을 작성하고자 합니다. 먼저 모듈이란? 모듈은 프로그램을 기능 별로 분할한 논리적인 일부분이다. 여러 기능을 모아둔 코드 조각이라고 이해하면 될 듯하다. 자바에서 모듈은 독립적으로 배포될 수 있는 코드의 단위이다. 그래서 멀티 모듈이란? 멀티모듈은 쉽게 여러개의 모듈을 구성한 것으로 보면 되는 데 여기서, 멀티모듈을 만든다는 것은 상호 연결된 여러개의 모듈로 구성된 프로젝트를 의미한다. 멀티 모듈을 사용하는 이유! 단일 모듈의 한계 서로 다른 프로젝트에서 공통된 코드가 사용된다면, 코드를 복붙해서 사용해야한다. 즉 중복이 발생될 수 있다. 여러 프로젝트를 사용하기 위해 IDE, 인스..
· Back-End
백엔드 개발을 하면 HTTP 상태 코드에 대해서 많이 접하게 되는데, HTTP 상태 코드에 대해서 알고 사용하면 더 나은 코드를 작성할 수 있을 것이라고 생각해서 글을 써보았습니다. (오타 발견시 댓글 부탁드립니다.) HTTP Status Code 클라이언트가 보낸 HTTP 요청에 대해서 서버의 응답 코드입니다. 상태 코드에 따라 요청의 성공/실패 여부를 세 자릿수로 구분합니다. 대략 적인 구성으로 1XX: 임시 응답으로 현재 클라이언트의 요청까지는 처리되었으니 계속 진행 2XX: 요청 정상 처리 3XX: 요청을 완료하려면 추가 행동이 필요 4XX: 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 5XX: 서버 오류, 서버가 정상 요청을 처리하지 못함 로 볼 수 있습니다. 이제 상태 ..
· Back-End
JAR? WAR?? 기본적으로 JAR, WAR 모두 Java의 jar 옵션을 이용해 생성된 압축(아카이브) 파일로, 애플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성 파일 등)을 패키징 한 것이다. JAR (Java Archive) JAR는 패키지 파일 형식으로 .jar 확장자를 가지며 라이브러리, 리소스 및 메타데이터 파일을 포함할 수 있다. Java 애플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일 Class (Java 리소스, 속성 파일), 라이브러리 파일을 포함함 JRE (Java Runtime Environment)만 있어도 실행 가능함 (java -jar 프로젝트명.jar) WAR (Web Application Archive) WAR는 웹 애플리케이션 아카이브..
· Back-End
김영한님 스프링 강의를 수강하면서 build.gradle 설정을 하는데 implement와 compileOnly 등 gradle 의존성 옵션에 대해서 궁금증이 생겨서 글을 작성하게 되었습니다. 간단하게 쓴 글로 자세한 내용은 아래 첨부된 docs 및 블로그 참고하시면 됩니다. Gradle Dependency Configuration 초록색 사용자가 의존성을 선언할 때 사용한다. implementation runtimeOnly compileOnly compileOnlyApi api 분홍색 구성요소가 라이브러리를 컴파일하거나 실행할 때 사용한다. apiElements 라이브러리 컴파일(compile) 해당 라이브러리를 컴파일하는 데 필요한 모든 요소를 검색할 때 사용한다. default 설정과 다르게, im..
· Community
커리어리 앱을 보다가 NullPointerException 위험을 줄이기 위해 null 값을 반환하지 않도록 하는 전략에 대한 글을 보게 되었고, 이를 정리하면 좋겠다는 생각에 글을 쓰게 되었습니다. ✅ null을 반환하는 대신, Optional을 사용하여 값의 부재를 명시적으로 표현하는 것을 고려하세요. 이를 통해 클라이언트는 값이 있는 경우와 없는 경우를 모두 처리할 수 있습니다. ✅ 컬렉션을 처리할 때, null 대신 빈 컬렉션을 반환하세요. 이렇게 하면 클라이언트 코드가 간소화되어 null검사가 필요하지 않고 일관된 인터페이스를 제공할 수 있습니다. ✅ 값이 없는 상태를 나타내는 특정한 객체를 생성하여 Null Object Pattern을 구현하세요. 이 객체는 실제 객체와 동일한 인터페이스 또는..
· Back-End
동작 원리 DispatcherServlet이 브라우저로부터 요청을 받는다. DispatcherServlet은 요청된 URL을 HandlerMapping 객체에 넘기고, HandlerMapping에서 요청된 URL에 따라 각각 어떤 Controller가 실제로 처리할 것인지 찾는다. 다시 DispatcherServlet에 돌아와서 HandlerAdapter에게 요청을 보낸다. HandlerAdapter는 컨트롤러의 methods 중 요청에 맞는 적합한 method 매칭한다. 컨트롤러 실행 결과를 ModelAndView 객체 타입으로 리턴한다. 컨트롤러의 요청 처리 결과를 ModelAndView로 받으면 DispatcherServlet은 결과를 보여줄 뷰 객체를 검색하기 위해 ViewResolver 빈 객체..
· Community
커리어리 앱을 보다가 자바 개발자 면접 가이드(1), (2)에 대한 글을 보게 되었고, 이를 간략하게나마 정리하면 좋을 것 같아서 글을 씁니다. (자세한 질문은 참고 링크에 들어가서 보는 걸 추천합니다.) Topic 1: 프로젝트 플로우와 아키텍처 프로젝트의 기능, 흐름 및 아키텍처에 대해 문의합니다. 또한 기술 스택과 운영 환경에 어떻게 배포되는지, 지원자가 기여한 부분에 대해서도 질문합니다. 프로젝트에 대해 아는 모든 것을 어딘가에 적어두세요. 당신만이 프로젝트에 대해 모든 것을 알고 있다는 것을 기억하고, 자신감을 가지세요 Topic 2: 코어 자바 코어 자바는 방대한 주제이며 면접관은 이러한 주제를 반드시 물어봅니다. 코어 자바는 자바 개발자에게 기본적인 것으로 여겨지므로 이 부분에 대해 철저한 ..
망규
'분류 전체보기' 카테고리의 글 목록 (3 Page)