Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

22
a Simple Powerful Platform Hendri Karisma CodeLabs UNIKOM 2014

description

Slide materi seminar opensource programming with node.js and mongoDB. Slide for opensource programming seminar (with node.js and mongoDB) in CodeLabs UNIKOM (Indonesian Computer University) Bandung

Transcript of Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

Page 1: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

a Simple Powerful Platform

Hendri KarismaCodeLabs UNIKOM

2014

Page 2: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

What is NodeJS?

“Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-

intensive real-time applications that run across distributed devices.”

Page 3: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

How Fast

Against Python3, JavaScript V8 Engine has a median benchmark 13 times as fast with

a roughly similar code size. 3 Against Ruby 1.9, the median benchmark is eight

times as fast

Page 4: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

Theory• Build Google’s V8

JavaScript engine• I/O Latency

Page 5: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)
Page 6: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

I/O Latency

Page 7: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

The Problem

Page 8: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

Scale with Multi Thread

• Overhead pada switching• Execution stask take up memory• Complicate concurrency

Page 9: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

Scale with Process

• High memmory Usage• Process scheduling

Page 10: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

The Solution in Node.js

Page 11: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)
Page 12: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)
Page 13: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

Tantangan

• Asynchronizing I/O• Debugging• CPU-Intensive Tasks

– Harus berhati-hati terhadap penggunaan thread untuk setiap tasks

• Perkembangan versi platform sangat cepat

Page 14: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

Keuntungan• Multiplatform• Lightweight• Deadlock free

– single thread, simplifies concurency• Monoglot Programming

– dari mulai back-end hingga front end dapat hanya menggunakan javascript

• Popular• Fast• Community and NPM (8,465 packages)

*2012-03-21• Small core• Short Learning Curve

Page 15: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

NPM• express• socket.io• mongoose

• connect• async• jade

Page 16: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

how to install node.js

• sudo add-apt-repository ppa:chris-lea/node.js

• sudo apt-get update• sudo apt-get install nodejs

Page 17: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

Demo

• Hello World• SimpleChat Application

Page 18: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

MongoDB (NoSql Database)

• Not Only SQL (NoSQL)• Non Relastional Database Management

System

Page 19: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

Kenapa NoSQL (MongoDB)• Database non relasional• Terdistribusi dan scale out (secara horisontal)• Tanpa skema atau dengan skema yang longgar• Sederhana dalam pemakaian (API)• Kemudahan replikasi

Page 20: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

Document-Oriented

• Notion of a Document• Enkapsulasi dokumen dan enkoding

dalam format standard (XML, JSON, YAML, PDF, dll)

• Mirip relational DB, tetapi setiap ‘row’ tidak harus memiliki struktur yang sama.

Page 21: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

Demo

• Simple CRUD with express and MongoDB

Page 22: Slide Seminar Open Source (CodeLabs UNIKOM Bandung)

Thanks....

Hendri Karismahttp://about.me/hendriKarisma

source code sample program demo dapat di download di https://github.com/situkangsayur?tab=repositories