Giter Site home page Giter Site logo

sss-course's Introduction

Server side scripting in Node.js

See this README with a table of contents here.

Introductie

Hoewel je als Frontend developer je vooral met client-side bezig houdt, zijn er natuurlijk ook taken die je beter op de server kunt uitvoeren: data opslaan, gebruikers accounts, data uitwisselen met externe diensten, etc. In het server-side scripting leer je hoe je in JavaScript met Node.js een applicatie kunt maken voor het server side werk. Aangezien je vaak moet werken met databases om data op te kunnen slaan is het verstandig om naast dit vak ook te kiezen voor het profileringsvak Storage.

Lesstof

  • Werken met een Node.js server
  • Templating
  • Communicatie met externe dienste (API’s)
  • Afhandelen & validatie van formulieren
  • Veilig verwerken van gebruikersdata
  • Unittesten
  • Werken met bestanden en databases
  • Realtime communicatie met client-side scripts

Contactpersonen

[TODO] *

Leerdoelen

  • De student heeft een degelijke basis in Node.js en kan zelfstandig hierop gebaseerde systemen analyseren en naar behoefte aanpassen.
  • De student kent de basisprincipes van een imperatieve programmeertaal: variabelen, sequentiële uitvoering, controlestructuren.
  • De student ziet het nut van het gebruik van functies en kan functies toepassen om een web- applicatie gestructureerd op te bouwen.
  • De student is in staat om met behulp van Node.js verbinding te leggen met een MySQL database en daar gegevens uit op te halen en in te muteren.
  • De student kan de geleerde basisprincipes zelfstandig combineren en toepassen om eenvoudige programmeerproblemen op te lossen.

Benodigde voorkennis

  • Basis javascript kennis,
  • Terminal kennis (zie Tools voor extra resource)
  • Git en een GitHub-account

Werkwijze

Het programma bestaat uit een serie hoor- en werkcolleges. In de hoorcolleges behandelen we elke week alles rondom een bepaald onderwerp, in de werkcolleges werk je elke week aan een opdracht om je dat onderwerp verder eigen te maken. Er zijn in totaal drie deeltoetsen waarvan de eerste twee tijdens het practicum uitgevoerd moeten worden. De eindopdracht wordt thuis gemaakt en moet bij de docent worden ingeleverd.

Hoorcolleges

  • Maandag (8.30u)
  • Nieuw lesmateriaal wordt uitgelegd
  • Uitleg huiswerkopdrachten
  • Presentatie na afloop online

Werkcolleges

  • Behandelen opdrachten van vorige week
  • Werken aan de nieuwe opdracht
  • Vragen stellen

Huiswerk & opdrachten

Het huiswerk wordt per week vastgelegd in het weekoverzicht.

2 uur lezen, 2 uur opdracht voorbereiden

Voor iedere opdracht wordt een bootstraped project aangeleverd.

Workflow

  1. Fork
  2. Clone
  3. Open project in IDE, modify, test, clone etc.
  4. Commit your changes
  5. To save -> Push

Het maken van de opdrachten zorgt ervoor dat je een goede voorbereiden hebt voor de deeltoetsen en eindopdracht.

Github zal gebruikt worden om efficiënt code te kunnen delen, zodat wij snel jouw code kunnen zien en kunnen testen.

Pull-request

Toetsing

Gedurende het programma worden in de werkcolleges 2 deeltoetsen aangeboden met een opbouwende moeilijkheidsgraad. In deze toetsen lost de student programmeerproblemen op met behulp van Node.js & Javascript. Beoordeling van en feedback op de gemaakte deeltoetsen worden tijdens de eerstvolgende practica gegeven, het is dus zaak dat studenten bij alle practica aanwezig zijn. Als alle toetsen voldoende zijn afgerond bestaat het eindcijfer uit het cijfer voor de eindopdracht. De eerste twee deeltoetsen worden alleen beoordeeld met voldoende/onvoldoende. Er is een algemene herkansing voor studenten die niet alle deeltoetsen voldoende hebben afgerond. Deze herkansing bestaat uit een praktijkgerichte opdracht die de totale stof uit alle deeltoetsen beslaat.

Weekoverzicht

Week 1

  1. Node installeren en REPL draaien
  2. NPM packages installeren en gebruik package.json
  3. Debugging met console.log/console.dir en debugger
  4. Basis JS control flow
  5. Modules
  6. Async, callbacks en events

Opdracht

Week 2

  1. Appserver
  2. Templating
  3. REST (externe diensten)

Week 3

  1. Forms
  2. Sessions
  3. Validaties
  4. Security XSS

Week 4

  1. Unittesten

Week 5

  1. Databases
  2. MySQL
  3. Security (injection)
  4. Files

Week 6

  1. Realtime

Week 7 & 8

In deze weken zal geen nieuwe stof behandeld worden. Tijdens het werkcollege in week 7 zal er een samenvatting van de voor de eindopdracht belangrijke stof plaats vinden.

Bronnen

Het boek: Node. js in Action, Cantelon, Mike, et al. - Manning Publications, 2014 zal als belangrijke leidraad van deze cursus worden gebruikt. Wekelijks zullen diverse hoofdstukken hieruit worden behandeld.

Voorkennis

Aanbevolen literatuur

Tools

sss-course's People

Contributors

edwinvdgraaf avatar

Watchers

Flurin Egger avatar Ronald Wind avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.