K-INFO
HU
EN
Login

Server Side JavaScript

Szerver oldali JavaScript
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Subject name (Hungarian, English)
Szerver oldali JavaScript
Server Side JavaScript
Subject code BMEVITMAV42
Subject type
Training Level
Course types and hours (weekly/semester)
Course type lecture tutorial laboratory
hours (weekly) 1 1 0
type (linked/independent) derived course
Assessment type félévközi érdemjegy
Credits 2
Subject coordinator
DR. Kovács Gábor
position: adjunktus
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

Programme

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.

 

A Node.js keretrendszer segítségével egyszerűen hozhatóak létre skálázható webes alkalmazások. A JavaScript alapok mellett a Node lehetőséget ad eseményalapú fejlesztésre, aszinkron I/O-val a túlterhelés minimalizálására és a skálázhatóság maximalizálására. A tárgy célkitűzése, hogy a hallgatók gyakorlati problémák megoldásán keresztül megismerjék és elsajátítsák a Node.js fejlesztési módszertanának alapjait, beleértve a tervezési, fejlesztési és projektkövetési feladatokat is.  

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

Előadás és gyakorlatok keretében

Tanulástámogató anyagok

Not provided.

Recommended preliminary knowledge for completing the subject

Knowledge type competencies
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
VIEEAA00 A programozás alapjai 1 vagy  VIHIAA01 A programozás alapjai 1
Skill type competencies
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Recommended (non-compulsory) preliminary competencies
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
VIEEAA00 A programozás alapjai 1 vagy  VIHIAA01 A programozás alapjai 1
General rules
Követelmények: A szorgalmi időszakban: féléves otthoni feladat megoldása, a félév során részfeladat beadásokkal. A félévközi jegy az otthoni feladat osztályzata. Pótlási lehetőségek: Az otthoni feladatok pótlólagos leadása a pótlási időszakban, egy kijelölt időpontban késedelmi eljárás keretében lehetséges.
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
nincs
Workload to complete the subject

No workload breakdown provided.

Validity of subject requirements
Requirements valid from:
Requirements valid until:
Curriculum placement

No curriculum placements recorded for this subject version.