Zapraszamy do zamówienia magazynu w prenumeracie. Miesięcznik jest dostępny w formie papierowej, PDF, EPUB i MOBI.
Wraz z prenumeratą możesz też otrzymać w prezencie trzy dowolne wydania archiwalne. Wybierz swoje wydania archiwalne "Programisty": http://programistamag.pl/magazyny/
Numer ten będzie dostępny w Empikach od 22 października.
BIBLIOTEKI I NARZĘDZIA
C++ Core Guidelines: nowy rozdział w historii języka C++? (więcej o tym artykule >>tutaj<<)
W historii większości mainstreamowych języków programowania zdarzają się punkty zwrotne. Są one najczęściej związane z udostępnieniem kolejnych wersji języka, czasem z odkryciem jakichś nowych technik jego używania. Niniejszy tekst opisuje zdarzenie w najnowszej historii języka C++, które – być może – jest właśnie takim punktem zwrotnym. A najciekawsze jest to, że na to, czy tak się stanie, możesz wpłynąć właśnie Ty – osobiście! Zaintrygowany? Jeśli tak, to zapraszam do lektury.
Rafał Kocisz
SpecBDD z wykorzystaniem narzędzia PHPSpec
BDD jest techniką tworzenia oprogramowania polegającą na pisaniu funkcjonalności w sposób ciągłego powtarzania kroków – pisania testu, kodu oraz jego refaktoryzacji. W przeciwieństwie do TDD posługujemy się zupełnie innym językiem opisującym zachowania. BDD może być użyte na poziomie StoryBDD i SpecBDD. Historie opisują domenę, zaś specyfikacja skupia się na tym, jak napisać kod, aby działał zgodnie z oczekiwaniami. Ten drugi poziom przybliży niniejszy artykuł.
Andrzej Lewandowski
JĘZYKI PROGRAMOWANIA
C++17. Nadchodzi rewolucja (więcej o tym artykule >>tutaj<<)
Czy język C++ wymiera? Nic bardziej mylnego! Po rewolucyjnych zmianach, które wprowadziła wersja C++11, oraz ulepszeniach z C++14 nadszedł czas na C++17 – nadchodzący standard, który w dużym stopniu odmieni język i spowoduje, że stanie się jeszcze bardziej atrakcyjny.
Sławomir Zborowski
PROGRAMOWANIE SYSTEMÓW OSADZONYCH
IPCore – koncepcja mikrokontrolera ubrana w słowa
Czy projektowanie i fizyczne wykonanie własnego układu elektronicznego w krzemie brzmi jak magia? Istnieje rozwiązanie, które omija fizyczne wykonanie sprzętu, a równocześnie pozwala uzyskać dokładnie tę samą funkcjonalność – taki układ można stworzyć „słowem”. Z pomocą przychodzą języki HDL oraz technika FPGA.
Zyta Racia
PROGRAMOWANIE APLIKACJI WEBOWYCH
ECMAScript 6 – standard przyszłości (więcej o tym artykule >>tutaj<<)
Programiści długo musieli czekać na kolejny krok rozwojowy języka JavaScript. Po kolejnych próbach stworzenia nowego, lepszego standardu członkowie ECMA International doszli do porozumienia i w połowie 2015 roku oficjalnie zamknęli standard nowej wersji języka ECMAScript. Tym samym developerzy otrzymali narzędzie, które będzie w przyszłości podstawą każdej aplikacji webowej, a biorąc pod uwagę nadchodzący Internet Rzeczy, ECMAScript 6 i jego następne wersje będą dosłownie otaczać każdego z nas. Z tego powodu warto już teraz poznać nowe funkcjonalności standardu przyszłości.
Grzegorz Dąbrowski
PROGRAMOWANIE RÓWNOLEGŁE I ROZPROSZONE
Cilk – trzy słowa kluczowe dla programowania równoległego
Gdy powiemy, że Cilk to kolejne rozszerzenie językowe, które pozwala na programowanie równoległe, łatwo będzie przejść nad tym do porządku dziennego, gdyż ilość różnych pakietów, bibliotek wspomagających programowanie równoległe jest tak duża, iż można by pominąć to kolejne rozwiązanie. Jednak Cilk jest dość interesujący ze względu na fakt, że jest to rozszerzenie języka C/C++. A najnowsze wydania GCC w wersji 5.x wspierają już pełną wersję Cilk Plus. Co najważniejsze, sam Cilk to tylko kilka nowych elementów językowych, które bardzo dobrze komponują się z programami pisanymi w C oraz C++. Choćby z tego powodu warto spojrzeć, co oferuje Cilk, i sprawdzić, czy przyda się nam w codziennej pracy. Mała liczba podstawowych pojęć pozwala na dość pełną prezentację technologii Cilk, nawet w tym krótkim artykule.
Marek Sawerwain
INŻYNIERIA OPROGRAMOWANIA
C++: zagmatwane wyjątki
W niniejszym artykule nie będziemy próbować odpowiedzieć na pytanie, czy używać wyjątków i w jaki sposób. Spróbujemy natomiast pokazać, dlaczego odpowiedź na to pytanie nie jest jednoznaczna.
Grzegorz Kokot
PYTHON HAS POWER
Proces grupowy w Zespole Developerskim z perspektywy Scrum Mastera i Product Ownera
Jeżeli chcesz współpracować w dobrze zorganizowanym i efektywnym zespole, musi on najpierw przejść przez tzw. proces grupowy, dzięki czemu stanie się czymś więcej niż tylko zbiorem jednostek. W niniejszym artykule opowiemy historię pewnego zespołu scrumowego, zaznaczając, czego spodziewać się w każdej z faz procesu oraz jak przyspieszać przejście do kolejnych etapów.
Marta Kossowska, Łukasz Aziukiewicz
BEZPIECZEŃSTWO
Czym jest audyt bezpieczeństwa aplikacji webowych?
Co roku słyszymy o spektakularnych atakach na systemy IT– niedawno, we wrześniu 2015 roku, ujawniono wyciek danych 15 milionów klientów T-Mobile USA, w październiku z kolei upubliczniono prawie 15 GB danych pochodzących z włamania do popularnego amerykańskiego serwisu Patreon. Znane są też ogromne wycieki danych z LinkedIn, Steam czy Blizzard. Co ciekawe, znaczna liczba tego typu spektakularnych naruszeń bezpieczeństwa następuje w wyniku wykorzystania błędów aplikacyjnych. Dużo włamań pozostaje jednak nieujawnionych – ofiary nie chcą się tym chwalić bądź po prostu nie wiedzą o naruszeniu bezpieczeństwa.
Michał Sajdak
PRAWO
Mechanizm odwróconego podatku VAT przy urządzeniach mobilnych
1 lipca 2015 r. weszła w życie ustawa z dnia 9 kwietnia 2015 r. o zmianie ustawy o podatku od towarów i usług oraz ustawy – Prawo zamówień publicznych (Dz.U. z 2015 r., poz. 605).
Kamil Stolarski, Konrad Majewski
STREFA CTF
CSAW CTF Qualification Round 2015 – Rhinoxorus
CSAW CTF to najpopularniejsze na świecie zawody Capture The Flag skierowane głównie dla początkujących. Organizowane są przez studentów Instytutu Politechnicznego Uniwersytetu Nowojorskiego i są częścią corocznych dni otwartych poświęconych bezpieczeństwu informatycznemu (Cyber Security Awareness Week). Nagrodą w kwalifikacjach (współfinansowaną również przez rząd Stanów Zjednoczonych) dla 15 najlepszych zespołów studenckich (niestety tylko tych z USA bądź Kanady) jest udział, przelot i zakwaterowanie podczas finałów w Nowym Jorku. Podczas tegorocznych kwalifikacji aż 8 drużyn zdobyło maksymalną ilość punktów, w tym najlepszy polski zespół – Dragon Sector.
Jarosław "msm" Jedynak, Mateusz "Rev" Szymaniec
KLUB LIDERA IT
Jak przekonać klienta do swoich pomysłów?
To jedno z najczęstszych pytań, które pojawiają się podczas naszej pracy z zespołami. W artykule poznasz skuteczną technikę do proponowania klientowi rozwiązań, które uważasz za lepsze niż te przez niego sugerowane. Zastanowimy się również, czy rzeczywiście o przekonywanie chodzi.
Michał Bartyzel, Mariusz Sieraczkiewicz
PLANETA IT
„Inicjacja” czy „inicjalizacja”
Słowa inicjacja i inicjalizacja wzbudzają wiele kontrowersji, choć wciąż trudno znaleźć szczegółowe opracowanie na ten temat. W artykule tym próbuję zapełnić właśnie tę lukę.
Łukasz Piwko
KLUB DOBREJ KSIĄŻKI
Agile. Przewodnik po zwinnych metodykach programowania
Rafał Kocisz