Server Side JavaScript
A tantárgyleírás hatályossága
| Subject name (Hungarian, English) |
Szerver oldali JavaScript
Server Side JavaScript
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Subject code | BMEVITMAV42 | ||||||||||||
| Subject type | — | ||||||||||||
| Training Level | — | ||||||||||||
| Course types and hours (weekly/semester) |
|
||||||||||||
| Assessment type | félévközi érdemjegy | ||||||||||||
| Credits | 2 | ||||||||||||
| Subject coordinator |
DR. Kovács Gábor
position: adjunktus
contact:
kovacs.gabor@vik.bme.hu
|
||||||||||||
| Responsible department |
Távközlési és Mesterséges Intelligencia Tanszék
|
||||||||||||
| Faculty | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Subject website | — | ||||||||||||
| Primary curriculum type | — | ||||||||||||
| Direct prerequisites – Strong prerequisite | none | ||||||||||||
| Direct prerequisites – Weak prerequisite | none | ||||||||||||
| Direct prerequisites – Parallel prerequisite | none | ||||||||||||
| Direct prerequisites – Milestone prerequisite | none | ||||||||||||
| Direct prerequisites – Exclusion | none |
Objectives
1. hét előadás
Bevezetés. Node.js története, fejlődése,
működése, V8, NPM, io.js és ökoszisztéma bemutatása.
2. hét gyakorlat
Node.js keretrendszer telepítése,
package.json használata, fejlesztést támogató eszközök használata (git, nvm,
npm). Express alkalmazás létrehozásának bemutatása, szerver oldali fejlesztést
támogató eszközök (nodemon, forever).
3. hét előadás
Javascript szintaxis, struktúra, adatkezelés, változók scopeja. Osztály és öröklés megvalósítása javascript nyelven. Aszinkronitás és az aszinkron működésből adódó időzítési problémák. Lezárások (closure) használatának bemutatása, az ES6-ban megjelenő natív promise.
4. hét gyakorlat
Javascript nyelvi elemek gyakorlása, aszinkronitás bemutatása a gyakorlatban, időzítési problémák elkerülése, meglévő komplex kódok refaktorálása aszinkron működés kezelésére, callback struktúrák kialakítása.
5. hét előadás
Node.js core modulok bemutatása: http, https, os, fs, events. A modulok legfontosabb funkcióinak áttekintése és egyszerű példákon keresztül bemutatása.
6. hét gyakorlat
A core modulok gyakorlatban történő bemutatása.
7. hét előadás
Express keretrendszer bemutatása, gyakran használt modulok, azok kommunikációja és együttműködése.
8. hét gyakorlat
Package.json használata, express alkalmazások felépítés, MVC szerkezet hátrányai, middleware struktúra, dependency injection. A Node alkalmazások modulokra való bontásának bemutatása.
9. hét előadás
Bluebird package által biztosított promise, async node modul bemutatása, error first callbackek használata. Grunt bemutatása, használatának előnyei – hátrányai, gyakran használt grunt modulok.
10. hét gyakorlat
Az Express egy templating moduljának bemutatása, HTML / kliens oldali kód integrálása a keretrendszerbe. Grunt deployment folyamat összeállítása, egyszerű grunt parancsok használata (concat, uglify, stb).
11. hét előadás
MongoDB adattárolás bemutatása Node.js környezetben, különös tekintettel az alapműveletekre (CRUD), valamint a séma tervezésre és performancia kérdésekre.
12. hét gyakorlat
MongoDB telepítése és bemutatása a gyakorlatban egy egyszerű adatstruktúra használatával. Kliens és szerver oldali kód hordozás bemutatása.
13. hét előadás
Tesztelés lehetőségei, unit és integrációs tesztek készítése. Mocha keretrendszer bemutatása, assert struktúrák, TDD / DBB alapú megvalósítások.
14. hét gyakorlat
Tesztesetek tervezése és megvalósítása, tesztelhető kód készítése, meglévő kód refaktorálása tesztelhetőség szempontjából. Teszt környezet felépítése és code coverage tesztelés.
Learning outcomes
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Knowledge
No learning outcomes recorded.
Skills
No learning outcomes recorded.
Attitudes
No learning outcomes recorded.
Autonomy and responsibility
No learning outcomes recorded.
Oktatási módszertan
Tanulástámogató anyagok
Not provided.
Recommended preliminary knowledge for completing the subject
General rules
Assessment methods
In-term assessments
No detailed assessments provided.
Weight of in-term assessments
No weights provided.
Exam-period assessments
No detailed assessments provided.
Weight of exam elements
No weights provided.
Grade calculation
No grade thresholds provided.
Attendance requirements
No attendance requirements provided.
Rules for retake and resubmission
Not provided.
Short description
Not provided.
Detailed description
Not provided.
Recommended courses
Workload to complete the subject
No workload breakdown provided.
Validity of subject requirements
Curriculum placement
No curriculum placements recorded for this subject version.