Windows 11 - skrivene mogućnosti

Srijeda, 04 Listopad 2023 14:25
Nekoliko skrivenih mogućnosti kao pomoć programerima Započnimo današnji tekst s jednom, na prvi pogled, vrlo kontroverznom tvrdnjom – „korisnici računala slabo poznaju operativne sustave svojih računala“.

Data Warehouse vs Data Lakehouse

Srijeda, 04 Listopad 2023 13:42
Usporedba različitih arhitektura za spremanje podataka Ako bar ponekad pratite ili koristite dio IT tehnologije povezan s podacima, odnosno njihovim skladištenjem i korištenjem, onda ste se sigurno već susreli s pojmom „Data Warehouse“ (skladište podataka). Budući da „klasično“ skladište podataka nije pogodno za skladištenje svih podataka koji se pojavljuju u modernoj praksi, zadnjih godina sve intenzivnije se koriste još dvije dodatne arhitekture. To su Data Lake i Data Lakehouse. Dok se za prvi pojam već prilično udomaćio domaći prijevod „podatkovno jezero“, za drugi pojam (zbog njegove novosti) tek treba smisliti pravi prijevod. Zbog jednostavnosti u pisanju, u nastavku teksta najčešće ćemo koristiti sljedeća tri skraćena naziva: warehouse, lake i lakehouse.   Kratki uvod U današnje vrijeme vjerojatno je potpuno nepotrebno objašnjavati kako smo i na privatnom i na poslovnom planu podvrgnuti pravom „bombardiranju podacima“ iz različitih izvora. Ako se u nastavku izlaganja usredotočimo na poslovni sektor, neki od izvora podataka s relevantnim podacima (formalnim ili neformalnim) o tvrtki i njezinom poslovanju su: Interni IT sustav Dokumenti u različitim formatima koji se ne čuvaju izravno u IT sustavu (npr. Word, Excel ili PDF dokumenti i slično) E-mail i ostali oblici komunikacije s partnerima i kupcima (npr. Teams, Zoom, Skype i slično) Podaci dostupni na različitim web servisima (banke, državna uprava, druge tvrtke i slično) Društvene mreže Različite vrste medija, uključujući video servise Različiti IoT (Internet of Things) podaci, itd. Spremanje svih nabrojenih vrsta podataka u jedinstveno skladište podataka, te mogućnost naknadnog pristupa svim relevantnim podacima postaje jedan od najvećih izazova u modernom poslovanju. Pri tome uvijek treba uzeti u obzir i cijenu implementacije te naknadnog korištenja takvog skladišta. Zato nije previše čudno da je došlo do pojave različitih arhitektura skladišta podataka, kako bi se što bolje zadovoljili svi postavljeni zahtjevi.   1. Data Warehouse Kod ovakve najstarije i najpoznatije arhitekture za čuvanje podataka, skladište podataka se u pravilu temelji na relacijskom modelu. Izvori podataka za warehouse mogu biti u različitom obliku, ali se prije spremanja u warehouse oni moraju pripremiti tako da budu pogodni za čuvanje u relacijskom (drugim riječima, dobro strukturiranom) obliku. Za to se najčešće koriste različite vrste ELT (Extract, Load, Transform) ili ETL (Extract, Transform, Load) procesa. Nakon spremanja podataka u warehouse, svi podaci su brzo i jednostavno dostupni za pretraživanje i korištenje. Za to se mogu koristiti različite vrste BI (Business Intelligence) alata, ali se podacima može pristupati i izravno pomoću dobro poznatog jezika upita SQL, ili uz pomoć različitih dodatnih aplikacija koje prepoznaju warehouse kao oblik skladištenja podataka. Nabrojeno ujedno predstavlja glavnu prednost spremanja podataka u warehouse. Najveći nedostatak navedenog pristupa je nefleksibilnost u korištenju polustrukturiranih ili nestrukturiranih podataka. Neke od ranije nabrojenih vrsta podataka je u modernom poslovnom okruženju prilično teško, ili čak nemoguće uklopiti u warehouse. Ili je to moguće napraviti tek nakon manjeg ili većeg broja promjena u postojećoj strukturi skladišta. Ako dio izvornih podataka zbog svoje nestrukturiranosti nije moguće uključiti u warehouse, onda to za posljedicu ima smanjenje kvalitete i pouzdanosti različitih analiza koje se naknadno provode nad podacima. Uključujući i korištenje sve popularnijih AI tehnika analize i razumijevanja podataka. Drugi, prilično veliki nedostatak warehouse arhitekture u odnosu na druge dvije arhitekture, o kojima će više riječi biti nešto kasnije, jest veća cijena korištenja. Proširivanje warehouse skladišta (kako bi se u njega mogli smjestiti novi podaci) u pravilu zahtijeva ulaganje najviše financijskih sredstava od sve tri nabrojene tehnologije. Posebice ako osim samog fizičkog proširivanja skladišta treba napraviti i promjene u strukturi, i/ili pripremiti nove ETL/ELT procese za učitavanje podataka.    Data Warehouse: Prije spremanja podataka u skladište izvodi se priprema podataka pomoću različitih ETL/ELT operacija   2. Data Lake Kako bi se svi postojeći podaci, a ne samo strukturirani, mogli čuvati na jednom mjestu zbog naknadnog korištenja (ako i kada se za tim ukaže potreba), razvijeno je takozvano „podatkovno jezero“ ili Data Lake. Kod ovakvog načina skladištenja podataka, svi podaci se čuvaju u svojem izvornom obliku. To znači da se u lake arhitekturi mogu zajedno čuvati i strukturirani (najčešće relacijski) podaci, ali i različite vrste polustrukturiranih ili nestrukturiranih podataka. Podaci se obuhvaćaju i spremaju u lake bez potrebe za prethodnim korištenjem ETL/ELT procedura, kao što je to slučaj kod warehousea. ETL/ELT procedure se pripremaju i koriste samo kad su određeni podaci već…

PureBasic 6.00 - BASIC za 21. stoljeće

Srijeda, 04 Listopad 2023 12:44
Razvoj aplikacija za različite operativne sustave Ako ste nekim slučajem pročitali tekst istog autora iz prošlog broja časopisa, onda ste imali priliku upoznati se s načinom korištenja poznatog Microsoftovog razvojnog alata za Windows platformu (Visual Studio) za pisanje programa za Linux platformu. Platformu koju zbog svoje raširenosti više ne može ignorirati ni jedan ozbiljniji proizvođač razvojnih alata. Razvoj Linux aplikacija pomoću Visual Studija ipak zahtijeva određenu razinu predznanja oko konfiguriranja razvojne okoline te samog pisanja koda. Drugim riječima, nije riječ o nečem baš idealnom za potpunog početnika. Postoji li nekakva jednostavnija alternativa za razvoj „prirodnih aplikacija“ za najpopularnije operativne sustave? Kad spominjemo prirodne aplikacije, onda tu mislimo na aplikacije koje se mogu potpuno samostalno pokrenuti u odgovarajućem operativnom sustavu bez potrebe za korištenjem nekakve posebne „infrastrukture“. To znači da u ovom slučaju nećemo uzeti u obzir različita skriptno orijentirana razvojna rješenja kao što su PHP, Go, različite JavaScript tehnologije i slično. Iako nije jedino rješenje takve vrste, razvojni alat PureBasic (kojim ćemo se detaljnije pozabaviti u današnjem tekstu) sigurno predstavlja jedno od najjednostavnijih. Pogotovo za programere početnike. Budući da je u pozadini programski jezik BASIC (eto, nikako da izumre unatoč brojnim predviđanjima), ovo je ujedno dodatni razlog zbog kojeg pomoću PureBasica čak i potpuni početnici mogu vrlo brzo početi izrađivati različite vrste aplikacija.   1. Verzije, ograničenja i instalacija PureBasic se može slobodno preuzeti s web adrese https://www.purebasic.com i instalirati na različite operativne sustave: Windows, Linux (Debian, Ubuntu), Mac OS, Raspberry Pi OS i AmigaOS. Da, dobro ste pročitali - PureBasic vam omogućuje da sa svojih starih Amigi obrišete prašinu i ponovo počnete pisati nove programe za njih (ako nekome to zbilja treba). Na svim nabrojanim sustavima, opremljenima s odgovarajućim (dodatnim) grafičkim sučeljima (tu se prije svega misli na Linux), nisu potrebni nikakvi posebni preduvjeti. Osim - kao što je uobičajeno - za Mac OS. Tu prvo treba instalirati Xcode (srećom, također je riječ o besplatnom alatu). To je jednostavno tako zamišljeno od strane Applea - ograničenje koje proizvođači PureBasica (Fantaisie Software) nisu mogli zaobići. Instalacija PureBasica je vrlo jednostavna. Nakon preuzimanja odgovarajuće verzije za ciljani operativni sustav, potrebno je pokrenuti program za instalaciju i to je kraj priče. Nakon toga se može pokrenuti razvojna okolina i započeti s programiranjem, to jest, pisanjem vlastitih aplikacija. Ako se osjećate ugodnije kod pisanja programskog koda u nekom drugom editoru ili razvojnoj okolini, nema nikakvog problema da ju koristite tijekom razvoja. Po potrebi, pomoću PureBasic prevoditelja samo prevedete napisani kod u izvršni oblik. Zajedno s razvojnom okolinom, dobiva se i čitav niz primjera koji demonstriraju različite aspekte korištenja programskog jezika. Od najobičnijeg rukovanja stringovima ili korištenja matematičkih funkcija, preko upravljanja datotečnim sustavom, do 2D ili 3D grafike. Da, i to je izravno dostupno u PureBasicu. Ako se s novim programskim jezikom više volite upoznavati čitanjem uputa nego isprobavanjem različitih primjera, ni tu nećete biti zakinuti. Za PureBasic su dostupne upute u PDF formatu na tričavih „1.725“ stranica. Toliki broj stranica može djelovati jednostavno zastrašujuće za programera početnika, ali je stvar u tome da ne trebate čitati baš sve redom da biste mogli vrlo djelotvorno koristiti programski jezik. Na primjer, ako želite pisati programe koji barataju datotečnim sustavom, onda detaljnije proučite početno poglavlje koje se bavi razvojem upravo takvih aplikacija. A nakon toga u popisu funkcija dodatno proučite samo funkcije povezane s tim istim dijelom. Na sličan način možete postupiti ako namjeravate izrađivati vlastito korisničko sučelje za unos podataka, pristup bazi podataka, ili razvijati 2D, odnosno 3D grafiku. Tako opsežne upute pokazuju da PureBasic u sebi zaista obuhvaća mnogo toga, pa je kao takav prikladan za razvoj vrlo širokog spektra aplikacija. Drugim riječima, ne radi se o nekakvom jednostavnom „alatiću“ koji bi samo trebao pokazati da se pomoću njega mogu pisati jednostavnije aplikacije za različite operativne sustave, nego se pomoću PureBasica mogu pripremati zbilja vrlo složeni projekti. Spomenimo na ovom mjestu (čisto da nam ne promakne) kako je u PureBasic ugrađena podrška za 2D grafiku koja se temelji na DirectX i OpenGL tehnologiji, te podrška za 3D grafiku povezanu s korištenjem popularnog OGRE sustava (https://www.ogre3d.org/). U pogledu korištenja baza podataka izravno u programskom jeziku, podržano je nekoliko najpopularnijih sustava za upravljanjem bazama podataka: SQLite, PostgreSQL, MySQL i DBMaria. Uz pomoć odgovarajuće konfiguriranog ODBC upravljačkog programa…

Zabava s API-em

Srijeda, 04 Listopad 2023 12:05
Web rješenja za zanimljivije ljeto Ako kao prosječni programer bar povremeno pratite seriju “Teorija velikog praska” (u originalu “The Bing Bang Theory”), onda ste vjerojatno imali prilike naletjeti i na Sheldonov serijal koji je u samoj seriji emitiran preko Youtube kanala.

Codon - brzo izvođenje koda u Pythonu

Srijeda, 04 Listopad 2023 10:19
Ubrzanje i preko 100 puta Započnimo današnji tekst s nekoliko općepoznatih tvrdnji o programskom jeziku Python.

Opreza nikad dovoljno

Utorak, 03 Listopad 2023 13:55
Pozdrav redakciji Vidija, Možete li mi objasniti čemu služe brojevi poput ovih, pored fajla za skidanje?

Fake News i sigurnost privatnih podataka

Utorak, 03 Listopad 2023 13:39
Pozdrav redakciji Vidija! Imam jednu dilemu i jednu nepoznanicu. Zanima me kako se umjetna inteligencija koristi za borbu protiv lažnih vijesti na internetu?

Popravljanje grešaka AI-em

Utorak, 03 Listopad 2023 13:21
Pozdrav doktore, Mnogi ljudi govore o korištenju ChatGPT-a za programiranje i ispravljanje grešaka u kodu. No meni to baš i ne ide za rukom.

Excel

Utorak, 03 Listopad 2023 12:41
Pozdrav Doktore, Pozdrav redakciji časopisa Vidi, Možete li mi pomoći sa podatcima u Excel tablici podataka? 

Python interpreter

Utorak, 03 Listopad 2023 12:30
Pozdrav doktore, Dešava mi se da mi IDLE, Python razvojno sučelje, javi grešku za neku vrlo jednostavnu naredbu za koju sam siguran da bi trebala raditi.
Stranica 1 od 13

// možda će vas zanimati

Newsletter prijava


Kako izgleda naš posljednji newsletter pogledajte na ovom linku.

Skeniraj QR Code mobitelom i ponesi ovu stranicu sa sobom

How To - VidiLAB - QR Code Friendly


Copyright © by: VIDI-TO d.o.o. Sva prava pridržana.