전체 글 115

Entity 엔티티

Entity - JPA에서는 테이블을 자동으로 생성해주는 기능 제공 DB Table == JPA Entity JPA의 주요 Annotation과 용도 설명 Annotation 용도 @Entity 해당 class가 entity임을 명시 @Table 실제 DB테이블의 이름을 명시 @Id Index primary key를 명시 @Column 실제 DB Column의 이름을 명시 @GeneratedValue Primary key 식별키의 전략 설정 package com.example.study.model.entity; //클래스의 이름과 디비 컬럼의 이름이 동일하게 만든다. //User(카멜)=user import lombok.AllArgsConstructor; import lombok.Data; import ..

Spring 2019.11.05

Naming Convention(네이밍컨벤션)

Camel Case - 단어를 표기할 때 첫 문자는 소문자로 시작하며 띄어쓰기 대신 (대문자)로 단어를 구분 - Java의 변수를 선언 할 때 camelCase로 선언한다. Snake Case - 단어를 표기할 때 모두 소문자로 표기하며, 띄어쓰기 대신( _ )로 표기 - DB컬럼에 사용 -> ex : phone_number, created_at, updated_at API를 정의하기에 따라 다르지만, 주로 API 통신 규격과 구간에서는 Snake Case를 많이 사용

Spring 2019.11.04

JPA(Java PErsistent API)

JPA(Java PErsistent API) - ORM( Object Relational Mapping)으로, RDB 데이터 베이스의 정보를 객체지향으로 손쉽게 활용할 수 있도록 도와주는 도구 - Objet(자바객체)와 Relation(관계형 데이터베이스) 둘간의 맵핑을 통해서 보다 손쉽게 적용할 수 있는 기술을 제공한다. - 쿼리에 집중하기보다는 객체에 집중함으로써, 조금더 프로그래밍적으로 많이 활용이 가능하다.

Spring 2019.11.02

Lombok

Lombok @Data public class SearchParam{ private String account; private String email; private int page; } lombok사용시에 위처럼 선언만 해주어도 getter/setter/기본 생성자 까지 모두 한번에 선언이 가능하다. -코드 간결화 lombok적용방법 builde.gradle 파일에 ->아래를 dependencies안에 추가 compile('org.projectlombok:lombok') lombok plugin 설치방법 [file->settings->plugin->lombok(검색후 인스톨 및 인텔리제이 재시작 후 적용 )] 0.[file->settings] 클릭 1. [Build,Execution,Deployment..

Spring 2019.11.01

HTTP-POST Method & Rest API & Post방식을 전달하는 방법

HTTP-POST Method - 주소 창에 파라미터가 노출 되지 않는다. - 주소 창에 사용자의 요청사항이 노출 되지 않는다. - Get방식에서는 주소의 길이 제한이 있지만, POST에서는 그보다 길게 사용이 가능하다.(제한존재) - 브라우저가 주소 캐시를 하지 못하는 특성이 있다. HTTP- PUT/PATCH Method -POST와 마찬가지로 BODY에 데이터가 들어 있으며, 주로 업데이트에 사용한다. Post방식을 전달하는 방법은 대표적인 것은 두가지 1. HTML의 FORM태글 사용하여 전달하는 방법 2. ajax를 사용하여 전달하는 방법 - http post 방식은 body에 data를 담아서 전달하는 방식 - body의 형태는 json,xml,multipart-form text-plain형태..

Spring 2019.10.31

RestAPI GetMethod 갯 메소드

RestAPI - Rest는 HTTP기반으로 서비스 API를 구현한 것 - REST API란 REST 아키텍처 스타일을 지키는 API - REST 아키텍처는 클라이언트와 서버간의 독립적인 개발을 진행할 수 있는 아키텍처 스타일 - 서버와 클라이언트의 데이터는 HTTP 프로토콜 상에서 데이터를 송수신한다. - 서버와 클라이언트가의 데이터 교환 시에는 REST 아키텍처 스타일에서 명시하는 조건을 준수해야한다. HTTP- Get method - 주소 창에 파라미터가 노출된다. - ex)www.multicomputer.com/id?=231949sdakfjklasdf - 브라우저에서 주소에 대한 캐시가 이루어 지므로, 정보를 얻을 떄 사용 주소들의 모음을 묶어논은 곳: Controller Controller 적용..

Spring 2019.10.30

멀티쓰레드 프로그래밍 multi-thread programming

멀티쓰레드 프로그래밍 -Dead lock 프로세스가 자원을 할당 받지 못해, 다음 처리를 하지 못하는 상태 = 교착상태 발생이유: 시스템의 한정된 자원을 영러곳에서 사용하려고 할 때 발생 wait(): 리소스가 더이상 유효하지 않은 경우 리소스가 사용 가능 할 때 까지 위해 thread를 non-runnable 상태로 전환 notify() : wait()하고 있는 thread 중 한 thread를 runnable한 상태로 깨움 notifyAll():wait()하고 있는 모든 thread가 runnable한 상태가 되도록 함 notify()보다 notifyAll()를 사용하기를 권장 특정 thread가 통지를 받도록 제어 할 수 없으므로 모두 깨운 후 scheduler에 CPU를 점유하는 것이 좀 더 공평..

JAVA 2019.10.29

멀티쓰레드 프로그래밍 multi-thread programming

멀티쓰레드 프로그래밍 임계영역(critical section) - 두 개 이상의 thread가 동시에 접근하게 되는 리소스 - critical section에 동시에 thread가 접근하게 되면 실행 결과를 보장 할 수 없음 - thread간의 순서를 맞추는 동기화(synchronized)이 필요 동기화(synchronized) - 임계 영역에 여러 thread가 접근하는 경우 한 thread가 수행 하는 동안 공유 자원을 lock하려 다른 thread의 접근을 막음 - 동기화를 잘못 구현하면 deadlock에 빠질 수 있음 자바에서 동기화 구현 - synchronized수행문과 synchronized 메서드를 이용 1. synchronized 수행문 synchronized(참조형 수식){ } 참조형 수..

JAVA 2019.10.28

Thread status ( 쓰레드 상태 ) -활용

Thread 우선순위 -Threadl.MIN_PRIORITY(=1) ~ Thread.MAX_PRIORITY(=10) -디폴트 우선순위: Thread.NORM_PRIORITY(=5) 사용해서 설정도 가능하다. -setPriority(int newPriority) -int getPriority() 우선순위가 높은 thread는 CPU를 배분 받을 확률이 높음 join() 메서드 예제코드 package thread; public class JoinTest extends Thread{ int start; int end; int total; public JoinTest(int start,int end) { this.start=start; this.end=end; } public void run() { int i ..

JAVA 2019.10.27