본문 바로가기

분류 전체보기

(101)
REST에서 CRUD 구현 오늘 정리할 내용은 아래와 같습니다. RESTful API 서비스에서의 HTTP 메소드 사용 JSON Data format 및 REST 클라이언트 JSON은 Javascript Object Notation의 약자로 API 서버간, 클라이언트 서버간의 데이터 교환 포맷으로 많이 사용되고 있습니다. REST 클라이언트는 웹 브라우저에서 직접적으로 지원하지 않는 PUT, DELETE 메소드도 테스트 가능합니다. Data Transfer Object 디자인 패턴 - 데이터를 각 서버/클라이언트 간 전달하기 위한 목적으로 만든 객체 - VO패턴의 확장형으로 거의 유사합니다. - JVM위에서 application level위에서 다루는 데이터는 class로 만들어야합니다 JSON(Javascript Object N..
Spring MVC로 RESTful API 서비스 구현 Spring MVC로 RESTful API를 구현해보겠습니다. Spring자체가 Layered Architecture를 기본적으로 지원하고 있습니다. @Controller 사용 @Controller Client에서 요청이 들어오면 가장 먼저 받아들이는 부분이 Controller입니다. Spring에서는 Controller 어노테이션을 통해 지정합니다. (@Controller) 이 어노테이션은 class를 component로 만들어줍니다. component는 spring container위에 로딩되는 객체입니다. 이 component는 자동적으로 spring에서 관리됩니다. 상단의 이미지의 IndexController라는 class는 어떠한 것도 상속받지 않은 POJO입니다. Controller안에서는 m..
Rest 아키텍처 이번 글에서는 HTTP 웹서비스와 RESTful API 웹 서비스에 대해서 작성해보겠습니다. REST(Representational State Transfer)는 아키텍처는 하나의 규약이라고 볼 수 있으며, 웹서비스의 사실상 표준입니다. 먼저, 용어에 대해 정리 진행하겠습니다. Service는 어플리케이션, 노드끼리 데이터를 교환하고 통신을 진행합니다. 그 통신 규약을 HTTP 프로토콜을 사용한다면 이것을 웹서비스라고 할 수 있습니다. 웹 서비스에 대한 표준화 작업이 2000년대 초반에 이뤄졌는데, xml을 통해 공식적인 표준을 SOAP라 할 수 있습니다. SOAP로 통신을 진행하다보니 더 좋은 방법들이 오픈소스 커뮤니티 중심으로 만들어지게 됩니다. 이것이 REST이며 지금은 사실상의 표준인 REST에 ..
Spring 개발 환경 설정 개발 환경 설정 1. JDK 설치 Spring 5.0 (스프링부트 2.0)을 위해서는 jdk8 이상 필요합니다. jdk 1.8에셔는 함수형 프로그램을 지원해줍니다. 2. 스프링 개발 툴 설치 스프링 개발툴은 현재 2가지 정도가 실무에서 많이 쓰입니다. 이클립스 계열인 스프링에서 공식 지원하는 STS와 JetBrains에서 만든 Intellij IDEA 입니다. STS는 무료이며 간편하게 사용가능하며, IntelliJ IDEA는 상용이지만 기능이 좀 더 강력합니다. Spri 3. IntelliJ IDEA 설치 IntelliJ IDEA설치도 필요합니다. 상용버전을 설치하는 것이 좋지만, 저는 communiry버전을 이용해 학습하겠습니다. https://www.jetbrains.com/idea/ Intelli..
Framework란 2 -Spring boot 기초 정의 스프링부트는 스프링을 설정하고 사용하기 편하게 하기 위한 스프링 best practice를 모아놓은 스프링래퍼입니다. 스프링을 개선한 새로운 프레임워크가 아닙니다. 스프링은 범용, 경량급, 엔터프라이즈 기반 오픈소스 프레임워크입니다. Spring의 역사 로드 존슨이 출판한 도서 'Expert One-on-One J2EE Design and Development' 에 소개한 내용이 근간이 되었습니다. 당시에는 EJB라는 무거운 .. 이 책을 중심으로 커뮤니티 형성, 오픈소스 공개 등이되었습니다. 스프링은 2.5 버전 이후로 많은 변화가 일어났습니다. Spring Framework 란? 프레임워크란 프로그램의 구조가 미리 정해져있는 것입니다. 프레임워크의 장점이라고 하면 어떤 application을 개..
node js 특징 Asynchronous 일이 처리할 때 하나의 일이 끝날 때 까지 기다렸다가 일을 처리하는 것이 synchronous 라고 합니다. 그와 다르게 여러가지 일을 동시에 수행하며 일을 처리하는 것이 asynchronous 라고 합니다. asynchronous가 synchronous에 비해 효율적이지만 매우 복잡하므로 잘 이해할 수 있도록 정리해보겠습니다. 우선, node js 문서 사이트로 이동합니다. https://nodejs.org/dist/latest-v12.x/docs/api/fs.html File System | Node.js v12.16.1 Documentation nodejs.org 위 사이트로 이동하면 node js 에서 많이 사용하는 file system과 관련된 문서를 볼 수 있습니다. 이..
node js 01 오늘은 node js 의 기본적인 지식에 대해 작성하겠습니다. visual studio code 를 통해 node js 코드를 작성했습니다. url var url = require('url') 을 통해 url 과 관련된 노드를 불러올 수 있습니다. http 요청에 의한 url 을 _url 이라고 했을 때 parse 를 통해 이를 분석할 수 있습니다. 자세한 내용은 아래 코드를 참고하시기 바랍니다. 이렇게 작성했을 때 콘솔에 찍히는 값은 아래와 같습니다. 세부적인 내용은 다르더라도 기본적으로 보이는 값은 위와 같습니다. 이때 pathName 은 기본적인 path이고 path는 쿼리를 포함한 path입니다. function 함수를 정의내릴 때에는 기본적인 형식은 아래와 같은 방식으로 합니다. f123 이라는..
용어 정리 IT 공부를 하면서 새롭게 알게된 용어를 정리하겠습니다. CDN(COntents Delivery Network) : 트래픽을 분산해 영화, 방송, 게임 등 대용량 콘텐츠를 최상의 경로로 전달하는 기술이다.