Skip to content
This repository has been archived by the owner on Jun 28, 2019. It is now read-only.

Latest commit

 

History

History
216 lines (136 loc) · 7.5 KB

week-1.md

File metadata and controls

216 lines (136 loc) · 7.5 KB

Week 1

Always bet on JavaScript.

@BrendanEich

Table of Contents

Inspiration

Visualisation of npm dependencies by @anvaka.

Comic

Compiling by @xkcd.

Slides

Theory

Assignments

learnyounode (practice)

Lose Yourself by @claybanks1989.

In this assignment you’ll learn the basics of Node.

Synopsis

  • Practice
  • Time: 3:00h
  • Goals: subgoal 1, subgoal 2
  • Due: before lab 3

Tips

  • Stuck? See the Bugs section of the course readme to find a list of troubleshooting tips

Description

Take ± 3 hours to follow the learnyounode workshopper through to completion.

Workshoppers are interactive, self guided lesson modules, used as curriculum in NodeSchool: free and in-person hosted workshops. At NodeSchool, mentors help attendees work through the challenges, but you can also work through workshoppers on your own, or with friends or colleagues.

NodeSchool Amsterdam is pretty active: about once per month there’s a workshop. It’s also a lot of fun. Need some extra help? Want to meet more developers? Definitely attend one of the workshops!

Other than learnyounode, workshoppers exist for JavaScript, npm, Express, Electron, and much more. Feel free to peruse the list of workshoppers and try anything that sounds interesting.

Extra resources

Homework

You’re expected to spend about 6 hours on assignments outside of class. Submit your assignments before lab 3.

Package (Feature)

Parcel, package, candy cane and string by @kadh.

You’ll learn the basics of node modules and npm packages and setup a boilerplate for your own feature.

Synopsis

  • Homework
  • Time: 6:00h
  • Goals: subgoal 1, subgoal 2
  • Due: before lab 3

Tips

  • Stuck? See the Bugs section of the course readme to find a list of troubleshooting tips

Description

  1. Create the boilerplate for the feature you are going to create. Include a package.json with a correct name, version, dependencies, and other metadata. See npm’s documentation on package.json. For examples of package.json files, see repeat-string, longest-streak, or skin-tone.

  2. Pick a package from npm that would be helpful for your feature and use it in your index.js

    • Not sure what dependency to pick? You can try to get nodemon up and runnning or make an example using the lodash package.
    • Can you create some scripts in your package.json to start your index.js?
  3. Add a readme.md to your repo, documenting the code: how to install it, how to use it (with examples), a license. For examples of readme.md files, see concat-stream, ccount, or normalize-url. Here's a good article on the art of READMEs.

  4. Add a license to your repository. What are the differences between each license?

If you have some time left and would like to dig further you can:

…most of the previously linked to projects have the above in place, look at them for examples.

Ask yourself upon completion:

  • What's the difference between dependencies and devDependencies?
  • What are the differences between global and local dependencies?

Extra resources

Hand in

  1. Push your changes: Hand in your progess in your repository on GitHub under your username.

  2. Create an issue: Mark this assignment as complete by opening an issue on our GitHub issue tracker. Fill in the issue template with the correct information. Make sure, in your repository, you include the resources used and update your readme.md and wiki with additional information.

  3. Feedback: Let us know what you thought of the homework, what part you spend a lot of time on and give us any feedback. Your project will be reviewed and receive feedback, so expect people to read it, and be ready for tips and tops!