This is an old revision of the document!


Laborator 2

Introducere in NodeJS

Instalare

Instalarea se face diferit pentru Windows si Linux.

Windows

Pentru Windows, instalarea se face folosind un kit care se poate descarca de pe pagina NodeJS. Trebuie doar sa alegeti varianta corespunzatoare sistemului de operare (32 sau 64 de biti). Aveti nevoie de parola de administrator doar la instalare.

Reporniti calculatorul dupa instalarea NodeJS.

Linux

Pentru Linux, NodeJS se poate instala fie din repository-urile distributiei (folosind apt-get sau yum), fie prin compilarea sursei de pe pagina NodeJS. Va recomandam instalarea prin compilare, deoarece versiunile din repository-uri sunt vechi.

Pentru compilare, descarcati sursele de pe pagina NodeJS. Aveti nevoie de gcc, g++, make, openssl, python instalate.

Compilarea se face folosind urmatoarele comenzi:

./configure
make
sudo make install

Dupa cums e poate observa, una dintre comenzi (cea cu sudo) are nevoie de un utlizator privilegiat. Daca nu aveti asa ceva, puteti instala NodeJS in contul local:

./configure --prefix=~/local
make
make install

Astfel veti avea un director local in directorul utilizatorului in care va fi instalat NodeJS. Pentru a functiona, trebuie sa adaugati o cale de cautare catre fisierele executabile ale NodeJS. Pentru acesta, adaugati in fisierul ~/.bashrc urmatoarea linie:

export PATH=$HOME/local/bin:$PATH

Instalarea pachetelor

NodeJS este doar compilatorul si cateva biblioteci pentru programare. Pentru a adauga functionalitati, trebuie sa instalati biblioteci suplimentare. Acesta se face folosind comanda npm. Sintaxa este urmatoarea:

npm [-g] install nume_biblioteca

Instalarea bibliotecilor se face intr-un director numit node_modules. Acesta este fie directorul global al NodeJS (daca parametrul -g este specificat) fie in directorul curent.

Pentru laboratorul de astazi avem nevoie de biblioteca dict. Vom instala biblioteca in directorul curent la momentul potrivit.

npm install dict

IDE

NodeJS este doar compilatorul, asa ca pentru scrierea programelor aveti nevoie de un alt program. Puteti folosi orice program, noi recomandam:

  • SublimeText
  • Nodepad++
  • Vim

Rularea programelor

Aveti nevoie de un terminal pentru a rula programele. NodeJS este similar cu python in acest sens. Un program se porneste folosind comanda:

node fisier_program.js

In Windows, proniti un terminal folosind comanda cmd.exe (atentie, nu rulati direct node.exe, acesta nu va executa un program, va pornit doar NodeJS in modul interactiv - adica asteapta instructiuni de javascript).

Limbajul

Sintaxa limbajului este similara cu cea din C. Variabilele au tip dinamic, adica tipul lor se schimba in functie de ce anume memoreaza.

Scrierea pe ecran

Pe ecran se poate afisa folosind functiile console.log() si console.error (). Care este diferenta dintre acestea doua?

Exemplu:

console.log ('Hello from NodeJS');

Declararea variabilelor

Variabilele se declara folosind cuvantul cheie var.

var a;
var b;

Valorile speciale ale variabilelor

In Javascript exista trei tipuri de valori speciale, diferite una de alta.

  • undefined - este valoarea unei variabile care nu a primit niciodata valoare
  • null - este valoarea echivalenta cu NULL din C, insa este diferita de valoarea 0 sau valoarea undefined
  • false - este valoarea falsa din C, diferita de 0, null si undefined
  • true - este valoarea adevarata

false != null != undefined != 0

Exercitii

  1. Scrieti un program care va afiseaza numele pe ecran.
  2. Scrieti un program care defineste un sir si afiseaza sirul pe ecran.
  3. Scrieti un program care defineste un sir si o functie care afiseaza sirul pe ecran.
  4. Scrieti un program in care definiti o structura si ii afisati componentele.
  5. Scrieti un program care defineste un dictionar si afiseaza componentele sale.
cpl-atm/laboratoare/laborator2.1382082084.txt.gz · Last modified: 2013/10/18 10:41 by alexandru.radovici
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0