[GitHub] 빈 패키지 commit 하기(.gitkeep)
·
Spring/Spring
GitHub에 빈 패키지 구조 커밋하기소프트웨어 개발 프로젝트에서 팀과의 효율적인 협업을 위해 미리 패키지 구조를 짜두는 것은 좋은 선택이 될 수 있습니다.Spring Boot와 같은 프레임워크를 사용할 때 패키지 구조를 미리 정의해두면 코드 작성 시 일관성을 유지할 수 있습니다.프로젝트의 패키지 구조를 미리 정의하고 빈 패키지를 GitHub에 커밋하는 방법을 설명하겟습니다. 1. 패키지 구조 정의먼저 프로젝트의 패키지 구조를 정의합니다.com.joon.project├── domain│ ├── account│ │ ├── controller│ │ ├── service│ │ ├── model│ │ ├── repository│ │ └── exception│ ├── p..
[GitHub] 협업시 GitHub 커밋 유형별 규칙
·
Spring/Spring
1. 협업 시 유용한 커밋 메시지 유형협업을 하는 프로젝트에서는 커밋 메시지를 일관되게 작성하는 것이 매우 중요합니다. 일관된 커밋 메시지는 변경 사항을 명확히 이해할 수 있게 하고, 코드 리뷰나 디버깅 시에도 큰 도움이 됩니다. 이번 포스트에서는 협업 시 자주 사용하는 커밋 메시지 유형과 규칙을 설명하겠습니다.2. 커밋 메시지 유형 요약유형 설명 예시feat새로운 기능 추가feat: 사용자 로그인 기능 추가fix버그 수정fix: 사용자 프로필 업데이트 오류 수정docs문서 변경docs: API 사용법 문서 추가style코드 스타일 변경style: 코드 포맷팅 수정refactor코드 리팩토링refactor: 사용자 서비스 로직 리팩토링perf성능 개선perf: 데이터베이스 쿼리 성능 개선test테스트 추..
[Spring] 도메인형 패키지 구조로의 전환
·
Spring/Spring
1. Overview이번 포스트에서는 최근 스프링 부트 프로젝트에서 도메인형 패키지 구조를 사용해본 경험을 공유하려고 합니다. 기존에는 계층형 패키지 구조를 주로 사용했었는데, 이번에 팀 프로젝트를 진행하면서 도메인형 패키지 구조를 도입하게 되었고, 그 이유와 결과를 설명해보겠습니다. 2. 계층형 패키지 구조란?먼저, 계층형 패키지 구조에 대해 간단히 설명해보겠습니다. 계층형 패키지 구조는 일반적으로 다음과 같이 구성됩니다:com.joon.project├── controller│ └── UserController.java├── service│ └── UserService.java├── repository│ └── UserRepository.java├── model│ └── User.java..
[Kotlin] 1. 코틀린이란?
·
Kotlin/Kotlin 입문
1. 코틀린(Kotlin)코틀린(Kotliin)은 간결하고 안전하며 자바(Java) 언어와 100% 호환이 가능한 언어입니다.간결성자바(Java)의 경우 getter, setter, 명시적인 위임과 같이 불필요한데 반드시 써야하는 준 비 코드가 존재합니다. 그러나 코틀린(Kotlin)은 간결하게 코드를 줄여줍니다.안정성강력한 타입 추론null 안정성 코틀린(Kotlin)으로 할 수 있는 것안드로이드 앱 개발서버 개발(Spring)멀티플랫폼 모바일 앱 개발 컴파일 및 실행.kt 파일 같은 경우에는 사람이 알아볼 수 있는 언어였다면 Kotlin Compiler를 통하여 Banary File로 변경하여 컴퓨터가 알아보기 쉽게 변경하여 JVM에서 사용할 수 있다. JVMJava Virtual Machine의 약..
[Spring] IntelliJ에서 구글 자바 스타일 가이드 적용하기
·
Spring/Spring
오늘은 IntelliJ 프로젝트에 구글 자바 스타일 가이드를 적용해 코드를 일관되게 만드는 방법을 소개하겠습니다. 저는 최근에 코드 스타일의 통일성이 팀 전체의 효율성을 높이는 데 중요하다는 것을 깨달았습니다. 이로 인해 새로운 팀원이 들어올 때 코드 스타일에 대한 불필요한 논쟁을 줄일 수 있습니다. 최근 혼자 진행하던 프로젝트에 새로운 팀원이 합류하게 되면서 코드 스타일을 어떻게 맞출지 고민하게 되었습니다. 이 과정에서 구글 자바 스타일 가이드를 발견했고, 이를 통해 코드의 일관성을 유지하면 팀 전체의 효율성을 높일 수 있을 것 같았습니다. 오늘은 IntelliJ 프로젝트에 구글 자바 스타일 가이드를 적용하여 코드 스타일에 대한 불필요한 논쟁을 줄이는 방법을 소개하겠습니다.1. 구글 자바 스타일 가이드..
[Spring Boot] Lombok 어노테이션 정리
·
Spring/Spring Boot
안녕하세요! Spring Boot와 Lombok을 함께 사용할 때 유용한 Lombok 어노테이션들에 대해 알아보겠습니다.Lombok은 코드의 반복을 줄여주고, 생산성을 높여주는 라이브러리로, Spring Boot와 함께 사용하면 매우 편리합니다.1. @Getter와 @Setter가장 많이 사용되는 어노테이션입니다. 필드에 대한 getter와 setter 메서드를 자동으로 생성해줍니다.사용한 경우import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class User { private String name; private int age;}사용하지 않은 경우public class User { private String name; ..
[Spring] Path Variable vs Query Parameter
·
Spring/Spring Boot
1. 들어가며 API를 설계하는 과정에서 URL의 구성 방식은 사용자와의 인터랙션을 결정짓는 중요한 요소입니다. 특히, RESTful API를 설계할 때, 리소스의 식별과 검색 조건 등을 URL에 어떻게 표현할지는 매우 중요한 설계 결정 중 하나입니다. API 명세서를 작성하던중 Path Variable과 Query Parameter의 정확한 차이점에 대하여 알고자 이 글을 작성합니다.. Path Variable과 Query Parameter의 공통점은 유동적인 값을 전달하기 위하여 URL로 넘겨진다는 것입니다. Path Variable 또는 path variable path parameter paramter URL parameter Query Parameter 또는 query string query p..
[Spring] Bean이란?
·
Spring/Spring
1. Spring Bean 이전의 기술: EJB 2000년대 초반 Java 개발에서 주로 사용되었던 기술은 EJB(Enterprise JavaBeans)였습니다. EJB는 엔터프라이즈 애플리케이션 개발을 위한 표준 기술로서, 트랜잭션 관리, 보안, 객체 풀링 등 다양한 기능을 제공했습니다. 하지만 EJB는 다음과 같은 문제점을 가지고 있었습니다. 복잡성: EJB는 매우 복잡한 기술이었기 때문에 배우고 사용하기 어려웠습니다. 무거운 성격: EJB는 자체적으로 많은 기능을 제공했기 때문에 애플리케이션을 무겁게 만들었습니다. 비용: EJB를 사용하려면 서버에 EJB 컨테이너를 설치해야 했기 때문에 비용이 많이 들었습니다. 2. Spring Bean의 탄생 EJB의 문제점을 해결하기 위해 등장한 것이 바로 Sp..
[Spring] IoC, DIP, DI란?
·
Spring/Spring
1. 의존성(Dependency)이란? 의존성(dependency)이란 한 객체, 함수, 모듈 또는 시스템이 다른 것 없이는 제대로 작동할 수 없는 상황을 의미합니다. 예를 들어, Store 클래스가 Pencil 클래스의 메서드를 사용하고 있다면, Store 클래스는 Pencil 클래스에 의존하고 있습니다. 즉, Pencil 클래스 의 변경이 Store 클래스에 영향을 미치게 됩니다. IOC, DIP, DI는 모두 객체 간 의존성을 관리하는 데 사용되는 개념이지만, 서로 다른 역할과 특징을 가지고 있습니다. 2. IoC (Inversion of Control) : 제어의 역전 제어의 역전은 객체 생성 및 의존성 주입을 객체 자체가 아닌 외부에서 수행하는 방식입니다. 프로그램의 흐름을 개발자가 아닌 프레임..
[Network] HTTP 메서드의 종류
·
Network
1. HTTP 메서드의 종류 HTTP 메서드란 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식을 일컫는다. 쉽게 말하면 서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다. HTTP 메서드는 총 9가지가 있으며 주로 GET, POST, PUT, PATCH, DELETE를 사용합니다.메서드설명POST요청 데이터 처리, 주로 등록에 사용GET리소스 조회 PUT(전체)리소스 전체 변경(덮어쓰기), 해당 리소스가 없으면 생성 PATCH(일부)리소스 부분 변경 (일부 변경) DELETE리소스 삭제OPTIONS대상 리소스에 대한 통신 가능 옵션(메서드)을 설명(주로 CORS에서 사용)HEADGET과 동일하..
JoonYong
Dev Notes