웹 어플리케이션 보안 2016년 2학기 10. Workflow tools.

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

CHAP. 2 안드로이드 개발 도구 설치. © 2012 생능출판사 All rights reserved 개발 과정의 개요.
1 Lotte EDI 환경 설정 매뉴얼 LLTTTTEE Always with You OO.
2016 유성환 Hybrid MOBILE.
엑셀리포트를 이용한 날짜별 리포트 자동 저장 방법
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
코크파트너 설치 가이드 Window 7.
Power Java 제3장 이클립스 사용하기.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
2. JSP의 환경설정 제 2장 JSP의 환경설정 웹 애플리케이션과 디렉토리 구성 JDK 설치하기 JSP Container
CUDA Setting : Install & Compile
Outlook Express 메일 백업 및 복원가이드
J2ME Install 부산대학교 인공지능 연구실.
1 최초 한번만 실행 Git 초기화 git init git config user.name “StudentNum”
9. Deploying mean applications
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
JSP Programming with a Workbook
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
한국골프대학 종합정보시스템 Windows Vista 사용자를 위한 Component 설치안내서
한국골프대학 종합정보시스템 Windows 7 사용자를 위한 Component 설치안내서
4-1장. MySQL 제13장.
C / C++ Programming in multi platform
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
JAVA CDT install
Git 사용법 GitHub 가입 GitHub 새 저장소 만들기 Git 설치 로컬 저장소 만들기 로컬 저장소와 원격 저장소 연결
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
CHAP 12. 리소스와 보안.
Android studio로 Application 만들기.
웹 어플리케이션 보안 2016년 2학기 3. Mongo db.
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
CHAP 13. 방명록 만들기 실습.
웹 어플리케이션 보안 2016년 2학기 2. Node routing.
개발 환경 세팅.
영상처리 실습 인공지능연구실.
MEAN Stack Front to Back (MEANAuthApp)
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
MEAN Stack Front to Back (MEANAuthApp)
Day-27(Tue_10.16) 파일 서비스 설정 AD 가 설치된 환경에서 DHCP 설치 할 경우 권한 자격을 주어야함.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
Git 사용하기 Git 소개 Git 사용 환경 GitHub 가입 및 원격 저장소 만들기 Git 설치 Git 최초 설정
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
PMIS 서버 설정 환경설정 작성자 : 배경환.
빌드 성공.
( Windows Service Application Debugging )
STS 에서 웹 서버 설치 방법.
OpenCV 설정 2.21 만든이 딩딩.
암호학 응용 Applied cryptography
웹 어플리케이션 보안 2016년 2학기 11. Enhancing Security.
DK-128 개발환경 설정 아이티즌 기술연구소
암호학 응용 Applied cryptography
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
 파일 아카이브와 압축 명령 익히기.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
숙제 작성 및 제출 과정 김진하 2008/03/14.
Docker Study 6~7.
K PaaS-TA 앱 운영.
엑셀 리포트를 웹 클라이언트에서 사용시 설정 방법
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

웹 어플리케이션 보안 2016년 2학기 10. Workflow tools

10. Workflow Tools Chap 19. MEAN Development Workflow Tools

Speed up our Workflow 개발 프로세스를 쉽게 수행하기 위한 도구? Bower Gulp The browser package manager (front-end resource manager) Gulp The streaming build system (task-runner)

샘플 MEAN 프로젝트를 만들어보자 디렉토리 구조

작업 순서 프로젝트 시작 > npm init Express 설치 > npm install express --save

파일 편집 server.js - Index.html을 서비스하도록 설정

파일 편집 public/app/controllers/mainCtrl.js public/app/views/pages/home.html

파일 편집 public/app/views/index.html

파일 편집 public/app/app.js public/app/app.routes.js

파일 편집 public/assets/css/style.less .less 파일? 변수 선언 변수 이용

서비스 시작 서버 시작 > nodemon server.js 아직 index.html에서 Bootstrap, Angular, Angular Route 등을 적용하지 않았음 Bower를 이용하여 이들 리소스를 가져올 것임

Bower Bower란? Npm과 매우 비슷한 방식으로 동작 Bower의 설치 Frontend 리소스 관리를 위한 패키지 관리자 CSS/JS 를 불러올 수 있음 - Bootstrap, Angular, jQuery, Animate.css, Moment 등 Npm과 매우 비슷한 방식으로 동작 Package.json – npm의 패키지 관리 (서버측) Bower.json – bower의 패키지 관리 (클라이언트측) Bower의 설치 $ npm install -g bower -g는 전역 설치 bower는 앞으로 모든 프로젝트에서 계속 사용하게 되므로 전역 설치 필요

Bower Bower의 시작 npm과 매우 비슷 패키지 설치하기 (frontend측) Bootstrap 설치하기 $ bower init 이것을 실행하면 bower.json 파일이 만들어짐 패키지 설치하기 (frontend측) $ bower install <package_name> --save --save 옵션을 사용하면 설치되는 패키지가 bower.json에 등록됨 Bootstrap 설치하기 $ bower install bootstrap bower_components 라는 새 폴더를 만들고 여기에 패키지가 설 치됨 Github로부터 설치하기 bower install <github-url> npm과 매우 비슷

패키지 검색하기 커맨드라인에서 검색 Bower 웹사이트에서 검색 $ bower search <package_name> Bower 웹사이트에서 검색 https://bower.io/search/

설치 디렉토리 변경하기 설치 디렉토리를 변경해보자 방법: 프로젝트 루트에 .bowerrc 파일을 생성하고 다음 을 입력 기본 위치: bower_components 변경 위치: public/assets/libs 방법: 프로젝트 루트에 .bowerrc 파일을 생성하고 다음 을 입력 패키지를 설치하면 public/assets/libs 폴더에 설치됨

패키지 설치하기 프로젝트에서 사용할 패키지 설치 $ bower install bootstrap angular angular-route angular- animate --save angular.min.js 파일이 로컬 폴더에 설치됨

패키지 활용하기 Public/app/views/index.html 에서 패키지 불러오기 angular.min.js를 CDN에서 불러오지 않고 내 서버의 폴더에서 직접 불러옴

Gulp Task runner (작업 자동화 도구) Grunt http://gruntjs.com/ Gulp http://gulpjs.com/ - Grunt보다 기능향상 버전

Grunt vs. Gulp

Gulp Gulp는 Task runner (작업 자동화 도구) 개발 과정에서 수행해야 하는 여러 작업들을 자동화 파일의 에러 체크 (linting files) http://www.javascriptlint.com/ 파일의 압축, 최소화 (minifying files) https://javascript-minifier.com/ LESS 나 SCSS 등의 처리 (CSS 전처리기, CSS 확장언어) http://lesscss.org/ http://sass-lang.com/ 여러 파일의 통합 (concatenating multiple files into one) 서버 실행(Gulp can even start our nodemon server for us) so much more…

Gulp 설치 Gulp 설치 $ npm install -g gulp (전역설치) $ npm install gulp --save-dev (프로젝트의 devDependencies에 등록)

LESS 컴파일 LESS 란? CSS 전처리기 CSS의 기능을 확장하여 변수, mixin, 함수 등을 사용 가능 사례

LESS 컴파일 Style.less 파일을 컴파일하여 style.css 파일을 만들어보 자. Index.html에서는 style.css를 이용 LESS 파일을 컴파일하려면 gulp-less 설치 필요 $ npm install gulp-less --save-dev

LESS 컴파일 Gulp 플러그인을 사용하려면 루트폴더에 환경설정 파일 을 만들어야 함 (gulpfile.js) CSS 라는 작업을 생성 LESS 파일을 읽어서 LESS 작업후 CSS 파일로 저장

LESS 컴파일 Gulp로 css 작업 실행 $ gulp css style.less 파일을 컴파일하여 style.css 파일 생성

Minifying CSS Gulp는 pipe 기능을 이용하여 한 작업에서 여러 패키지 들의 연속된 실행이 가능 Gulp-minify-css 패키지 : 축소 CSS 파일 생성 Gulp-rename 패키지 : 이름을 바꾸는 기능 설치: $ npm install gulp-minify-css gulp-rename --save-dev

Minifying CSS gulpfile.js 파일 수정 Gulp 실행: $ gulp css Less 작업 Minify 작업 Rename 작업 style.min.css 파일 생성

스타일 적용 Index.html에 스타일파일 지정

Gulp 패키지 사용 방법 1. 패키지 설치 및 환경 저장 --save-dev 2. gulpfile.js 설정 패키지 플러그인 읽어오기 플러그인을 사용하여 task 작성 3. Gulp task 실행

Linting JS (소스 에러 체크) JS 파일에 에러가 없는지 체크 gulp-jshint 설치 서버측: node.js 파일 클라이언트측: angular.js 파일 gulp-jshint 설치 $ npm install gulp-jshint --save-dev

Linting JS (소스 에러 체크) Gulpfile.js 파일에 js라는 task 작성 Task 실행 $ gulp js Gulp-jshint를 불러옴 복수개의 js 파일에 대해 jshint로 에러체크를 함

Minifying and concatenating JS 현재 방법으로는 어플리케이션의 <head> 부분이 복잡 여러 개의 자바스크립트를 불러오므로 복잡하고 성능 저하 최소화(minify), 통합(concatenation)하여 운영 필요

Minifying and concatenating JS 두개의 패키지 설치 gulp-uglify (minifying, 최소화) gulp-concat (concatenation, 통합) $ npm install gulp-uglify gulp-concat --save-dev gulpfile.js 수정 패키지를 불러옴 all.js로 파일 통합 최소화 public/dist 폴더에 출력

Minifying and concatenating JS Task 실행 $ gulp scripts Public/dist/all.js 생성 all.js

Minifying Angular Gulp-ng-annotate 설치 Gulpfile.js 에 angular task 추가 $ npm install gulp-ng-annotate --save-dev Gulpfile.js 에 angular task 추가 Task 실행 $ gulp angular Gulpfile.js 패키지를 불러옴 ngAnnotate() 실행

Watching for changes 소스파일이 수정되면 해당 task를 실행하도록 설정 가능 Gulp-watch 설치 $ npm install gulp-watch --save-dev Watch task 추가 테스트: style.less 파일 수정 후 확인 Gulpfile.js style.less 파일이 수정되면 css task를 실행 JS 소스가 수정되면 js, angular task를 실행

Starting a Node Server Gulp를 이용한 서버 시작 Gulp-nodemon 설치 Gulp task 설정 Nodemon을 이용하지만 소스검사 등 task를 실행 가능 Gulp-nodemon 설치 $ npm install gulp-nodemon --save-dev Gulp task 설정 Nodemon task 선언 시작 파일 감시대상 파일 Default task는 nodemon

Starting a Node Server 서버 시작 $ gulp 테스트 소스 수정

요약 개발자의 효율성을 높여주는 도구들을 이용하자 1. Bower를 이용한 front-end 리소스 관리 2. Gulp를 이용한 task 관리 (작업 자동화)