반응형

Contents 24

Kotlin + Spring Boot 프로젝트 기본 구조(Layered Architecture)와 예제 코드

Kotlin과 Spring Boot를 이용한 웹 애플리케이션 개발을 시작하시나요?이 글에서는 가장 기본적이고 실무에서도 널리 사용되는 Layered Architecture(계층형 구조) 기반으로Controller, Service, Repository, Domain 계층을 나누고, 실제 예제 코드까지 작성해 보겠습니다.들어가며앞선 글에서 살펴본 것처럼, Spring Boot 프로젝트 구조에는 여러 방식이 있지만 개인 학습용 및 소규모 프로젝트에는 Layered Architecture가 가장 적합합니다. Spring Boot 프로젝트 구조 설계 가이드 (MVC, Layered, Domain 기반, Hexagonal)Spring Boot로 웹 애플리케이션을 개발할 때 어떤 프로젝트 구조를 선택해야 할지 고민되..

Programming/Kotlin 2025.10.08

Spring Boot 프로젝트 구조 설계 가이드 (MVC, Layered, Domain 기반, Hexagonal)

Spring Boot로 웹 애플리케이션을 개발할 때 어떤 프로젝트 구조를 선택해야 할지 고민되시나요?MVC, Layered, Domain 기반, Hexagonal 구조 등 대표적인 설계 방식들의 특징과 장단점을 비교하고, 개인 학습용 프로젝트에 적합한 구조를 추천합니다.들어가며지난 글에서는 IntelliJ IDEA 설치부터 Spring Boot를 위한 기본 설정까지 소개했습니다. 이번 글에서는 Spring Boot 프로젝트를 생성할 때 적용할 프로젝트 구조에 대해 소개합니다. IntelliJ IDEA Community Edition 설치 및 Kotlin + Spring Boot 기본 설정 가이드 (2025 최신)이 글에서는 Java와 Kotlin 개발을 위해 많이 사용하는 IDE 중 하나인 Intelli..

Programming/Design 2025.10.07

IntelliJ IDEA Community Edition 설치 및 Kotlin + Spring Boot 기본 설정 가이드 (2025 최신)

이 글에서는 Java와 Kotlin 개발을 위해 많이 사용하는 IDE 중 하나인 IntelliJ IDEA를 설치하고, 무료버전인 Community Edition 기준으로 신규 프로젝트를 하나 생성하여 Spring Application 기본 설정까지 하는 과정을 소개합니다.지난 글에서는 개발을 막 시작해 보려는 초보자들에게 추천할만한 주요 IDE들을 살펴보고, 각 IDE들의 주요 특징과 장단점에 대해 간단하게 알아보았습니다. [초보자를 위한 프로그래밍 IDE 추천] VS Code, IntelliJ, PyCharm 등 6가지 개발 도구 비교개발을 시작하려는 분들, 혹은 새로운 프로그래밍 언어를 익히는 분들이라면 한 번쯤은 "어떤 IDE(통합개발환경)를 사용해야 할까?" 라는 고민을 하게 됩니다. 이 글에서는..

Programming/IDE 2025.09.27

[초보자를 위한 프로그래밍 IDE 추천] VS Code, IntelliJ, PyCharm 등 6가지 개발 도구 비교

개발을 시작하려는 분들, 혹은 새로운 프로그래밍 언어를 익히는 분들이라면 한 번쯤은 "어떤 IDE(통합개발환경)를 사용해야 할까?" 라는 고민을 하게 됩니다. 이 글에서는 대표적인 IDE의 장단점을 비교 분석해보고, 본인에게 가장 적합한 IDE는 어떤 것인지 선택하는데 도움을 드리고자 합니다.IDE란 무엇인가IDE(Integrated Development Environment, 통합 개발 환경)는 코드 작성, 실행, 디버깅, 테스트, 프로젝트 관리 등 개발과 관련된 모든 작업을 한 공간에서 처리할 수 있게 도와주는 도구입니다. 개발자에게 IDE는 아주 중요한 도구이며, 어떤 IDE를 선택하느냐에 따라 개발 속도와 효율성에 큰 차이가 발생하기 때문에 목적에 맞는 좋은 IDE를 선택하는 것이 중요합니다.ID..

Programming/IDE 2025.06.22

[Kotlin] Data Class

Data Class란Kotlin에서 data class는 데이터를 담기 위한 클래스를 정의할 때 사용하는 특별한 클래스입니다.일반적인 클래스와 달리, data class는 주로 데이터 보관과 비교를 목적으로 사용되며, 자동으로 여러 유용한 메서드들을 생성해 줍니다.equals()과 hashCode() 등의 메서드를 자동으로 지원하여 데이터 객체를 쉽게 비교하거나 출력하고, 복사할 수 있는 기능을 제공합니다.따라서 data class는 데이터 중심의 애플리케이션에서 매우 유용하게 사용됩니다.물론 자동 생성되는 메서드들을 직접 선언하여 사용할 수도 있습니다.Data Class의 주요 특징아래와 같은 메서드들이 자동으로 생성됩니다.equals(): 두 객체의 내용이 같은지 비교합니다.hashCode(): 객체..

Programming/Kotlin 2025.05.06

[Design Pattern] 2. 팩토리 패턴(Factory Pattern)과 팩토리 메서드 패턴(Factory Method Pattern)

팩토리 패턴공장에서 미리 정해둔 여러 제품들을 만들어 내듯이 Factory를 통해 생성 가능한 여러 객체들을 생성하는 객체지향 디자인 패턴이다.팩토리 패턴은 아래 나오는 단순 팩토리 패턴을 지칭하기도 하고, 확장된 형태의 패턴들까지 통틀어 지칭하기도 한다.싱글톤 패턴(Singleton Pattern)과 마찬가지로 객체 생성에 대한 디자인 패턴(생성 패턴; Creational Pattern)에 해당한다. 단순 팩토리 패턴다양한 구현체(Product)가 있고, 그 중에서 특정 구현체를 생성할 때생성에 대한 책임을 분리하여 특정 클래스에 위임하는 것이 팩토리 패턴(Factory Pattern)이다.뒤에서 설명할 확장된 팩토리 패턴들과 구분하여 단순 팩토리 패턴(Simple Factory Pattern)이라고도..

Programming/Design 2023.10.11

자유입출금 파킹통장 금리 비교

변동성이 크고 불안정한 상황일 때 시장상황에 유연하게 대응하기 위해 현금을 보유하는데, 이 때 조금이라도 금리가 높은 파킹통장을 사용하는 것이 유리하다. 현재 파킹통장으로 사용하기 좋은 상품들에 대해 소개한다.장기간 이어지던 저금리시대가 막을 내리고, 코로나 팬데믹기간 동안 늘어난 전 세계적 유동성 증가와 그로 인한 인플레로 인해미국을 필두로 세계의 정부가 물가상승률을 진정시키기 위해 금리를 높여왔다.그러나 가계부채 비율이 높은 우리나라는 마냥 미국을 따라 금리를 올리기 어려운 상황이고특히나 부채의 대부분이 부동산에 묶여있는데다 레고랜드발 부동산PF 신용도 하락으로 자칫 부동산시장 침체까지 이어질 수 있어한국은행은 정부의 지침에 따라 금리인상을 억제해오고 있다.코로나를 거쳐오며 서서히 회복되던 증시도 러..

Life/Investment 2023.03.23

[Medieval Dynasty] 초반 공략

메인퀘를 진행하면서 마을 가까운 양지바른 강가에 마을 터를 잡는다.비싼 템을 주으면 팔고, 돌과 나뭇가지는 무기로 만들어 팔자.물은 강에서, 고기는 불에 구워먹자.농사밭농사는 괭이 - 비료(자루) - 괭이 - 씨앗(자루) 순으로 진행농작물은 계절에 따라 양배추 -> 양배추 -> 호밀 순으로 돌리는걸 추천- 봄: 양배추파종 -> 여름: 양배추 수확/파종 -> 가을: 양배추수확/호밀파종 -> 봄: 호밀수확/양배추파종아마를 추가하려면 봄에 아마로 대체농작물봄여름가을겨울수확량아마(Flax)________O 10양배추(Cabbage)___________O___O 8귀리(Oat)________ O 5호밀(Rye)O ________ 5 파종시기________ 수확시기O 주민관리주민을 데려오기 위해서는 내 ..

Life/Game 2022.03.15

[JavaScript] 실행 영역(Execution Context), Scope, Closure

JavaScript는 다른 프로그래밍 언어들보다 조금 더 유연한 실행 영역(Execution Context)과 Scope를 갖고 있다. Execution Context(실행 영역) 주로 Context라고 불리는 Execution Context는 JavaScript에서 실행 가능 코드(Executable Code)인 Global code(스크립트 실행), Function code, Eval code가 호출될 때마다 그에 해당하는 Execution Context가 하나씩 생성된다. 각각의 context들은 Global Context부터 호출된 순서대로 Call Stack에 쌓이게 되며, Stack 영역의 LIFO 규칙에 따라 현재 활성화된 Context(Active Context)가 Stack의 최상위에 위..

XMLHttpRequest

캐시 문제 - XMLHttpRequest는 기본적으로 동일한 url을 호출할 경우 캐시 기능을 제공한다. - 캐시 기능을 원하지 않을 경우, 요청하려는 url 뒤에 현재시간을 parameter로 추가하여 동일한 url이라도 호출할 때마다 매번 url이 달라지도록 하여 캐시문제를 해결한다. var xhr = new XMLHttpRequest(); var url = "http://ggobugi.tistory.com"; xhr.open('GET', url + ((/\?/).test(url) ? "&" : "?") + (new Date()).getTime(), true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.statu..

반응형