JavaRush /Java блогу /Random-KY /Серверлер. Муляждар учун окуу программасы

Серверлер. Муляждар учун окуу программасы

Группада жарыяланган
Төмөндө биз Panopto компаниясынын иштеп чыгуучусу Каннан Чандрасегаранын serverлерге техникалык эмес колдонмонун ылайыкташтырылган котормосун беребиз. Эсиңизде болсун, макала тиркеменин serverдик тарабы жана serverлер түшүнүгү менен анча тааныш эмес башталгычтарга арналган. Серверлер.  Муляждар үчүн окуу программасы - 1

Кызматтык турмуштан

IT-компанияда "технолог эмес" болуу кыйын, мага ишен! Маркетологдор, сатуу боюнча менеджерлер, бухгалтерлер - баары бир - маал-маалы менен техникалык жактан жакшы билген кесиптештерине жолугуп калышат. Алар программисттер же системалык администраторлор болушу мүмкүн... Кандай болгон күндө да, "техникалык эместер" мээсинин маанилүү бөлүгүн кесип салгандай сезишет. Же алар акылдуу эмес гуманоид жашоосу менен белгисиз планетага конду. Же…
Серверлер.  Муляждар үчүн окуу программасы - 2
Кээде, албетте, баары жакшы аяктайт. Мисалы, бир алдыңкы кыз коридордо баратат. Эч нерсе кыйынчылыкты алдын ала көрө алbyte: ал сол тарапка баратат, сен оңго, мүмкүн болушунча тезирээк... Жок, бул жолу андай болгон жок. Сиз аны менен дасторкондо отуруп, ыңгайсыз жымжырттыктан чыгууга аракет кылып: "Анан... так эмне кылып жатасыз?" Ал бир нерсе айта баштайт, бирок сиз анын эмне жөнүндө айтып жатканын дароо түшүнбөйсүз. Сөздөр тааныш окшойт: колдонуучу интерфейси, тиркемелер жана - ооба, Facebook бул веб-сайт. Ооба, кнопкалар, менюлар бар... Эмнегедир анын ишинин татаал жактарын түшүндүңөр да, башын ийкеп коштошуп, жолдоруңар чоң кеңсенин коридорлорунда экиге бөлүнүп кетти.
Серверлер.  Муляждар үчүн окуу программасы - 3
Бирок, эртеби-кечпи, сен мынчалык бактылуу боло албайсың: server инженерин жолугасың. Же арткы иштеп чыгуучу. Кандай джунглиде экениңизди билбей туруп, сиз ошол эле суроону аңкоолук менен берип,... жооп катары абракадабраны аласыз. Көптөгөн чет элдик сөздөрдү угасыз жана башыңызда: "API деген эмне экенин суроо сылыкпы?", "Биз "маалымат базасын" ар дайым колдонобуз, туурабы?", "Бул Джейсон ким? ” (JSON)??”. Сиздин инженер досуңуз сизге serverлер жөнүндө айтып берүүгө аракет кылып жатат, бирок анын профессионалдык терминдерге толгон сөзүн түшүнүү сизге канчалык кыйын экенин түшүнбөйт. Сиз "server" деген сөздү мурда уккандырсыз, бирок ал ушунчалык көп түрдүү контексттерде колдонулгандыктан, анын маанисин түшүнүү кыйын. Келгиле, бул терминди түшүнүүгө аракет кылалы.

Коёндун тешигинен ылдый

Жөнөкөй адам (программист же администратор эмес) тиркемени колдонгондо, ал интерфейсти гана көрөт, ал кандайдыр бир ачык (көбүнчө) аракеттерге жооп берген сүрөт. Чынында, колдонуучулар адатта "колдонмо" деп түшүнгөн нерсе - бул анын алдыңкы бөлүгү, башкача айтканда, алар өз ара аракеттенген алдыңкы бөлүгү. Бирок колдонуучулар анын ичинде эмне бар экенин, башкача айтканда, тиркеменин иштөөсүнө эмне себеп болгонун аз бorшет. Мага билдирүү жөнөттүңүз дейли, мисалы, Whatsapp же Viber аркылуу. Смартфонуңуздан меникиге билдирүү келип жатат окшойт. Келгиле, бул процессти кененирээк карап чыгалы. Айталы, телефонум өчүп калганда билдирүү жөнөтөсүң, анан смартфонду өзүң өчүрөсүң. Ошентип, телефонумду күйгүзүп, телефондорубуз бир убакта иштебесе да, сиздин билдирүүңүздү дагы эле алып турам. Бизге бир нерсе жетишпей жатат окшойт! Бул биз өткөрүп жиберген "бир нерсе" - server же server.
Серверлер.  Муляждар үчүн окуу программасы - 4
Программисттер алдыңкы жана арткы чектер жөнүндө сүйлөшкөндө, алар адатта колдонмонун колдонуучу бөлүгүн программа логикасынан бөлүүнү билдирет. Ошентип, алдыңкы аягы колдонмонун интерфейс бөлүгү, ал эми арткы аягы анын server бөлүгү.

Серверлер

Негизи server – бул эсептөөчү машина, Интернетке туташкан жана дайыма күйгүзүлгөн компьютер.
Сервердин эки негизги милдети - маалыматтарды сактоо жана байланыш.
Серверлер.  Муляждар үчүн окуу программасы - 5
Сиз Whatsapp же Viber аркылуу билдирүү жөнөтөсүз, смартфонуңуздагы тиркеме билдирүүнү ал сакталган serverге жөнөтөт. Смартфонума орнотулган Viber serverге кошулганда, ал мага бардык сакталган билдирүүлөрдү жөнөтөт.
Сервер бул тиркеме иштей турган "базалык станция"
Тиркеме кандайдыр бир маалыматты талап кылганда, ал server менен байланышат. Тиркеме тиркеменин башка колдонуучусу менен баарлашуусу керек болгондо, аларга байланышууга мүмкүндүк берүүчү server. Server, back-end жана API терминдери көбүнчө бири-бирин алмаштырып колдонулат.

Сактоо же маалыматтарды сактоо системалары

Сервердин негизги милдети маалыматтарды сактоо болуп саналат. Бул файлдарды камтыйт : сүрөттөр, видеолор жана documentтер. Сервер аларды сиздин компьютериңиздеги папкаларга окшош структураланган түрдө сактайт, ошондуктан аларга тиркемелер аркылуу кирүүгө болот. Маалымат serverде да сакталат . Бардык колдонмолор алардын иштеши үчүн маанилүү маалыматтарды камтыйт.
Серверлер.  Муляждар үчүн окуу программасы - 6
Сиз бул маалыматты tableлардын жыйындысы катары көрсөтсөңүз болот. Мисалы, тиркеме аныктыгын текшерүү болушу үчүн колдонуучу жана анын сырсөзү тууралуу маалыматты сакташы керек. Сиздин тиркемеңиз ресторандын гид болушу мүмкүн, мындай учурда server ар бир ресторан жөнүндө маалыматты сактайт. Маалыматтын өзүнөн тышкары, server маалыматтар ортосундагы мамилелерди да жазат. Мисалы, колдонуучуга смартфондогу тиркемеде ресторан жакты, ал эми server ресторан менен колдонуучунун ортосундагы бул байланышты эстеп калат.
Серверлер.  Муляждар учун окуу программасы — 7
Бул көптөгөн суроолорго жооп берүүгө мүмкүндүк берет. Мисалы:
  • Канча колдонуучу бул ресторанды жактырды?
  • Бул колдонуучу кайсы ресторандарды жактырат?
  • Кандай ашканалар бир эле учурда бир нече колдонуучуларга жагат?
Маалыматтар жана маалыматтар ортосундагы мамилелер маалымат базасында (МБ) сакталат . Маалымат базаларынын көптөгөн түрлөрү бар, бирок алардын бардыгы:
  • маалыматты сактай алат
  • маалыматтар ортосундагы мамилелерди сактай алат
  • суроо-талапка жараша маалымат суроо-талаптарын кабыл алып , аларга бирдиктүү маалыматтар же маалыматтардын жыйындысы катары жооп бере алат .
Маалымат базаларынын көптөгөн түрлөрү бар, алардын ар бири өзүнүн артыкчылыктары жана кемчorктери бар. Эгер сиз SQL, MySQL, MongoDB, CouchDB, Redis сыяктуу терминдерди уксаңыз, анда биз маалымат базалары жөнүндө сөз болуп жатканыбызды бorңиз.

Өз ара аракеттенүү

Сервердин негизги милдети тиркеме жана башка serverлер менен өз ара аракеттенүү болуп саналат.
Серверлер.  Муляждар учун окуу программасы — 8
Көптөгөн колдонмо тапшырмалары server менен иштешүүнү талап кылат. Мисалы, эгер колдонуучу бир нерсе издеп жатса, издөө суроосу serverге жөнөтүлүп, натыйжа ошол жерден чыгат. Колдонуучу башка колдонуучуга билдирүү жөнөтсө, ал адегенде serverге келет. Андан кийин ал башка колдонуучунун арызына жөнөтүлөт, көбүнчө жөнөтүлгөн эскертме түрүндө. Колдонмолор аны менен иштеше алышы үчүн server камсыз кылган интерфейстер адатта API деп аталат . Ооба, кээ бир интерфейс функциялары акыркы чекиттер менен байланыштырылышы мүмкүн , мисалы, сайтта издөө же авторизация менен. Билбегендер үчүн бул өз ара кызыктай көрүнүшү мүмкүн. Эки эң кеңири таралган өз ара аракеттенүү форматтары JSON жана XML болуп саналат.
Серверлер.  Муляждар учун окуу программасы — 9
Сол жакта XML, оң жакта JSON Бир караганда, форматтарды окуу кыйындай көрүнөт. Сервер бул сиздин ноутбук же смартфонуңуз сыяктуу жөн гана компьютер экенин түшүнүү маанилүү. Телефонуңуздагы колдонмо үн, текст, үн таануу же экранга тийүү аркылуу колдонуучунун киргизүүсүн кабыл алат. Тиркеме бул маалыматты иштетип, андан кийин экрандагы сүрөт түрүндө жооп берет. Смартфон – бул адам менен өз ара аракеттенүүчү компьютер, ошондуктан киргизүү жана чыгаруу адамга ыңгайлуу формада берилет. Сервер башка компьютерлер менен гана иштешүүчү компьютер. Адам маалыматты шрифтин өлчөмү, тексттин түсү жана форматтоо сыяктуу нерселердин аркасында кабыл алат. Бирок бул компьютер үчүн эч нерсе дегенди билдирбейт.
Серверлердин ортосундагы өз ара аракеттенүү башка компьютерлер үчүн талданууга жана түшүнүүгө оңой форматтарда болот.

Сервер колдонмосу

Телефонуңузда иштей турган колдонмо түзгүңүз келсе, serverде иштей турган колдонмо да керек болот. Сервер тараптагы тиркемелер serverдик программалоо тилдерин жана алHowтарын колдонуу менен түзүлөт, популярдуу варианттар Java , Ruby on Rails , Node.js , PHP , ASP.NET .
Серверлер.  Муляждар учун окуу программасы — 10
API сиздин serverиңиздин "эшиги" деп айта аласыз жана колдонмо аларды тыкылdateуну билет. Маалыматтар базасы бардык маалыматыңызды сактайт. Ал эми serverдик тиркеме – бардыгын бириктирген “мээ”. Ал API аркылуу жөнөтүлгөн суроо-талаптарды кабыл алат жана аларга жооп берет, маалымат базасынан маалыматтарды кошуп, чыгарып, чечим кабыл алат. Мисалы, колдонуучу колдонмосу кирүү маалыматын тапшырганда, сурам API аркылуу келет, туура кирүү маалыматы маалымат базасында сакталат. Сервердик тиркеменин милдети аларды салыштыруу жана API аркылуу тиркемеге жараша жооп берүү.

Аппараттык

Серверлер.  Муляждар учун окуу программасы — 11
Сиз "server" деген сөздү укканда, балким, бул сүрөттү элестетсеңиз керек: жабык бөлмөдө жарыгы жаркыраган шкафтар. Мүмкүн, сүрөттү аягына чыгаруу үчүн Том Круз жетишпейт, ал шыптан түшүп, бир нерсе уурдайт. Көптөгөн ири компаниялар өздөрүнүн serverлерине жана бүтүндөй маалымат борборлоруна ээ (ошол чоң бөлмөлөр жылтылдап турган шкафтары бар). Facebook жана Google дүйнө жүзү боюнча жүздөгөн serverлерге ээ. Миллиондогон колдонуучулар менен чоң кызматты иштеткенде, өз serverлериңизди иштетүү кыйла арзан болуп, жакшыраак иштеши мүмкүн. Көптөгөн иштеп чыгуучулар өз serverлерин тейлөөнүн ордуна булут кызматтарын колдонушат. Amazon Web Services, Azure жана Digital Ocean сыяктуу кызматтар "виртуалдык serverлерди" колдонуу мүмкүнчүлүгүн сунуштайт. Бул кызматтар аппараттык жабдыкка ээлик кылат жана аны тейлейт жана иштеп чыгуучу ага жөн гана serverдик тиркемени жүктөйт. Кээ бир тейлөө провайдерлери serverдик тиркемени өзүңүз жазбай эле жөнөкөй бэкендге ээ болууга мүмкүндүк берүүчү кызмат катары камсыз кылышат.

Бардык колдонмолорго backend керекпи?

Сизге тааныш болгон колдонмолордун көбүнүн арткы бөлүгү болушу мүмкүн. Албетте, server бөлүгү жок программаларды таба аласыз. Мисалы, кээ бир өндүрүмдүүлүк колдонмолору. Колдонмонун арткы аягы бар же жок экенин билүүнүн оңой жолу төмөнкүдөй:
Эгер Учуу режимине которулсаңыз, колдонмо дагы эле иштейби?
Эгер жооп "жок" болсо, бул колдонмонун сөзсүз server serverи бар экенин билдирет.
Серверлер.  Муляждар учун окуу программасы — 12
Эми сиз колдонмонун арткы аягы эмне экенин түшүндүңүз деп үмүттөнөм. Балким, кийинки жолу программист кесиптештериңиз менен жолукканыңызда, алар эмне жөнүндө айтып жатканын түшүнүп гана тим болбостон, маегиңизде кандайдыр бир каргыш "Джейсонду" да колдоно аласыз.
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION