본문 바로가기
반응형

스프링34

7. 스프링부트에서 H2 데이터베이스 연결하기 다양한 데이터베이스를 적용할 수 있는데, h2 데이터베이스는 별도 설치없이 스프링부트에 쉽게 적용해볼 수 있습니다. 이번 시간에는 적용하는 것까지 해보도록 하겠습니다. Project issue: https://github.com/kdohyeon/crypto-labs/issues/7 Pull request: https://github.com/kdohyeon/crypto-labs/pull/11 H2 데이터베이스 h2 데이터베이스는 다음과 같은 특성을 가지고 있다. 메모리 (RAM) 에 의존하고 있기 때문에 어플리케이션이 종료되면 저장되어 있던 데이터가 모두 삭제된다. 필요에 따라 로컬에 데이터를 저장해두고 사용할 수도 있다. 간단한 프로젝트나 실습, 테스트 등에 주로 적용해서 사용한다. Gradle 의존성 .. 2023. 3. 29.
6. buildSrc 기반으로 라이브러리 버전 관리하기 지금까지는 라이브러리/플러그인 버전을 직접 입력해주었습니다. 이를 좀 더 편리하게 하는 방법으로는 buildSrc 를 만들어 활용할 수 있습니다. 자세한 내용은 이 글을 확인해주세요. Project Issue: https://github.com/kdohyeon/crypto-labs/issues/8 Pull Request: https://github.com/kdohyeon/crypto-labs/pull/10 배경 아래 사진을 보면 코틀린 버전을 1.7.22 로 설정하면서 jvm, kapt, plugin.spring, plugin.jpa 에 모두 동일한 버전이 적용되어 있는 것을 확인할 수 있다. 만약 1.7.22 버전에서 다른 버전으로 변경되어야 하면 총 4개의 라인이 수정되어야 한다. 상당히 귀찮은 작업.. 2023. 3. 27.
5. Upbit API 연결하기 가장 기본적인 형태로 멀티 모듈 프로젝트를 구성했습니다. 이제 가상화폐 거래소 Upbit 에서 제공하는 OPEN API 를 연결해서 crypto-labs 서비스가 제공할 수 있는 하나의 API 를 만들어보겠습니다. https://github.com/kdohyeon/crypto-labs/pull/9/commits API Key 발급받기 OPEN API 를 사용하기 위해서는 API Key 를 먼저 발급받아야 한다. Upbit 의 경우에는 여기서 받을 수 있다. Open API 사용하기를 클릭하면 로그인을 할 수 있다. 사용하고자 하는 기능만 선택을 하고 접근할 전용 IP 주소를 입력한다. 일단은 조회만 하면 되니 조회 관련 기능만 선택했다. Open API Key 발급받기 버튼을 클릭하면 네이버나 카카오로 .. 2023. 3. 22.
4. 스프링부트 3.0 적용하기 (feat. HelloWorld API 만들기) 이번 시간에는 만든 프로젝트에 스프링부트 3.0 을 적용해보고 HelloWorld 를 출력하는 API 도 하나 만들어보겠습니다. https://github.com/kdohyeon/crypto-labs/pull/5 최상단 build.gradle.kts 수정하기 스프링부트를 적용하기 위해서는 먼저 최상단에 위치한 build.gradle.kts 를 수정해야 한다. 스프링부트 버전 3.0.4 스프링 의존성 관리 버전 1.1.0 kotlin 버전 1.7.22 // build.gradle.kts import com.linecorp.support.project.multi.recipe.configureByLabels plugins { id("io.spring.dependency-management") version ".. 2023. 3. 22.
3. Github 연동하기 이번 시간에는 로컬 프로젝트를 Github 과 연동해서 코드의 형상 관리를 해줄 수 있도록 해보겠습니다. Github 에서 새로운 repository 만들기 Github 에 로그인을 하고 마이페이지로 접근하면 아래와 같은 화면을 볼 수 있다. Repositories 를 클릭하고 New 를 클릭해서 새로운 저장소를 만들어보자. 새로운 저장소를 만들기 위해서는 몇 가지 간단한 정보를 기입해야 한다. 1) Repository name: 저장소의 이름 (e.g., crypto-labs) 2) Description: 저장소에 대한 설명 (e.g., UPBIT OPEN API 를 활용한 코틀린 스프링부트 기반 가상화폐 자동매매 서비스) 3) Public/Private: 저장소를 외부로 오픈할 것인지에 대한 유무. .. 2023. 3. 21.
2. 멀티 모듈 프로젝트 구성하기 이번 시간에는 멀티 모듈로 프로젝트를 구성해보도록 하겠습니다. https://github.com/kdohyeon/crypto-labs/pull/3 멀티 모듈 (Multi-module) 프로젝트? 멀티 모듈로 프로젝트를 구성하기에 앞서, 멀티 모듈은 뭘까? Java 에서 하나의 모듈은 독립적인 코드의 단위를 의미한다. 따라서 멀티 모듈은 독립적인 여러 개의 모듈이 모여 상호 연결된 것을 의미한다. 작은 사이즈의 프로젝트를 개발할 때에는 큰 문제가 되지 않지만 점점 크기가 커지다 보면 여러 개의 서버를 만들어야 한다. API 서버도 필요하고, 배치 서버도 필요하다. 각각에 대해 단일 프로젝트로 구성하여 만들 수 있지만 공통적으로 처리해야 하는 부분이 있다면 중복 코드가 발생할 수 있고 (사실 중복 코드보다는.. 2023. 3. 21.
1. 초기 프로젝트 구성하기 본격적으로 프로젝트 구성을 해보도록 하겠습니다. 이번 시간의 목표는 초기 프로젝트를 직접 구성해보는 것입니다. Kotlin + 스프링부트 + Gradle 기반이며 사용하는 IDE 는 IntelliJ Ultimate Edition 입니다. 현업에서 사용하는 환경과 유사하게 구성하기 위해 멀티 모듈 환경으로 만들어 볼 예정입니다. 형상 관리는 Github 으로 합니다. 먼저, IntelliJ 를 켜보자. IntelliJ 를 켜면 아래와 같은 화면이 나온다. 새로운 프로젝트를 생성하기 위해 "NEW PROJECT" 를 클릭한다. NEW PROJECT 를 클릭하면 아래와 같은 화면이 나온다. Gradle 프로젝트로 생성한다. (IntelliJ 버전에 따라 아래 화면은 좀 달라질 수 있다.) 참고로 Gradle .. 2023. 3. 21.
0. 업비트 OPEN API 를 활용하여 가상화폐 서비스 개발하기 최근 "코멘토" 라는 멘토링 사이트를 통해 대학생 및 주니어 레벨의 1~2년차 개발자 분들에게 자바 및 스프링 기반의 백엔드 시스템 개발에 대해 알려드리고 있습니다. 저 또한 아직 배울 것이 많고 부족하지만 제가 1-2년차 당시에 겪었던 시행 착오와 어려웠던 점에 대해 공유하며 조금이나마 도움을 드리기 위한 마음으로 시작하게 되었습니다. 뿐만 아니라 제가 공부한 내용을 누군가에게 설명을 하는 과정을 통해 저 스스로도 더 많이 배우기도 하기 때문입니다. 멘토링에서 초점을 맞추는 부분은 주니어 백엔드 개발자로써 꼭 이해해야 할 전체적인 개발 흐름과 방법입니다. 프론트엔드 개발자와 협의를 통해 API 명세를 작성하는 과정, 외부와의 HTTP 통신 방법, DB 컨트롤 하는 방법 등에 공유해드리며 최대한 실무에서.. 2023. 3. 21.
반응형