Servlet Servlet(서블릿)이란 자바 클래스 종류 중 하나로 요청-응답 프로그래밍 모델을 제공하는 서버(일반적인 경우 web)의 기능을 구현, 확장하기 위한 클래스이다. javax.servlet, javax.servlet.http 패키지에 서블릿 구현을 위한 인터페이스와 클래스들이 있다. 모든 서블릿 구현체들은 서블릿 라이프사이클을 정의한 Servlet 인터페이스를 구현해야 하며 일반적인 서비스를 구현할 경우 GenericServlet를 사용/상속해서 구현할 수 있다. HttpServlet의 경우 HTTP 서비스를 핸들링하기 위한 doGet, doPost 메소드를 제공하고 있다. Servlet.java 총 5개 실제 서블릿 코드를 보면 총 5개의 미구현 메소드가 있다. 이 메소드들은 서블릿의 라..
스프링 통합은 Enterprise Integration Patterns에 나오는 패턴들을 스프링 프레임워크에 구현해놓았다. Enterprise Integration Patterns은 엔터프라이즈 환경에서 사용하고 있는 다양한 분야(예. 결제, 메일, 각 부서에 필요한 서비스)의 애플리케이션을 통합, 즉 유기적으로 연결해서 효율적으로 적절하게 통합하는 방법을 여러 패턴을 통해 제시했다(고한다, 위키발..). SI라는 말을 처음 들었을 때도 그렇고 통합, integration이라는 단어의 의미가 참 햇갈렸는데, 여기서 통합이란 일반적으로 내가 알고있던 '독립적이였던 둘 이상의 어떤 것을 하나로 합치는 것'이 아니라 '융화'의 의미로 해석하는 것이 적절한 것 같다. Enterprise Integration P..
개념 gRPC is a modern open source high performance RPC framework that can run in any environment. 여기서 핵심은 RPC 이다. RPC란 Remote Procedure Control, 원격에 있는 프로시져를 호출한다는 뜻. REST같은 HTTP 프로토콜 기반의 URL 호출방식은 특정 URL String을 엔드포인트로 클라이언트가 서버에게 접근하지만 RPC 같은 경우 클라이언트 코드에서 서버의 메소드를 호출하여 데이터를 교환할 수 있는 방식이다. 예를들어 public User findUserById(Long userId)라는 메소드가 서버의 UserService 클래스에 있다고 했을 때, 클라이언트에서도 마치 UserService 클래..
순서머신 준비hadoop document 기준 권장사항 NameNode 1대,ResourceManager 1대, DataNode와 NodeManager은 일반적으로 같은 머신(하둡은 기본 3개의 복제본을 가지기 때문에 3대이상 권장)hadoop 사용 계정 생성key 기반 ssh 통신 설정하둡 환경변수 및 옵션 설정각 머신에 파일 배포실행 기본사항(사전에 알아야 할 것들)구성클러스터내의 모든 시스템이 software(파일)를 가지고 있어야 함. 일반적으로 클러스터는 NameNode, ResourceManager를 각 1대 씩 세팅하고 DataNode와 NodeManager를 같이 동작시키는 machine들로 구성함. 여러가지 상황에 따라 Web App Proxy Server나 MapReduce Job Hi..
D3 tenetd3의 tenet은 기존에 계속해서 써왔던 web standards이였던 HTML과 SVG를 사용하여 다른 image representing 없이 visualization 하고자 하는 것이다. 기이렇게 standards 요소를 활용함으로써 css 등을 활용하여 효과를 주는 등 더 풍부한 효과와 웹 발전과 같이 갈수있는 미래 지향적인 점, 그리고 기존에 다른 툴이나 기술과의 호환성을 자동적으로 얻을 수 있다. D3는 데이터를 DOM으로 변환시켜 visualization을 구성하게되는데 데이터가 바뀌거나 interaction이 일어났을 때 항상 새로운 representation을 하는게 아니라 기존에 구성된 DOM을 update하는 방식으로 동작한다. Basic functionselectAll..
bower란 bower는 front-end side의 library 관리 도구.라이브러리를 설치하고 특정 파일(bower.json)에서 여러가지 정보(버전 등)을 적어서 관리함java 개발 시 사용하는 maven의 라이브러리 관리 기능과 유사 Bower can manage components that contain HTML, CSS, JavaScript, fonts or even image files.Bower doesn’t concatenate or minify code or do anything else - it just installs the right versions of the packages you need and their dependencies. 여기서 설명하길 HTML, CSS, Java..
maven은 기본적으로 src/main/java 안에 있는 소스를 컴파일한다. 123456789101112131415161718import org.springframework.boot.*;import org.springframework.boot.autoconfigure.*;import org.springframework.stereotype.*;import org.springframework.web.bind.annotation.*; @RestController@EnableAutoConfigurationpublic class Example { @RequestMapping("/") String home() { return "Hello World!"; } public static void main(String[..
spring 1.4.3 기준 작성 문서 spring boot 개요spring boot는 spring framework를 기반으로 기존에 개발자가 직접 해야했 복잡한 설정들을 자동화, 간편화시킬 목적으로 만들어졌다. spring boot의 결과물은 기본적으로 embedded tomcat이 포함되어 잇는 jar 형태로 배포되는데 java -jar 명령어로 간단하게 별도의 tomcat 설치와 설정 없이 실행 시킬 수 있다. 물론 설정 변경을 통하여 기존의 traditional war deployments 형태로도 배포가 가능하다.(spring scripts라는 CLI 도구도 제공하는데 사용해보진 않았음) 공식 문서에서 spring boot의 goal을 다음과 같이 소개한다 훨씬더 빠르고 광범위(?)하게 접근가..