REKLAMA

Programista 11/2016 (54) – Algorytmy lock-free – 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.

Magazyn programistów i liderów zespołów IT

Magazyn, poza prenumeratą, dostępny jest też do 30 stycznia 2017 r. w salonach Empik.

BIBLIOTEKI I NARZĘDZIA

Wybrane nowości programistyczne Windows 10 Anniversary Edition (>>więcej o tym artykule<<)

Po roku od wydania pierwszej wersji systemu Windows 10 Microsoft udostępnił zaktualizowaną wersję tego systemu określaną mianem Anniversary Edition lub Anniversary Update. Wprowadza ona szereg dodatkowych funkcji użytkowych oraz możliwości programistycznych. Wydaje się, że jednym z najciekawszych aspektów developerskich jest uzupełnienie mechanizmu data binding o możliwość tworzenia wiązań z wykorzystaniem metod. To oraz kilka innych wybranych nowości opiszę w tym artykule.

Dawid Borycki

MVVM w Androidzie. Część 2

Praca programisty jest pracą równie kreatywną jak architekta, malarza czy pisarza. W końcu to właśnie możliwość tworzenia czegoś nowego daje nam tyle frajdy podczas długich godzin spędzonych przed ekranem komputera. Nie ma więc co się dziwić, że gdy programista staje przed potrzebą napisania kawałka glue code – kilkunastu lub kilkudziesięciu linijek, które ktoś po prostu musi mechanicznie wklepać – dostaje białej gorączki. Przez długi czas programiści Androida byli do tego zmuszeni i nie było zbyt wielu alternatyw. Na szczęście sytuacja ta zaczyna się zmieniać.

Wojciech Sura

GCC JIT – biblioteka do kompilacji „w samą porę”

Technologia JIT (ang. Just-In-Time) od czasu wprowadzenia jej do maszyny wirtualnej Javy jest podstawowym elementem wielu środowisk programistycznych. Pierwszym przykładem jest wspomniana Java, ale także platforma .NET obecnie wydawana w odświeżonej wersji .NET Core. JIT to także podstawowy element środowiska Julia. Bez technologii JIT wiele obecnie stosowanych języków programowania oferowałaby znacznie niższą wydajność – i to pomimo ciągłego rozwoju technologii i wzrastającej wydajności procesorów.

Marek Sawerwain

JĘZYKI PROGRAMOWANIA

Swift 3 – głęboka rewolucja (>>więcej o tym artykule<<)

Najnowsza pełna wersja Swift – oznaczona numerem 3 – pojawiła się 13 września 2016 r. na konferencji WWDC. Jest to pierwsza wersja wydana po otwarciu źródeł języka, która pracuje zarówno na Mac OS X, jak i na systemach Linux. Prawdopodobnie to dopuszczenie do głosu społeczności programistów zaowocowało wprowadzeniem niezliczonej liczby zmian w języku – jego modernizacją, usunięciem pewnych naleciałości z C czy Objective-C, a także ustandaryzowaniem składni i wytycznych projektowych.

Krzysztof Grobelny

Hakowanie ILa

Pracując na co dzień w C#, F# czy VB, często zapominamy, że pod spodem znajduje się dodatkowa warstwa pośrednia. CIL – Common Intermediate Language (lub po prostu IL – Intermediate Language) to pełnoprawny język, w którym – gdyby się uprzeć – można by pisać aplikacje na platformę .NET. Czy warto zatem poznawać, co kryje się poniżej naszego wysokopoziomowego kodu? Uważam, że tak. Zainteresowanych czytelników zapraszam do lektury.

Paweł Łukasik

PROGRAMOWANIE SYSTEMOWE

Wstęp do algorytmów lock-free (>>więcej o tym artykule<<)

W obecnych czasach cztery czy nawet osiem rdzeni w procesorze komputera osobistego nikogo nie zaskakuje. To, co jeszcze 10 lat temu zarezerwowane było prawie wyłącznie dla domeny procesorów serwerowych, dzisiaj znaleźć można w rozwiązaniach dedykowanych dla telefonów komórkowych. Jednakże czy ze wzrostem ilości rdzeni obserwujemy również wzrost wydajności aplikacji? Innymi słowy, czy trend wzrostu ilości rdzeni w procesorach jest odpowiednio wykorzystany przez programistów? Czy zastosowany algorytm współdzielenia danych może w znaczący sposób ograniczać skalowalność? W niniejszym artykule postaramy się odpowiedzieć na te pytania i jednocześnie pokazać, jak można poprawić swoje „kung-fu” programowania współbieżnego.

Radosław Biernacki, Maciej Czekaj

WYWIAD

Dlaczego firmy powinny oswoić się z DevOps

Rozmowa z Tomasem Kucerą, wiceprezesem ds. operacji biznesowych w SolarWinds.

BEZPIECZEŃSTWO

Hardening WordPress

Decyzja o tym, jakie oprogramowanie wykorzystamy w wybranym celu, często podejmowana jest na podstawie analizy czasu potrzebnego na jego wdrożenie oraz sumarycznej ilości funkcji, jakie ten system nam dostarczy. Prawdopodobne jest jednak to, że tam, gdzie priorytetem jest wygodna i czas, w pierwszej kolejności ucierpi bezpieczeństwo.

Marcin Piosek

STREFA CTF

Hack.lu 2016 – dataonly

Hack.lu jest coroczną konferencją organizowaną w Luksemburgu. Również co roku odbywają się na niej zawody CTF, które organizuje zespół FluxFingers, związany z Uniwersytetem Ruhr w Bochum. Sam CTF jest znany ze względu na dobre przygotowanie i ciekawe zadania. W tym roku było ich 12 w standardowych kategoriach (Crypto, Programming, Reversing, Exploiting). Tematem tegorocznej edycji był Cthulhu.

tezeb

PLANETA IT

Angielski dla programistów

Powszechnie wiadomo, że każdy programista powinien znać przynajmniej podstawy języka angielskiego. Wiedza ta przydaje się, gdy trzeba poszukać czegoś w dokumentacji, a także podczas szukania pracy. Niestety kursów angielskiego dla programistów jest bardzo mało, więc tym razem postanowiłem napisać o jednym z nich.

Łukasz Piwko

KLUB DOBREJ KSIĄŻKI

TDD. Programowanie w Javie sterowane testami

Rafał Kocisz