JavaRush /Java blogi /Random-UZ /Serverlar. Dummies uchun o'quv dasturi

Serverlar. Dummies uchun o'quv dasturi

Guruhda nashr etilgan
Quyida biz Panopto ishlab chiqaruvchisi Kannan Chandrasegaran tomonidan "Texnolog bo'lmaganlar uchun serverlar bo'yicha qo'llanma" maqolasining moslashtirilgan tarjimasini taqdim etamiz. E'tibor bering, maqola dasturning server tomoni va serverlar tushunchasi bilan kam tanish bo'lgan yangi boshlanuvchilar uchun mo'ljallangan. Serverlar.  Qo'g'irchoqlar uchun o'quv dasturi - 1

Ofis hayotidan

IT-kompaniyada "texnolog bo'lmagan" bo'lish qiyin, menga ishoning! Marketologlar, savdo menejerlari, buxgalterlar - bu muhim emas - vaqti-vaqti bilan ular texnik jihatdan yaxshi hamkasblariga duch kelishadi. Ular dasturchi yoki tizim administratori bo‘lishi mumkin.... Qanday bo‘lmasin, “texnolog bo‘lmaganlar” o‘zlarini miyasining muhim qismini kesib tashlagandek his qilishadi. Yoki ular aqlli insoniy bo'lmagan hayotga ega noma'lum sayyoraga qo'ndi. Yoki…
Serverlar.  Qo'g'irchoqlar uchun o'quv dasturi - 2
Ba'zan, albatta, hamma narsa yaxshi tugaydi. Misol uchun, koridor bo'ylab old tomondagi qiz ketmoqda. Hech narsa muammoni bashorat qilmaydi: u chapga, siz o'ngga ketyapsiz va imkon qadar tezroq ... Yo'q, bu safar bunday bo'lmadi. Siz allaqachon u bilan stolda o'tiribsiz va noqulay sukunatni engishga urinib: "Va ... aniq nima qilyapsiz?" U nimadir deyishni boshlaydi, lekin u nima haqida gapirayotganini darhol tushunmaysiz. So'zlar tanish bo'lib tuyuladi: foydalanuvchi interfeysi, ilovalar va - ha, Facebook bu veb-sayt. Ha, tugmachalar, menyular bor... Nimagadir uning ishining nozik tomonlarini tushunib yetdingiz, u bilan xayrlashib, yo‘llaringiz katta ofis koridorlarida ajraladi.
Serverlar.  Qo'g'irchoqlar uchun o'quv dasturi - 3
Ammo ertami-kechmi omadingiz bo'lmaydi: server muhandisini uchratasiz. Yoki backend dasturchi. Endi o'zingizni qanday o'rmonda topishingizni bilmay, soddalik bilan xuddi shu savolni berasiz va ... javob sifatida abrakadabra olasiz. Siz juda ko'p xorijiy so'zlarni eshitasiz va miyangizda fikrlar o'tadi: "API nima ekanligini so'rash odoblimi?", "Biz har doim "ma'lumotlar bazasi" dan foydalanamiz, to'g'rimi?", "Bu Jeyson kim? ” (JSON)??”. Sizning muhandis do'stingiz sizga serverlar haqida aytib berishga harakat qilmoqda, lekin u professional atamalar bilan to'ldirilgan nutqini tushunish siz uchun qanchalik qiyinligini tushunmaydi. Siz “server” so‘zini avval ham eshitgan bo‘lsangiz kerak, lekin u shu qadar ko‘p turli kontekstlarda qo‘llanilganki, uning ma’nosini tushunish qiyin. Keling, ushbu atamani tushunishga harakat qilaylik.

Quyon teshigidan pastga tushing

Oddiy odam (dasturchi yoki administrator emas) dasturdan foydalansa, u faqat interfeysni ko'radi, ba'zi bir aniq (ko'pincha) harakatlarga javob beradigan rasm. Aslida, foydalanuvchilar odatda "ilova" deganda uning old tomoni, ya'ni ular o'zaro aloqada bo'lgan old qismi, o'rami tushuniladi. Lekin foydalanuvchilar ichida nima borligi, ya'ni ilova nima ishlashi haqida juda kam ma'lumotga ega. Aytaylik, siz menga xabar yubordingiz, masalan, Whatsapp yoki Viber orqali. Sizning smartfoningizdan menikiga xabar kelayotganga o'xshaydi. Keling, ushbu jarayonni batafsil ko'rib chiqaylik. Aytaylik, telefonim o‘chirilganida menga xabar yubordingiz, keyin esa smartfoningizni o‘zingiz o‘chirib qo‘yasiz. Shunday qilib, men telefonimni yoqdim va telefonlarimiz bir vaqtning o'zida ishlamasa ham, sizning xabaringizni olaman. Bizga nimadir yetishmayapti shekilli! Bu biz o'tkazib yuborgan "narsa" - backend yoki server.
Serverlar.  Qo'g'irchoqlar uchun o'quv dasturi - 4
Dasturchilar front-end va back-end haqida gapirganda, ular odatda dasturning foydalanuvchi qismini dastur mantig'idan ajratishni anglatadi. Shunday qilib, front-end ilovaning interfeys qismi, orqa tomon esa uning server qismidir.

Serverlar

Aslini olganda, server - bu hisoblash mashinasi, Internetga ulangan va doimiy ravishda yoqilgan kompyuter.
Serverning ikkita asosiy vazifasi - ma'lumotlarni saqlash va aloqa.
Serverlar.  Qo'g'irchoqlar uchun o'quv dasturi - 5
Siz Whatsapp yoki Viber orqali xabar yuborasiz, smartfoningizdagi dastur xabarni u saqlanadigan serverga yuboradi. Mening smartfonimga o'rnatilgan Viber serverga ulanganda, u menga barcha saqlangan xabarlarni yuboradi.
Server - bu dastur ishlaydigan "tayanch stantsiya"
Ilova har qanday ma'lumotni talab qilganda, u server bilan bog'lanadi. Ilova ilovaning boshqa foydalanuvchisi bilan aloqa o'rnatishi kerak bo'lganda, ular bilan bog'lanish imkonini beruvchi serverdir. Server, back-end va API atamalari ko'pincha bir-birining o'rnida ishlatiladi.

Saqlash yoki ma'lumotlarni saqlash tizimlari

Serverning asosiy vazifasi ma'lumotlarni saqlashdir. Bunga fayllar kiradi : fotosuratlar, videolar va hujjatlar. Server ularni kompyuteringizdagi papkalarga o'xshash tuzilgan tarzda saqlaydi, shuning uchun ularga ilovalar orqali kirish mumkin. Ma'lumotlar ham serverda saqlanadi . Barcha ilovalar ularning ishlashi uchun muhim ma'lumotlarni o'z ichiga oladi.
Serverlar.  Qo'g'irchoqlar uchun o'quv dasturi - 6
Ushbu ma'lumotni jadvallar to'plami sifatida taqdim etishingiz mumkin. Masalan, autentifikatsiya sodir bo'lishi uchun ilova foydalanuvchi va uning paroli haqidagi ma'lumotlarni saqlashi kerak. Sizning arizangiz restoran yo'riqchisi bo'lishi mumkin, bu holda server har bir restoran haqidagi ma'lumotlarni saqlaydi. Ma'lumotlarning o'zidan tashqari, server ma'lumotlar o'rtasidagi munosabatlarni ham qayd qiladi . Misol uchun, foydalanuvchi smartfondagi ilovada restoranni yoqtiradi va server restoran va foydalanuvchi o'rtasidagi bu aloqani eslab qoladi.
Serverlar.  Qo'g'irchoqlar uchun o'quv dasturi - 7
Bu sizga ko'plab savollarga javob berishga imkon beradi. Masalan:
  • Bu restoran qancha foydalanuvchilarga yoqdi?
  • Bu foydalanuvchi qaysi restoranlarni yoqtiradi?
  • Qaysi oshxonalar bir vaqtning o'zida bir nechta foydalanuvchilarga yoqadi?
Ma'lumotlar va ma'lumotlar o'rtasidagi munosabatlar ma'lumotlar bazasida (MB) saqlanadi . Ma'lumotlar bazalarining ko'p turlari mavjud, ammo ularning barchasi:
  • ma’lumotlarni saqlashi mumkin
  • ma'lumotlar o'rtasidagi munosabatlarni saqlashi mumkin
  • ma'lumot so'rovlarini qabul qilishi va so'rovga qarab ularga yagona ma'lumotlar yoki ma'lumotlar to'plami sifatida javob berishi mumkin .
Ma'lumotlar bazalarining ko'p turlari mavjud, ularning har biri o'zining afzalliklari va kamchiliklariga ega. Agar siz SQL, MySQL, MongoDB, CouchDB, Redis kabi atamalarni eshitsangiz, ma'lumotlar bazalari haqida gapirayotganimizni biling.

O'zaro ta'sir

Serverning asosiy vazifasi dastur va boshqa serverlar bilan o'zaro aloqada bo'lishdir.
Serverlar.  Qo'g'irchoqlar uchun o'quv dasturi - 8
Ko'pgina amaliy vazifalar server bilan o'zaro aloqani talab qiladi. Misol uchun, agar foydalanuvchi biror narsani qidirayotgan bo'lsa, qidiruv so'rovi serverga yuboriladi va natija u erdan keladi. Agar foydalanuvchi boshqa foydalanuvchiga xabar yuborsa, u avval serverga keladi. Va keyin u boshqa foydalanuvchining ilovasiga yuboriladi, ko'pincha yuborilgan bildirishnoma shaklida. Ilovalar u bilan o'zaro aloqada bo'lishi uchun server taqdim etadigan interfeyslar odatda API deb ataladi . Xo'sh, ba'zi interfeys funktsiyalari so'nggi nuqtalar bilan bog'lanishi mumkin , masalan, saytdagi qidiruv yoki avtorizatsiya bilan. Bilmaganlar uchun bu shovqin g'alati tuyulishi mumkin. Ikkita eng keng tarqalgan birgalikda ishlash formatlari JSON va XML.
Serverlar.  Qo'g'irchoqlar uchun o'quv dasturi - 9
Chapda XML, o'ngda JSON Bir qarashda formatlarni o'qish qiyin ko'rinadi. Server bu shunchaki kompyuter, masalan, noutbuk yoki smartfon ekanligini tushunish muhimdir. Telefoningizdagi ilova ovoz, matn, ovozni aniqlash yoki ekrandagi teginish orqali foydalanuvchi kiritishini qabul qiladi. Ilova ushbu ma'lumotlarni qayta ishlaydi va keyin ekranda tasvir ko'rinishida javob beradi. Smartfon - bu odam bilan o'zaro aloqada bo'lgan kompyuter, shuning uchun kirish va chiqish inson uchun qulay shaklda taqdim etiladi. Server - bu faqat boshqa kompyuterlar bilan o'zaro aloqada bo'lgan kompyuter. Inson ma'lumotni shrift o'lchami, matn rangi va formatlash kabi narsalar tufayli qabul qiladi. Ammo bu kompyuter uchun hech narsani anglatmaydi.
Serverlar o'rtasidagi o'zaro ta'sir boshqa kompyuterlar uchun tahlil qilish va tushunish oson bo'lgan formatlarda sodir bo'ladi.

Server ilovasi

Agar siz telefoningizda ishlaydigan dastur yaratmoqchi bo'lsangiz, serverda ishlaydigan ilova ham kerak bo'ladi. Server tomonidagi ilovalar server tomoni dasturlash tillari va ramkalari yordamida yaratilgan, mashhur variantlar Java , Ruby on Rails , Node.js , PHP , ASP.NET .
Serverlar.  Qo'g'irchoqlar uchun o'quv dasturi - 10
Aytish mumkinki, API sizning serveringizning "eshigi" va dastur ularni taqillatishni biladi. Ma'lumotlar bazasi barcha ma'lumotlarni saqlaydi. Server ilovasi esa hamma narsani bir-biriga bog'laydigan "miya" dir. U API orqali yuborilgan so'rovlarni qabul qiladi va ularga javob beradi, ma'lumotlar bazasidan ma'lumotlarni qo'shadi va oladi va qarorlar qabul qiladi. Masalan, foydalanuvchi ilovasi kirish ma'lumotlarini yuborganda, so'rov API orqali keladi, to'g'ri kirish ma'lumotlari ma'lumotlar bazasida saqlanadi. Server ilovasining vazifasi ularni solishtirish va API yordamida ilovaga mos ravishda javob berishdir.

Uskuna

Serverlar.  Qo'g'irchoqlar uchun o'quv dasturi - 11
"Server" so'zini eshitganingizda, ehtimol siz bu tasvirni tasavvur qilasiz: yopiq xonada miltillovchi chiroqli shkaflar. Ehtimol, rasmni to'ldirish uchun Tom Kruz etishmayapti, u shiftdan tushib, nimanidir o'g'irlaydi. Ko'pgina yirik kompaniyalar o'zlarining serverlari va butun ma'lumotlar markazlariga ega (miltillovchi shkaflari bo'lgan ulkan xonalar). Facebook va Google butun dunyo bo'ylab yuzlab serverlarga ega. Millionlab foydalanuvchilar bilan ulkan xizmatni ishga tushirganingizda, o'z serverlaringizni ishga tushirish sezilarli darajada arzonlashishi va yaxshi ishlashi mumkin. Ko'pgina ishlab chiquvchilar o'z serverlarini saqlash o'rniga bulutli xizmatlardan foydalanadilar. Amazon Web Services, Azure va Digital Ocean kabi xizmatlar “virtual serverlar”dan foydalanish imkoniyatini taklif etadi. Ushbu xizmatlar apparatga egalik qiladi va ularga xizmat ko'rsatadi va ishlab chiquvchi shunchaki unga server ilovasini yuklaydi. Ba'zi xizmat ko'rsatuvchi provayderlar backend dasturini o'zingiz yozmasdan, oddiy backendga ega bo'lish imkonini beruvchi xizmat sifatida taqdim etadi.

Barcha ilovalarga backend kerakmi?

Sizga tanish bo'lgan ko'pgina ilovalar, ehtimol, backend komponentiga ega. Albatta, siz server qismisiz dasturlarni topishingiz mumkin. Masalan, ba'zi mahsuldorlik ilovalari. Ilovaning orqa tomoni bor yoki yo'qligini aniqlashning oson yo'li quyidagicha ko'rinadi:
Parvoz rejimiga oʻtsangiz, ilova ishlayveradimi?
Agar javob "yo'q" bo'lsa, bu ilovada albatta backend server borligini bildiradi.
Serverlar.  Qo'g'irchoqlar uchun o'quv dasturi - 12
Umid qilamanki, endi siz ilovaning orqa tomoni nima ekanligini tushunasiz. Ehtimol, keyingi safar dasturchi hamkasblaringiz bilan uchrashganingizda, siz nafaqat ular nima haqida gaplashayotganini tushunibgina qolmay, balki suhbatingizda qandaydir la'nati "Jeyson" dan ham foydalana olasiz.
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION