Koda, ki je »uničila« internet

Avtor: Uredništvo, Objavljeno: 19. 04. 2024 05:04:00, Kategorija: Računalništvo

Pred osmimi leti se je, čeprav tega najverjetneje niste občutili, odvijala prava internetna drama…

Koda, ki je »uničila« internet
Teh enajst vrstic programske kode, ki jih vidite na naslovni sliki, je leta 2016 povzročilo veliko težav skrbnikom cele vrste spletnih strani oziroma storitev, tudi Facebooku, Netflixu, Spotifyju in še komu. In kako lahko nekaj tako »trivialnega« sesuje tako komplekse spletne strani?

Programerji so po svoji naravi malce leni oziroma bolje rečeno iznajdljivi, praktični in pragmatični. S svojo kodo pogosto hočejo kaj doseči, a nimajo časa, da bi to tudi sprogramirali. Zato gredo v posebno podatkovno bazo in v njej pogledajo ali je kaj takšnega naredil že kdo drug. Ker gre za odprtokodne projekte, je te mogoče uporabiti brez posebnih težav z avtorskimi pravicami. Programer to kodo vzame, jo uporabi v svojem projektu, ki je lahko končni izdelek ali pa spet nek nov modul, ki ga lahko uporabi nekdo drug. Nekako podobno kot če bi vzeli kocke Lego, naredili iz njih zid, nato bi vse skupaj vzel nekdo in dodal svoje zidove, nato bi tretji v skladu s svojim projektom na te zidove postavil streho, nekdo drugi pa bi, spet v skladu s svojim projektom, te zidove uporabil recimo kot pritličje večje hiške… Skratka gre za gradnike, ki se lahko uporabljajo na najrazličnejše načine.

Na tak način je, kot lahko slišite in vidite tudi v spodnjem videu, zgrajen več ali manj ves internet. Ker je teh blokov kode, modulov, paketov ali kakorkoli jih že imenujemo, veliko, obstaja poseben »organ« za njihovo upravljanje, imenovan NPM (Node Package Manager). Zdaj pa k težavi, o kateri pišemo.

Turški programer Azer Koçulu je napisal enega takšnih modulov in ga poimenoval kik. Kaj je ta modul počel, pravzaprav ni bistveno. V istem času je obstalo tudi kanadsko podjetje Kik, ki je razvijalo svoj program za neposredno sporočanje in je želelo izdati svoj modul in ga prav tako poimenovati kik. Kaj je njihov modul počel, je tudi nepomembno, pomembno je, da imena niso mogli uporabiti, ker ga je že uporabil Azer. Prosili so ga, če bi ime zamenjal, a ker je šlo za večmilijonsko korporacijo na eni in programerjem, ki prisega na odprto kodo na drugi strani, pogovori niso potekali po načrtih. In ker imena ni hotel spremeniti prostovoljno, so se nadenj spravili z odvetniki in tožbami in uspeli. Azer je bil seveda jezen in je, namesto da bi spremenil ime, 23. marca 2016 iz podatkovne baze odstranil oziroma odjavil  več kot 270 svojih modulov, ki jih je do takrat napisal in dal v uporabo.

Med temi moduli je bil tudi eden, ki se je imenoval Leftpad, napisal pa ga je kar nekaj let pred tem. Modul oziroma paket v osnovi ni bil nič posebnega, saj je vseboval le 11 vrstic kode, katere naloga je bila le, da pred neko besedilo doda - presledek. Vse skupaj se zdi trivialno, a izkazalo se je, da je ta presledek, bolje rečeno Leftpad, še kako pomemben. Tisti trenutek, ko ga je Koçulu »odjavil« iz baze, so se po vsem svetu pričele pojavljati težave v delovanju spletnih strani, vključno z velikimi, kot so Facebook, Netflix, Spotify in še katerih. Izkazalo se je, da Leftpad na tak ali drugačen način v svoji kodi uporablja ogromno spletnih strani in ker gre za eno od »osnovnih Lego kock«, je odstranitev povzročila sesutje vsega, kar se je gradilo nad njimi. Nekako podobno kot če bi odstranili eno od nosilnih kock v stolpu Jenga.

Uporabniki kot taki tega zaradi predpomnjenja (cache) tega sicer nis(m)o kaj dosti občutili, skrbniki sistemov pa so bili v precejšnjih težavah in so od programerjev seveda zahtevali rešitev. Težava je bila k sreči hitro identificirana in NPM je naredil to, kar ni do takrat še nikoli – modul Leftpad je kar sam vrnil nazaj v bazo. S tem so spletne strani spet pričele normalno delovati, Koçulu, Kik in NPM pa so se, vsak na svoj način oziroma na svoji spletni strani, opravičili za nevšečnosti.


Vir: Half as Interesting/YouTube

preberite še to

Računalništvo
YouTubove »ročice«

YouTubove »ročice«

Vaš kanal na Youtubu je pred časom dobil nov, skrajšani naslov…

Računalništvo
Preprost uvoz tabel

Preprost uvoz tabel

Uvoz tabel iz spletnih strani v Excel je včasih prava nočna mora. Res?

Računalništvo
Hitro odpiranje programov

Hitro odpiranje programov

Programe je mogoče hitro zagnati tudi s tipkovnico

Računalništvo
Naključno besedilo

Naključno besedilo

Trik, ki ga boste v Wordu uporabili redko, a boste takrat zelo zadovoljni, da obstaja

Računalništvo
Samsung je predstavil novo linijo monitorjev 2024 Odyssey OLED, Smart Monitor in ViewFinity

Samsung je predstavil novo linijo monitorjev 2024 Odyssey OLED, Smart Monitor in ViewFinity

Promocijska vsebina
Samsung je predstavil novo linijo monitorjev 2024 Odyssey OLED, Smart Monitor in ViewFinity

Računalništvo
Hitro gor in hitro dol

Hitro gor in hitro dol

Kako v Wordu najlažje »premetavati« vsebino tabele.

Računalništvo
Wordove in Writerjeve črte

Wordove in Writerjeve črte

V MS Wordu in LibreOffice Writerju je nekatere črte mogoče »narisati brez risanja«…

Računalništvo
Skriti meni v Wordu

Skriti meni v Wordu

V Wordu obstaja razdelek za raziskovalce, v katerem je mogoče najti koristne stvari.

Računalništvo
Kako skrčiti besedilo

Kako skrčiti besedilo

Trik, ki ga boste pri urejanju besedil verjetno pogosto uporabili

Računalništvo
Fotoaparat v Excelu

Fotoaparat v Excelu

Excel omogoča tudi kopiranje in lepljenje preglednic v obliki dinamičnih slik. Kako? S Fotoaparatom...

Računalništvo
Zakaj tabulatorji?

Zakaj tabulatorji?

Word ima izredno uporabno funkcionalnost, ki je mogoče ne poznate.

Računalništvo
Winamp bo postal odprtokoden

Winamp bo postal odprtokoden

Lastniki bodo izvorno kodo dali na voljo javnosti, iščejo pa tudi soustvarjalce.