REKLAMA

Programista 2/2017 (57) – Aplikacje webowe – 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.

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