REST(Representational State Transfer) 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍쳐 REST는 크게 리소스, 메서드, 메세지 3가지 요소로 구성된다. HTTP POST, http://myweb/users/ { "users": { "name": "terry" } } 생성하다는 의미의 HTTP POST 메서드가 생성되고, 생성하고자 하는 대상이 되는 사용자라는 리소스는 http://myweb/users라는 URI로 표현이 되며, 생성하고자 하는 사용자의 디테일한 내용은 JSON 문서를 이용해서 표현된다. REST API의 구성 REST는 자체 표현 구조(Self-descriptiveness)로 구성되어 REST API만으로 요청을 이해할 수 있다. 자원(Resou..
Rendering 웹 페이지에 접속할 때 페이지를 화면에 그려주는 것 SPA(Single Page web Application) 하나의 웹페이지로 이루어진 application web application에 필요한 모든 정적 리소스를 최초에 한 번 다운로드하고, 이후 새로운 페이지 요청 시에는 갱신에 필요한 데이터만을 전달받아 갱신하므로 전체적인 트래픽을 감소시킬 수 있다. Client side rendering을 사용한다. 장점 - 배포가 간단하다. - 전체 페이지를 다시 렌더링하지 않고 변경되는 부분만 갱신하므로 새로고침이 발생하지 않아 네이티브 앱과 유사한 ux를 제공한다. - 웹의 렌더링 속도가 빨라진다. - 페이지 갱신에 필요한 데이터만을 전달 받아 페이지를 갱신하므로 전체 트래픽 양을 감소시킬..
Method Name으로 데이터베이스 쿼리 만들기 QuerySampleDescriptionfindByIdList findById(ID id)id에 해당하는 user를 가져옴findFirstByUser findFirstByOrderByLastnameAsc()Lastname column을 오름차순으로 정렬한 목록 중 첫번째 값을 찾음findTop3ByList findTop3ByLastname(String lastname, Sort sort)Lastname순으로 정렬한 목록의 top 3 값을 찾음findAllList findAll()List findAllByOrderByLastname()모든데이터를 가져옴모든 데이터를 가져와서 Lastname순으로 정렬함 (OrderBy를 사용하려면 findAll뒤에 By를 ..
프로젝트 생성하기File-New-Spring Starter ProjectType은 Maven으로 Packaging은 War로 선택한다. Dependencies는 보통 저 3개를 선택한다고 하는데 일단은 선택하지 않고 코드에 직접 추가하기로 했다. 프로젝트 셋업하기src/main/resources에 application.properties 파일에 아래 코드를 추가한다.ctrl + shift + R로 쉽게 파일을 찾을 수 있다. # =================================================================== # COMMON SPRING BOOT PROPERTIES # (http://docs.spring.io/spring-boot/docs/current/refere..
(작성중.. Last updated: 02/08/2018)hibernate, mybatis, ibatisspringsql(mysql, mssql)jpajdbcjwtentity 영속성 Persistance애플리케이션의 생명주기를 연장시켜주는 데이터 속성객체지향언어에서의 영속성은 실행되었던 애플리케이션이 실행을 멈춘 후에도 객체에 접근 가능하게 해준다. JDBCJava DataBase Connectivity. JDBC API는 CRUD(Create, Read, Update, Delete)를 수행하는데 SQL을 사용한다.JDBC코드는 자바 클래스에 포함되며, 이는 비즈니스 로직과 강하게 연결되있다는 것을 뜻한다. 이 코드는 데이터베이스들 간에 표준화 되어 있지 않은 SQL에 기반한다. 다른 데이터베이스로의 이..
클래스 자바는 객체를 만들기 위해 반드시 클래스를 먼저 만들어야 한다. 클래스는 객체를 만들기 위한 일종의 틀이다. 참조형타입이며 대문자로 시작하는 자료형이다. 붕어빵이 객체라면, 붕어빵 틀이 클래스이다. class Car{ } public class Variable { public static void main(String[] args) { Car car1 = new Car(); Car car2 = new Car(); } } new 연산자는 new연산자 뒤에 나오는 생성자를 이용하여 메모리에 객체를 만든다. 메모리에 만들어진 객체를 인스턴스(instance)라고 한다. 이렇게 만들어진 객체를 참조하는 변수가 c1, c2이다. 위의 코드의 결과로 Car라는 객체가 2개 만들어지고 각각의 객체를 참조하는 ..
if문 if(조건1) { 조건1에 만족하면 실행되는 문장 } else if(조건2) { 조건2에 만족하면 실행되는 문장 } else { 조건에 모두 만족하지 않으면 실행되는 문장 } 조건문은 중첩하여 쓸 수 있고, 조건에 만족하여 실행되는 문장이 한 줄일 경우 { } 안에 묶지 않아도 된다. 아래는 num이 양수이면서 짝수 / 양수이면서 홀수 / 0 / 음수 중 어느 경우인지 확인하는 코드이다. public static void main(String[] args) { int num = 5; if(num > 0) { // num이 양수인가? if(num%2 == 0) { // num이 짝수인가? System.out.println("num은 양수이면서 짝수입니다."); } else { // num이 홀수인가..
연산자 연산자란? 특정한 작업을 하기 위해 사용하는 기호. 1byte 속성의 기계어 우선순위 최우선 연산자 > 단항 연산자 > 산술 연산자 > 시프트 연산자 > 관계 연산자 > 논리 연산자 > 삼항 연산자 > 대입 연산자 산술 연산자 산술 연산자란? 수학적인 계산에 사용되는 연산자 +: 덧셈 -: 뺄셈 *: 곱셈 /: 나눗셈, 정수끼리 나누면 결과값은 몫만 나옴 %: 나머지연산, a%b이면 a를 b로 나눈 값의 나머지값만 나옴 ex) 10%3 == 1 관계 비교 연산자 >: ~보다 크다 >=: ~보다 크거나 같다
변수 Variables 변수란? 하나의 데이터 타입에 해당하는 하나의 값을 저장하고 있는 메모리 공간 변수에 저장되는 값은 가장 마지막에 저장되는 값이다. 변수 선언법 int a = 7; 여기서 = 은 대입연산자라 한다. 대입연산자는 오른쪽의 값을 왼쪽 변수에 대입한다. ; (세미콜론)은 한 문장의 끝을 의미한다. ;을 붙이지 않으면 에러 발생함 기본 자료형 Primitive data type 자료형 키워드 크기 기본값 표현 범위 정수형 byte 1byte 0 -128 ~ 127 short 2byte 0 -32,768 ~ 32,767 int 4byte 0 -2,147,483,648 ~ 2,147,483,647 long 8byte 0 -9,223,372,036,854,775,808 ~ 9,223,372,0..
자바 시작하기 프로그래밍 언어란? 기계어(Machine language)이다. 컴파일 과정을 통해 컴퓨터가 이해할 수 있는 0과 1로 이루어진 기계어로 변환된다. 고급언어: C, C++, JAVA 소스: 프로그래밍 언어로 작성된 내용 컴파일러: 소스를 기계어로 변환, 컴퓨터에서 실행할 수 있게 프로그램: 컴퓨터에서 특정 목적을 수행하기 위해 프로그래밍 언어로 작성된 소스를 기계어로 번역한 것 자바의 특징 1. 이식성이 높은 언어이다. 자바 실행환경인 JRE(Java Runtime Environment)가 설치되어 있는 모든 운영체제에서 실행이 가능하다. (platform에 독립적이다.) 2. 객체 지향 언어이다. 자바는 개체를 고려하여 설계된 객체 지향 언어이기 때문에 캡슐화, 상속, 다형성 기능을 완벽..