“Node.js-Engined”                      open source map service                            - Node.js로 구현한 Open Source 맵 서비스...
TOC                   What? Node.js?                   Why Node.js?                   Yes! Node.js                   NodeM...
What? Node.js?12년	 11월	 27일	 화
What? Node.js?                            Server-Side Javascript12년	 11월	 27일	 화
What? Node.js?                            Server-Side Javascript                            Made by V8 Engine             ...
What? Node.js?                            Server-Side Javascript                            Made by V8 Engine             ...
What? Node.js?                            Server-Side Javascript                            Made by V8 Engine             ...
What? Node.js?                            Server-Side Javascript                            Made by V8 Engine             ...
What? Node.js?                            Server-Side Javascript                            Made by V8 Engine             ...
Why? Node.js                         ??12년	 11월	 27일	 화
Why? Node.js     1. Event Loop         Apache Uses one thread/connection         Nginx doesn’t use thread         It uses ...
Why? Node.js     1. Event Loop         Apache Uses one thread/connection         Nginx doesn’t use thread         It uses ...
Why? Node.js     2.Non-block I/O                           synchronous block IO              asynchronous non-block IO    ...
Why? Node.js     2.Non-block I/O                           synchronous block IO              asynchronous non-block IO    ...
Why? Node.js     2.Non-block I/O                           synchronous block IO              asynchronous non-block IO    ...
Why? Node.js    2.Non-block I/O          Blocking code12년	 11월	 27일	 화
Why? Node.js    2.Non-block I/O          Blocking code          Non - blocking code12년	 11월	 27일	 화
Why? Node.js    2.Non-block I/O          Blocking code          Non - blocking code12년	 11월	 27일	 화
Yes! Node.js12년	 11월	 27일	 화
Yes! Node.js    Modules                                                    java - maven  /Users/dev/node.js> npm install  ...
Yes! Node.js    NVM - Node.js Version Manager                                    Preventing headache                      ...
Yes! Node.js    NVM - Node.js Version Manager   真っ白に燃え尽きたジョーは、どこか満足そう                                    な顔をしている          ...
Node Map                   •   Image Service                   •   Vector Service                   •   Tile Making       ...
Node Map    1. DB Connector - pg                                           /Users/dev/node.js> npm install pg             ...
Node Map    1. pg - Why not mongo?                             •   Poor Spatial Index                                 - Ju...
Node Map    2. Web module - express   /Users/dev/node.js> npm install express                                        •   M...
Node Map    3. Image Processing - Node-Canvas    /Users/dev/node.js> npm install canvas                                   ...
At a glance12년	 11월	 27일	 화
At a glance12년	 11월	 27일	 화
Demo12년	 11월	 27일	 화
Test - 20user                   A corp. – C Engine   B corp. – JAVA Engine   NodeMap12년	 11월	 27일	 화
Test - 20user                   A corp. – C Engine         B corp. – JAVA Engine             NodeMap                      ...
Test - 50user                   A corp. – C Engine   B corp. – JAVA Engine   NodeMap12년	 11월	 27일	 화
Test - 50user                   A corp. – C Engine         B corp. – JAVA Engine              NodeMap                     ...
Test - 100user                   A corp. – C Engine   B corp. – JAVA Engine   NodeMap12년	 11월	 27일	 화
Test - 100user                   A corp. – C Engine        B corp. – JAVA Engine             NodeMap                      ...
Insight from Test                          VS12년	 11월	 27일	 화
Where? NodeMap!                                       @iam_keen                                       ehrudxo@gmail.com   ...
Beyond the border                     Between Client & Server language12년	 11월	 27일	 화
Thank You!                      •   Q&A12년	 11월	 27일	 화
Upcoming SlideShare
Loading in …5
×

Node map keynote -FOSS4G Osaka

3,121 views

Published on

It is the keynote of nodeMap.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,121
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Node map keynote -FOSS4G Osaka

  1. 1. “Node.js-Engined” open source map service - Node.js로 구현한 Open Source 맵 서비스 Doh Kyoung Tae12년 11월 27일 화
  2. 2. TOC What? Node.js? Why Node.js? Yes! Node.js NodeMap! Benchmark Test12년 11월 27일 화
  3. 3. What? Node.js?12년 11월 27일 화
  4. 4. What? Node.js? Server-Side Javascript12년 11월 27일 화
  5. 5. What? Node.js? Server-Side Javascript Made by V8 Engine (= Chrome Javascript Engine)12년 11월 27일 화
  6. 6. What? Node.js? Server-Side Javascript Made by V8 Engine (= Chrome Javascript Engine) vs Rhino, SpiderMonkey12년 11월 27일 화
  7. 7. What? Node.js? Server-Side Javascript Made by V8 Engine (= Chrome Javascript Engine) vs Rhino, SpiderMonkey Common JS Spec.12년 11월 27일 화
  8. 8. What? Node.js? Server-Side Javascript Made by V8 Engine (= Chrome Javascript Engine) vs Rhino, SpiderMonkey Common JS Spec. Modules 1.0 spec draft12년 11월 27일 화
  9. 9. What? Node.js? Server-Side Javascript Made by V8 Engine (= Chrome Javascript Engine) vs Rhino, SpiderMonkey Common JS Spec. Modules 1.0 spec draft company, community, developer12년 11월 27일 화
  10. 10. Why? Node.js ??12년 11월 27일 화
  11. 11. Why? Node.js 1. Event Loop Apache Uses one thread/connection Nginx doesn’t use thread It uses event Loop thread vs event loop12년 11월 27일 화
  12. 12. Why? Node.js 1. Event Loop Apache Uses one thread/connection Nginx doesn’t use thread It uses event Loop thread vs event loop12년 11월 27일 화
  13. 13. Why? Node.js 2.Non-block I/O synchronous block IO asynchronous non-block IO vs http://www.ibm.com/developerworks/linux/library/l-async/12년 11월 27일 화
  14. 14. Why? Node.js 2.Non-block I/O synchronous block IO asynchronous non-block IO vs http://www.ibm.com/developerworks/linux/library/l-async/12년 11월 27일 화
  15. 15. Why? Node.js 2.Non-block I/O synchronous block IO asynchronous non-block IO vs http://www.ibm.com/developerworks/linux/library/l-async/12년 11월 27일 화
  16. 16. Why? Node.js 2.Non-block I/O Blocking code12년 11월 27일 화
  17. 17. Why? Node.js 2.Non-block I/O Blocking code Non - blocking code12년 11월 27일 화
  18. 18. Why? Node.js 2.Non-block I/O Blocking code Non - blocking code12년 11월 27일 화
  19. 19. Yes! Node.js12년 11월 27일 화
  20. 20. Yes! Node.js Modules java - maven /Users/dev/node.js> npm install Linux - rpm node.js - npm ..... homebrew - brew exports .defineFunction = function(){ ……. } var usingFunction = require(‘ModuleA’) .defineFunction;12년 11월 27일 화
  21. 21. Yes! Node.js NVM - Node.js Version Manager Preventing headache from Dependency Hell.12년 11월 27일 화
  22. 22. Yes! Node.js NVM - Node.js Version Manager 真っ白に燃え尽きたジョーは、どこか満足そう な顔をしている Preventing headache from Dependency Hell.12년 11월 27일 화
  23. 23. Node Map • Image Service • Vector Service • Tile Making • Using Canvas - Image Effect12년 11월 27일 화
  24. 24. Node Map 1. DB Connector - pg /Users/dev/node.js> npm install pg pg.connect(conString, function(err, client) { ! client.query("SELECT NOW() as when", function(err, result) { ! ! console.log("Row count: %d",result.rows.length); / 1 / ! ! console.log("Current year: %d", result.rows[0].when.getYear()); ! }); }); pg module12년 11월 27일 화
  25. 25. Node Map 1. pg - Why not mongo? • Poor Spatial Index - Just Point support • Post GIS Limitation - Block I/O - So, DB can be bottle neck • Alternative Way - couch DB12년 11월 27일 화
  26. 26. Node Map 2. Web module - express /Users/dev/node.js> npm install express • MVC Web Framework - jade support - like spring in java • Always Top Module - npm registry12년 11월 27일 화
  27. 27. Node Map 3. Image Processing - Node-Canvas /Users/dev/node.js> npm install canvas var Canvas = require(canvas) , canvas = new Canvas(200,200) , ctx = canvas.getContext(2d); ctx.beginPath(); ctx.lineTo(50, 102); ctx.lineTo(50 + te.width, 102); ctx.stroke();12년 11월 27일 화
  28. 28. At a glance12년 11월 27일 화
  29. 29. At a glance12년 11월 27일 화
  30. 30. Demo12년 11월 27일 화
  31. 31. Test - 20user A corp. – C Engine B corp. – JAVA Engine NodeMap12년 11월 27일 화
  32. 32. Test - 20user A corp. – C Engine B corp. – JAVA Engine NodeMap A product response time : AVG 770 ms B product response time : AVG 1363 ms NodeMap response time : AVG 536 ms12년 11월 27일 화
  33. 33. Test - 50user A corp. – C Engine B corp. – JAVA Engine NodeMap12년 11월 27일 화
  34. 34. Test - 50user A corp. – C Engine B corp. – JAVA Engine NodeMap A product response time : AVG 1955ms B product response time : AVG 20513 ms NodeMap response time : AVG 1351ms12년 11월 27일 화
  35. 35. Test - 100user A corp. – C Engine B corp. – JAVA Engine NodeMap12년 11월 27일 화
  36. 36. Test - 100user A corp. – C Engine B corp. – JAVA Engine NodeMap A product response time : AVG 3841ms B product response time : AVG - ms NodeMap response time : AVG 2635ms12년 11월 27일 화
  37. 37. Insight from Test VS12년 11월 27일 화
  38. 38. Where? NodeMap! @iam_keen ehrudxo@gmail.com https://github.com/ehrudxo/nodeMap12년 11월 27일 화
  39. 39. Beyond the border Between Client & Server language12년 11월 27일 화
  40. 40. Thank You! • Q&A12년 11월 27일 화

×