Social Media and Social Computing

Similar documents
문서의 제목 나눔고딕B, 54pt

슬라이드 1

Software Requirements Specification Template

PowerPoint 프레젠테이션

슬라이드 1

Software Requirements Specification Template

슬라이드 1

Spring Boot

슬라이드 1

Apache Ivy

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

슬라이드 1

슬라이드 1

소프트웨어 검증 및 설계

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

Spring

Software Requirements Specification Template

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

파워포인트

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

PowerPoint Presentation

[ 스프링부트, 그래들, HelloWorld]STS,Gradle 설치및 WEB MVC 심플예제 간단히 STS 및 Gradle Support Plugin 을설치하여간단히 Spring Boot, Gradle Web 응용프로그램을작성해보자. 0. STS 및 Gradle Su

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Software Requirements Specification Template

슬라이드 1

Software Requirements Specification Template

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

슬라이드 1

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

문서의 제목 나눔고딕B, 54pt

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

Secure Programming Lecture1 : Introduction

PowerPoint 프레젠테이션

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

쉽게 풀어쓴 C 프로그래밍

문서의 제목 나눔명조R, 40pt

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

PowerPoint 프레젠테이션

Chapter 1

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

PowerPoint 프레젠테이션

내장서버로사용. spring-boot-starter-data-jpa : Spring Data JPA 사용을위한설정 spring-boot-devtools : 개발자도구를제공, 이도구는응용프로그램개발모드에서유 용한데코드가변경된경우서버를자동으로다시시작하는일들을한다. spri

Introduction to CTIP

Syslog 서버개발예제 1. New project new.bat 파일을 d:\kraken\examples 에복사하고명령프롬프트에서다음과같이실행 new [artifact id] [package]..or.. mvn archetype:generate -DarchetypeG

문서의 제목 나눔고딕B, 54pt

PowerPoint 프레젠테이션

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft Word - src.doc

Install stm32cubemx and st-link utility

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Intro to Servlet, EJB, JSP, WS

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Interstage5 SOAP서비스 설정 가이드

JVM 메모리구조

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Microsoft PowerPoint - jfeature장범석서재원박동현.pptm

슬라이드 1

개발환경 교육교재

슬라이드 1

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

PowerPoint 프레젠테이션

ISP and CodeVisionAVR C Compiler.hwp

슬라이드 1

Microsoft Word - CPL-TR OM2M.doc

슬라이드 1

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

PowerPoint 프레젠테이션

C# Programming Guide - Types

슬라이드 1

JDK이클립스

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기

12 성능모니터링 allmon Apache License v 성능모니터링 nmon GPL v3 분산되어있는시스템에대한자원상태체크, 사용현황, 성능등을수집


OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

슬라이드 1


PowerPoint 프레젠테이션

1. 도구개요 STAF Testing 소개 각테스트대상분산환경에데몬을사용하여테스트대상프로그램을통해테스트를수행하고, 통합하며자동화하는 프레임워크 주요기능 테스트통합및자동화 카테고리 Testing 세부카테고리테스트설계및실행 커버리지 Test Integration / Aut

4S 1차년도 평가 발표자료

서현수

PowerPoint Presentation

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

Microsoft Word ARM_ver2_0a.docx

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

텀블러514

Windows 8에서 BioStar 1 설치하기

스마트월드캠퍼스 교육교제

Intellij spring(mvc) + maven 환경구축 New Project에서좌측 template 유형에서 Maven을선택합니다. 오른쪽상단에 Project SDK는 java SDK가설치된폴더를선택하면됩니다. 오른쪽에 Create from archetyhpe을체

*2008년1월호진짜

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

Transcription:

Maven 2015 Web Service Computing

Maven 이란? Apache 프로젝트 소스코드로부터배포가능한산출물 (artifact) 을빌드 (build) 하는 ' 빌드툴 (build tool)' 조금더편리한 ' 프로젝트관리툴 Maven 이없다면? 라이브러리를직접다운로드해서등록하고 path 를지정해줘야한다.

Build 소스코드를컴파일한다. 테스트코드를컴파일한다. 기타패키지생성을위한바이너리를생성한다. Package Test 배포가능한 jar, war 파일등을생성한다. 단위테스트 (Unit Test) 등을실행한다. 빌드결과가정상적인지점검한다. Report 빌드 / 패키지 / 테스트결과를정리하고, 빌드수행리포트를생성한다. Release Maven 활용패턴 빌드후생성된아티팩트 (artifact) 를로컬혹은원격저장소에저장 ( 배포 ) 한다.

5 가지핵심개념 (Key Concepts) 의존성 (Dependency) POM 라이프사이클 (Lifecycle) 플러그인 (Plugin) 프로필 (Profile)

의존성 (dependency) 라이브러리다운로드자동화 더이상필요한 ( 의존성있는 ) 라이브러리를하나씩다운로드받을필요가없다. 필요하다고선언만하면메이븐이자동으로다운로드받아준다. 메이븐은선언적 ( 명령식이아니다 ) 사용되는 jar 파일들을어디서다운로드받고, 어느릴리즈 ( 버전 ) 인지명시하면, 코딩을하지않아도메이븐이알아서관리한다. ( 재다운로드, 최신버전설치등 ) 메이븐이관리한다. 라이브러리 (lib) 디렉토리를생성할필요가없다. 라이브러리, 클래스패스환경설정을할필요도없다.

의존성 (dependency) 기존방식 (lib) 폴더를직접만들고다운받은라이브러리를복사함 클래스패스를지정해줘야함

의존성 (dependency) pom.xml 에 mysql-connector 버전을 5.1.34 로선언한모습

의존성 (dependency) pom.xml 에 mysql-connector 버전을 5.1.6 으로변경한후의모습 Maven 은간단한선언만으로라이브러리를자동다운로드하고변경할수있게한다.

POM POM = Project Object Model, 프로젝트객체모델 프로젝트당하나의 pom.xml 각각의프로젝트는 pom.xml 파일을하나씩가진다. pom 은프로젝트자체와의존성에대한설정및정보를포함한다. 메이븐을 pom.xml 을읽어프로젝트를가공하는방법을이해한다. 3 가지 coordinates 를이용해자원을식별한다. 그룹 ID (Group ID) : koreatech.cse 아티펙트 ID (Artifact ID) : wsc 버전 (Version) : 001

POM <name/> 어플리케이션의명칭 <packaging/> 아티팩트 (artifact) 패키징유형 POM, jar, WAR, EAR, EJB, bundle,... 중에서선택가능 <parent/> 프로젝트의계층정보 <dependencies/> 의존성정의및설정영역 <artifactid/> 아티팩트의명칭 (Artifact s name), groupid 범위내에서유일해야한다. <groupid/> 일반적으로프로젝트의패키지명칭 <version/> 아티팩트 (artifact) 의현재버전

플러그인 (Plugin) 메이븐 (Maven) 은플러그인실행프레임워크이다. 메이븐의플러그인메커니즘에의해기능이확장된다. ( 모든작업은플러그인이수행한다 ) 플러그인은다른산출물 (artifacts) 과같이저장소에서관리된다. plugin 들은몇가지 goal 기능들을제공해주고, 프로젝트마다의필요에따라서유연하고설정해사용하도록되어있다.

플러그인 (Plugin) 메이븐은여러가지플러그인으로구성되어있으며, 각각의플러그인은하나이상의 goal ( 명령, 작업 ) 을포함하고있다. Goal 은플러그인과 goal 명칭의조합으로실행할수있다. 형식 : <plugin>:<goal> 예시 : mvn archetype:generate 메이븐은여러 goal 을묶어 라이프사이클단계 (lifecycle phases) 로만들고실행한다. 형식 : mvn <phase name> 예시 : mvn install

플러그인선언예시 pom.xml 플러그인 (Plugin) <build> <plugins> <plugin> <artifactid>maven-compiler-plugin</artifactid> <version>2.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build>

라이프사이클 (Lifecycle) 일반적으로소프트웨어프로젝트는컴파일, 테스트, 패키징, 인스톨과같은비슷한전형적인단계들을갖는다. 이러한단계는 Goal 들로구성된다. Goal 은특정작업, 최소한의실행단위 (task) 이다. Maven 에서는이러한단계를 Build Life Cycle 이라고부른다. 빌드단계 (build phases) 들은사전정의된순서대로실행된다. 모든빌드단계는이전단계가성공적으로실행되었을때실행된다.

라이프사이클 (Lifecycle) 단계 (phase) 는논리적인개념이며, 실질적인작업을수행하는것은각각의단계에연결 (associate) 된플러그인 goal 이다. 패키지타입 (package type : jar, war, ear 등 ) 에따라각단계에서수행되는 goal 이달라질수있다.

라이프사이클 (Lifecycle) 메이븐은 3 개의표준라이프사이클을제공한다. clean : 빌드시생성되었던산출물을지운다. clean : 이전빌드에서생성된모들파일들을삭제한다. default : 일반적인빌드프로세스를위한모델이다. test : 적합한단위테스트프레임워크를이용해테스트를수행한다. 테스트코드는패키지되거나배포된패키지없이실행될수있어야한다. package : 컴파일된코드등을이용해 jar 등의패키지파일을생성한다. deploy : 다른개발자혹은프로젝트와공유할수있도록원격저장소에최종패키지를배포한다. site : 프로젝트문서와사이트작성을수행한다. site : 프로젝트사이트문서를생성한다. https://maven.apache.org/ref/3.3.3/maven-core/lifecycles.html

라이프사이클 (Lifecycle) 메이븐라이프사이클 (mvn clean) 을실행해보자. /target 폴더에내용이삭제되었는지확인해보자.

서로다른대상환경 (target environment) 를위한다른빌드설정 다른운영체제 다른배포환경 프로필 (Profile) 동작방식 (Activation) (-P) 명령행실행환경 (CLI) 옵션 예 : mvn package P prod 환경변수 (environment variable) 기반 메이븐은정상절차 (step) 이외에프로파일을위한절차를추가로수행한다.

프로필, 빌드선언예시 pom.xml <profiles> <profile> <id>prod</id> <properties> <env>prod</env> </properties> </profile> <profile> <id>dev</id> <properties> <env>dev</env> </properties> <activation> <activebydefault>true</activebydefault> </activation> </profile> </profiles> 프로필 (Profile) <build> <resources> <resource> <directory>src/main/resources/common</directory> </resource> <resource> <directory>src/main/resources/${env}</directory> </resource> </resources> </build>

실습 Maven profile 에따라환경구성을달리하고서버에배포 (prod 환경설정 ) 해보자. 1) /env 라는주소로접속하면개발서버에서는 Hello, This is dev, 배포서버에서는 Hello, This is prod 가출력되게환경구성을하자. (@Value, config.properties 를이용 ) 2) intellij 를이용하지않고톰캣을직접실행시켜확인해보자.

실습 1) /src/main/resources 폴더를다음과같이구성한다. /src/main/resources/common 은공통적인설정파일위치 (services.xml) /src/main/resources/dev 와 /src/main/resources/prod 는각각의 profile 에따른설정파일위치 (config.properties) 2) services.xml 에다음과같이적어주자. <context:property-placeholder location="classpath:config.properties" /> 3) 각 profile 별 config.properties 에환경구성에대한내용을적는다. env.text=this is dev

Maven 실행설정 프로필적용배포 /target 폴더내에.war 파일이생성되었는지확인

프로필적용배포 앞서.war 파일을톰캣폴더 /webapps 폴더에복사 톰캣실행 ( 명령창에서톰캣폴더 /bin/startup.bat 실행 )

프로필적용배포 톰캣이실행되면서 war 압축이풀리고웹어플리케이션실행 http://localhost:8080/wsc-001/env 로접속해서확인

Maven Plugin 을추가하여프로젝트품질향상을위해보고서를생성할수있다. 예 ) PMD 는정적분석도구로자바소스코드를스캔하여잠재적인문제를찾을수있다. 찾을수있는결함 잠재적버그 사용하지않는코드 너무복잡한코드 중복된코드 pom.xml Site <reporting> <excludedefaults>true</excludedefaults> <plugins> <plugin> <artifactid>maven-pmd-plugin</artifactid> <version>3.1</version> <configuration> <targetjdk>1.7</targetjdk> </configuration> </plugin> </plugins> </reporting>

Maven 실행설정 Site

Site 위와같이추가한후 mvn clean site 명령어를실행하면 target/site 라는디렉토리가생기고 html 문서로써프로젝트보고서를볼수있다. 어느부분에문제가있는지이유와함께라인번호가나오고, 해당사항을수정함으로써프로젝트품질향상을할수있다.