HTTP 4

서블릿방식과 spring MVC 컨트롤러의 json처리 비교

서블릿의 HttpServletRequest, HttpServletResponse을 사용하는 방식과 spring MVC 컨트롤러 어노테이션을 활용하는 방법을 비교하여, json을 각각 어떻게 처리하는지 비교해보겠다. json을 post로 request들어온 것을 받아 처리하는 방식과, json을 get요청한 것을 response 주는 방식으로 비교해보도록 하겠다. Hello라는 클래스 객체에 name, age가 있고, getter, setter가 있다는 것을 가정하겠다. 참고로, 서블릿 방법은 온전한 서블릿방식이 아니라, 스프링의 도움도 살짝 받았다는 것을 참고하길 바란다. 서블릿은 InputStream을 어떻게 사용하는지, 그리고 Jackson라이브러리로 json에서 어떻게 자바의 객체로 변환시키는지 위..

서블릿의 필요성

검색해보면 서블릿에 대한 많은 기술적인 정의가 있지만, 나는 여기서 서블릿의 기술적 정의보단, 왜 서블릿이 필요한지에 대한 필요성에 의한 간단한 정의와 설명을 해보고자 한다. 간략히 서블릿의 필요성에 대해 정의 하자면, 서블릿은 java 프로그램이 http프로토콜에 맞춰 http request, http response를 쉽게 처리할 수 있도록 해주는 기술이다. http 프로토콜은 위와 같이 http request와 response로 구성돼 있다. 그에 맞게 서블릿에서는 request서블릿과 response서블릿 객체를 지원한다. http 메시지 parsing 및 조립 서블릿의 가장 핵심 기능은 앞서 말한바와 같이, http 프로토콜을 쉽게 사용함에 있다. 우리가 웹을 통해 서버와 네트워크 간에 원하는 ..

OSI 7계층 - 표현,세션,응용 계층(주요 프로토콜에 대한 이해 - HTTP, DNS, 메일)

해당 글에서는 OSI 7계층의 표현,세션,응용 계층을 다룰 것인데, 각 계층별로 아키텍쳐상 큰 차이는 없기에 별도의 구분을 나누기 보다는, 일종의 응용프로그램 계층이라고 이해하면 될 것 같다. 편의상 응용계층이라 부르겠다. 앞서, 전송계층에서 TCP, UDP 헤더에서 PORT 번호를 세팅했었다. port번호를 명시함으로서 어떤 애플리케이션과 통신할 것인지에 대한 구분을 짓는 것이었고, 응용계층에서는 각 애플리케이션마다의 프로토콜에 통신방법의 차이에 대해 다루게 된다. 또한 응용계층부터는 네트워크의 영역이라기보다 애플리케이션 각각의 프로그래밍 방식의 영역에 가깝기 때문에, 여기서는 주요 프로토콜에 대한 간단한 개요와 몇가지 포인트만 짚고 넘어가도록 하겠다. 이 중에 HTTP프로토콜을 제외하곤 웹개발자가 직..

이더리움 노드 구성 및 실행 방법

이더리움 블록체인은 수많은 노드들로 구성되어있다. 이 글에서는 내 PC에서 그 노드 중 하나를 구성하는 방법을 설명하고, 계정생성, 채굴 같은 해당 노드의 인스턴스를 컨트롤 할 수 있는 클라이언트의 구성방식을 설명하고자 한다. 1.먼저 구글에 geth download 검색을 통해 geth를 설치하자. geth는 이더리움재단에서 제공하는 클라이언트 이자, 노드실행을 위한 명령 CLI(명령도구) 라고 보면 된다. 설치된 geth경로를 환경변수에서 잡아주고, cmd창을 켜 geth라고 쳐보자. geth를 실행시킴과 동시에 노드가 생성되고, 블록동기화가 시작된다. 이더리움의 수많은 노드들이 공유하고 있는 블록데이터들을 내려받기 시작하는 것이다. geth 실행과 동시에 내 PC에 이더리움 노드가 만들어진 것이다...