大阪Node学園 七時限目 「ゼロからはじめるnode.js」

4,246 views

Published on

JAWS FESTA Kansai 2013でのスライドです。

node.jsの概要から主なモジュールの紹介、ElasticBeanStalkでのアプリケーション実行までを紹介しています。

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

No Downloads
Views
Total views
4,246
On SlideShare
0
From Embeds
0
Number of Embeds
93
Actions
Shares
0
Downloads
29
Comments
0
Likes
16
Embeds 0
No embeds

No notes for slide

大阪Node学園 七時限目 「ゼロからはじめるnode.js」

  1. 1. JAWS FESTA Kansai 2013 出張版 大阪Node学園七時限目 ゼロからはじめる node.js 2013/09/28
  2. 2. Agenda 1. はじめに 2. node.jsの概要 3. node.jsの特徴 4. はじめようnode.js 5. node packaged modules 6. サーバサイド環境としてのnode.js 7. コーディングツールとしてのnode.js 8. node.jsとAWS 9. 今後の予定 10. 宣伝
  3. 3. はじめに
  4. 4. 想定対象者 これからnode.jsを触り始めようという方
  5. 5. リンクは です 上の例をのぞいてスライド内のリンクはクリックで外部のサイトが開きます この色
  6. 6. 自己紹介 渡辺俊輔 フリーランスWebエンジニア 大阪Node学園主催 Blog : 質問、訂正な ありましたら下記から うぞ google+ twitter gmail A Node in Nodes 大阪node学園 @craftgear craftgear@gmail.com
  7. 7. node.jsの概要
  8. 8. node.js 正式名称 node 生まれてから4年
  9. 9. runs javascript javascriptで処理を書く
  10. 10. runs on google V8 google v8上で動く v8はchromeに乗っているjavascriptエンジン
  11. 11. without DOM DOMはない
  12. 12. with APIs ファイル操作な のAPIがある Node.js v0.10.18 Manual & Documentation
  13. 13. 二つの側面 サーバサイド環境としてのnode.js コーディングツールとしてのnode.js
  14. 14. javascriptの実行環境
  15. 15. node.jsの特徴
  16. 16. 高いハフォーマンス I/Oバウンドな処理のみ
  17. 17. 非同期処理 従来のLL言語はほぼすべて同期処理 javascriptは生まれながらにして非同期
  18. 18. 豊富なモジュール node packaged modules https://npmjs.org/
  19. 19. 活発なコミュニティ 主に欧米
  20. 20. node.jsの採用例 eBay, LinkedIn, Microsoft, Yahoo な node.jsを利用している企業、団体の一覧
  21. 21. 非同期処理がもたらす恩恵 豊かなエコシステム
  22. 22. はじめようnode.js
  23. 23. インストール バイトリをダウンロードして解凍するのが早くて簡単 自分でコンハイルしたい人はnodebrewとか http://nodejs.org/download/
  24. 24. まず覚えたいこと 2つのコマンド nodeコマンド npmコマンド 2つの概念 コールバック関数 イベントドリブン
  25. 25. nodeコマンド node.jsの本体 スクリプトを実行する バージョン表示 スクリプト実行 対話環境 > node --version v0.11.6 > node hello.js Hello! > node > console.log('Hello!'); Hello!
  26. 26. npmコマンド node package manager npmモジュールの管理を行う 個別モジュールのインストール モジュールのアンインストール ※ Macのhomebrewでnode.jsをインストールした場合にはnpmコマンドの 実行にsudoが必要 > npm install less > npm uninstall less
  27. 27. コールバック関数 jQueryで 馴染み jQueryのdocument.readyの例 jQueryでの呼び名はネンドラ node.jsでのファイル読み出しの例 4行目から7行目のfunctionがコールバック関数 $( document ).ready(function() { // Handler for .ready() called. }); 1 2 3 var fs = require('fs'); fs.readFile(__dirname + '/ong6.txt', {encoding: 'utf-8'} , function (error, result) { console.log(result); process.exit(); } ); 1 2 3 4 5 6 7 8
  28. 28. イベントドリブン こちらもjQueryで 馴染み jQueryの例 documentがreadyになったらネンドラを実行する node.jsの例 ファイルを読み込ん らコールバック関数を実行する 何かの状態になった → 何かの処理をする || || イベント発生 → コールバック関数を実行
  29. 29. nodeとnpmの二つのコマンドを使う コールバックスタイルに慣れよう
  30. 30. node packaged modules
  31. 31. モジュールの探し方 npm search でモジュールを探せる ウゥブサイトを利用すると便利 キーワードでインクリメンタルサーチ フォーク数、スター数な でソート可能 カテゲリから探せる しばらく落ちている模様 本家サイト 検索結果の総数が出ない上、ソートが出来ないので使い らい > npm search less nipster node toolbox npmjs.org
  32. 32. サーバサイド環境としてのnode.js
  33. 33. Webサーバ 標準のhttpモジュール express restify sailsjs
  34. 34. WebSocketサーバ ws Socket.IO SockJS
  35. 35. データベースアクセス (driver) node-mongodb-native redis node-postgres node-mysql
  36. 36. データベースアクセス (ODM/ORM) mongoose sequalize bookshelf jugglingdb
  37. 37. テストフレームワーク mocha nodeunit QUnit
  38. 38. ユーティリティ ... and more and more underscore async johnny-five
  39. 39. コーディングツールとしてのnode.js
  40. 40. メタ言語 coffee-script jade less
  41. 41. ユーティリティ ... and more and more UglifyJS jshint grunt yeoman
  42. 42. モジュールを活用しよう Githubのフォーク数、スター数、最終更 新日を見る
  43. 43. node.jsとAWS
  44. 44. Elastic Beanstalk 自分でサーバを作る必要がない オートスケーリング 対応言語 Java .NET node.js Python PHP Ruby 参考:5ステップでらくらく!アプリ開発者のためのクラウド まかせ構築術
  45. 45. Elastic Beanstalk環境の作成 から ElasticBeanstalkを選択 自動で構築が始まるのでしばらく待つ グリーンになったら完了 Default Environmentのリンクをクリックす ると起動中のサーバにアクセスできる マネジメントコンソール
  46. 46. node.jsのバージョンをあげる 起動時のデフォルトが0.8.24なので0.10.10に変更する ConfigurationのEditボタンをクリックする Software Configurationの歯車をクリック Node versionに0.10.10と入力 ページ下部のsaveボタンをクリックすると自動 で環境のアップデートが始まる 最新バージョンはドキュメントににひっそりと書いてある
  47. 47. 自作アプリのアップロード app.jsを含むファイル一式をzipにまとめる このときディレクトリ とzipにしないこと、"Failed to find package.json" というエラーの原因になる Upload and Deployボタンをクリックする ファイルを選択をクリックし、先ほ 作ったzip ファイルを選択する Deployをクリックすると自動でアップデートが 始まる
  48. 48. Elastic Beanstalkを使うとnode.js アプリケーションのデプロイも簡単
  49. 49. 今後の予定 大阪Node学園八時限目 node.jsみちしるべ 10/28 Innovation EGG 第一回勉強会 出張版
  50. 50. 宣伝 半年ほ 前に本を書きました HTML5とJavaScriptによるiPhone/Android両対応アプリ開発ガイド (DESIGN & WEB TECHNOLOGY)
  51. 51. Thank you! photo by from flickrLance Johnson

×