Вобастагии код иблис аст.

Вобастагиҳои шумо ҳар дафъа сӯзон хоҳанд шуд.
"Тағйирот ягона ягона аст ..." - Гераклит (Философ)

Воситаҳо, китобхонаҳо ва чаҳорчӯбаҳое, ки мо имрӯз барои сохтани барномаҳои интернетии мо истифода мебаранд, аз он воситаҳое, ки мо чанд сол пеш истифода карда будем, хеле фарқ мекунанд.

Пас аз чанд соли кӯтоҳтарин аз ҳоло, аксарияти ин технологияҳо ба таври назаррас иваз хоҳанд шуд. Бо вуҷуди ин, аксарияти мо ин қисмҳои ҷудонопазири барномаҳои моро ташкил медиҳем.

Мо аз чаҳорчӯбаҳои мазза аз моҳи моҳ ворид мекунем, истифода мебарем ва мерос мегирем, гӯё ки онҳо ҳама абадӣ ва бетағйир мемонанд. Хуб ... онҳо нестанд. Ва ин мушкилот аст.

Пас аз 20 соли таҳия, тарроҳӣ ва бойгонии барномаҳои веб, ман ду ҳақиқати муҳимро дарк кардам:

  1. Вобастагиҳои хориҷӣ ба устувории дарозмуддат ва қобилияти истифодаи ҳама гуна барномаҳо таҳдиди бузург аст.
  2. Ин мушкилтар шуданаш мушкилтар аст, агар ғайриимкон бошад - сохтани ягон намуди барномаи ғайримуқаррарӣ бидуни истифода аз вобастагии беруна.

Ин мақола дар бораи оштӣ кардани ин ду ҳақиқат аст, то ки барномаҳои мо барои зинда мондани дарозмуддат имкониятҳои бештар дошта бошанд.

Сӯрохи харгӯш дар ҳақиқат хеле амиқ аст.

Агар мо дар бораи чизҳое, ки веб-барномаҳои мо аз он вобастаанд, сар кунем, дар бораи даҳҳо ва зиёда аз он, пеш аз ворид шудан ба рамз, фикр кунем:

  • Ҳокимият
  • Пайвастшавӣ
  • Сипар
  • DNS
  • Таҷҳизоти серверӣ (CPU, Диск, Рам,…)
  • Сардшавии
  • Платформаи виртуалӣ
  • Платформаи контейнер
  • Низоми амал
  • Платформаи Веб-сервер
  • Платформаи Server Server
  • Веб-браузер

Ҳамчун таҳиягарон, аз ин чизҳо огоҳӣ ёфтан хуб аст, аммо бисёр вақт мо дар бораи онҳо коре карда наметавонем. Пас, биёед ҳоло онҳоро нодида гирем ва танҳо дар бораи рамз сӯҳбат кунем.

Рамз се намуд вобастагӣ дорад:

1. Вобастаҳое, ки мо назорат мекунем

Ин коди навишта шудааст ва аз ҷониби мо ё созмони мо тааллуқ дорад.

2. Вобастаҳое, ки мо назорат намекунем

Ин коди аз ҷониби фурӯшандаи тарафи сеюм ё ҷомеаи нармафзори кушодаасос навишта шудааст.

3. Воридот якбора хориҷ карда шуданд

Инҳо вобастагии рамзӣ мебошанд, вобастагии рамзи тарафи сеюм аз мо вобаста аст. (Бигӯед, ки се маротиба рӯза гиред!)

Мо асосан дар бораи вобастагӣ, ки назорат намекунем, гап мезанем.

Вобастаҳое, ки мо назорат мекунем ва вобастагие, ки як бор хориҷ карда шудаанд, метавонанд дарди сарро боздоранд, аммо дар ҳолати вобастагӣ, ки мо назорат мекунем, мо бояд тавонем мустақиман мудохила кунем ва ҳама мушкилотро сабук созем.

Дар сурати вобастагии якбора, мо метавонем одатан ба тарафи сеюм такя намоем, то дар мо ғамхорӣ кунад, зеро онҳо низ аз онҳо вобастаанд.

Чаро вобастагиҳои рамзи тарафи сеюм хубанд

Қисми зиёди барномаи веби шумо барои ҳалли мушкилоти умумӣ мавҷуд аст: аутентификатсия, авторизатсия, дастрасӣ ба маълумот, баррасии хатогиҳо, навигатсия, воридкунӣ, рамзгузорӣ, намоиши рӯйхати ашёҳо, ворид кардани вурудоти шаклҳо ва ғайра ...

Новобаста аз он ки кадом стек технологияро истифода мебаред, имкони хубе барои ҳалли ин мушкилот вуҷуд дорад ва ҳамчун китобхонаҳое мавҷуданд, ки ба осонӣ ба пойгоҳи шумо ворид ва ворид карда метавонед. Навиштани ҳар гуна ин ҳама чизро аз сифр, одатан вақти беҳуда аст.

Шумо мехоҳед, ки диққати худро ба рамз ҷалб кунед, ки он ё проблемаи ғайримуқаррариро ҳал мекунад ё мушкилоти умумиро ба таври ғайримуқаррарӣ ҳал мекунад. Ҳамин чизест, ки аризаи шуморо пурарзиш мекунад: коде, ки қоидаҳои тиҷориро, ки танҳо барои барномаатон беназир аст - "чошнии махфӣ" аст.

Алгоритми рейтинги ҷустуҷӯ ва саҳифаи Google, филтр кардани хроникаи Facebook, бахши "Netflix" барои шумо тавсия "ва алгоритмҳои фишурдани додаҳо - рамзи ҳамаи ин хусусиятҳо" чошнии махфӣ "мебошад.

Рамзи шахсони сеюм - дар шакли китобхонаҳо, ба шумо имкон медиҳад, ки он хусусиятҳои таъиншудаи барномаро зуд амалӣ намоед, то шумо тавонанд дар бораи "чошнии махфӣ" -и худ бимонед.

Чаро вобастагии рамзи тарафи сеюм бад аст

Ба ҳама гуна веб-барномаи ғайримуқаррарӣ, ки дар тӯли чанд соли охир сохта шудааст, таваҷҷӯҳ кунед ва аз миқдори коде, ки аз китобхонаи тарафи сеюм меояд, ба ҳайрат хоҳед омад. Чӣ мешавад, агар як ё якчанд китобхонаҳои тарафи сеюм якбора тағир ё нопадид ё пора шуда бошанд?

Агар он сарчашмаи кушода бошад, шумо метавонед онро худатон ислоҳ кунед. Аммо шумо тамоми рамзи он китобхонаро, ки ба шумо тааллуқ надорад, то чӣ андоза хуб мефаҳмед? Сабаби бузурге, ки чаро шумо китобхонаро истифода мекунед, ин ба даст овардани фоидаҳои код бидуни хавотирӣ аз ҳама ҷузъиёт мебошад. Аммо акнун шумо часпидаед. Шумо сарвати худро ба ин вобастагиҳо вобаста кардед, ки шумо молик нестед ва назорат намекунед.

Хавотир нашав, дар охири ин мақола шумо умеди нав пайдо хоҳед кард.

Шояд шумо фикр кунед, ки ман муболиға дорам ё аз нуқтаи назари академӣ сухан мегӯям. Иҷозат диҳед ба шумо итминон диҳам, - ман даҳҳо намунаҳои муштариёне дорам, ки рамзи тарафи сеюмро ба барномаи худ сахт часпониданд. Ин танҳо як мисоли ба қарибӣ…

Як муштарии собиқи ман барномаи худро тавассути провайдери Backend-as-a-Service, ки ба Facebook тааллуқ дорад, сохтааст Parse сохтааст. Онҳо барои истифодаи хидматҳои Parse аз китобхонаи муштарии JavaScript аз ҷониби Parse истифода карданд. Дар ин раванд, онҳо ҳамаи рамзҳои худро, аз ҷумла рамзи "чошнии махфӣ" - ба ин китобхона пайваст карданд.

Се моҳ пас аз ба роҳ мондани маҳсулоти аввалини муштарии ман - ҳамон тавре ки онҳо бо муштариёни воқеӣ музокироти хубро оғоз карданд - Парс эълон кард, ки он хомӯш аст.

Акнун ба ҷои он ки диққати худро ба истератсия ба маҳсулоти худ ва афзун намудани базаи муштариёнашон ҷалб намоям, ба мизоҷи ман лозим омад бифаҳмам, ки чӣ гуна ба Parse-и худмаблағгузори ва ё Parse пурра иваз кардан лозим аст.

Қатъи он барои як барномаи ҷавон, ки ба вуқӯъ пайвастааст, ба ҳадде бузург буд, ки муштарии ман дар ниҳоят барномаро пурра сӯзонд.

Мувозинати хуб ва бад

Чанд сол пеш, роҳи ҳалли ман барои рафъи хатарҳо ва нигоҳ доштани манфиатҳои китобхонаҳои тарафи сеюм буд, ки онҳо бо истифодаи Намуди адаптер ба натиҷа раванд.

Аслан, шумо рамзи тарафи сеюмро дар синфи адаптер ё модули навиштаи худ печонед. Он гоҳ кор мекунад, ки вазифаҳои китобхонаҳои тарафи сеюм фаҳмонда шаванд, то шумо назорат кунед.

Бо истифода аз ин намуна, агар китобхонаи тарафи сеюм ё чаҳорчӯба тағир ё тағир ёбад, шумо бояд каме каме коди адаптерро ислоҳ кунед. Қисми боқимондаи барномаи шумо солим боқӣ мемонад.

Диаграммаи шакли адаптер аз Dofactory.com

Ин дар коғаз хуб садо медиҳад. Вақте ки шумо вобастагии мустақилона доред, ки танҳо чанд вазифаро таъмин мекунанд, ин ҳиллаест, ки иҷро мекунад. Аммо чиз зуд ба даст меорад.

Оё шумо тасаввур карда метавонед, ки пеш аз истифодаи ягон китобхонаи React (аз ҷумла JSX), бояд тамоми китобхонаро сарпӯш кунед? Дар бораи печонидани jQuery ё Angular ё чаҳорчӯбаи баҳор дар Java чӣ гуна бояд шуд? Ин зуд ба даҳшат табдил меёбад.

Дар ин рӯзҳо ман равиши боз ҳам нозуктарро тавсия медиҳам…

Барои ҳар як вобастагӣ, ки шумо мехоҳед ба пойгоҳи худ илова кунед, сатҳи хавфро тавассути зарб задани ду омил арзёбӣ кунед:

  1. Эҳтимолияти вобастагӣ ба таври моддӣ тағйир меёбад.
  2. Маблағи зарари тағирёбии моддӣ ба вобастагӣ ба дархости шумо хоҳад буд.

Китобхонаи тарафи сеюм ё чаҳорчӯбаи эҳтимолият тағир намеёбад, вақте ки баъзе ё ҳамаи корҳои зерин дуруст мебошанд:

  • Он тақрибан дар тӯли якчанд сол аст ва якчанд нашриёти асосиро дошт.
  • Он аз ҷониби бисёр барномаҳои тиҷоратӣ васеъ истифода мешавад.
  • Он дорои дастгирии фаъоли як ташкилоти бузург - беҳтар аз ҳама ширкатҳо ё муассисаҳои номи хонаводаҳо мебошад.

Китобхона ё чаҳорчӯбаи тарафҳои сеюм ба замимаи шумо зарари камтар хоҳад овард, вақте ки баъзе ё ҳамаи корҳои зерин дурустанд:

  • Он танҳо аз ҷониби қисмати ками аризаи шумо истифода мешавад, на аз он ки дар саросари ҷаҳон истифода бурда мешавад.
  • Рамз, ки аз он вобаста аст, ҷузъи он “чошнии махфӣ” нест, ки ман қаблан дар борааш гуфта будам.
  • Нест кардани он тағироти ҳадди аққал дар базаи рамзии шуморо талаб мекунад.
  • Тамоми аризаи шумо хеле хурд аст ва метавонад зуд навишта шавад. (Бо ин эҳтиёт шавед - ин хеле тӯлонӣ воқеист.)

Агар чизи хатарноктар бошад, эҳтимоли зиёд аст, ки шумо онро парпеч кунед ё тамоман аз он канорагирӣ кунед.

Вақте ки сухан дар бораи рамзи воқеии пешниҳоди арзишии аризаатон - "чошнии махфии" шумо меравад, шумо бояд онро аз ҳад зиёд муҳофизат кунед. То ҳадди имкон ин рамзро мустақил гардонед. Агар ба шумо лозим аст, ки вобастагиро истифода баред, на ин ки ба таври мустақим ба он муроҷиат кардан ба сӯзандору. Бо вуҷуди ин, эҳтиёт шавед.

Баъзан ин маънои онро дорад, ки ба "ягон не" ба китобхонаи тарафи сеюм, ки ба фикри шумо хеле олист ё ин ки шумо мехоҳед бо ин ё он сабаб истифода кунед. Қавӣ бош. Ба ман бовар кунед, он подош хоҳад дод. Танҳо аз он шахсоне пурсед, ки дар аввалин баромади Angular сармоягузорӣ карданд ё муштарии собиқи ман, ки Parse-ро дар ҳама ҷо истифода карданд. Ин шавқовар нест. Ба ман бовар кун.

Дар бораи масхара сухан гӯед, ба ин нигоҳ кунед ...

Графикаи вобастагӣ барои Explorer TinyTag

Тасвири дар боло буда графикаи вобастагӣ барои замима бо номи TinyTag Explorer аст.

Таҳияи ҷадвали вобастагӣ барои барномаҳои мавҷудаи шумо як роҳи олии фаҳмидани сатҳи хавфе, ки аз ҷониби тобеияти шумо ворид мешавад, мебошад. Ман як қатор асбобҳои ройгонро барои тавлиди графҳои шабеҳ ба боло бо забонҳои мухталиф, аз ҷумла JavaScript, C #, Java, PHP ва Python ҷамъ овардаам. Шумо метавонед онро дар инҷо пайдо кунед.

Ба дигарон кумак кунед

Ман мехоҳам ба шумораи зиёди таҳиягарон кӯмак расонам, то дониш ва таҷрибаи худро бо онҳо мубодила кунам. Лутфан бо клик кардани ❤ тавсия (дили сабз) дар зер ба ман кӯмак кунед.

Дар ниҳоят, гирифтани рӯйхати рӯйхати генераторҳои графикии вобастагии озодро фаромӯш накунед.