Skip to content

Commit 2e0acfb

Browse files
committed
merging all conflicts
2 parents 2fcd428 + 0f74827 commit 2e0acfb

File tree

567 files changed

+11428
-7868
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

567 files changed

+11428
-7868
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ sftp-config.json
2121
Thumbs.db
2222

2323

24+
/svgs

1-js/01-getting-started/1-intro/article.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,32 @@
11
# Uvod u JavaScript
22

3+
<<<<<<< HEAD
34
Pogledajmo šta je tako posebno u JavaScriptu, šta možemo postići sa njim i koje druge tehnologije se sa njim dobro 'igraju'.
5+
=======
6+
Let's see what's so special about JavaScript, what we can achieve with it, and what other technologies play well with it.
7+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
48
59
## Šta je JavaScript ?
610

11+
<<<<<<< HEAD
712
*JavaScript* je prvobitno kreiran kako bi *"oživio web stranice"*.
13+
=======
14+
*JavaScript* was initially created to "make web pages alive".
15+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
816
917
Programi na ovom jeziku se nazivaju *skripte*. Mogu se napisati pravo u HTML-u veb stranice i pokrenuti automatski kada se stranica učita.
1018

1119
Skripte se pružaju i izvode u obliku običnog teksta. Za pokretanje im nisu potrebne posebne pripreme ili kompilacije.
1220

1321
U ovom aspektu, JavaScript se veoma razlikuje od drugog jezika koji se zove [Java](https://en.wikipedia.org/wiki/Java_(programming_language)).
1422

23+
<<<<<<< HEAD
1524
```smart header="Zašto <u>Java</u>Script?"
1625
Kada je kreiran JavaScript, u početku je imao drugo ime: "LiveScript". Ali Java je u to vreme bila veoma popularna, pa je odlučeno da će pozicioniranje novog jezika Java-ovog „mlađeg brata“
26+
=======
27+
```smart header="Why is it called <u>Java</u>Script?"
28+
When JavaScript was created, it initially had another name: "LiveScript". But Java was very popular at that time, so it was decided that positioning a new language as a "younger brother" of Java would help.
29+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
1730
1831
Ali kako se razvijao, JavaScript je postao potpuno nezavisan jezik sa sopstvenom specifikacijom [ECMAScript](http://en.wikipedia.org/wiki/ECMAScript), a sada uopšte nema veze sa Javom.
1932
```
@@ -24,11 +37,19 @@ Preglednik ima ugrađeni motor koji se ponekad naziva i „JavaScript virtuelna
2437

2538
Različite mašine imaju različita "kodna imena". Na primer:
2639

40+
<<<<<<< HEAD
2741
- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- u Chrome-u i Opera.
2842
- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- u Firefox-u.
2943
- ... Postoje i druga kodna imena poput "Trident" i "Chakra" za različite verzije IE-a, "ChakraCore" za Microsoft Edge, "Nitro" i "SkuirrelFish" za Safari, itd.
3044

3145
Gore navedene pojmove dobro je zapamtiti jer se koriste u člancima za programere na Internetu. Koristićemo i njih. Na primer, ako „odliku X podržava V8“, ona verovatno funkcioniše u Chrome-u i Operi.
46+
=======
47+
- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- in Chrome, Opera and Edge.
48+
- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- in Firefox.
49+
- ...There are other codenames like "Chakra" for IE, "JavaScriptCore", "Nitro" and "SquirrelFish" for Safari, etc.
50+
51+
The terms above are good to remember because they are used in developer articles on the internet. We'll use them too. For instance, if "a feature X is supported by V8", then it probably works in Chrome, Opera and Edge.
52+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
3253
3354
```smart header="Kako rade mašine ?"
3455
@@ -38,7 +59,11 @@ Motori su komplikovani. Ali osnove su jednostavne.
3859
2. Zatim pretvara ("kompajlira") skriptu u mašinski jezik.
3960
3. A onda mašinski kod radi prilično brzo.
4061
62+
<<<<<<< HEAD
4163
Motor primenjuje optimizacije na svakom koraku procesa. Čak posmatra sastavljenu skriptu dok radi, analizira podatke koji prolaze kroz nju i primenjuje optimizacije na mašinskom kodu na osnovu tog znanja. Kada je gotov, skripte se pokreću prilično brzo.
64+
=======
65+
The engine applies optimizations at each step of the process. It even watches the compiled script as it runs, analyzes the data that flows through it, and further optimizes the machine code based on that knowledge.
66+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
4267
```
4368

4469
## Šta JavaScript u internet pretraživaču može da radi?
@@ -59,11 +84,19 @@ Na primer, JavaScript u pregledaču može:
5984

6085
## Šta NE MOŽETE u JavaScript pretraživaču?
6186

87+
<<<<<<< HEAD
6288
Mogućnosti JavaScripta u pretraživaču su ograničene zbog bezbednosti korisnika. Cilj je sprečiti zlo veb stranici da pristupi privatnim podacima ili našteti korisnikovim podacima.
89+
=======
90+
JavaScript's abilities in the browser are limited for the sake of a user's safety. The aim is to prevent an evil webpage from accessing private information or harming the user's data.
91+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
6392
6493
Primeri takvih ograničenja uključuju:
6594

95+
<<<<<<< HEAD
6696
- JavaScript na veb stranici možda ne može čitati / pisati proizvoljne datoteke na hard disku, kopirati ih ili izvršavati programe. Nema direktan pristup funkcijama sistema OS.
97+
=======
98+
- JavaScript on a webpage may not read/write arbitrary files on the hard disk, copy them or execute programs. It has no direct access to OS functions.
99+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
67100
68101
Savremeni pregledači omogućavaju mu da radi sa datotekama, ali je pristup ograničen i pruža se samo ako korisnik izvrši određene radnje, poput „puštanja“ datoteke u prozor pregledača ili izbora pomoću „<input>“ taga.
69102

@@ -86,9 +119,15 @@ Takva ograničenja ne postoje ako se JavaScript koristi izvan pregledača, na pr
86119
Postoje najmanje *tri* sjajne stvari o JavaScript-i :
87120

88121
```compare
122+
<<<<<<< HEAD
89123
+ Potpuna integracija sa HTML-om/CSS-om.
90124
+ Jednostavne stvari se rade jednostavno.
91125
+ Podrška svih glavnih pregledača i omogućena podrazumijevano.
126+
=======
127+
+ Full integration with HTML/CSS.
128+
+ Simple things are done simply.
129+
+ Supported by all major browsers and enabled by default.
130+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
92131
```
93132
JavaScript je jedina tehnologija pretraživača koja kombinuje ove tri stvari.
94133

@@ -108,15 +147,30 @@ Savremeni alati čine transpilaciju veoma brzom i preglednom, ustvari omogućav
108147

109148
Primeri takvih jezika:
110149

150+
<<<<<<< HEAD
111151
- [CoffeeScript](http://coffeescript.org/) je "sintaktički šećer" za JavaScript. Uvodi kraću sintaksu, omogućavajući nam pisanje jasnijeg i preciznijeg koda. Obično se Ruby programerima sviđa.
112152
- [TypeScript](http://www.typescriptlang.org/) koncentrisana je na dodavanje „strogog unosa podataka“ radi pojednostavljenja razvoja i podrške složenih sistema. Razvio ga je Microsoft.
113153
- [Flow](http://flow.org/) takođe dodaje podatke za unos podataka, ali na drugačiji način. Razvijen od strane Facebook-a.
114154
- [Dart](https://www.dartlang.org/) je samostalan jezik koji ima svoj motor koji radi u okruženjima koja nisu u pretraživaču (poput mobilnih aplikacija), ali takođe se može prevesti u JavaScript. Razvio Google.
155+
=======
156+
- [CoffeeScript](http://coffeescript.org/) is a "syntactic sugar" for JavaScript. It introduces shorter syntax, allowing us to write clearer and more precise code. Usually, Ruby devs like it.
157+
- [TypeScript](http://www.typescriptlang.org/) is concentrated on adding "strict data typing" to simplify the development and support of complex systems. It is developed by Microsoft.
158+
- [Flow](http://flow.org/) also adds data typing, but in a different way. Developed by Facebook.
159+
- [Dart](https://www.dartlang.org/) is a standalone language that has its own engine that runs in non-browser environments (like mobile apps), but also can be transpiled to JavaScript. Developed by Google.
160+
- [Brython](https://brython.info/) is a Python transpiler to JavaScript that enables the writing of applications in pure Python without JavaScript.
161+
- [Kotlin](https://kotlinlang.org/docs/reference/js-overview.html) is a modern, concise and safe programming language that can target the browser or Node.
162+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
115163
116164
Postoji više. Naravno, čak i ako koristimo jedan od prevedenih jezika, trebalo bi da znamo i JavaScript da bismo zaista razumeli šta radimo.
117165

118166
## Rezime
119167

168+
<<<<<<< HEAD
120169
- JavaScript je u početku kreiran kao jezik samo za pregledač, ali se sada koristi i u mnogim drugim okruženjima.
121170
- Danas JavaScript ima jedinstvenu poziciju kao najšire prihvaćeni jezik pregledača sa potpunom integracijom sa HTML-om / CSS-om.
122171
- Postoji mnogo jezika koji se "prevode" u JavaScript i pružaju određene funkcije. Preporučuje se da ih sagledate, bar na kratko, nakon savladavanja JavaScripta.
172+
=======
173+
- JavaScript was initially created as a browser-only language, but it is now used in many other environments as well.
174+
- Today, JavaScript has a unique position as the most widely-adopted browser language, fully integrated with HTML/CSS.
175+
- There are many languages that get "transpiled" to JavaScript and provide certain features. It is recommended to take a look at them, at least briefly, after mastering JavaScript.
176+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c

1-js/01-getting-started/2-manuals-specifications/article.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,48 @@ Ova knjiga je *tutorial*. Cilj mu je da vam pomogne da postepeno naučite jezik.
55

66
## Specifikacije
77

8+
<<<<<<< HEAD
89
**ECMA-262 specifikacija** sadrži najdublje, detaljne i formalizovane informacije o JavaScript-u. Definiše jezik.
10+
=======
11+
[The ECMA-262 specification](https://www.ecma-international.org/publications/standards/Ecma-262.htm) contains the most in-depth, detailed and formalized information about JavaScript. It defines the language.
12+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
913
1014
Ali kako je to formalizovano, u početku je teško razumeti. Dakle, ako vam je potreban najpouzdaniji izvor informacija o detaljima jezika, specifikacija je pravo mesto. Ali nije za svakodnevnu upotrebu.
1115

16+
<<<<<<< HEAD
1217
Najnoviji nacrt je u <https://tc39.es/ecma262/>.
18+
=======
19+
A new specification version is released every year. In-between these releases, the latest specification draft is at <https://tc39.es/ecma262/>.
20+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
1321
1422
Da biste pročitali nove funkcije 'krvarenja ivice', uključujući one koje su „skoro standardne“ (tzv. „Faza 3“), pogledajte predloge na <https://github.com/tc39/proposals>.
1523

24+
<<<<<<< HEAD
1625
Takođe, ako se razvijate za pregledač, onda postoje i druge specifikacije pokrivene u [drugom delu] (info:browser-environment) uputstva.
26+
=======
27+
Also, if you're developing for the browser, then there are other specifications covered in the [second part](info:browser-environment) of the tutorial.
28+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
1729
1830
## Priručnici
1931

32+
<<<<<<< HEAD
2033
- **MDN (Mozilla) JavaScript Referenca** je priručnik sa primerima i drugim informacijama. Odlično je dobiti detaljne informacije o pojedinim funkcijama jezika, metodama itd.
34+
=======
35+
- **MDN (Mozilla) JavaScript Reference** is the main manual with examples and other information. It's great to get in-depth information about individual language functions, methods etc.
36+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
2137
2238
Može se naći na <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference>.
2339

40+
<<<<<<< HEAD
2441
Mada, često je najbolje koristiti internet pretragu. Samo napiši "MDN [termin]" u pretragu, npr. <https://google.com/search?q=MDN+parseInt> za traženje `parseInt` funkcije.
2542

2643

2744
- **MSDN** – Microsoftov priručnik sa puno informacija, uključujući JavaScript (koji se često naziva JScript). Ako vam treba nešto specifično za Internet Ekplorer, idite tamo: <http://msdn.microsoft.com/>.
2845

2946
Takođe, možemo da koristimo internet pretragu sa izrazima kao što su "RegExp MSDN" ili "RegExp MSDN jscript".
47+
=======
48+
Although, it's often best to use an internet search instead. Just use "MDN [term]" in the query, e.g. <https://google.com/search?q=MDN+parseInt> to search for `parseInt` function.
49+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
3050
3151
## Tabele kompatibilnosti
3252

1-js/01-getting-started/4-devtools/article.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,19 @@ Tačan izgled alata za programere zavisi od verzije Chrome-a. Povremeno se menja
2929
- Ovde možemo videti poruku o grešci u crvenoj boji. U ovom slučaju, skripta sadrži nepoznatu komandu "lalala".
3030
- Sa desne strane postoji veza na koju se može kliknuti na izvor `bug.html: 12` sa brojem linije na kojoj je došlo do greške.
3131

32+
<<<<<<< HEAD
3233
Ispod poruke o grešci nalazi se plavi simbol ">". Označava „komandnu liniju“ u koju možemo otkucati JavaScript komande. Pretisni `taster:Enter` da ih pokreneš (`taster:Shift+Enter` za unos višerednih komandi).
34+
=======
35+
Below the error message, there is a blue `>` symbol. It marks a "command line" where we can type JavaScript commands. Press `key:Enter` to run them.
36+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
3337
3438
Sada možemo videti greške, a to je dovoljno za početak. Kasnije ćemo se vratiti alatima za razvojne programere i detaljnije ćemo pokloniti pogrešku u ovom poglavlju <info:debugging-chrome>.
3539

40+
```smart header="Multi-line input"
41+
Usually, when we put a line of code into the console, and then press `key:Enter`, it executes.
42+
43+
To insert multiple lines, press `key:Shift+Enter`. This way one can enter long fragments of JavaScript code.
44+
```
3645

3746
## Firefox, Edge, i ostali
3847

@@ -50,13 +59,17 @@ Otvorite Postavke i idite na okno „Napredno“. Na dnu je potvrdni okvir:
5059

5160
Sada `taster:Cmd+Opt+C` može prebaciti konzolu. Takođe, imajte na umu da se pojavila nova stavka gornjeg menija pod nazivom „Develop“. Ima mnogo komandi i opcija.
5261

62+
<<<<<<< HEAD
5363
```smart header="Više-linijski ulaz"
5464
Obično kada stavimo liniju koda u konzolu, a zatim pritisnemo `taster: Enter`, izvršava se.
5565
5666
Da biste umetnuli više linija, pritisnite `taster:Shift+Enter`. Na ovaj način se mogu uneti dugi fragmenti JavaScript koda.
5767
```
5868

5969
## Rezime
70+
=======
71+
## Summary
72+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
6073
6174
- Alatke za programere omogućavaju nam da vidimo greške, izvršavamo komande, ispitujemo promenljive i još mnogo toga.
6275
- Mogu se otvoriti sa `taster:F12` za većinu pregledača u operativnom sistemu Windows. Chrome za Mac treba `taster:Cmd+Opt+J`, Safari: `taster:Cmd+Opt+C` (prvo treba da se omogući).
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<body>
5+
6+
<script>
7+
alert( "I'm JavaScript!" );
8+
</script>
9+
10+
</body>
11+
12+
</html>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
[html src="index.html"]

1-js/02-first-steps/01-hello-world/article.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ Prvo, da vidimo kako prikačiti skriptu na web stranicu. Za okruženja na strani
99

1010
## "script" tag
1111

12+
<<<<<<< HEAD
1213
JavaScript programi se mogu ubaciti u bilo koji deo HTML dokumenta uz pomoć `<script>` taga.
14+
=======
15+
JavaScript programs can be inserted almost anywhere into an HTML document using the `<script>` tag.
16+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
1317
1418
Na primjer :
1519

@@ -45,8 +49,13 @@ Primer možete pokrenuti klikom na dugme „Play“ u gornjem desnom uglu gornje
4549

4650
`<script>` tag ima nekoliko atributa koji se danas retko koriste, ali se još uvek mogu naći u starom kodu:
4751

52+
<<<<<<< HEAD
4853
`type` atribut: <code>&lt;script <u>type</u>=...&gt;</code>
4954
: Stari HTML standard, HTML4, zahtevao je skriptu da sadrži `type`. Obično je to bilo `type="text/javascript"`. To više nije potrebno. Takođe, savremeni HTML standard potpuno je promenio značenje ovog atributa. Sada se može koristiti za JavaScript module. Ali to je napredna tema; razgovaraćemo o modulima u drugom delu udžbenika.
55+
=======
56+
The `type` attribute: <code>&lt;script <u>type</u>=...&gt;</code>
57+
: The old HTML standard, HTML4, required a script to have a `type`. Usually it was `type="text/javascript"`. It's not required anymore. Also, the modern HTML standard totally changed the meaning of this attribute. Now, it can be used for JavaScript modules. But that's an advanced topic, we'll talk about modules in another part of the tutorial.
58+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
5059
5160

5261
`language` atribut: <code>&lt;script <u>language</u>=...&gt;</code>
@@ -61,7 +70,11 @@ Komentari pre i posle skripte.
6170
//--></script>
6271
```
6372

73+
<<<<<<< HEAD
6474
Ovaj trik se ne koristi u savremenom JavaScript-u. Ovi komentari su sakrili JavaScript kod od starih pretraživača koji nisu znali kako da to obrade `<script>` tag. Budući da pregledači objavljeni u poslednjih 15 godina nemaju ovaj problem, ova vrsta komentara može vam pomoći da identifikujete zaista stari kod.
75+
=======
76+
This trick isn't used in modern JavaScript. These comments hide JavaScript code from old browsers that didn't know how to process the `<script>` tag. Since browsers released in the last 15 years don't have this issue, this kind of comment can help you identify really old code.
77+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
6578
6679

6780
## Spoljne skripte
@@ -74,12 +87,16 @@ Datoteke skripta su u HTML-u priložene atributom `src`
7487
<script src="/put/do/skripta.js"></script>
7588
```
7689

90+
<<<<<<< HEAD
7791
Ovdje , `/put/do/skripta.js` je apsolutni put do skripte iz korena mesta. Takođe se može pružiti relativna putanja od trenutne stranice. Na primer, `src="skripta.js"` značilo bi da fajl `"script.js"` je u trenutnom folderu.
92+
=======
93+
Here, `/path/to/script.js` is an absolute path to the script from the site root. One can also provide a relative path from the current page. For instance, `src="script.js"`, just like `src="./script.js"`, would mean a file `"script.js"` in the current folder.
94+
>>>>>>> 0f748275e20a81700c8514f22a7cc80c4422d09c
7895
7996
Takođe možemo dati punu URL adresu. Na primer:
8097

8198
```html
82-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.2.0/lodash.js"></script>
99+
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
83100
```
84101

85102
Da biste dodali nekoliko skripti, koristite više tagova:

0 commit comments

Comments
 (0)