SlideShare a Scribd company logo
원모먼트 Vue.js 도입기
레거시와의 전쟁
목차
1. 원모먼트 소개
2. Vue.js 소개
3. 레거시와의 전쟁
4. 오픈소스를 만들어보자
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 미림여자정보과학고등학교(미림 마이스터고) 졸업
원모먼트란?
온라인 당일 꽃배달 서비스
원모먼트
Vue.js
- /vjuː/ 로 발음, view 와 발음이 같다.
- 사용자 인터페이스를 만들기 위한 진
보적인 프레임워크
- React 와 Angular와 같이 화두 되고
있는 떠오르는 웹 프레임워크
Vue.js
1. 단일 컴포넌트
template + script + style
= .vue
장점
2. 낮은 러닝커브
하루 만에 문서 정독하고
다음날 바로 실무에 적용
장점
3. 한국어 문서 https://kr.vuejs.org/v2/guide/
장점
4. 친절한 커뮤니티 https://vuejs-korea.signup.team/
장점
* Vue는 ECMAScript 5 기능을 사용하기 때문에 IE8 이하 버전을 지원하
지 않습니다. 하지만 모든 ECMAScript 5 호환 브라우저를 지원합니다.
1. 직접 <script>에 추가

- CDN 제공

https://unpkg.com/vue@2.4.2
2. Npm

- npm install vue
3. CLI

- 스캐폴딩하기 위한 공식 CLI 제공
사용하기
* 스캐폴딩(Scaffolding)이란?

- 프로젝트 구조를 미리 템플릿 형태로 정의한 것
* CLI
# vue-cli 설치

$ npm install --global vue-cli



# "webpack" 템플릿을 이용해서 새 프로젝트
생성

$ vue init webpack my-project



# 설치 및 실행

$ cd my-project

$ npm install

$ npm run dev
사용하기
사용하기
# vue-cli 설치

$ npm install --global vue-cli
사용하기
# "webpack" 템플릿을 이용해서 새 프로젝트 생성

$ vue init webpack my-project
사용하기
# 설치 및 실행

$ cd my-project

$ npm install

$ npm run dev
사용하기
사용하기
>> Hello Vue!

I am Vue
사용하기
레거시
원모먼트 Vue js 적용기
1. 메인 페이지
원모먼트 레거시
2. 결제 오류
정상적인 결제 루틴
원모먼트 결제 루틴
Order Sheets > PG > Status Change
PG > Order Sheets > Status Change
결제가 됐는데 관리자 페이지에 정보가 없어요!
원모먼트 레거시
원모먼트 Vue js 적용기
1. 뜯어 고치자! 처음부터!
- 백엔드는 추후 앱을 고려 해 RestFul API 로 변경
2. Front-End 이왕이면 프레임 워크를 써보자
- 가능한 빨리 적용 할 수 있는 걸로!
한다. 일. 쓴다. Vue.
해결 방법
달라진 점
nginx
기존 아키텍쳐
변경 된 아키텍쳐
Python
Django
django-osacr
ViewDB
nginx
Python
Django
django-osacr
Vue DB
달라진 점
달라진 점
달라진 점
<app-header><app-header>

<banner></banner>
달라진 점
<category-nav></category-nav>

<set-product-carousel></set-product-carousel>
달라진 점
<normal-product-card v-for="product in products">

</normal-product-card>
달라진 점
<additional-product-card v-for="product in AdditionalProducts">

</additional-product-card>
달라진 점
<app-footer></app-footer>
달라진 점
달라진 점
원모먼트 Vue js 적용기
오픈소스 만들기
1. 음력 달력이 필요해!
라이브러리가 중국어 밖에 없잖아!?
계기
그럼 만들지 뭐
시안
1. webpack 설정하기
webpack 이란?
JavaScript 모듈 번들
러(Bundler)
과정
- mkdir vue-lunar-calendar && cd vue-lunar-calendar
- yarn add --dev webpack
// webpack.config.js
과정
- yarn build
- yarn start
과정
// package.json
과정
2. 소스 작성하기
// index.js
// Calnedar.vue



<day-cell></day-cell>
과정
3. 데모 작성
// webpack.dev.config.js
과정
3. 데모 작성
// package.json
- yarn demo
- yarn start
과정
3. 데모 작성
// index.html
App.vue 호출
과정
4. 데모 사이트 올리기
과정
5. README.md 작성하기
# 제목 + 설명

# 데모 사이트

# 설치 방법

# 사용 방법

# Property

# Event

# 지원 언어

# Thanks for
- npm publish
과정
6. 배포하기
https://kimwoohyun.github.io/vue-lunar-calendar/
결과
등록 확인
npmjs.com/package/패키지이름
설치
npm install vue-lunar-calendar —save
선언
import lunarCalendar from ‘vue-lunar-calendar’
Vue.component('lunar-calendar', lunarCalendar)
사용

<lunar-calendar></lunar-calendar>
적용
등록 이후
http://git-awards.com/
등록 이후
홍보를 해볼까?
그럼 다국어 지원을 해야 하지 않을까!?
그럼 하지 뭐
// 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'
}
}
};
원모먼트 Vue js 적용기
https://github.com/vuejs/awesome-vue
홍보
홍보
홍보
몇 주 후
홍보
원모먼트 Vue js 적용기
최종
Q&A
감사합니다.

More Related Content

PPTX
catharanthus roseus madagascar periwinkle
PPTX
Microgreens
PPTX
Organisation, training and ncc song
PDF
시장조사와 수익성분석
PPTX
Microgreens
PDF
Dry leaf litter composting
PDF
IoT and Physics - from a simple pendulum to cosmic rays
PPTX
Varietal and seed use of faba bean in Ethiopia: implication of the national s...
catharanthus roseus madagascar periwinkle
Microgreens
Organisation, training and ncc song
시장조사와 수익성분석
Microgreens
Dry leaf litter composting
IoT and Physics - from a simple pendulum to cosmic rays
Varietal and seed use of faba bean in Ethiopia: implication of the national s...

Similar to 원모먼트 Vue js 적용기 (20)

PPTX
Single-page Application
PPTX
Data-binding AngularJS
PPTX
[124] 하이브리드 앱 개발기 김한솔
PDF
웹 Front-End 실무 이야기
PDF
Front end dev 2016 & beyond
PDF
Web Framework (웹 프레임워크)
PDF
[D2 오픈세미나]3.web view hybridapp
PPTX
Vue 뽀개기 1장 환경설정 및 spa설정
PPTX
모바일 크로스플랫폼 비교 - 월간슬라이드 4월
PDF
드래그홈2010홈페이지제안서
PDF
deview2014
PDF
[1A4]자바스크립트 라이브러리 개발 운영 경험기
PDF
2017. 프론트엔드 트랜드
PPTX
Spring Boot + React + Gradle in VSCode
PDF
LucideWorks Banana 소개
PDF
Create App Easier With SVC Pattern - DroidKnights 2019 @Seoul
PDF
okspring3x
PPTX
Angular2 톺아보기
PDF
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
PDF
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
Single-page Application
Data-binding AngularJS
[124] 하이브리드 앱 개발기 김한솔
웹 Front-End 실무 이야기
Front end dev 2016 & beyond
Web Framework (웹 프레임워크)
[D2 오픈세미나]3.web view hybridapp
Vue 뽀개기 1장 환경설정 및 spa설정
모바일 크로스플랫폼 비교 - 월간슬라이드 4월
드래그홈2010홈페이지제안서
deview2014
[1A4]자바스크립트 라이브러리 개발 운영 경험기
2017. 프론트엔드 트랜드
Spring Boot + React + Gradle in VSCode
LucideWorks Banana 소개
Create App Easier With SVC Pattern - DroidKnights 2019 @Seoul
okspring3x
Angular2 톺아보기
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
Ad

More from 우현 김 (6)

PDF
[제3회 스포카콘] React + TypeScript + GraphQL 으로 시작하는 Web Front-End
PDF
Front-End Programmer 의 "데이터 탐방기"
PDF
조금 일찍 시작한 사회 적응기
PDF
Be Creators
PDF
합시다. 회고.
PDF
디자이너와 파티맺기
[제3회 스포카콘] React + TypeScript + GraphQL 으로 시작하는 Web Front-End
Front-End Programmer 의 "데이터 탐방기"
조금 일찍 시작한 사회 적응기
Be Creators
합시다. 회고.
디자이너와 파티맺기
Ad

원모먼트 Vue js 적용기