Zapraszamy do zapoznania się z zawartością magazynu Programista 3/2012 (03)
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).
Programista 3/2012 (03) - Spis treści
BIBLIOTEKI I NARZĘDZIA:
SVN – przyjaciel od kontroli wersji
Systemy kontroli wersji (ang. version control systems, VCS) znane są w informatyceod dawna. Pierwszym z nich był system SCCS (ang. Source Code Control System) opracowany w 1972 r. dla systemu IBM System/370. Fakt, iż programy będące ideowymi następcami tego systemu są nadal szeroko stosowane, świadczy o dużym znaczeniu praktycznym tego rozwiązania.
Łukasz Hładowski
JĘZYKI PROGRAMOWANIA:
Język Ruby – less work, more fun
Zapewne większość z tych, którzy nie mieli do czynienia z językiem Ruby, zadaje sobie pytanie: Po co mam znać kolejny język programowania? Znam już przecieżC++/Javę/C#/PHP etc. i nie mam potrzeby uczyć się nowego języka. Parafrazując wypowiedź pewnej pani na Youtube: „A komu to potrzebne?!”. Postaram się pokazać w skrócie, czym jest język Ruby, co odróżnia go od pozostałych oraz jak dużo zabawy i przyjemności może sprawiać programiście.
Grzegorz Forysiński
Diabeł tkwi w szczegółach: C/C++ (część 1)
Programując w językach C lub C++, bardzo łatwo jest popełnić błąd. Powodów można wymienić kilka. Po pierwsze, oba języki są stosunkowo niskopoziomowe, a więc wymagają ręcznego zarządzania pamięcią dynamiczną, dbania o poprawność wskaźników, jak i dbania o wiele innych aspektów. Po drugie, nie wszystkie zachowania obu języków są w pełni zdefiniowane - standardy C i C++ wskazują zachowania nie zdefiniowane w ogóle (ang. Undefined Behavior, dalej UB), nie zdefiniowanew standardzie, ale definiowane przez konkretne implementacje (ang.Implementation-Defined Behavior), oraz takie, które mogą zostać zaimplementowanena więcej niż jeden sposób, ale niekoniecznie muszą zostać jawnie zdefiniowanew dokumentacji (ang. Unspecified Behavior). Niniejszy artykuł ma na celu przedstawienieczytelnikowi kilku przykładów, w których pomimo iluzorycznej trywialnościkodu, znajdują się subtelne błędy lub niejasności.
Gynvael Coldwind
Wprowadzenie do języka C# i platformy .NET (część 2)
Druga odsłona kursu „Wprowadzenie do języka C# i platformy .NET”. W tej części kontynuujemy opisywanie podstawowych zagadnień języka C#, takich jak operatory, rzutowanie, zmienne, tablice, instrukcje sterujące, przestrzenie nazw. W kolejnej części przybliżymy zasady programowania obiektowego w języku C#.
Przemysław Krygier
APLIKACJE WEBOWE:
Rozpocznij przygodę z aplikacją CMS eZ Publish
Dowiesz się, jak zainstalować, skonfigurować CMS eZ Publish oraz jak szybko stworzyć serwis WWW z panelem administracyjnym, nie pisząc nic w PHP.
Łukasz Klejnberg
PROGRAMOWANIE GRAFIKI:
Android i OpenGL ES – łatwy początek
OpenGL to podstawowy standard przeznaczony do tworzenia grafiki 3D, taki sam dla wielu różnych systemów operacyjnych, także dla systemu Android. W artykule zostaną przedstawione informacje o użyciu OpenGL w aplikacjach dla Androida pisanych w języku Java. Zaprezentowany zostanie także bardziej skomplikowany przykład, stanowiący prototyp gry, gdzie gracz porusza się w labiryncie, w stylu starych (i ciągle dobrych) gier typu Dungeon Master.
Marek Sawerwain
Direct3D – podstawy (część 3)
Direct3D jest API bardzo niskopoziomowym – nawet napisanie programu wyświetlającego prostą animację wymaga sporo pracy. Jednak dzięki temu programista ma dużą kontrolę nad całym procesem renderowania, co z kolei pozwala mu efektywnie wykorzystywać możliwości karty graficznej. Jednym z ważniejszych elementów API jest mechanizm shaderów, o którym chciałbym opowiedzieć w tym artykule.
Wojciech Sura
INŻYNIERIA OPROGRAMOWANIA:
Domain Specific Language w DDD – łatwo i produktywnie
Niektóre domeny podlegają ciągłym zmianom. Poprzez nadanie odpowiedniej struktury naszemu rozwiązaniu jesteśmy w stanie stosunkowo szybko zmienić reguły rządzące modelem. Niestety problem pojawia się w momencie, gdy te zmianysą zbyt częste i niepotrzebnie absorbują zespół programistyczny. Zazwyczaj powstaje wtedy wiele różnych strategii, reguł dla różnych klientów, którymi trzeba zarządzać. A co jeśli tę odpowiedzialność przerzucilibyśmy na klienta? Jako rozwiązaniew tym artykule zostanie zaproponowana budowa prostego języka dziedzinowego (DSL), który pozwoli klientowi końcowemu, bądź wdrożeniowcowi na zmianę zachowania części systemu.
Michał Mac
KLUB LIDERA IT:
Agile w firmie – wprowadzać czy nie?
Chociaż pracuję w Agile od 2007 roku i wielokrotnie widziałem, że ta metoda działa,to nie mam Cię zamiaru przekonywać, żebyś ją teraz wprowadził w swojej firmie.Nikt nie wie lepiej od Ciebie, czy warto to zrobić i jakie mogą być konsekwencje takiego posunięcia. Niewątpliwie jest to ważna decyzja, którą prędzej czy późniejbędziesz musiał/musiała podjąć i jest to dopiero początek drogi. Mam nadzieję, żeten artykuł pomoże Ci przejść przez proces decyzyjny.
Krystian Kaczor
Dokumentowanie architektury (część 2). Jak uniknąć autobałaganu?
W tym artykule zajmiemy się niby prostym zagadnieniem takim jak dokumentowanie architektury za pomocą diagramu klas. Problem w tym, że potrzeba stworzeniadokumentacji pojawia się nagle, w pewnym momencie. Dość często nie jest to moment, gdy projekt się rozpoczyna, raczej gdy już trwa, a nawet gdy się kończy.W tym stadium na system składa się wiele setek (tysięcy) klas.
Michał Bartyzel, Mariusz Sieraczkiewicz
Z pamiętnika trenera
Firma BNS IT rekrutuje trenera/konsultanta. Pracujemy głównie dla dużych i rozpoznawalnych klientów. Być może już się zastanawiałeś, na czym polega tego typu praca. Ścieżki kariery w branży IT zazwyczaj są dość płaskie albo prowadzą do stanowisk menedżerskich, gdzie styczność z rozwiązaniami technicznymi z czasem coraz bardziej maleje. Trener i konsultant w jednej osobie jest niesamowitym krokiem milowym w związku z tym, co jeszcze możeszzrobić z własną karierą. Zaczynasz mieć dostęp do czegoś, co w większości firm jest poza zasięgiem - pracą nad różnymi projektami, z różnymi zespołami i różnymi klientami. Przeczytaj fragment pamiętnika trenera, którypozwoli Ci wyobrazić sobie, jak wyglądają prawdziwe wyzwania.
Michał Bartyzel, Mariusz Sieracziewicz
Subiektywna recenzja Gynvael Coldwind: