코틀린을 스프링 부트 프로젝트를 사용할 때 QueryDSL을 사용할 떄 2.x 와 조금 다른 부분이 있어 정리합니다. ▼ QueryDSL 플러그인 설정을 해줍니다. plugins { id("org.springframework.boot") version "3.0.6" id("io.spring.dependency-management") version "1.1.0" kotlin("jvm") version "1.7.22" kotlin("plugin.spring") version "1.7.22" // querydsl kotlin("plugin.jpa") version "1.8.21" kotlin("plugin.allopen") version "1.8.21" kotlin("kapt") version "1.8.21"..
테스트를 위해 간단한 서버를 만들고 애플리케이션을 배포하려면 다음 두 가지 파일로 배포가 가능합니다. jar war Jar 파일의 경우 내장된 톰캣을 함께 배포하는 방법으로 서버에서 실행만 시키면 동작합니다. War 파일의 경우 이미 Was 환경이 존재해 내장된 톰캣을 제외하고 배포할 때 사용됩니다. ▼ 우선 인텔리제이로 프로젝트를 열고 control 키를 두 번 연속 눌러줍니다. Run Anything 검색 창에서 gradle bootjar를 선택해줍니다. 만약 다시 생성하려면 gradle clean 명령이후에 다시 gradle bootjar 명령을 실행합니다. 8:01:07 PM: 실행 중 'bootJar'... > Task :compileKotlin UP-TO-DATE > Task :compileJ..
라이브러리 axios 설치 ▼ 통신을 위해 다음 명령어로 vue 프로젝트에 axios를 설치합니다. 테스트 API ▼ 테스트를 위해서 서버를 직접 만들기보다는 reqres.in 이라는 사이트에서 테스트 API를 이용해 JSON 데이터를 가져와보도록 하겠습니다. https://reqres.in/ Reqres - A hosted REST-API ready to respond to your AJAX requests Native JavaScript If you've already got your own application entities, ie. "products", you can send them in the endpoint URL, like so: var xhr = new XMLHttpRequest(); ..
▼ Vue에 리스트를 그려주기 위해서 데이터를 정의합니다. 배열 형태의 animals라는 데이터를 정의하고 3개의 데이터를 추가해 줍니다. 각 데이터에는 food라는 값이 있습니다. 이 값 역시 배열로 이중 리스트를 그리기 위해서 필요합니다. 나머지 값의 출력은 생략하고 Vue에서 이중 for 문 형태의 값을 출력해 보겠습니다. ▼ 이번에는 데이터가 잘 나오는지 확인하기 위해 div 태그에 animals 값을 그대로 출력해 보겠습니다. 머스타치 문법으로 animals를 표시합니다. 뷰의 Mustache 문법은 {{ }} 안에 데이터를 출력하는 방법으로 실제 데이터가 그대로 렌더링 되는 것을 볼 수 있습니다. 값을 확인하기 위해서 출력해보겠습니다. ▼ 이번에는 div 태그에 v-for 예약어를 통해서 an..
Vuejs CDN Vue를 처음 개발할 때 일반 html 파일에서 Vue를 사용해 보고 싶은 분들이 있을 것 같습니다. React와 Vue를 비교했을 때 훨씬 개발하기 쉽고 단순하며 초보 웹 개발자들이 웹 개발에 접근하기 쉽고 개발에 능숙한 사람들도 쉽게 웹 개발에 입문할 수 있을 것 같습니다. 오늘은 일반 html 파일에 Vue를 이용해서 데이터를 정의하고 간단하게 바인딩해서 표시하는 방법을 알아보겠습니다. ▼ 1. 우선 빈 프로젝트를 만듭니다. 만약 IDE 로 개발하는 환경이 아니라면 단순히 빈 폴더를 만드시면 됩니다. ▼ 2. 프로젝트(폴더) 안에 새로운 HTML 파일을 만들어줍니다. (파일명 index.html) 파일명은 마음대로 정해도 상관없습니다. 확장자만 html 파일로 만드시면 됩니다. ▼..
H2 데이터베이스 H2 데이터베이스는 관계형 데이터베이스 관리 시스템(DBMS)으로 자바로 작성되었습니다. 임베드 모드로 동작하거나 다른 웹 서버 데이터베이스 관리시스템과 비슷한 구성을 할 수 있도록 클라인트 서버 모드로 구동이 가능합니다. 대부분의 SQL 표준 구문을 지원하며 용량이 매우 적은 저용량 데이터베이스입니다. 스프링 부트환경에서 자주 사용되는 H2 Database를 설치해보고 간단히 데이터를 추가 삭제해보겠습니다. H2 데이터베이스는 별도의 프로그램 없이 웹 브라우저 콘솔을 이용할 수 있어서 편리합니다. https://h2database.com/html/download.html Downloads Downloads Version 2.1.214 (2022-06-13) Windows Install..
스프링 부트 도커 파일 설정 ▼ 최상위 경로에 다음과 같이 docker 파일을 만들어줍니다. EXPOSE에 원하는 포트를 입력합니다. FROM - JDK를 설정합니다. ENV - 환경변수 설정를 설정합니다. WORKDIR - 환경변수를 경로로 지정합니다. COPY - 빌드된 jar 파일을 application.jar의 파일명으로 복사합니다. EXPOSE - 실행될 포트를 설정합니다. CMD - 명령어 옵션을 입력합니다. 빌드 및 컨테이너 실행 ▼ 프로젝트를 빌드하기 전에 gradlew 파일을 실행 가능하도록 권한을 변경합니다. ▼ gradlew를 이용해서 프로젝트를 빌드합니다. -x 옵션으로 test 프로젝트는 빌드하지 않습니다. ▼ 도커 이미지 생성을 위해서 빌드를 합니다. 임의로 my라는 이름을 주었..
Spring Boot에서 JPA를 사용하면 다양한 데이터베이스를 연결할 수 있습니다. 평소 개발할 때는 H2로 연결해서 개발할 수도 있고 실제 배포에는 오라클이나 MySQL을 이용할 수도 있습니다. MySQL 커뮤니티 버전이 아닌 MariaDB 오픈소스도 MySQL과 사용법은 비슷하지만 JPA 연결 시 드라이버(driver) 설정이 다릅니다. 오늘은 각각 많이 사용하는 MySQL과 MariaDB의 연결 설정에 대해서 알아보겠습니다. MVN Repository 사용시 이미 만들어진 프로젝트에 드라이버와 JPA를 설치하려면 MVN 레파지토리 사이트에서 검색한 후에 그래들 파일에 추가하는 것이 편리합니다. ▼ 우선 https://mvnrepository.com 사이트에서 필요한 드라이버를 검색해보겠습니다. 검..
Lombok lombok은 Java의 라이브러리 중 하나로 반복되는 메서드를 자동으로 만들어주는 라이브 러리입니다. 엔티티나 DTO 같은 모델에서 Getter, Setter, 생성자를 만들 때 발생되는 귀찮은 작업을 모두 처리해줍니다. 하지만 테스트 환경에서는 Lombok을 사용할 수 없습니다. 그래서 그래들에 다음 코드를 추가한 뒤에 그래들을 다시 빌드합니다. ▼ 그래들에 해당 코드를 추가해줍니다. ▼ 아이콘을 눌러서 다시 빌드합니다.
인텔리제이를 사용해 스프링 프로젝트 작업을 할 때 Jar 파일을 만든 법은 아주 간단합니다. 별도로 java -jar 명령을 통해 실행시킬 수 있으며 인텔리제이에서 보던 로그도 동일하게 출력되는 것을 확인할 수 있습니다. 물론 브라우저에서도 동일하게 애플리케이션을 실행할 수 있습니다. 단지 실행에 문제가 있다면 프로젝트 개발에 사용되었던 JDK와 컴퓨터 실행환경의 JDK 버전이 달라서일 수 있습니다. 그럼 간단하게 JAR 파일을 만드는 법을 알아보겠습니다. ▼ 우측 상단에 그래들(Gradle) 탭을 열어줍니다. 그리고 bootJar라는 그래들 명령을 더블클릭해서 실행해줍니다. ▼ 빌드가 되는 것을 확인할 수 있습니다. Run 화면에서 Successful 이 뜨면 build 폴더를 확인합니다. ▼ 프로젝트..
스프링 부트란? 스프링부트(Spring Boot)는 자바 기반의 웹 어플리케이션 프레임워크인 스프링(Spring) 프레임워크 프로젝트를 좀 더 손쉽게 사용할 수 있도록 만든 도구라고 할 수 있습니다. 사실 웹 개발자가 아니라면 이전에는 스프링을 배우기가 굉장히 까다로웠습니다. 사실 자바 개발자들의 편의를 위해서 나온 프레임워크이긴 하지만 시간이 지날수록 다양한 기능과 설정들이 더해지면서 일반 개발자들이 접근하기는 러닝 커브가 꽤 있는 편이었죠. 하지만 지금은 스프링 부트 프로젝트로 인해서 많은 사람들이 스프링 부트로 개발을 하고 있습니다. 왜 스프링 부트인가? 국내 대부분의 대형 백엔드 프로젝트는 스프링(Spring)을 사용합니다. 자바스크립트(Javascript)나 파이썬(Python) 또는 루비(Ru..
package.json 파일에 실행 스크립트를 보면 다음과 같이 start, build, test, eject 4가지 명령이 있습니디. 일반적으로 start는 개발 모드 build는 배포용 빌드라고 알고 있습니다. 리액트(React) 에서 처음 공부할 때 중요하다고 생각되서 정리하는 차원에서 조금 더 자세히 차이점을 알아보고 실행하는 옵션들에 대해서 알아보겠습니다. (1) npm start 개발 모드로 프로그램을 실행하는 명령어 입니다. HMR(hot-module-replacement)가 동작해 수정과 동시에 화면이 변경됩니다. 개발 모드에서 코드에 에러거 있을 경우에는 브라우저에 메시지를 출력합니다. https 실행 옵션을 통해 https 인증서 없이 임시로 https 형태로 url을 만들 수 있습니다..