원모먼트 vue js 적용기

68
원모먼트 Vue.js 도입기 레거시와의 전쟁

Upload: -

Post on 28-Jan-2018

1.150 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 원모먼트 Vue js 적용기

원모먼트�Vue.js�도입기

레거시와의�전쟁

Page 2: 원모먼트 Vue js 적용기

목차

1. 원모먼트�소개�

2. Vue.js�소개�

3. 레거시와의�전쟁�

4. 오픈소스를�만들어보자

Page 3: 원모먼트 Vue js 적용기

https://github.com/KimWooHyun

김우현

2016.01�-�현재�ONE�MOMENT�(Web�&�Swift�Developer)�

2015.01�-�2016.01�ATEAM�VENTURES�(Web�Developer)

Tech�:�Vue.js,�Django,�Swift

2015�미림여자정보과학고등학교(미림�마이스터고)�졸업

Page 4: 원모먼트 Vue js 적용기

원모먼트란?

Page 5: 원모먼트 Vue js 적용기

온라인�당일�꽃배달�서비스

원모먼트

Page 6: 원모먼트 Vue js 적용기

Vue.js

Page 7: 원모먼트 Vue js 적용기

-�/vjuː/�로�발음,�view�와�발음이�같다.

- 사용자�인터페이스를�만들기�위한�진보적인�프레임워크�

- React�와�Angular와�같이�화두�되고�있는�떠오르는�웹�프레임워크

Vue.js

Page 8: 원모먼트 Vue js 적용기

1.�단일�컴포넌트

template�+�script�+�style�

=�.vue

장점

Page 9: 원모먼트 Vue js 적용기

2.�낮은�러닝커브

하루�만에�문서�정독하고��

다음날�바로�실무에�적용

장점

Page 10: 원모먼트 Vue js 적용기

3.�한국어�문서 https://kr.vuejs.org/v2/guide/

장점

Page 11: 원모먼트 Vue js 적용기

4.�친절한�커뮤니티 https://vuejs-korea.signup.team/

장점

Page 12: 원모먼트 Vue js 적용기

*�Vue는�ECMAScript�5�기능을�사용하기�때문에�IE8�이하�버전을�지원하지�않습니다.�하지만�모든�ECMAScript�5�호환�브라우저를�지원합니다.

1. 직접�<script>에�추가-�CDN�제공 https://unpkg.com/[email protected]

2. Npm-�npm�install�vue�

3. CLI-�스캐폴딩하기�위한�공식�CLI�제공

사용하기

*�스캐폴딩(Scaffolding)이란?��-�프로젝트�구조를�미리�템플릿�형태로�정의한�것

Page 13: 원모먼트 Vue js 적용기

*�CLI

#�vue-cli�설치$�npm�install�--global�vue-cli #�"webpack"�템플릿을�이용해서�새�프로젝트�생성$�vue�init�webpack�my-project #�설치�및�실행$�cd�my-project$�npm�install$�npm�run�dev

사용하기

Page 14: 원모먼트 Vue js 적용기

사용하기

#�vue-cli�설치$�npm�install�--global�vue-cli

Page 15: 원모먼트 Vue js 적용기

사용하기

#�"webpack"�템플릿을�이용해서�새�프로젝트�생성 $�vue�init�webpack�my-project

Page 16: 원모먼트 Vue js 적용기

사용하기

#�설치�및�실행$�cd�my-project$�npm�install$�npm�run�dev

Page 17: 원모먼트 Vue js 적용기

사용하기

Page 18: 원모먼트 Vue js 적용기

사용하기

Page 19: 원모먼트 Vue js 적용기

>> Hello�Vue!I�am�Vue�

사용하기

Page 20: 원모먼트 Vue js 적용기

레거시

Page 21: 원모먼트 Vue js 적용기
Page 22: 원모먼트 Vue js 적용기

1.�메인�페이지

원모먼트�레거시

Page 23: 원모먼트 Vue js 적용기

2.�결제�오류

정상적인�결제�루틴

원모먼트�결제�루틴

Order�Sheets�>�PG�>�Status�Change

PG�>�Order�Sheets�>�Status�Change

결제가�됐는데�관리자�페이지에�정보가�없어요!

원모먼트�레거시

Page 24: 원모먼트 Vue js 적용기
Page 25: 원모먼트 Vue js 적용기

1.�뜯어�고치자!��처음부터!

-�백엔드는�추후�앱을�고려�해�RestFul�API�로�변경

2.�Front-End�이왕이면�프레임�워크를�써보자

-�가능한��빨리��적용�할�수�있는�걸로!

한다.�일.�쓴다.�Vue.

해결�방법

Page 26: 원모먼트 Vue js 적용기

달라진�점

nginx

기존�아키텍쳐

변경 된 아키텍쳐

Python

Django

django-osacr

ViewDB

nginx

Python

Django

django-osacr

Vue DB

Page 27: 원모먼트 Vue js 적용기

달라진�점

Page 28: 원모먼트 Vue js 적용기

달라진�점

Page 29: 원모먼트 Vue js 적용기

달라진�점

Page 30: 원모먼트 Vue js 적용기

<app-header><app-header><banner></banner>

달라진�점

Page 31: 원모먼트 Vue js 적용기

<category-nav></category-nav><set-product-carousel></set-product-carousel>

달라진�점

Page 32: 원모먼트 Vue js 적용기

<normal-product-card�v-for="product�in�products"></normal-product-card>

달라진�점

Page 33: 원모먼트 Vue js 적용기

<additional-product-card�v-for="product�in�AdditionalProducts"></additional-product-card>

달라진�점

Page 34: 원모먼트 Vue js 적용기

<app-footer></app-footer>

달라진�점

Page 35: 원모먼트 Vue js 적용기

달라진�점

Page 36: 원모먼트 Vue js 적용기
Page 37: 원모먼트 Vue js 적용기

오픈소스�만들기

Page 38: 원모먼트 Vue js 적용기

1.�음력�달력이�필요해!

라이브러리가�중국어�밖에�없잖아!?

계기

Page 39: 원모먼트 Vue js 적용기

그럼�만들지�뭐

Page 40: 원모먼트 Vue js 적용기

시안

Page 41: 원모먼트 Vue js 적용기

1.�webpack�설정하기

webpack�이란?�

JavaScript�모듈�번들러(Bundler)

과정

Page 42: 원모먼트 Vue js 적용기

-�mkdir�vue-lunar-calendar�&&�cd�vue-lunar-calendar

-�yarn�add�--dev�webpack

//�webpack.config.js

과정

Page 43: 원모먼트 Vue js 적용기

-�yarn�build

-�yarn�start

과정

//�package.json

Page 44: 원모먼트 Vue js 적용기

과정

2.�소스�작성하기

//�index.js

//�Calnedar.vue<day-cell></day-cell>

Page 45: 원모먼트 Vue js 적용기

과정

3.�데모�작성

//�webpack.dev.config.js

Page 46: 원모먼트 Vue js 적용기

과정

3.�데모�작성

//�package.json

-�yarn�demo

-�yarn�start

Page 47: 원모먼트 Vue js 적용기

과정

3.�데모�작성

//�index.html

App.vue�호출

Page 48: 원모먼트 Vue js 적용기

과정

4.�데모�사이트�올리기

Page 49: 원모먼트 Vue js 적용기

과정

5.�README.md�작성하기

#�제목�+�설명#�데모�사이트#�설치�방법#�사용�방법#�Property #�Event#�지원�언어#�Thanks�for

Page 50: 원모먼트 Vue js 적용기

-�npm�publish

과정

6.�배포하기

Page 51: 원모먼트 Vue js 적용기

https://kimwoohyun.github.io/vue-lunar-calendar/

결과

Page 52: 원모먼트 Vue js 적용기

등록 확인npmjs.com/package/패키지이름

Page 53: 원모먼트 Vue js 적용기

설치�npm�install�vue-lunar-calendar�—save�

선언�import�lunarCalendar�from�‘vue-lunar-calendar’�Vue.component('lunar-calendar',�lunarCalendar)�

사용<lunar-calendar></lunar-calendar>

적용

Page 54: 원모먼트 Vue js 적용기

등록�이후

Page 55: 원모먼트 Vue js 적용기

http://git-awards.com/

등록�이후

Page 56: 원모먼트 Vue js 적용기

홍보를�해볼까?

그럼��다국어��지원을�해야�하지�않을까!?

Page 57: 원모먼트 Vue js 적용기

그럼�하지�뭐

Page 58: 원모먼트 Vue js 적용기

//�lang.js�module.exports�=�{���translations:�{�����'ko':�{�������'name':�'Korean',�������'days':�['일',�'월',�'화',�'수',�'목',�'금',�'토'],�������'solar':�'양력',�'lunar':�'음력',�'leap'�:�'윤',�������'solarShort':�'양',�'lunarShort':�'음'�����},�����'en':�{�������'name':�'English',�������'days':�['SUN',�'MON',�'TUE',�'WED',�'THU',�'FRI',�'SAT'],�������'solar':�'solar',�'lunar':�'lunar',�'leap':�'leap',�������'solarShort':�'sol',�'lunarShort':�'lun'�����}���}�};

Page 59: 원모먼트 Vue js 적용기
Page 60: 원모먼트 Vue js 적용기

https://github.com/vuejs/awesome-vue

홍보

Page 61: 원모먼트 Vue js 적용기

홍보

Page 62: 원모먼트 Vue js 적용기

홍보

Page 63: 원모먼트 Vue js 적용기

몇�주�후

Page 64: 원모먼트 Vue js 적용기

홍보

Page 65: 원모먼트 Vue js 적용기
Page 66: 원모먼트 Vue js 적용기

최종

Page 67: 원모먼트 Vue js 적용기

Q&A

Page 68: 원모먼트 Vue js 적용기

감사합니다.