git push -u origin +master branch 앞에 +를 붙여주면 됩니다.
모든 소스는 여기서 확인하실 수 있습니다. Jackson Serialization jackson이 제공하는 직렬화(serialization) 애노테이션에 대해 알아봅시다. @JsonAnyGetter Map 필드를 표준 property로 사용할 수 있는 유연성을 제공합니다. package io.lcalmsky.jackson_test.domain; import com.fasterxml.jackson.annotation.JsonAnyGetter; import java.util.HashMap; import java.util.Map; public class ExtendableBean { public String name; private Map properties; public ExtendableBean(Strin..
자주 사용하는 긴 명령어 조합을 간단하게 등록하여 사용할 수 있습니다. 등록 $ alias 별칭="명령" 해제 $ unalias 별칭 예제 java가 들어가는 프로세스 상태를 조회하는 명령을 pj에 매핑하여 사용하여보고 해제하는 예제입니다. 너무 간단하여 따로 설명이 필요 없을 것 같습니다. $ alias pj="ps -ef | grep java" $ pj 501 65444 51395 0 2:58PM ttys001 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn java $ unalias pj $ pj zsh: command not found..
쿠버네티스 사용에 앞서 아주 간단하게 살펴보기 위한 포스팅입니다. 직접 구현하고 설정하는 내용은 추후에 포스팅할 예정이오니 해당 내용에 관심있으신 분은 이후 포스팅을 참조해주세요. 쿠버네티스란? 쿠버네티스는 구글에서 개발한 컨테이너 오케스트레이션(Container Orchestration) 프레임워크입니다. 즉, 컨테이너를 쉽고 빠르게 배포/확장하고 관리를 자동화해주는 오픈소스 플랫폼입니다. 단순한 컨테이너 플랫폼이 아닌 컨테이너를 손쉽게 관리할 수 있는 다양한 기능들(CI/CD, 머신 러닝 등)이 플랫폼 내에서 동작하고 마이크로서비스, 클라우드 플랫폼을 지향합니다. 컨테이너 오케스트레이션 프레임워크는 여러 개의 서버에 컨테이너를 배포하고 운영하면서 서비스 디스커버리와 같은 기능등을 제공하여 서비스 간 ..
기본 키 매핑 전략 Hibernate에서 지원하는 기본 키(Primary Key) 매핑 전략은 아래와 같습니다. 직접 할당 IDENTITY SEQUENCE TABLE AUTO 하나씩 방법을 살펴본 뒤 JPA 기술의 핵심인 영속성과의 상관관계를 알아보도록 하겠습니다. 직접 할당 전략 기본 키를 직접 할당하려면 @Id 어노테이션을 사용하면 됩니다. @Id private String id; @Id는 아래와 같은 타입에 매핑할 수 있습니다. primitive type wrapper type String java.util.Date java.sql.Date java.math.BigDecimal java.math.BigInteger 식별자 없이 저장할 경우 hibernate 기준으로 PersistenceExcepti..
스키마 자동 생성 관련하여 추가적인 정보 및 소스 코드는 이 포스팅을 참고하세요. JPA는 데이터베이스 스키마를 자동으로 생성하는 기능을 지원합니다. 클래스의 매핑 정보를 분석하여 어떤 테이블이 어떤 칼럼을 사용하는지 알 수 있고 데이터베이스 방언(dialect)에 따라 해당 데이터베이스에 맞는 스키마를 생성할 수 있습니다. 데이터베이스 방언이란? 데이터 타입이나 함수명, 페이징 처리 등 각 데이터베이스가 제공하는 고유 기능을 JPA에서는 방언(dialect)이라고 부릅니다. 개발자가 특정 데이터베이스에 종속되는 기능을 많이 사용하면 나중에 데이터베이스를 교체하기 어려운데, 이러한 문제를 해결하기위해 아래와 같이 다양한 방언클래스를 제공합니다. H2: org.hibernate.dialect.H2Diale..
JPA는 다양한 매핑 어노테이션을 제공하는데 크게 4가지로 분류할 수 있습니다. 객체와 테이블 매핑: @Entity, @Table 키 매핑: @Id 필드와 컬럼 매핑: @Column 연관관계 매핑: @ManyToOne, @JoinColumn @Entity 테이블과 매핑할 클래스는 필수로 어노테이션을 붙여주어야 합니다. Attributes name: JPA에서 사용할 엔터티 이름, 보통 클래스 이름을 사용, 다른 패키지에 동명의 엔터티가 있다면 값을 지정하여 충돌을 피해야 함 주의사항 기본 생성자 필요(public or protected) final, enum, interface, inner class에는 사용 불가 저장할 필드에 final 사용 불가 public class Member { ... }-> ..
필자는 마우스 사용을 지양합니다. 따라서 앞으로의 모든 포스팅은 마우스 사용을 최소화 할 수 있는 CLI(Command Line Interface)를 활용할 예정입니다. Gradle을 지난 몇 년 간 '그래들'이라고 읽었는데 원래 발음이 '그레이들'이란 것을 알고 엄청난 충격을 받았습니다. (지금 이 글을 읽으시는 분들 중에도 찔리는 분이 있으시겠죠?) Gradle 설치 터미널 실행 후 아래 명령어를 입력하면 끝 ▶︎ brew install gradle 설치 확인 ▶︎ gradle --version ------------------------------------------------------------ Gradle 5.6.2 ------------------------------------------..
Name Version macOS Mojave 10.14.6 BlueStacks 4.130.1 터미널을 이용한 방법 터미널 실행 Preferences 폴더로 이동 > cd ~/Library/Preferences/ vi(vim) 에디터로 블루스택 설정파일 열기 > vi com.bluestacks.BlueStacks.plist FrameBuffer의 해상도(Width, Height), 창크기(WindowWidth, WindowHeight) 조절 FrameBuffer Depth 16 GlMode 1 Height 1080 HideBootProgress 1 Width 1920 WindowHeight 540 WindowWidth 960 필자는 해상도는 유지하고 창크기를 1/4로 설정하였습니다. Finder를 이용한..
@Component (@Controller, @Service, @Repository 등)는 클래스위에 표시하여 해당 클래스가 '컴포넌트'임을 나타내고, 애너테이션 설정과 클래스패스 스캐닝시에 자동으로 감지 대상으로 간주합니다. Indicates that an annotated class is a "component". Such classes are considered as candidates for auto-detection when using annotation-based configuration and classpath scanning. ... 생략 (출처: javadoc) @Bean은 메소드위에 표시하고 해당 메소드가 스프링 컨테이너에 의해 관리되는 빈을 생성한다는 것을 나타냅니다. 어노테이션 설정..
이클립스에선 기본으로 동작하는 기능이 IntelliJ(저는 ULTIMATE 2019.2 버전 사용 중 입니다)에서는 옵션으로 제공되네요. 설정(⌘ + ,) - Editor - General 메뉴에 진입하여 Show quick documentation on mouse move 항목을 체크하시면 됩니다. 설정 후 클래스나 메소드에 마우스 오버하게 되면 아래 처럼 자바독을 바로 확인하실 수 있습니다. 이 기능을 사용하지 않고 자바독을 확인하시고 싶으시다면 해당 옵션을 해제한 상태에서 클래스나 메소드 위에서 F1, ^J, 또는 ^+2Button클릭(일반 마우스 기준 휠 클릭)로 확인하실 수 있습니다.
CMD + Shift + A (Find Action) 입력시 터미널 실행되는 문제 맥북에서 IntelliJ IDEA를 사용할 때 액션 검색창을 띄우기위해 ⌘ + ⇧ + A 단축키를 사용합니다. 하지만 의도와 다르게 터미널이 실행되면서 man 화면이 나타나는 것을 확인할 수 있습니다. 저 같은 경우 Windows + Eclipse 조합만 사용하다가 MacOS + IntelliJ IDEA로 갈아탄지 얼마되지 않은 맥린이이기 때문에 모든 것이 낯선 상태였고, Files 검색창(⌘ + ⇧ + O)을 띄운 뒤 마우스로 Actions 탭을 클릭하는 등 처참한 수준의 능지를 자랑하며 액션 검색을 사용하였습니다. 위와 같은 방법을 열 번 정도 시도하다가 이렇게 불편한 것을 주변 개발자들이 추천했을리 없다라는 확신을 가..
- Total
- Today
- Yesterday
- 헥사고날 아키텍처
- intellij
- 스프링 부트 애플리케이션
- gRPC
- 함께 자라기 후기
- QueryDSL
- Spring Boot Tutorial
- leetcode
- spring boot application
- 스프링 부트
- Spring Data JPA
- proto3
- JSON
- Linux
- Spring Boot
- spring boot app
- JPA
- 알고리즘
- spring boot jwt
- 스프링 부트 튜토리얼
- 스프링 부트 회원 가입
- 함께 자라기
- Java
- @ManyToOne
- r
- 클린 아키텍처
- 스프링 데이터 jpa
- Jackson
- 스프링부트
- Spring Boot JPA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |