REKLAMA

Programista 3/2018 (70) – kwiecień/ maj – Przetwarzanie i analiza danych obserwacji Ziemi w Pythonie – spis treści

Zapraszamy do zamówienia magazynu w >>prenumeracie<<. Miesięcznik jest dostępny w formie papierowej, PDF, EPUB i MOBI oraz AZW3. Do prenumeraty papierowej zawsze dołączamy wydania elektroniczne.

Oprócz możliwości zamówienia czasopisma w prenumeracie, wydanie nr 70 dostępne będzie do 10 czerwca 2018 roku w Empikach.

BIBLIOTEKI I NARZĘDZIA

Przetwarzanie i analiza danych obserwacji Ziemi w Pythonie (>>więcej o tym artykule<<)

Mamy szczęście programować w czasach, w których dostęp do wielkich zbiorów danych jest łatwiejszy niż kiedykolwiek wcześniej. A bardzo duże ilości danych otwierają wiele ścieżek, czy to indywidualnej, naukowej kariery, czy biznesowych możliwości. Wśród różnych zbiorów, dostępnych dla początkujących analityków danych, wyróżniają się dane z sieci społecznościowych, z akcji użytkowników na stronach internetowych albo z systemów Internetu rzeczy, czyli sieci sensorów. Istnieją jednak jeszcze inne źródła informacji, które są godne uwagi. Są ogólnodostępne, darmowe, mają wysoką jakość i na ich podstawie startupy rosną jak grzyby po deszczu. Mowa tutaj o danych z satelitów obserwacji Ziemi.

Szymon Moliński

Moduły w Javie 9 (>>więcej o tym artykule<<)

Java Platform Module System, znany wcześniej jako Project Jigsaw, znacząco wpłynął na organizację maszyny wirtualnej, zaś wdrożenie w bibliotekach i aplikacjach staje się faktem. W tym artykule opisuję, jakie problemy stały przed systemem JPMS i jak je rozwiązano, oddając w nasze ręce kompletny system modularnego środowiska Javy.

Kamil Becmer

JĘZYKI PROGRAMOWANIA

Zarządzanie pamięcią w C++17

Pamięć jest jednym z ważniejszych zasobów każdego programu komputerowego. Reprezentacja danych programu i ich układ w pamięci ma znaczący wpływ na szybkość wykonywania obliczeń.

Tomasz "satirev" Jaskólski

CafeOBJ – maszynowy system dowodzenia

CafeOBJ to specjalny język programowania przeznaczony do tworzenia formalnych i zarazem matematycznych specyfikacji modeli opisujących różnego typu systemy z otaczającego nas świata. Zarówno tego prawdziwego, ale także wirtualnego. A w szczególności za pomocą CafeOBJ możemy opisywać tworzone przez nas programy. O CafeOBJ można też powiedzieć, iż jest to system wspomagający przeprowadzanie dowodów matematycznych dla systemów formalnych. Inaczej mówiąc, możemy przeprowadzić weryfikację, czy badany system spełnia postawione przez nas założenia. Lecz zamiast pracować z kartką i ołówkiem, CafeOBJ przeprowadzi dowód matematyczny za nas.

Marek Sawerwain

BAZY DANYCH

NoSQL na przykładzie Apache Cassandra® i Scylla

Apache Cassandra® to uznana baza danych NoSQL, która jest bardzo popularna wśród firm przechowujących i przetwarzających duże ilości danych (Apple, Netflix), głównie z powodu jej liniowej skalowalności horyzontalnej. Projekt powstał 10 lat temu w firmie Facebook i po pewnym czasie został opublikowany na licencji open-source i przekazany pod kontrolę Apache Foundation®. Decyzje projektowe zaczerpnięte z Amazon Dynamo (model rozproszenia) i Google Big Table (sposób zapisu danych na dysku) są na tyle dobre, że pozwalają skalować klastry Cassandry nawet do kilku tysięcy serwerów.

Piotr Jastrzębski

BEZPIECZEŃSTWO

(Nie) bezpieczeństwa JWT (JSON Web Token)

JWT (JSON Web Token) to mechanizm, który jest często wykorzystywany w kontekście API webowych, ale również szerzej – z powodzeniem używany jest w aplikacjach webowych czy mobilnych. JWT możemy znaleźć w popularnych standardach, jak np. OpenID Connect, spotkamy go również czasem, korzystając z OAuth2. Znajduje on zastosowanie zarówno w dużych firmach, jak i mniejszych organizacjach. Dostępnych jest wiele bibliotek obsługujących JWT, a sam standard posiada „bogate wsparcie dla mechanizmów kryptograficznych”. Czy to wszystko oznacza, że JWT jest mechanizmem z natury bezpiecznym? Na tą wątpliwość postaram się odpowiedzieć w dalszej części tekstu.

Michał Sajdak

TESTOWANIE I ZARZĄDZANIE JAKOŚCIĄ

Testować bezpieczeństwo – co to znaczy? (>>więcej o tym artykule<<)

Każdy pracujący w świecie IT zetknął się z terminem testowania bezpieczeństwa. Ale tak naprawdę co to znaczy przeprowadzić testy bezpieczeństwa? Czy jest to tym samym co testy oprogramowania albo testy penetracyjne? Jeśli nie, czym zatem się te czynności różnią? W końcu kto powinien takie testy przeprowadzać? Spróbujmy odpowiedzieć na te pytania i przybliżyć pułapki, w które możemy wpaść, jeśli nie będziemy dokładnie rozróżniać wspomnianych zagadnień.

Marcin Święty

KLUB LIDERA IT 

Współczesne architektury aplikacji biznesowych. Warstwy i Domain-Driven Design

Ten cykl artykułów ma na celu dokonać przeglądu różnych trendów architektonicznych, które pojawiły się w ciągu ostatnich kilku lat, po to aby je uporządkować, zestawić ze sobą, wskazać główne powody zastosowania, jednocześnie układając je w ewolucyjną ścieżkę, którą może podążać system na tle zmian architektonicznych. Przyjrzymy się klasycznej architekturze warstwowej, Domain-Driven Design, Port and Adapters, microservices, architekturze reaktywnej i serverless.

Mariusz Sieraczkiewicz

LABORATORIUM TEINA

UX dark patterns ciąg dalszy, czyli jak z głową zarezerwować hotel

Twórcy serwisów nieustannie poprawiają customer experience, czyli ścieżkę swojego potencjalnego klienta. Dzięki usprawnieniom sprzedaż wzrasta, gdyż coraz więcej osób nie tylko przegląda ofertę, ale ją finalizuje udaną płatnością. Organizacja wymarzonych wakacji to nie jest prosty temat, w związku z tym presja – by strona działała jak najlepiej, a cały proces był prosty – jest olbrzymia. Nie tylko zresztą presja, potencjalne zyski są też spore i warto o nie zawalczyć. Dlatego tak wiele różnego rodzaju ciekawostek UX-owych można znaleźć na stronach związanych z podróżowaniem, a konkretnie z rezerwacją hoteli i pensjonatów.

Katarzyna Małecka

LABORATORIUM BOTTEGA

Ciemne strony Java 8

Java 8 była jedną z najcieplej przyjętych wersji tego języka wydanych w ciągu ostatnich kilkunastu lat, jednakże nie była pozbawiona wad, miejsc, w których z łatwością dało się poprawić funkcjonalność, czy najzwyklejszych w świecie wpadek.

Grzegorz Piwowarek

PLANETA IT

To nie jest zawód dla starych ludzi

Wyobraź sobie, że mając 64 lata, ciągle pracujesz w korporacji, a do upragnionej emerytury został Ci już tylko rok. Managerowie ciągle wymyślają nowe metody produkcji oprogramowania, spotkania wloką się tak długo, że twój pęcherz już tego nie wytrzymuje. Dodatkowo musisz każdego dnia uczyć się nowych narzędzi, procedur i procesów. Odliczasz dni, by wreszcie udać się na zasłużony odpoczynek. Czy tak wyobrażasz sobie swoją przyszłość? Zapewne nie. I nie jesteś w tym osamotniony.

Radek Smilgin

Tata programistą

Jak znaleźć czas na kodowanie, będąc młodym rodzicem

Czy podjęlibyście się wyzwania w postaci projektu, który trwa co najmniej kilkanaście lat? Praca nad nad nim będzie trwać 24 godziny na dobę, 7 dni w tygodniu. Nie ma możliwości zmiany tego projektu na inny. Stawka godzinowa wynosi 0 zł na godzinę. Jedynym wynagrodzeniem jest radość życia. Jeżeli warunki Was zachęcają, to tak właśnie rozpoczęliście projekt pod nazwą „rodzic”. Gratulacje! Co dalej? Jak pogodzić ten najważniejszy projekt w naszym życiu z całą resztą naszych zainteresowań, w tym z programowaniem?

Michał Lewandowski