디자인 패턴 라이브러리와 프레임워크의 기본이 되는 디자인 패턴 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 GoF(Gang of Fout, 디자인 패턴을 구체화하고 체계화한 사람들)이 세가지로 분류한 디자인 패턴. 생성(Creational) 패턴 객체 생성에 관련된 패턴 객체의 생성과 조합을 캡슐화해 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공한다. 구조(Structural) 패턴 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴 예를 들어 서로 다른 인터페이스를 지닌 2개의 객체를 묶어 단일 인터페이스를 제공하거나 객체들을 서로 묶어 새로운 기능을 제공하는 패턴이다. 행..
OSI 7 Layer 1) 1계층 : 물리계층(Physical) 데이터를 전기 신호로 바꾸어주는 계층 프레임 내부의 각 비트를 한 노드에서 다른 노드로 이동 전송단위 : 비트 장비 : 리피터, 케이블, 허브 2) 2계층 : 데이터 링크 계층(Data Link) 데이터의 물리적인 전송과 에러 검출, 흐름 제어를 담당하는 계층 전체 프레임을 한 네트워크 이웃에서 다른 네트워크 이웃으로 이동 전송단위 : 프레임 3) 3계층 : 네트워크 계층(Network) 패킷을 목적지까지 가장 빠른 길로 전송하기 위한 계층 송신 호스트에서 수신 호스트로 패킷 전달 라우터를 통해 이동할 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따라 패킷을 전달해준다. 라우팅, 흐름 제어, 오류 제어, 세그먼테이션 등을 수행한다. ..
둘 다 HTTP 프로토콜을 이용해서 서버에 무엇인가를 요청할 때 사용하는 방식이다. 하지만 둘의 특징을 제대로 이해하여 기술의 목적에 맞게 알맞은 용도에 사용해야한다. GET 우선 GET 방식은 요청하는 데이터가 HTTP Request Message의 Header 부분에 url 이 담겨서 전송된다. 때문에 url 상에 ? 뒤에 데이터가 붙어 request 를 보내게 되는 것이다. 이러한 방식은 url 이라는 공간에 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적이다. 또 보안이 필요한 데이터에 대해서는 데이터가 그대로 url 에 노출되므로 GET방식은 적절하지 않다. (ex. password) POST POST 방식의 request 는 HTTP Request Message의 Body 부분에 데이터..
JPA JPA는 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음 실제적으로 구현된것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크 JPA를 구현한 대표적인 오픈소스로는 Hibernate JPA는 애플리케이션과 JDBC 사이에서 동작한다. 개발자가 JPA를 사용하면, JPA 내부에서 JDBC API를 사용하여 SQL을 호출하여 DB와 통신한다. 즉, 개발자가 직접 JDBC API를 쓰는 것이 아니다. - 저장 - - 조회 - 왜 JPA를 사용해야 할까? JPA는 반복적인 CRUD SQL을 처리해준다. JPA는 매핑된 관계를 이용해서 SQL을 생성하고 실행하는데, 개발자는 어떤 SQL이 실행될지 생각만하면 되고, 예측도 쉽게 할..
영속성(Persistence) 데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성 Object Persistence(영구적인 객체) 메모리 상의 데이터를 파일 시스템, 관계형 테이터베이스 혹은 객체 데이터베이스 등을 활용하여 영구적으로 저장하여 영속성 부여한다. 데이터를 데이터베이스에 저장하는 3가지 방법 1) JDBC (java에서 사용) 2) Spring JDBC (Ex. JdbcTemplate) 3) Persistence Framework (Ex. Hibernate, Mybatis 등) Persistence Layer 프로그램의 아키텍처에서, 데이터에 영속성을 부여해주는 계층 JDBC를 이용하여 직접 구현할 수 있지만 Persistence framework를 이용한 개발이 많이 이루..
REST란? REpresentational State Transfer 의 약자이다. 즉, REST는 자원(resource)의 표현(representation) 에 의한 상태 전달을 말한다. 여기에 ~ful 이라는 형용사형 어미를 붙여 ~한 API 라는 표현으로 사용된다. 즉, REST 의 기본 원칙을 성실히 지킨 서비스 디자인은 'RESTful'하다라고 표현할 수 있다. REST는 하나의 아키텍쳐로 볼 수 있다. REST 는 Resource Oriented Architecture 이다. API 설계의 중심에 자원(Resource)이 있고 HTTP Method 를 통해 자원을 처리하도록 설계하는 것이다. REST의 구성 자원(RESOURCE) - URI 행위(Verb) - HTTP METHOD 표현(Rep..