Documente Academic
Documente Profesional
Documente Cultură
În acest proiect vei desena elemente grafice folosind JavaScript. Aici vei
parte introductivă vei învăța cum să-l folosești (elementul grafic atașat a
doar bucățelele mici din cod, în cele din urmă vei reuși!
Elementul canvas
Elementul canvas („pânză” în limba română) este un element HTML pe care
Codul HTML
folosind JavaScript.
Devine mai evident unde poți desena dacă îi atribui un chenar lui canvas:
dreptunghi:
context.fillRect(20,10,250,175);
Copy
Sarcină
Dreptunghiuri
context.fillRect(20,10,250,175);
Copy
Sarcină
fillStyle
Culori
context.fillStyle = '#C74F78';
context.fillRect(20,10,250,175);
Copy
79, 120)", "rgba(0, 128, 128, .5)") (i se pot atribui chiar și culori în degrade
și modele).
Sarcină
moveTo() și lineTo()
Liniile
la coordonatele date.
De fapt, linia este o parte a unei căi invizibile. Pentru a fi văzută, trebuie să
context.beginPath();
context.moveTo(55, 70) ;
context.lineTo(150,100);
context.stroke();
Copy
neagră.
târziu însă, căile tale invizibile se pot încurca, mai ales dacă nu au început
lui strokeStyle:
context.strokeStyle = "orange";
Copy
Sarcină
cw și ch
Dimensiunea lui canvas
propriu-zise:
context.fillRect(50,50,canvasWidth-100,canvasHeight-100);
Copy
Sarcină
Un pătrat singuratic
Ca şablon de început poți ramifica acest JSBin sau poți folosi orice versiune
personalizată.
Sarcină
personalizată.
Sarcină
Copiază și
lipește linkul
JSBin aici,
după ce ai
terminat
sarcina.
Steagul Ungariei
Ca şablon de început poți ramifica acest JSBin sau poți folosi orice versiune
personalizată.
var a = 250;
var b = 50;
var cw = 450;
var ch = 300;
Copy
Sarcină
personalizată.
Un
triunghi
Ca şablon de început poți ramifica acest JSBin sau poți folosi orice versiune
personalizată.
Desenează un triunghi. Fă-i conturul gri (strokeStyle și stroke()) și umple-l cu
portocaliu (fillStyle și fill()).
invoci funcțiile.
Sarcină
Copiază și
lipește linkul
JSBin aici,
după ce ai
terminat
sarcina.
Liniile despărțitoare
Ca şablon de început poți ramifica acest JSBin sau poți folosi orice versiune
personalizată.
numai
variabile.
Sarcină
Copiază și
lipește linkul
JSBin aici,
după ce ai
terminat
sarcina.
Pătratele DRY
Ca şablon de început poți ramifica acest JSBin sau poți folosi orice versiune
personalizată.
dată.
Sarcină
personalizată.
Sarcină
personalizată.
Sarcină
personalizată.
trei ori.
2.Vârfurile ar trebui deplasate cu câte 5 pixeli pentru fiecare triunghi.
Sarcină
Pătratele curcubeu
Ca şablon de început poți ramifica acest JSBin sau poți folosi orice versiune
personalizată.
Sarcină
personalizată.
1.Desenează 15 pătrate prin invocarea funcției fillRect() doar o
singură dată.
Sarcină
Copiază și
lipește linkul
JSBin aici,
după ce ai
terminat
sarcina.
Piramida neobișnuită
Ca şablon de început poți ramifica acest JSBin sau poți folosi orice versiune
personalizată.
la fiecare 3 pixeli:
Sarcină
triunghiuri sunt?
Ca şablon de început poți ramifica acest JSBin sau poți folosi orice versiune
personalizată.
Mergi de-a lungul liniei orizontale despărțitoare din mijlocul lui canvas și
•Dacă
•Dacă
Unde cw es
te lățimea
Sarcină
Copiază și
triangle()
Ca şablon de început poți ramifica acest JSBin sau poți folosi orice versiune
personalizată.
desenează un triunghi.
triangle(230,160,50);
triangle(270,100,50);
triangle(200,50,150);
Copy
Sarcină
personalizată.
filledStar(40,50,75);
filledStar(130,120,100);
filledStar(250,220,150);
Copy
Sarcină
personalizată.
în x,y, utilizând culoarea dată.
Sarcină
Copiază și
lipește linkul
JSBin aici,
după ce ai
terminat
sarcina.
Coloniștii lui JavaScript
Desenează următorul grafic. Utilizează cât mai puţine linii de cod posibil.
Sarcină
trebui împărțit.
Invocând
funcția
Copy
Sarcină
Copiază și
Tetractys
Desenează următorul grafic. Utilizează cât mai puţine linii de cod posibil.
Sarcină
ceva.
Vizitează ca
nalul
#showcase
de pe
CodeBerry
Slack și
distribuie-ți
creația.
Sarcină
Introdu
linkul JSBin
pentru cea
mai bună
dintre
creațiile tale.
Bine
ai venit!
Salutare și bine ai venit la proiectul nostru „Înregistrarea și utilizarea
unui domeniu”.
domeniu unic pentru site-ul tău web. De asemenea, vei lua contact cu una
Ok, avem multe lucruri interesante care ne așteaptă. Dacă ești gata, hai
internetului.
el?”
contracandidații tăi.
Dacă te interesează doar aplicația practică, poți sări peste partea teoretică
Introducere în DNS
După cum știi deja, DNS vine de la Domain Name System (Sistem de nume
Cât de esențială? Fără DNS nu am putea accesa niciun site web și încă am
adrese.
Numele de domenii
După cum ți-am promis, în curând vom porni într-o aventură în care vom
răspundem:
diferite clădiri.
Grozav. Atunci ce este o adresă IP?
https://google.com/.
Partea „https://”.
Partea „.com” în sine.
Părțile „https” și „com” fără puncte și bare oblice (slash).
Partea „google.com”.
Adresele IP
Îți amintești cum am menționat mai înainte că fiecare calculator de pe
Aceasta este o adresă unică, aparținând unui calculator unic din rețea.
Poate că te întrebi: „Stai, ce? Tocmai ai spus același lucru despre domenii!”
Când vizitezi un site web, de fapt calculatorul tău îi cere unui alt calculator
serverului.
255.255.255.0.
În această călătorie:
Primul pas
Tocmai ai tastat google.com în bara de căutare a browserului tău. Ce va
atunci îl stochează în propriul cache. Astfel nu mai trebuie să-l ceară data
viitoare. Cache-ul economisește timp pentru browser și, în cele din urmă,
pentru tine.
Există două posibilități distincte aici: fie browserul are adresa IP în propriul
Cache-ul este locul în care browserul stochează resursele (precum imagini, clipuri video etc.)
site-urilor deja vizitate.
Este un set suplimentar de memorie doar pentru browser, pentru a reda mai bine clipuri video.
Cache-ul este depozitul temporar al datelor din browser. Acesta poate stoca adresele IP ale site-
urilor deja vizitate.
Serverul de rezolvare a
numelui
Ok, deci nici browserul, nici OS-ul nu știu adresa IP pentru google.com.
adresa IP pentru google.com?”
înapoi la browser.
numelui?
Browserul.
Sistemul de operare.
Furnizorul de Servicii Internet (ISP) al utilizatorului.
Serverul de rezolvare a numelui trimite ping încontinuu fiecărui calculator din propria rețea. Nu
este nevoie să trimită o cerere.
Serverul-rădăcină
Serverul-rădăcină se află în vârful ierarhiei DNS. Există 13 servere-rădăcină
Serverele-rădăcină.
Serverele TLD.
Serverele de nume.
nivel superior.
.com este cel mai comun TLD. Altele foarte populare sunt: .org, .net și .edu.
va continua călătoria.
Partea „codeberryschool”.
Partea „www” fără punct.
Ultimul punct (.) în sine.
Partea „.com”.
Serverul de nume
Acum, lunga noastră călătorie aproape că s-a încheiat. Serverul de nume
pentru google.com este 74.125.224.72.”
OS-ul va stoca IP-ul în propriul cache, așadar nu va mai trebui să-i ceară
o: 74.125.224.72.”
cache?
Bine lucrat
Poate că toată călătoria ți se pare înceată acum, însă reține că în realitate
Vei învăța:
Înainte
Cum ți s-a părut această sarcină?
Registratoarele de domeniu
Când cumperi un nume de domeniu, primul lucru pe care trebuie să-l
Dar, mai întâi, iată o mică explicație a diferenței dintre gazda de domeniu
Ce e un registrator de domeniu?
Alege un registrator
În regulă, așadar prima întrebare la care trebuie să răspunzi când
ar trebui să folosesc?
utilizator.
Reține toate acestea atunci când îți alegi domeniul și, de asemenea, ține
greșit.
terminat, vom vedea dacă este disponibil și vom alege un TLD pentru
acesta.
precum .store sau .club.
De această dată, vom folosi .com, deoarece este cel mai comun și încă e
site web. Totuși, poți alege orice TLD dorești, totul depinde de tine.
Este posibil ca perechea de domeniu + TLD pe care o vrei să fie luată
deja. În acest caz, pur și simplu poți alege un alt TLD sau modifică-ți
De ce GitHub?
Poate că știi de GitHub doar pentru abilitatea lui de a gestiona repertorii.
găzduiești fișiere pentru site-ul web și să-i ceri numelui tău de domeniu să
Și vrei să știi care este cel mai bun lucru dintre toate? Este gratis!
sarcini:
este cea mai bună opțiune pentru site-urile web mici și statice.
prezentare simplu.
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="main.css">
<title>Pagina Despre mine</title>
</head>
<body>
<div class="container">
<h4>Numele tău</h4>
<p>Adaugă o mică introducere despre tine</p>
<img src="yourpicture.png" alt="imagineata">
</div>
</body>
</html>
Copy
Haide să-i dăm stil paginii tale. Deschide fișierul main.css și stilizează-l cum
îți place. Din nou, poți doar copia și lipi codul de mai jos, dacă nu vrei să-ți
.container {
width: 100%;
height: 100%;
}
h4 {
text-align: center;
}
p {
text-align: center;
}
img {
display: block;
margin-left: auto;
margin-right: auto;
}
Copy
below to enable GitHub Pages for this repository.” (GitHub Pages este
domeniului tău.
fi asimpleaboutmepage.com.
După ce ai terminat, dacă revii la fila „Code” (Cod), vei observa că fișierul
tale index.html și main.css.
CNAME vine de la Canonical Name (Nume Canonic). În esență, este o
personalizat.
gazda de domeniu.
Conectând punctele
Singurul lucru rămas de făcut acum este să adăugăm câteva înregistrări în
Accesarea setărilor
Crearea înregistrărilor A
„A” vine de la Address (Adresă). Acestea sunt înregistrările care vor indica
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
Copy
afișate.
Îți amintești când GitHub a setat o înregistrare CNAME pentru noi? Trebuie
utilizator GitHub.
automată
parcare).
Asta-i tot
Dacă îți vine să crezi sau nu, am terminat. Acum aceste înregistrări indică
tău nu-ți arată site-ul web imediat. Așteaptă puțin și încearcă din nou.
legată de motivul pentru care să folosești GitHub pentru a-ți găzdui site-
Dacă vrei să faci schimbări site-ului tău web, trebuie doar să urmezi fluxul
încarcă-le.
se regăsesc deja acolo. (Dacă nu sunt vizibile, este suficient să aștepți 2-3
Încheiere
Din moment ce ne apropiem de sfârșitul proiectului, haide să recapitulăm
•ce e DNS-ul,
Dacă vrei, îți poți rezerva mai mult timp acum să lucrezi la site-ul tău de
următoare.
Introducere – La ce se folosește
Node.js?
În acest proiect vei crea un server web folosind Node.js.
pe acesta.
JavaScript.
Avantajul evident al acestuia este că folosește același limbaj atât în partea
celălalt), iar această funcție face greu de servit mai multe cereri care
început.
Instalând Node.js
Instalarea
Pentru a continua instalează Node.js pe calculatorul tău.
term support - suport pe termen lung). Poți lăsa fiecare setare implicită.
Când instalarea s-a terminat, verifică dacă totul a mers bine. Deschide o
node -v
Copy
Ca răspuns, ar trebui să vezi afișată versiunea de Node.js instalată.
Terminal
Dacă folosești Windows și nu ai întâlnit până acum terminalul, atunci
PowerShell (%windir%\system32\WindowsPowerShell\powershell.exe,
obicei, C:\Windows).
IDE
Folosirea unui IDE (integrated development environment - mediu de
ușoară, dar acest proiect va folosi în mod deliberat terminalul care scrie
Hello webserver
Creează un folder pe calculatorul tău (îi poți alege numele) și navighează
http.createServer(onRequest).listen(3000);
console.log('The server is running...');
Copy
comandă:
node server.js
Copy
Dacă totul a decurs bine, poți vedea mesajul: "The server is running..." și
Sarcină
http.createServer(onRequest).listen(3000);
console.log('The server is running...');
Copy
parametri: request și response.
Pe prima linie a funcției, configurăm antetul (200 --> OK și configurăm
dacă vrei să știi mai multe despre codurile de status ale HTTP , iată o
listă.
aici: https://github.com/CodeBerrySchool/node-js-basics/tree/step-01.
Sarcină
Care este diferența dintre codurile de status HTTP „Not Found” și „OK” (extrage cele
două coduri)?
scrise de către tine (sau alții) în codul tău. Folosirea modulelor face
voi folosi acest nume, dar tu poți folosi orice nume dorești).
function logProduct(a, b) {
console.log(a*b);
}
mod implicit.
Sarcină
module.exports
Pentru ca require() să știe ce parte a acestui fișier să importe, ar trebui să
module.exports.logProduct = logProduct;
module.exports.moduleMessage = moduleMessage;
Copy
acesteia.
după nume. Modulul nostru poate fi referențiat după calea sa. Din
astfel: ./multiply-module.js
Am modificat funcția onRequest astfel:
scurt timp.
Un alt modul
Dacă n-ai vrea să exporți elementele unui modul unul câte unul, poți folosi
module.exports = {
logProduct: function(a, b) {
console.log(a*b);
},
moduleMessage: 'The product is shown on the console.'
}
Copy
fișierul server.js.
acum: https://github.com/CodeBerrySchool/node-js-basics/tree/step-02.
Sarcină
response.write('Hello world');
Copy
index.html
Creează un fișier index.html în folderul proiectului tău. Adaugă un conținut
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Title</title>
</head>
<body>
<h1>A heading</h1>
<p>One fine paragraph</p>
</body>
</html>
Copy
•
AI1
Sistemul de fișiere
Ca prim pas, serverul ar trebui să fie capabil să ajungă la acest fișier pe propriul sistem
de fișiere.
var fs = require('fs');
Copy
2. alte opțiuni
3. funcția callback
În acest caz, calea este ./index.html, din moment ce cele două fișiere se află în același
director.
Nu vom oferi opțiuni suplimentare acum, deci vom da null ca al doilea parametru.
Funcția callback este o funcție anonimă care este apelată când funcția readFile() s-a
terminat. Aici se vor întâmpla lucrurilele grozave de această dată.
În prima ramură, verificăm dacă nu există vreo eroare [if (error) {}]. Dacă există
(avem parametrul error), schimbăm codul stării pentru antetul HTML la 404 (file not
found) (fișierul nu a fost găsit) și înștiințăm utilizatorul că fișierul nu a fost găsit.
Dacă nu există nicio eroare [ramura else {}], răspundem cu al doilea parametru (data).
Sarcină
Codarea HTML
Datele au sosit în browser, însă ca text brut. Aceasta nu este o eroare, din
aici: https://github.com/CodeBerrySchool/node-js-basics/tree/step-03.
Felicitări!
Tocmai ai creat un server web funcțional care folosește module importate