JavaRush /Java Blogu /Random-AZ /Serverlər. Matematiklər üçün təhsil proqramı

Serverlər. Matematiklər üçün təhsil proqramı

Qrupda dərc edilmişdir
Aşağıda Panopto-dan tərtibatçı Kannan Çandraseqaranın serverlərə texniki olmayan bələdçi məqaləsinin uyğunlaşdırılmış tərcüməsini təqdim edirik. Nəzərə alın ki, məqalə proqramın server tərəfi və serverlər anlayışı ilə az tanış olan yeni başlayanlar üçün nəzərdə tutulub. Serverlər.  Butaylalar üçün təhsil proqramı - 1

Ofis həyatından

İT şirkətində “texnoloq olmayan” olmaq çətindir, inanın! Marketoloqlar, satış menecerləri, mühasiblər - fərq etməz - vaxtaşırı texniki cəhətdən bilikli həmkarları ilə qarşılaşırlar. Onlar proqramçı və ya sistem administratoru ola bilərlər... İstənilən halda, “texniki olmayanlar” beyinlərinin mühüm hissəsinin amputasiya olunduğunu hiss edirlər. Yaxud onlar qeyri-humanoid həyatı olan naməlum bir planetə endilər. Və ya…
Serverlər.  Butaforlar üçün təhsil proqramı - 2
Bəzən təbii ki, hər şey yaxşı bitər. Məsələn, ön cəbhəçi bir qız koridorda gedir. Heç bir şey bəladan xəbər vermir: o sola gedir, sən sağa gedirsən və mümkün qədər tez... Xeyr, bu dəfə belə olmadı. Artıq onunla masa arxasında oturursan və yöndəmsiz sükutu aradan qaldırmağa çalışaraq soruşursan: "Bəs... tam olaraq nə edirsən?" O, nəsə deməyə başlayır, amma onun nə danışdığını dərhal başa düşmürsən. Sözlər tanış görünür: istifadəçi interfeysi, proqramlar və - bəli, Facebook veb-saytdır. Hə, düymələr, menyular var... Birtəhər onun işinin incəliklərini anladın, ona başını salladın və böyük bir ofisin dəhlizlərində yolların ayrıldı.
Serverlər.  Butaforlar üçün təhsil proqramı - 3
Ancaq gec-tez o qədər də şanslı olmayacaqsınız: server mühəndisi ilə qarşılaşacaqsınız. Və ya back-end developer. İndi özünüzü hansı cəngəllikdə tapacağınızı bilmədən, sadəlövhcəsinə eyni sualı verirsiniz və... cavab olaraq abrakadabra qəbul edirsiniz. Çoxlu əcnəbi sözlər eşidirsən və beynində fikirlər dolaşır: “APİ-nin nə olduğunu soruşmaq nəzakətlidir?”, “Biz hər zaman “verilənlər bazası”ndan istifadə edirik, elə deyilmi?”, “Bu Jason kimdir? ” (JSON)??”. Mühəndis dostunuz sizə serverlər haqqında məlumat verməyə çalışır, lakin onun peşəkar terminlərlə dolu nitqini başa düşməyin sizin üçün nə qədər çətin olduğunu başa düşmür. Yəqin ki, "server" sözünü əvvəllər eşitmisiniz, lakin o qədər müxtəlif kontekstlərdə istifadə olunur ki, mənasını başa düşmək çətindir. Yaxşı, gəlin bu termini anlamağa çalışaq.

Dovşan çuxurundan aşağı

Adi bir insan (proqramçı və ya idarəçi deyil) proqramdan istifadə etdikdə onun gördüyü tək şey interfeysdir, bəzi aşkar (ən çox) hərəkətlərə reaksiya verən şəkildir. Əslində, istifadəçilərin adətən “tətbiq” dedikdə başa düşdüyü şey onun ön hissəsidir, yəni onların qarşılıqlı əlaqədə olduqları ön hissədir. Ancaq istifadəçilər içəridə olanlar, yəni tətbiqin işləməsi haqqında çox az şey bilirlər. Tutaq ki, siz mənə mesaj göndərirsiniz, məsələn, Whatsapp və ya Viber vasitəsilə. Deyəsən, smartfonunuzdan mənim telefonuma mesaj gəlir. Gəlin bu prosesə daha yaxından nəzər salaq. Tutaq ki, siz mənim telefonum sönəndə mənə mesaj göndərirsiniz, sonra isə smartfonu özünüz söndürürsünüz. Beləliklə, telefonumu yandırıram və telefonlarımız eyni vaxtda işləməsə də, hələ də mesajınızı alıram. Deyəsən nəyisə əskik edirik! Bu, əldən verdiyimiz “bir şeydir” – arxa uç və ya server.
Serverlər.  Butaforlar üçün təhsil proqramı - 4
Proqramçılar front-end və back-end haqqında danışarkən, adətən proqramın istifadəçi hissəsinin proqram məntiqindən ayrılmasını nəzərdə tuturlar. Beləliklə, front-end proqramın interfeys hissəsidir, arxa hissə isə onun server hissəsidir.

Serverlər

Əslində, server hesablama maşını, İnternetə qoşulmuş və daim işə salınan kompüterdir.
Serverin iki əsas vəzifəsi məlumatların saxlanması və əlaqədir.
Serverlər.  Butaylalar üçün təhsil proqramı - 5
Siz Whatsapp və ya Viber vasitəsilə mesaj göndərirsiniz, smartfonunuzdakı proqram mesajı onun saxlandığı serverə göndərir. Smartfonumda quraşdırılmış Viber serverə qoşulduqda mənə saxlanan bütün mesajları göndərir.
Server proqramın işlədiyi “baza stansiyasıdır”
Tətbiq hər hansı məlumat tələb etdikdə serverlə əlaqə saxlayır. Tətbiq proqramın digər istifadəçisi ilə əlaqə saxlamağa ehtiyac duyduqda, onlara ünsiyyət qurmağa imkan verən serverdir. Server, back-end və API terminləri tez-tez bir-birini əvəz edən mənada istifadə olunur.

Saxlama və ya məlumat saxlama sistemləri

Serverin əsas vəzifəsi məlumatların saxlanmasıdır. Buraya fayllar daxildir : fotoşəkillər, videolar və sənədlər. Server onları kompüterinizdəki qovluqlara bənzəyən strukturlaşdırılmış şəkildə saxlayır, ona görə də onlara proqramlar tərəfindən daxil oluna bilər. Məlumat serverdə də saxlanılır . Bütün proqramlar onların fəaliyyəti üçün vacib olan məlumatları ehtiva edir.
Serverlər.  Butaforlar üçün təhsil proqramı - 6
Siz bu məlumatları cədvəllər toplusu kimi təqdim edə bilərsiniz. Məsələn, autentifikasiyanın baş verməsi üçün proqram istifadəçi və onun parolu haqqında məlumat saxlamalıdır. Tətbiqiniz restoran bələdçisi ola bilər, bu halda server hər bir restoran haqqında məlumat saxlayacaq. Məlumatın özündən əlavə, server verilənlər arasındakı əlaqələri də qeyd edir. Məsələn, istifadəçi smartfondakı proqramda restoranı bəyənir və server restoranla istifadəçi arasındakı bu əlaqəni xatırlayır.
Serverlər.  Dumilər üçün təhsil proqramı - 7
Bu, bir çox suallara cavab verməyə imkan verir. Misal üçün:
  • Bu restoranı neçə istifadəçi bəyənib?
  • Bu istifadəçi hansı restoranları bəyənir?
  • Hansı mətbəxlər eyni anda bir neçə istifadəçini cəlb edir?
Məlumat və verilənlər arasındakı əlaqələr verilənlər bazasında (VB) saxlanılır . Verilənlər bazasının bir çox növləri var, lakin onların hamısı:
  • məlumatları saxlaya bilir
  • verilənlər arasında əlaqələr saxlaya bilir
  • sorğudan asılı olaraq informasiya sorğularını qəbul edə və onlara vahid məlumat və ya verilənlər toplusu kimi cavab verə bilər .
Çox sayda verilənlər bazası var, hər birinin öz üstünlükləri və mənfi cəhətləri var. SQL, MySQL, MongoDB, CouchDB, Redis kimi terminləri eşidirsinizsə, bilin ki, verilənlər bazalarından danışırıq.

Qarşılıqlı əlaqə

Serverin əsas vəzifəsi proqram və digər serverlərlə qarşılıqlı əlaqədir.
Serverlər.  Dummies üçün təhsil proqramı - 8
Bir çox proqram tapşırıqları serverlə qarşılıqlı əlaqə tələb edir. Məsələn, istifadəçi nəyisə axtarırsa, axtarış sorğusu serverə göndərilir və nəticə oradan gəlir. İstifadəçi başqa bir istifadəçiyə mesaj göndərirsə, o, əvvəlcə serverə çatır. Və oradan başqa bir istifadəçinin tətbiqinə göndərilir, çox vaxt göndərilən bildiriş şəklində. Tətbiqlərin onunla qarşılıqlı əlaqədə olması üçün serverin təmin etdiyi interfeyslər adətən API adlanır . Yaxşı, bəzi interfeys funksiyaları son nöqtələrlə əlaqələndirilə bilər , məsələn, saytda axtarış və ya icazə ilə. Təcrübəsizlər üçün bu qarşılıqlı əlaqə qəribə görünə bilər. Ən çox yayılmış iki qarşılıqlı fəaliyyət formatı JSON və XML-dir.
Serverlər.  Butaylalar üçün təhsil proqramı - 9
Solda XML, sağda JSON İlk baxışda formatları oxumaq çətin görünür. Serverin laptop və ya smartfon kimi sadəcə bir kompüter olduğunu başa düşmək vacibdir. Telefonunuzdakı proqram səs, mətn, səsin tanınması və ya ekranda toxunma vasitəsilə istifadəçi daxiletməsini qəbul edir. Tətbiq bu məlumatları emal edir və sonra ekranda şəkil şəklində cavab verir. Smartfon insanla qarşılıqlı əlaqədə olan kompüterdir, ona görə də giriş və çıxış insan üçün əlverişli formada təmin edilir. Server yalnız digər kompüterlərlə qarşılıqlı əlaqədə olan kompüterdir. İnsan məlumatı şrift ölçüsü, mətn rəngi və formatlaşdırma kimi şeylər sayəsində qəbul edir. Amma bu, kompüter üçün heç nə demək deyil.
Serverlər arasında qarşılıqlı əlaqə digər kompüterlər üçün təhlil etmək və başa düşmək asan olan formatlarda baş verir.

Server proqramı

Telefonunuzda işləyəcək proqram yaratmaq istəyirsinizsə, serverdə işləyəcək proqrama da ehtiyacınız olacaq. Server tərəfi proqramlar server tərəfi proqramlaşdırma dilləri və çərçivələrindən istifadə etməklə yaradılır, populyar variantlar Java , Ruby on Rails , Node.js , PHP , ASP.NET .
Serverlər.  Butaforlar üçün təhsil proqramı - 10
Siz deyə bilərsiniz ki, API serverinizin “qapısı”dır və proqram onları döyməyi bilir. Verilənlər bazası bütün məlumatlarınızı saxlayır. Server proqramı isə hər şeyi birləşdirən “beyindir”. API vasitəsilə ona göndərilən sorğuları qəbul edir və onlara cavab verir, verilənlər bazasından məlumat əlavə edir və götürür və qərarlar qəbul edir. Məsələn, istifadəçi tətbiqi giriş məlumatını təqdim etdikdə sorğu API vasitəsilə gəlir, düzgün giriş məlumatı verilənlər bazasında saxlanılır. Server proqramının vəzifəsi onları müqayisə etmək və API-dən istifadə edərək tətbiqə uyğun cavab verməkdir.

Aparat

Serverlər.  Butaforlar üçün təhsil proqramı - 11
“Server” sözünü eşidəndə yəqin ki, bu obrazı təsəvvür edirsiniz: qapalı otaqda sayrışan işıqları olan şkaflar. Yəqin ki, şəkli tamamlamaq üçün çatmayan tək şey tavandan enib nəsə oğurlayacaq Tom Kruzdur. Bir çox böyük şirkətlər öz serverlərinə və bütöv məlumat mərkəzlərinə (sönən kabinetləri olan böyük otaqlar) sahibdirlər. Facebook və Google-un dünyada yüzlərlə serveri var. Milyonlarla istifadəçi ilə nəhəng bir xidmət işlətdiyiniz zaman öz serverlərinizi idarə etmək xeyli ucuzlaşa və daha yaxşı performans təmin edə bilər. Öz serverlərini saxlamaq əvəzinə, bir çox tərtibatçı bulud xidmətlərindən istifadə edir. Amazon Web Services, Azure və Digital Ocean kimi xidmətlər “virtual serverlərdən” istifadə etmək imkanı təklif edir. Bu xidmətlər avadanlığa sahibdir və ona qulluq edir və tərtibatçı sadəcə ona server proqramını yükləyir. Bəzi xidmət təminatçıları backend proqramını bir xidmət kimi təqdim edir ki, bu da sizə backend proqramını özünüz yazmadan sadə arxa plana sahib olmağa imkan verir.

Bütün proqramların arxa plana ehtiyacı varmı?

Tanış olduğunuz proqramların əksəriyyətində arxa plan komponenti var. Əlbəttə ki, server hissəsi olmayan proqramları tapa bilərsiniz. Məsələn, bəzi məhsuldarlıq proqramları. Tətbiqin arxa ucunun olub-olmadığını öyrənməyin asan yolu belə görünür:
Uçuş rejiminə keçsəniz, proqram hələ də işləyəcək?
Cavab “yox”dursa, bu o deməkdir ki, proqramda mütləq arxa server var.
Serverlər.  Butaforlar üçün təhsil proqramı - 12
Ümid edirəm ki, indi tətbiqin arxa tərəfinin nə olduğunu başa düşdünüz. Bəlkə növbəti dəfə proqramçı yoldaşlarınızla görüşəndə ​​nəinki danışdıqlarını başa düşə, həm də söhbətinizdə lənətə gəlmiş “Jason”dan istifadə edə bilərsiniz.
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION