Zapraszamy do zapoznania się z zawartością magazynu Programista 4/2012.
Prenumeratę wydań drukowanych i elektronicznych (ePub, mobi, .pdf) magazynu można zamówić przez formularz na stronie: http://programistamag.pl/typy-prenumeraty/
Osoby zamawiające prenumeratę drukowaną otrzymują również wydania elektroniczne gratis oraz inne prezenty (o aktualną ofertę prezentów dla prenumeraty zapytaj, pisząc na admin@programistamag.pl).
Zobacz też aktualną ofertę prezentów:
1. Szkolenia z Devcastzone
2. Usługi hostingowe Forpsi Dynamic
3. Każdej osobie zamawiącej prenumeratę w wersji drukowanej dodajemy gratis wydania elektroniczne.
Cennik prenumematy znajdziesz tutaj.
Programista 4/2012 - Spis treści
BIBLIOTEKI I NARZĘDZIA:
Visual Studio - Rewolucja czy ewolucja?
Visual Studio 2012 wzbudza kontrowersje od momentu pojawienia się jego najwcześniejszych wersji. Dość radykalne zmiany kolorystyki (a raczej jej pozbawienie) oraz wszechobecne użycie wielkich liter sprawiły, że programiści skupili się na komentowaniu strony wizualnej, pomijając kluczowe zmiany i nowe funkcje. Warto jednak zapoznać się z tym, co oferuje najnowsza wersji IDE.
Paweł Łukasik
Wydajne i elastyczne programy. Łączenie C++ i Pythona przy pomocy boost_python
Aplikacje wydajne najwygodniej tworzy się w językach kompilowanych do kodu maszynowego, możemy wtedy wykorzystać wszystkie możliwości, które daje sprzęt. Rozwiązania elastyczne tworzymy, wykorzystując interpreter – nie ma potrzeby translacji do kodu maszynowego. W artykule omówiono przykład stosowania obu podejść jednocześnie dla języków C++ i Python. Komunikację pomiędzy modułami tej samej aplikacji,utworzonymi w różnych tych językach, upraszcza biblioteka boost_python.
Robert Nowak
Własny bot na GG w oparciu o platformy BotAPI i Google App Engine
Platforma GG BotAPI pozwala na bardzo łatwe stworzenie własnego bota, np. takiego jak Infobot dostępny pod numerem GG:100. Infobot jest przykładem bota informacyjnego, ale boty mogą pełnić również inne funkcje. W artykule opiszemy, jak stworzyć bota czatowego, który będzie mógł służyć do komunikacji wśród grupy współpracowników.
Marcin Bagiński, Filip Kwiatkowski, Maciej Szewczyk
Koncepcja i narzędzia Continuous Integration
Zastosowanie ciągłej integracji (continuous integration) zmniejsza ryzyko w projekcie. Projekt jest pod ciągłą kontrolą i monitoringiem. Minimalizuje również ilość czynności, które należy wykonać w ramach procesu, dzięki automatyzacji budowania oprogramowania oraz automatyzacji czynności wdrożeniowych.
Łukasz Mazur
JĘZYKI PROGRAMOWANIA:
Kropkowe nowości – czyli dot NET 4 i ½
Jesień roku 2012 dla programistów systemu Windows będzie niezwykle bogata: nowy Windows 8, nowe Visual Studio 2012, a także nowa odsłona .NET o numerze 4.5. W artykule postaramy się przedstawić kilka wybranych nowości dostępnych w najnowszej wersji tej platformy.
Marek Sawerwain
C# async i await – asynchroniczność wbudowana w język
Długo oczekiwana funkcjonalność, która rozwiązuje problem, z którym spotkał się każdy developer tworzący aplikację z GUI – blokowanie i zawieszanie się interfejsu użytkownika. Od teraz obsługa kontynuacji operacji asynchronicznych została wbudowane w sam język, co znacząco uprościło obsługę tego typu sytuacji.
Michał Mac
Diabeł tkwi w szczegółach: C/C++ (część 2)
Ciąg dalszy rozważań na temat niezdefiniowanych zachowań (ang. Undefined Behavior, dalej UB) i ich potencjalnych skutków, na przykładzie niezamierzonych wycieków danych, oraz kolejnych problemów związanych z operacjami na liczbach całkowitych.
Gynvael Coldwind
Loose coupling w PHP, czyli co nowego w Symfony2
W poniższym artykule postaram się przybliżyć, czym jest i jakie korzyści niesie ze sobą wstrzykiwanie zależności. Wyjaśnię, w jaki sposób teoria ta jest wykorzystywana w Symfony2. Na koniec przedstawię dobre praktyki i najczęściej spotykane antywzorce.
Marek Mizier
PROGRAMOWANIE URZĄDZEŃ MOBILNYCH:
Windows Phone 7.5 – XNA Game Studio 4.0
Sposób na XML. Poznaj dwie sprawdzone metody parsowania dokumentów XML
Gdy pisałem swoją pierwszą grę na urządzenia z systemem Windows Phone 7.5, spotkałem się z problemem szybkiego wczytywania plików XML w XNA Game Studio 4.0. Istnieje bardzo dobra metoda, dzięki której wczytana zawartość od razu jest listą obiektów określonej klasy. Pokażę Ci również możliwość parsowania pobranych dokumentów XML z Internetu – przekonaj się, jakie to jest proste.
Łukasz Klejnberg
PROGRAMOWANIE:
OpenCL – standard nie tylko dla kart graficznych
Technologia CUDA zdobyła bardzo dużą popularność w dziedzinie uniwersalnych obliczeń wykonywanych z pomocą kart graficznych. Jednakże pomimo popularności CUDY, standardowym rozwiązaniem w dziedzinie obliczeń na kartach graficznych jest OpenCL. Warto więc poznać standard OpenCL, gdyż jak się wydaje, będzie on stosowany coraz szerzej, nie tylko w kontekście kart graficznych, ale również w przypadku tradycyjnych procesorów czy innych rozwiązań o wysokiej wydajności.
Marek Sawerwain
AGILE:
Wprowadzenie Agile w firmie
Rozważyłeś wszystkie za i przeciw i postanowiłeś wprowadzić Agile w firmie. Być może przeczytałeś artykuł „01 Agile w firmie. Wprowadzać czy nie?” w poprzednim numerze magazynu. Prawdopodobnie wybór narzędzia padł na framework Scrum. To naturalne, że pojawią się w Twojej głowie pytania.
Krystian Kaczor
INŻYNIERIA OPROGRAMOWANIA:
Przegląd możliwości analizy w przedsięwzięciach IT
Artykuł ma na celu spojrzeć na wartość pracy analitycznej w przedsięwzięciach IT. Poruszy wartość tej pracy przez pryzmat czasu i zmieniających się możliwości w tym zakresie.
Artur Machura
Domain Driven Design krok po kroku
Część IVa: Skalowalne systemy w kontekście DDD - architektura Command-query ResponsibilitySegregation (stos Write)
Czy możliwe jest stworzenie systemu, który będzie charakteryzował się otwartym na rozbudowę modelem, eleganckim, testowalnym i utrzymywalnym kodem, a jednocześnie będzie przygotowany do skalowania? Czy narzędzia typu Object-relational mapper są panaceum na wszystkie problemy persystencji w systemach biznesowych? Czy baza relacyjna to zawsze najlepszy pomysł na przechowywanie danych? Na te i inne pytania odpowiemy sobie w kolejnej odsłonie naszej serii.
Sławomir Sobótka
Jak pisać prosty kod?
Jednym z zadań, które sami przed sobą stawiamy, jest wyodrębnianie różnic, którerobią różnicę, oraz tworzenie łatwych do zastosowania technik, dzięki którym programiścimogą podnieść swoją efektywność. W tym artykule zaprezentujemy technikęprowadzącą do tworzenia prostego zrozumiałego kodu. Wydaje się ona takoczywista, że łatwo ją zignorować. Nie daj się zwieść! Już za chwilę dowiesz się, jakkilka banalnych kroków może wprowadzić ogromną zmianę w kodzie.
Michał Bartyzel, Mariusz Sieraczkiewicz