1. hét
Bevezetés. Node.js története, fejlődése, működése, V8, NPM és ökoszisztéma bemutatása.
Paróczi Zsombor paroczi@tmit.bme.hu | Dr. Kovács Gábor kovacsg@tmit.bme.hu | 2 kredit | csütörtök 12:15 - 14:00 | https://portal.vik.bme.hu/kepzes/targyak/vitmav42 | https://malna.tmit.bme.hu/vitmav42/ | https://tinyurl.com/nodeyoutube | https://github.com/VITMAV42
Gyakorlathoz nem kell gép!!!
Hét fejlesztési gyakorlat megoldása
Értékelés értelmezése:
Hiányos esetén újra be kell adni a házi feladatot, az eredeti leadási határidővel számoljuk a késést.
Egy elképzelt megrendelő feladatát specifikáljuk:
2. hét péntek éjfél
(szeptember 16, 23:59)
Githubon megtalálható végtelen, van hivatalos is.
Ésszel használjuk!
CSS, HTML, JS
CSS, HTML, SASS, LESS, Stylus, Bootstrap, Tailwind, JS (ES6, ES2016, ESnext+++), jQuery, Babel, HTML, Gulp, Webpack, React, Angular, Vue, ...
Dan North (Dan North & Associates) - Beyond Features: Rethinking Agile Planning and Tracking:
10 nap alatt "összedobott" programnyelv, amit 1995-ben Brendan Eich hozzott létre, amikor a Netscape-nél dolgozott.
Az ECMA szabványosította 1996-1997-ben, azóta is ők foglalkoznak a nyelvi alapokkal. Most az ECMA script 6-os változatánál tartunk.
Kiforrott technológia már.
1995 óta létezik, gyengén típusos nyelv.
Mindenhol fut, de tényleg.
function foo(item) { console.log('Bar' + (item + 3) + "!"); } foo(1);
Promise.all(Array.apply(null, {length: 8}) .map(Number.call, Number) .filter(e => !(e % 2)) .map(e => new Promise((r1, r2) => {r1(e + 3)}))) .then(e => e.join('')) .then(console.log) .catch(e=>console.error(e))
Any application that can be written in JavaScript, will eventually be written in JavaScript.
Google Chrome 2008 óta fejlesztés alatt lévő böngésző, induláskor már a V8 javascript motor volt benne.
A V8 natív kóddá fordítja a betöltött js-t, így gyorsítva a működést. Nagyon sok "varázslat" van benne, mint minden JIT projektben.
Open source, bármiben használható library:
Alapja a Node.js, MongoDB szoftvereknek.
Ha már kliens oldalon javascriptet használunk (de-facto), miért ne használhatnánk szerver oldalon is?
Mi is kell ehhez?
Beépített standard modulok:
A legalapvetőbb funkciók vannak csak meg és a nyelv.
Mit tegyünk?
npm is the package manager for javascript
sok, sok, sok, sok, sok package
const http = require('http'); const server = http.createServer((req, res) =>{ res.writeHead(200); res.write("Hello world!"); res.end(); }); const port = 3000; server.listen(port, () => {console.log('server listening on port ' + port);});
const http = require('http'); const colors = require('colors'); // 1. const server = http.createServer( (req, res) => { res.writeHead(200); console.log('URL: ' + colors.red(req.url)); // 2. res.write("Hello world!"); res.end(); }); const port = 3000; server.listen(port, () => { console.log('server listening on port ' + port);});
LinkedIn, Netflix, Uber, Medium, Slack, Trello, PayPal, WalMart, eBay, Groupon