Top Banner
프런트엔드 개발 시작하기 ! !
101

[토크아이티] 프런트엔드 개발 시작하기 저자 특강

Jul 02, 2015

Download

Software

Uyeong Ju

토크아이티 저자 특강 발표 자료,
발표 영상 http://www.youtube.com/watch?v=KE4izpusy7o
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

프런트엔드 개발 시작하기

네네이이버버는는 이이렇렇게게 한한다다!!

Page 2: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

NHN Technology services Front-End Development Team ! !

facebook.com/groups/webfrontend

Page 3: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

전체적인 웹 개발 프로세스

프런트엔드 워크-플로우

프런트엔드 개발 정의

Page 4: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

프런트엔드 개발 정의 1

Page 5: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

웹-프런트엔드

사용자가 접하는 영역

사용자에게 보이는 영역

Page 6: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

Apache!

WebServer

Nginx!

JSP!

Server-side Script

PHP!

Oracle!

Database

MySQL!

Javascript!

Browser

HTML! CSS!

Flash!

HTTP Protocol

Page 7: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

프런트엔드 개 발 영 역

Apache!

WebServer

Nginx!

JSP!

Server-side Script

PHP!

Oracle!

Database

MySQL!

Javascript!

Browser

HTML! CSS!

Flash!

HTTP Protocol

Page 8: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

프런트엔드개발팀

마크업

Page 9: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

마크업 UI 인터렉션 개발

프런트엔드개발팀

Page 10: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

마크업 UI 인터렉션 개발 UI 컴포넌트 개발

프런트엔드개발팀

Page 11: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

마크업 UI 인터렉션 개발 UI 컴포넌트 개발

Ajax UI 개발

프런트엔드개발팀

Page 12: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

마크업 UI 인터렉션 개발 UI 컴포넌트 개발

Ajax UI 개발 UX 프로토타입 개발

프런트엔드개발팀

Page 13: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

! 프런트엔드 개발이란 사용자가 접하는 영역의

리소스와 UI, 인터렉션을 개발하는 것

Page 14: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

프런트엔드 개발자 필요한가? 2

Page 15: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

문서 수준을 탈피한 UI 인터렉션

Page 16: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

문서 수준을 탈피한 UI 인터렉션

사용성&안정성

Page 17: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

문서 수준을 탈피한 UI 인터렉션

사용성&안정성

좋은 접근성

Page 18: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

문서 수준을 탈피한 UI 인터렉션

헤비 UI 개발

사용성&안정성

좋은 접근성

Page 19: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

문서 수준을 탈피한 UI 인터렉션

헤비 UI 개발

사용성&안정성

모바일 웹

좋은 접근성

Page 20: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

문서 수준을 탈피한 UI 인터렉션

헤비 UI 개발

사용성&안정성

모바일 웹

긴 생명주기

좋은 접근성

Page 21: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

문서 수준을 탈피한 UI 인터렉션

헤비 UI 개발

사용성&안정성

모바일 웹

긴 생명주기

좋은 접근성 전문성

Page 22: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

전문성

소프트웨어 공학

방법론

Page 23: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

전문성

소프트웨어 공학

방법론

테스트, 리팩토링, 디버깅

Page 24: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

전문성 웹표준, 접근성

소프트웨어 공학

방법론

테스트, 리팩토링, 디버깅

Page 25: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

전문성 웹표준, 접근성

시맨틱

검색 엔진 최적화

소프트웨어 공학

방법론

테스트, 리팩토링, 디버깅

Page 26: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

전문성 웹표준, 접근성

시맨틱

검색 엔진 최적화

소프트웨어 공학

방법론

테스트, 리팩토링, 디버깅

Async, CORS, XSS, CSRF

Page 27: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

전문성 웹표준, 접근성

시맨틱

검색 엔진 최적화

Async, CORS, XSS, CSRF

언어, 엔진에 대한 깊은 이해

소프트웨어 공학

방법론

테스트, 리팩토링, 디버깅

Page 28: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

! 고수준의 UI를 잘 개발하기 위해선

공학적 지식, 전문성이 요구된다.

Page 29: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

전체적인 웹 개발 프로세스 3

Page 30: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

프로젝트 기획 시작 / 기획서 산출

Page 31: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

프로젝트 기획 시작 / 기획서 산출

Page 32: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

프로젝트 기획 시작 / 기획서 산출

기획서 산출 후 디자이너 및 개발자에게 배포

백엔드 설계

백엔드 아키텍처 설계 및 패키지 설계

디자인 작업

마크업 설계

기획서 분석 및 구현 불가능 요소 파악

자바스크립트 설계

기획서 분석 및 구현 불가능 요소 파악

Page 33: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

백엔드 설계

백엔드 아키텍처 설계 및 패키지 설계

디자인 작업

마크업 설계

기획서 분석 및 구현 불가능 요소 파악

자바스크립트 설계

기획서 분석 및 구현 불가능 요소 파악

마크업 작업

디자인 산출

Page 34: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

마크업 산출

자바스크립트 구현

백엔드 구현

자바스크립트 산출

Page 35: [토크아이티] 프런트엔드 개발 시작하기 저자 특강
Page 36: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

자바스크립트 구현

백엔드 개발

Page 37: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

자바스크립트 구현

백엔드 개발

웹 API 문서 (인터페이스)

Page 38: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

! 자바스크립트 개발자가 백엔드 개발 상태를

의존 하지 않고 개발해야한다.

Page 39: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

프런트엔드 워크-플로우 4

Page 40: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

조직도 트리 심플 프로젝트

Page 41: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

기획서 / 스펙 분석

문서 구조 분석 시맨틱

헤더, 아티클 등 시맨틱 요소 파악

공통 요소, 네비 게이션 등 문서 구조 파악

Page 42: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

문서 구조 분석 시맨틱 기능 분석 기능 리스트

헤더, 아티클 등 시맨틱 요소 파악

공통 요소, 네비 게이션 등 문서 구조 파악

자 바 스 크 립 트 개 발 이 필 요 한 요소 파악

파악한 자바스크 립트 기능 리스트 작성

기획서 / 스펙 분석

Page 43: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

문서 구조 분석 시맨틱 기능 분석 기능 리스트

프로토타이핑 구현 불가능 요소

헤더, 아티클 등 시맨틱 요소 파악

공통 요소, 네비 게이션 등 문서 구조 파악

자 바 스 크 립 트 개 발 이 필 요 한 요소 파악

파악한 자바스크 립트 기능 리스트 작성

구현 가능한 스펙 인지 알 수 없을땐 프로토타이핑

구현 불가능한 요소는 기획자에게 고지 및 스펙 수정

기획서 / 스펙 분석

Page 44: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

일정 산출

페이지 별 일정 추정

목 업 을 기 초 로 공통요소 분할, 각 페이지별 마크업 일정 산출

Page 45: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

일정 산출

페이지 별 일정 추정

목 업 을 기 초 로 공통요소 분할, 각 페이지별 마크업 일정 산출

기능 별 일정 추정

기획서를 기초로 추출한 각 기능별 일정 산출

Page 46: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

페이지 별 일정 추정

목 업 을 기 초 로 공통요소 분할, 각 페이지별 마크업 일정 산출

기능 별 일정 추정

기획서를 기초로 추출한 각 기능별 일정 산출

의사결정

전체적인 프로젝트 기간 스케줄링

일정 산출

Page 47: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

명세 작성

개 발 에 필 요 한 정보 파악

유스케이스 작성

시 스 템 의 동 작 을 이해하기 위한 유스 케이스 작성

명세 분석

Page 48: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

명세 분석

Page 49: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

개발 환경 세팅

버전 관리 시스템

소스 코드의 버전을 안전하게 관리하기 위한 기반 시스템

Page 50: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

버전 관리 시스템

소스 코드의 버전을 안전하게 관리하기 위한 기반 시스템

IDE

스위칭 비용 줄이고 안락하게 개발하기 위한 통합 개발 환경 도구

개발 환경 세팅

Page 51: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

버전 관리 시스템

소스 코드의 버전을 안전하게 관리하기 위한 기반 시스템

IDE

스위칭 비용 줄이고 안락하게 개발하기 위한 통합 개발 환경 도구

스캐폴딩

프로젝트 전 선행 되어야할 작업을 자동으로 처리

개발 환경 세팅

Page 52: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

버전 관리 시스템

소스 코드의 버전을 안전하게 관리하기 위한 기반 시스템

IDE

스위칭 비용 줄이고 안락하게 개발하기 위한 통합 개발 환경 도구

모듈 관리 도구

모 듈 을 관 리 하 기 쉽게 도와주는 도구

개발 환경 세팅

스캐폴딩

프로젝트 전 선행 되어야할 작업을 자동으로 처리

Page 53: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

CSS 전처리기

정 적 인 C S S 의 단점을 극복할 수 있는 전처리 도구

마크업 개발

Page 54: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

CSS 전처리기

정 적 인 C S S 의 단점을 극복할 수 있는 전처리 도구

타이핑 도구

HTML과 CSS를 빠르게 편집할 수 있도록 도와주는 도구

마크업 개발

Page 55: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

마크업 설계

공통 요소 분석 전체 구조 설계

마크업 개발

CSS 전처리기

정 적 인 C S S 의 단점을 극복할 수 있는 전처리 도구

타이핑 도구

HTML과 CSS를 빠르게 편집할 수 있도록 도와주는 도구

Page 56: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

마크업 단계

컨텐츠의 골격을 잡아가는 작업. 의미있는 시맨틱, 웹표준을 준수한 문서 작성

마크업 설계

공통 요소 분석 전체 구조 설계

마크업 개발

CSS 전처리기

정 적 인 C S S 의 단점을 극복할 수 있는 전처리 도구

타이핑 도구

HTML과 CSS를 빠르게 편집할 수 있도록 도와주는 도구

Page 57: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

마크업 단계

컨텐츠의 골격을 잡아가는 작업. 의미있는 시맨틱, 웹표준을 준수한 문서 작성

스타일링 단계

CSS를 활용하여 문 서 를 꾸 미 는 작업

마크업 설계

공통 요소 분석 전체 구조 설계

마크업 개발

CSS 전처리기

정 적 인 C S S 의 단점을 극복할 수 있는 전처리 도구

타이핑 도구

HTML과 CSS를 빠르게 편집할 수 있도록 도와주는 도구

Page 58: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

마크업 개발

Page 59: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

자바스크립트 개발

코드 품질 검증 도구

자바스크립트 코드 의 안티 패턴, 신텍스 오 류 등 을 미 리 검증하는 도구

Page 60: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

자바스크립트 개발

코드 품질 검증 도구

자바스크립트 코드 의 안티 패턴, 신텍스 오 류 등 을 미 리 검증하는 도구

테스트 러너

작 성 한 테 스 트 코드를 자동으로 실행하고 결과를 산출하는 도구

테스트 프레임 워크

테 스 트 코 드 를 작성할 때 필요한 함수 집합

Page 61: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

자바스크립트 개발

테스트 더블

테스트 하기 어려운 컴포넌트(요소)를 대체하는 기능을 가진 라이브러리

코드 품질 검증 도구

자바스크립트 코드 의 안티 패턴, 신텍스 오 류 등 을 미 리 검증하는 도구

테스트 러너

작 성 한 테 스 트 코드를 자동으로 실행하고 결과를 산출하는 도구

테스트 프레임 워크

테 스 트 코 드 를 작성할 때 필요한 함수 집합

Page 62: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

자바스크립트 개발

테스트 더블

테스트 하기 어려운 컴포넌트(요소)를 대체하는 기능을 가진 라이브러리

코드 품질 검증 도구

자바스크립트 코드 의 안티 패턴, 신텍스 오 류 등 을 미 리 검증하는 도구

애너테이션

특 수 한 의 미 를 부 여 하 기 위 해 작성한 주석

테스트 러너

작 성 한 테 스 트 코드를 자동으로 실행하고 결과를 산출하는 도구

테스트 프레임 워크

테 스 트 코 드 를 작성할 때 필요한 함수 집합

Page 63: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

자바스크립트 개발

테스트 더블

테스트 하기 어려운 컴포넌트(요소)를 대체하는 기능을 가진 라이브러리

웹 API 디자인

백엔드 개발자와 웹 API 인터페이스 정의

코드 품질 검증 도구

자바스크립트 코드 의 안티 패턴, 신텍스 오 류 등 을 미 리 검증하는 도구

애너테이션

특 수 한 의 미 를 부 여 하 기 위 해 작성한 주석

테스트 러너

작 성 한 테 스 트 코드를 자동으로 실행하고 결과를 산출하는 도구

테스트 프레임 워크

테 스 트 코 드 를 작성할 때 필요한 함수 집합

Page 64: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

테스트 러너

작 성 한 테 스 트 코드를 자동으로 실행하고 결과를 산출하는 도구

테스트 프레임 워크

테 스 트 코 드 를 작성할 때 필요한 함수 집합

테스트 더블

테스트 하기 어려운 컴포넌트(요소)를 대체하는 기능을 가진 라이브러리

클래스 설계

도메인을 분석하여 객체 설계

웹 API 디자인

백엔드 개발자와 웹 API 인터페이스 정의

자바스크립트 개발

코드 품질 검증 도구

자바스크립트 코드 의 안티 패턴, 신텍스 오 류 등 을 미 리 검증하는 도구

애너테이션

특 수 한 의 미 를 부 여 하 기 위 해 작성한 주석

Page 65: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

테스트 러너

작 성 한 테 스 트 코드를 자동으로 실행하고 결과를 산출하는 도구

테스트 프레임 워크

테 스 트 코 드 를 작성할 때 필요한 함수 집합

테스트 더블

테스트 하기 어려운 컴포넌트(요소)를 대체하는 기능을 가진 라이브러리

클래스 설계

도메인을 분석하여 객체 설계

구현 개발

설 계 를 토 대 로 실제 코드를 작성 하여 구현

웹 API 디자인

백엔드 개발자와 웹 API 인터페이스 정의

자바스크립트 개발

코드 품질 검증 도구

자바스크립트 코드 의 안티 패턴, 신텍스 오 류 등 을 미 리 검증하는 도구

애너테이션

특 수 한 의 미 를 부 여 하 기 위 해 작성한 주석

Page 66: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

자바스크립트 개발

Page 67: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

자바스크립트 빌드&배포

난독화&압축

자바스크립트 코드 압축 및 난독화 도구

Page 68: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

자바스크립트 빌드&배포

문서화

주석을 파싱하여 문서를 생성하는 도구

난독화&압축

자바스크립트 코드 압축 및 난독화 도구

Page 69: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

자바스크립트 빌드&배포

태스크 자동화

압축, 문서화, 검증 테스트 등 개발 간 또는 빌드 전에 실행 되어야할 작업을 자동으로 실행하는 도구

문서화

주석을 파싱하여 문서를 생성하는 도구

난독화&압축

자바스크립트 코드 압축 및 난독화 도구

Page 70: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

CI

각 자 가 작 업 한 산출물을 한곳에 모 아 검 증 하 고 통합

자바스크립트 빌드&배포

태스크 자동화

압축, 문서화, 검증 테스트 등 개발 간 또는 빌드 전에 실행 되어야할 작업을 자동으로 실행하는 도구

문서화

주석을 파싱하여 문서를 생성하는 도구

난독화&압축

자바스크립트 코드 압축 및 난독화 도구

Page 71: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

성능 최적화

웹사이트 측정

고 성 능 을 위 한 웹 사이트 속도 측정 도구

Page 72: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

성능 최적화

웹사이트 측정

고 성 능 을 위 한 웹 사이트 속도 측정 도구

개발자 도구

브라우저 개발자 도구의 네트워크, 타임라인, 프로파 일링 기능

Page 73: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

테스트

개발자 테스트

개발 중 지속적인 테스트

Page 74: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

테스트

개발자 테스트

개발 중 지속적인 테스트

팀 테스트

개발이 마무리될 시점에 시행되는 프로젝트 팀 테스 트

Page 75: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

테스트

개발자 테스트

개발 중 지속적인 테스트

팀 테스트

개발이 마무리될 시점에 시행되는 프로젝트 팀 테스 트

전문가 테스트

전문 테스트 QA팀 에 서 시 행 하 는 테스트

Page 76: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

개발자 테스트

개발 중 지속적인 테스트

팀 테스트

개발이 마무리될 시점에 시행되는 프로젝트 팀 테스 트

전문가 테스트

전문 테스트 QA팀 에 서 시 행 하 는 테스트

이슈 관리 시스템

이슈(버그)를 등록 하고 관리할 수 있는 시스템

테스트

Page 77: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

도구 및 라이브러리 5

Page 78: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

버전 관리 시스템

GIT mercurial subversion

Page 79: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

통합 개발 환경

eclipse sublime webstorm aptana

Page 80: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

스케폴딩

grunt-init

Page 81: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

모듈 관리 도구

node package manager Bower

Page 82: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

CSS 전처리기

Page 83: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

타이핑 도구

Emmet

Page 84: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

코드 품질 검증 도구

Page 85: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

테스트 프레임워크&테스트 더블

Page 86: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

테스트 러너

Page 87: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

압축&난독화

Google closure compiler

Page 88: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

문서화&애너테이션

JJSSDDoocc33

Page 89: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

태스크 자동화

Grunt Gulp

Page 90: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

지속적인 통합(Continuous Integration)

Page 91: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

웹사이트 측정

YSlow PageSpeed

Page 92: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

개발자 도구

Page 93: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

이슈 관리 시스템

Page 94: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

끝으로 6

Page 95: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

앱의 등장으로 사용자는 더 매끄럽고

미려한 UI를 기대한다.

Page 96: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

사용자는 서비스가

안정적으로 동작하길

원한다.

Page 97: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

기획자/디자이너는

더 나은 UX를 디자인하고

웹에서 구현되기를

희망한다.

Page 98: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

관리자는 빠르게

이슈없는 서비스가

출시될 수 있기를

요구한다.

Page 99: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

이 모든게 프런트 엔드 개발자,

우리 손에 달려있습니다.

Page 100: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

프런트엔드 개발의 가치를

인정합니다.

Page 101: [토크아이티] 프런트엔드 개발 시작하기 저자 특강

감사합니다.