From df25063c66821aacec0cc46616e8925918c51c1e Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Wed, 13 Feb 2013 13:16:55 -0800 Subject: [PATCH 01/16] added two == for test --- sessions/hour0/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sessions/hour0/README.md b/sessions/hour0/README.md index 98eb119..5c96c9d 100644 --- a/sessions/hour0/README.md +++ b/sessions/hour0/README.md @@ -1,5 +1,5 @@ Node.JS vs Other Languages -======================== +========================== Most developers initially struggle with the asynchronous nature of Node.JS, ecause we're all trained to think like a procedural programmer where we expect a From 0dc07ed7603de79a0950503d988baf88f1a2dcb3 Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Thu, 14 Feb 2013 18:49:24 -0800 Subject: [PATCH 02/16] first stabs at content revamp adding cool stuff!!! --- event-description.md | 20 ++-- lessonplan.md | 241 +++++++++++++++++++++---------------------- 2 files changed, 130 insertions(+), 131 deletions(-) diff --git a/event-description.md b/event-description.md index e5088a7..1586bb7 100644 --- a/event-description.md +++ b/event-description.md @@ -1,11 +1,11 @@ -(From: http://nodejs.eventbrite.com/) - -Ready to learn Node.JS? - -Node Bootcamp is a free event (yep, free, thanks to the awesome Microsoft) for developers and designers who want to learn Node.JS from the ground up with hands-on instruction from Node experts at Microsoft and Cloud9. No prior Node experience is necessary to attend. - -At Node Bootcamp you.ll learn how to build your first Node application from scratch, how to work with popular Node.JS development tools and editors, how to work with popular 3rd party Node frameworks like Express and Socket.IO, and how to deploy your applications to production hosting environments. - -We only have capacity for 50 people and we expect this event to fill up fast. Please only RSVP if you know you will be able to attend. - +(From: http://nodejs.eventbrite.com/) + +Ready to learn Node.JS? + +Node Bootcamp is a free event (yep, free, thanks to the awesome Microsoft) for developers and designers who want to learn Node.JS from the ground up with hands-on instruction from Node experts at Microsoft and experts from the community. No prior Node experience is necessary to attend. + +At Node Bootcamp you'll learn how to build your first Node application from scratch, how to work with popular Node.JS development tools and editors, how to work with popular 3rd party Node frameworks like Express and Socket.IO, and how to deploy your applications to production hosting environments. + +We only have capacity for 50 people and we expect this event to fill up fast. Please only RSVP if you know you will be able to attend. + Breakfast, lunch, and snacks will be provided. \ No newline at end of file diff --git a/lessonplan.md b/lessonplan.md index 0933a0a..27dabb5 100644 --- a/lessonplan.md +++ b/lessonplan.md @@ -1,122 +1,121 @@ -## Node Bootcamp Lesson Plan - -1. __Hour 1: Introduction to Node.JS__ - * "Hello World" from Azure - * How to set up an Azure account - * How to configure Cloud9 to deploy to Azure - * Deploy a "Hello World!" - * What is Node and how does it work? - * The Node Event Loop - * JavaScript and Node - * JavaScript primer - * Objects and variables - * The JavaScript typing system - * Functions - * JavaScript event model and callbacks - * Closures and passing arguments - * Node.JS patterns for functions - * Creating Node projects - * Hello World - * What a Node project looks like in the filesystem - * Node modules - * Introduction to modules - * Writing your own module - * Using Node Package Manager (npm) - * Package.json - -2. __Hour 2: Node and Web Applications__ - * HTTP and Node - * Ports and process.env.PORT - * Responding to requests - * Response object - * Content types - * Working with the filesystem - * Reading files - * Sending files in response objects - * Caching - * File watchers - * A Modern Application Framework - * Recap on previous lessons - * Requirements for modern applications - * Example of a modern app - * Node.js enables concurrency - * Socket.io: A Primer - * Why use Socket.io? - * Creating a connection between client and server - * Sending data to the client - * Example application - -3. __Hour 3: Building Real Web Applications with Node__ - * Saving Files - * Overview of Windows Azure Blob Storage - * Saving files to Blob Storage - * Getting files from Blob Storage - * Working with a Database - * Overview of Windows Azure Table Storage - * Using Azure Table Storage in Node.JS - * Saving records - * Looking up a specific key - * Queries - * Updating records - * Working with Cookies - * What are cookies? - * Setting cookie values - * Getting cookie values - * Deleting cookies - -4. __Optional: Socket.IO Breakout Session__ - * What is Socket.IO? - * Introduction to WebSockets and Server-push - * Socket.IO scenarios - * Socket.IO overview - * Server-side "Hello World" - * Client-side "Hello World" - * Socket.IO 101 - * Opening anc closing connections - * Broadcasting (to everyone) - * Broadcasting to groups - -5. __Optional: Express Breakout Session__ - * What is Express? - * Introduction to MVC - * Connect Middleware - * Getting Started with Express - * Installing Express - * Scaffolding Express applications - * Express project structure - * Routing - * Introduction to routes - * Handling HTTP verbs - * Writing route handlers - * Passing route variables - * Creating route modules - * Creating Views - * Introduction to Jade - * Basic rules - * Working with variables - * Working with conditionals - * Iterating over collections - * Creating a layout - * Creating a partial - * Creating a view - * Referencing a view from inside a route handler - * Working with the Response object - * Setting response headers - * Passing local variables to views - * Passing objects back to views - * Creating Redirects - * Sending downloadable files - * Working with the Request object - * Parsing incoming arguments with Request.Param - * Working with sessions - * Working with the Request.Flash object - * Express Extras - * Dynamic view helpers - * App.param interceptors - * Catch-all routes - * Creating real data models with Azure Table Storage - * How table storage works - * How to install the Azure npm module - * Connecting to your table storage account - * Writing a real table storage model +## Node Bootcamp Lesson Plan + +1. __Hour 1: Introduction to Node.JS__ + * "Hello World" from Azure + * How to set up an Azure account + * Deploy a "Hello World!" + * What is Node and how does it work? + * The Node Event Loop + * JavaScript and Node + * JavaScript primer + * Objects and variables + * The JavaScript typing system + * Functions + * JavaScript event model and callbacks + * Closures and passing arguments + * Node.JS patterns for functions + * Creating Node projects + * Hello World + * What a Node project looks like in the filesystem + * Node modules + * Introduction to modules + * Writing your own module + * Using Node Package Manager (npm) + * Package.json + +2. __Hour 2: Node and Web Applications__ + * HTTP and Node + * Ports and process.env.PORT + * Responding to requests + * Response object + * Content types + * Working with the filesystem + * Reading files + * Sending files in response objects + * Caching + * File watchers + * A Modern Application Framework + * Recap on previous lessons + * Requirements for modern applications + * Example of a modern app + * Node.js enables concurrency + * Socket.io: A Primer + * Why use Socket.io? + * Creating a connection between client and server + * Sending data to the client + * Example application + +3. __Hour 3: Building Real Web Applications with Node__ + * Saving Files (to be changed to MongoDB by Tim) + * Overview of Windows Azure Blob Storage + * Saving files to Blob Storage + * Getting files from Blob Storage + * Working with a Database (to be changed to MongoDB by Tim) + * Overview of Windows Azure Table Storage + * Using Azure Table Storage in Node.JS + * Saving records + * Looking up a specific key + * Queries + * Updating records + * Working with Cookies + * What are cookies? + * Setting cookie values + * Getting cookie values + * Deleting cookies + +4. __Optional: Socket.IO Breakout Session__ + * What is Socket.IO? + * Introduction to WebSockets and Server-push + * Socket.IO scenarios + * Socket.IO overview + * Server-side "Hello World" + * Client-side "Hello World" + * Socket.IO 101 + * Opening anc closing connections + * Broadcasting (to everyone) + * Broadcasting to groups + +5. __Optional: Express Breakout Session__ + * What is Express? + * Introduction to MVC + * Connect Middleware + * Getting Started with Express + * Installing Express + * Scaffolding Express applications + * Express project structure + * Routing + * Introduction to routes + * Handling HTTP verbs + * Writing route handlers + * Passing route variables + * Creating route modules + * Creating Views + * Introduction to Jade + * Basic rules + * Working with variables + * Working with conditionals + * Iterating over collections + * Creating a layout + * Creating a partial + * Creating a view + * Referencing a view from inside a route handler + * Working with the Response object + * Setting response headers + * Passing local variables to views + * Passing objects back to views + * Creating Redirects + * Sending downloadable files + * Working with the Request object + * Parsing incoming arguments with Request.Param + * Working with sessions + * Working with the Request.Flash object + * Express Extras + * Dynamic view helpers + * App.param interceptors + * Catch-all routes + * Creating real data models with Azure Table Storage + * How table storage works + * How to install the Azure npm module + * Connecting to your table storage account + * Writing a real table storage model * Integrating your model with route handlers in Express \ No newline at end of file From dcd91850a3ae6f6b8b3154acc87c8ee7f5f0feda Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Thu, 14 Feb 2013 18:53:30 -0800 Subject: [PATCH 03/16] test edit --- sessions/hour0/README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sessions/hour0/README.md b/sessions/hour0/README.md index 5c96c9d..a048c38 100644 --- a/sessions/hour0/README.md +++ b/sessions/hour0/README.md @@ -2,11 +2,15 @@ Node.JS vs Other Languages ========================== Most developers initially struggle with the asynchronous nature of Node.JS, -ecause we're all trained to think like a procedural programmer where we expect a +because we're all trained to think like a procedural programmer where we expect a function to return a result to us before we move onto the next block of code our program needs to execute. -Node.JS is fundamentally different in this model, and we'd like to illustrate it +Example: + +Ask for "A" -> Get "A" -> Ask for "B" -> Get "B"... + +Node.JS is fundamentally different than this model, and we'd like to illustrate it by way of example using the same program written in a few common programming languages that are found in a lot of moden web development stacks: From 72474e6e095836d489655eacc4bb8f15da7d7065 Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Thu, 14 Feb 2013 19:00:25 -0800 Subject: [PATCH 04/16] hour 0 readme cleanup added wikipedia links to explain fundamental concepts --- sessions/hour0/README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sessions/hour0/README.md b/sessions/hour0/README.md index a048c38..bac07d6 100644 --- a/sessions/hour0/README.md +++ b/sessions/hour0/README.md @@ -56,14 +56,18 @@ fs.readFile(filePath, "utf-8", function(err, data) { So what's so different about Node.JS? -------------------------------------------- -Notice how we have the results of our fs.readFile command wrapped in an anonymous -function and the rest of the business logic conditionally writing to console is +Notice that in the Node.JS falvor, we have the results of our fs.readFile command wrapped in an *anonymous function* and the rest of the business logic conditionally writing to console is contained therein? +* [What is Anonymous Functions?](http://en.wikipedia.org/wiki/Function_literals "Wikipedia") + This is because *reading to the fileSystem is a non-blocking asynchronous operation in Node.JS* - the next block of code immediately after that fs.readFile call would be executed by the Node.JS runtime before the contents of the file were received by the program. -So instead of doing a standard procedural call, we wrap everything into a callback -that gets executed by the server once the read operation is finished. \ No newline at end of file +So instead of doing a standard procedural call, we wrap everything into a *callback* +that gets executed by the server once the read operation is finished. + +* [What is Callback?](http://en.wikipedia.org/wiki/Callback_(computer_programming) "Wikipedia") + From bf0e409a11cd0802cb19c61562e25c1816793f4d Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Thu, 14 Feb 2013 19:07:30 -0800 Subject: [PATCH 05/16] created Getting Started --- sessions/hour0/GettingStarted.md | 4 ++++ sessions/hour0/README.md | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 sessions/hour0/GettingStarted.md diff --git a/sessions/hour0/GettingStarted.md b/sessions/hour0/GettingStarted.md new file mode 100644 index 0000000..93af98f --- /dev/null +++ b/sessions/hour0/GettingStarted.md @@ -0,0 +1,4 @@ +Getting Started +========================== + +You're going to need a couple of things to get set up to follow along and start to build your very first Node.JS web app. There are obviously a plethora of alternatives to choose from, but we have listed tools that we love and have found useful. \ No newline at end of file diff --git a/sessions/hour0/README.md b/sessions/hour0/README.md index bac07d6..182b656 100644 --- a/sessions/hour0/README.md +++ b/sessions/hour0/README.md @@ -1,7 +1,7 @@ Node.JS vs Other Languages ========================== -Most developers initially struggle with the asynchronous nature of Node.JS, +Most developers initially struggle with the *asynchronous* nature of Node.JS, because we're all trained to think like a procedural programmer where we expect a function to return a result to us before we move onto the next block of code our program needs to execute. @@ -59,7 +59,7 @@ So what's so different about Node.JS? Notice that in the Node.JS falvor, we have the results of our fs.readFile command wrapped in an *anonymous function* and the rest of the business logic conditionally writing to console is contained therein? -* [What is Anonymous Functions?](http://en.wikipedia.org/wiki/Function_literals "Wikipedia") +* [Read: What is Anonymous Functions?](http://en.wikipedia.org/wiki/Function_literals "Wikipedia") This is because *reading to the fileSystem is a non-blocking asynchronous operation in Node.JS* - the next block of code immediately after that @@ -69,5 +69,5 @@ file were received by the program. So instead of doing a standard procedural call, we wrap everything into a *callback* that gets executed by the server once the read operation is finished. -* [What is Callback?](http://en.wikipedia.org/wiki/Callback_(computer_programming) "Wikipedia") +* [Read: What is Callback?](http://en.wikipedia.org/wiki/Callback "Wikipedia") From 7850d7e9549e7f7060276b6ea122e56376f8bc0e Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Thu, 14 Feb 2013 19:13:30 -0800 Subject: [PATCH 06/16] revision to Getting Started --- sessions/hour0/GettingStarted.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/sessions/hour0/GettingStarted.md b/sessions/hour0/GettingStarted.md index 93af98f..033c2a0 100644 --- a/sessions/hour0/GettingStarted.md +++ b/sessions/hour0/GettingStarted.md @@ -1,4 +1,15 @@ Getting Started ========================== -You're going to need a couple of things to get set up to follow along and start to build your very first Node.JS web app. There are obviously a plethora of alternatives to choose from, but we have listed tools that we love and have found useful. \ No newline at end of file +You're going to need a couple of things to get set up to follow along and start to build your very first Node.JS web app. There are obviously a plethora of alternatives to choose from, but we have listed tools that we love and have found useful. + + +TEXT EDITING +---------------------- + +We recommend using Sublime Text 2. Here're the direct dowbload links: + +* [OS X](http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1.dmg "Sublime Text 2 for Mac") + +* [PC](http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1%20Setup.exe "Sublime Text 2 for PC") + From 3218d0cb74395f3a80f93c1ad7c95eb9e4b4538e Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Thu, 14 Feb 2013 19:44:38 -0800 Subject: [PATCH 07/16] revision to Getting Started --- sessions/hour0/GettingStarted.md | 52 +++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 4 deletions(-) diff --git a/sessions/hour0/GettingStarted.md b/sessions/hour0/GettingStarted.md index 033c2a0..d250852 100644 --- a/sessions/hour0/GettingStarted.md +++ b/sessions/hour0/GettingStarted.md @@ -1,15 +1,59 @@ Getting Started ========================== - + You're going to need a couple of things to get set up to follow along and start to build your very first Node.JS web app. There are obviously a plethora of alternatives to choose from, but we have listed tools that we love and have found useful. TEXT EDITING ---------------------- -We recommend using Sublime Text 2. Here're the direct dowbload links: +You are going to need to need a good tool to do the actual coding. We recommend using Sublime Text 2. Here're the direct download links: + +* [download for OS X](http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1.dmg "Sublime Text 2 for Mac") + +* [download for PC](http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1%20Setup.exe "Sublime Text 2 for PC") + +NODE RUNTIME +--------------------- +You will be using your laptop or desktop to do the majority of the coding and testing it periodically locally on your machine before deploying it to the cloud. This means that your machine will need the files needed to execute and run Node.js files locally. Here're the direct download links: + +* [download for OS X](http://nodejs.org/dist/v0.8.19/node-v0.8.19.pkg "Sublime Text 2 for Mac") + +* [download for PC](http://nodejs.org/dist/v0.8.19/node-v0.8.19-x86.msi "Node.js Windows Installer") + +(Go to Nodejs.org for other downloads, such as the 64-bit version.) + + +DEPLOYING YOUR PROJECT +------------------------- +Obviously, your Node.js project is a web app, and a web app will need to be deployed to the cloud. In this boot camp, we are using Windows Azure from Microsoft. In order to deploy to Azure, you will need an Azure Subscription. There are several ways to get an Azure subscription: + +* MSDN Subscription - If you have an active MSDN subscription, you have a year of free Azure. + +* BizSpark - If you have BizSpark, you have MSDN. In fact, you have 3 years of free MSDN through BizSpark. If you are a privately-held startup, under 5 years old, and making less than $1m in revenue, you qualify for BizSpark. Ask your instructor about this. + +* 90-day trial - You can go to Azure.com and sign up for a trial account. Direct download links: + +** [Windows Azure Free Trial](http://www.windowsazure.com/en-us/pricing/free-trial/ "90-day free trial") + +* special event passes - For this boot camp, we have prepared special event passes that goes anywhere from 7 to 30 days. Obviously, this is not meant to be a long-term subscription, but meant for learning or demo purposes. Your instructor should have enough of these passes. All you have to do is go to the Azure portal and log in with the LiveID credentials we give you. + + +SDK - SOFTWARE DEVELOPMENT KIT +--------------------------------- +In order for your Node.js app to be deployed from your machine to Windows Azure, you are going to need the Node.js SDK for Windows Azure. Here's the direct download links: + +* [download for OS X](http://go.microsoft.com/fwlink/?LinkId=253471&clcid=0x409 "Azure SDK for Mac") + +* [download for PC](http://go.microsoft.com/fwlink/?LinkId=254279&clcid=0x409 "Azure SDK for Windows") + + +STORING YOUR PROJECTS +---------------------- + +If you do not already have a GitHub account, we strongly recommend you create one. GitHub is a web-based hosting for your project. It's free and it integrates with a lot of development tools. Check out the walkthrough on their main page for a quick orientation. + +* [GitHub website](https://github.com/ "GitHub Homepage") -* [OS X](http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1.dmg "Sublime Text 2 for Mac") -* [PC](http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1%20Setup.exe "Sublime Text 2 for PC") From c8b91ebbdcaea6253feb2e517b227f0222b9a024 Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Thu, 14 Feb 2013 20:03:30 -0800 Subject: [PATCH 08/16] revision for GettingStarted --- sessions/hour0/GettingStarted.md | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/sessions/hour0/GettingStarted.md b/sessions/hour0/GettingStarted.md index d250852..12823d7 100644 --- a/sessions/hour0/GettingStarted.md +++ b/sessions/hour0/GettingStarted.md @@ -4,7 +4,7 @@ Getting Started You're going to need a couple of things to get set up to follow along and start to build your very first Node.JS web app. There are obviously a plethora of alternatives to choose from, but we have listed tools that we love and have found useful. -TEXT EDITING +CODING ---------------------- You are going to need to need a good tool to do the actual coding. We recommend using Sublime Text 2. Here're the direct download links: @@ -13,7 +13,12 @@ You are going to need to need a good tool to do the actual coding. We recommend * [download for PC](http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1%20Setup.exe "Sublime Text 2 for PC") -NODE RUNTIME +For PC users who loke to work with a GUI (Graphic User Interface) development tool, we highly recommend WebMatrix 2 from Microsoft. + +* [WebMatrix 2](http://www.microsoft.com/web/webmatrix/ "WebMatrix 2") + + +NODE.JS RUNTIME --------------------- You will be using your laptop or desktop to do the majority of the coding and testing it periodically locally on your machine before deploying it to the cloud. This means that your machine will need the files needed to execute and run Node.js files locally. Here're the direct download links: @@ -34,7 +39,7 @@ Obviously, your Node.js project is a web app, and a web app will need to be depl * 90-day trial - You can go to Azure.com and sign up for a trial account. Direct download links: -** [Windows Azure Free Trial](http://www.windowsazure.com/en-us/pricing/free-trial/ "90-day free trial") +[Windows Azure Free Trial](http://www.windowsazure.com/en-us/pricing/free-trial/ "90-day free trial") * special event passes - For this boot camp, we have prepared special event passes that goes anywhere from 7 to 30 days. Obviously, this is not meant to be a long-term subscription, but meant for learning or demo purposes. Your instructor should have enough of these passes. All you have to do is go to the Azure portal and log in with the LiveID credentials we give you. @@ -48,12 +53,22 @@ In order for your Node.js app to be deployed from your machine to Windows Azure, * [download for PC](http://go.microsoft.com/fwlink/?LinkId=254279&clcid=0x409 "Azure SDK for Windows") -STORING YOUR PROJECTS +MANAGING AND STORING YOUR PROJECTS ---------------------- If you do not already have a GitHub account, we strongly recommend you create one. GitHub is a web-based hosting for your project. It's free and it integrates with a lot of development tools. Check out the walkthrough on their main page for a quick orientation. * [GitHub website](https://github.com/ "GitHub Homepage") +GitHub has some really nifty tools you can install on your laptop to help you manage your project files. We highly recommend them. Here're the direct download links: + + +* [download for OS X](http://github-windows.s3.amazonaws.com/GitHubSetup.exe "GitHub for Mac") + +* [download for PC](https://central.github.com/mac/latest "GitHub for Windows") + + + + From f2cb7cbd314ad274c4bb4e235b4e0d8257c4a6dc Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Thu, 14 Feb 2013 20:10:14 -0800 Subject: [PATCH 09/16] first revision for hour 1 hello world --- .../hour1/00_hello-world-from-azure/readme.md | 152 +++++++----------- 1 file changed, 57 insertions(+), 95 deletions(-) diff --git a/sessions/hour1/00_hello-world-from-azure/readme.md b/sessions/hour1/00_hello-world-from-azure/readme.md index 0c6de6c..7f50438 100644 --- a/sessions/hour1/00_hello-world-from-azure/readme.md +++ b/sessions/hour1/00_hello-world-from-azure/readme.md @@ -1,95 +1,57 @@ -"Hello World" from Azure -======================== - -All of our instruction today will be done in the Cloud9 IDE and deployed to Azure. -So, the very first thing you'll need to do is sign up for both of those services. - -Step 1: Sign up for your trial Azure account --------------------------------------------- -* See your class instructor for directions on how to sign up for your trial Azure account. -* Visit http://windows.azure.com and make sure that you can sign in. - -Step 2: Sign up for the Cloud9 IDE ----------------------------------- -* Using the same browser that you used to sign in to Windows Azure in Step 1: -* Visit http://c9.io - * Enter in your "Desired username", "Your email", and "Re-enter your email". - * Click "Sign me up". -* Check your email for an email from "info@c9.io" with the Subject line of "Welcome to Cloud9! Please activate your account!" - * Click on the link that looks like this: http://c9.io/activate.html?uid=xxxxx&code=xxxxxx&redirect=%2Fdashboard.html -* You will be sent to an "Activate account" page. - * Enter in your "Password", and "Confirm password" - * Click "ACTIVATE" -* Create a new project: - * Look for the "MY PROJECTS" pane on the left side of your screen. - * Click on the "+" that is pointed to by the "Create a project here" arrow. - * Select the "Create a new project" option. - * Name your project. (We suggest you name it "helloworld". - * Leave the "Project type" set to "Git". - * Click "CREATE". - -Step 3: Write your "Hello World" in Cloud9! -------------------------------------------- -* Click the green "START EDITING" button. -* If this is your first Cloud9 project, you will be prompted with a "Here are a few pointers to get you started!" dialog. - * Read the text and click on the "click here!" link to see a brief demo. - * This is a short, useful walkthrough, we suggest following it. You'll learn some useful stuff! -* Create a new file named "server.js" - * Click on the "File" menu, select the "New File" option. - * Paste in [this "Hello world" code](https://gist.github.com/1794418). - * Click on the "File" menu, select the "Save" option. - * In the "Save as": box, enter "server.js", then click "Save" -* Run your code! - * Click on the "debug" button. - * Wait a few moments for the "Output" pane to pop up at the bottom of your screen. - * In the output pane, you should see a link that looks like: http://nodebootcamp.xxxxxx.c9.io/ - * Click on that link. - * You should see "Hello world" in your browser! - -Step 4: Deploy to Azure ------------------------ -* Click on the "Deploy" button on the left side of the Cloud9 IDE: -* ![Image of the Deploy button](http://content.screencast.com/users/franusic/folders/Jing/media/671b7cf1-deee-403e-9c4d-e44808afcc35/2012-02-10_1918.png) -* Click on the "+" button. You should see some green text saying "Create a Deploy Server" pointing at it. -* ![Image of "Create a Deploy Server"](http://content.screencast.com/users/franusic/folders/Jing/media/dec9e426-4ad7-43cf-94c0-32c4571c9723/2012-02-10_1921.png) -* On the "Choose type:" menu, select "Windows Azure". -* Click on the green "DOWNLOAD WINDOWS AZURE SETTINGS" button. - * This will open a new window or tab in your browser. - * A file ending in ".publishsettings" should automatically start to download -* ![Image of the Add a deploy target" window](http://content.screencast.com/users/franusic/folders/Jing/media/0067ad35-cd2f-4aee-b4e3-063d4cd75311/2012-02-10_1929.png) -* Switch back to the window or tab where the Cloud9 IDE is running. -* Press the "Choose File" button. -* Select the ".publishsettings" file that was downloaded in the step above. -* Press the green "UPLOAD" button. -* ![What the UPLOAD button looks like](http://content.screencast.com/users/franusic/folders/Jing/media/70151c98-bb61-4c63-9e17-ce281bfb6bce/2012-02-10_1941.png) -* (If you have multiple subscriptions, you'll be prompted to select one) -* Click the "+ Create New" button. -* Give your deployment a name. (We suggest: "nodecamp-" + $your_twitter_handle) -* Change the number of instances to "2" -* Leave all the rest of the settings at their defaults. -* Click the green "CREATE" button. -* (You may be prompted to enter a RDP username and password. If you are, do so.) -* ![What the settings dialog looks like](http://content.screencast.com/users/franusic/folders/Jing/media/11a2a76e-e0dc-42e6-af80-a1f6764b3ef6/2012-02-10_1950.png) -* Wait for the Windows Azure deploy target to say "Active" -* Click on the Windows Azure deploy target. You'll see a fly-out with some options and a big green "DEPLOY" button. -* Click the big green "DEPLOY" button. -* ![What the fly-out looks like](http://content.screencast.com/users/franusic/folders/Jing/media/9398026a-a3d4-4b3b-b038-10e9864c181e/2012-02-10_1957.png) -* You'll be prompted to create "web.config". Click "Yes". -* You'll be prompted to create a "csdef" file. Click "Yes". - * You'll be prompted to select an instance size for the csdef file. Select "Extra small" and click "Create". -* You should see a deploy status with a faint grey spinning gear. - * (You may have to hit "reload" in your browser to get status updates) -* When the deployment finishes (this will take 5-8 minutes). Click on the deploy target, then click on the "Url:" in the flyout. - * (If your followed our naming suggestion above, this Url will look like this: http://nodecamp-xxxxxx.cloudapp.net) -* When you see "Hello World" on your .cloudapp.net url. You're done! -* Hooray! - -See also: -========= - -* Getting started with the Cloud 9 IDE: - * http://support.cloud9ide.com/entries/20583558-lesson-1-creating-a-new-account - * http://support.cloud9ide.com/entries/20548092-lesson-2-creating-a-new-project - * http://support.cloud9ide.com/entries/20640198-lesson-3-writing-a-node-js-hello-world-program -* Connecting Cloud 9 to Windows Azure: - * http://cloud9ide.posterous.com/windows-azure-on-cloud9 \ No newline at end of file +"Hello World" from Azure +======================== + +All of our instruction today will be done with the tools mentioned in Getting Started and deployed to Azure. Let's make sure you've got all the ingredients ready before we start cooking: + +Checklist +------------ +1. Sublime Text +2. Node.js runtime +3. Azure subscription +4. Node.js SDK for Azure +5. GitHub account +6. GitHub for Mac/PC + + + +Step 4: Deploy to Azure +----------------------- +* Click on the "Deploy" button on the left side of the Cloud9 IDE: +* ![Image of the Deploy button](http://content.screencast.com/users/franusic/folders/Jing/media/671b7cf1-deee-403e-9c4d-e44808afcc35/2012-02-10_1918.png) +* Click on the "+" button. You should see some green text saying "Create a Deploy Server" pointing at it. +* ![Image of "Create a Deploy Server"](http://content.screencast.com/users/franusic/folders/Jing/media/dec9e426-4ad7-43cf-94c0-32c4571c9723/2012-02-10_1921.png) +* On the "Choose type:" menu, select "Windows Azure". +* Click on the green "DOWNLOAD WINDOWS AZURE SETTINGS" button. + * This will open a new window or tab in your browser. + * A file ending in ".publishsettings" should automatically start to download +* ![Image of the Add a deploy target" window](http://content.screencast.com/users/franusic/folders/Jing/media/0067ad35-cd2f-4aee-b4e3-063d4cd75311/2012-02-10_1929.png) +* Switch back to the window or tab where the Cloud9 IDE is running. +* Press the "Choose File" button. +* Select the ".publishsettings" file that was downloaded in the step above. +* Press the green "UPLOAD" button. +* ![What the UPLOAD button looks like](http://content.screencast.com/users/franusic/folders/Jing/media/70151c98-bb61-4c63-9e17-ce281bfb6bce/2012-02-10_1941.png) +* (If you have multiple subscriptions, you'll be prompted to select one) +* Click the "+ Create New" button. +* Give your deployment a name. (We suggest: "nodecamp-" + $your_twitter_handle) +* Change the number of instances to "2" +* Leave all the rest of the settings at their defaults. +* Click the green "CREATE" button. +* (You may be prompted to enter a RDP username and password. If you are, do so.) +* ![What the settings dialog looks like](http://content.screencast.com/users/franusic/folders/Jing/media/11a2a76e-e0dc-42e6-af80-a1f6764b3ef6/2012-02-10_1950.png) +* Wait for the Windows Azure deploy target to say "Active" +* Click on the Windows Azure deploy target. You'll see a fly-out with some options and a big green "DEPLOY" button. +* Click the big green "DEPLOY" button. +* ![What the fly-out looks like](http://content.screencast.com/users/franusic/folders/Jing/media/9398026a-a3d4-4b3b-b038-10e9864c181e/2012-02-10_1957.png) +* You'll be prompted to create "web.config". Click "Yes". +* You'll be prompted to create a "csdef" file. Click "Yes". + * You'll be prompted to select an instance size for the csdef file. Select "Extra small" and click "Create". +* You should see a deploy status with a faint grey spinning gear. + * (You may have to hit "reload" in your browser to get status updates) +* When the deployment finishes (this will take 5-8 minutes). Click on the deploy target, then click on the "Url:" in the flyout. + * (If your followed our naming suggestion above, this Url will look like this: http://nodecamp-xxxxxx.cloudapp.net) +* When you see "Hello World" on your .cloudapp.net url. You're done! +* Hooray! + +See also: +========= + From 4473fba2628cf6a117e248c38ea4993a524e95dc Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Thu, 14 Feb 2013 22:07:22 -0800 Subject: [PATCH 10/16] updated hour 1 on deployment changed to deloyment using Hello Azure tutorial --- sessions/hour0/GettingStarted.md | 15 ++++- .../hour1/00_hello-world-from-azure/readme.md | 60 ++++++------------- 2 files changed, 32 insertions(+), 43 deletions(-) diff --git a/sessions/hour0/GettingStarted.md b/sessions/hour0/GettingStarted.md index 12823d7..d8f4058 100644 --- a/sessions/hour0/GettingStarted.md +++ b/sessions/hour0/GettingStarted.md @@ -56,6 +56,17 @@ In order for your Node.js app to be deployed from your machine to Windows Azure, MANAGING AND STORING YOUR PROJECTS ---------------------- +GIT is a distributed *revision control* and source code amangemenr system. It helps you manage your project, and does it well. + +* [Read about Version Control](http://git-scm.com/book/en/Getting-Started-About-Version-Control "Verson control") + + +You will need to install GIT into your development machine: + +* [download for OS X](http://git-scm.com/download/mac "Azure SDK for Mac") + +* [download for PC](http://git-scm.com/download/win "Azure SDK for Windows") + If you do not already have a GitHub account, we strongly recommend you create one. GitHub is a web-based hosting for your project. It's free and it integrates with a lot of development tools. Check out the walkthrough on their main page for a quick orientation. * [GitHub website](https://github.com/ "GitHub Homepage") @@ -63,9 +74,9 @@ If you do not already have a GitHub account, we strongly recommend you create on GitHub has some really nifty tools you can install on your laptop to help you manage your project files. We highly recommend them. Here're the direct download links: -* [download for OS X](http://github-windows.s3.amazonaws.com/GitHubSetup.exe "GitHub for Mac") +* [download for OS X (for 10.7+)](https://central.github.com/mac/latest "GitHub for Mac") -* [download for PC](https://central.github.com/mac/latest "GitHub for Windows") +* [download for PC](http://github-windows.s3.amazonaws.com/GitHubSetup.exe "GitHub for Windows") diff --git a/sessions/hour1/00_hello-world-from-azure/readme.md b/sessions/hour1/00_hello-world-from-azure/readme.md index 7f50438..e6c297d 100644 --- a/sessions/hour1/00_hello-world-from-azure/readme.md +++ b/sessions/hour1/00_hello-world-from-azure/readme.md @@ -1,7 +1,9 @@ "Hello World" from Azure ======================== -All of our instruction today will be done with the tools mentioned in Getting Started and deployed to Azure. Let's make sure you've got all the ingredients ready before we start cooking: +In observance to tradition, we'll start with a Hello World project. + +All of our instruction in this boot camp today will be done with the tools mentioned in Getting Started and deployed to Azure, so let's make sure you've got all the ingredients ready before we start cooking: Checklist ------------ @@ -12,46 +14,22 @@ Checklist 5. GitHub account 6. GitHub for Mac/PC +All set? Let's start cooking :) + +Follow the steps below and when you're done, you tell your friends you have your first live Node.JS website! + + +STEP 1. +------------ + +STEP 2. +------------ +STEP 3. +------------ -Step 4: Deploy to Azure ------------------------ -* Click on the "Deploy" button on the left side of the Cloud9 IDE: -* ![Image of the Deploy button](http://content.screencast.com/users/franusic/folders/Jing/media/671b7cf1-deee-403e-9c4d-e44808afcc35/2012-02-10_1918.png) -* Click on the "+" button. You should see some green text saying "Create a Deploy Server" pointing at it. -* ![Image of "Create a Deploy Server"](http://content.screencast.com/users/franusic/folders/Jing/media/dec9e426-4ad7-43cf-94c0-32c4571c9723/2012-02-10_1921.png) -* On the "Choose type:" menu, select "Windows Azure". -* Click on the green "DOWNLOAD WINDOWS AZURE SETTINGS" button. - * This will open a new window or tab in your browser. - * A file ending in ".publishsettings" should automatically start to download -* ![Image of the Add a deploy target" window](http://content.screencast.com/users/franusic/folders/Jing/media/0067ad35-cd2f-4aee-b4e3-063d4cd75311/2012-02-10_1929.png) -* Switch back to the window or tab where the Cloud9 IDE is running. -* Press the "Choose File" button. -* Select the ".publishsettings" file that was downloaded in the step above. -* Press the green "UPLOAD" button. -* ![What the UPLOAD button looks like](http://content.screencast.com/users/franusic/folders/Jing/media/70151c98-bb61-4c63-9e17-ce281bfb6bce/2012-02-10_1941.png) -* (If you have multiple subscriptions, you'll be prompted to select one) -* Click the "+ Create New" button. -* Give your deployment a name. (We suggest: "nodecamp-" + $your_twitter_handle) -* Change the number of instances to "2" -* Leave all the rest of the settings at their defaults. -* Click the green "CREATE" button. -* (You may be prompted to enter a RDP username and password. If you are, do so.) -* ![What the settings dialog looks like](http://content.screencast.com/users/franusic/folders/Jing/media/11a2a76e-e0dc-42e6-af80-a1f6764b3ef6/2012-02-10_1950.png) -* Wait for the Windows Azure deploy target to say "Active" -* Click on the Windows Azure deploy target. You'll see a fly-out with some options and a big green "DEPLOY" button. -* Click the big green "DEPLOY" button. -* ![What the fly-out looks like](http://content.screencast.com/users/franusic/folders/Jing/media/9398026a-a3d4-4b3b-b038-10e9864c181e/2012-02-10_1957.png) -* You'll be prompted to create "web.config". Click "Yes". -* You'll be prompted to create a "csdef" file. Click "Yes". - * You'll be prompted to select an instance size for the csdef file. Select "Extra small" and click "Create". -* You should see a deploy status with a faint grey spinning gear. - * (You may have to hit "reload" in your browser to get status updates) -* When the deployment finishes (this will take 5-8 minutes). Click on the deploy target, then click on the "Url:" in the flyout. - * (If your followed our naming suggestion above, this Url will look like this: http://nodecamp-xxxxxx.cloudapp.net) -* When you see "Hello World" on your .cloudapp.net url. You're done! -* Hooray! - -See also: -========= +STEP 4. +------------ +STEP 5. +------------ From 1b030853c763ea0d129586056692c51c24c967e0 Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Sat, 16 Feb 2013 11:49:23 -0800 Subject: [PATCH 11/16] upcoming updates --- upcoming-events.md | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/upcoming-events.md b/upcoming-events.md index 891c212..fc9fb9a 100644 --- a/upcoming-events.md +++ b/upcoming-events.md @@ -1,12 +1,7 @@ # Upcoming Node Bootcamp Events Here's our schedule for our upcoming Node Bootcamp events! -1. March 17, 2012 RocketSpace, San Francisco, CA **[register](http://nodejsatrocketspace.eventbrite.com/)** +1. Feb 23, 2013 Coloft, Santa Monica, CA **[register](http://nodela-esli.eventbrite.com/)** -2. March 24, 2012 Miller Business Innovation Center, Salt Lake City, UT **[register](http://nodejsatmbic.eventbrite.com/)** +2. March 30, 2012 StartupCity, Seattle, WA **[register](nodeseattle-esli.eventbrite.com/)** -3. April 14, 2012 Uncubed, Denver, CO **[register](http://nodejsatuncubed.eventbrite.com/)** - -4. April 21, 2012 MSFT SVC, Mountain View, CA **[register](http://nodejsatmicrosoftsvc.eventbrite.com/)** - -5. April 28, 2012 Gangplank, Phoenix, AZ Coming Soon! From e3062bc4afe7b9882b27227315cf28c4c4082842 Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Sat, 16 Feb 2013 11:49:37 -0800 Subject: [PATCH 12/16] readme updates --- .../hour1/00_hello-world-from-azure/readme.md | 68 +++++++++---------- .../hour1/03_javascript-and-node/readme.md | 9 +-- 2 files changed, 36 insertions(+), 41 deletions(-) diff --git a/sessions/hour1/00_hello-world-from-azure/readme.md b/sessions/hour1/00_hello-world-from-azure/readme.md index e6c297d..a1316e1 100644 --- a/sessions/hour1/00_hello-world-from-azure/readme.md +++ b/sessions/hour1/00_hello-world-from-azure/readme.md @@ -1,35 +1,33 @@ -"Hello World" from Azure -======================== - -In observance to tradition, we'll start with a Hello World project. - -All of our instruction in this boot camp today will be done with the tools mentioned in Getting Started and deployed to Azure, so let's make sure you've got all the ingredients ready before we start cooking: - -Checklist ------------- -1. Sublime Text -2. Node.js runtime -3. Azure subscription -4. Node.js SDK for Azure -5. GitHub account -6. GitHub for Mac/PC - -All set? Let's start cooking :) - -Follow the steps below and when you're done, you tell your friends you have your first live Node.JS website! - - -STEP 1. ------------- - -STEP 2. ------------- - -STEP 3. ------------- - -STEP 4. ------------- - -STEP 5. ------------- +"Hello World" from Azure +======================== + +In observance to tradition, we'll start with a Hello World project, but instead of Hello World, we'll call it Hello Azure. + +All of our instruction in this boot camp today will be done with the tools mentioned in Getting Started and deployed to Azure, so let's make sure you've got all the ingredients ready before we start cooking: + +Checklist +------------ +1. Sublime Text +2. Node.js runtime +3. Azure subscription +4. Node.js SDK for Azure +5. Git + +Optional: +6. GitHub account and GitHub for Mac/PC + +All set? Let's start cooking :) + +Follow the steps below and when you're done, you tell your friends you have your first live Node.JS website! For the boot camp, we'll walk through this together: + +DIRECTIONS FOR HELLO AZURE +-------------------------- +* [Hello Azure Tutorial](http://tinyurl.com/cmxoahp "Azure SDK for Mac and PC") + + +DIRECTION FOR PC +- Use Windows Azure Powershell for steps 3 onwards, HOWEVER... +- Before you reach step 3 in the tutorial, you may need to add the node.exe to the path. Otherwise you will see a "Node is not a recognized command" error message + +* [adding node to path](http://stackoverflow.com/questions/8768549/node-js-doesnt-recognize-system-path "adding to path") + diff --git a/sessions/hour1/03_javascript-and-node/readme.md b/sessions/hour1/03_javascript-and-node/readme.md index 5b7879c..a763646 100644 --- a/sessions/hour1/03_javascript-and-node/readme.md +++ b/sessions/hour1/03_javascript-and-node/readme.md @@ -20,13 +20,10 @@ Chrome gets the V8 JavaScript Engine, Webkit gets Squirrelfish, Firefox gets Tra Okay, why do I care? -------------------- -It's important to know that these days, -JavaScript is a powerful and performant language that people use to power large websites. -Since this hasn't always been the case, -expect to encounter people who have misgivings about JavaScript based on poor experices they may have had with JavaScript many years ago. +It's important to know that these days, JavaScript is a powerful and performant language that people use to power large websites. +Since this hasn't always been the case, expect to encounter people who have misgivings about JavaScript based on poor experices they may have had with JavaScript many years ago. -Knowing this little bit of history will also help you understand what V8, namely, Chrome's JavaScript engine. -V8 is also the code that powers the core of Node. +Knowing this little bit of history will also help you understand what V8, namely, Chrome's JavaScript engine. V8 is also the code that powers the core of Node. What is Node? ------------- From 087218a7e9dc3ac5cbad018577945c76dc814f85 Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Fri, 22 Feb 2013 10:42:26 -0800 Subject: [PATCH 13/16] dditional instructions for pc users --- sessions/hour0/GettingStarted.md | 172 ++++++++++++++++--------------- 1 file changed, 87 insertions(+), 85 deletions(-) diff --git a/sessions/hour0/GettingStarted.md b/sessions/hour0/GettingStarted.md index d8f4058..7c9bd41 100644 --- a/sessions/hour0/GettingStarted.md +++ b/sessions/hour0/GettingStarted.md @@ -1,85 +1,87 @@ -Getting Started -========================== - -You're going to need a couple of things to get set up to follow along and start to build your very first Node.JS web app. There are obviously a plethora of alternatives to choose from, but we have listed tools that we love and have found useful. - - -CODING ----------------------- - -You are going to need to need a good tool to do the actual coding. We recommend using Sublime Text 2. Here're the direct download links: - -* [download for OS X](http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1.dmg "Sublime Text 2 for Mac") - -* [download for PC](http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1%20Setup.exe "Sublime Text 2 for PC") - -For PC users who loke to work with a GUI (Graphic User Interface) development tool, we highly recommend WebMatrix 2 from Microsoft. - -* [WebMatrix 2](http://www.microsoft.com/web/webmatrix/ "WebMatrix 2") - - -NODE.JS RUNTIME ---------------------- -You will be using your laptop or desktop to do the majority of the coding and testing it periodically locally on your machine before deploying it to the cloud. This means that your machine will need the files needed to execute and run Node.js files locally. Here're the direct download links: - -* [download for OS X](http://nodejs.org/dist/v0.8.19/node-v0.8.19.pkg "Sublime Text 2 for Mac") - -* [download for PC](http://nodejs.org/dist/v0.8.19/node-v0.8.19-x86.msi "Node.js Windows Installer") - -(Go to Nodejs.org for other downloads, such as the 64-bit version.) - - -DEPLOYING YOUR PROJECT -------------------------- -Obviously, your Node.js project is a web app, and a web app will need to be deployed to the cloud. In this boot camp, we are using Windows Azure from Microsoft. In order to deploy to Azure, you will need an Azure Subscription. There are several ways to get an Azure subscription: - -* MSDN Subscription - If you have an active MSDN subscription, you have a year of free Azure. - -* BizSpark - If you have BizSpark, you have MSDN. In fact, you have 3 years of free MSDN through BizSpark. If you are a privately-held startup, under 5 years old, and making less than $1m in revenue, you qualify for BizSpark. Ask your instructor about this. - -* 90-day trial - You can go to Azure.com and sign up for a trial account. Direct download links: - -[Windows Azure Free Trial](http://www.windowsazure.com/en-us/pricing/free-trial/ "90-day free trial") - -* special event passes - For this boot camp, we have prepared special event passes that goes anywhere from 7 to 30 days. Obviously, this is not meant to be a long-term subscription, but meant for learning or demo purposes. Your instructor should have enough of these passes. All you have to do is go to the Azure portal and log in with the LiveID credentials we give you. - - -SDK - SOFTWARE DEVELOPMENT KIT ---------------------------------- -In order for your Node.js app to be deployed from your machine to Windows Azure, you are going to need the Node.js SDK for Windows Azure. Here's the direct download links: - -* [download for OS X](http://go.microsoft.com/fwlink/?LinkId=253471&clcid=0x409 "Azure SDK for Mac") - -* [download for PC](http://go.microsoft.com/fwlink/?LinkId=254279&clcid=0x409 "Azure SDK for Windows") - - -MANAGING AND STORING YOUR PROJECTS ----------------------- - -GIT is a distributed *revision control* and source code amangemenr system. It helps you manage your project, and does it well. - -* [Read about Version Control](http://git-scm.com/book/en/Getting-Started-About-Version-Control "Verson control") - - -You will need to install GIT into your development machine: - -* [download for OS X](http://git-scm.com/download/mac "Azure SDK for Mac") - -* [download for PC](http://git-scm.com/download/win "Azure SDK for Windows") - -If you do not already have a GitHub account, we strongly recommend you create one. GitHub is a web-based hosting for your project. It's free and it integrates with a lot of development tools. Check out the walkthrough on their main page for a quick orientation. - -* [GitHub website](https://github.com/ "GitHub Homepage") - -GitHub has some really nifty tools you can install on your laptop to help you manage your project files. We highly recommend them. Here're the direct download links: - - -* [download for OS X (for 10.7+)](https://central.github.com/mac/latest "GitHub for Mac") - -* [download for PC](http://github-windows.s3.amazonaws.com/GitHubSetup.exe "GitHub for Windows") - - - - - - +Getting Started +========================== + +You're going to need a couple of things to get set up to follow along and start to build your very first Node.JS web app. There are obviously a plethora of alternatives to choose from, but we have listed tools that we love and have found useful. + + +CODING +---------------------- + +You are going to need to need a good tool to do the actual coding. We recommend using Sublime Text 2. Here're the direct download links: + +* [download for OS X](http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1.dmg "Sublime Text 2 for Mac") + +* [download for PC](http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1%20Setup.exe "Sublime Text 2 for PC") + +For PC users who loke to work with a GUI (Graphic User Interface) development tool, we highly recommend WebMatrix 2 from Microsoft. + +* [WebMatrix 2](http://www.microsoft.com/web/webmatrix/ "WebMatrix 2") + + +NODE.JS RUNTIME +--------------------- +You will be using your laptop or desktop to do the majority of the coding and testing it periodically locally on your machine before deploying it to the cloud. This means that your machine will need the files needed to execute and run Node.js files locally. Here're the direct download links: + +* [download for OS X](http://nodejs.org/dist/v0.8.19/node-v0.8.19.pkg "Sublime Text 2 for Mac") + +* [download for PC](http://nodejs.org/dist/v0.8.19/node-v0.8.19-x86.msi "Node.js Windows Installer") + +(Go to Nodejs.org for other downloads, such as the 64-bit version.) + + +DEPLOYING YOUR PROJECT +------------------------- +Obviously, your Node.js project is a web app, and a web app will need to be deployed to the cloud. In this boot camp, we are using Windows Azure from Microsoft. In order to deploy to Azure, you will need an Azure Subscription. There are several ways to get an Azure subscription: + +* MSDN Subscription - If you have an active MSDN subscription, you have a year of free Azure. + +* BizSpark - If you have BizSpark, you have MSDN. In fact, you have 3 years of free MSDN through BizSpark. If you are a privately-held startup, under 5 years old, and making less than $1m in revenue, you qualify for BizSpark. Ask your instructor about this. + +* 90-day trial - You can go to Azure.com and sign up for a trial account. Direct download links: + +[Windows Azure Free Trial](http://www.windowsazure.com/en-us/pricing/free-trial/ "90-day free trial") + +* special event passes - For this boot camp, we have prepared special event passes that goes anywhere from 7 to 30 days. Obviously, this is not meant to be a long-term subscription, but meant for learning or demo purposes. Your instructor should have enough of these passes. All you have to do is go to the Azure portal and log in with the LiveID credentials we give you. + + +SDK - SOFTWARE DEVELOPMENT KIT +--------------------------------- +In order for your Node.js app to be deployed from your machine to Windows Azure, you are going to need the Node.js SDK for Windows Azure. Here's the direct download links: + +* [download for OS X](http://go.microsoft.com/fwlink/?LinkId=253471&clcid=0x409 "Azure SDK for Mac") + +* [download for PC](http://go.microsoft.com/fwlink/?LinkId=254279&clcid=0x409 "Azure SDK for Windows") + + +MANAGING AND STORING YOUR PROJECTS +---------------------- + +GIT is a distributed *revision control* and source code amangemenr system. It helps you manage your project, and does it well. + +* [Read about Version Control](http://git-scm.com/book/en/Getting-Started-About-Version-Control "Verson control") + + +You will need to install GIT into your development machine: + +* [download for OS X](http://git-scm.com/download/mac "Azure SDK for Mac") + +* [download for PC](http://git-scm.com/download/win "Azure SDK for Windows") + +PC Users: During the installation of Git, choose the option that states "Run Git from the Windows Command Prompt". + +If you do not already have a GitHub account, we strongly recommend you create one. GitHub is a web-based hosting for your project. It's free and it integrates with a lot of development tools. Check out the walkthrough on their main page for a quick orientation. + +* [GitHub website](https://github.com/ "GitHub Homepage") + +GitHub has some really nifty tools you can install on your laptop to help you manage your project files. We highly recommend them. Here're the direct download links: + + +* [download for OS X (for 10.7+)](https://central.github.com/mac/latest "GitHub for Mac") + +* [download for PC](http://github-windows.s3.amazonaws.com/GitHubSetup.exe "GitHub for Windows") + + + + + + From b513b6614b46783b1cc42462651090d2ec00acb6 Mon Sep 17 00:00:00 2001 From: Timothy Strimple Date: Fri, 22 Feb 2013 15:44:46 -0800 Subject: [PATCH 14/16] UPDATES! --- event-description.md | 2 +- lessonplan.md | 12 +++++++----- readme.md | 16 ++++++++-------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/event-description.md b/event-description.md index 1586bb7..4e650ab 100644 --- a/event-description.md +++ b/event-description.md @@ -1,4 +1,4 @@ -(From: http://nodejs.eventbrite.com/) +(From: http://nodela-esli.eventbrite.com/) Ready to learn Node.JS? diff --git a/lessonplan.md b/lessonplan.md index 27dabb5..75df7e1 100644 --- a/lessonplan.md +++ b/lessonplan.md @@ -46,13 +46,13 @@ * Example application 3. __Hour 3: Building Real Web Applications with Node__ - * Saving Files (to be changed to MongoDB by Tim) + * Saving Files * Overview of Windows Azure Blob Storage * Saving files to Blob Storage * Getting files from Blob Storage - * Working with a Database (to be changed to MongoDB by Tim) - * Overview of Windows Azure Table Storage - * Using Azure Table Storage in Node.JS + * Working with a Database + * Overview of MongoDB + * Using MongoDB in Node.JS * Saving records * Looking up a specific key * Queries @@ -118,4 +118,6 @@ * How to install the Azure npm module * Connecting to your table storage account * Writing a real table storage model - * Integrating your model with route handlers in Express \ No newline at end of file + * Integrating your model with route handlers in Express + + \ No newline at end of file diff --git a/readme.md b/readme.md index 1c9ab13..7105b4b 100644 --- a/readme.md +++ b/readme.md @@ -60,10 +60,10 @@ Here's what you can expect to learn at Node Bootcamp: * Saving files to Blob Storage * Getting files from Blob Storage * Working with a Database - * Overview of Windows Azure Table Storage - * Using Azure Table Storage in Node.JS - * Azure Table Storage Entity Conventions - * Creating a strongly-typed data model for Table Storage + * Overview of MongoDB + * Using MongoDB in Node.JS + * MongoDB Entity Conventions + * Creating a strongly-typed data model for MongoDB * Saving records * Looking up a specific key * Queries @@ -78,7 +78,7 @@ Here's what you can expect to learn at Node Bootcamp: ### Tools Here are some of the tools and platforms we will be using throughout Node bootcamp: -* [Cloud9 IDE](http://c9.io/ "Cloud9 IDE") +* [Sublime Text](http://www.sublimetext.com/ "Sublime Text") * [Windows Azure](http://windows.azure.com/ "Windows Azure Console") * [Windows Azure SDK for Node.JS](https://github.com/WindowsAzure/azure-sdk-for-node "Windows Azure SDK for Node.JS") @@ -94,10 +94,10 @@ Here's what the schedule looks like: ### Upcoming Events +Here's our schedule for our upcoming Node Bootcamp events! -1. April 21, 2012 MSFT SVC, Mountain View, CA **[register](http://nodejsatmicrosoftsvc.eventbrite.com/)** - -2. April 28, 2012 Gangplank, Phoenix, AZ Coming Soon! +1. Feb 23, 2013 Coloft, Santa Monica, CA **[register](http://nodela-esli.eventbrite.com/)** +2. March 30, 2012 StartupCity, Seattle, WA **[register](nodeseattle-esli.eventbrite.com/)** ### Additional Resources From 1cf8e826cfc5e0bc7efd4c9ecd9291d1a2ba0d1d Mon Sep 17 00:00:00 2001 From: Steve Seow Date: Sat, 23 Feb 2013 15:05:08 -0800 Subject: [PATCH 15/16] added resource --- sessions/hour1/01_node-explained/readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sessions/hour1/01_node-explained/readme.md b/sessions/hour1/01_node-explained/readme.md index dac7117..658718f 100644 --- a/sessions/hour1/01_node-explained/readme.md +++ b/sessions/hour1/01_node-explained/readme.md @@ -30,3 +30,7 @@ Node can be broken down into three core technologies: * The next major component of Node is the [CommonJS](http://www.commonjs.org/) module system - it's a standard which allows developers to define modules that can be reused and shared throughout their own applications and others. Without CommonJS' standards we wouldn't have systems like [npm](http://www.npmjs.org/) (Node Package Manager) which allow Node developers to share reusable packages with eachother and provide a standard for handling dependencies in our Node applications. * The final major component of Node is a powerful network I/O library developed by [Joyent](http://www.joyent.com/) called [libuv](https://github.com/joyent/libuv) - this is what handles all of the incoming network connections on both Windows and POSIX-based systems like Linux and OS X. + +#### Resources + +* Node Beginner [Node Beginner](http://www.nodebeginner.org/) \ No newline at end of file From bae663ef8485a6a43ecd21be14d76256b9797dd9 Mon Sep 17 00:00:00 2001 From: Taylor Cowan Date: Tue, 2 Apr 2013 00:17:16 -0500 Subject: [PATCH 16/16] Update package.json latest azure library, helps the winedatabase project run better --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 239db92..ad40603 100644 --- a/package.json +++ b/package.json @@ -5,10 +5,10 @@ , "dependencies": { "cookies":"0.2.1", "slang":"0.2.0", - "azure":"0.5.1", + "azure":"0.7.0", "formidable":"1.0.9", "querystring":"0.1.0", "socket.io":"0.8.7", "node-uuid":"1.3.3" } -} \ No newline at end of file +}