Backend/Spring

    [SpringBoot] CORS 설정

    CORS(Cross Origin Resource Sharing) Origin 이 다른 경우에 자원을 주고 받을 수 있도록 하는 http 통신 프로토콜 요청하는 클라이언트와 응답해야하는 서버의 Origin 이 다른 경우 CSRF(Cross-Site Request Forgery)나 XSS(Cross-Site Scripting) 같은 공격에 취약하기 때문에, 특정 Origin 과 request method 에만 요청을 허용하기 위함이다. CORS 정책 설정은 Spring MVC 와 Spring Security 두 프레임워크에서 모두 설정이 가능하다. 둘 중 하나만 설정해도 충분한데, 가장 중요한 점은 Spring Security 가 가장 앞단에서 사용자 요청을 처리하기 때문에, Spring Security 에..

    [SpringBoot] 빌드 및 배포

    배포한다는 것 자체가 spring 프로젝트를 .jar로 리턴하는 용도이다 ./gradlew build cd build/libs java -jar hello-spring-0.0.1-SNAPSHOT.jar ./gradlew clean build 하면 완전히 다시 지우고 빌드함 .jar를 가지고 서버(AWS)에 ftp를 통해 파일시스템 툴을 이용해서 서버파일(jar)를 넘겨주고 서버 안에서 실행을 시키는 작업이 필요한데 이러한 과정을 테스트과정에서 반복적으로 수행한다는 것은 큰 수고가 드는 일이다. 따라서 이러한 경우 때문에 CI/CD라는 개념이 나온 것인데 유명하게 Jenkins, Gitlab CI/CD를 사용한다 이러면 자동적으로 서버에 배포하는 과정을 자동화해주기 때문에 개발자가 편리하게 작업을 할 수 ..

    [SpringBoot] 구동 속도 향상 시키기

    [SpringBoot] 구동 속도 향상 시키기

    최근의 IntelliJ 버전의 경우 프로젝트를 구동시키면 Gradle로 실행 시키는 것이 기본적으로 세팅되어 있다. 이렇게 실행했을 때, 실행속도는 굉장히 느림을 확인할 수 있다. 하지만 아래와 같이 설정을 바꿔주면 java로 실행을 하게 되는데 이렇게하면 실행이 빨라진다. Preferences -> Build, Execution, Deployment -> Build Tools-> Gradle IntelliJ Help > Edit Custom VM Options... IntelliJ IDEA.app.vmoptions 파일 내 메모리 사이즈 높이기 -Xms1024m -Xmx4096m

    [IntelliJ] IntelliJ Lombok 설치 및 설정

    [IntelliJ] IntelliJ Lombok 설치 및 설정

    ▶ 1. maven - pom.xml org.projectlombok lombok 1.18.12 provided ▶ 2. gradle // https://mvnrepository.com/artifact/org.projectlombok/lombok provided group: 'org.projectlombok', name: 'lombok', version: '1.18.12'

    [IntelliJ] Code Style(Google Style) 적용하기

    [IntelliJ] Code Style(Google Style) 적용하기

    https://github.com/google/styleguide 에서 intellij-java-google-style.xml를 다운로드 xml파일 적용 후 탭, 들여쓰기, 연속 들여쓰기를 448로 맞추자

    IntelliJ(인텔리제이) Spring Boot DevTools 적용하기(Auto reload)

    IntelliJ(인텔리제이) Spring Boot DevTools 적용하기(Auto reload)

    Spring Boot DevTools는 소스 변경이 발생할 때마다 빠르게 자동 빌드해줘서 바로바로 반영 결과를 확인할 수 있도록 도와주는 유용한 툴입니다. STS에서는 Dependency만 추가하면 잘 동작하던 DevTools가 인텔리제이 (IntelliJ)에서는 최초 약간의 설정을 해줘야 정상 동작을 합니다. 1. 의존성(Dependency) 추가 먼저 Spring Boot DevTools의 의존성을 추가를 해야 합니다. Gradle 프로젝트는 build.gradle 파일에 아래와 같이 dependecies 아래 developmentOnly 'org.springframework.boot:spring-boot-devtools' 의존성을 추가한다 dependencies { developmentOnly 'o..