{"id":36115,"date":"2019-10-31T22:09:42","date_gmt":"2019-10-31T19:09:42","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete\/"},"modified":"2019-10-31T22:09:42","modified_gmt":"2019-10-31T19:09:42","slug":"ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete","title":{"rendered":"Mos prano zhvillimin e asaj q\u00eb nuk e kupton","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Mos prano zhvillimin e asaj q\u00eb nuk e kupton\" src=\"\/wp-content\/uploads\/2019\/07\/bfd609d9004113a76d59d8763d82c6d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQ\u00eb nga fillimi i vitit 2018, un\u00eb kam marr\u00eb postin e liderit\/drejtorit\/t\u00eb zhvilluesit t\u00eb avancuar n\u00eb ekip \u2014 quajeni si t\u00eb doni, por e r\u00ebnd\u00ebsishme \u00ebsht\u00eb se un\u00eb plot\u00ebsisht jam p\u00ebrgjegj\u00ebs p\u00ebr nj\u00eb nga moduli dhe p\u00ebr t\u00eb gjith\u00eb zhvilluesit q\u00eb punojn\u00eb mbi t\u00eb. Ky pozicion m\u00eb hap nj\u00eb perspektiv\u00eb t\u00eb re mbi procesin e zhvillimit, pasi jam i angazhuar n\u00eb m\u00eb shum\u00eb projekte dhe marr pjes\u00eb m\u00eb aktivisht n\u00eb vendimmarrje. S\u00eb fundmi, fal\u00eb k\u00ebtyre dy rrethanave, papritur e kuptova sa shum\u00eb niveli i kuptimit ndikon n\u00eb kod dhe n\u00eb aplikacion.<\/p>\n<p>Mendimi q\u00eb dua t\u00eb shpreh lidhet me faktin se cil\u00ebsia e kodit (dhe e produktit p\u00ebrfundimtar) \u00ebsht\u00eb ngusht\u00eb e lidhur me at\u00eb se sa njer\u00ebzit q\u00eb merren me dizajnimin dhe shkruajn\u00eb kodin jan\u00eb t\u00eb vet\u00ebdijsh\u00ebm p\u00ebr at\u00eb q\u00eb po b\u00ebjn\u00eb.<\/p>\n<p>Ndoshta tani po mendoni: \"Faleminderit, kapiten. Sigurisht, do t\u00eb ishte mir\u00eb t\u00eb kuptoje \u00e7far\u00eb po shkruan. Ndryshe, me t\u00eb nj\u00ebjtin sukses mund t\u00eb angazhojm\u00eb nj\u00eb grup majmun\u00ebsh q\u00eb t\u00eb godas\u00eb rast\u00ebsisht n\u00eb tastier\u00eb dhe t\u00eb qet\u00ebsohemi me k\u00ebt\u00eb.\" Dhe keni plot\u00ebsisht t\u00eb drejt\u00eb. Ndaj, e pranoj si nj\u00eb t\u00eb dh\u00ebn\u00eb: ju e kuptoni se t\u00eb kesh nj\u00eb kuptim t\u00eb p\u00ebrgjithsh\u00ebm p\u00ebr at\u00eb q\u00eb b\u00ebn \u00ebsht\u00eb e nevojshme. Kjo mund t\u00eb quhet niveli zero i kuptimit, dhe ne nuk do ta shqyrtojm\u00eb at\u00eb n\u00eb detaje. Do t\u00eb shqyrtojm\u00eb n\u00eb detaje se \u00e7far\u00eb sakt\u00ebsisht duhet t\u00eb kuptosh dhe si ndikon kjo n\u00eb vendimet q\u00eb merr \u00e7do dit\u00eb. N\u00ebse do ta dija k\u00ebto gj\u00ebra paraprakisht, do t\u00eb m\u00eb kishte kursyer nj\u00eb sasi t\u00eb madhe koh\u00eb t\u00eb humbur dhe kod t\u00eb dyshimt\u00eb.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nPavar\u00ebsisht se nuk do t\u00eb shihni asnj\u00eb rresht kodin m\u00eb posht\u00eb, un\u00eb akoma mendoj se gjith\u00e7ka q\u00eb thuhen k\u00ebtu ka r\u00ebnd\u00ebsi t\u00eb madhe p\u00ebr shkruarjen e nj\u00eb kodi cil\u00ebsor dhe ekspresiv. <\/p>\n<h4>Niveli i par\u00eb i kuptimit: Pse nuk funksionon?<\/h4>\n<p>\nZhvilluesit zakonisht arrijn\u00eb n\u00eb k\u00ebt\u00eb nivel n\u00eb fazat m\u00eb t\u00eb hershme t\u00eb karrier\u00ebs s\u00eb tyre, ndonj\u00ebher\u00eb madje edhe pa ndihm\u00ebn e t\u00eb tjer\u00ebve \u2014 t\u00eb pakt\u00ebn sipas v\u00ebzhgimeve t\u00eb mia. Imagjinoni se keni marr\u00eb nj\u00eb raport t\u00eb defektit: nj\u00eb funksion n\u00eb aplikacion nuk funksionon, dhe duhet ta rregulloni. Si do t\u00eb veproni?<\/p>\n<p>Skema standarde duket k\u00ebshtu:<\/p>\n<ol>\n<li>T\u00eb gjeni fragmentin e kodit q\u00eb shkakton problemin (si t\u00eb b\u00ebhet kjo \u2014 \u00ebsht\u00eb nj\u00eb tem\u00eb e ve\u00e7ant\u00eb, e cila e trajtoj n\u00eb librin tim p\u00ebr kodin e vjet\u00ebr)<\/li>\n<li>T\u00eb b\u00ebni ndryshime n\u00eb k\u00ebt\u00eb fragment<\/li>\n<li>T\u00eb siguroheni se defekti \u00ebsht\u00eb korrigjuar dhe se nuk ka ndodhur ndonj\u00eb gabim regresiv<\/li>\n<\/ol>\n<p>\nTani do t\u00eb p\u00ebrqendrohemi n\u00eb pik\u00ebn e dyt\u00eb \u2014 ndryshimin e kodit. Ka dy qasje p\u00ebr k\u00ebt\u00eb proces. E para: t\u00eb kuptosh sakt\u00ebsisht se \u00e7far\u00eb po ndodh n\u00eb kodin aktual, t\u00eb identifikosh gabimin dhe ta korrigjosh at\u00eb. E dyta: t\u00eb ec\u00ebsh n\u00eb err\u00ebsir\u00eb \u2014 t\u00eb shtosh, p\u00ebr shembull, +1 n\u00eb operatorin kusht ose n\u00eb cik\u00ebl, t\u00eb shoh\u00ebsh n\u00ebse kjo funksionon n\u00eb skenar\u00ebt q\u00eb nevojiten, pastaj t\u00eb provosh ndonj\u00eb gj\u00eb tjet\u00ebr dhe k\u00ebshtu deri n\u00eb pafund\u00ebsi.<\/p>\n<p>Qasja e sakt\u00eb \u00ebsht\u00eb ajo e par\u00eb. Si\u00e7 shpjegon Steve McConnell n\u00eb librin e tij Code Complete (p\u00ebr leht\u00ebsim, e rekomandoj shum\u00eb), sa her\u00eb q\u00eb ne ndryshojm\u00eb di\u00e7ka n\u00eb kod, duhet t\u00eb jemi n\u00eb gjendje t\u00eb parashikojm\u00eb me besim se si do t\u00eb ndikoj\u00eb kjo n\u00eb aplikacion. Po citoj nga memoria, por n\u00ebse rregullimi i gabimit nuk rezulton ashtu si\u00e7 e kishe pritur, kjo duhet t\u00eb t\u00eb shqet\u00ebsoj\u00eb shum\u00eb, duhet t\u00eb v\u00ebsh n\u00eb dyshim t\u00eb gjith\u00eb planin t\u00ebnd t\u00eb veprimit.<\/p>\n<p>Duke p\u00ebrmbledhur, p\u00ebr t\u00eb kryer nj\u00eb rregullim t\u00eb mir\u00eb t\u00eb gabimeve, i cili nuk do t\u00eb d\u00ebmtoj\u00eb cil\u00ebsin\u00eb e kodit, duhet t\u00eb kuptosh si struktur\u00ebn e kodit, ashtu edhe burimin e problemit t\u00eb ve\u00e7ant\u00eb.<\/p>\n<h4>Niveli i dyt\u00eb i kuptimit: Pse funksionon kjo?<\/h4>\n<p>\nKy nivel arrin t\u00eb kuptohet shum\u00eb m\u00eb pak intuitivisht se niveli i m\u00ebparsh\u00ebm. Un\u00eb, duke qen\u00eb ende nj\u00eb zhvillues i ri, e kuptova k\u00ebt\u00eb fal\u00eb shefit tim, dhe m\u00eb pas shpesh e kam shpjeguar thelbin e k\u00ebsaj \u00e7\u00ebshtjeje fillestar\u00ebve.<\/p>\n<p>Tani le t\u00eb imagjinojm\u00eb se keni marr\u00eb nj\u00ebkoh\u00ebsisht dy raportime p\u00ebr gabime: n\u00eb t\u00eb parin flitet p\u00ebr skenarin A, dhe n\u00eb t\u00eb dytin \u2014 p\u00ebr skenarin B. N\u00eb t\u00eb dy rastet ndodh di\u00e7ka e gabuar. Prandaj, s\u00eb pari merresh me gabimin e par\u00eb. Duke u udh\u00ebhequr nga parimet q\u00eb nxorr\u00ebm p\u00ebr nivelin e par\u00eb t\u00eb kuptimit, ju futeni thell\u00eb n\u00eb kodin q\u00eb ka lidhje me problemin, e kuptoni pse ai e b\u00ebn aplikacionin t\u00eb sillet ashtu si\u00e7 sillet n\u00eb skenarin A, dhe b\u00ebni ndryshime t\u00eb arsyeshme q\u00eb japin pik\u00ebrisht rezultatin q\u00eb prisnit. Gjith\u00e7ka shkon mrekulluesh\u00ebm.<\/p>\n<p>Pastaj kaloni te skenari B. E p\u00ebrs\u00ebrisni skenarin n\u00eb p\u00ebrpjekje p\u00ebr t\u00eb provokuar gabimin, por \u2014 surpriz\u00eb! \u2014 tani gjith\u00e7ka funksionon si\u00e7 duhet. P\u00ebr t\u00eb konfirmuar dyshimin tuaj, anuloni ndryshimet e b\u00ebra gjat\u00eb pun\u00ebs mbi gabimin A, dhe gabimi B riaktualizohet. Rregullimi juaj zgjidhi t\u00eb dy problemet. Fat i mir\u00eb!<\/p>\n<p>Nuk e kishit pritur kurr\u00eb k\u00ebt\u00eb. Keni gjetur nj\u00eb m\u00ebnyr\u00eb p\u00ebr t\u00eb riparuar gabimin n\u00eb skenarin A dhe nuk keni asnj\u00eb ide pse ka funksionuar edhe p\u00ebr skenarin B. N\u00eb k\u00ebt\u00eb pik\u00eb, tundimi \u00ebsht\u00eb i madh p\u00ebr t\u00eb vendosur se t\u00eb dyja detyrat jan\u00eb finalizuar me sukses. Kjo \u00ebsht\u00eb logjike: q\u00ebllimi ishte t\u00eb eliminohen gabimet, apo jo? Por puna ende nuk ka p\u00ebrfunduar: ju duhet t\u00eb kuptoni pse veprimet tuaja e korrigjuan gabimin n\u00eb skenarin B. Pse? Sepse, ndoshta, ai punon mbi parime t\u00eb gabuara, dhe at\u00ebher\u00eb do t'ju duhet t\u00eb k\u00ebrkoni nj\u00eb zgjidhje tjet\u00ebr. Ja disa shembuj t\u00eb till\u00eb.<\/p>\n<ul>\n<li>pasi zgjidhja nuk u p\u00ebrzgjodh sakt\u00ebsisht p\u00ebr gabimin B duke marr\u00eb parasysh t\u00eb gjith\u00eb faktor\u00ebt, ndoshta pa e ditur, keni prishur funksionin C. <\/li>\n<li>nuk p\u00ebrjashtohet q\u00eb ndoshta ndodhet edhe nj\u00eb gabim i tret\u00eb, i lidhur me t\u00eb nj\u00ebjtin funksion, dhe riparimi juaj i gabimit lidh funksionimin e duhur t\u00eb sistemit n\u00eb skenarin B me t\u00eb. Tani gjith\u00e7ka duket mir\u00eb, por n\u00eb nj\u00eb moment t\u00eb bukur k\u00ebt\u00eb gabim t\u00eb tret\u00eb do ta v\u00ebn\u00eb re dhe do ta riparojn\u00eb. Pastaj, n\u00eb skenarin B do t\u00eb shfaqet p\u00ebrs\u00ebri nj\u00eb gabim, dhe shpresojm\u00eb se vet\u00ebm atje.<\/li>\n<\/ul>\n<p>\nT\u00eb gjitha k\u00ebto sjellin haos n\u00eb kod dhe nj\u00eb dit\u00eb do t'ju bien n\u00eb krye \u2014 shum\u00eb ndoshta, n\u00eb momentin m\u00eb t\u00eb pap\u00ebrshtatsh\u00ebm. Do t'ju duhet t\u00eb mbledhni vullnetin p\u00ebr t'u detyruar t\u00eb ndani koh\u00eb p\u00ebr t\u00eb kuptuar pse gjith\u00e7ka duket se funksionon, por ia vlen. <\/p>\n<h4>Niveli i tret\u00eb i kuptimit: Pse funksionon?<\/h4>\n<p>\nAhaime t\u00eb fundit lidhet pik\u00ebrisht me k\u00ebt\u00eb nivel, dhe ndoshta ky do t\u00eb m\u00eb jepte m\u00eb shum\u00eb p\u00ebrfitime, n\u00ebse do t\u00eb m\u00eb vinte kjo mendim m\u00eb her\u00ebt.<\/p>\n<p>P\u00ebr ta b\u00ebr\u00eb m\u00eb t\u00eb qart\u00eb, le t\u00eb shqyrtojm\u00eb nj\u00eb shembull: moduli juaj duhet t\u00eb b\u00ebhet kompatibil me funksionin X. Nuk jeni shum\u00eb t\u00eb njohur me funksionin X, por ju \u00ebsht\u00eb th\u00ebn\u00eb se p\u00ebr t\u00eb qen\u00eb kompatibil me t\u00eb, duhet t\u00eb p\u00ebrdorni framework-un F. Modul t\u00eb tjer\u00eb q\u00eb integrohen me X, punojn\u00eb pik\u00ebrisht me t\u00eb.<\/p>\n<p>Kodi juaj nga dita e par\u00eb e jet\u00ebs s\u00eb tij nuk ka qen\u00eb n\u00eb asnj\u00eb moment n\u00eb kontakt me kuadrin F, prandaj implementimi i tij nuk do t\u00eb jet\u00eb aq i leht\u00eb. Kjo do t\u00eb ket\u00eb pasoja serioze p\u00ebr disa p\u00ebrb\u00ebr\u00ebs t\u00eb modulit. Megjithat\u00eb, ju jeni plot\u00ebsisht t\u00eb angazhuar n\u00eb zhvillim: kaloni jav\u00eb duke shkruar kod, testoni, publikoni versione pilot, merrni reagime, korrigjoni gabimet regresive, zbuloni komplikacione t\u00eb papritura, nuk p\u00ebrfshiheni n\u00eb afatet fillestare, shkruani akoma ca kod, testoni, merrni feedback, korrigjoni gabimet regresive \u2014 gjith\u00eb kjo p\u00ebr t\u00eb implementuar kuadrin F.<\/p>\n<p>Dhe n\u00eb nj\u00eb moment ju papritmas e kuptoni \u2014 ose ndoshta e d\u00ebgjoni nga dikush \u2014 se ndoshta kuadrin F nuk do t'ju jap\u00eb atij p\u00ebrputhshm\u00ebri me funksionin X. Ndoshta t\u00eb gjitha k\u00ebto koh\u00eb dhe forca ishin t\u00eb investuara krejt\u00ebsisht gabim.<\/p>\n<p>Nj\u00eb gj\u00eb e till\u00eb ndodhi nj\u00ebher\u00eb gjat\u00eb pun\u00ebs n\u00eb nj\u00eb projekt p\u00ebr t\u00eb cilin un\u00eb isha p\u00ebrgjegj\u00ebs. Pse ndodhi k\u00ebshtu? Sepse nuk e kuptoja mir\u00eb se \u00e7far\u00eb p\u00ebrfshin funksioni X dhe si lidhet ai me kuadrin F. \u00c7far\u00eb duhej t\u00eb kisha b\u00ebr\u00eb? T\u00eb k\u00ebrkoja nga personi q\u00eb jep detyr\u00ebn p\u00ebr zhvillim t\u00eb shpjegonte qart\u00eb se si plani i propozuar \u00e7on n\u00eb rezultatin e d\u00ebshiruar, n\u00eb vend q\u00eb thjesht t\u00eb p\u00ebrs\u00ebrisja at\u00eb q\u00eb ishte b\u00ebr\u00eb p\u00ebr module t\u00eb tjera, apo t\u00eb besoja verb\u00ebrisht se k\u00ebshtu duhet p\u00ebr funksionin X.<\/p>\n<p>P\u00ebrvoja e k\u00ebtij projekti m\u00eb m\u00ebsoi t\u00eb refuzoj t\u00eb filloj procesin e zhvillimit derisa t\u00eb kemi nj\u00eb kuptim t\u00eb qart\u00eb p\u00ebr arsyen pse na k\u00ebrkohet t\u00eb kryejm\u00eb veprime t\u00eb caktuara. T\u00eb refuzoj me fjal\u00eb t\u00eb drejtp\u00ebrdrejta. Kur merr detyr\u00ebn, impulsi i par\u00eb \u00ebsht\u00eb t\u00eb fillosh menj\u00ebher\u00eb me t\u00eb, q\u00eb t\u00eb mos humbas\u00ebsh koh\u00eb kot. Por politika \"ndalojm\u00eb projektin derisa t\u00eb m\u00ebsojm\u00eb t\u00eb gjitha detajet\" mund t\u00eb reduktoj\u00eb ndjesh\u00ebm koh\u00ebn e humbur. <\/p>\n<p>Edhe n\u00ebse ju ushtrohet presion p\u00ebr t\u00eb filluar pun\u00ebn, edhe pse nuk e kuptoni arsyen \u2014 q\u00ebndroni fort. Fillimisht kuptoni, p\u00ebr \u00e7far\u00eb q\u00ebllimi k\u00ebrkohet nj\u00eb detyr\u00eb e till\u00eb nga ju, dhe vendosni n\u00ebse \u00ebsht\u00eb rruga e duhur p\u00ebr t\u00eb arritur q\u00ebllimin. M\u00eb \u00ebsht\u00eb dashur ta kuptoj k\u00ebt\u00eb p\u00ebrmes p\u00ebrvoj\u00ebs s\u00eb hidhur \u2014 shpresoj se p\u00ebr ata q\u00eb e lexojn\u00eb, shembulli im do ta leht\u00ebsoj\u00eb jet\u00ebn.<\/p>\n<h4>Niveli i kat\u00ebrt i kuptimit: ???<\/h4>\n<p>\nProgramimi ka gjithmon\u00eb di\u00e7ka p\u00ebr t\u00eb m\u00ebsuar, dhe mendoj se vet\u00ebm kam prekur sip\u00ebrfaqen e tem\u00ebs s\u00eb kuptimit. \u00c7far\u00eb nivele t\u00eb tjera kuptimi keni zbuluar gjat\u00eb viteve tuaj me kodin? Cilat vendime keni marr\u00eb q\u00eb kan\u00eb ndikuar pozitivisht n\u00eb cil\u00ebsin\u00eb e kodit dhe aplikacionit? Cilat vendime jan\u00eb b\u00ebr\u00eb gabim dhe ju kan\u00eb m\u00ebsuar nj\u00eb m\u00ebsim t\u00eb vyer? Ndani p\u00ebrvoj\u00ebn tuaj n\u00eb komentet.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/digital-ecosystems\/blog\/459588\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421 \u043d\u0430\u0447\u0430\u043b\u0430 2018 \u0433\u043e\u0434\u0430 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c \u043b\u0438\u0434\u0430\/\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0438\u043a\u0430\/\u0432\u0435\u0434\u0443\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u2014 \u043d\u0430\u0437\u044b\u0432\u0430\u0439\u0442\u0435 \u044d\u0442\u043e \u043a\u0430\u043a \u0445\u043e\u0442\u0438\u0442\u0435, \u043d\u043e \u0441\u0443\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u044f \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u043e\u0442\u0432\u0435\u0447\u0430\u044e \u0437\u0430 \u043e\u0434\u0438\u043d \u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438 \u0437\u0430 \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0434 \u043d\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442. \u042d\u0442\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043c\u043d\u0435 \u043d\u043e\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u044f \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d \u0432 \u0431\u043e\u043b\u044c\u0448\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u0435\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27008,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-36115","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421 \u043d\u0430\u0447\u0430\u043b\u0430 2018 \u0433\u043e\u0434\u0430 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041d\u0435 \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0439\u0442\u0435\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u043e, \u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421 \u043d\u0430\u0447\u0430\u043b\u0430 2018 \u0433\u043e\u0434\u0430 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:09:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:09:42+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Mos pranoni t\u00eb zhvilloni at\u00eb q\u00eb nuk e kuptoni | ProHoster","description":"Q\u00eb nga fillimi i vitit 2018, un\u00eb mbaj pozit\u00ebn time.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041d\u0435 \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0439\u0442\u0435\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u043e, \u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435 | ProHoster","og:description":"\u0421 \u043d\u0430\u0447\u0430\u043b\u0430 2018 \u0433\u043e\u0434\u0430 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c.","og:url":"https:\/\/prohoster.info\/sq\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:09:42+00:00","article:modified_time":"2019-10-31T19:09:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36115","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 02:04:38","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:50:24","updated":"2026-01-22 02:04:38","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/36115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=36115"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/36115\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/27008"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=36115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=36115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=36115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}