{"id":42175,"date":"2019-03-18T00:00:00","date_gmt":"2019-03-17T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem"},"modified":"2020-02-18T13:45:00","modified_gmt":"2020-02-18T10:45:00","slug":"evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem","title":{"rendered":"Evolucioni i mjeteve t\u00eb shp\u00ebrndarjes, ose refleksione mbi Docker, deb, jar dhe t\u00eb tjera","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Evolucioni i mjeteve t\u00eb shp\u00ebrndarjes, ose refleksione mbi Docker, deb, jar dhe t\u00eb tjera\" src=\"\/wp-content\/uploads\/2019\/03\/3c677d0628824497039901c0179a8749.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNj\u00ebher\u00eb, vendosa t\u00eb shkruaj nj\u00eb artikull rreth shp\u00ebrndarjes n\u00eb form\u00ebn e kontejner\u00ebve Docker dhe paketave deb, por kur fillova, m\u00eb ndoqi nj\u00eb mendim p\u00ebr koh\u00ebt e para t\u00eb kompjuter\u00ebve personal\u00eb dhe madje kalkulator\u00ebve. N\u00eb p\u00ebrgjith\u00ebsi, n\u00eb vend t\u00eb krahasimeve t\u00eb thata nd\u00ebrmjet Docker-it dhe deb, rezultuan k\u00ebto reflektime mbi evolucionin, t\u00eb cilat i paraqes p\u00ebr gjykimin tuaj.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n\u00c7do produkt, \u00e7far\u00ebdo qoft\u00eb, duhet n\u00eb nj\u00ebfar\u00eb m\u00ebnyre t\u00eb arrij\u00eb n\u00eb server\u00ebt produktiv\u00eb, duhet t\u00eb konfigurohet dhe t\u00eb nis\u00eb. Ky do t\u00eb jet\u00eb subjekti i k\u00ebtij artikulli.<\/p>\n<p>Do t\u00eb reflektoj n\u00eb kontekstin historik, \"\u00e7far\u00eb shoh - at\u00eb k\u00ebndoj\", \u00e7far\u00eb kam par\u00eb kur fillova t\u00eb shkruaj kod dhe \u00e7far\u00eb v\u00ebrej sot, se \u00e7far\u00eb p\u00ebrdorim aktualisht dhe pse. Artikulli nuk pretendon p\u00ebr nj\u00eb hulumtim t\u00eb plot\u00eb, disa momente jan\u00eb l\u00ebn\u00eb jasht, ky \u00ebsht\u00eb q\u00ebndrimi im personal mbi at\u00eb q\u00eb ka qen\u00eb dhe at\u00eb q\u00eb \u00ebsht\u00eb tani.<\/p>\n<p>Pra, n\u00eb koh\u00ebt e vjetra t\u00eb mira... m\u00ebnyra m\u00eb e hershme e shp\u00ebrndarjes, q\u00eb kam p\u00ebrjetuar - ishin kasetat e magnetofon\u00ebve. Kisha nj\u00eb kompjuter BK-0010.01...<\/p>\n<h2>Epoka e kalkulator\u00ebve<\/h2>\n<p>\nJo, kishte nj\u00eb moment edhe m\u00eb t\u00eb hersh\u00ebm, ishte kalkulatori <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-61\">MK-61<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-52\">MK-52<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Evolucioni i mjeteve t\u00eb shp\u00ebrndarjes, ose refleksione mbi Docker, deb, jar dhe t\u00eb tjera\" src=\"\/wp-content\/uploads\/2019\/03\/ea68507cd83b4da3038cea7329ff1813.jpg\" style=\"display:block;margin: 0 auto;\" \/> Pra, kur kisha <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-61\">MK-61<\/a><\/noindex>, m\u00ebnyra e transfert\u00ebs s\u00eb programit ishte nj\u00eb cop\u00eb let\u00ebr me katror\u00eb, mbi t\u00eb cil\u00ebn ishte shkruar programi, i cili n\u00eb rast nevoje \u00ebsht\u00eb regjistruar manualisht n\u00eb kalkulator. D\u00ebshiron t\u00eb luash (po, po, n\u00eb k\u00ebt\u00eb kalkulator t\u00eb vjet\u00ebr kishte loj\u00ebra) - ulesh dhe shkruan programin n\u00eb kalkulator. Natyrisht, kur kalkulatori fiket, programi humbiste. P\u00ebrve\u00e7 kodeve t\u00eb shkruara me dor\u00eb n\u00eb let\u00ebr, programet publikoheshin n\u00eb revista si \"Radio\" dhe \"Teknika e rinis\u00eb\", si dhe printoheshin n\u00eb librat e asaj kohe.<\/p>\n<p>Modifikimi tjet\u00ebr ishte kalkulatori <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-52\">MK-52<\/a><\/noindex>, tashm\u00eb kishte nj\u00eb far\u00eb forme t\u00eb ruajtjes s\u00eb t\u00eb dh\u00ebnave q\u00eb nuk varen nga energjia. Tani nuk ishte m\u00eb e nevojshme t\u00eb shkruaje manualisht loj\u00ebn ose programin, por, duke b\u00ebr\u00eb disa l\u00ebvizje magjike me butona, ai niste vetvetiu.<\/p>\n<p>V\u00ebllimi i programit m\u00eb t\u00eb madh n\u00eb kalkulator ishte 105 hapat, nd\u00ebrsa madh\u00ebsia e memories s\u00eb p\u00ebrhershme n\u00eb MK-52 ishte 512 hapat.<\/p>\n<p>Tani, n\u00ebse ka adhurues t\u00eb k\u00ebtyre kalkulator\u00ebve q\u00eb po e lexojn\u00eb k\u00ebt\u00eb artikull - gjat\u00eb shkrimit t\u00eb k\u00ebtij artikulli kam gjetur nj\u00eb emulator kalkulatori p\u00ebr android dhe programe p\u00ebr t\u00eb. P\u00ebrpara, n\u00eb t\u00eb kaluar\u00ebn!<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.cax.pmk.ext\">Emulatori MK-61 p\u00ebr Android<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/xvadim.github.io\/xbasoft\/pmk\/pmk.html\">Katalogu i programeve p\u00ebr MK-61<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<blockquote><p><b>Nj\u00eb prapashtes\u00eb e vog\u00ebl mbi MK-52<\/b> <i>(nga Wikipedia)<\/i><\/p>\n<p>MK-52 fluturoi n\u00eb hap\u00ebsir\u00eb me anijen 'Soyuz TM-7'. Kishte p\u00ebr q\u00ebllim t\u00eb p\u00ebrdorej p\u00ebr llogaritjen e rrug\u00ebs s\u00eb uljes n\u00eb rast se kompjuteri bord i avioni d\u00ebshton.<\/p>\n<p>MK-52 me bllokun e zgjerimit t\u00eb memories 'Elektronika-Astro' nga viti 1988 u dor\u00ebzua n\u00eb anijet e Marin\u00ebs si pjes\u00eb e komplekseve t\u00eb llogaritjes s\u00eb navigatorit. <\/p><\/blockquote>\n<h2>Kompjuter\u00ebt e par\u00eb personal\u00eb<\/h2>\n<p><img decoding=\"async\" alt=\"Evolucioni i mjeteve t\u00eb shp\u00ebrndarjes, ose refleksione mbi Docker, deb, jar dhe t\u00eb tjera\" src=\"\/wp-content\/uploads\/2019\/03\/5d443c3919023854c53c83ac2265cea3.jpg\" style=\"display:block;margin: 0 auto;\" \/> Le t\u00eb kthehemi n\u00eb koh\u00ebt <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%91%D0%9A_(%D1%81%D0%B5%D0%BC%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%BE_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BE%D0%B2)\">BK-0010<\/a><\/noindex>. E qart\u00eb, se edhe memoria u rrit, dhe t\u00eb shkruaje kod me dor\u00eb nga nj\u00eb let\u00ebr nuk ishte m\u00eb nj\u00eb mund\u00ebsi (pavar\u00ebsisht se p\u00ebr nj\u00eb koh\u00eb t\u00eb shkurt\u00ebr e b\u00ebra pik\u00ebrisht k\u00ebshtu, pasi nuk kishte ndonj\u00eb mbajt\u00ebs tjet\u00ebr). Mjeti kryesor p\u00ebr ruajtjen dhe furnizimin e softuerit u b\u00ebn\u00eb kasetat audio p\u00ebr magnetofon\u00eb.<\/p>\n<p><br clear=\"all\"><br \/>\n<br clear=\"all\"><br \/>\n<img decoding=\"async\" alt=\"Evolucioni i mjeteve t\u00eb shp\u00ebrndarjes, ose refleksione mbi Docker, deb, jar dhe t\u00eb tjera\" src=\"\/wp-content\/uploads\/2019\/03\/988316eac02a95a16e15502a826f0653.jpg\" style=\"display:block;margin: 0 auto;\" \/>Ruajtja n\u00eb kaset\u00eb zakonisht ishte n\u00eb form\u00ebn e nj\u00eb ose dy skedar\u00ebve binar\u00eb, t\u00eb gjitha gj\u00ebrat e tjera ishin t\u00eb p\u00ebrfshira brenda. Besueshm\u00ebria ishte shum\u00eb e ul\u00ebt, duhej t\u00eb mbaje 2-3 kopje t\u00eb programit. Koha e ngarkimit gjithashtu nuk ishte e k\u00ebndshme, entuziast\u00ebt eksperimentonin me kodimin e ndrysh\u00ebm t\u00eb frekuenc\u00ebs p\u00ebr t\u00eb luftuar k\u00ebto t\u00eb meta. Un\u00eb vet\u00eb at\u00eb koh\u00eb nuk merresha me zhvillimin profesional t\u00eb softuerit (p\u00ebrve\u00e7 disa programeve t\u00eb thjeshta n\u00eb BASIC), prandaj, fatkeq\u00ebsisht, nuk mund t\u00eb tregoj n\u00eb detaje se si ishin t\u00eb rregulluara brenda. Fakti q\u00eb kompjuteri kishte kryesisht vet\u00ebm RAM p\u00ebrcaktonte thjesht\u00ebsin\u00eb e skem\u00ebs s\u00eb ruajtjes s\u00eb t\u00eb dh\u00ebnave.<\/p>\n<h2>Shfaqja e mbajt\u00ebsve t\u00eb informacionit t\u00eb besuesh\u00ebm dhe t\u00eb m\u00ebdhenj<\/h2>\n<p>\nM\u00eb von\u00eb u shfaq\u00ebn disketa, procesi i kopjimit u thjeshtua, besueshm\u00ebria u rrit.<br \/>\nPor situata ndryshon radikalisht, vet\u00ebm kur shfaqen hap\u00ebsira t\u00eb mjaftueshme lokale si HDD.<\/p>\n<p>Lloji i dor\u00ebzimit ndryshon thelb\u00ebsisht: shfaqen programet-instaluese, t\u00eb cilat menaxhojn\u00eb procesin e konfigurimit t\u00eb sistemit, si dhe pastrimin pas fshirjes, pasi programet nuk thjesht lexohen n\u00eb memorie, por gjithashtu kopjohen n\u00eb mbajtjen lokale, nga e cila duhet t\u00eb dim\u00eb dhe t\u00eb pastrojm\u00eb t\u00eb panevojshmet kur \u00ebsht\u00eb e nevojshme.<\/p>\n<p>Paralelisht, kompleksiteti i softuerit t\u00eb dor\u00ebzuar rritet.<br \/>\nNumri i skedar\u00ebve n\u00eb dor\u00ebzim rritet nga disa n\u00eb qindra dhe mij\u00ebra, fillojn\u00eb konfliktet e versioneve t\u00eb bibliotekave dhe k\u00ebto g\u00ebzime t\u00eb tjera, kur programe t\u00eb ndryshme p\u00ebrdorin t\u00eb nj\u00ebjtat t\u00eb dh\u00ebna.<\/p>\n<p><img decoding=\"async\" alt=\"Evolucioni i mjeteve t\u00eb shp\u00ebrndarjes, ose refleksione mbi Docker, deb, jar dhe t\u00eb tjera\" src=\"\/wp-content\/uploads\/2019\/03\/48af8fca591a1061df45cd619854a59a.jpg\" style=\"display:block;margin: 0 auto;\" \/> N\u00eb ato koh\u00eb, p\u00ebr mua nuk ishte ende e njohur ekzistenca e Linux-it, un\u00eb jetova n\u00eb bot\u00ebn e MS DOS-it dhe, m\u00eb von\u00eb, Windows-it, dhe shkruaja n\u00eb Borland Pascal dhe Delphi, duke hedhur ndonj\u00ebher\u00eb nj\u00eb sy n\u00eb C++. P\u00ebr shp\u00ebrndarjen e produkteve n\u00eb ato koh\u00eb, shum\u00eb p\u00ebrdornin InstallShield <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/InstallShield\">ru.wikipedia.org\/wiki\/InstallShield<\/a><\/noindex>, e cila zgjidhte me sukses t\u00eb gjitha detyrat e vendosura p\u00ebr shp\u00ebrndarjen dhe konfigurimin e softuerit.<\/p>\n<p><br clear=\"all\"><br \/>\n<br clear=\"all\"><\/p>\n<h2>Epoka e internetit<\/h2>\n<p>\nGradualisht, kompleksiteti i sistemeve t\u00eb softuerit po b\u00ebhet edhe m\u00eb i nd\u00ebrlikuar, duke kaluar nga monolit\u00ebt dhe aplikacionet desktop n\u00eb sisteme t\u00eb shp\u00ebrndara, klien\u00ebt e holl\u00eb dhe mikrosh\u00ebrbimet. Tani duhet t\u00eb konfigurohet jo vet\u00ebm nj\u00eb program, por nj\u00eb grup i tyre, n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb bashk\u00ebpunojn\u00eb t\u00eb gjith\u00eb s\u00eb bashku.<\/p>\n<p>Koncepti u ndryshua plot\u00ebsisht, erdhi Interneti, filloi epoka e sh\u00ebrbimeve n\u00eb re. Ende n\u00eb faz\u00ebn fillestare, n\u00eb form\u00ebn e faqeve, askush nuk \u00ebnd\u00ebrronte shum\u00eb p\u00ebr sh\u00ebrbime, por kjo ishte nj\u00eb moment ky\u00e7 n\u00eb industrin\u00eb e zhvillimit si dhe t\u00eb shp\u00ebrndarjes s\u00eb aplikacioneve.<\/p>\n<p>P\u00ebr veten time kam v\u00ebrejtur se gjat\u00eb k\u00ebsaj periudhe ndodhi nj\u00eb nd\u00ebrrim i brezave t\u00eb zhvilluesve (ose ndoshta vet\u00ebm n\u00eb mjedisin tim), dhe kishte nj\u00eb ndjesi se t\u00eb gjitha metodat e vjetra t\u00eb shp\u00ebrndarjes ishin harruar n\u00eb nj\u00eb moment dhe gjith\u00e7ka filloi nga fillimi: t\u00eb gjith\u00eb shp\u00ebrndarja filloi t\u00eb b\u00ebhej me skripte t\u00eb improvizuara dhe u quajt me krenari \u201cContinuous delivery\u201d. N\u00eb fakt, filloi nj\u00eb periudh\u00eb kaosi, kur e vjetra ishte harruar dhe nuk p\u00ebrdorej, nd\u00ebrsa e reja thjesht nuk kishte.<\/p>\n<p>E mbaj mend at\u00ebher\u00eb kur n\u00eb kompanin\u00eb ton\u00eb, ku punoja (nuk do ta p\u00ebrmend emrin), n\u00eb vend q\u00eb t\u00eb b\u00ebjn\u00eb nd\u00ebrtimin p\u00ebrmes ant (maven at\u00ebher\u00eb nuk ishte populare ose nuk kishte fare), njer\u00ebzit thjesht nd\u00ebrtuan jar n\u00eb IDE dhe pa ndonj\u00eb shqet\u00ebsim e komituan at\u00eb n\u00eb SVN. P\u00ebr rrjedhoj\u00eb, shp\u00ebrndarja p\u00ebrfshinte nxjerrjen e skedarit nga SVN dhe kopjimin e tij p\u00ebrmes SSH n\u00eb makin\u00ebn e duhur. K\u00ebshtu e thjesht\u00eb dhe e par\u00eb.<\/p>\n<p>N\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, shp\u00ebrndarja e faqeve t\u00eb thjeshta n\u00eb PHP b\u00ebhej n\u00eb nj\u00eb m\u00ebnyr\u00eb krejt\u00ebsisht primitive duke kopjuar dosjen e korrigjuar p\u00ebrmes FTP n\u00eb makin\u00ebn e synuar. Ndonj\u00ebher\u00eb nuk kishte as kaq \u2013 kodin e rregullonin drejtp\u00ebrdrejt n\u00eb serverin produktiv, dhe ishte nj\u00eb stil ve\u00e7an\u00ebrisht i njohur n\u00ebse kishte ndonj\u00eb backup diku.<\/p>\n<p><br clear=\"all\"><\/p>\n<h4>RPM- dhe DEB-pakete<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Evolucioni i mjeteve t\u00eb shp\u00ebrndarjes, ose refleksione mbi Docker, deb, jar dhe t\u00eb tjera\" src=\"\/wp-content\/uploads\/2019\/03\/8590e7db6c67cad4b97654465ba5e946.jpg\" style=\"display:block;margin: 0 auto;\" \/>Nga ana tjet\u00ebr, me zhvillimin e internetit, sistemet q\u00eb i ngjajn\u00eb UNIX-it filluan t\u00eb fitojn\u00eb popullaritet gjithnj\u00eb e m\u00eb t\u00eb madh, sidomos n\u00eb at\u00eb koh\u00eb zbulova RedHat Linux 6, rreth vitit 2000. Natyrisht, aty kishin nj\u00eb num\u00ebr mjetesh p\u00ebr shp\u00ebrndarjen e softuerit; sipas Wikipedia-s, RPM si menaxheri kryesor i pakove u shfaq n\u00eb vitin 1995, n\u00eb versionin RedHat Linux 2.0. Q\u00eb at\u00ebher\u00eb deri n\u00eb dit\u00ebt tona, sistemi shp\u00ebrndahet n\u00eb form\u00ebn e pakove RPM dhe eksistenca e tij vazhdon t\u00eb jet\u00eb e suksesshme dhe e zhvilluar.<\/p>\n<p>Distribucionet e familjes Debian ndoq\u00ebn nj\u00eb rrug\u00eb t\u00eb ngjashme dhe realizuan shp\u00ebrndarjen n\u00eb form\u00ebn e pakove deb, e cila gjithashtu mbetet e pandryshuar deri n\u00eb dit\u00ebt tona.<\/p>\n<p>Menaxher\u00ebt e pakove lejojn\u00eb shp\u00ebrndarjen e produkteve softuerike, konfigurimin e tyre gjat\u00eb instalimit, menaxhimin e var\u00ebsive midis paketave t\u00eb ndryshme, si dhe heqjen e produkteve dhe pastrimin e mbeturinave gjat\u00eb deinstalimit. Pra, p\u00ebr pjes\u00ebn m\u00eb t\u00eb madhe, kjo \u00ebsht\u00eb gjith\u00e7ka q\u00eb nevojitet, dhe p\u00ebr k\u00ebt\u00eb arsye, ata jan\u00eb mbajtur p\u00ebr disa dekada praktikisht pa ndryshime.<\/p>\n<p>Ajo q\u00eb quhet \u2018cloud\u2019 ka shtuar n\u00eb menaxher\u00ebt e pakove instalimin jo vet\u00ebm nga mediumet fizike, por edhe nga depozit\u00eb cloud, por ndryshe shum\u00eb pak ka ndryshuar.<\/p>\n<p>\u00cbsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb theksohet se aktualisht ka disa tendenca p\u00ebr t\u00eb shmangur deb dhe p\u00ebr t'u kaluar n\u00eb pako snap, por p\u00ebr k\u00ebt\u00eb m\u00eb von\u00eb.<\/p>\n<p>Pra, kjo gjenerat\u00eb e re e zhvilluesve cloud, e cila nuk kishte njohuri p\u00ebr DEB dhe RPM, gjithashtu po rritej ngadal\u00eb, fitonte p\u00ebrvoj\u00eb, produktet po b\u00ebheshin m\u00eb komplekse, dhe nevojiteshin disa m\u00ebnyra m\u00eb t\u00eb arsyeshme t\u00eb shp\u00ebrndarjes m\u00eb shum\u00eb se FTP, skriptet bash dhe blloqet e ngjashme studentore. <br \/>\nDhe k\u00ebtu hyn n\u00eb sken\u00eb Docker, nj\u00eb p\u00ebrzierje e virtualizimit, ndarjes s\u00eb burimeve dhe m\u00ebnyr\u00ebs s\u00eb shp\u00ebrndarjes. Tani \u00ebsht\u00eb n\u00eb mod\u00eb, i rinj, por a \u00ebsht\u00eb e nevojshme p\u00ebr \u00e7do gj\u00eb? A \u00ebsht\u00eb kjo nj\u00eb panacee?<\/p>\n<p>Sipas v\u00ebzhgimeve t\u00eb mia, shum\u00eb shpesh Docker ofrohet jo si nj\u00eb zgjedhje e arsyeshme, por thjesht sepse p\u00ebr t\u00eb flitet n\u00eb komunitet, dhe ata q\u00eb e ofrojn\u00eb e njohin vet\u00ebm at\u00eb. Nga ana tjet\u00ebr, p\u00ebr sistemet e vjetra t\u00eb paketimit, p\u00ebr shumic\u00ebn e rasteve nuk flitet \u2014 ato ekzistojn\u00eb dhe b\u00ebjn\u00eb pun\u00ebn e tyre qet\u00eb dhe pa u v\u00ebn\u00eb re. N\u00eb nj\u00eb situat\u00eb t\u00eb till\u00eb, nuk ka shum\u00eb zgjedhje \u2014 zgjedhja \u00ebsht\u00eb e dukshme \u2014 Docker.<\/p>\n<p>Do p\u00ebrpiqem t\u00eb ndaj p\u00ebrvoj\u00ebn time se si kaluam n\u00eb p\u00ebrdorimin e Docker dhe \u00e7far\u00eb arrit\u00ebm si rezultat.<\/p>\n<p><br clear=\"all\"><\/p>\n<h4>Skripte t\u00eb shkruara vet\u00eb<\/h4>\n<p>\nFillimisht ishin skriptet bash, q\u00eb shp\u00ebrndanin arkivat jar n\u00eb makinat e nevojshme. Jenkins menaxhonte k\u00ebt\u00eb proces. Kjo funksiononte me sukses, pasi vet\u00eb arkiva jar \u00ebsht\u00eb nj\u00eb nd\u00ebrtim q\u00eb p\u00ebrmban klasat, burimet dhe madje edhe konfigurimin. N\u00ebse e cakton \u00e7do gj\u00eb n\u00eb maksimum \u2014 ta shp\u00ebrndash me skript nuk \u00ebsht\u00eb gj\u00ebja m\u00eb e v\u00ebshtir\u00eb q\u00eb duhet b\u00ebr\u00eb.<\/p>\n<p>Por skriptet kan\u00eb disa disavantazhe:<\/p>\n<ul>\n<li> skriptet zakonisht shkruhen nxitimthi dhe p\u00ebr k\u00ebt\u00eb arsye jan\u00eb aq primitive, sa q\u00eb p\u00ebrmbajn\u00eb vet\u00ebm skenarin m\u00eb t\u00eb favorsh\u00ebm. Kjo ndihmon nga fakti se zhvilluesi \u00ebsht\u00eb i interesuar p\u00ebr dor\u00ebzimin sa m\u00eb shpejt, ndryshe nga nj\u00eb skript normal q\u00eb k\u00ebrkon investim t\u00eb konsideruesh\u00ebm burimesh.<\/li>\n<li> si pasoj\u00eb e pik\u00ebs s\u00eb m\u00ebparshme, skriptet nuk p\u00ebrmbajn\u00eb procedur\u00ebn e deinstalimit.<\/li>\n<li> nuk ka procedur\u00eb t\u00eb vendosur p\u00ebr p\u00ebrmir\u00ebsim.<\/li>\n<li> kur shfaqet nj\u00eb produkt i ri, duhet t\u00eb shkruhet nj\u00eb skript i ri.<\/li>\n<li> nuk ka mb\u00ebshtetje p\u00ebr var\u00ebsit\u00eb.<\/li>\n<\/ul>\n<p>\nSigurisht, mund t\u00eb shkruhet nj\u00eb skript i p\u00ebrparuar, por, si\u00e7 kam shkruar m\u00eb lart \u2014 kjo k\u00ebrkon koh\u00eb p\u00ebr zhvillim, dhe koha, si\u00e7 dihet, gjithmon\u00eb i mungon.<\/p>\n<p>T\u00eb gjitha k\u00ebto kufizojn\u00eb qart\u00eb aplikimin e k\u00ebtij m\u00ebnyre shp\u00ebrndarjeje vet\u00ebm ndaj sistemeve m\u00eb t\u00eb thjeshta. Ka ardhur koha p\u00ebr ta ndryshuar k\u00ebt\u00eb.<\/p>\n<p><br clear=\"all\"><\/p>\n<h4>Docker<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Evolucioni i mjeteve t\u00eb shp\u00ebrndarjes, ose refleksione mbi Docker, deb, jar dhe t\u00eb tjera\" src=\"\/wp-content\/uploads\/2019\/03\/f9c6180a2775513ce88c5425727817d1.jpg\" style=\"display:block;margin: 0 auto;\" \/>N\u00eb nj\u00eb moment, filluam t\u00eb marrim mesatar\u00eb t\u00eb rinj, t\u00eb mbushur me ide dhe t\u00eb pasionuar pas Docker-it. \u00c7far\u00eb t\u00eb b\u00ebjm\u00eb, flamuri n\u00eb duar \u2014 veprojm\u00eb! Pat\u00ebm dy p\u00ebrpjekje. T\u00eb dyja d\u00ebshtuan \u2014 le t\u00eb themi p\u00ebr shkak t\u00eb ambicieve t\u00eb m\u00ebdha, por munges\u00ebs s\u00eb p\u00ebrvoj\u00ebs reale. Duhej t\u00eb ishim t\u00eb nxitur dhe t\u00eb p\u00ebrfundojm\u00eb me \u00e7do m\u00ebnyr\u00eb? Padyshim q\u00eb jo \u2014 ekipi duhet t\u00eb evoluoj\u00eb n\u00eb nivelin e duhur para se t\u00eb jet\u00eb n\u00eb gjendje t\u00eb p\u00ebrdor\u00eb instrumentet p\u00ebrkat\u00ebse. P\u00ebr m\u00eb tep\u00ebr, duke p\u00ebrdorur imazhe t\u00eb gatshme Docker, shpesh hasnim n\u00eb probleme me rrjetin (e cila, ndoshta, lidhej gjithashtu me papjekurin\u00eb e vet\u00eb Docker-it) ose ishte e v\u00ebshtir\u00eb t\u00eb zgjerojm\u00eb kontejner\u00ebt e t\u00eb tjer\u00ebve.<\/p>\n<p>Me \u00e7far\u00eb problemi u p\u00ebrball\u00ebm?<\/p>\n<ul>\n<li> Probleme me rrjetin n\u00eb modalitetin bridge.<\/li>\n<li> E pamundur t\u00eb shikosh log-et n\u00eb kontejner (n\u00ebse ato nuk jan\u00eb nxjerr\u00eb ve\u00e7mas n\u00eb sistemin e skedar\u00ebve t\u00eb makin\u00ebs prit\u00ebse).<\/li>\n<li> Periodikisht ndodhte nj\u00eb ngrirje e \u00e7uditshme e ElasticSearch brenda kontejnerit, por nuk arrit\u00ebm asnj\u00ebher\u00eb ta vendosim shkakun, kontejneri ishte zyrtar.<\/li>\n<li> E v\u00ebshtir\u00eb t\u00eb p\u00ebrdor\u00ebsh shell-in brenda kontejnerit \u2014 \u00e7do gj\u00eb \u00ebsht\u00eb shum\u00eb e kufizuar, nuk ka mjete t\u00eb njohura.<\/li>\n<li> Madh\u00ebsia e madhe e kontejner\u00ebve t\u00eb mbledhur \u2014 e shtrenjt\u00eb p\u00ebr t'u ruajtur<\/li>\n<li> P\u00ebr shkak t\u00eb madh\u00ebsis\u00eb s\u00eb madhe t\u00eb kontejner\u00ebve, \u00ebsht\u00eb e v\u00ebshtir\u00eb t\u00eb mbahen versione t\u00eb shumta<\/li>\n<li> Nj\u00eb nd\u00ebrtim m\u00eb i gjat\u00eb, ndryshe nga metodat e tjera (skriptet ose paketat deb)<\/li>\n<\/ul>\n<p>\nNga ana tjet\u00ebr, \u00e7far\u00eb \u00ebsht\u00eb m\u00eb keq p\u00ebr t\u00eb vendosur nj\u00eb sh\u00ebrbim Spring n\u00eb form\u00ebn e nj\u00eb arkivi jar sesa p\u00ebrmes t\u00eb nj\u00ebjtit deb? A \u00ebsht\u00eb v\u00ebrtet e nevojshme izolimi i burimeve? A ia vlen t\u00eb humbasim mjete t\u00eb dobishme t\u00eb sistemit operativ duke futur nj\u00eb sh\u00ebrbim n\u00eb nj\u00eb kontejner shum\u00eb t\u00eb reduktuar?<\/p>\n<p>Si\u00e7 e ka treguar praktika \u2014 n\u00eb realitet kjo nuk \u00ebsht\u00eb e nevojshme, paketa deb mjafton n\u00eb 90% t\u00eb rasteve.<\/p>\n<p>Kur nuk funksionon mir\u00eb e vjetra deb dhe kur realisht na nevojitet Docker?<\/p>\n<p>P\u00ebr ne kjo ishte vendosja e sh\u00ebrbimeve n\u00eb python. Shum\u00eb biblioteka t\u00eb nevojshme p\u00ebr m\u00ebsimin e makin\u00ebs dhe t\u00eb munguar n\u00eb paketimin standard t\u00eb sistemit operativ (nd\u00ebrsa ato q\u00eb ishin \u2014 nuk ishin ato versionet) dhe hack-et me konfigurimet, k\u00ebrkesa p\u00ebr versione t\u00eb ndryshme p\u00ebr sh\u00ebrbime t\u00eb ndryshme q\u00eb jetonin n\u00eb t\u00eb nj\u00ebjt\u00ebn sistem prit\u00ebs, \u00e7uan n\u00eb p\u00ebrfundimin se m\u00ebnyra m\u00eb e arsyeshme p\u00ebr shp\u00ebrndarjen e k\u00ebsaj p\u00ebrzierjeje b\u00ebrthamore ishte Docker. Puna e nd\u00ebrtimit t\u00eb kontejnerit Docker doli t\u00eb ishte m\u00eb e leht\u00eb se idea e paketimit t\u00eb gjith\u00e7kaje n\u00eb paketa t\u00eb ve\u00e7anta deb me var\u00ebsi, dhe askush n\u00eb mendjen e tij t\u00eb sh\u00ebndosh\u00eb nuk do ta merrte p\u00ebrsip\u00ebr k\u00ebt\u00eb.<\/p>\n<p>Momenti i dyt\u00eb, ku planifikohet p\u00ebrdorimi i Docker-it \u2014 p\u00ebr vendosjen e sh\u00ebrbimeve sipas skem\u00ebs blue-green deploy. Por k\u00ebtu d\u00ebshirojm\u00eb t\u00eb kemi nj\u00eb rritje graduale t\u00eb kompleksitetit: fillimisht grumbullohen paketat deb dhe pastaj nga to nd\u00ebrtohet kontejneri Docker.<\/p>\n<p><br clear=\"all\"><\/p>\n<h4>Paketat Snap<\/h4>\n<p>\n<img decoding=\"async\" alt=\"Evolucioni i mjeteve t\u00eb shp\u00ebrndarjes, ose refleksione mbi Docker, deb, jar dhe t\u00eb tjera\" src=\"\/wp-content\/uploads\/2019\/03\/8c9001b28757f8427c85e54bca5b4e73.jpg\" style=\"display:block;margin: 0 auto;\" \/> T\u00eb kthehemi tek paketat snap. Ato u shfaq\u00ebn p\u00ebr her\u00eb t\u00eb par\u00eb zyrtarisht n\u00eb Ubuntu 16.04. Ndryshe nga paketat standarde deb dhe rpm, snap p\u00ebrmbajn\u00eb t\u00eb gjitha var\u00ebsit\u00eb. Nga nj\u00ebra an\u00eb, kjo shmang konfliktin e bibliotekave, nd\u00ebrsa nga ana tjet\u00ebr \u2014 kjo sjell madh\u00ebsi m\u00eb t\u00eb m\u00ebdha t\u00eb paket\u00ebs p\u00ebrfundimtare. P\u00ebrve\u00e7 k\u00ebsaj, kjo mund t\u00eb ndikoj\u00eb n\u00eb sigurin\u00eb e sistemit: n\u00eb rastin e shp\u00ebrndarjes s\u00eb snap, t\u00eb gjitha ndryshimet n\u00eb bibliotekat p\u00ebrfshira duhet t\u00eb mbahen n\u00ebn mbik\u00ebqyrjen e vet zhvilluesit q\u00eb krijon paket\u00ebn. N\u00eb p\u00ebrgjith\u00ebsi, nuk \u00ebsht\u00eb gjith\u00e7ka kaq e drejtp\u00ebrdrejt\u00eb dhe lumturia e p\u00ebrbashk\u00ebt nga p\u00ebrdorimi i tyre nuk arrin. Por, megjithat\u00eb, kjo \u00ebsht\u00eb nj\u00eb alternativ\u00eb e arsyeshme, n\u00ebse Docker po p\u00ebrdoret vet\u00ebm si nj\u00eb mjet paketimi dhe jo virtualizimi.<\/p>\n<p><br clear=\"all\"><br \/>\nSi p\u00ebrfundim, tani kemi nj\u00eb kombinim t\u00eb arsyesh\u00ebm t\u00eb paketave deb dhe kontejner\u00ebve Docker, t\u00eb cilat, ndoshta, n\u00eb disa raste do t'i z\u00ebvend\u00ebsojm\u00eb me paketat snap.<\/p>\n<p class=\"for_users_only_msg\">Vet\u00ebm p\u00ebrdoruesit e regjistruar mund t\u00eb marrin pjes\u00eb n\u00eb anket\u00eb. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Hyni<\/a><\/noindex>, ju lutem.<\/p>\n<h2 class=\"default-block__polling-title\">\u00c7far\u00eb p\u00ebrdorni ju p\u00ebr shp\u00ebrndarjen?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Skripte t\u00eb shkruara vet\u00eb<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Kopjojm\u00eb manualisht n\u00eb FTP<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    paketat deb<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    paketat rpm<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    paketat snap<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    imazhet Docker<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Imazhet e makinave virtuale<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Klonojm\u00eb t\u00ebr\u00eb HDD-n\u00eb<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    puppet<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    ansible<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Tjet\u00ebr<\/p>\n<\/li>\n<\/ul>\n<p>    Votuan 109 p\u00ebrdorues. U abstenuan 32 p\u00ebrdorues.<\/p>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/srg\/blog\/444102\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0430\u043a-\u0442\u043e \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u043f\u0440\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u0432 \u0432\u0438\u0434\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0434\u043e\u043a\u0435\u0440 \u0438 deb-\u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0447\u0430\u043b, \u043c\u0435\u043d\u044f \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043f\u043e\u043d\u0435\u0441\u043b\u043e \u0432 \u0434\u0430\u043b\u0435\u043a\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432 \u0438 \u0434\u0430\u0436\u0435 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432. \u0412 \u043e\u0431\u0449\u0435\u043c, \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0443\u0445\u0438\u0445 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0439 \u0434\u043e\u043a\u0435\u0440\u0430 \u0438 deb \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u0435 \u0432\u043e\u0442 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u0442\u0435\u043c\u0443 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u0438, \u043a\u043e\u0438 \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u043d\u0430 \u0412\u0430\u0448 \u0441\u0443\u0434. \u041b\u044e\u0431\u043e\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-42175","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0430\u043a-\u0442\u043e \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442.\" \/>\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\/administrirovanie\/evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\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\u042d\u0432\u043e\u043b\u044e\u0446\u0438\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438, \u0438\u043b\u0438 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f \u043e Docker, deb, jar \u0438 \u043f\u0440\u043e\u0447\u0435\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0430\u043a-\u0442\u043e \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem\" \/>\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-03-17T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T10:45:00+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\udd47Evolucioni i mjeteve t\u00eb shp\u00ebrndarjes, ose refleksionet mbi Docker, deb, jar dhe t\u00eb tjera | ProHoster","description":"Nj\u00eb moment t\u00eb caktuar.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem","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\u042d\u0432\u043e\u043b\u044e\u0446\u0438\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438, \u0438\u043b\u0438 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f \u043e Docker, deb, jar \u0438 \u043f\u0440\u043e\u0447\u0435\u043c | ProHoster","og:description":"\u041a\u0430\u043a-\u0442\u043e \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/evolyutsiya-sredstv-postavki-ili-razmyshleniya-o-docker-deb-jar-i-prochem","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-03-17T21:00:00+00:00","article:modified_time":"2020-02-18T10:45:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"42175","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 07:30:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:04:29","updated":"2026-01-22 07:30:19","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\/42175","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=42175"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/42175\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=42175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=42175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=42175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}