Programista 3/2020 (90)
Programista 3/2020 (90)
Szacuje się, że ludzkość generuje kwintyliony bajtów (1030) danych dziennie [3]. Gdyby nie techniki kompresji danych, liczby te byłyby co najmniej kilkukrotnie większe. Kompresja danych jest obecnie tak powszechna, że trudno znaleźć miejsce, gdzie nie jest wykorzystywana. Kompresja wiąże się z pewnymi kosztami, jednak korzyści z niej płynące często przewyższają niedogodności.
W jaki sposób zdobywamy umiejętności w cyfrowym świecie? Do tej pory w odpowiedzi na tak postawione pytanie wspominaliśmy głównie o sieciowych kursach i platformach e-learningowych. Jeśli chodzi o samo ich używanie, mogliśmy mówić tylko o tych, na które pozwoliły nam dostępne interfejsy. Gdy jednak zdjąć bariery postawione przez myszy, klawiatury, rysiki i touchpady, otwiera się przed nami szerokie spektrum możliwości.
Jedną z funkcjonalności, którą powinien zapewnić każdy framework zgodny z MVVM, jest wiązanie danych (ang. data binding). Stwierdzenie jednak, że WPF ma taki mechanizm, jest dużym niedopowiedzeniem: według mnie bowiem praktycznie wyznacza on innym standardy w tym zakresie.
.NET Framework jest już z nami od ponad 18 lat (uzyskał pełnoletność). Jednakże przez ten czas wiele się zmieniło. Microsoft stał się wieloplatformowy, a świat programowania rozszerzył się o wiele urządzeń, na które możemy tworzyć oprogramowanie. Wymagało to radykalnych zmian, czego efektem jest nowy .NET Core 3 i powolne wygaszanie .NET Frameworka.
W dzisiejszych czasach programiści mają bardzo duży wachlarz możliwości wyboru technologii, w których mogą wytwarzać oprogramowanie. Świat dąży do tego, aby pisanie nowych rzeczy było dużo prostsze niż kiedyś, co w efekcie pozwoliło na powstanie nowych trendów, wzorców projektowych czy użytecznych bibliotek. Jednak mimo to często zdarza się, że dotarcie do etapu wykorzystywania prostoty owych narzędzi to droga przez mękę, spowodowana niezliczoną ilością godzin poświęconą na ich konfigurację i kompilację. Ten artykuł przybliży nieco świat systemów budowania, utrzymywania własnych zmian w zależnościach w systemach z rodziny BSD/Linux z perspektywy osób, które na różne sposoby zmagają się z problemami zarządzania budowaniem, modyfikacją i instalacją zależności.
Artykuł ten jest wprowadzeniem w świat technologii protocol buffers oraz gRPC, które współgrają ze sobą, tworząc nowy standard branżowy. Protokół HTTP 1.1 oraz format JSON, używane od lat, obecnie mają alternatywę godną uwagi – gRPC i protocol buffers. Protocol buffers jest binarnym formatem danych, natomiast gRPC pozwala na zdalne wywołania metod. Omawiane technologie są wydajne, nieskomplikowane, zostały zaadoptowane przez liderów branży i znajdują zastosowanie w wielu dziedzinach.
Komputery kwantowe spowodują, że większość szyfrów, jakimi obecnie dysponujemy, przestanie być bezpieczna, bądź będzie wymagała znaczących usprawnień. O tej tzw. kryptokalipsie oraz przede wszystkim o nowych algorytmach, które już są wdrażane, dowiemy się, czytając poniższy artykuł.
Z perspektywy współczesnych 64-bitowych, wielordzeniowych mikroprocesorów nawet konstrukcje 16-bitowe wydają się archaiczne. Komputery 8-bitowe lat 70-tych i 80-tych XX wieku wyglądają jak zabawki, mające tylko wartość sentymentalną. Przy nich Intel 4004, konstrukcja 4-bitowa, prezentuje się już tylko groteskowo i prymitywnie. Jednak przy przetwarzaniu liczb dziesiętnych podstawową porcją danych jest pojedyncza cyfra, a ta daje się doskonale zapisać właśnie na 4 bitach.
16 lutego 2020 roku w wieku 74 lat odszedł Lawrence Tesler. Był niewątpliwie jednym z pionierów informatyki, którą tak jak i my bardzo kochał. Za sprawą funkcji, którą każdy z nas tak ceni i używa na co dzień, będzie z nami aż po kres wirtualnego świata. Wielu z nas ma nadzieję, by zostawić coś po sobie – program, funkcję, stronę czy jakiś drobny wpis na blogu i tym samym zapisać swoje nazwisko na stałe w wirtualnej bibliotece sław IT. W bibliotece, w której to Larry już zawsze będzie…