프로그래밍/Spring & Maven 10

Spring boot 살펴본 느낌

Spring boot 살펴본 느낌 요즘 Spring Boot가 하도 유행이길래,잠깐 REST API Expose하는 시나리오와 DB 연동 시나리오등 몇가지 일반적으로 웹 개발하는데 사용되는 시나리오들을 살펴 보았다.전체적인 느낌은 node.js나 ruby on rails와 같은 모던 웹 기술의 생산성을 따라잡기 위해서 무단히 노력했다는 점. 그래서 코드 생산성은 유사하거나 약간 열세? 정도 일거 같은 느낌인데, 왠지 개운하지 않은 뒷맛이 남는다고나 할까? 컨셉적으로 복잡하고 정교한 프로그래밍을 위한 프레임웍을 이용해서 단순성을 부여하다 보니, 빠지거나 아니면 디폴트 설정으로 인해서 위험한 부분이 있을 것 같은 느낌인 든다. 일단 코드 생성 부분을 보면Maven 프로젝트를 이용해서 생성한 후에, JSON ..

Spring Batch 개념 정리

Spring Batch의 주요 개념 Job하나의 배치 작업을 정의. 예를 들어 "API 서버의 사용로그 테이블의 데이타를 로그 분석 시스템으로 옮기는 배치"Job Instance배치가 실제 실행되면, 각각의 실행을 Instance라고 한다. 예를 들어 Batch Job이 매주 한번씩 수행된다고 할때, 각각의 수행되는 Batch Job을 Batch Instance라고 한다.Job Execution배치가 실행될때, 각 배치의 실행시, 실제 수행된 Execution을 정의한다. 예를 들어 Batch Job이 월요일 오전에 수행되었을때, 첫번째 실패하고, 두번째에 Retry에 의해 성공되었다면, 이 각각은 다른 Job Execution이 되고, 같은 작업을 시도하였기 때문에, 같은 Job Instance가 된다..

Eclipse에서 Spring Maven 개발환경 설정하기

Spring Maven 개발 환경 설정 ※주 : Maven과 Eclipse Juno 버전 이상이 설치된 것을 가정으로 함 Pre-quest이클립스 설치 : Juno 버전 이상 사용Maven 플러그인 설치 : Help > Eclipse Market Place에서 Maven Integration for Eclipse 설치 1. 이클립스 설정 일반 기업의 경우 방화벽이 있는 경우가 많기 때문에 반드시 Proxy 설정 확인하고 시작할것 ① eclipse에 proxy 설정 : Juno 버전 이상 Windows > Preference > Network 메뉴에서 Active Provider를 Mannual로 변경 한후, HTTP와 HTPS proxy entriy에 서버를 등록 ② Maven에서도 해줘야 함 : Jun..

Spring 프레임웍 Hadoop-Hive 통합

Spring forApache Hadoop Project #2(Hive Integration)Hive는 Apache 오픈 소스 프로젝트의 하나로, Hadoop 관련 프로젝트이다.HDFS에 저장된 데이타를 마치 RDMS의 SQL처럼 쿼리하기 위한 솔루션으로, 복잡한 데이타 쿼리 연산에 있어서, Hadoop과 함께 사용하면 매우 유용하게 이용할 수 있다.SHDP에서도 이 Hive를 지원한다. 크게 Hive의 기동과, HiveScript의 실행 그리고, Hive에서 제공하는 API를수행할 수 있도록 지원하며, Hadoop 지원과 마찬가지로, Tasklet을제공하여 Spring Batch와의 통합을 지원한다.Hive Server의 기동hive-server엘리먼트로 정의하며,con..

Spring 프레임웍 Hadoop 지원 기능 소개 (Spring Data Apache Hadoop Project)

Spring for Apache Hadoop Project 얼마전에, Spring에서 Hadoop과 통합을 지원하는 프로젝트를 발표하였습니다. Hadoop 자체뿐만 아니라, Hadoop의 echo system인 Hive, Pig, Cascade등을 함께 지원하며, 기존 Spring의 Spring Batch(배치 작업 수행 및 워크 플로우 관리)와의 통합을 지원합니다. 이번 글에서는 Spring Data Apache Hadoop (이하 SHDP-Spring for Apache Hadoop Project)에 대해 설명한다 ( ※ Spring과 Hadoop에 대한 기본적인 이해가 선행되어야 한다. ) 전체적으로의 느낌은 Spring을 컨테이너의 개념으로 보고, Hadoop을 그 컨테이너 안에서 실행 시키는 것..

Maven 스터디 노트

Maven의 가장큰 특징은 best practice를 기반으로 하며, 마치 표준 처럼 제공하기 때문에, 모든 개발자가 공통으로 사용할 수 있다.디렉토리 구조, 빌드 배포의 절차등을 템플릿 형태로 제공한다. mvn archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.mycompany.app \ -DartifactId=my-app groupId - 조직이나 도메인을 구별하기 위한 identitifier (mvn install시 이 구조로 source directory가 생성됨)version - 빌드 버전 (artifact 버전)artifactId - project에 의해서 생성되는 파일명 예를들어 jar를 만드..

Maven

http://www.sonatype.com/books/mvnex-book/pdf/mvnex-pdf.pdf Maven은 빌드 결과물을 goal이라는 개념으로 정의하며 . war,jar, Ruby on Rails 를 만드는 goal, junit을 수행하는 goal, jar로 패키징 하는 goal등이 구체적인 goal이 될 수 있다.이러한 goal을 지원하기 위해서는 Maven에서 plug in 이라는 개념을 사용한다.하나의 plug in 은 여러개의 goal을 지원한다.예를 들어 jar를 만드는 plug in의 경우, compiler plug in, jar file 만드는 플러그인등을 지원한다.(goal 들이 모여서 하나의 build를 만든다. ant의 각 task 개념과 유사하다.) archetype에 따..