JavaRush /Java блогы /Random-KK /Серверлер. Манекендерге арналған білім беру бағдарламасы

Серверлер. Манекендерге арналған білім беру бағдарламасы

Топта жарияланған
Төменде біз Panopto әзірлеушісі Каннан Чандрасегаранның serverлерге техникалық емес нұсқаулығы мақаласының бейімделген аудармасын ұсынамыз. Мақала қосымшаның serverлік жағы мен serverлер тұжырымдамасымен таныс емес жаңадан бастаушыларға арналғанын ескеріңіз. Серверлер.  Манекендерге арналған білім беру бағдарламасы - 1

Офистік өмірден

IT-компанияда «технолог емес» болу қиын, маған сеніңіз! Маркетологтар, сату менеджерлері, бухгалтерлер - бәрібір - олар оқтын-оқтын техникалық жағынан жақсы білетін әріптестерін кездестіреді. Олар бағдарламашылар немесе жүйелік әкімшілер болуы мүмкін.... Қалай болғанда да, «техникалық емес адамдар» миының маңызды бөлігін ампутациялағандай сезінеді. Немесе олар интеллектуалды емес адами өмір сүретін белгісіз планетаға қонды. Немесе…
Серверлер.  Манекендерге арналған білім беру бағдарламасы - 2
Кейде, әрине, бәрі жақсы аяқталады. Мысалы, алдыңғы қатарлы қыз дәлізде келе жатыр. Ештеңе қиындық тудырмайды: ол солға, сен оңға қарай бара жатырсың, мүмкіндігінше тезірек... Жоқ, бұл жолы болмады. Сіз онымен үстел басында отырсыз және ыңғайсыз тыныштықты жеңуге тырысып: «Ал... дәл сіз не істейсіз?» Деп сұрайсыз. Ол бірдеңе айта бастайды, бірақ сіз оның не туралы айтып жатқанын бірден түсінбейсіз. Сөздер таныс сияқты: пайдаланушы интерфейсі, қолданбалар және - иә, Facebook - бұл веб-сайт. Иә, түймелер, мәзірлер бар... Сіз әйтеуір оның жұмысының қыр-сырын түсіндіңіз, онымен қоштасып, жолдарыңыз үлкен кеңсенің дәліздерінде алшақтайды.
Серверлер.  Манекендерге арналған білім беру бағдарламасы – 3
Бірақ ерте ме, кеш пе, сізге сәттілік болмайды: сіз server инженерін кездестіресіз. Немесе бэк-энд әзірлеушісі. Енді қандай джунглиде болатыныңызды білмей, сіз аңғалдықпен сол сұрақты қоясыз және... жауап ретінде абракадабраны аласыз. Сіз көптеген шетелдік сөздерді естисіз және сіздің басыңызда ойлар оралады: «API деген не екенін сұрау сыпайы ма?», «Біз «деректер базасын» үнемі қолданамыз, солай ма?», «Бұл Джейсон кім? ” (JSON)??”. Сіздің инженер досыңыз сізге serverлер туралы айтып беруге тырысады, бірақ оның кәсіби терминдерге толы сөзін түсіну сізге қаншалықты қиын екенін түсінбейді. Сіз «server» сөзін бұрын естіген шығарсыз, бірақ ол әртүрлі контексте қолданылғаны сонша, оның мағынасын түсіну қиын. Ал, осы терминді түсінуге тырысайық.

Қоянның шұңқырынан төмен

Қарапайым адам (яғни, бағдарламашы немесе әкімші емес) қолданбаны пайдаланғанда, оның көретіні интерфейс, кейбір айқын (көбінесе) әрекеттерге жауап беретін сурет. Шын мәнінде, пайдаланушылар әдетте «қолданба» деп түсінетін нәрсе - бұл оның алдыңғы жағы, яғни алдыңғы бөлігі, олар өзара әрекеттесетін қаптама. Бірақ пайдаланушылар оның ішінде не бар екенін, яғни қолданбаның не істейтінін біледі. Сіз маған хабарлама жібердіңіз делік, мысалы, Whatsapp немесе Viber арқылы. Смартфоныңыздан маған хабар келіп жатқан сияқты. Бұл процесті толығырақ қарастырайық. Телефоным өшіп тұрғанда маған хабарлама жібересіз делік, содан кейін смартфоныңызды өзіңіз өшіресіз. Сонымен, мен телефонымды қостым, бірақ телефондарымыз бір уақытта жұмыс істемесе де, сіздің хабарламаңызды алып жатырмын. Бізге бірдеңе жетіспейтін сияқты! Бұл біз жіберіп алған «нәрсе» - server немесе server.
Серверлер.  Манекендерге арналған білім беру бағдарламасы – 4
Бағдарламашылар фронт-end және back-end туралы айтқанда, әдетте қолданбаның пайдаланушы бөлігін бағдарлама логикасынан бөлуді білдіреді. Сонымен, front-end қолданбаның интерфейс бөлігі, ал back-end оның server бөлігі болып табылады.

Серверлер

Негізінде server – есептеуіш машина, интернетке қосылған және үнемі қосылып тұратын компьютер.
Сервердің екі негізгі міндеті – мәліметтерді сақтау және байланыс.
Серверлер.  Манекендерге арналған білім беру бағдарламасы – 5
Сіз Whatsapp немесе Viber арқылы хабарлама жібересіз, смартфондағы қолданба хабарламаны ол сақталған serverге жібереді. Смартфоныма орнатылған Viber serverге қосылғанда, ол маған барлық сақталған хабарламаларды жібереді.
Сервер қолданба іске қосылатын «базалық станция» болып табылады
Қолданба кез келген ақпаратты талап еткенде, ол serverмен байланысады. Қолданба қолданбаның басқа пайдаланушысымен байланысуы қажет болғанда, оларға байланысуға мүмкіндік беретін server. Сервер, бэк-энд және API терминдері жиі синоним ретінде қолданылады.

Сақтау немесе деректерді сақтау жүйелері

Сервердің негізгі міндеті – мәліметтерді сақтау. Бұл файлдарды қамтиды : фотосуреттер, бейнелер және құжаттар. Сервер оларды компьютердегі қалталарға ұқсас құрылымды түрде сақтайды, сондықтан оларға қолданбалар қол жеткізе алады. Ақпарат serverде де сақталады . Барлық қолданбаларда олардың жұмысы үшін маңызды ақпарат бар.
Серверлер.  Манекендерге арналған білім беру бағдарламасы – 6
Сіз бұл ақпаратты кестелер жинағы ретінде көрсете аласыз. Мысалы, аутентификация орын алуы үшін қолданба пайдаланушы және оның құпия сөзі туралы ақпаратты сақтауы керек. Сіздің қолданбаңыз мейрамхана нұсқаулығы болуы мүмкін, бұл жағдайда server әрбір мейрамхана туралы ақпаратты сақтайды. Ақпараттың өзінен басқа, server деректер арасындағы қатынастарды да жазады . Мысалы, пайдаланушыға смартфондағы қолданбадағы мейрамхана ұнайды, ал server мейрамхана мен пайдаланушы арасындағы бұл байланысты есте сақтайды.
Серверлер.  Манекендерге арналған білім беру бағдарламасы – 7
Бұл көптеген сұрақтарға жауап беруге мүмкіндік береді. Мысалы:
  • Бұл мейрамхана қанша пайдаланушыға ұнады?
  • Бұл пайдаланушыға қандай мейрамханалар ұнайды?
  • Қандай тағамдар бірден бірнеше пайдаланушыны қызықтырады?
Мәліметтер мен деректер арасындағы байланыс деректер базасында (МҚ) сақталады . Деректер базасының көптеген түрлері бар, бірақ олардың барлығы:
  • ақпаратты сақтай алады
  • деректер арасындағы қатынастарды сақтай алады
  • ақпарат сұрауларын қабылдай алады және оларға сұранысқа байланысты бір деректер немесе деректер жиынтығы ретінде жауап бере алады.
Деректер базасының көптеген түрлері бар, олардың әрқайсысының өзіндік артықшылықтары мен кемшіліктері бар. Егер сіз SQL, MySQL, MongoDB, CouchDB, Redis сияқты терминдерді естісеңіз, онда біз дерекқор туралы айтып жатқанымызды біліңіз.

Өзара әрекеттесу

Сервердің негізгі міндеті қосымшамен және басқа serverлермен әрекеттесу болып табылады.
Серверлер.  Манекендерге арналған білім беру бағдарламасы – 8
Көптеген қолданба тапсырмалары serverмен әрекеттесуді қажет етеді. Мысалы, егер пайдаланушы бірдеңе іздеп жатса, іздеу сұрауы serverге жіберіледі және нәтиже сол жерден келеді. Егер пайдаланушы басқа пайдаланушыға хабарлама жіберсе, ол алдымен serverге келеді. Содан кейін ол басқа пайдаланушының қосымшасына жіберіледі, көбінесе жіберілген хабарлама түрінде. Бағдарламалар онымен әрекеттесе алатындай server қамтамасыз ететін интерфейстер әдетте API деп аталады . Кейбір интерфейс функцияларын соңғы нүктелермен байланыстыруға болады , мысалы, сайтта іздеу немесе авторизациялау арқылы. Білмейтіндерге бұл әрекеттестік оғаш көрінуі мүмкін. Ең көп таралған екі өзара әрекеттесу пішімдері JSON және XML болып табылады.
Серверлер.  Манекендерге арналған білім беру бағдарламасы – 9
Сол жақта XML, оң жақта JSON Бір қарағанда, пішімдерді оқу қиын болып көрінеді. Сервер ноутбук немесе смартфон сияқты жай ғана компьютер екенін түсіну маңызды. Телефоныңыздағы қолданба дауыс, мәтін, дауысты тану немесе экранда түрту арқылы пайдаланушы енгізуін қабылдайды. Қолданба бұл ақпаратты өңдейді, содан кейін экрандағы сурет түрінде жауап береді. Смартфон - бұл адаммен өзара әрекеттесетін компьютер, сондықтан енгізу және шығару адамға ыңғайлы пішінде беріледі. Сервер – бұл тек басқа компьютерлермен әрекеттесетін компьютер. Адам ақпаратты қаріп өлшемі, мәтін түсі және пішімдеу сияқты нәрселердің арқасында қабылдайды. Бірақ бұл компьютер үшін ештеңені білдірмейді.
Серверлер арасындағы өзара әрекеттесу басқа компьютерлер үшін талдауға және түсінуге оңай пішімдерде болады.

Сервер қосымшасы

Телефонда жұмыс істейтін қолданба жасағыңыз келсе, serverде жұмыс істейтін қолданба да қажет болады. Серверлік қосымшалар serverлік бағдарламалау тілдері мен фреймворктары арқылы жасалады, танымал опциялар Java , Ruby on Rails , Node.js , PHP , ASP.NET .
Серверлер.  Манекендерге арналған білім беру бағдарламасы – 10
Сіз API serverіңіздің «есігі» деп айта аласыз және қолданба оларды қағуды біледі. Деректер базасы сіздің барлық ақпаратыңызды сақтайды. Ал serverлік қосымша – барлығын біріктіретін «ми». Ол API арқылы жіберілген сұрауларды қабылдайды және оларға жауап береді, дерекқордан ақпаратты қосады және шығарады және шешім қабылдайды. Мысалы, пайдаланушы қолданбасы кіру ақпаратын жібергенде, сұрау API арқылы келеді, дұрыс кіру ақпараты дерекқорда сақталады. Сервер қосымшасының міндеті оларды салыстыру және API арқылы қолданбаға сәйкес жауап беру болып табылады.

Аппараттық құрал

Серверлер.  Манекендерге арналған білім беру бағдарламасы – 11
«Сервер» сөзін естігенде, сіз мына суретті елестететін шығарсыз: жабық бөлмедегі жарқыраған шамдары бар шкафтар. Мүмкін, суретті аяқтау үшін төбеден түсіп, бірдеңе ұрлайтын Том Круз ғана жетіспейді. Көптеген ірі компаниялардың өз serverлері мен бүкіл деректер орталықтары (жыпылықтайтын шкафтары бар үлкен бөлмелер) бар. Facebook пен Google-дың дүние жүзінде жүздеген serverлері бар. Миллиондаған пайдаланушылармен үлкен қызметті іске қосқан кезде, өз serverлеріңізді іске қосу айтарлықтай арзанырақ болуы және жақсы өнімділікті қамтамасыз етуі мүмкін. Өз serverлеріне қызмет көрсетудің орнына көптеген әзірлеушілер бұлттық қызметтерді пайдаланады. Amazon Web Services, Azure және Digital Ocean сияқты қызметтер «виртуалды serverлерді» пайдалану мүмкіндігін ұсынады. Бұл қызметтер аппараттық құралға иелік етеді және оған қызмет көрсетеді, ал әзірлеуші ​​оған жай ғана serverлік қолданбаны жүктейді. Кейбір қызмет жеткізушілері serverлік бағдарламаны өзіңіз жазбай-ақ қарапайым serverге ие болуға мүмкіндік беретін serverді қызмет ретінде қамтамасыз етеді.

Барлық қолданбаларға server қажет пе?

Сізге таныс қолданбалардың көпшілігінде server компоненті болуы мүмкін. Әрине, server бөлігі жоқ бағдарламаларды табуға болады. Мысалы, кейбір өнімділік қолданбалары. Қолданбаның serverі бар-жоғын анықтаудың оңай жолы келесідей:
Ұшу режиміне ауыссаңыз, қолданба жұмыс істей ме?
Егер жауап «жоқ» болса, бұл қолданбада міндетті түрде server serverі бар екенін білдіреді.
Серверлер.  Манекендерге арналған білім беру бағдарламасы – 12
Енді сіз қолданбаның артқы жағының не екенін түсіндіңіз деп үміттенемін. Мүмкін келесі жолы сіз өзіңіздің бағдарламашы әріптестеріңізді кездестірсеңіз, сіз олардың не туралы айтып жатқанын түсініп қана қоймай, сонымен қатар әңгімеңізде «Джейсонды» қолдана аласыз.
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION