• Stars
    star
    7,229
  • Rank 5,160 (Top 0.2 %)
  • Language
    HTML
  • License
    Other
  • Created almost 11 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Learn You The Node.js For Much Win! An intro to Node.js via a set of self-guided workshops.

Learn You The Node.js For Much Win!

Build Status Gitter js-standard-style Help Contribute to Open Source

An intro to Node.js via a set of self-guided workshops.

What is Node.js

NPM NPM

What is learnyounode?

Learn You The Node.js For Much Win!

learnyounode is a Node.js package that contains a series of workshop lessons which will teach you the basics of writing Node.js applications. The lessons start with a basic "HELLO WORLD" lesson, and then move on to more advanced exercises about dealing with synchronous & asynchronous I/O, filesystem operations, TCP and HTTP networking, events and streams.

Installing learnyounode

  1. Install Node.js
  2. Run npm install -g learnyounode (this installs the learnyounode Node.js package globally). If this step fails, try one of the following fixes:
  3. Test that learnyounode has been installed successfully by running the command learnyounode in your terminal. This will start the learnyounode application, and you should see a blue screen similar to the one in the screenshot above.
    • (Ubuntu users) In case step 3 fails, run sudo apt-get install nodejs-legacy
  4. profit!

Completing your first exercise

  1. Start up learnyounode in your terminal by running the command learnyounode (you should see a blue screen similar to the one in the screenshot above).
  2. Start a learnyounode exercise by using the arrow keys to navigate, and the enter key to select a lesson. For this example, scroll to the "HELLO WORLD" lesson and press enter. This will result in three things happening:
    1. The instructions for the "HELLO WORLD" lesson will now be printed out to your terminal (note: You may need to scroll up in your terminal to see the beginning of the lesson instructions if it has been cut off by your terminal window).
    2. The learnyounode verify command will now be set to verify any script that you pass into it with the expected output of the lesson that you selected (in the case of the "HELLO WORLD" lesson, the command learnyounode verify will now check that the script file you pass in satisfies the expected outcomes of the "HELLO WORLD" lesson by making sure the script prints the text "HELLO WORLD" to stdout).
    3. The learnyounode application will exit, allowing you to use your terminal again.
  3. Create your solution for the exercise by creating a new script file named "program.js" and following the instructions and hints that were printed out above for the lesson. For the "HELLO WORLD" lesson, your script "program.js" should have code in it that prints the text "HELLO WORLD" to stdout when run with Node.js (you can test your script file with Node.js by using the command: node program.js).
  4. Verify that your solution to the lesson is correct by running the command learnyounode verify program.js (note: if you named your script file something other than "program.js", replace "program.js" with the correct filename). If your solution is not correct, you will see a FAIL message along with some information about why your solution didn't pass the tests. In the case of a FAIL message, rework your solution until running the verify command passes. If your solution passes the tests, you should see a "PASS" message. Congratulations! :)
  5. Move on to the next lesson if you have verified that your solution is correct. Repeat these instructions from step 1 and select the next lesson that you would like to do (it is suggested to do the lessons in order from top to bottom).

Once you have finished learnyounode, graduate to stream-adventure for a set of exercises that dig in to Node's streams.

Contributors

learnyounode is proudly brought to you by the following hackers:

Rod VaggGitHub/rvaggTwitter/@rvagg
Andrey SidorovGitHub/sidoraresTwitter/@sidorares
Julián DuqueGitHub/julianduqueTwitter/@julian_duque
Lars-Magnus SkogGitHub/ralphtheninjaTwitter/@ralphtheninja
Tim InmanGitHub/thehackTwitter/@timinman
Dan FlettreGitHub/FletTwitter/@flettre
Leigh ZhuGitHub/lisposterTwitter/@lisposter
Lucas F. da CostaGitHub/lucasfcosta
Martin HeideggerGitHub/martinheideggerTwitter/@leichtgewicht
Toshiharu HaradaGitHub/haradatsTwitter/@haradats
Eric DouglasGitHub/ericdouglasTwitter/@ericdouglas_
Alejandro OviedoGitHub/a0viedoTwitter/@a0viedo
Leonardo NascimentoGitHub/leonascimentoTwitter/leonardo386
Christophe PorteneuveGitHub/tddTwitter/@porteneuve
Do Minh HaiGitHub/dominhhaiTwitter/@minhhai3b
Phung Van TuGitHub/minatu2dTwitter/@minatu2d
ShimGitHub/marocchinoTwitter/@marocchino
Chayoung YouGitHub/yousTwitter/@_Yous
Espen DalløkkenGitHub/leftieFrieleTwitter/leftieFriele

License

learnyounode is Copyright (c) 2013-2015 learnyounode contributors (listed above) and licenced under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.

learnyounode builds on the excellent work by @substack and @maxogden who created stream-adventure which serves as the original foundation for learnyounode.

More Repositories

1

javascripting

Learn JavaScript by adventuring around in the terminal.
JavaScript
2,826
star
2

stream-adventure

go on an educational stream adventure!
JavaScript
2,056
star
3

workshopper

A terminal workshop runner framework
JavaScript
1,107
star
4

how-to-npm

A module to teach you how to module.
JavaScript
1,088
star
5

learnyoureact

Let's learn React.js and server side rendering!
JavaScript
534
star
6

goingnative

A NodeSchool style workshopper for learning how to write native Node.js addons
JavaScript
410
star
7

levelmeup

Level Me Up Scotty! An intro to Node.js databases via a set of self-guided workshops.
JavaScript
269
star
8

workshopper-adventure

Not an adventure, not a workshopper - its both!
JavaScript
242
star
9

regex-adventure

learn regular expressions with this educational workshop
JavaScript
228
star
10

how-to-markdown

Learn how to start using Markdown
JavaScript
213
star
11

scope-chains-closures

Javascript Scope Chains And Closures Workshop
JavaScript
201
star
12

test-anything

🎓 Learn to test your code
JavaScript
170
star
13

browserify-adventure

learn browserify with this educational adventure
JavaScript
143
star
14

adventure

quickly hack together an adventure workshop for nodeschool
JavaScript
110
star
15

learn-sass

🏫 Learn SASS and SCSS through a workshopper adventure.
JavaScript
91
star
16

workshopper-exercise

An exercise runner component for the Workshopper framework
JavaScript
57
star
17

list

A central catalog of existing, planned and requested workshoppers
14
star
18

i18n-it-all

Learn the tricky details of internationalisation by doing.
JavaScript
13
star
19

workshopper-boilerplate

A boilerplate-provider component for the Workshopper framework
JavaScript
11
star
20

org

Organizing the workshopper environment.
9
star
21

workshopper-adventure-test

An integration test system specifically for nodeschool workshopper/adventures
JavaScript
4
star
22

workshopper-wrappedexec

A utility to wrap a Workshopper exercise execution for fancy hackery
JavaScript
3
star
23

learnrust

Intro to rust
2
star
24

workshopper-adventure-storage

Storing workshopper progress
JavaScript
1
star