분류 전체보기(313)
-
[실무 JPA] 엔티티 생성
회사 어드민 서버가 C# .NET으로 이루어져 있는데 이번에 범용성이 넓고 저한테 익숙한 Java Spring으로 이전하는 작업을 맡게 되었습니다. 그리고 SQL 처리를 MyBatis가 아닌 JPA를 사용하기로 했습니다. :) 소스코드 파악이 어느정도 되면 이관하는 작업을 진행하려 했습니다. 다만 Spring으로 이루어진 앱 서버의 DB는 파악하고 있기 때문에 우선 엔티티 이전 작업을 시작했습니다. 그 후 API 단위로 Controller, Service 단의 코드를 이전하려 합니다. JPA 엔티티 생성 IntelliJ의 Database Tool을 사용하면 IDE에서 DB 데이터를 볼 수 있어 편합니다. 엔티티 생성도 Database 연결 POJO Groovy 사용해 엔티티 생성 설정값 지정 Genera..
2021.08.04 -
[ORM 표준 JPA] 10장 객체지향 쿼리언어(JPQL) (1)
ORM방식으로 복잡한 쿼리를 만들 수 있게 도와주는 기능입니다. JPA는 JPQL을 분석해 적절한 SQL을 만들어 DB를 조회합니다. 종류 Native SQL : JPQL 대신 SQL을 사용할 수 있음 QueryDSL : SQL 작성을 도와주는 빌더 클래스 모음 빌더클래스 쿼리를 코드로 작성할 수 있기 때문에 컴파일 시점에 오류가 발생합니다. 쿼리 전용 엔티티(메타모델)를 만들어주는 어노테이션 프로세서가 필요합니다. QueryDSL //준비 JPAQuery query = new JPAQuery(em); QMember member = QMember.member; //쿼리, 결과조회 List members = query.from(member) .where(member.username.eq("kim")) .l..
2021.07.25 -
Jenkins로 배포 자동화 해보기
다시 돌아왔습니다. 운좋게도 회사에서 AWS EC2로 애플리케이션 배포까지 진행하고 있는데, 자동화가 이루어지지 않은 상태기 때문에 자동화 + 무중단 배포라는 임무가 주어졌습니다. 힘들겠지만 7월 말 회사 테스트 서버부터 적용시키는 것을 목표로 우선 개인 프로젝트를 통해 익혀보려고 합니다. 첫번째 테마는 자동화 입니다. 우선 Git에 commit하면 build, test, deploy가 자동으로 구동되는 CI/CD 툴을 정했습니다. Jenkin를 사용하기로 했고 그 이유는 회사에서 무료버전을 원할 수 있기도 하고, 설정이 까다로운 툴을 써볼수록 나중에 Travis를 사용해도 편할 거 같기 때문입니다.(Travis는 Production 버전은 유료입니다) 그리고 현재 서버/프런트/앱 배포 방식을 파악하고,..
2021.07.17 -
[생활코딩] 관계형 데이터 모델링 - 2. 데이터 모델링의 순서
업무파악 → 개념적 데이터 모델링 → 논리적 데이터 모델링 → 물리적 데이터 모델링 1. 업무파악 : 우리가 하려는 일을 기획자와 논의해 파악하고 기획서를 전달받습니다. 2. 개념적 데이터 모델링 : 하려는 일의 개념들이 어떤 관계에 있는지 숙고해 ERD로 나타냅니다. 3. 논리적 데이터 모델링 : RDB에 맞게 구성합니다. 일의 개념들을 관계형 데이터 베이스 표로써 나타냅니다. 4. 물리적 데이터 모델링 : DB제품을 선택해 SQL 코드로 실제 RDB를 구현합니다. 데이터 모델링은 현실의 문제를 뜯어내 DB로 옮겨 해결하는 과정입니다. 계속해서 문제가 잘 해결되었는지 검증하기 위해 DB에 잘 담겨있는지 끊임없는 확인이 필요합니다. 출처 : 생활코딩
2021.07.05 -
[생활코딩] 관계형 데이터 모델링 - 1. 수업소개
RDB(관계형 데이터베이스) 테이블끼리 연관관계가 잘 구성된 DB 정규화(Normalization) DB 설계에서 중복을 최소화하게 데이터를 구조화 프로세스. 목적은 크고 조직화 되지 않은 테이블을 작고 잘 조직된 테이블과 관계들로 나누는 것을 말합니다. Model(모델) 목적을 가지고 진짜를 모방하는 것 - 목적 : 표에 데이터를 담는 것 - 진짜 : 현실의 복잡성 - 모방 : 컴퓨터에 저장하는 데이터 베이스 Data Modeling(데이터 모델링) 현실의 복잡성을 DB 데이터화 하는 구조화 출처 : 생활코딩
2021.07.04 -
logger spring xml
콘솔에 출력하는 것 뿐만 아니라 파일로 만드는데에 필요한 설정입니다. rolling policy는 지나친 로그 파일들을 생성하는 것을 방지하기 위한 장치입니다. rolling log : 하루에 주기적으로 로그 파일들을 닫고(정리하고) 새로운 로그 파일들을 여는 과정을 얼컫습니다. consoleAppender : 콘솔에 출력되는 로그 fileAppender : 파일로 저장되는 로그 참고자료 : https://www.baeldung.com/spring-boot-logging 참고자료 : https://thinkwarelab.wordpress.com/2016/11/18/java에서-logback을-이용한-로깅logging-사용법/
2021.07.01