CoreDot TechSeminar 2018 - Session2 Ji DonghyunCore.Today
코어닷 기술 세미나 2018
Session #2 : 지동현 (NXTechnology 개발팀장)
Node.JS를 활용하여 IoT 플랫폼 만들기
15:00 ~ 15:50
프론트엔드와 백엔드가 함께 소통하기 위해 필요한 API. 그 API를 Node.JS로 만들고, 이를 IoT에서 활용하는 우리 회사의 사례를 소개해 드립니다.
- API란?
- 왜 Node.JS가 좋은가
- IoT에 적용해 보는 Node.JS
https://coredottoday.github.io/2018/10/15/Coredot-기술-세미나/
https://www.youtube.com/watch?v=Uf8Ef_UZFYQ
CoreDot TechSeminar 2018 - Session1 Park JihunCore.Today
코어닷 기술 세미나 2018
Session #1 : 박지훈 (코어닷투데이 개발자)
파이썬을 이용해 세상에서 가장 쓸모없는 홈페이지 만들기
14:00 ~ 14:50
Python Flask로 사용자가 글을 쓰면, 마음대로 수정하고 삭제해버리는 쓸모없는 웹사이트(Useless Website)를 만들어 봅니다.
- Python라이브러리인 flask을 이용한 웹사이트 개발 과정 소개
- MongoDB를 이용해 웹사이트상에서 게시물 작성,조회,수정,삭제(CRUD) 기능 구현 실습
https://coredottoday.github.io/2018/10/15/Coredot-기술-세미나/
https://www.youtube.com/watch?v=gfbWxyz7Zeo
[IoT] MAKE with Open H/W + Node.JS - 2ndPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
CoreDot TechSeminar 2018 - Session2 Ji DonghyunCore.Today
코어닷 기술 세미나 2018
Session #2 : 지동현 (NXTechnology 개발팀장)
Node.JS를 활용하여 IoT 플랫폼 만들기
15:00 ~ 15:50
프론트엔드와 백엔드가 함께 소통하기 위해 필요한 API. 그 API를 Node.JS로 만들고, 이를 IoT에서 활용하는 우리 회사의 사례를 소개해 드립니다.
- API란?
- 왜 Node.JS가 좋은가
- IoT에 적용해 보는 Node.JS
https://coredottoday.github.io/2018/10/15/Coredot-기술-세미나/
https://www.youtube.com/watch?v=Uf8Ef_UZFYQ
CoreDot TechSeminar 2018 - Session1 Park JihunCore.Today
코어닷 기술 세미나 2018
Session #1 : 박지훈 (코어닷투데이 개발자)
파이썬을 이용해 세상에서 가장 쓸모없는 홈페이지 만들기
14:00 ~ 14:50
Python Flask로 사용자가 글을 쓰면, 마음대로 수정하고 삭제해버리는 쓸모없는 웹사이트(Useless Website)를 만들어 봅니다.
- Python라이브러리인 flask을 이용한 웹사이트 개발 과정 소개
- MongoDB를 이용해 웹사이트상에서 게시물 작성,조회,수정,삭제(CRUD) 기능 구현 실습
https://coredottoday.github.io/2018/10/15/Coredot-기술-세미나/
https://www.youtube.com/watch?v=gfbWxyz7Zeo
[IoT] MAKE with Open H/W + Node.JS - 2ndPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
[IoT] MAKE with Open H/W + Node.JS - 3rdPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
[IoT] MAKE with Open H/W + Node.JS - 3rdPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
OpenStack DevStack Install - 2부 (Multi-nodes)Ian Choi
OLC 온라인 강좌 중 DevStack에 대한 두 번째 자료입니다.
( URL: http://olc.kr/course/course_online_view.jsp?id=480&cid=523 )
DevStack은 OpenStack을 실제 구성하는 대신, 개발 및 테스트 용도로 쉽게 설치 가능한 스크립트입니다.
2부에서는 Multi-nodes 모드 설치 과정을 설명하며, Icehouse Release 기반의 실습 내용을 포함하였습니다.
* 혼자 공부하려고 만든 자료이기 때문에 정확하지 않는 내용이나 오류가 있을 수 있습니다. 잘못된 점은 언제든지 고쳐주시면 배우겠습니다.
* phpDocumentor란?
phpDocumentor는 제작한 프로젝트에 대해서 문서화 해주는 도구를 말한다. 공식 홈페이지에서는 'PHP에 대한 세계 표준 자동 문서 도구(phpDocumentor is the world standard auto-documentation tool for PHP.)'라고 설명하고 있다.
우선은 phpDocumentor가 왜 수면위로 떠오르게 되었는지에 대해서 짚고 넘어가야 할 것 같다. PHP는 본래 컴파일 없이 라인 단위로 처리하는 스크립트 언어이다. 아무래도 스크립트 언어는 라인별 처리라는 개념 덕분인지 진입장벽이 낮아 독학하기에 좋은 언어였다. 그로 인해 사용률이 많아지고 인기가 많아지는 동시에 스크립트 언어에 대한 약점에 대해서 생각하게 되었던 것 같다. PHP 5로 넘어가면서 본격적으로 객체에 대한 개념이 강화되고, 이를 이용한 다양한 프레임워크가 개발되고 있다. 스크립트 언어에 대한 약점을 컴파일 언어에서 그 해답을 찾고자 했던 것 같다.
컴파일 언어의 대표적인 사례인 JAVA에서는 이미 javadoc이라는 문서화 도구가 존재하고 있었다. 아마도 phpDocumentor는 javadoc의 php 버전이었으리라. 사용 방법도 javadoc과 크게 다르지 않다. php도 객체지향 개념이 나오면서 어떤 정형화된 패턴이 나오는 것이 가정해졌기 때문에 그 공통적인 부분을 문서를 만들 수 있게 되었다.
* 주석
주석은 자신을 포함하여 프로젝트에 참여하는 사람들에게 쉽게 알아볼 수 있도록 하는 역할을 해준다. 주석을 최소화하는 것을 장려하는 사람들도 있긴 하지만, 프로젝트가 커질 수록 작은 코드가 어떤 역할을 할 수 있는지 모를 수도 있다. 그때 작업자는 그 코드에 대해서 설명글을 달아줄 수 있다. 주석은 사람이 알아볼 수 있게 쓰는 일종이 메모의 역할을 한다.
* 마무리
phpDocumentor로 대단한 것을 할 수 있는 것은 아니다. 어쩌면 이 도구로 할 수 있는 것은 자료보관일 뿐일 것이다.
사실 Phpdoc이 많은 곳에서 쓰이고 있지는 않다. 대부분의 개발자들은 코드를 보면 쉽게 알 수 있을 것이라고 말하거나 귀찮아 한다. 그만큼 손도 많이 가고 굳이 해야 하나 싶기도 하는 작업이 바로 이 작업이다. 프로젝트가 개발자에 종속되는 것은 매우 좋지 않은 현상이며, 많은 개발자들이 수긍할 수 있는 코드가 좋은 프로젝트라고 생각한다. 그들이 쉽게 프로젝트의 유지보수에 투입되려면 한눈에 정리되어있는 문서가 필요한데 문서의 유지보수는 생각보다 어렵다. 그래서 이 도구가 문서를 작성하는 데에 중요한 역할을 하는 것이다.
16. NPM 기초 명령어 및 프로젝트 폴더 생성
node –v : Node.js 버전 확인
npm –v : NPM 버전 확인
npm init : Node 프로젝트를 위한 package.json
파일 생성 => 초기화
npm lnstall 패키지명 : 패키지 설치
20. HEROKU 란?
여러 프로그래밍 언어를 지원하는 클라우드 플랫폼
서비스
웹 서버의 기능을 포함하는 플랫폼 및 인프라 제공
(빌드, 배포, 환경설정, 확장, 튜닝 등)
간단한 웹 페이지를 올릴 수 있는 무료 서버 제공
(512MB 메모리, 1 web / 1 worker)
21.
22. CLI (Command Line Interface)
: 터미널 창에서 heroku 명령어를 사용할 수 있음
헤로쿠 CLI 설치
https://devcenter.heroku.com/articles/heroku -cli
23. 자신의 헤로쿠 앱 목록
=> 카카오톡 응답 서버를 배포할 헤로쿠 앱 생성
개인 헤로쿠 화면
24. vscode 터미널에서 헤로쿠 로그인
heroku login : 헤로쿠 접속
=> 헤로쿠 email & password 입력
38. 응답 메시지 형식
데이터를 Request Body 에 담아서 보내는 HTTP 요청 방식
/message 경로로 요청
사용자가 입력한 메시지가 content 안에 담겨서 보내진다.
content는 request body 안에 저장
39. npm install --save body-parser
body-parser
• 클라이언트에서 요청한 데이터가
담겨 있는 request body 를 읽어
req.body 객체를 생성
urlencoded ()
• UTF-8 인코딩을 지원
json()
• 데이터를 JSON 형태로 가져옴
40. req.body.content
• 사용자가 카톡에 입력한 대화 내용은
request body의 content 객체 안에
담겨 전송된다.
var responseMsg
• 카톡 사용자에게 응답해줄 메시지 작성
res.json()
• 응답 메시지를 JSON 형식으로 전송
응답 메시지 작성
41. • git add . && git commit –m “”
• git push heroku master
변경된 코드 적용 및 헤로쿠 재배포