Skip to content

Commit a13baeb

Browse files
committed
new changes
1 parent 4ef4882 commit a13baeb

File tree

447 files changed

+9442
-9463
lines changed

Some content is hidden

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

447 files changed

+9442
-9463
lines changed

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

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -22,75 +22,77 @@ Bugungi kunda JavaScript nafaqat brauzerda, balki serverda yoki aslida [JavaScri
2222

2323
Brauzerlar o'z JavaScript interpretatorlariga ega, ular gohida "JavaScript virtual mashinasi" deb atalanadi.
2424

25-
Har bir interpretatorni o'z nomi mavjud. Masalan:
25+
Har bir intetptretatorni o'z nomi mavjud. Masalan:
2626

2727
- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- Chrome va Opera brauzerlarida qo'llanadi.
2828
- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- Firefox brauzerida.
29-
- ...There are other codenames like "Trident" and "Chakra" for different versions of IE, "ChakraCore" for Microsoft Edge, "Nitro" and "SquirrelFish" for Safari, etc.
29+
- ...net Explorer brauerning turli xil versiyalari uchun "Trident" va "Chakra", Microsoft Edge uchun "ChakraCore", Safari uchun "Nitro" va "SquirrelFish" va boshqalar kabi boshqa kod nomlari mavjud.
3030

31-
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 and Opera.
31+
Yuqoridagi atamalarni eslab qolish yaxshi, chunki ular netdagi ishlab chiquvchilar maqolalarida qo'llaniladi. Biz ulardan ham foydalanamiz. Masalan, agar "X funktsiyasini V8 qo'llab-quvvatlasa", ehtimol u Chrome va Opera-da ishlaydi.
3232

33-
```smart header="Interpretatorlar ishni qanday bajarishadi?"
33+
```smart header="Intetptretatorlar ishni qanday bajarishadi?"
3434
35-
Engines are complicated. But the basics are easy.
35+
Intetptretatorlar murakkab. Ammo asoslari oson.
3636
3737
1. The engine (embedded if it's a browser) reads ("parses") the script.
3838
2. Then it converts ("compiles") the script to the machine language.
3939
3. And then the machine code runs, pretty fast.
40+
1. intetptretator (agar u brauzer bo'lsa, avtomatik o'rnatilgan) skriptni o'qiydi ("tahlil qiladi").
4041
41-
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 applies optimizations to the machine code based on that knowledge. When it's done, scripts run quite fast.
42+
Interpretatatsiya jarayonning har bir bosqichida optimallashtirishlarni qo'llaydi. U hattoki kompilyatsiya qilingan skriptni ishlayotganda kuzatib boradi, u orqali oqib o'tadigan ma'lumotlarni tahlil qiladi va shu bilimga asoslangan holda mashina kodiga optimallashtirishlarni qo'llaydi. Tugatgandan so'ng, skriptlar juda tez ishlaydi.
4243
```
4344

44-
## What can in-browser JavaScript do? Brauzerdagi JavaScript nimani bajara oladi?
45+
## Brauzerdagi JavaScript nimani bajara oladi?
4546

46-
Modern JavaScript is a "safe" programming language. It does not provide low-level access to memory or CPU, because it was initially created for browsers which do not require it.
47+
Zamonaviy JavaScript - bu "xavfsiz" dasturlash tili. Bu xotira yoki protsessorga(CPU) past darajadagi kirishni ta'minlamaydi, chunki dastlab uni talab qilmaydigan brauzerlar uchun yaratilgan.
4748

48-
JavaScript's capabilities greatly depend on the environment it's running in. For instance, [Node.js](https://wikipedia.org/wiki/Node.js) supports functions that allow JavaScript to read/write arbitrary files, perform network requests, etc.
49+
JavaScript-ning imkoniyatlari u ishlayotgan muhitga juda bog'liq. Masalan, [Node.js](https://wikipedia.org/wiki/Node.js) JavaScript-ga o'zboshimchalik bilan fayllarni o'qish / yozish, tarmoq so'rovlarini bajarish va hk.
4950

50-
In-browser JavaScript can do everything related to webpage manipulation, interaction with the user, and the webserver.
51+
Brauzerda JavaScript veb-sahifani boshqarish, foydalanuvchi bilan o'zaro aloqasi va veb-server bilan bog'liq barcha narsani amalga oshirishi mumkin.
5152

5253
Masalan:
5354

54-
- Add new HTML to the page, change the existing content, modify styles.
55-
- React to user actions, run on mouse clicks, pointer movements, key presses.
56-
- Send requests over the network to remote servers, download and upload files (so-called [AJAX](https://en.wikipedia.org/wiki/Ajax_(programming)) and [COMET](https://en.wikipedia.org/wiki/Comet_(programming)) technologies).
57-
- Get and set cookies, ask questions to the visitor, show messages.
58-
- Remember the data on the client-side ("local storage").
55+
- Sahifaga yangi HTML qo'shish, mavjud tarkibni o'zgartirish, uslublarni o'zgartirish.
56+
- Foydalanuvchining harakatlariga munosabat bildirish, sichqonchani bosish, ko'rsatgich harakatlari, tugmachalarni bosish bilan ishlash.
57+
- Uzoq serverlarga tarmoq orqali so'rov yuboring, fayllarni yuklab olish va yuklash(deb nomlangan [AJAX](https://en.wikipedia.org/wiki/Ajax_(programming)) va [COMET](https://en.wikipedia.org/wiki/Comet_(programming)) texnologiyalar).
58+
- Cookies-ni olish va o'rnatish, tashrif buyuruvchiga savollar berish, xabarlarni ko'rsatish.
59+
- Mijoz tomonidagi ma'lumotlarni eslab qolish("mahalliy saqlash").
5960

60-
## What CAN'T in-browser JavaScript do?
61+
## JavaScript-da brauzerda nima qila olmaysiz?
6162

62-
JavaScript's abilities in the browser are limited for the sake of the user's safety. The aim is to prevent an evil webpage from accessing private information or harming the user's data.
63+
JavaScript-ning brauzerdagi imkoniyatlari foydalanuvchi xavfsizligi uchun cheklangan. Maqsad yomon veb-sahifaning shaxsiy ma'lumotlarga kirishini yoki foydalanuvchi ma'lumotlariga zarar etkazishini oldini olishdir.
6364

64-
Examples of such restrictions include:
65+
Bunday cheklovlarga quyidagilar kiradi:
6566

66-
- 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 system functions.
67+
- Veb-sahifadagi JavaScript-ni qattiq diskdagi o'zboshimchalik bilan fayllarni o'qish / yozish, ularni nusxalash yoki dasturlarni bajarish mumkin emas. Uning OS tizimi funktsiyalariga to'g'ridan-to'g'ri kirish imkoniyati yo'q.
6768

68-
Modern browsers allow it to work with files, but the access is limited and only provided if the user does certain actions, like "dropping" a file into a browser window or selecting it via an `<input>` tag.
69+
Zamonaviy brauzerlar unga fayllar bilan ishlashga imkon beradi, lekin kirish cheklangan va faqat foydalanuvchi brauzer oynasiga faylni "tushirish" yoki uni `<input>` yorlig'i orqali tanlash kabi ba'zi bir amallarni bajargan taqdirdagina taqdim etiladi.
6970

70-
There are ways to interact with camera/microphone and other devices, but they require a user's explicit permission. So a JavaScript-enabled page may not sneakily enable a web-camera, observe the surroundings and send the information to the [NSA](https://en.wikipedia.org/wiki/National_Security_Agency).
71-
- Different tabs/windows generally do not know about each other. Sometimes they do, for example when one window uses JavaScript to open the other one. But even in this case, JavaScript from one page may not access the other if they come from different sites (from a different domain, protocol or port).
71+
Kamera / mikrofon va boshqa qurilmalar bilan o'zaro aloqa qilish usullari mavjud, ammo ular foydalanuvchidan aniq ruxsat talab qiladi. Shunday qilib, JavaScript-ni qo'llab-quvvatlaydigan sahifa veb-kamerani yashirincha yoqmasligi, atrofni kuzatishi va ma'lumotni[NSA](https://en.wikipedia.org/wiki/National_Security_Agency) ga yuborishi mumkin emas.
72+
- Turli xil yorliqlar / oynalar odatda bir-birlarini bilishmaydi. Ba'zan ular bilishadi, masalan, bitta oyna ikkinchisini ochish uchun JavaScript-ni ishlatganda. Ammo bu holatda ham bitta sahifadagi JavaScript-ni boshqa saytlarga kirish mumkin emas, agar ular turli saytlardan (boshqa domendan, protokoldan yoki portdan) bo'lsa.
7273

73-
This is called the "Same Origin Policy". To work around that, *both pages* must contain a special JavaScript code that handles data exchange.
74+
Bu "Xuddi shu manba siyosati"(Same origin policy) deyiladi. Buning uchun *ikkala sahifa* ma'lumotlar almashinuvi to'g'risida kelishib olishlari va uni boshqaradigan maxsus JavaScript kodini o'z ichiga olishi kerak. Biz buni o'quv qo'llanmasida ko'rib chiqamiz.
7475

75-
This limitation is, again, for the user's safety. A page from `http://anysite.com` which a user has opened must not be able to access another browser tab with the URL `http://gmail.com` and steal information from there.
76-
- JavaScript can easily communicate over the net to the server where the current page came from. But its ability to receive data from other sites/domains is crippled. Though possible, it requires explicit agreement (expressed in HTTP headers) from the remote side. Once again, that's a safety limitation.
76+
Ushbu cheklov, yana foydalanuvchi xavfsizligi uchun. Foydalanuvchi ochgan sahifa `http://anysite.com` URL manzili bo'lgan boshqa brauzer yorlig'iga kira olmasligi kerak `http://gmail.com` va u erdan ma'lumotlarni o'g'irlash.
77+
78+
- JavaScript joriy sahifa kelgan serverga tarmoq orqali osongina aloqa qilish mumkin. Ammo uning boshqa saytlardan / domenlardan ma'lumotlarni qabul qilish qobiliyati nogiron. Iloji bo'lsa ham, bu uzoqdan aniq kelishuvni (HTTP sarlavhalarida ko'rsatilgan) talab qiladi. Yana bir bor bu xavfsizlikni cheklash.
7779

7880
![](limitations.svg)
7981

80-
Such limits do not exist if JavaScript is used outside of the browser, for example on a server. Modern browsers also allow plugin/extensions which may ask for extended permissions.
82+
Agar JavaScript brauzerdan tashqarida, masalan serverda ishlatilsa, bunday cheklovlar mavjud emas. Zamonaviy brauzerlar kengaytirilgan ruxsat so'rashi mumkin bo'lgan plagin / kengaytmalarga ham imkon beradi.
8183

8284
## JavaScript-ni qaysi xususiyatlari uni noyob qiladi?
8385

8486
JavaScript hech bo'lmaganda *uchta* ajoyib xususiyatga ega:
8587

8688
```solishtiring
87-
+ HTML/CSS bilan to'liq integratsiyasi.
89+
+ HTML va CSS bilan to'liq integratsiyasi.
8890
+ Oson ishlar osongina amalga oshiriladi.
89-
+ Barcha asosiy brauzerlar tomonidan qo'llab-quvvatlanadi va ularda sukut bo'yicha yoqilgan.
91+
+ Barcha asosiy brauzerlar tomonidan qo'llab-quvvatlanadi va ularda standart sifatida yoqilgan.
9092
```
9193
JavaScript - bu uchta narsani birlashtirgan yagona brauzer texnologiyasidir.
9294

93-
Bu JavaScript-ni noyob qiladi. Shuning uchun u brauzer interfeyslarini yaratishda eng keng tarqalgan vositadir.
95+
Bu JavaScript-ni noyob qiladi. Shuning uchun u brauzer feyslarini yaratishda eng keng tarqalgan vositadir.
9496

9597
Yangi texnologiyani o'rganishni rejalashtirayotib, uning istiqbollarini tekshirish ham muhimdir. Keling, zamonaviy tendentsiyalarga o'taylik.
9698

Lines changed: 24 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,45 @@
1-
# Code editors
1+
# Kod muharrirlari
22

3-
A code editor is the place where programmers spend most of their time.
3+
Kod muharriri bu dasturchilarning ko'p vaqtini sarflaydigan joy.
44

5-
There are two main types of code editors: IDEs and lightweight editors. Many people use one tool of each type.
5+
Kod muharrirlarining ikkita asosiy turi mavjud: IDE va engil muharrirlar. Ko'p odamlar har bir turdagi bitta vositadan foydalanadilar.
66

77
## IDE
88

9-
The term [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) (Integrated Development Environment) refers to a powerful editor with many features that usually operates on a "whole project." As the name suggests, it's not just an editor, but a full-scale "development environment."
9+
[IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) atamasi (Integrated Development Environment, "Integratsiyalashgan rivojlanish muhiti") odatda "butun loyiha" da ishlaydigan ko'plab xususiyatlarga ega kuchli muharrirni nazarda tutadi. Nomidan ko'rinib turibdiki, bu nafaqat muharrir, balki keng ko'lamli "taraqqiyot muhiti".
1010

11-
An IDE loads the project (which can be many files), allows navigation between files, provides autocompletion based on the whole project (not just the open file), and integrates with a version management system (like [git](https://git-scm.com/)), a testing environment, and other "project-level" stuff.
11+
IDE loyihani yuklaydi (bu juda ko'p fayl bo'lishi mumkin), fayllar o'rtasida navigatsiyani amalga oshirishga imkon beradi, butun loyiha (faqat ochiq faylga emas) asosida avtomatik to'ldirishni ta'minlaydi va versiyalarni boshqarish tizimiga (masalan, [git](https://git-scm.com/)), sinov muhiti va boshqa "loyiha-darajasidagi" narsalar.
1212

13-
If you haven't selected an IDE yet, consider the following options:
13+
Agar siz IDE ni tanlamagan bo'lsangiz, quyidagi variantlarni ko'rib chiqing:
1414

15-
- [WebStorm](http://www.jetbrains.com/webstorm/) for frontend development. The same company offers other editors for other languages (paid).
16-
- [Netbeans](http://netbeans.org/) (free).
15+
- [Visual Studio Code](https://code.visualstudio.com/) (o'zaro faoliyatli platforma, bepul).
16+
- [WebStorm](http://www.jetbrains.com/webstorm/) (o'zaro faoliyatli platforma, pullik).
1717

18-
All of these IDEs are cross-platform.
18+
Windows uchun "Visual Studio" ham mavjud, "Visual Studio Code" bilan aralashmaslik kerak. "Visual Studio" - bu pullik va qudratli Windows muharriri .NET platformasi uchun juda mos keladi. Bundan tashqari, JavaScript-da yaxshi. Bepul versiyasi ham mavjud [Visual Studio Community](https://www.visualstudio.com/vs/community/).
1919

20-
For Windows, there's also "Visual Studio", not to be confused with "Visual Studio Code." "Visual Studio" is a paid and mighty Windows-only editor, well-suited for the .NET platform. A free version of it is called [Visual Studio Community](https://www.visualstudio.com/vs/community/).
20+
Ko'pgina IDElar pullik, ammo bepul sinov muddati bor. Ularning narxi malakali dasturchilarning ish haqi bilan taqqoslaganda odatda ahamiyatsiz, shuning uchun ozingizga eng qulayini tanlang.
2121

22-
Many IDEs are paid but have a trial period. Their cost is usually negligible compared to a qualified developer's salary, so just choose the best one for you.
22+
## Engil muharrirlar
2323

24-
## Lightweight editors
24+
"Yengil muharrirlar" IDE'lar kabi kuchli emas, lekin ular tezkor, nafis va sodda.
2525

26-
"Lightweight editors" are not as powerful as IDEs, but they're fast, elegant and simple.
26+
Ular asosan faylni bir zumda ochish va tahrirlash uchun ishlatiladi.
2727

28-
They are mainly used to open and edit a file instantly.
28+
"Yengil muharrir" va "IDE" ning asosiy farqi shundaki, IDE loyiha darajasida ishlaydi, shuning uchun u boshlanganda juda ko'p ma'lumotlarni yuklaydi, kerak bo'lsa loyiha tuzilishini tahlil qiladi va hokazo. Agar bizga bitta fayl kerak bo'lsa, engil muharrir juda tez ishlaydi.
2929

30-
The main difference between a "lightweight editor" and an "IDE" is that an IDE works on a project-level, so it loads much more data on start, analyzes the project structure if needed and so on. A lightweight editor is much faster if we need only one file.
30+
Amalda yengil muharrirlarda juda ko'p plaginlar bo'lishi mumkin, shu jumladan direktoriya-darajasidagi sintaksis analizatorlari va avtokompleterlar, shuning uchun engil muharrir va IDE o'rtasida qat'iy chegara yo'q.
3131

32-
In practice, lightweight editors may have a lot of plugins including directory-level syntax analyzers and autocompleters, so there's no strict border between a lightweight editor and an IDE.
32+
Quyidagi variantlar sizning e'tiboringizga loyiqdir:
3333

34-
The following options deserve your attention:
34+
- [Atom](https://atom.io/) (o'zaro faoliyatli platforma, bepul).
35+
- [Sublime Text](http://www.sublimetext.com) (o'zaro faoliyatli platforma, shartli ravishda bepul).
36+
- [Notepad++](https://notepad-plus-plus.org/) (Windows, bepul).
37+
- [Vim](http://www.vim.org/) va [Emacs](https://www.gnu.org/software/emacs/) ham zo'r agar ularni qanday foydalanishni bilsangiz.
3538

36-
- [Visual Studio Code](https://code.visualstudio.com/) (cross-platform, free) also has many IDE-like features.
37-
- [Atom](https://atom.io/) (cross-platform, free).
38-
- [Sublime Text](http://www.sublimetext.com) (cross-platform, shareware).
39-
- [Notepad++](https://notepad-plus-plus.org/) (Windows, free).
40-
- [Vim](http://www.vim.org/) and [Emacs](https://www.gnu.org/software/emacs/) are also cool if you know how to use them.
39+
## Tortishmaylik
4140

42-
## My favorites
41+
Yuqoridagi ro'yxatlardagi muharrirlar men yoki men yaxshi dasturchi deb hisoblaydigan do'stlarim uzoq vaqt davomida foydalanishgan va baxtli bo'lganlar.
4342

44-
The personal preference of the author is to have both an IDE for projects and a lightweight editor for quick and easy file editing.
43+
Bizning katta dunyoda boshqa buyuk muharrirlar ham bor. Iltimos, o'zingizga eng yoqqanini tanlang.
4544

46-
I'm using:
47-
48-
- As an IDE for JS -- [WebStorm](http://www.jetbrains.com/webstorm/) (I switch to one of the other JetBrains offerings when using other languages)
49-
- As a lightweight editor -- [Sublime Text](http://www.sublimetext.com) or [Atom](https://atom.io/).
50-
51-
## Let's not argue
52-
53-
The editors in the lists above are those that either I or my friends whom I consider good developers have been using for a long time and are happy with.
54-
55-
There are other great editors in our big world. Please choose the one you like the most.
56-
57-
The choice of an editor, like any other tool, is individual and depends on your projects, habits, and personal preferences.
45+
Muharriri tanlash, boshqa har qanday vositasi kabi, individual va loyihalar bog'liq, odatlar, va shaxsiy imtiyozlar.

0 commit comments

Comments
 (0)