REKLAMA

Geek in the shell

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 6/2012 - Spis treści

BIBLIOTEKI I NARZĘDZIA:

OSGi uniwersalne komponenty Java do ponownego użycia

OSGi (Dynamic Module System for Java), czyli standard implementujący model komponentów w języku Java

Po długim zastanawianiu się nad najlepszym rozwiązaniem problemu siadamy i piszemy testy i kod źródłowy klas, które będą działały zgodnie z naszymi wcześniejszymi ustaleniami. Wielokrotnie implementuje się metody, które wykonują dla nas czynności zgodne z wymaganiami klienta, jednak nie nadają się one do ponownego użycia. Wygląda znajomo? Czarne chmury nadchodzą wtedy, kiedy należy użyć tak przygotowane komponenty w innym, podobnym projekcie.

Łukasz Lechert

Badanie pokrycia kodu C++ testami jednostkowymi

Wykorzystywanie narzędzia Google trucov

Artykuł omawia sposób badania pokrycia kodu testami jednostkowymi. Badanie takiego pokrycia upraszcza tworzenie dobrego zbioru testów. Wykorzystano narzędzie Google trucov oraz kompilator GNU C++. Zamieszczone przykłady pokazują typowe problemy, które musimy rozwiązać, tworząc zbiór testów jednostkowych.

Robert Nowak

JĘZYKI PROGRAMOWANIA:

(C++)++ == D – Następca C czy C++?

Język D to rozwiązanie oceniane jako następca języków C oraz C++. Czy tak jest istotnie, postaramy się pokazać w tym artykule. Warto bowiem poznać kilka cech języka D, które, jak się wydaje, istotnie przemawiają na jego korzyść, a być może następny program warto będzie spróbować napisać w D.

Marek Sawerwain

Wprowadzenie do języka C# i platformy .NET (część 4)

Kolejna odsłona kursu „Wprowadzenie do języka C# i platformy .NET” skupia się na bardziej praktycznych aspektach obiektowości w języku C#.

Przemysław Krygier

PROGRAMOWANIE:

Jak tworzyć testowalny kod?

Zagadnienie testowalności kodu jest kluczowe z punktu widzenia poprawności działania systemu, ale także satysfakcji klienta końcowego. Odpowiednia struktura aplikacji znacznie ułatwia automatyczne testowanie, zmniejszając ilość błędów i pozwalając na szybszą reakcję na zmianę wymagań.

Michał Mac

Geek In The Shell

Powłoka systemowa jest podstawowym narzędziem administratorów systemu Linux/UNIX. Programiści również często wykorzystują ją do ułatwiania sobie pracy.W niniejszym artykule zaprezentowane zostały ciekawe sposoby użycia powłoki bash do automatyzacji wybranych zadań. Na ich przykładzie autorzy pokazują garść przydatnych sztuczek oraz wyjaśniają nieco magii.

Bartosz Szurgot, Mariusz Uchroński

APLIKACJE WEBOWE:

Ruby On Rails – tory dla Startupu!

Internetowe startupy pojawiają się jak grzyby po deszczu. Część z nich jest innowacyjna,inne to kolejne kopie istniejących serwisów. Każdego dnia na świecie powstaje kilka tysięcy pomysłów na serwis internetowy, wiele z nich nigdy nie zostanie wykonanych. Powodów zwykle jest wiele, ale najczęstsze to długi czas realizacji projektu oraz związane z tym koszty finansowe. Jak w takim razie szybko i sprawnie sprawić, aby nasza idea ujrzała światło dzienne, a zarazem nie była zbyt kosztowna we wdrożeniu? Jednym z rozwiązań jest użycie frameworku Ruby On Rails.

Grzegorz Forysiński

Kompendium wiedzy o Handlebars.js

Lekki, dynamiczny, czytelny oraz prosty w utrzymaniu kod, dzięki któremu stworzysz szablony stron i aplikacji internetowych napędzane danymi JSON? Tak, to możliwe! Pożegnaj chaos oraz linijki zbędnego kodu. Powitaj semantykę i harmonię.

Piotr Palarz

BAZY DANYCH:

Skalowanie bazy danych SQL

Na przestrzeni ostatnich lat serwisy www, a także sposób ich implementacji uległy dużym zmianom. Udostępnienie użytkownikom ogromnych zestawów funkcjonalności czy przetwarzanie coraz większej ilości danych stawia przez developerami i architektami zupełnie nowe wyzwania. Tworzone rozwiązania powinny się skalować wraz ze stopniowym przyrostem użytkowników, zaczynając od pojedynczych serwerów, a na replikowanych pomiędzy osobnymi data-centers klastrach kończąc.

Mariusz Gil

ALGORYTMIKA:

Wyrażenia regularne od kuchni

Wyrażenia regularne są tak popularnym mechanizmem, że obecnie wchodzą w skład bibliotek standardowych wszystkich szanujących się języków programowania.Zainteresowałem się kiedyś, w jaki sposób wewnętrznie realizowane jest dopasowywanie tekstu do wzorca, i okazało się, że stoi za tym bardzo ciekawy aparat matematyczny.

Wojciech Sura

AGILE:

Wymagania w Agile

Temat wymagań w Agile jest tematem dosyć drażliwym w szczególności dla testerów przyzwyczajonych do tradycyjnych wymagań i przewidywania z góry, jak co będzie wyglądało oraz działało. Wymaga się od systemu, żeby coś robił, opisując to w formie „System powinien ”, ale system często nie chce słuchać, a pod koniec projektu nie wiadomo, co jest źródłem wymagań. To, co zostało zapisane, a może to, jak system teraz działa? Kto pamięta, jaka została podjęta decyzja i dlaczego?

Krystian Kaczor

INŻYNIERIA OPROGRAMOWANIA:

Domain Driven Design krok po kroku. Część V: Kompendium testowania aplikacji opartej  o DDD – problemy, strategie, taktyki i techniki

W jaki sposób zapewnić jakość systemu? Czy pokrycie 80% kodu testami jest wystarczające? A może wystarczy 20%, ale „zainwestowane” racjonalnie. Czy praca z Javą lub .NET musi być mozolna z uwagi na redeploy? Na wszystkie te pytania odpowiemy w przedostatniej części naszej serii.

Sławomir Sobótka

7 dobrych praktyk przy wdrażaniu zintegrowanych środowisk wytwarzaniaoprogramowania

Podstawą do opracowania dopasowanego do organizacji procesu wytwarzania oprogramowania są odpowiednio dobrane dobre praktyki, metody zarządzania oraz efektywne narzędzia wspierające. Wybór ich stanowi wyzwanie i poważny problem dla wielu organizacji. Jeżeli popatrzymy na środowiska, w których obecnie rozwijane jest oprogramowanie, to możemy stwierdzić, że zwykle zespoły analityków,programistów i testerów nie komunikują się ze sobą w sposób efektywny, co negatywnie wpływa na wydajność pracy, koszty i jakość finalnego produktu.

Bartosz Chrabski

KLUB LIDERA IT:

Co każdy kierownik projektu powinienwiedzieć o programistach i ich pracy? (część 2)

Niezbędnik wiedzy technicznej dla kierowników projektów programistycznych

Zapraszamy do drugiej części artykułu skierowanego do kierowników projektu, którzy w swojej współpracy z programistami często napotykają na przeszkody. W artykule przedstawimy pozostałe zagadnienia, których znajomość może okazać się niezmiernie pomocna w przyszłości. Ukazane zostaną również przykładowe rodzaje nieporozumień oraz słownik, charakterystycznych dla programistów, wyrażeń i pojęć.

Michał Bartyzel, Mariusz Sieraczkiewicz

KLUB DOBREJ KSIĄŻKI:

Recenzje książek:  WCF od podstaw, Programowanie usług WCF
Marek Sawerwain