전체 글 57

CI/CD란? 지속적 통합, 지속적 제공(배포)

오늘은 유튭보고 배운 내용을 기록 1. CI/CD 란? 애플리케이션 개발부터 배포때까지 모든 단계들을 자동화를 통해 효율적으로 빈번히 배포할 수 있도록 하는 것 2. CI Continuous Integration 지속적인 통합 코드변경 사항을 주기적으로 빈번히 머지해야함 통합을 위한 단계(빌드, 테스트, 머지)의 자동화 장점 개발 생산성 향상 결함, 문제점 등을 빠르게 발견, 버그 수정에 용이 코드 퀄리티 향상 3. CD CD는 두가지로 나뉜다. Continuous Delivery 지속적인 제공 => 검증이 완료되면 수동적으로 배포하는 것 Continuous Deployment 지속적인 배포 => 검증이 완료되면 자동적으로 배포하는 것 배포 순서 (이 과정에서 Build, Test => CI / Depl..

Java 2021.09.01

[Vue.js] Node.js 설치하기

1. Node.js란? 서버 사이드 자바스크립트로, 서버 측에서 실행되는 자바스크립트 실행 환경을 의미 * 서버 사이드 : 웹 화면과 관계된 서버 로직을 처리하는 영역 뷰 CLI (Command Line Interface)를 이용하여 쉽게 뷰 프로젝트를 구성하기 위해서는 Node.js 필요 * CLI : 커맨드 라인 명령어. 윈도우의 명령 프롬프트 창과 맥의 터미널 등, 명령어로 특정 동작을 수행할 수 있는 콘솔 창 2. Node.js 설치 Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 다운로드! Current 버전 보다는 LTS 버전을 추천.. 이유는 LTS가 더 안정적이고 라이브러리 ..

Vue.js 2021.09.01

[Vue.js] ATOM 에디터 설치 | 테마, 패키지 다운로드 및 적용 방법

Vue.js 개발을 위해 필요한 환경을 설정해보겠습니다. 1. ATOM 에디터 설치 A hackable text editor for the 21st Century At GitHub, we’re building the text editor we’ve always wanted: hackable to the core, but approachable on the first day without ever touching a config file. We can’t wait to see what you build with it. atom.io 2. 다운로드한 exe 파일 실행 3. 테마 설치 실행하면 끝이지만 개발할 때 유용한 테마와 패키지 추가로 설치 Themes 클릭 후 seti-ui 입력하여 seti-ui / ..

Vue.js 2021.08.31

Vue.js 란?

1. Vue.js 란 웹 페이지 화면을 개발하기 위한 프런트엔드 프레임워크 화면단 라이브러리이자 프레임워크 뷰의 창시자 에반은 앵귤러의 명시적 데이터 바인딩과 같은 필수적인 요소들만 가지고 화면을 구현하기 시작했고, 오픈 소스화하면서 많은 사람들이 참여하여 프레임워크의 기능을 붙여 나가기 시작하며 뷰가 탄생하였다. * 프레임워크 : 일정한 틀과 규칙에 따라 개발하도록 미리 구조를 정의해 놓은 도구 (뼈대) * 라이브러리 : 자주 사용되는 기능들을 모아 재활용할 수 있도록 정리한 기술 모음집 2. 장점 배우기 쉽다. 리액트와 앵귤러에 비해 성능이 우수하고 빠르다. 리액트의 장점과 앵귤러의 장점을 가지고있다. 앵귤러를 더 가볍게 쓰고 싶어 만든 프레임워크 앵귤러의 양방향 데이터 바인딩 특성과 리액트의 단방향..

Vue.js 2021.08.30

[ORACLE] DECODE 와 CASE문 사용법

쿼리를 짜다보면 조건문을 사용해야할 때가 있습니다. Oracle에서는 DECODE와 CASE문이 있습니다. DECODE 간단하게 TRUE / FALSE 값으로 구분 할 수 있는 조건문일 경우 SQL문으로만 사용 가능 함수 1. 사용법 DECODE(컬럼, 조건, TRUE, FALSE); 2. 예제 -- USER_NAME이 홍길동이면 Y, 아니면 N SELECT DECODE(USER_NAME, '홍길동', 'Y', 'N' ) FROM DUAL; CASE 조건에 따라 결과값 출력 SQL과 PL/SQL 사용 가능 Statement 1. 사용법 CASE WHEN 조건 THEN 조건에 해당할 경우의 값 ELSE 조건에 해당하지 않을 경우의 값 END 2. 예제 -- NAME이 고길동이면 '길동' / 둘리이면 '둘리..

Oracle 2021.08.24

[JPA] 기본 키 매핑 어노테이션 @Id / @GeneratedValue [IDENTITY, SEQUENCE, TABLE, AUTO]

@Id - 내가 직접 셋팅해주는 직접 할당 @GeneratedValue - IDENTITY : 데이터베이스에 위임, MYSQL @Id//pk가 무엇인지 알려줌 @GeneratedValue(strategy=GenerationType.IDENTITY) private String id; -> MYSQL의 autoincrement와 같이 DB가 알아서 값을 넣어주는 자동 생성 방법 Member member = new Member(); //member.setId("ID_A"); member.setUsername("Hi"); em.persist(member); id 값은 자동할당하기로 하였기 때문에 값을 안주고 실행하게되면 MySQL 방언에 따라 아래와 같이 auto_increment로 생성된다. 순차적으로 id ..

JPA 2021.07.06

[JPA] @Temporal / @Lob / @Transient 속성

@Temporal 날짜 타입 (java.util.Date, java.util.Calendar)을 매핑할 때 사용 - DATE : 날짜 2020-07-05 - TIME : 시간 10:50:11 - TIMESTAMP : 날짜,시간 2020-07-05 10:50:11 ** 지금은 사실 @Temporal이 필요 없다.. 자바8이 되면서 하이버네이트에서 LocalDate, LocalDateTime을 지원해주기 시작하였다. @Temporal(TemporalType.TIMESTAMP) //날짜 Type -> DATE날짜/TIME시간/TIMESTAMP날짜시간 private Date createdDate; @Temporal(TemporalType.TIMESTAMP) private Date lastModifiedDate;..

JPA 2021.07.05

[JPA] @Column / @Enumerated 속성

@Column 컬럼을 매핑 name : 필드와 매핑할 테이블의 컬럼 이름 @Column(name = "name") private String username; insertable / updateable : 등록, 변경 가능 여부 / 기본값 : TRUE //DB에 insert문이 처리될 때 할건지 말건지 / update문 처리될때 반영할건지 말건지 @Column(insertable=true, updatable=true) private String username; nullable : null 값의 허용 여부 설정 (false로 설정하면 DDL 생성시 not null 처리) / 기본값 : TRUE // false일 경우, not null 제약조건이 걸린다 @Column(nullable=false) priva..

JPA 2021.07.02

[JPA] @Entity / @Table 매핑 어노테이션 정리

@Entity - @Entity가 붙은 클래스는 JPA가 관리한다. - JPA를 사용해서 테이블과 매핑할 클래스는 @Entity가 필수 - 기본 생성자 필수!! JPA 스펙상 규정이 되어있다고 해요 :) - final 클래스, enum, interface, inner 클래스는 @Entity 를 이용해서 사용할 수 없음 - 저장할 필드에 final 사용할 수 없음 @Entity 속성 1. @Entity(name="Member") - JPA가 내부적으로 구분하는 이름 - 설정을 따로 안하면 기본값으로 클래스 이름을 그대로 사용한다. - 같은 클래스 이름이 없으면 가급적으로 기본값을 사용한다. @Table - 엔티티와 매핑할 테이블 지정 1. @Table(name="MBR") - MBR 테이블로 처리된다. -..

JPA 2021.07.01

[JPA] 플러시 flush란?

플러시 flush란? 플러시는 영속성 컨텍스트의 변경내용을 데이터베이스에 반영해주는 것 - 영속성 컨텍스트를 비우지 않음 - 영속성 컨텍스트의 변경내용을 데이터베이스에 동기화 - 트랜잭션이라는 작업 단위가 중요 -> 커밋 직전에만 동기화하면 됨 플러시가 발생되는 시점 - 변경 감지 - 수정된 엔티티 쓰기 지연 SQL 저장소에 등록 - 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송 (등록, 수정, 삭제 쿼리) 영속성 컨텍스트를 플러시하는 방법 em.flush() : 직접 호출하는 것, 사용은 안하지만 알아만 둘 것 Member member = new Member(200L, "member200"); em.persist(member); // 강제 호출 em.flush(); System.out.print..

JPA 2021.06.30