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.
Do wydania nr 57 dołączyliśmy też specjalny dodatek "Pracuj w IT 2017". Prenumeratorzy mogą go pobrać z Panelu Prenumeratora. Jest on też dołączony do wydań, które są dostępne w Empikach (od 1 kwietnia).
BIBLIOTEKI I NARZĘDZIA
GANN w natarciu, czyli genetycznie programowane sieci neuronowe (>>więcej o tym artykule<<)
Programowanie jest nierozerwalnie związane z rozwiązywaniem rzeczywistych problemów. Stosując różne techniki, jesteśmy w stanie zamodelować skomplikowane procesy, wyszukiwać relacje między obiektami oraz przetwarzać gromadzone dane z ogromną szybkością. Jednak co zrobić, gdy nie istnieje optymalny przepis na rozwiązanie danego problemu? Gdy ograniczone zasoby nie pozwalają na sprawdzenie wszystkich możliwości, jak mieć pewność, że wyznaczone rozwiązanie jest prawidłowe? Pomocne mogą okazać się algorytmy ewolucyjne oraz sieci neuronowe.
Grzegorz Grzęda
Pakiet MyHDL
Python w służbie sprzętu i układów FPGA
Zastosowania Pythona są niepoliczalne. Można długo wymieniać przykłady pakietów, bibliotek i innych przypadków użycia tego języka (a raczej powinniśmy mówić środowiska/ekosystemu). Nie powinno zatem dziwić, iż w Pythonie można także projektować rozwiązania dla sprzętu z generacją kodu dla języków VHDL lub Verilog.
Marek Sawerwain
PROGRAMOWANIE SYSTEMOWE
Co robi Twój program i czemu tak wolno? (>>więcej o tym artykule<<)
Rzecz o mierzeniu wydajności programów
Znajdowanie problemów z wydajnością programów wydaje się bardziej sztuką, niż nauką, ale to nie jest prawda. W tym artykule postaram się przybliżyć ilościowe, empiryczne podejście do tego skomplikowanego zagadnienia.
Maciej Czekaj
PROGRAMOWANIE APLIKACJI WEBOWYCH
CMS as a Service, czyli Umbraco w chmurze!
Jeszcze jakiś czas temu mówienie o czymkolwiek w chmurze świadczyło o byciu na czasie. Był to swoisty buzzword sprzedażowy, który miał mówić naszym klientom i partnerom biznesowym, że wiemy, co dzieje się w branży i podążamy nieustannie za jej rozwojem. Obecnie mamy do czynienia z sytuacjami, w których niemalże połowa Internetu przestaje funkcjonować i zostaje sparaliżowana, gdy „skromną” wpadkę zalicza jeden z kilku wiodących dostawców rozwiązań chmurowych. Uzależniamy się od chmury. Nie jest to jednak nic złego. Grunt to kontrolować to uzależnienie i czerpać z niego jak największe korzyści.
Marcin Zajkowski
Microsoft Bot Framework
Tworzenie inteligentnych kanałów komunikacyjnych
Nie da się ukryć, że dzięki wynikom wielu lat prac badawczych nad sztuczną inteligencją oraz zaawansowanymi metodami przetwarzania sygnałów i obrazów jesteśmy teraz beneficjentami nowoczesnych kanałów komunikacyjnych. Przestaje już dziwić fakt, że urządzenia mobilne mogą być sterowane głosem, a odczytanie swojej lokalizacji czy wyszukanie informacji realizuje się po wypowiedzeniu odpowiedniej komendy poprzedzonej frazą „Hey, Siri”. Z kolei zarezerwowanie biletu lotniczego można wykonać za pomocą kilku wiadomości wysłanych za pośrednictwem Skype czy Messengera do odpowiedniego bota. W tym artykule zostanie przedstawione, w jaki sposób utworzyć tego typu kanał komunikacyjny w oparciu o Microsoft Bot Framework.
Dawid Borycki
Jak rozproszyć swoją web aplikację? (>>więcej o tym artykule<<)
W tym artykule pokażę, jak wykorzystać dostępne dla Pythona narzędzia, aby maksymalnie rozproszyć aplikację Django na wiele mniejszych i tańszych maszyn, korzystając na przykład z budżetowych serwerów dedykowanych lub kolokowanych serwerów “refurbished”. Równie dobrze będziemy mogli wykorzystać wirtualne maszyny od sprawdzonego usługodawcy.
Maciej Nabożny
Transmisja danych dźwiękiem w JavaScript od podstaw. Część 2: Web Audio API
W pierwszej części artykułu (numer 8/2016) poznaliśmy od podstaw zagadnienie Dyskretnej Transformaty Fouriera z punktu widzenia programisty. Do realizacji prostej wymiany danych dźwiękiem w JavaScript potrzebujemy jednak czegoś więcej. Następnym klockiem w układance jest Web Audio API. Postaramy się wykorzystać z niego tylko te elementy, które będą przydatne do realizacji naszego celu. Pozwoli nam to zaimplementować własną klasę AudioMonoIO, która opakuje wspomniane API do postaci prostego interfejsu. Na końcu stworzymy aplikację, będącą wirtualnym pianinem, za pomocą której będziemy mogli przesyłać dźwięki pomiędzy dwoma urządzeniami.
Robert Rypuła
FELIETON
Zawód: Data Scientist, czyli jak zostać jednorożcem
Kariera w zawodzie programisty ma niewątpliwie wiele zalet, ale korzyściami, które mają najbardziej długofalowy charakter i przyczyniają się do wysokiego współczynnika zadowolenia z wykonywanej pracy przez programistów, są różnorodność wykonywanych zadań i mnogość otwartych perspektyw.
Łukasz Kobyliński
KLUB LIDERA IT
Jak sprzedać refaktoryzację? Przypadek Nordea Bank AB
Zaskakująco refaktoryzacja nie jest często wyzwaniem technicznym. Zespoły zazwyczaj trafnie diagnozują nieefektywny design kodu. Z reguły również mają pomysły, co należy z tym zrobić, jakich narzędzi użyć, jakich przekształceń refaktoryzacyjnych. Gdyby mieli do dyspozycji wystarczającą ilość czasu oraz wystarczający budżet, to prawdopodobnie doprowadziliby sprawy do końca.
Michał Bartyzel, Łukasz Korczyński
STREFA CTF
BSidesSF 2017 – Pinlock
Drugi weekend lutego spowodował, że zacząłem wątpić w regułę „jeden CTF na dwa tygodnie”, bo między 10 a 14 lutego odbywały się aż trzy. W tym CTF towarzyszący konferencji BSides San Francisco 2017.
Jarosław Górny
PLANETA IT
Angielski dla programistów. Lekcja 2
Przedstawiam drugą lekcję minikursu angielskiego dla programistów. Odpowiedzi do ćwiczeń zamieściłem w Internecie, aby nikogo nie kusiło do nich zaglądać podczas nauki 🙂
Łukasz Piwko
KLUB DOBREJ KSIĄŻKI
WordPress i Joomla! Zabezpieczanie i ratowanie stron WWW
Mariusz "maryush" Witkowski