반응형

전체 글 130

Lombok 사용 중 constructor ... is already defined in class 오류 발생 해결

Lombok 버전 : 1.16.22 스프링 Boot 프로젝트 배포를 위해 Maven Build 를 수행하던 중 Lombok 어노테이션을 적용해둔 도메인 클래스에서 컴파일 오류가 발생했다. 구글링 해본 결과 @Data와 @NoArgsConstructor를 같이 쓸 때 발생하는 버그로 지금은 fix된듯 하다. https://github.com/rzwitserloot/lombok/issues/1703 Lombok 버전을 변경하거나 @NoArgsContsructor를 먼저 선언해주는 방법으로 컴파일 오류 없이 컴파일 할 수 있었다.@NoArgsConstructor @Data public class SomeDomain { .... }

Back-End/Java 2018.12.08

리눅스 여러 파일 내용 하나로 합치기

리눅스 쉘에서 여러 파일을 하나로 합치는 방법을 소개합니다.ls [파일명패턴] | xargs cat > [결과파일명]위 명령어 한 줄로 [파일명패턴]에서 선택되어지는 파일들의 내용을 [결과파일명] 파일로 쓸 수 있습니다. 동작 방법을 살펴보면 ls [파일명패턴] 을 통해 먼저 대상 파일들을 선택합니다. ls 명령은 디렉토리에 존재하는 요소(파일, 디렉토리)들의 정보(파일명, 권한, 수정시간 등) 목록을 표준출력으로 출력하는 명령어로, 아무 옵션없이 실행하면 파일명들만 출력하게 됩니다. ls 명령을 통해 출력된 파일명 목록을 |(파이프)를 통해 뒤에 나오는 명령어로 전달합니다. |(파이프)는 이전 명령어의 실행 결과를 다음 명령어의 입력으로 사용할 때 활용됩니다. 다음은 xargs cat 입니다...

DevOps/Unix, Linux 2018.12.06

JSON 샘플 데이터 제공 사이트 소개

개발하다보면 JSON 샘플 데이터가 필요한 경우가 자주 있습니다. https://jsonplaceholder.typicode.com 위 사이트에서는 게시글, 댓글, 사진 등 다양한 컨셉의 샘플 데이터를 제공하며 사진의 경우 image 주소까지 제공하여 편리하게 사용할 수 있습니다. 사용방법은 다음과 같이 아주 간단합니다.fetch('https://jsonplaceholder.typicode.com/comments') .then(response => response.json()) .then(json => console.log(json));콘솔에 comments(댓글) API로 제공되는 500개의 샘플 데이터가 출력되는 것을 확인할 수 있습니다.백엔드가 구축되어있지 않은 상태에서 프론트엔드 개발 시..

기타 2018.12.04

JPA 객체 연관관계 설정

@ManyToOne다대일(N:1) 관계 매핑 정보다.주요속성 optional : false로 설정 시 연관된 엔티티가 항상 있어야한다 (기본값 : true) fetch : 글로벌 Fetch 전략을 설정한다. cascade : 영속성 전이 기능을 사용한다. targetEntity : 연관된 엔티티의 타입 정보를 설정한다. (거의 사용안함)@JoinColumn외래 키를 매핑할 때 사용한다.주요속성 name : 매핑할 외래키 이름 (기본값 : 필드명 + _ + 참조하는 테이블의 기본 키 컬럼명) referencedColumnName : 외래 키가 참조하는 대상 테이블의 컬럼명 (기본값 : 참조하는 테이블의 기본 키 컬럼명) foreignKey : 테이블을 생성할 때만 사용하는 속성으로 외래 키 제..

Back-End/JPA 2018.12.02

객체 연관관계 VS 테이블 연관관계

ORM에서 가장 어려운 부분으로 손꼽히는 것은 객체의 연관관계를 표현하는 것이다.즉 테이블의 연관관계를 엔티티에 매핑하여 표현하는 것을 의미한다. 연관관계 핵심 키워드방향단방향, 양방향이 있다. 예를들어 회원과 팀이라는 관계가 있을때 회원 -> 팀 또는 팀 -> 회원이런 식으로 한 쪽으로만 참조하는 것을 단방향 관계라 하고 회원 -> 팀 -> 회원 상호 참조하는 것을 양방향이라 한다.방향은 객체에만 존재하며 테이블간 관계는 항상 양방향이다. 다중성[일대다(1:N), 다대일(N:1), 일대일(1:1), 다대다(N:M)]이 있다. 예를들어 팀과 회원의 관계에서한 팀에 여러 회원이 있을수있으니 팀과 회원은 일대다 관계로 볼 수 있다. 반대로 여려 명의 회원이 한 팀에 속하니 회원과 팀은 다대일이다.즉 [팀 1..

Back-End/JPA 2018.12.01

엔티티(Entity) 테이블(Table) 매핑

🧩 JPA 엔티티 매핑과 기본 키 전략 정리정리 기준: 『자바 ORM 표준 JPA 프로그래밍』 학습 내용 기반작성자: 백엔드 개발자용 요약 정리1️⃣ 엔티티 매핑 (Entity Mapping)JPA에서 @Entity는 해당 클래스가 JPA가 관리하는 엔티티임을 명시합니다.DB 테이블과 매핑하기 위해 다음과 같은 어노테이션을 함께 사용합니다.✔️ 주요 매핑 어노테이션어노테이션설명@Entity해당 클래스가 엔티티임을 알림@Table(name = "테이블명", uniqueConstraints = {...})테이블 이름 및 유니크 제약 조건 지정@Column일반 컬럼 매핑@EnumeratedEnum 타입 매핑@TemporalDate 타입 매핑 (예: @UpdateTimestamp로 자동 시간 설정 가능)@Lo..

Back-End/JPA 2018.11.30

Vue-CLI를 이용한 Vue프로젝트 생성

먼저 Vue-CLI 를 이용하기 위해서는 Node.js과 NPM이 설치되어있어야 한다.설치가 안된 경우 https://do-study.tistory.com/66 을 참고하여 설치할 수 있다. NPM을 이용하여 Vue-CLI 설치 (3.0.x)NPM이 설치되어있으면 아래 명령어로 Vue-CLI 를 매우 간단하게 설치할 수 있다.# Vue-CLI 설치npm i -g @vue/cli # 버전 확인을 통해 정상설치 확인 vue --version-g 옵션은 글로벌 패키지로 설치한다는 옵션으로 해당 PC 개발환경의 모든 프로젝트에서 사용이 가능하도록 하는 것이다.Vue-CLI를 이용하여 프로젝트 생성먼저 CMD창에서 프로젝트를 생성할 경로로 이동한다. 만약 C:\work 디렉토리 밑에 생성하고 싶다면 cd C:..

Front-End/Vue 2018.11.28