IntelliJ 화면에서 Shift 키 두번 - VM 검색 - Edit Custom VM OptionsHelp - Edit Custom VM OptionsIntelliJ 설치 폴더 경로로 이동해서C:\\Program Files\\JetBrains\\IntelliJ ID
H2는 In-memory DB의 대표 주자이다. 인메모리 DB란 서버가 작동하는 동안에만 내용을 저장하고 서버가 작동을 멈추면 데이터가 모두 삭제되는 데이터베이스를 말한다.src/main/resources/allipcation.properties 파일에 아래 내용을 추
클라이언트 - 서버 간의 약속이다.클라이언트가 정한대로 서버에게 요청(Request)을 보내면서버가 요구사항을 처리하여 응답(Response)을 반환한다.JPA에서의 CRUD처럼 생성(POST), 조회(GET), 수정(PUT), 삭제(DELETE)로 표현한다.주의사항주
Auto Import 우리가 어떤 복사 붙여넣기를 했을 때 필요한 걸 알아서 임포트 해주는 기능Annotation Processing lombok 같은 걸 썼을 때 자동으로 잡아주는 기능
POST http://localhost:8080/hello/request/form/paramHeader Content type: application/x-www-form-urlencodedBody name=BTS&age=28POST http://loc
스프링 AOP (Aspect Oriented Programming): 어떤 로직에서 핵심적인 관점, 부가적인 관점으로 나누어 각각 독립적으로 모듈화하는 방식이다.핵심적인 관점은 우리가 적용하고자 하는 핵심 비즈니스 로직부가적인 관점은 핵심 로직을 실행하기 위해 부가 기
스크래치 파일(Scatch File)은IntelliJ 에서 지원해주는 기능인데, 임시 코드를 작성하거나 프로젝트와 관련 없는 코드들을 실행하기 위해 만들 수 있는 임시 파일이다.
단축키 검색 File - Settings - Keymap 한줄 복사 Ctrl + D 한줄 삭제 Ctrl + Y Import F2 Project Structure 열기 Ctrl + Alt + Shift + S Setting(Preferences) 열기 Ctrl
메이븐 저장소 https://mvnrepository.com필요한 디펜던시를 검색하고 찾아서 해당 라이브러리 클릭난 embedded tomcat을 검색함원하는 버전 선택사용하는 빌드로 선택하고 디펜던시 라이브러리 라인을 복사해오기dependencies 부분에
IntelliJ 빌드 시 기본으로 셋팅되어 있는 Gradle 보다 자체 IDEA로 실행하는 게 빠르다.Settings(Ctrl + Alt + S) 열기 - Build, Execution, Deployment - Build Tools - Maven - Gradle 클릭B
격리된 환경에서 또 하나의 가상 서버를 실행하는 기술이다.Host Operating System = 물리 서버, Guest OS = 가상 서버Host와 Guest를 연결 시켜주는 Hypervisor(서버 가상화 기술) Host 서버에 설치되고 Host와 Guest를 나
객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다. 그럼 DI(의존성 주입)를 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아진다. 스프링에서는 객체를 Bean이라고 부르며, 프로젝트가 실행될때 사용자가 Bean으로 관리하는 객체들의 생성과
Settings (Ctrl + Alt + S) 을 켜고plugins 탭에서 다운로드 할 플러그인을 검색한다.지금 난 JPA Buddy 를 설치하려고 한다. Install 을 누르면 로딩되면서 설치가 완료되고 'Restart IDE' 를 추천하니까 재시작 해주겠다.추천
spring data jpa 와 querydsl 을 같이 쓰는 경우 에러가 발생한 에러이다. build.gradle 파일 dependencies 에 에러 방지를 위한 아래 두 줄을 추가해주면 된다.스프링 부트의 3.0 버전으로 올라가면서 QueryDsl 패키지의 설정방
테스트 코드 작성 중 아래와 같은 에러 발생Unable to find a @SpringBootConfiguration, you need to use @Contextfiguration or @SpringBootTest(classes=...) with your test이
Mockito의 any() 메서드(Argument Matcher)를 이용하면 모든 매개 변수에 대하여 같은 행동을 하는 Mock 객체를 만들 수 있다. 주의할 점은 matchers를 사용하게 되면 모든 argument에 다 쓰던지 아니면 안쓰던지 해야지
localhost:8080 으로 접속을 해보면 두가지 디버그가 발생하고 게시판 페이지가 출력되지 않는다.Whitelabel Error Page 에러가 발생한다.localhost:8080 으로 스프링 구동 시 처음에는 무조건 index.html 을 찾게 설정이 되어있기
@RequiredArgsConstructor 를 사용한 예시@RequiredArgsConstructor 를 사용하지 않고 생성자 주입 코드를 모두 작성한 경우의 예시보통 DI(의존성 주입)을 방식에는 필드 주입(Field Injection), 수정자 주입(Setter
이미 열려 있는 포트를 다른 프로세스에서 또 열려고 하면 포트 번호 중복 오류가 발생한다. (intellij community 사용중)Web server failed to start. Port 8080 was already in use.8080 포트 번호는 이미 사용
JSP 환경에서 현재 작업중인 페이지에서 다른 페이지로 이동하는 페이지 전환 기능에 두가지 방식이 있다.(URL 변화 X , 객체 재사용 O)forward 방식은 이동한 URL 로 요청 정보를 그대로 전달한다. 말 그대로 forward(건네주기) 하는 것이다. 그렇기
인텔리제이 ultimate 버전을 30일 무료 체험판으로 갖고있는 이메일들로 연명해왔었다..... 돌고돌아 다시 무료버전인 community Editiond 을 설치했다..
사용자 요청이 들어오면 어떤 요청에 어떤 서블릿이 필요한지 정의된 서블릿 설정파일로 서블릿 컨테이너는 해당 요청과 매핑된 서블릿을 찾는다.서블릿컨테이너가 1요청-1서블릿, 2요청-2서블릿를 알게 되면 서블릿 인스턴스가 컨테이너에 있는지 확인을 한다. 인스턴스가 컨테이너
실제 객체와 비슷하지만 Controller 테스트에 필요한 기능만 가지는 가짜 객체를 만들어서 애플리케이션 배포하지 않아도 스프링 MVC 패턴 및 동작을 테스트 할 수 있는 클래스이다.요청을 전송하는 역할을 한다.결과로 ResultActions 객체를 받으며, Resu
QueryDSL을 사용하기 위해서는 다소 번거로운 Gradle 설정 및 사용법 등을 익혀야한다는 단점이 존재한다.
jpa 가 기본적으로 제공해주는 crud 와 쿼리 메서드 기능을 사용하더라도, 원하는 조건의 데이터를 수집하기 위해서는 필연적으로 jpql 을 작성하게 된다. 간단한 로직을 작성하는데는 큰 문제가 없다. 하지만 복잡한 로직의 경우엔 쿼리 열이 상당히 길어지고 jpql
도커 데스크탑에 windows 에 설치된 WSL 버전이 너무 오래되어서 Docker가 작동하지 않는 상태라고 메세지가 뜬다. 그래서 Docker 엔진도 멈춰 있고(왼쪽 아래 Engine stopped), Ubuntu랑 통합도 제대로 작동하지 못하는 상황이다.관리자 권한
Command 'make' not found, but can be installed with:sudo apt install make sudo apt install make-guileMakefile 에 있는 도커 컴포즈 명령을 실행하려는데 make 명령 오류
Makefile:6: * missing separator. Stop. Makefile 에서는 명령어 실행 줄은 반드시 Tab 문자로 시작해야한다. 근데 이 missing separator 는 거의 100% 명령어 앞에 Tab 이 아니라 Space 가 들어갔을 때 발생
Access denied for user 'pass_local_user'@'localhost' (using password: YES)Access denied 는 크게 두 가지 이유가 있다.비밀번호가 틀리거나 플러그인이 안 맞는 경우와 권한이 없는 경우이다.추가적으로 D
📌 Windows 에서 실행 터미널이나 PoswerShell, Git bash 등 make 또는 docker-compose 명령을 실행하면 Windows 환경에 설치된 Docker Desktop 이 백엔드에서 도커 엔진을 돌린다. 즉 컨테이너는 Windows 용 Do
spring-boot-starter-batch를 의존성에 넣으면 Job이 하나만 있는 경우 별도 코드를 작성하지 않아도 애플리케이션 실행 시 컨텍스트에 등록된 Job이 자동 실행된다.여러 개의 Job이 있을 경우 spring.batch.job.names (또는 spri
애플리케이션 시작과 동시에 passJob 이 실행되도록 하는 방법은 spring.batch.job.name 을 명시해주는 것이다. properties 파일이 없다면 yml 파일에 추가해줘도 된다.application.properties 에 추가하는 방법applicati
MapStruct 는 Java Bean Mapper 라이브러리다.DTO ↔ Entity 같은 객체 간 변환 코드를 자동으로 생성해주는 도구이다. 구현하다 보면 매핑할 일이 많은데 간단하게 구현할 수 있게 도와준다.필드가 많아지면 매번 이렇게 매핑 코드를 쓰는 게 엄청
JobLauncherTestUtils 는 자체적으로 Job Bean 을 주입받아야 한다. 컨텍스트에 테스트용 Job Bean 이 없거나, 여러 Job Bean 이 존재해서 Spring 이 어떤 Job 을 사용해야 할지 모르는 상태에서 launchJob() 을 호출 하면
멀티스레드 Step 환경에서 ItemStreamReader 를 thread-safe 안전하게 감싸주며 여러 스레드가 동시에 read() 를 호출하더라도 동기화(synchronized) 처리되는 동작을 보장한다.SynchronizedItemStreamReader 는 확장
Chunk Step 기본 동작 트랜잭션은 Step 전체가 아니라 Chunk 단위로 생성/종료된다. Step 전체가 하나의 트랜잭션인 게 아니고 Step 은 여러 Chunk 트랜잭션의 모음이라고 생각하면 된다. Spring Batch 에서 chunk(CHUNKSIZE,