본문 바로가기

반응형

좋아하는 것_매직IT

28.Spring, HATEOAS에 대해서 알아보고 간단한 샘플 프로그램을 만들어보자. HATEOAS 에 대해서 알아보자 우선, HATEOAS 의 약자는 아래와 같음. Hypermedia As The Engine Of Application State HATEOAS 의 특징 REST 어플리케이션 아키텍처의 제약 중 하나. 주어진 자원에 대한 관련 Link 를 RESTful 서비스에 표시하는 개념을 제공함. 즉, 특정 리소스의 세부 정보를 반환할때, 리소스를 수행할 수 있는 작업에 대한 Link 와 관련 리소스에 대한 Link 도 반환함. 서비스 소비자가 응답에서 Link를 사용해 트랜잭션을 수행할 수 있으면, 모든 Link를 하드 코딩할 필요가 없는 장점. 다시말해서, HATEOAS는 서비스공급자와 소비자간의 결합을 줄이는데 유용함. 참고페이지 https://en.wikipedia.org/w.. 더보기
27.Spring, 예외처리(Exception)에 대해서 알아보고 간단한 샘플 프로그램을 만들어보자. 예외처리에 대해서 알아보자. 서비스 제공 시 특정 문제가 발생하면 서비스의 소비자 즉, 클라이언트에게 무엇이 잘못되었는지 대한 설명을 해주는 것을 말함. 다시말하면, 내가 서비스를 요청하는 사용자라고 한다면, 서버에 접속해서 서비스를 제공받는데, 나도 모르게 서비스가 중단되고나 서버가 다운되서 접속이 불가하면, 난처한 경우가 생김. -_-; 그래서, 서비스 공급자는 특정 로직의 실패 시 예외처리를 통해서 대처방안 및 서비스 소비자에게 유연한(?) 대응을 할 수 있도록 지원해줘야함. 이해를 돕기위해서, 저의 경험을 슬며시 좀 풀자면, 저는 주로 OOO뱅크을 이용하는데, 얼마전에 장애가 있었고 서비스를 소비하는 입장에서 아래 3가지 상황을 겪게됨. 하나, 해당 서버에 접속은 가능했는데, 1시간동안이나 계좌이.. 더보기
26.Spring, REST(Representational State Transfer)에 대해서 알아보고 간단한 샘플 프로그램을 만들어보자. REST에 대해서 알아보자. 우선, REST의 약자에 대해서 알아보자. Representational State Transfer 위의 글자를 조합해서 REST 임. REST 는 네트워크 상에서 클라이언트 / 서버 간의 통신 방식 중하나. 쉽게말하자면, 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미함. 즉, 자원(resource)의 표현(representation) 에 의한 상태 전달 자원: 해당 소프트웨어가 관리하는 모든 것 자원의 표현: 그 자원을 표현하기 위한 이름 그리고, JSON 혹은 XML를 통해 데이터를 주고 받는 것이 일반적임. REST 는 데이터가 요청되어지는 시점에서 자원의 상태(정보)를 전달함. REST는 기본적으로 웹의 기존 기술과 HTT.. 더보기
25.Spring, Spring Boot 의 주요 스타터 프로젝트를 알아보자. Spring Boot 의 주요 스타터 프로젝트 아래의 스타터 프로젝트를 추가하면, 스프링 부트 프로젝트에 새로운 의존성이 추가 될때 마다, 의존성 기반으로 Bean을 자동으로 설정함. 아래는 주요 스타터 프로젝트이다. Starter목록 설명 비고 spring-boot-starter-web Spring MVC 기반의 웹 어플리케이션 or RESTful 어플리케이션을 구현하는 Starter Project . - 디폴트, Embed 서블릿 컨테이너로 Tomcat 이 사용됨. spring-boot-starter-web-services XML 기반 웹서비스를 개발하는 Starter Project. spring-boot-starter-integration 엔터프라이즈 integration pattern 의 구현을 .. 더보기
24.Spring, Spring Boot App 시작하기 (Spring Boot 구동 클래스 생성, 4/4) SpringApplication 클래스 란? SpringApplication 클래스는 Java 메인 메소드에서 Spring 어플리케이션을 구동하고 부트스트랩을 사용할 수 있는 클래스. 아래는 SpringApplication 의 샘플코드이다. 설명 Spring Boot 어플리케이션이 부트스트랩될 때 일반적으로 수행되는 단계임. 첫째, Spring 의 ApplicationContext 인스턴스를 생성함. 둘재, 명령줄의 인수를 받고, 이를 Spring 속성으로 노출하는 기능을 활성화함. 셋째, 설정에 따라 모든 Spring Bean을 읽어옴. 그럼, @SpringBootApplication 어노테이션에 대해서 알아보자. @SpringBootApplication 어노테이션은 아래 3가지 어노테이션을 포함하고 .. 더보기
23.Spring, Spring Boot App 시작하기 (pom.xml 파일에 spring-boot-maven-plugin 구성, 3/4) 스프링 부트를 사용할때, 실행 방법 2가지 하나, JAR or WAR 을 빌드하지 않고 직접 어플리케이션을 실행. 둘, 기존에 WAS에 배포할 수 있도록 JAR/WAR 을 빌드하고, WAS를 기동하여 실행. 그럼, 스프링 부트에서 위의 2가지 상황 모두 기능을 제공하려면 어떻게 해야 할까? pom.xml 파일에 아래 의존성 추가 spring-boot-maven-plugin 설명 위의 spring-boot-maven-plugin 을 추가함으로써, 위의 실행 방법 2가지를 제공함. 그럼, spring-boot-maven-plugin의 goal 을 알아보자 plugin 이 제공하는 몇가지 goal은 아래와 같음. repackage create a jar or war file that is auto-execut.. 더보기
22.Spring, Spring Boot App 시작하기 (필요한 starter project 로 pom.xml 파일을 구성, 2/4) 스타터(starter) 란? 특정 목적을 위해서 커스텀이 단순화된 의존성 디스크립터. 예시) spring-boot-stater-web Spring MVC 를 사용해 RESTful이 포함된 웹 어플리케이션을 작성하기 위한 스타터 디폴트 Embed 컨테이너로 tomcat 를 사용함. 즉, 웹 어플리케이션을 개발하고 싶다면, 해당 spring-boot-stater-web 의존성을 포함시켜야 함. 그리고, 자동으로 아래 주요 내용이 사전구성됨. Spring MVC 호환 가능한 버전의 jackson-databind 및 hibernate-validator jackson-databind 바인딩용 hibernate-validator 폼 벨리데이션 용 spring-boot-stater-tomcat tomcat 을 위한 .. 더보기
0.OBJECTIVE-C, 윈도우 환경에서 OBJECTIVE-C 개발환경 구축을 해보자 블로그 목적 OBJECTIVE-C 에 대해서 알아보며, 막연한 OBJECTIVE-C 개발에 대한 궁금증과 두려움 해소. 윈도우 환경에서 OBJECTIVE-C 개발환경 구축을 해보자. 새로운 도전! IOS 관련 개발을 배우기 위한 첫단계, Mac 북을 사야하는건가??...아님그냥 윈도우로? 고심중.... ​ 우선, OBJECTIVE-C 란 무엇일까? 오브젝티브-C(영어: Objective-C)는 C 프로그래밍 언어에 스몰토크 스타일의 메시지 구문을 추가한 객체 지향 언어 현재, 이 언어는 애플의 매킨토시의 운영 체제인 OS X과 아이폰의 운영 체제인 iOS에서 사용되고 있음. 오브젝티브-C는 애플의 코코아를 사용하기 위한 기본 언어 원래는 넥스트의 NeXTSTEP 운영 체제에서 주 언어였다고함. 자세한 사.. 더보기

반응형