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.
Magazyn programistów i liderów zespołów IT
BIBLIOT?EKI I NARZĘDZIA
MySQL Shell plugin dla Visual Studio Code
Pracujesz jako programista backend lub baz danych? Korzystasz na co dzień z baz danych MySQL? Uważasz za niewygodne i nieefektywne ciągłe przełączanie się pomiędzy edytorem kodu a narzędziem do edycji bazy danych? Poznaj plugin MySQL Shell dla VS Code, który rozwiązuje ten problem, umożliwiając wygodną pracę z pełnym wsparciem dla uzupełniania składni SQL w jednym zintegrowanym środowisku.
Miłosz Bodzek
Jak AutoML zmienia sposób postrzegania uczenia maszynowego?
Uczenie maszynowe to obszar sztucznej inteligencji dotyczący algorytmów dopasowujących swoje wewnętrzne parametry do danych. Duży w tym udział ma czysta matematyka, dzięki której powstają modele, które po procedurze trenowania osiągają wcześniej określony cel. Aby skutecznie korzystać z dobrodziejstw metod uczenia maszynowego, należy nie tylko być obeznanym z królową nauk, która kryje się u podstaw, ale także z programowaniem i algorytmiką. Od pewnego czasu w salony wkraczają narzędzia z rodziny AutoML, które umożliwiają stosowanie uczenia maszynowego w sposób automatyczny, także dla osób niezwiązanych z rozwojem sztucznej inteligencji. W tym artykule weźmiemy pod lupę dostępne rozwiązania AutoML i przyjrzymy się, jak z nich sprawnie korzystać
Tomasz Krzywicki
JĘZYKI PROGRAMOWANIA
Wywoływanie kodu natywnego w Ruby
Ruby to wysokopoziomowy język programowania, który znany jest przede wszystkim z tego, iż pozwala na tworzenie eleganckiego i zwięzłego kodu. Niemniej jednak nie jest on powszechnie uznawany za język o wysokiej wydajności. Dlatego też czasem może zaistnieć potrzeba przeniesienia części obliczeń do kodu natywnego, aby zwiększyć szybkość działania programu. W tym artykule opiszę kilka sposobów, które umożliwią osiągnięcie tego celu.
Paweł "Krzaq" Zakrzewski
PROGRAMOWANIE ROZWIĄZAŃ SERWEROWYCH
Gdzie te dane? O zachowaniu spójności z Transactional Outbox Pattern
Czy tworzyliście system korzystający z komunikacji sieciowej i sprawdzaliście, jak zachowuje się podczas awarii? Może z niejasnych powodów w którymś serwisie brakowało danych związanych z waszym systemem? Takie problemy często wynikają z nieprzemyślanego podejścia do zachowania spójności w systemach rozproszonych. W artykule omówię jeden ze sposobów, jak zabezpieczyć się przed tym problemem.
Tomasz Kowalski
PRZETWARZANIE RÓWNOLEGŁE I ROZPROSZONE
GPU Audio – od teorii do praktyki
Procesory GPU (Graphics Processing Unit) są szeroko wykorzystywane w przetwarzaniu i generowaniu obrazów trójwymiarowych. Ich zalety mogą zostać także wykorzystane w dziedzinie audio, ale czy zawsze procesor GPU okaże się lepszym rozwiązaniem niż tradycyjnie wykorzystywany procesor DSP?
Wit Zieliński, Tomasz Twardowski, Marta Twardowska, Łukasz Pollak
ALGORYTMIKA
Krzywe Béziera
Czas porozmawiać o genialnym w swojej prostocie matematycznym konstrukcie, obecnym bodaj w każdym obszarze informatyki związanym w jakikolwiek sposób z grafiką komputerową.
Wojciech Sura
INŻYNIERIA OPROGRAMOWANIA
Historia jednego refaktora
Refaktoryzacja jest jedną z umiejętności, bez których dobry programista po prostu nie może się obyć. Przekształcenie źle napisanego kodu na taki, który jest czytelny, modularny i łatwy w rozwoju, niesie ze sobą praktycznie same zalety. Refaktoryzacji najłatwiej jest jednak uczyć się na przykładzie, więc przyjrzymy się dziś, w jaki sposób został zrefaktoryzowany fragment mojego starego projektu.
Wojciech Sura
Z ARCHIWUM CVE
Deserializacja w PHP
Na niektóre błędy bezpieczeństwa natrafimy we frameworkach dostarczonych do danego języka. Innym razem podatności można znaleźć w samej aplikacji. Zdarza się również, iż błąd znajduje się w implementacji interpretera języka. Dziś przyjrzymy się właśnie takiemu przypadkowi.
Mariusz Zaborski