SlideShare a Scribd company logo
1 of 44
Download to read offline
풀스택 개발자를 위한
MEAN
스택입문
초스피드 훑어보기
+
기존 자바스크립트는…
Ctrl C+
Ctrl V+
웹UI 를 살짝 꾸며주거나 그리 전문적이지 못한 인식
복사/붙여넣기
+
지금의 자바스크립트는?
기존의 인식변화
WEBUI뿐만 아니라 범용프로그래밍 언어
자바스크립트의 재평가
프로토타입기반 언어
+
자바스크립트 환경의 변화
V8엔진
각종
JS라이브러리등장
HTML5의등장 AJAX로
시작된 지각변동
웹의 영향력
증가
+
+
www.salmanq.com/blog/net-and-node-js-performance-comparison/2013/03/
+
+
+
모든 것을
자바스크립트로 한다고?
+
모든 것을
자바스크립트로 한다고!
DB는? 웹서버는? Front-end와 UI는? Back-end는?
+
Full-Stack
자바스크립트
개발의 전 영역을 자바스크립트로 간다!
+
+
V8엔진위에서동작하는자바스크립트 플랫폼
비동기I/O,단일스레드이벤트loop를이용한높은 처리성능
내장 HTTP 라이브러리 네트워크 프로그래밍에 특화
+
믿어도
되는건가요?
기존 개발방식과 비교하여 장단점이 있다.
빠른 개발
자바스크립트에 익숙하다면 O.K
굉장히 많은 모듈/라이브러리
비동기 I/O를 통한 효율증가
기존 개발자들에겐 부담
‘아직은…’ 이라는 망설임
여러 노하우들의 부재
동기 I/O에 익숙한 개발
+
실제 사례로
한번 봅시다.
www.paypal-engineering.com/2013/11/22/node-js-at-paypal
+
그루폰, 월마트, 야후
www.zdnet.co.kr/news/news_view.asp?artice_id=20140307103242
+쉽고 빠른 개발
수 많은 모듈들
+C 언어로
만든 소켓서버
+
ㅉJava로
만든 소켓서버
C보단 낫네…
+
ㅉ
Node.js 웹서버
어때요,참쉽죠?
초간단
+
ㅉ
Node.js 웹서버
초간단
뭘해도 Hello World! 밖에 안뜨는데요?
페이지를 다양하게 보여주고 싶어요…
더 많은 기능은 없나요?
+
ㅉ
Express 그래서 Express가 등장하게 됩니다.
+
ㅉ
Express
Node.js에서 동작하는 웹 개발 프레임워크 모듈
작고 유연한 구조. 미들웨어를 통한 확장.
+
ㅉNode.js 모듈
수많은 모듈들
간편한 설치
빠른 개발의 원동력
+
ㅉ
Express
적은 코드, 신속한 웹 개발!
+
ㅉ
비동기 I/O
I/O 작업은 node에게 맡기고 하던 일 계속한다.
http://www.slideshare.net/Byungwook/nodejs-vertx
+
ㅉ
비동기 I/O
I/O 작업은 오버헤드가 크다.
http://www.slideshare.net/Byungwook/nodejs-vertx
+
ㅉ
비동기 I/O vs 동기 I/O
http://www.slieshare.net/Byungwook/nodejs-vertx
동기 I/O 비동기 I/O
+
ㅉ
비동기 I/O vs 동기 I/O
총 처리량의 차이
실행순서를 고려해주어야 함
But, 우리는 동기방식에 익숙해져있다.
+
Node.js를 제대로
이용하기 위해서는
비동기 I/O에 친숙해져야 한다!
+
ㅉ
MongoDB
NoSQL의 한 종류
전통적인 RDBMS보다 덜 엄격함
+
ㅉ
MongoDB
자바스크립트의 간결함
JSON 표현식의 편리함
차세대 오류처리 Promise와의 만남
Node만의 빠른 개발
+
ㅉ
MongoDB
진작에 좀 알려주지
+
아직 안 끝났다.
여기까지가 Back-end!
+
ㅉ
AngularJS
MVC 구조의 개발 및 유지보수가 편리
양방향 데이터 바인딩 지원
Ajax와 웹 소켓 등 복잡함 해결
단일 페이지 앱(Single Page Application) 프레임워크
+
ㅉ
양방향 데이터 바인딩
Binding
+
jQuery로도 복잡한 코드가…
AngularJS는 간단하네!
+
ㅉ
MVC 구조
Model
View Controller
사용자
갱신
일종의 데이터
데이터 조작
함수/객체
데이터를 화면에
보이게 하는 놈
조작
사용보여짐
+
ㅉ
MVC 구조
+
ㅉ
그 밖의 기능들
ng-repeat 지시자
디렉티브를 통한 확장
RESTful 지원
의존성 주입
간단한 SPA 구현
필터 기능
+
MEAN 스택에 대해서
하지 못한 이야기는 매우 많지만
초스피드로 알아보았습니다.
좀 더 공부를 하고 싶다면…
풀스택 개발자를 위한
MEAN
스택입문
초스피드 훑어보기
체계적으로 배우는 MongoDB, Express, AngularJS, Node.js
애덤 브레츠, 콜린 J. 이릭
박재호 역
한빛미디어
ISBN: 978-89-6848-218-2
+
같이 보면
좋아요
HTML5의등장
자바스크립트 Node.js Express MongoDB AngularJS
+
이 책을 한 줄로
말하자면요…
자바스크립트
4/5
• 얇아요! 가벼워요!
• MEAN에 대해 전반적인 지식/분위기를 알 수 있어요!
• 필요한 내용은 다 들어가 있어요.
• 입문서로 제격이에요!
• 이제 다른 참고서적으로 이제 넘어갈 수가 있겠어요~
• 자바스크립트를 알아야 볼 수 있어요.
• 어느 정도 웹 개발 경험이 있어야 되요.
• 분명 좋은 예제들인데 지면으로 보면 힘들어요 ㅠㅠ
(예제소스 파일들 내려보면 되요~)
http://qnrdlqkrwhdgns.canxan.com

More Related Content

What's hot

원모먼트 Vue js 적용기
원모먼트 Vue js 적용기원모먼트 Vue js 적용기
원모먼트 Vue js 적용기우현 김
 
웹-프론트엔드 프레임워크를 고르기 위한 팁
웹-프론트엔드 프레임워크를 고르기 위한 팁웹-프론트엔드 프레임워크를 고르기 위한 팁
웹-프론트엔드 프레임워크를 고르기 위한 팁WebFrameworks
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with AngularJT Jintae Jung
 
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신Sungwoo Choo
 
Angular 기본 개념 잡기
Angular 기본 개념 잡기Angular 기본 개념 잡기
Angular 기본 개념 잡기장현 한
 
최근 Javascript framework 조사
최근 Javascript framework 조사최근 Javascript framework 조사
최근 Javascript framework 조사Kichul Jung
 
vuetiful korea 발표자료
vuetiful korea 발표자료vuetiful korea 발표자료
vuetiful korea 발표자료치웅 이
 
오늘 당장 시작하는 HTML5
오늘 당장 시작하는 HTML5오늘 당장 시작하는 HTML5
오늘 당장 시작하는 HTML5Taegon Kim
 
위플래닛 발표자료 Meteor_js
위플래닛 발표자료 Meteor_js위플래닛 발표자료 Meteor_js
위플래닛 발표자료 Meteor_jsWebFrameworks
 
[D2 오픈세미나]1.무한스크롤성능개선
[D2 오픈세미나]1.무한스크롤성능개선[D2 오픈세미나]1.무한스크롤성능개선
[D2 오픈세미나]1.무한스크롤성능개선NAVER D2
 
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainGolang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainNAVER Engineering
 
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Sang Seok Lim
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 jeong seok yang
 
컴포넌트 관점에서 개발하기
컴포넌트 관점에서 개발하기컴포넌트 관점에서 개발하기
컴포넌트 관점에서 개발하기우영 주
 
응답하라 반응형웹 - 4. angular
응답하라 반응형웹 - 4. angular응답하라 반응형웹 - 4. angular
응답하라 반응형웹 - 4. angularredribbon1307
 
목적에 맞게 Angular, React, Vue
목적에 맞게 Angular, React, Vue목적에 맞게 Angular, React, Vue
목적에 맞게 Angular, React, VueGunhee Lee
 

What's hot (20)

원모먼트 Vue js 적용기
원모먼트 Vue js 적용기원모먼트 Vue js 적용기
원모먼트 Vue js 적용기
 
웹-프론트엔드 프레임워크를 고르기 위한 팁
웹-프론트엔드 프레임워크를 고르기 위한 팁웹-프론트엔드 프레임워크를 고르기 위한 팁
웹-프론트엔드 프레임워크를 고르기 위한 팁
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
 
Mean stack Start
Mean stack StartMean stack Start
Mean stack Start
 
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신
 
Angular 기본 개념 잡기
Angular 기본 개념 잡기Angular 기본 개념 잡기
Angular 기본 개념 잡기
 
최근 Javascript framework 조사
최근 Javascript framework 조사최근 Javascript framework 조사
최근 Javascript framework 조사
 
vuetiful korea 발표자료
vuetiful korea 발표자료vuetiful korea 발표자료
vuetiful korea 발표자료
 
오늘 당장 시작하는 HTML5
오늘 당장 시작하는 HTML5오늘 당장 시작하는 HTML5
오늘 당장 시작하는 HTML5
 
위플래닛 발표자료 Meteor_js
위플래닛 발표자료 Meteor_js위플래닛 발표자료 Meteor_js
위플래닛 발표자료 Meteor_js
 
[D2 오픈세미나]1.무한스크롤성능개선
[D2 오픈세미나]1.무한스크롤성능개선[D2 오픈세미나]1.무한스크롤성능개선
[D2 오픈세미나]1.무한스크롤성능개선
 
iOS9 소개
iOS9 소개iOS9 소개
iOS9 소개
 
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainGolang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchain
 
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트
 
컴포넌트 관점에서 개발하기
컴포넌트 관점에서 개발하기컴포넌트 관점에서 개발하기
컴포넌트 관점에서 개발하기
 
Cooking jquery
Cooking jqueryCooking jquery
Cooking jquery
 
응답하라 반응형웹 - 4. angular
응답하라 반응형웹 - 4. angular응답하라 반응형웹 - 4. angular
응답하라 반응형웹 - 4. angular
 
목적에 맞게 Angular, React, Vue
목적에 맞게 Angular, React, Vue목적에 맞게 Angular, React, Vue
목적에 맞게 Angular, React, Vue
 

Similar to [리뷰] 풀스택 개발자를 위한 MEAM 스택 입문

[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...JinKwon Lee
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyondJae Sung Park
 
[D2 오픈세미나]3.자바스크립트mean스택 김태훈
[D2 오픈세미나]3.자바스크립트mean스택 김태훈[D2 오픈세미나]3.자바스크립트mean스택 김태훈
[D2 오픈세미나]3.자바스크립트mean스택 김태훈NAVER D2
 
[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임sung ki choi
 
Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스WebFrameworks
 
IGAWorks, 혼자서 2주일만에 서비스 론칭하기 -백정상 팀장 :: AWS 파트너 테크시프트 세미나
IGAWorks, 혼자서 2주일만에 서비스 론칭하기 -백정상 팀장 :: AWS 파트너 테크시프트 세미나 IGAWorks, 혼자서 2주일만에 서비스 론칭하기 -백정상 팀장 :: AWS 파트너 테크시프트 세미나
IGAWorks, 혼자서 2주일만에 서비스 론칭하기 -백정상 팀장 :: AWS 파트너 테크시프트 세미나 Amazon Web Services Korea
 
Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Daum DNA
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향ssuser0e53c8
 
이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께지수 윤
 
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
초고속 웹사이트 개발을 위한 Codeigniter PHP FrameworkInseok Lee
 
올챙이로 살펴보는 개발툴과 Cloud
올챙이로 살펴보는 개발툴과 Cloud올챙이로 살펴보는 개발툴과 Cloud
올챙이로 살펴보는 개발툴과 Cloudcho hyun jong
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론Hankyo
 
프론트엔드 개발 첫걸음
프론트엔드 개발 첫걸음프론트엔드 개발 첫걸음
프론트엔드 개발 첫걸음DataUs
 
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)Sang Don Kim
 
Unionweb프로젝트
Unionweb프로젝트Unionweb프로젝트
Unionweb프로젝트Dong-Jin Park
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 
Bootstrap에 대해서 정기철
Bootstrap에 대해서 정기철Bootstrap에 대해서 정기철
Bootstrap에 대해서 정기철Kichul Jung
 

Similar to [리뷰] 풀스택 개발자를 위한 MEAM 스택 입문 (20)

[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
 
[D2 오픈세미나]3.자바스크립트mean스택 김태훈
[D2 오픈세미나]3.자바스크립트mean스택 김태훈[D2 오픈세미나]3.자바스크립트mean스택 김태훈
[D2 오픈세미나]3.자바스크립트mean스택 김태훈
 
[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임
 
Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스Meteor를 통해서 개발하는 웹어플리케이션 서비스
Meteor를 통해서 개발하는 웹어플리케이션 서비스
 
IGAWorks, 혼자서 2주일만에 서비스 론칭하기 -백정상 팀장 :: AWS 파트너 테크시프트 세미나
IGAWorks, 혼자서 2주일만에 서비스 론칭하기 -백정상 팀장 :: AWS 파트너 테크시프트 세미나 IGAWorks, 혼자서 2주일만에 서비스 론칭하기 -백정상 팀장 :: AWS 파트너 테크시프트 세미나
IGAWorks, 혼자서 2주일만에 서비스 론칭하기 -백정상 팀장 :: AWS 파트너 테크시프트 세미나
 
One ASP.NET
One ASP.NETOne ASP.NET
One ASP.NET
 
Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향
 
CSS Layout
CSS LayoutCSS Layout
CSS Layout
 
이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께
 
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
초고속 웹사이트 개발을 위한 Codeigniter PHP Framework
 
올챙이로 살펴보는 개발툴과 Cloud
올챙이로 살펴보는 개발툴과 Cloud올챙이로 살펴보는 개발툴과 Cloud
올챙이로 살펴보는 개발툴과 Cloud
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
프론트엔드 개발 첫걸음
프론트엔드 개발 첫걸음프론트엔드 개발 첫걸음
프론트엔드 개발 첫걸음
 
모바일환경과 개발방향
모바일환경과 개발방향 모바일환경과 개발방향
모바일환경과 개발방향
 
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
 
Unionweb프로젝트
Unionweb프로젝트Unionweb프로젝트
Unionweb프로젝트
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
Bootstrap에 대해서 정기철
Bootstrap에 대해서 정기철Bootstrap에 대해서 정기철
Bootstrap에 대해서 정기철
 

More from 종훈 박

PHP와 함께 한 개발 성장기
PHP와 함께 한 개발 성장기PHP와 함께 한 개발 성장기
PHP와 함께 한 개발 성장기종훈 박
 
테스트 코드 삽질기 + 리팩토링
테스트 코드 삽질기 + 리팩토링테스트 코드 삽질기 + 리팩토링
테스트 코드 삽질기 + 리팩토링종훈 박
 
MFC 유틸리티 클래스
MFC 유틸리티 클래스MFC 유틸리티 클래스
MFC 유틸리티 클래스종훈 박
 
MFC 발견 (2)
MFC 발견 (2)MFC 발견 (2)
MFC 발견 (2)종훈 박
 
MFC 발견 (1)
MFC 발견 (1)MFC 발견 (1)
MFC 발견 (1)종훈 박
 
MFC 핵심개념
MFC 핵심개념MFC 핵심개념
MFC 핵심개념종훈 박
 
MFC 개발설정
MFC 개발설정MFC 개발설정
MFC 개발설정종훈 박
 

More from 종훈 박 (8)

PHP와 함께 한 개발 성장기
PHP와 함께 한 개발 성장기PHP와 함께 한 개발 성장기
PHP와 함께 한 개발 성장기
 
테스트 코드 삽질기 + 리팩토링
테스트 코드 삽질기 + 리팩토링테스트 코드 삽질기 + 리팩토링
테스트 코드 삽질기 + 리팩토링
 
Make: 센서
Make: 센서Make: 센서
Make: 센서
 
MFC 유틸리티 클래스
MFC 유틸리티 클래스MFC 유틸리티 클래스
MFC 유틸리티 클래스
 
MFC 발견 (2)
MFC 발견 (2)MFC 발견 (2)
MFC 발견 (2)
 
MFC 발견 (1)
MFC 발견 (1)MFC 발견 (1)
MFC 발견 (1)
 
MFC 핵심개념
MFC 핵심개념MFC 핵심개념
MFC 핵심개념
 
MFC 개발설정
MFC 개발설정MFC 개발설정
MFC 개발설정
 

[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문