Milan Herda, 01/2020
Prevod inštrukcií
z jazyka ľudského
do jazyka programovacieho
odkiaľ sú prevádzané do ďalšieho jazyka,
ktorému "rozumie" počítač
Počítač neurobí to, čo chceš.
Urobí to, čo mu povieš.
Programovací jazyk nie je ako prirodzený jazyk.
Vyjadrovať sa treba presne.
Syntax treba dodržiavať na 100%
99.9% nie je good enough
Prevod inštrukcií
Inštrukcie sú postupom riešenia
"Postup riešenia" sa múdrym slovom povie
Vytváranie algoritmu
Vytváranie zoznamu krokov na "vyriešenie problému"
Najdôležitejšou súčasťou je:
Vyberte si
Web != internet
Protokol pre prenos hypertextu
Tento text nemusí byť nutne lineárny
GET /praca/bratislava HTTP/1.1
Host: www.profesia.sk
HTTP/1.1 200 OK
Date: Tue, 04 Dec 2018 09:00:00 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 1024
Connection: close
<html>
<head>
<title>Profesia</title>
</head>
<body>
Zoznam inzerátov
</body>
</html>
Značkovací jazyk hypertextu
Toto je hypertextový dokument.
Obsahuje linku na iný dokument.
Toto je hypertextový dokument.
Obsahuje <a href="iny-dokument.html">linku</a> na iný dokument.
<párový>obsah uzavretý v párovom tagu</párový>
<nepárový>
Nepárový tag nemusí mať ukončovaciu značku
Párové tagy | Nepárové tagy |
---|---|
<b>tučné písmo</b> | <br> - nový riadok |
<i>kurzíva</i> | <img src="cesta"> - obrázok |
<a href="adresa">linka</a> | <input> - formulárový prvok |
<h1>Nadpis</h1> | |
<p>odstavec</p> | |
<span>vyznačenie</span> | |
<div>blok</div> | |
<form>formulár</form> | |
<table>tabuľka</table> | |
<button>tlačidlo</button> |
Správajú sa ako štvoruholníkový blok a spôsobujú zalomenie riadku.
<form>, <div>, <table>, <h1>, <p>...
Nezalamujú riadok
<a>, <b>, <i>, <span>...
<!doctype html>
<html>
<head>
<title>Titulok stránky v prehliadači</title>
<meta charset="UTF-8">
<meta
name="description"
content="Popis stránky pre vyhľadávače"
>
<link rel="stylesheet" href="css/style.css">
<script src="javascript/foo.js"></script>
</head>
<body>
<h1>Hlavný nadpis</h1>
<img src="images/main.jpg">
<p>Odstavec textu</p>
</body>
</html>
Vytvorte nový HTML dokument so základnými informáciami o človeku:
Autor: Brendan Eich
JavaScript vyzerá podobne ako iné jazyky
Ale len vyzerá
Je ľahké v ňom začať
Ale je ťažšie ho pochopiť a ovládnuť
Kde sa používa?
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.
Prevod inštrukcií
z jazyka ľudského
do jazyka programovacieho
odkiaľ sú prevádzané do ďalšieho jazyka,
ktorému "rozumie" počítač
Tento "prevod" robí nástroj, ktorému sa hovorí:
Node.js je teda prostredie, ktoré prekladá JS do jazyka, ktorému rozumie počítač a v ktorom potom výsledný kód beží.
Budeme to potrebovať na to, aby sme vedeli JS spúšťať aj mimo prehliadača.
Stiahnite a nainštalujte
Nástroj na automatické testovanie webstránok
Ale... viete ho použiť aj na tvorbu botov do webových hier :)
Inštalácia:
vytvorte si niekde adresár js-hello
otvorte si v tomto adresári konzolu a napíšte:
npm init
npm install cypress --save-dev
console.log('Hello World v konzole');
Vytvorte súbor nazvaný napr. hello.js
s obsahom:
node hello.js
<!DOCTYPE html>
<html lang="sk">
<head>
<meta charset="UTF-8">
<title>Hello World</title>
</head>
<body>
<h1>Môj prvý js program</h1>
<p id="foo">Tu je text, ktorý nahradíme</p>
<script>
console.log('Hello World v konzole');
// var element = document.querySelector('#foo');
// element.innerHTML = 'Hello World v HTML';
</script>
</body>
</html>
Cypress pri prvom spustení vytvorí adresár cypress s príkladmi
npx cypress open
Odtiaľ spustíme cypress
Spustite konzolu v adresári js-hello
V adresári cypress/integration vytvorte nový súbor hello-cypress.js
describe("Môj prvý cypress test", function () {
it("napíše Hello", function () {
cy.visit("https://www.profesia.sk/");
cy.get(
"#CybotCookiebotDialogBodyButtonDecline"
).click();
cy.get(
'#offerCriteriaSuggesterInputId'
).type(
'Hello World'
);
});
});