Numery
Extra
01 02 03 04 05 06 07 08 09 10 11 12
13 14 15 16 17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32 33 34 35
2011
01
2010
01 02 02 03 04 05 07 08 09 10 11 12
2009
01 02 03 04 05 06 07 08 09 10 11 12
2008
01 02 03 04 05 06 07 08 09 10 11 12
2007
01 02 03 04 05 06 07 08 09 10 11 12
2006
01 02 03 04 05 06 07 08 09 10 11 12
Software Developer's Journal
Spis treści

Nazwy sekcji Opisy artykułów Miniaturki

Numer 1/2011:

Ścieżki kariery
 6 Architekt oprogramowania (Zbrzeźny)
W niniejszym artykule, chciałbym przybliżyć wszystkim czytelnikom rolę architekta oprogramowania w organizacji lub projekcie informatycznym. Należy zauważyć, że nie ma jednej i powszechnie uznanej definicji „architekta oprogramowania”. Łatwiej mówić jakie zadania są stawiane przed architektom oprogramowania i jakie cechy powinna mieć osoba określana tym mianem. To właśnie na tych elementach postaram się skoncentrować w niniejszym artykule.
10 Specjalista IT XXI wieku (Borczyk)
Kim jest idealny informatyk początku XXI wieku? Czy stawiane mu wymagania zawodowe są takie same, jak jeszcze kilka lat temu? Czy aby zostać dobrym specjalistą IT z perspektywami pracy w ciekawym miejscu wystarczy ukończyć studia informatyczne i znać języki programowania? Nie, ponieważ teraz liczą się również umiejętności interpersonalne oraz chęć ciągłego rozwoju i podnoszenia swoich kwalifikacji.
12 Dyplom w kieszeni i co dalej... (Jabłoński)
Rozważasz pracę jako programista? A czy zastanawiałeś się kiedyś nad tym, czym chcesz się zająć za 5 lat? Jeżeli jeszcze nie pracowałeś w firmie programistycznej, koniecznie przeczytaj ten artykuł. Zobaczysz w jakim kierunku możesz się rozwijać i jak się przygotować do poszukiwania interesującej pracy.
16 Możliwości rozwoju własnej kariery w IT (?)
Brak streszczenia
19 Programista przyszłości (Młodzińska)
Elastyczny, mobilny, wykształcony, specjalista w swojej dziedzinie, mówiący wieloma językami, ambitny – to cechy polskiego developera, które za parę lat już nikogo nie będą wprawiały w osłupienie.
20 Jak ugryźć zleceniodawcę? (Sewastianowicz)
Wielu etatowych programistów często zastanawia się, czy nie lepiej byłoby zwolnić się z pracy i zacząć żyć ze zleceń? Perspektywa zostania wolnym strzelcem może być obiecująca. Nie tak dawno czytałem o człowieku, który na etacie zarabiał 4000 zł, a gdy został freelancerem, szybko osiągnął pułap 10000 zł. Zmiana, przynajmniej z finansowego punktu widzenia, jest bardzo korzystna, ale czy każdy może liczyć na taki rezultat? Czy decydując się na takie rozwiązanie nie będziemy musieli ponieść zbyt wysokich kosztów? A co, jeżeli się nie uda?
Szkolenia i certyfikaty
24 Informacje o szkoleniach podnoszących kwalifikacje (Ostapiński)
Szkolenie jest to zorganizowany proces, który wyposaża nas w wiedzę zarówno praktyczną jak i merytoryczną oraz rozwija nasze umiejętności. Celem każdego szkolenia jest podnoszenie kwalifikacji w zakresie tematycznym przez nie określonym.
28 Szkolenia informatyczne dla każdego (Woźniak)
Zgodnie z badaniami rynku, ponad 90% polskich firm korzysta ze szkoleń, oczywiście w szeroko rozumianym znaczeniu, począwszy od szkoleń językowych, poprzez sprzedaż i komunikację do szkoleń informatycznych. Te ostatnie stanowią, w zależności od raportu, do 20% rynku szkoleń. Artykuł poświęcony jest właśnie szkoleniom informatycznym, a dokładnie wybranym aspektom dostosowywania szkoleń do potrzeb klientów.
Success story
30 Sposób na sukces (?)
Wywiad z Tomaszem Laszuk
Rekrutacja z dwóch perspektyw
34 Rekrutacja i selekcja, czyli jak pozyskać wartościowego pracownika (Kusińska)
W firmach usługowych, szczególnie z branży IT, zespół wykwalifikowanych specjalistów to kluczowy zasób i element przewagi konkurencyjnej organizacji. Jak dobierać pracowników i kształtować zespół, by spełniać wymagania klientów? W tym artykule przedstawię proces rekrutacji i selekcji.
38 Modelowe CV (Gamcarska)
Corocznie wydziały informatyczne na uczelniach wyższych kończą tysiące młodych ludzi. Stają oni przed brutalną rzeczywistością rynku pracy, w której na stanowisko specjalisty IT w dużej korporacji przychodzą setki ofert żądnych sukcesu młodych ludzi. Pojawia się więc pytanie: jak powinno wyglądać CV kandydata, aby zainteresować potencjalnego pracodawcę i w konsekwencji dostać pracę ?
Management
42 Rola kierownika w zwiększaniu efektywności zespołu programistycznego (Zdziech)
W czasach, kiedy biznes stawia informatyce coraz wyższe wymagania, nie tylko co do jakości i funkcjonalności wytwarzanych rozwiązań, ale i czasu, w którym rozwiązanie ma zostać dostarczone, rola kierownika zespołu programistycznego w zwiększaniu zaangażowania, satysfakcji i efektywności zespołu, staje się ważniejsza niż kiedykolwiek przedtem. Nawet jeśli manager nie ma doświadczenia w zarządzaniu osobami oraz nie może liczyć na wsparcie działu HR, może - stosując się do kilku prostych zasad - osiągać w tym obszarze miarodajne sukcesy.
Ciekawostki
45 W cieniu wielkiego 'I' (Gnybek)
W cieniu wielkiego „I” - o odwiecznej wojnie dworzan z żołnierzami, dwóch komórek w jednej firmie.

Numer 12/2010:

Biblioteka miesiąca
 4 STL w praktyce:b usuwanie elementów Efektywne usuwanie elementów przy pomocy biblioteki STL. (Rafał Kocisz)
Programisto C++! Czy jesteś pewien, że wykorzystujesz w praktyce potencjał swojej wspaniałej biblioteki standardowej? Jeśli chcesz się przekonać, czy Twoja wiedza na temat usuwania elementów z STL-owych kontenerów jest pełna, to koniecznie przeczytaj ten artykuł!
Klub techniczny
 8 Technologie Progress OpenEdge - Część 11. Auditing - Śledzenie systemu aplikacji (Piotr Tucholski)
OpenEdge obsługuje wszystkie podstawowe usługi służące zabezpieczaniu procesów biznesowych. Zabezpieczenia te dotyczą kilku funkcji takich jak: uwierzytelnianie, autoryzacja, poufność, integralność, zarządzanie tożsamością i auditing. Auditing jest zintegrowanym i w pełni konfigurowalnym serwisem, pozwalającym kontrolować bazy danych OpenEdge, narzędzia bazodanowe oraz aplikacje ABL i SQL.
14 Flex + Facebook = Lubię to! (Olga Grabek)
Niedawno Adobe udostępniło deweloperom nowy zestaw narzędzi ActionScript, które zapewniają integrację Platformy Flash z jednym z najbardziej popularnych serwisów społecznościowych na świecie - Facebook-iem. Dzięki nim napisanie aplikacji Flex, komunikującej się z Facebook-iem, stało się bardzo proste.
Programowanie c++
24 Asynchroniczna obsługa urządzeń wejścia - wyjścia. Biblioteka boost::asio (Robert Nowak)
Urządzenia wejścia - wyjścia działają znacznie wolniej niż procesor, dlatego w czasie oczekiwania na odpowiedź urządzenia warto go zwalniać. Współczesne systemy operacyjne dostarczają udogodnień, które pozwalają to osiągnąć bez angażowania niezależnych wątków.
Programowanie java
28 Java - Problemy wydajnościowe. Narzędzia, strategie oraz sposoby rozwiązywania problemów wydajnościowych z maszyną wirtualną Java (Marcin Kalas)
Nawet najlepiej napisana aplikacja zrobi na użytkowniku niekorzystne wrażenie, jeżeli pojawią się w niej problemy wydajnościowe. Długie okresy, w których program nie odpowiada, lub też konieczność restartu aplikacji po kilku godzinach pracy mogą zniechęcić użytkownika. Artykuł przedstawia narzędzia oraz strategie, które możemy wykorzystać w sytuacjach, gdy w naszej aplikacji pojawi się właśnie taki problem.
Zarządzanie projektem informatycznym
58 Szacowanie nakładów na wytwarzanie oprogramowania - Metoda punktów przypadków użycia (Use Case Points) (Mateusz Kurleto)
Artykuł prezentuje metodę szacowania nakładów na wytwarzanie oprogramowania metodą punktów przypadków użycia. Na prostym przykładzie ilustruje kolej-
Z życia it-ologa
62 Formalne Inspekcje - Sprawdzony sposób na poprawę jakości kodu (Mariusz Chrapko)
Inspekcja bardzo źle nam się kojarzy. Mamy Inspekcję Budowlaną, Transportu Drogowego, Państwową Inspekcję Pracy, Inspekcję Weterynaryjną, Sanitarną, Ochrony Roślin i Nasiennictwa, Inspekcję Zakładową… Można by wymieniać bez końca… Prawda jest taka, że jak słyszymy to słowo, automatycznie wiemy, że ktoś będzie kogoś lub coś sprawdzał. A my nie lubimy kontroli. Kontrola zakłada, że ktoś może być winny. W artykule będzie o zupełnie innym rodzaju inspekcji - Inspekcji Kodu.
Konkurs
68 Stwórz aplikację i wygraj 30 tysięcy złotych (GG.pl)
Trwa Konkurs dla developerów aplikacji do GG.pl i Gadu-Gadu, któremu patronuje Software Developer’s Jour-

Numer 11/2010:

Biblioteka miesiąca
 4 STL w praktyce. Efektywne sortowanie przy pomocy biblioteki STL (Rafał Kocisz)
Programisto C++! Czy jesteś pewien, że wykorzystujesz w praktyce potencjał swojej wspaniałej biblioteki standardowej? Jeśli chcesz się przekonać, czy Twoja wiedza na temat operacji sortowania oferowanych przez STL jest pełna, to koniecznie przeczytaj poniższy artykuł!
Konkurs
12 Napisz aplikację i wygraj 30 000 złotych! (Gadu-Gadu)
Połączony z komunikatorem Gadu-Gadu serwis GG.pl upublicznia swoje API, co oznacza, że twórcy aplikacji mogą dotrzeć ze swoimi pomysłami do milionów internautów. Uruchomieniu API towarzyszy konkurs, w którym główną nagrodą jest 30 tysięcy złotych.
Klub techniczny
14 Technologie Progress OpenEdge - Część 11. Programowanie obiektowe w języku ABL (Piotr Tucholski)
Język OpenEdge ABL, pierwotnie projektowany do programowania proceduralnego, zawiera obecnie rozszerzenia obsługujące wszystkie mechanizmy programowania obiektowego. Posiada zatem zaimplementowane oba modele programowania, które mogą być wykorzystywane równocześnie, co stanowi jego nową siłę, wyróżniając go na tle wielu innych języków.
Programowanie c++
18 Współdzielenie obiektów w aplikacjach współbieżnych (Robert Nowak)
Używanie tych samych obiektów przez różne wątki może prowadzić do niezdefiniowanego zachowania się aplikacji. Obiekty synchronizacyjne pozwalają eliminować te zjawiska. Ich użycie pokazujemy na przykładzie singletona.
Programowanie c#
24 C# 4.0 i słowo kluczowe „dynamic” (Dariusz Gunia)
C# 4.0 jest najnowszym wydaniem wiodącego języka programowania platformy.NET firmy Microsoft. Jedną z największych i najciekawszych zmian w C# 4.0 jest słowo kluczowe dynamic, które wprowadza do tego statycznie typowanego języka odrobinę magii języków dynamicznych. Odrobina tej magii sprawia, że korzystanie z systemu refleksji czy też obiektów COM staje się znacznie łatwiejsze, co z kolei przekłada się na zwiększenie produktywności programisty. Cały artykuł poświęcony jest właśnie słowu kluczowemu dynamic.
Programowanie java
34 Wiosna z drugą twarzą w chmurach - część III. Kompletny przykład procesu wytwarzania aplikacji Java Server Faces 2.0 z użyciem Spring Framework i Hibernate wraz z jej końcowym wdrożeniem na chmurę obliczeniową Amazon Elastic Compute Cloud (EC2) (Paweł Nieścioruk)
W artykule tym zostanie poruszony temat integracji aplikacji JSF ze Spring Framework wersji 3. W kontekście aplikacji webowej zostaną omówione zalety stosowania frameworku Spring, ze szczególnym uwzględnieniem zagadnienia bezpieczeństwa aplikacji webowych oraz rozwiązań, jakie w tym zakresie oferuje Spring.
Web development
44 Internet w komórce. Wprowadzenie do programowanie mobilnego WebKita (David de Rosier)
Przeglądarki urządzeń mobilnych stają się poważnymi klientami aplikacji internetowych, zarówno w biznesie jak i sektorze prywatnym. Warto zapoznać się z ich możliwościami i ograniczeniami, aby dostosować się do nowych wymagań i trendów.
Warsztaty
68 Sposoby implementacji systemów rekomendacyjnych (Marcin Majda)
Marcin wprowadzi Cię w świat rekomendacji. Pokaże, jak przygotować spersonalizowaną treść która zainteresuje użytkownika. Przedstawi algorytmy podzielone na dwie kategorie: „User based” oparte na podobieństwach użytkowników, oraz „Item based” oparte na podobieństwie pozycji. Autor również przedstawia przykłady zastosowania rekomendacji oraz prezentuje najpopularniejsze me-
74 Optymalizowanie wydajności (Łukasz Osuszek)
Artykuł ten traktuje o możliwościach jakie daje optymalizowanie kodu. Materiał jest kompendium wiedzy na temat technik oraz możliwości optymalizowania algorytmów tworzonych w Delphi.
Zarządzanie projektem informatycznym
90 Jakość kosztuje....a może jest za darmo? (Karolina Zmitrowicz)
Znamy powiedzenie jakość kosztuje. Oznacza mniej więcej tyle, że aby zapewnić odpowiednio wysoką jakość naszego produktu czy usługi, musimy ponieść pewne koszty. Różne to koszty - technologii, narzędzi, wiedzy, dodatkowych testów. Czy jest to jednak rzeczywiście koszt jakości? A może jakość jest za darmo, a koszty wiążą się z jej brakiem?
Z życia it-ologa
98 Miary i analizy w projektach informatycznych (Mariusz Chrapko)
Jedna ze szkół filozoficznych, za której założyciela uważa się Pitagorasa, mówiła, że „liczba jest istotą wszystkich rzeczy”. Twierdzili, że cała rzeczywistość zawiera w sobie matematyczną harmonię. Liczby miały dla nich charakter wręcz mistyczny. Bez liczb wszystko byłoby bezkresne, niepojęte, chaotyczne. Czy mieli trochę racji? Tworząc oprogramowanie, prowadząc projekty informatyczne, myślimy właśnie w kategoriach liczb. O tym będzie ten artykuł.

Numer 10/2010:

Biblioteka miesiąca
 4 Biblioteka XNA - Wprowadzenie (Daniel Biesiada)
Microsoft wprowadzając na rynek konsolę Xbox 360, szybko zmienił zasady gry dla deweloperów. Otworzył się na społeczność programistów. Na tej konsoli nie potrzeba już skomplikowanej umowy licencjonowanego dewelopera, aby sprawdzić swoje umiejętności.
Klub techniczny
14 Technologie Progress OpenEdge - Część 11. Web serwisy w OpenEdge Wystawianie własnych usług (Piotr Tucholski)
Wywoływanie Web serwisów we własnej aplikacji, o którym mogli się Państwo dowiedzieć w poprzednim odcinku, to tylko część tej ciekawej i złożonej technologii. Ciekawszym i trudniejszym zagadnieniem, którym się teraz zajmiemy, jest tworzenie i wystawianie własnych serwisów w środowisku OpenEdge.
Programowanie grafiki
20 Programowalne jednostki cieniowania w XNA: Podstawy - Nowoczesna sztuka przy użyciu GPU (Petri Wilhelmsen)
Grając w najnowsze gry dostępne na nowoczesnych konsolach czy komputerach PC, nieraz zastanawiałeś się zapewne: jak oni zaimplementowali te wszystkie niesamowite efekty graficzne!? Czytając niniejszy artykuł, masz szansę poznać tajniki tworzenia tego rodzaju efektów przy użyciu programowalnych jednostek cieniowania (ang. shaders) oraz biblioteki XNA.
Programowanie c++
34 Aktywny obiekt - Współbieżność i komendy (Robert Nowak)
Aplikacje współbieżne lepiej wykorzystują dostępną moc obliczeniową oraz obsługują zdarzenia podczas długotrwałych obliczeń. Tworzenie takich aplikacji jest bardziej
Programowanie java
40 Wiosna z drugą twarzą w chmurach - Część 2. Kompletny przykład tworzenia aplikacji Java Server Faces 2.0 z użyciem Spring Framework i Hibernate wraz z jej wdrożeniem na chmurę obliczeniową Amazon Elastic Compute Cloud (EC2). (Paweł Nieścioruk)
Artykuł jest drugim z serii artykułów prezentujących kompletny proces wytwarzania aplikacji webowej w technologii Java Server Faces (JSF) w wersji 2.0. W artykule tym autor skupi się na pokazaniu pewnych nowych własności w JSF 2.0 których nie było w JSF 1.2 a które przyczyniają się do szybszego i bardziej efektywnego tworzenia aplikacji webowych w JSF.
50 Wstęp do programowania aspektowego w Spring Framework - Wprowadzenie programowania aspektowego do istniejącej aplikacji opartej o Spring (Tomasz Nurkiewicz)
Framework Spring to nie tylko kontener do wstrzykiwania zależności. Jedną z najczęściej wykorzystywanych (często nieświadomie!) funkcji tego szkieletu jest wsparcie dla programowania aspektowego (AOP). Mamy do wyboru albo minimalistyczną, nieinwazyjną implementację zwaną Spring AOP, albo pełen język AspectJ, będący standardem de facto. Bez względu jednak na implementację warto pochylić się nad możliwościami programowania aspektowego, zwłaszcza, że Spring znakomicie nam to ułatwia.
Sztuczna inteligencja
54 Uczymy komputer rozpoznawać obrazy (Piotr Płoński)
Sztuczna inteligencja (ang. artificial intelligence), w skrócie SI, to dział informatyki starający się za pomocą narzędzi techniki naśladować zachowania człowieka, takie jak np. myślenie, podejmowanie decyzji, generalizacja informacji, rozpoznawanie mowy, obrazów. Jedną z metod SI są sztuczne sieci neuronowe. Są to modele matematycz-
Programowanie urządzeń mobilnych
58 Android vs. Java ME - Cz. 4 Komunikacja z serwisem Flickr (Albert Wachowicz)
Artykuł stanowi kontynuację cyklu Android vs. Java ME. Autor artykułu w tym odcinku opisuje metody integracji aplikacji z serwisem Flickr.
Z życia it-ologa
70 CMMI i Scrum - Balansująca Adaptacja (Mariusz Chrapko)
Wyznawcy „lekkich” metod tworzenia oprogramowania, bardzo często, kiedy słyszą o CMMI, reagują podobnie jak Tom Cruise w roli Ray’a Ferrier’a w filmie „Wojna Światów”, gdy na skrzyżowaniu nieopodal jego domu, spod ziemi wydobywa się potężny pojazd, który spala wszystko, co napotka na drodze - przerażeniem i strachem. CMMI to zło w czystej postaci, apokaliptyczny koniec projektów i organizacji. Spotykam też ludzi, którzy twierdzą zupełnie odwrotnie - to agile jest nie do przyjęcia. Ach ten S-c-r-r-r-u-m - złośliwie warczą, niczym wkurzony bulterier. Skąd te uprzedzenia?
Aplikacje biznesowe
76 Odkrywanie aplikacji - testowanie eksploracyjne. Eksploracja sposobem na testy doskonałe (Karolina Zmitrowicz)
W naturze ludzkiej leży odkrywanie. Poszukiwanie nowych rozwiązań, technologii, innowacji czy też sposobu życia wynika z naszej wrodzonej ciekawości świata. Jeśli potrafimy ułożyć obraz z kawałków puzzli, czemu nie zastosować podobnej metody gdzie indziej? Na przykład w testowaniu.

Numer 9/2010:

Biblioteka miesiąca
 4 STL w praktyce: Wyszukiwanie. Efektywne wyszukiwanie obiektów przy pomocy biblioteki STL. (Rafał Kocisz)
Programisto C++! Czy jesteś pewien, że wykorzystujesz w praktyce potencjał swojej wspaniałej biblioteki standardowej? Jeśli chcesz się przekonać, czy Twoja wiedza na temat operacji wyszukiwania oferowanych przez STL jest pełna, to koniecznie przeczytaj ten artykuł!
Klub techniczny
14 Technologie Progress OpenEdge - Część 10. Web serwisy w OpenEdge - Pobieranie usług innych dostawców. (Piotr Tucholski)
Web serwisy są środkiem do szybkiego osiągnięcia integracji i elastyczności aplikacji w zgodzie z architekturą SOA. Oferują wymierne korzyści, jak łatwość użycia i niezależność od języka programowania i platformy systemowej. OpenEdge oferuje możliwości zarówno wykorzystania Web serwisów oferowanych przez innych dostawców, jak i wystawianie własnych usług. W niniejszym odcinku zajmiemy się pierwszym z powyższych aspektów.
Felieton
20 Outsourcing IT Czyli polska szansa na sukces. (Michał Gronowski)
Polski rynek IT zmienia się dynamicznie, jednak ciągle ma duże perspektywy rozwoju. Coraz częściej stosowanym rozwiązaniem wsród wielu przedsiębiorstw jest outsourcing IT. Centra usług IT (świadczące usługi zarówno dla polskich, jak i zagranicznych klientów) działają prężnie w naszym kraju. Jako przykład można podać ośrodek AccentureTechnology Solutions w Łodzi.
Programowanie c++
22 Stałość Stałość logiczna i stałość fizyczna. (Robert Nowak)
Oznaczanie obiektów, argumentów, metod i składowych jako stałe zwiększa czytelność kodu oraz dostarcza dodatkowych warunków poprawności.
Programowanie urządzeń mobilnych
26 Rozpocznij przygodę z Windows Phone - Zobacz, jak to się robi w technologii Microsoft. (Daniel Dudek)
Na konferencji MIX 2010 w Las Vegas firma Microsoft zaprezentowała swój nowy system operacyjny Windows
36 Windows Phone - Pierwsze kroki. Prosta aplikacja do Twittera. (Dariusz Gunia)
15 lutego 2010 roku, na konferencji Mobile World Congress, Steve Balmer (CEO firmy Microsoft) ogłosił nowy mobilny system operacyjny Windows Phone 7 Series (obecnie oficjalna nazwa brzmi: Windows Phone 7). Bardzo ciekawy jest fakt, że WP7 od strony technicznej nie ma prawie nic wspólnego z poprzednimi wersjami platformy (Windows Mobile), bowiem firma Microsoft postanowiła, że system ten zostanie napisany od podstaw. Producenci smartfonów (np. HTC) zapowiadają pierwsze telefony z WP7 pod koniec bieżącego roku, ale programiści już teraz mogą tworzyć oprogramowanie na nowy system operacyjny.
46 Metody Synchronizacji Bazy Mobilnej SQL Server Compact z SQL Server 2008. Na przykładzie Remote Data Access. (Daniel Dudek)
Pomimo iż firma Microsoft na konferencji MIX 2010 zaprezentowała nowy system mobilny Windows Phone 7, to oznajmiła jednocześnie, że poprzednia wersja systemu, Windows Mobile 6.5, będzie nadal wspierana. Duża ilość aplikacji mobilnych z sektora biznesowego i/lub przemysłowego czy medycznego stosuje systemy Windows Mobile 5.0, 6.0, 6.1, jak również 6.5. W dzisiejszych czasach nie można sobie wyobrazić aplikacji działającej bez dostępu do bazy danych. W artykule pokażę, jak wykonać kopię bazy firmowej do wersji mobilnej, oraz jak przekazać wprowadzone zmiany z powrotem na serwer firmowy.
Programowanie python
54 Kurs Pythona. Odcinek 3: Model obiektowy. (Łukasz Langa)
Dwa pierwsze odcinki miały za zadanie zapoznać nas z podstawowymi cechami języka i środowiska Python. Ostatnią wielką niewiadomą pozostały dla nas klasy. Po ich poznaniu będziemy mogli uznać, że rozumiemy fundamenty Pythona. Do dzieła!
Aplikacje biznesowe
58 Zwinna jakość. Strategie testowania i zapewnienia jakości w Agile. (Karolina Zmitrowicz)
W ostatnich latach zapanowała prawdziwa moda na lekkie metodologie wytwarzania oprogramowania. Szczególnie podejścia zwinne, Agile, takie jak Scrum, zdobywają sobie coraz więcej zwolenników. Szybko, tanio, bez zbędnej biurokracji, działające oprogramowanie na końcu każdej iteracji - ale czy przy zachowaniu wysokiej jakości?
Z życia it-ologa
70 Scrum - Nowa metoda zarządzania projektami. (Mariusz Chrapko)
Zajęcia z WF-u - tak średnio wspominam. Rzucanie piłką lekarską o dziwo nawet mi nieźle wychodziło (czułem się jak jakiś Gigant w walce z bogami Olimpu), ale już na przykład palantówka, biegi dookoła szkoły, skoki przez kozła, stanie na rękach, przewroty - mógłbym być bohaterem programu: „O ludziach, którzy przeżyli własną śmierć”. A Gry Zespołowe? A, to co innego, zwłaszcza siatka. Tu się naprawdę realizowałem: dwie drużyny, rywalizacja, wspólny cel… Może dlatego tak lubię Scrum - Grę w Projekt, z dużym zapasem zdrowego rozsądku.
80 Make IT Green! (Roger Zacharczyk)
Biznes i ekologia? Czemu nie… Również firmy z branży IT mogą wiele zrobić, aby połączyć swoją działalność z ochroną środowiska. Jak? Odpowiedzią jest Green IT, do niedawna tylko moda, a od jakiegoś czasu konieczność, wymóg nakładany na firmy przez Unię Europejską, ale także inne organizacje. Brzmi strasznie? Na szczęście - jak to się mówi - nie taki diabeł straszny jak go malują.

Numer 8/2010:

Biblioteka miesiąca
 6 Google SparseHash - Wyspecjalizowane kontenery haszujące w języku C++ (Rafał Kocisz)
Standardowa Biblioteka Wzorców (STL) języka C++ to wspaniałe i potężne narzędzie. Niestety - ewidentnie doskwiera w niej brak wsparcia dla kontenerów mieszających. Nowy standard C++ ma rozwiązać ten problem, ale póki co trzeba szukać innych alternatyw w postaci zewnętrznych bibliotek. W niniejszym artykule przedstawię implementację tablic haszujących rodem z Google.
Klub techniczny
16 Technologie Progress OpenEdge - Część 9. OpenEdge SQL (Piotr Tucholski)
OpenEdge SQL stworzony przez Progress Software Corporation jest implementacją powszechnie znanych standardów, włączając SQL-92, SQL-99 i SQL-2003. Jest częścią otwartego, elastycznego interfejsu i pełni niezwykle ważną rolę w procesie rozwoju nowoczesnych aplikacji biznesowych OpenEdge.
Programowanie python
20 Kurs Pythona. Cz.II - Struktury danych, funkcje i moduły (Łukasz Langa)
W odcinku wprowadzającym zainstalowaliśmy Pythona i trochę pobawiliśmy się różnymi jego cechami. Po nabraniu swobody w wykorzystaniu linii poleceń możemy zabrać się za bardziej metodyczny przegląd tego, co oferuje nam język spod znaku węża.
Programowanie java
36 Java na BlackBerry - Podstawy pisania aplikacji (Tomasz Milczarek)
Artykuł przedstawia podstawy programowania aplikacji w języku Java pod system BlackBerry. W podstawowym zakresie omówione zostały cztery tematy:ogólne sposoby tworzenia aplikacji, budowanie interfejsu użytkownika, programowanie menu telefonu oraz zagadnienie utrwalania danych.
42 Wiosna z drugą twarzą w chmurach - Część I (Paweł Nieścioruk)
Kompletny przykład procesu wytwarzania aplikacji Java Server Faces 2.0 z użyciem Spring Framework i Hibernate wraz z jej końcowym wdrożeniem na chmurę obliczeniową Amazon Elastic Compute Cloud (EC2).
Niezawodne oprogramowanie
50 Testowanie gier na urządzenia mobilne (Grzegorz Tarczyński)
Testowanie gier jest niezwykle złożoną materią, zwłaszcza przy dużych, wysokobudżetowych produkcjach. Gry na urządzenia mobilne zwykle do takich nie należą, co nie oznacza, że proces testowania jest tu mało istotny czy możliwy do pominięcia. Jaka jest specyfika tego procesu, dowiecie się z niniejszego artykułu.
Z życia it-ologa
58 CMMI - Dlaczego powinno Cię to obchodzić? (Mariusz Chrapko)
Pamiętam jak zaczynałem swoją przygodę z rozwiązywaniem sudoku. Na początku było niemiłosiernie trudno, potem stopniowo łapałem „wiatr w żagle”. Podobnie jest z modelem CMMI. Na pierwszy rzut oka wydaje się bardzo skomplikowany. Później, w miarę jak stopniowo go poznajemy, zaczynamy dostrzegać jego wewnętrzne „piękno” i logikę, widzimy że jego praktyki naprawdę mają sens i mogą nam się przydać. Tak było ze mną, i tak - jestem o tym przekonany - będzie również z Wami!

Numer 7/2010:

Biblioteka miesiąca
 6 Biblioteka Boost.Signals Wzorzec Obserwator odkryty na nowo (Rafał Kocisz)
Klub techniczny
14 Technologie Progress OpenEdge - Część 8. OpenEdge Management - monitorowanie systemu aplikacji (Piotr Tucholski)
Programowanie c++
20 Wielometody Rozszerzenie funkcji wirtualnych (Robert Nowak)
Felieton
48 Dokąd zmierza Web - Czyli stąd do Matrixa (Marek M. Głowacki)
52 Web 2.0/3.0 - Dziś i jutro (Andrzej Olsztyński)
54 Ekspert (Paweł Pilarczyk)

Numer 5/2010:

Biblioteka miesiąca
 6 Przetwarzanie obrazów za pomocą OpenCV (Igor Kupczyński)
Przetwarzanie obrazu jest też częstym motywem w filmach sciencie-fiction. Bohaterowie za pomocą swoich komputerów potrafią wskazać na obrazie niewidoczne gołym okiem detale, wyostrzyć rozmyte napisy; roboty namierzają wrogów na polu bitwy, a system ochronny wpuszcza do budynku tylko tych, których rozpozna na podstawie obrazu z kamery.
Klub techniczny
12 Eclipse IDE (Tomasz Maćkowiak)
Dla języka Python istnieje wiele edytorów. Poczynając od konsolowych, takich jak vim, przez dedykowane, jak IDLE, kończąc na wielo-językowych platformach programistycznych, jak Netbeans lub Eclipse. Niniejszy artykuł prezentuje wykorzystanie popularnego Eclipse do rozwoju aplikacji w Pythonie.
17 Opis DVD
Narzędzia
18 Buildout - Narzędzie automatyzujące budowę i zarządzanie aplikacjami w języku Python (Wojciech Lichota)
W trakcie rozwoju aplikacji ilość zależnych bibliotek stopniowo się zwiększa. Ręczne zarządzanie projektem staje się mało wygodne, a instalacja oprogramowania na nowej maszynie wydłuża się. Użycie narzędzia Buildout pozwoli zautomatyzować większość tych czynności i ułatwi pracę programistom i administratorom.
Programowanie
22 Django - Szybkie tworzenie serwisów Web 2.0 (Paweł Mandes)
Jeśli cenisz sobie prostotę, elegancką architekturę i zwięzły kod, a jednocześnie potrzebujesz zaawansowanych funkcjonalności i do tego gonią Cię terminy - framework Django jest dla Ciebie. Powstał na potrzeby redakcji on-line, gdzie szybkość reakcji na ciągłe zmiany jest kluczowa.
32 Plone - Zbuduj firmowy intranet (Radosław Jankiewicz)
Wybierając narzędzie mające zapewnić bezpieczną i sprawną komunikację wewnątrz-firmową, warto zwrócić uwagę na Plone - otwarty system CMS oferujący szeroki zakres możliwości dysponujący wieloma dodatkowymi produktami, które pozwalają dopasować go do własnych potrzeb. W poniższym artykule przedstawione zostało zastosowanie Plona w roli firmowego intranetu.
40 Python 3... czyli co nowego w trzeciej edycji języka (Łukasz Langa)
Łukasz przeprowadzi Cię przez nowości w najświeższej edycji języka programowania Python i pokaże, w jaki sposób wpływają na sposób tworzenia programów.
46 Testy wydajnościowe z Funkloadem (Andrzej Mleczko)
Masz problemy z wydajnością swojej aplikacji? Nie wiesz gdzie leży problem? A może po prostu chcesz wiedzieć czy twoja konfiguracja wytrzyma prawdziwe obciążenie? W dodatku szukasz rozwiązania OpenSource? Przeczytaj koniecznie ten artykuł...
50 Django - Doświadczenia z pracy z frameworkiem (Łukasz Langa)
O ile dokumentacja Django i blogosfera obfitują w zachęcające tutoriale i przewodniki dla początkujących, dość rzadko znaleźć można artykuły wykraczające poza przysłowiowy „pierwszy blog w 15 minut”.
Bazy danych
54 Krótki wstęp do ZODB (Michał Węgrzynek)
Prawie każda aplikacja, z wyjątkiem najprostszych skryptów, musi w jakiś sposób gromadzić przetwarzane dane. Może je zapisywać bezpośrednio w plikach, w relacyjnych bazach danych czy w jednej z modnych ostatnio baz NoSQL, takich jak CouchDB czy MongoDB.
58 Sieć dziś i jutro - Rozpowszechnienie Internetu zmieniło na zawsze sposób, w jaki pracujemy, odpoczywamy i komunikujemy się ze sobą
Paweł Korzec, Krzysztof Wysocki Po pierwszej rewolucji Internetu przyszła jej kolejna faza: Web 2.0 i dzięki powstaniu serwisów społecznościowych wciągnęła do sieci miliony nowych użytkowników. Co przyniesie ze sobą trzecia fala? Zapraszamy do czytania.
Aplikacje biznesowe
62 Wdrożenia SAP - droga przez mękę? Co może się nie udać? (Karolina Zmitrowicz)
Wdrażanie systemu SAP jest przedsięwzięciem wymagających ścisłej współpracy ze strony firmy wdrożeniowej i klienta. Rozwiązania typu SAP posiadają z reguły gotową funkcjonalność podstawową ogólną lub dedykowaną dla danej branży. Warsztaty
70 C++ Qt 4.5 - Podstawy budowy aplikacji przy użyciu biblioteki Qt (Łukasz Klejnberg)
W artykule zostanie zaprezentowana budowa bardzo prostej aplikacji okienkowej w oparciu o bibliotekę Qt - będzie to zwykły kalkulator z prostymi wyrażeniami arytmetycznymi.
Efektywnośc pracy
78 Na kiedy? - Planowanie zadań programistycznych
Michał Bartyzel, Mariusz Sieraczkiewicz Z opracowywaniem zadań programistycznych wiążą się dwa kluczowe pytania: ile to zajmie? oraz na kiedy? Pierwsze pytanie dotyczy szacowania zadań, czyli określania w jednostkach czasu, jak długo potrwają prace. Drugie pytanie dotyczy planowania - czyli osadzania oszacowanych czynności w kalendarzu. W artykule zajmujemy się tym drugim pytaniem.

Numer 4/2010:

Biblioteka miesiąca
 6 Google Protocol Buffers - Wydajna i elastyczna alternatywa dla XML (Rafał Kocisz)
XML to potężne i przenośne rozwiązanie, aczkolwiek czasami wydaje się być nieco... przerośnięte. Jeśli szukasz prostszej, bardziej wydajnej, a zarazem elastycznej alternatywy, to koniecznie przeczytaj poniższy artykuł. Biblioteka Google Protocol Buffers jest prawdopodobnie właśnie tym czego szukasz!
11 Opis DVD
Klub techniczny
12 Debugowanie aplikacji - Część 1: Podstawy debugowania
Jeanette Stallons Debugowanie to proces wyszukiwania i usuwania błędów lub problemów występujących w aplikacji. Zadanie to jest często trudne i frustrujące, ale można je znacznie uprościć, korzystając z debugera - programu narzędziowego, który umożliwia monitorowanie i kontrolowanie wykonywania aplikacji krok po kroku oraz monitorowanie i modyfikowanie wartości zmiennych.
Programowanie c++
16 Wizytator - Upraszczanie zależności przy modyfikacji interfejsu klas (Robert Nowak)
Operacje dla obiektów w hierarchii klas często implementujemy, wykorzystując funkcje wirtualne. Gdy liczba takich metod rośnie, klasy mają trudną do określenia odpowiedzialność, kod staje się mało przejrzysty. Przedstawiona technika rozwiązuje ten problem.
Programowanie java
20 Java EE 6 - Nowa era aplikacji serverowych (Piotr Kochański)
Artykuł przedstawia możliwości najnowszej, szóstej, wersji technologii Java Enterprise Edition (Java EE). Wersja ta wprowadziła wiele istotnych modyfikacji, dzięki którym Java EE zostało znacznie unowocześnione. Poprawiono funkcjonalność technologii, kładąc jednocześnie duży nacisk na łatwość użycia, elastyczność.
Języki programowania
34 The Go programming language (Bartosz Przybylski)
Język programowania Go jest językiem młodym, gdyż jego premierę światową datuje się na 10 listopada 2009 roku. Właśnie wtedy na blogu Google Code została zmieszczona informacja na temat upublicznienia tego języka na licencji BSDL.
Sztuczna inteligencja
40 Sztuczna inteligencja do gier logicznych Jak nauczyć komputer gry w szachy (Mateusz Bożykowski)
Chciałeś kiedyś napisać sztuczną inteligencję, która umiałaby grać w szachy, warcaby lub inną, podobną grę? To wcale nie musi być trudne. Dzięki temu artykułowi nauczysz się jak ją stworzyć, a dodatkowo otrzymasz kod gotowy do wykorzystania w Twojej własnej aplikacji oraz przykładowy program grający w warcaby.
Warsztaty
50 Postprocessing w OpenGL - Dostawca usługi zarządzania komunikatami dla Websphere AS 7 (Bartłomiej Filipek)
Ogrom mocy obliczeniowej, którą mamy dostępną we współczesnych kartach graficznych (GPU), sprawia, że metody renderingu, które kiedyś były bardzo czasochłonne i zajmowały kilka godzin, teraz z powodzeniem mogą być stosowane w interaktywnych aplikacjach graficznych, jak gry komputerowe. Jedną z takich metod jest postprocessing obrazów.
56 Tworzenie galerii zdjęć przy pomocy ASP.NET MVC, cz. I - Programowanie części galerii zdjęć przeznaczonej dla użytkownika z wykorzystaniem możliwości platformy.NET Framework oraz wzorca projektowego MVC. (Marcin Jamro)
W pierwszej części artykułu została przedstawiona „krok po kroku” budowa fragmentu aplikacji przeznaczonego dla użytkownika, tzn. umożliwiającego wyświetlanie listy albumów, zdjęć należących do konkretnego albumu, a także pojedynczego zdjęcia oraz dodawanie komentarzy. Ponadto, krótko opisany został framework ASP.NET MVC, a także sposoby tworzenia aplikacji internetowych korzystających z niego.
Aplikacje biznesowe
64 Modelowanie procesów biznesowych Praktyczne wykorzystanie BPMN (Marcin Sałaciński)
Analiza i opis procesów biznesowych jest chlebem powszednim analityka IT. Rezultaty prac, diagramy i opisy można przedstawiać w dowolny zrozumiały sposób, jednak najlepszym podejściem jest wykorzystanie w tym celu standardów, jak BPMN (Business Process Modeling Notation), notacja zrozumiała dla większości odbiorców prac analitycznych. W artykule przedstawiam najważniejsze pojęcia, elementy i praktyczny przykład procesu biznesowego.
Programowanie gier
74 Tworzenie gry Flash w pigułce
Robert Podgórski, Bartek Indycki, Michał Wróblewski Programowanie gier to jedne z ciekawszych rodzajów projektów programistycznych. Dzięki platformie Flash’owej stworzenie ciekawej (i przynoszącej niezłe zyski) gry nie jest większym problemem.
Efektywnośc pracy
78 Ile to zajmie? - Rzecz o szacowaniu zadań programistycznych
Michał Bartyzel, Mariusz Sieraczkiewicz W artykule skoncentrowaliśmy się na jednym z częściej powtarzanych pytań w zespołach programistycznych: ile to zajmie? Pytanie to nieustannie spędza z oczy sen zarówno liderom, jak i programistom. Skoro jest ono tak ważkie, to przyjrzyjmy mu się dokładniej!

Numer 3/2010:

Biblioteka miesiąca
 6 Boost String Algorithms - Eleganckie i efektywne przetwarzanie napisów w języku C++ (Rafał Kocisz)
Czy próbowałeś kiedyś budować zaawansowane narzędzia do przetwarzania tekstu, bazując na funkcjonalności
Programowanie c++
12 Tworzenie kopii obiektów - Wzorzec prototypu (Robert Nowak)
Kopiowanie obiektów, czyli tworzenie duplikatów, przechowujących te same informacje bez niszczenia oryginału, jest jedną z podstawowych operacji, które wykorzystujemy w programowaniu. Artykuł opisuje tę czynność, analizując techniki wspierające proces tworzenia kopii w języku C++.
15 Opis DVD
Programowanie java
16 Przewodnik po SCJP - czyli certyfikat z Javy - część 3 (Krzysztof Rychlicki - Kicior)
Proces zdobywania certyfikatów, potwierdzających umiejętności z różnych dziedzin wiedzy, stał się jednym z ważniejszych elementów osobistego rozwoju. Proces ten ma miejsce również w branży IT; certyfikaty dla programistów (Java lub.NET), administratorów czy sieciowców (Cisco) można coraz częściej odnaleźć w CV osób starających się o pracę, zwłaszcza w owianym złą sławą kryzysie gospodarczym.
Sztuczna inteligencja
20 Paradygmat programowania CLP - Metody rozwiązywania trudnych problemów kombinatorycznych (Łukasz Mazur)
Wysoka efektywność metod CLP jest rezultatem wykorzystania procedur propagacji ograniczeń oraz dystrybucji zmiennych, w celu poszukiwania rozwiązań spełniających wszystkie przyjęte ograniczenia. Procesy te realizowane są w sposób klasyczny, jak i rozproszony, dając bardzo dobre rezultaty obliczeniowe.
Bezpieczeństwo
32 Niezawodność systemów informatycznych (Andrzej Olchawa)
Nieustanny postęp technologiczny, zwłaszcza ten dotyczący świata IT, sprawia, że mamy do czynienia z globalną komputeryzacją oraz informatyzacją, która z dnia na dzień zatacza coraz to szersze kręgi. Postęp służyć powinien globalnemu dobru, jednak wraz postępem pojawiają się coraz to nowe problemy oraz pułapki, których nie sposób traktować z przymrużeniem oka.
Warsztaty
36 Hibernate Search API - Mechanizm wyszukiwania pełnotekstowego w Hibernate (Łukasz Antoniak)
Aplikacje bazodanowe stanowią obecnie znaczący odsetek oprogramowania tworzonego na zlecenie prywatnych firm, jak i ogromnych korporacji. Większość aplikacji realizuje warstwę dostępu do danych za pomocą relacyjnie zorientowanej implementacji bazy danych (ang. Relational Database Management System). Wybór ten ogranicza swobodę przeszukiwania zawartych informacji do zbioru ściśle sformalizowanych zapytań udostępnianych przez aplikację. Artykuł ten wprowadza w zagadnienia przeszukiwania pełnotekstowego oferowanego przez Hibernate Search oraz Apache Lucene.
44 Spring.NET - uniwersalny spinacz. Wprowadzenie do konfiguracji fabryki obiektów. (Piotr Wyczółkowski)
Spring to bardzo wygodne i szeroko konfigurowalne narzędzie pozwalające spinać ze sobą poszczególne obiekty, jak i integrować całe warstwy aplikacji.
Aplikacje biznesowe
56 SOA - Tworzenie serwisów wspomagających proces integracji (Paweł Pietrasz)
Tworzenie rozwiązań integracyjnych to nie trend, ale wymóg stawiany przed projektantami systemów informatycznych. Coraz bardziej złożone procesy biznesowe wymagają od nas projektowania rozwiązań dotykających coraz to większej ilości systemów, które w przeszłości często nie były projektowane w sposób zapewniający łatwą możliwość integracji.
Felieton
62 Certyfikacja i co dalej? (Oliwia Łączyńska)
Obecna sytuacja na rynku pracy oraz otwarcie rynków europejskich dla polskich pracowników powoduje, że coraz częściej zastanawiamy się nad sposobem poniesienia własnych kwalifikacji. Szukamy metod, które są postrzegane jako wartościowe i uznawane nie tylko przez polskich pracodawców i managerów. Rozwiązaniem coraz częściej wybieranym przez Programistów zajmujących się Java są certyfikacje SUNa ze względu na ich uniwersalność.
Praca w zespole
66 Audyt techniczny - Czyli jak sprawdzić jakość prac dostawcy IT? (Karolina Zmitrowicz)
Instytucja zlecająca realizację prac IT z definicji pragnie, by jakość tych prac była jak najlepsza, a wymagania dotyczące produkcji systemu oraz samego produktu spełnione na odpowiednim poziomie. Zapewnienia i deklaracje dostawcy to jedno - a uzyskanie konkretnych, obiektywnych dowodów spełnienia wymagań to co innego.
Efektywność pracy
74 Klient, który wie czego chce - Czyli sztuka zadawania pytań
Michał Bartyzel, Mariusz Sieraczkiewicz Jeśli zdarza Ci się spotykać z osobami nietechnicznymi i musisz pozyskiwać od nich konkretne informacje, aby móc sprawnie implementować swoje zadania, to ten artykuł jest dla Ciebie. Skupiliśmy się w nim na technice zadawania pytań, która ogólne informacje pomaga przekuć na mierzalne konkrety.

Numer 2/2010:

Biblioteka miesiąca
 6 Biblioteka cocos2d-iphone - Łatwe programowanie gier 2D pod iPhone (Jakub Węgrzyn)
Biblioteka cocos2d-iphone zapewnia wygodny i łatwy w użyciu zestaw klas, które pozwalają na szybkie tworzenie dwuwymiarowych gier pod iPhone. Jeśli marzysz o tym, aby napisać własną grę na ten właśnie telefon, to koniecznie przeczytaj ten artykuł.
17 Opis DVD
Klub techniczny
18 Co nowego we Flex 4 (Rafał Nagrodzki)
Flex jest jedną z najbardziej zaawansowanych technologii do budowania aplikacji typu RIA w bezpośrednim tłumaczeniu bogatych aplikacji internetowych. Silnikiem wyświetlającym aplikacje Flex’owe jest technologia Adobe Flash, która pozwala na osiągnięcie jednolitego wyglądu uruchamianej aplikacji, niezależnie od wykorzystywanej przeglądarki czy systemu operacyjnego.
22 Technologie Progress OpenEdge - Część 6. Obiekty ProDataSet (Piotr Tucholski)
Progressowe obiekty typu Dataset (ProDataSet) rozszerzają możliwości definiowania złożonych obiektów biznesowych oraz relacji między nimi. Są bardzo ważnym elementem w procesie budowania nowoczesnych aplikacji rozproszonych i wymiany danych z innymi aplikacjami lub ich modułami poprzez XML.
Cloud computing
26 Enterprise Private Clouds (Michał Kuratczyk)
Cloud computing robi od pewnego czasu zawrotną karierę medialną. Tematem zajmują się nie tylko tytuły poświęcone branży IT, ale także biznesowe i popularno-naukowe. Nawet Dilbert wspomina już o cloud computing. Warto zatem zastanowić się czym jest, a czym nie jest cloud computing i jak wpłynie na tworzenie i zarządzanie oprogramowaniem.
Programowanie c++
30 Fabryki obiektów (Robert Nowak)
Techniki opisane w tym artykule pozwalają tworzyć obiekty na podstawie identyfikatorów dostarczanych w czasie działania programu, co jest wygodniejsze niż podawanie typów w formie zrozumiałej dla kompilatora.
Programowanie gier
34 Jak napisać swoją pierwszą grę komputerową (Konstanty Kalicki)
Prawdopodobnie każdy gracz ma w głowie co najmniej jeden pomysł na rewelacyjną grę. Niektórzy idą dalej i zakładają zeszyty w kratkę, których strony zapełniają pomysłami i szkicami. Niestety w tym szczególnym przypadku sam pomysł to zbyt mało i - bez konkretnych kroków - jest niewiele wart.
38 Techniki renderingu 2,5D w grach
City-Interactive team Pierwsze gry wykorzystujce technik 2,5 D nazywan równie pseudo 3D powstay w latach 70 XXw. na 8 bitowe komputery Atari oraz C64. Pionierami tej techniki byy gry „Night Driver”, „Outrun”, „Pole Position”. To technika uywana w rónych kategoriach gier, ma za zadanie stworzenie w grze dwuwymiarowej wraenia przestrzennoci.
42 Mapy kafelków w grach 2D - Wstęp i rysowanie (Jacek Zagrodzki)
Marzysz o stworzeniu swojej wymarzonej dwuwymiarowej platformówki albo klasycznego RTSa? Od czego zacząć? Oczywiście od map kafelków (ang. tiled maps). Dzięki temu artykułowi poznasz podstawy tej techniki - dowiesz się, jak mapy kafelków zaprogramować i jak je rysować.
54 Efektywny blitter - metody optymalizacji (Bartosz Taudul)
Jak to jest, że jedne gry posiadają świetnie wyglądającą i płynną grafikę, podczas gdy inne, mimo znacznie uboższego wyglądu, ledwo sobie radzą z przerysowywaniem pola gry? Dlaczego u konkurencji na ekranie może poruszać się całe mrowie przeciwników, podczas gdy u nas już przy pięciu jest problem? Różnica tkwi w kunszcie programisty odpowiedzialnego za niskopoziomową obsługę grafiki.
60 Xcode - Xcode - oto czytelnik. Czytelniku -oto Xcode. Poznajcie się. Czyli wprowadzenie do programowania najpopularniejszego urządzenia mobilnego na świecie.
Patryk Bukowiecki, Jarosław Wojczakowski iPhone i App Store to światowy fenomen. Firma Apple dokonała niemożliwego i uwolniła wielką siłę niezależnych developerów mogących od teraz spełniać swoje wizje i tworzyć gry jak dawniej, w pojedynkę lub w małych zespołach, siedząc nad nimi po pracy, w garażach.
64 Cyfrowa kreacja - Artystyczne projektowania gier (Arkadiusz Wychadaczuk)
Niezalenie od tego, czy tworzymy film, spot reklamowy, efekty specjalne, wizualizacj czy gr, potrzebujemy narzdzi, które pozwol nam w produktywny i elastyczny sposób stworzy to, co widzimy oczami wyobrani. Wtedy pojawia si konieczno wybrania oprogramowania do tzw. cyfrowej kreacji.
68 Programowanie wizualne - co to takiego? (Arkadiusz Brzegowy)
Niniejszy tekst to informacje, przykłady i tutorial przybliżające technologię Quest3D. Artykułem tym chcę pokazać, że można tworzyć aplikacje 3D i gry szybko oraz bez znajomości języka programowania, bibliotek DirectX czy OpenGL. Jeszcze raz - można. Jest do tego gotowe narzędzie. Resztę znajdziecie poniżej.
72 Producent - A kto to jest? (Łukasz Szczepański)
Rola producenta w procesie budowania gry komputerowej bywa, szczególnie dla osób postronnych, dość niejasna. Czytając poniższy artykuł, przekonasz się, kim jest producent i jaka jest jego rola we wspomnianym procesie.
Efektywność pracy
74 Wspinaczka do profesjonalizmu - Modelowa ścieżka rozwoju kompetencji - podejście pragmatyczne (Sławomir Sobótka)
Autor przedstawi jeden z modeli rozwoju kompetencji - Model Braci Dreyfus, który odnosi się nie tylko do umiejętności technicznych, ale również do ogólnej aktywności każdego z nas. Model pozwoli Ci uświadomić sobie swój aktualny poziom kompetencji w dowolnej dziedzinie oraz zaplanować dalszą drogę ich rozwoju. Spojrzenie przez pryzmat modelu na kolegów z zespołu oraz ew. podwładnych zwiększy efektywność Twej komunikacji i może znacząco wpłynąć na redukcję frustracji.
Felieton
82 GeeCon 2010

Numer 2/2010(38):

12 O wdrażaniu oprogramowania (Kosma Fuławka)
22 Ciągła integracja (Krystian Kaczor)
Pomyśl ile czasu i energii można zaoszczędzić budując nową wersję aplikacji zawsze w ten sam sposób i natychmiast po wprowadzeniu zmian do kodu. Do tego możesz automatycznie wykonać wszystkie testy w stabilnym środowisku testowym, powiadomić zespół o rezultacie i opublikować wyniki wraz z aplikacją gotową do pobrania online. Przestań zastanawiać się, dlaczego wcześniej tego nie zrobiłeś i poznaj Hudson CI już dziś.
30 Właściwe metody + odpowiednie narzędzia = efektywna praca (Ścibór Sobieski)
W niniejszym artykule przedstawiam ogólne informacje o metodyce Scrum, narzędziach Visual Studio 2010 wraz z Team Foundation Server 2010 oraz możliwości ich wspólnego wykorzystania do efektywnego zarządzania projektem informatycznym. Z konieczności podaję najważniejsze kroki, by zacząć samodzielnie pracę w oparciu o te produkty i metodykę Scrum.
46 Komunikacja w projekcie (Jerzy Ziętkowski)
Kilka słów o miękkiej komunikacji w projektach, o porażkach, sukcesach i metodach poprawy tejże, z perspektywy nformatyka, project managera i lidera zespołów.
50 Lotus a Cloud Computing (Wojciech Wilk)
W dzisiejszych czasach każda firma próbuje oszczędzać, jednak w przypadku IT jest to o tyle ryzykowne, iż w konsekwencji możemy otrzymać obniżenie wydajności czy jakości usług informatycznych. A to z kolei przekłada się na wydajność pracowników i oczywiście w konsekwencji na zyski całej firmy.
58 Co to jest chmura (Mariusz Kędziora)
Ostatnio coraz więcej mówi się o Cloud Computing, czyli usługach i serwerach w chmurze. Dla wielu osób jest do nadal bardzo mgliste i magiczne pojęcie. Pytanie czy warto się bać tego i podchodzić jak pies do jeża lub chować głowę w piasek? Czy może lepiej już teraz zrozumieć, o co w tym wszystkim chodzi i być przygotowanym na to, co i tak nadejdzie (czy tego chcemy czy nie).
62 programowania kursora: „Pikendo” (Artur Łagodziński)
Pikendo jako tako nie stanowi rozwiązania, do którego można by zastrzec prawo patentowe. Szczególnie w Europie ta kwestia pozostaje nierozwiązana. Niemniej stwierdziliśmy, iż poniżej przedstawione rozwiązanie powinno już być dawno pewnym standardem. Dlaczego się nim jeszcze nie stało, tego do końca nie wiemy.
64 Podejścia i metody (Szymon Włochowicz)
Dawno, dawno temu w zarządzaniu projektami IT wszystko było proste. Istniało tylko jedno podejście, które w zależności od autora danego opracowania różnie się nazywało. Jedynymi wyborami, które musieli podejmować kierownicy projektów była decyzja którą konkretną metodykę opartą o to podejście wybiorą. Potem przyszły zmiany...
68 Agile w TPM (Paweł Schmidt)
W naszym mocno zantagonizowanym świecie, w którym ścierają się poglądy zwolenników Microsoftu i Linuksa, samochodów japońskich i niemieckich, miłośników marki Sony i Panasonica jest też miejsce dla propagatorów różnych stylów zarządzania projektem. Szczególnie w projektach informatycznych widać znaczną polaryzacje poglądów, gdzie na jednym biegunie mamy PM-ów stosujących tradycyjne metodyki zarządzania projektami (TPM), drugim zaś zwolenników podejścia „zwinnego”, związanego z nurtem Agile.

Numer 1/2010:

14 SERWERY VPS (Sebastian Fyda)
Na rynku działa wielu dostawców serwerów wirtualnych. Jak zatem dobrać serwer VPS do swoich potrzeb? Na co należy zwracać uwagę? VPS VPSowi nierówny - jak zatem porównać konkurencyjne oferty?
18 WPROWADZENIE DO AMAZON SIMPLE STORAGE SERVICE S3 (Grzegorz Szpetkowski)
W niniejszym artykule pokażę w jaki sposób posługiwać się S3 od strony „zwykłego” użytkownika oraz programisty Java, który zamierza wykorzystać oferowany przez Amazon interfejs REST API do budowy własnego systemu. W sposób szczególny przywiązuję uwagę do bezpieczeństwa.
24 WYKORZYSTANIE CHMURY AMAZON S3 ZA POMOCĄ JĘZYKA PHP (Łukasz Koszela)
Coraz częściej słyszy się tak zwane słowo-klucz - cloudcomputing. Ale co to tak naprawdę znaczy dla typowego webdevelopera? W jaki sposób można wykorzystać rozwiązania oparte na chmurze? W niniejszym artykule rzucimy na ten temat trochę światła. Zobaczymy w jaki sposób wykorzystać chmurę Amazon w budowaniu aplikacji webowych, wykorzystując S3, czyli skalowalną usługę składowania danych na chmurze. Na koniec zaimplementujemy prostą aplikację w języku PHP, umożliwiającą upload plików na chmurę wykorzystując S3.
28 HOSTING W CHMURZE (Tomasz Kozłowski)
Infrastruktura IT jest niezbędnym elementem funkcjonowania praktycznie każdej firmy, bez względu na wielkość. Od prostej strony internetowej, przez systemy CRM, ERP, Bazy Danych itp aż po zaawansowane systemy autorskie - wszystkie aplikacje wymagają serwerów, mocy obliczeniowej, przestrzeni dyskowej i infrastruktury sieciowej do transferu danych. Zapotrzebowanie na usługi hostingowe rosło i zmieniało się przez lata choć modele hostingowe pozostawały wciąż takie same. Aż wreszcie pojawił się Cloud Computing - innowacyjna metoda udostępniania infrastruktury IT.
38 PRZYSPIESZYĆ SERWER WWW (Mateusz Kamiński)
Początkujący programista PHP zajmuje się najczęściej wszystkim. Zajmuje się rzecz jasna programowaniem, z powodu braków w załodze nie stroni od kodowania szablonów, a jak szef każe to również „postawi” Linuksa, na którym to wszystko będzie działało. Pora się dokształcić...
46 TWORZENIE SKRYPTÓW W TECHNOLOGIACH TYPU FLASH I SILVERLIGHT (Roger Zacharczyk)
Flash, za Flashem przepaść, za przepaścią Silverlight oraz Java FX. Wielokrotnie sięga się po jedną z tych

Numer 12/2009:

Biblioteka miesiąca
12 Google Collections Library - Eleganckie i efektywne kolekcje w Javie (Rafał Kocisz)
Kolekcje to nieodłączny element skrzynki narzędziowej każdego programisty. Jeśli programujesz w Javie i chciałbyś uprościć oraz zoptymalizować Twój kod odpowiedzialny za obsługę kolekcji, to trafiłeś na właściwy artykuł. Zapraszamy do lektury!
Klub techniczny
16 Połączenie Flex oraz Flash CS3/CS4 - Szybkie tworzenie własnych komponentów (Mateusz Małczak)
Poznajemy rozszerzenie dla programu Flash CS3/CS4 pozwalające na szybkie tworzenie komponentów oraz kontenerów dla frameworka Flex. Wykorzystamy podejście niewymagające znajomości architektury komponentów, a pozwalające znacznie wzbogacić nasze aplikacje.
20 Technologie Progress OpenEdge - Część 4. Serwer Aplikacji OpenEdge (Piotr Tucholski)
Serwer Aplikacji (AppServer) OpenEdge jest potężnym silnikiem transakcyjnym opartym na nowoczesnych standardach. Zapewnia bezpieczne zarządzanie b. dużymi transakcjami, niezależność od interfejsu użytkownika oraz możliwość stworzenia aplikacji zgodnej ze standardami architektury zorientowanej na serwisy (SOA).
Programowanie c++
24 Metaprogramowanie - Algorytmy wykonywane w czasie kompilacji (Robert Nowak)
Metaprogramowaniem nazywa się tworzenie programów, które w wyniku działania dostarczają programów. Metaprogramy stosujemy aby zwiększyć szybkość działania programów oraz ich czytelność, a także aby unikać powielania kodu, wtedy gdy te same operacje chcemy wykonać dla grupy typów.
27 Opis DVD 06 Aktualności (Rafał Kocisz)
Programowanie java
28 Przewodnik po SCJP - Czyli certyfikat z Javy - część 1 (Krzysztof Rychlicki - Kicior)
Proces zdobywania certyfikatów, potwierdzających umiejętności z różnych dziedzin wiedzy, stał się jednym z ważniejszych elementów osobistego rozwoju. Proces ten ma miejsce również w branży IT; certyfikaty dla programistów (Java lub.NET), administratorów czy sieciowców (Cisco) można coraz częściej odnaleźć w CV osób starających się o pracę.
36 BlockingQueue w Javie - Prezentacja interfejsu BlockingQueue, kilku możliwych jego wykorzystań, oraz słów kilka o programowaniu wielowątkowym w Javie (Dariusz 'Scythe' Wawer)
Synchronizowana kolejka to podstawa wielu aplikacji wielowątkowych - prawdopodobnie większość z nas kiedyś taką zaimplementowała. Pytanie jednak brzmi: po co? Skoro często warto po prostu sięgnąć po gotowe rozwiązanie, takie jak BlockingQueue.
Języki programowania
40 Delphi i C++Builder 2010 - Nowości wprowadzone w Delphi© 2010 i C++Builder© 2010 (Bogdan Polak)
Środowisko Delphi powstało w roku 1995, C++Builder dwa lata później. Mimo upływu czasu ich architektura (komponenty VCL, programowanie wizualne) nadal zapewnia przewagę nad innymi platformami programistycznymi, w obszarze budowy aplikacji okienkowych dla systemu Windows.
Programowanie urządzeń mobilnych
46 J2ME: Bluetooth i MMAPI - Czyli Bluetooth i MMAPI w jednym stali domu (Szymon Ulewicz)
Niewiele osób zdaje sobie sprawę z możliwości swoich telefonów komórkowych. W tym artykule zaznajomimy się z dwiema bibliotekami dostępnymi dla platformy J2ME, które posiadają ogrom możliwych zastosowań.
Warsztaty
60 Czyń CUDA (część 1) - Architektura
Michał Matuszak, Jacek Matulewski GPGPU to skrót, który na ustach informatyków pojawia się coraz częściej. Oznacza general-purpose computing on graphics processing units, czyli możliwość przeprowadzania dowolnych silnie zrównoleglonych obliczeń na procesorach kart graficznych, których spora moc była do tej pory wykorzystywana jedynie do generowania grafiki trójwymiarowej, czyli w wielu przypadkach okazjonalnie.
68 AJAX w jQuery - Jak stworzyć efektowną galerię w AJAX-ie z wykorzystaniem frameworka jQuery cz. 1 (Leszek Sewastianowicz)
Coraz więcej stron w Internecie wykorzystuje technologię AJAX. Jej znajomość nie jest już wyjątkowym atutem programisty, a coraz częściej jedną z podstawowych umiejętności wymaganych praco- i zleceniodawców. Można też znaleźć wiele rozwiązań ułatwiających pisanie programów wykorzystujących AJAX-a. Jednym z nich jest framework jQuery.
Efektywność pracy
72 Skromny programista - O nieprzecenianiu własnych możliwości
Michał Bartyzel, Mariusz Sieraczkiewicz Ponad trzydzieści lat temu Edgar Dijkstra w swoim przemówieniu The humble programmer stwierdził, że ludzkie czaszki są zbyt małe, by poradzić sobie z problemami programistycznymi. Zadziwiające jest to, jak praktyczny wydźwięk ma to stwierdzenie.
Akademia uml
76 Liczebności klas uczestniczących w powiązaniach (Szymon Zioło)
Określenie liczebności klas biorących udział w powiązaniach na diagramach klas to jedna z najważniejszych decyzji analitycznych, mająca niebagatelny wpływ na funkcjonalność modelowanego systemu. Zobaczmy więc, jak poprawnie określać liczebności, aby uniknąć przykrych niespodzianek.

Numer 11/2009:

Biblioteka miesiąca
14 Biblioteka standardowa języka Groovy - Groovy bez bibliotek języka Java (Rafał Kocisz)
Trzy miesiące temu (w SDJ 8/2009) opublikowaliśmy artykuł wprowadzający do języka Groovy. Temat był na tyle obszerny, iż pozwolił jedynie skupić się na podstawach - złożonej składni, znacząco odbiegającej od języka Java. W bieżącym numerze rozwiniemy poznane umiejętności o bibliotekę standardową języka.
Klub techniczny
22 Aplikacje AIR w przeglądarce - Jednoczesne utrzymywanie aplikacji dla środowiska AIR oraz przeglądarki (Mateusz Małczak)
Ta sama technologia pozwala nam tworzyć aplikacje AIR oraz ich wersje webowe. Poznając techniki jednoczesnego ich utrzymywania, możemy dostarczać obie wersje jednocześnie.
26 Technologie Progress OpenEdge - Część 3. OpenEdge Architect (Piotr Tucholski)
OpenEdge Architect jest nowoczesnym, zintegrowanym środowiskiem deweloperskim (IDE) do budowania i utrzymania aplikacji zgodnymi ze standardami SOBA. Został zbudowany na otwartej platformie Eclipse, zapewniającej pracę w otwartym, intuicyjnym, opartym na standardach środowisku.
Nowoczesny c++ w praktyce
30 C++0x w działaniu: MSVC 10.00 (Bartosz Taczała)
Kompletna propozycja nowego standardu C++, C++0x nadchodzi wielkimi krokami. Dwie wiodące rodziny kompilatorów, Microsoft Visual C++ i GNU GCC, już teraz decydują się na włączanie niektórych elementów języka. W becie Microsoft Visual Studio 2010 wprowadzono mechanizmy nowego standardu: funkcje lambda, referencje do r-wartości, statyczne asercje, typ auto.
Programowanie c++
40 Sprytne wskaźniki - Automatyczne niszczenie obiektów utworzonych na stercie w C++ (Robert Nowak)
Programista używając C++ musi dbać o zwalnianie obiektów dynamicznych (utworzonych na stercie). Zadanie to można automatyzować, wykorzystując obiekty pośredniczące, tak zwane sprytne wskaźniki. Narzuty czasowe i pamięciowe tego rozwiązania są pomijalne w większości zastosowań.
44 Klasy cech w programowaniu generycznym (Robert Nowak)
W języku C++ do tworzenia generycznych algorytmów lub struktur danych używamy szablonów. Artykuł zawiera techniki odpowiadające instrukcji warunkowej, która będzie wykonywana w czasie kompilacji.
47 Opis DVD 08 Aktualności (Rafał Kocisz)
Perełki c++
48 Statyczne asercje w języku C++ (Rafał Kocisz)
Dynamiczne asercje to idiom powszechnie znany i stosowany, statyczne asercje są zdecydowanie mniej popularne. Jeśli chciałbyś przekonać się, do czego służy ten ciekawy mechanizm, zapraszay do lektury artykułu.
Bazy danych
52 Baza w czasie rzeczywistym
Wojtek Jurewicz Termin „baza danych” najczęściej kojarzony jest z relacyjną bazą danych przechowywaną na dyskach. Skojarzenie jest jak najbardziej słuszne, ponieważ relacyjne bazy są obecnie podstawą niemal każdego systemu informatycznego i praktycznie zdominowały rynek komercyjnych aplikacji.
60 Koncepcja hurtowni danych czasu rzeczywistego - Wprowadzenie do tematyki rozwoju hurtowni danych (Łukasz Mazur)
Dane czasu rzeczywistego bardzo dobrze spełniają rolę w dzisiejszym świecie biznesu, który jest coraz bardziej dynamiczny, więc potrzebuje bardzo szybkich reakcji systemów analitycznych, aby decyzja była aktualna. Istnieje wiele trudności na tej drodze, aby pokonać bariery, które występują podczas próby implementacji takiego rozwiązania.
Warsztaty
66 Komputery kwantowe - Przyszłość informatyki? (Rafał Kułaga)
Każdy z nas z pewnością słyszał o komputerach kwantowych, próbach ich zbudowania oraz niemalże nieograniczonych możliwościach, jakie miałoby dać ich wykorzystanie. W tym artykule zapoznasz się z podstawami technologii przetwarzania informacji przy użyciu komputerów kwantowych. Zapraszamy do lektury!
Efektywność pracy
72 Strefa „0” - Zarządzanie stanem w trakcie programowania
Michał Bartyzel, Mariusz Sieraczkiewicz Programowanie nie jest odtwórczym przepisywaniem czyichś koncepcji. Programowanie to zadanie wybitnie kreatywne i jako takie ma swoje prawa i reguły, którymi się rządzi. W artykule zastanowimy się nad tym, co konkretnie dzieje się z programistą, który z zapałem oddaje się swojej twórczej pasji. Zastanowimy się również, jaka jest natura czegoś, co programiści nazywają Strefą.
Akademia uml
74 Klasy asocjacyjne - na diagramach klas w języku UML (Szymon Zioło)
Klasy asocjacyjne są interesującym rodzajem powiązań między klasami. Stosujemy je wtedy, gdy potrzebujemy przypisać jakieś atrybuty lub metody do samego powiązania. Zobaczmy, jak ich używać poprawnie i elegancko, oraz kiedy warto je zastępować zwykłymi klasami.
Ekspert
76 Skuteczne wdrożenia dla sektora MSP - czyli jak zdobyć 91% rynku
Piotr Taras dyr. ds. rozwoju sieci Partnerskiej w Polsce

Numer 10/2009:

Biblioteka miesiąca
14 Boost.Foreach - Proste rzeczy niech pozostaną proste (Rafał Kocisz)
Pisanie w języku C++ pętli iterujących po elementach kontenera jest zadaniem uciążliwym. Na pomoc przybywa biblioteka Boost.Foreach. Czy i w jakich sytuacjach warto z niej korzystać, przekonasz się, czytając artykuł.
Klub techniczny
20 Technologie Progress OpenEdge - Część 2. System Relacyjnych Baz Danych OpenEdge (Piotr Tucholski)
System relacyjnych baz danych OpenEdge charakteryzuje się wyjątkowo niskimi kosztami utrzymania i wysoką skalowalnością. Dzięki wydajnemu interfejsowi OpenEdge ABL oraz standardowemu SQL z API do obsługi ODBC i JDBC zapewnia dużą elastyczność w procesie tworzenia aplikacji.
28 Komunikacja Flex - Java za pomocą BlazeDS (Piotr Walczyszyn)
W tym wydaniu Klubu Technicznego zbudujemy prosty komunikator internetowy w oparciu o środowisko Adobe AIR oraz serwer Tomcat wykorzystujący otwartą technologię BlazeDS. Poznamy mechanizmy pozwalające wykonywać zdalne metody po stronie serwera oraz odbierać po stronie klienta komunikaty metodą data-push. Dowiemy się, jak stworzyć projekt aplikacje w Javie i technologii Adobe Flex/AIR.
Warsztaty
34 SOA - czyli Service Oriented Architecture (Radosław Wasiukiewicz)
W artykule tym postaramy się Państwu przybliżyć koncepcję SOA, czyli Service Oriented Architecture. Ponieważ o SOA napisano już wiele książek, a temat jest, nie przesadzając, szeroki jak rzeka, przedstawimy tylko główną ideę stojącą za tym sposobem myślenia. Czemu myślenia, a nie implementacji? Odpowiedź jest kluczowa do zrozumienia, co kryje się za słowami SOA.
40 Apache ServiceMix ESB w kontekście SOA (Radosław Wasiukiewicz)
W artykule postaramy się Państwa przekonać, że SOA (Service Oriented Architecture) nie jest tylko pustym paradygmatem, niemożliwym do realizacji, ale dzięki ESB (Enterprise Service Bus) idea, która za nią stoi, ma jak najbardziej sens, a wprowadzenie SOA nie jest wcale takie straszne. Jako przykładową szynę przedstawimy Apache ServiceMix.
Narzędzia programistyczne
46 Testowanie dla programistów - Poza testy jednostkowe (Piotr Kochański)
Testowanie oprogramowania przeszło w ostatnich latach prawdziwą rewolucję. Kiedyś podział zadań był jasny: programista pisał program, a tester sprawdzał jego działanie. Takie podejście zmieniło się radykalnie po upowszechnieniu się testów jednostkowych. Dzięki nim w proces testowania zostali włączeni także sami jego twórcy - programiści. Przyczyniło się to w istotny sposób do poprawy jakości oprogramowania. Zobaczymy zatrzymała się w pół kroku. Wychodząc poza proste testy jednostkowe, programista może zrobić znacznie więcej w dziedzinie zapewniania jakości kodu.
60 Systemy kontroli wersji - CVS, Subversion, Mercurial, Bazaar (Marcin Sałaciński)
Wielu z Was na pewno zetknęło się z systemami kontroli wersji, szczególnie z CVS lub Subversion. Obecnie istnieje wiele takich systemów różniących się od siebie i reprezentujących jeden z dwóch modeli zarządzania kodem źródłowym. Ten artykuł przybliży popularne rozwiązania i omówi ich najważniejsze funkcje wraz z praktycznymi przykładami wykorzystania.
Efektywność pracy
70 Efekt motyla - O tym, jak drobne zmiany w nawykach mogą mieć ogromny wpływ na efektywność
Michał Bartyzel, Mariusz Sieraczkiewicz Wyobraź sobie, że jesteś w stanie zaoszczędzić miesiąc swojej pracy w ciągu roku. Dużo? Wystarczy, że znajdziesz sposób na to, jak oszczędzić pięć minut w ciągu każdej godziny. Nawet niewielkie zmiany, stosowane przez długi czas, dają zaskakujące efekty.
Akademia uml
74 Powiązania - na diagramach klas w języku UML (Szymon Zioło)
Klasy, jakie tworzymy na diagramach klas, łączymy ze sobą za pomocą powiązań. W ten sposób umieszczamy na modelu wiele kluczowych informacji. Zobaczmy, jak tworzyć powiązania poprawnie i elegancko.
Prawo w it
76 Prawo autorskie dla programistów - Autorskie prawa osobiste i majątkowe do programu komputerowego (Piotr Przegaliński)
Prawo autorskie chroni zarówno materialne, jak i niematerialne interesy twórcy - programisty związane z jego dziełem - programem komputerowym.

Numer 9/2009:

Biblioteka miesiąca
12 Biblioteka SFML - Prosta i szybka biblioteka do obsługi multimediów (Maciej Szmyt)
Gry komputerowe, jak i wiele innych aplikacji, potrzebują wydajnej obsługi multimediów. Oprogramowanie niskopoziomowej warstwy dostępu do sprzętu jest skomplikowane i wymaga dużo czasu oraz wytrwałości. Korzystanie z gotowych bibliotek może ten proces znacznie uprościć. Jednym z ciekawych rozwiązań tego typu jest SFML.
23 Opis CD
Klub techniczny
24 Technologie Progress OpenEdge - Część 1. Architektura Referencyjna OpenEdge (Piotr Tucholski)
Rozpoczynamy cykl poświęcony technologiom OpenEdge firmy Progress Software. OpenEdge jest zintegrowaną platformą do tworzenia, uruchamiania i zarządzania aplikacjami biznesowymi. Została oparta na prostym założeniu: aplikacje biznesowe muszą być łatwe w tworzeniu, udoskonalaniu, a do działania muszą wymagać minimalnych zasobów.
Bazy danych
28 Bazy danych - Współpraca z popularnymi technologiami (Grzegorz Pieniążek)
W artykule opisujemy współpracę popularnych technologii tworzenia stron WWW po stronie serwera (PHP, JSF, ASP.NET z podziałem na C# oraz Visual Basic) z najczęściej używanymi bazami danych (MSSQL, MySQL, Oracle, PostgreSQL, DB2). Zestawienie to powinno być pomocne przy tworzeniu małych projektów, w których koszty nie pozwalają na poprawę wydajności poprzez dostawienie kolejnych serwerów.
44 Kompresja w DB2 - Optymalizacja systemu dyskowego (Artur Wroński)
W ostatnich latach rynek oprogramowania do zarządzania bazami danych zupełnie zmienił swoje oblicze. Jeszcze kilka, kilkanaście lat temu bazy danych należały do elitarnego oprogramowania i projektanci systemów informatycznych byli wręcz skazani na korzystanie z komercyjnych rozwiązań.
50 SQL Server Data Access Components (Artur Mościcki)
Firma Core Lab Software Development specjalizuje się w tworzeniu technologii dostępu do baz danych dedykowanych jednemu systemowi zarządzania bazami danych oraz w modyfikacji istniejących mechanizmów dostępu takich jak ADO.NET, BDP.NET, dbExpress. Bardziej interesującą propozycją są jednak rozwiązania dedykowane.
Praca w zespole
60 Wieża Babel - Jak dogadać się w projekcie? Tworzenie zespołu (Karolina Zmitrowicz)
Programiści, analitycy, testerzy, architekci - zespół projektowy to ludzie o różnej specjalizacji, osobowościach, charakterach, którzy w założeniu mają jeden cel - realizację projektu informatycznego. Artykuł przedstawia charakterystykę osób zaangażowanych w projekt oraz podstawowe sposoby budowania pozytywnych relacji i zasad współpracy w zespole.
Aplikacje biznesowe
68 Websphere MQ 7 - Dostawca usługi zarządzania komunikatami dla Websphere AS 7 (Paweł Pietrasz)
IBM WebSphere MQ to kompletne rozwiązanie realizujące usługę systemu kolejkowego. Może pracować niezależnie jako zewnętrzny serwer, który poprzez szereg specjalnych interfejsów daje możliwość korzystania ze swoich zasobów aplikacjom napisanym w różnych językach, lub działać jako zewnętrzny dostawca dla serwera Websphere AS.
Efektywność pracy
72 Trening czyni mistrza - O propagacji wiedzy i umiejętności
Michał Bartyzel, Mariusz Sieraczkiewicz Rozwój umiejętności współczesnego programisty przebiega różnymi ścieżkami. Najbardziej popularną ścieżką uczenia się w Polsce jest samodzielne nabywanie umiejętności, co obecnie jest szczególnie łatwe ze względu na powszechny dostęp do wiedzy. Czy jest to efektywna forma zdobywania umiejętności?
Akademia uml
76 Pułapki polimorfizmu - podstawowego mechanizmu związanego z dziedziczeniem (Szymon Zioło)
Polimorfizm jest mechanizmem pozwalającym na zgrabne i eleganckie programowanie z użyciem dziedziczenia. Trzeba go jednak używać z rozwagą. Zobaczmy, jakie pułapki czyhają na nas, gdy korzystamy z dziedziczenia i polimorfizmu.

Numer 8/2009:

Biblioteka miesiąca
14 Grails, Groovy i rusztowania (Mariusz Róg)
Grails jest prostym środowiskiem z ogromnymi możliwościami. Czytając artykuł, dowiesz się, co ukrywa się w jego wnętrzu, jakiego rodzaju rozwiązania są stosowane oraz jaką rolę w tym wszystkim ma język Groovy. Krok po kroku dowiesz się, jak łatwo i przyjemnie można napisać aplikację internetową, która w większości stworzy się sama.
21 Opis CD
Klub techniczny
22 Bazy danych w Adobe AIR (Mateusz Małczak)
Adobe AIR i SQLite. Zapoznajemy się z wbudowaną w runtime AIR obsługą bazy danych.
Języki programowania
26 Groovy - na pohybel Javie, z miłością do Javy - wprowadzenie do języka
David de Rosier Groovy to dynamiczny język dla środowiska Java, w pełni integrujący się z tym językiem, pozwalając na korzystanie z istniejących bibliotek i szkieletów.
38 WS-BPEL - Instrumentacja procesów biznesowych (Piotr Zerynger)
Web Services Business Process Execution Language (WS-BPEL) jest językiem programowania, którego celem jest opisanie procesów zachodzących między partnerami biznesowymi. W artykule zostanie przedstawiona przykładowa procedura BPEL, korzystająca z jednego z ogólnodostępnych w Internecie Web serwisów.
46 Język skryptowy Lua - Charakterystyka i rola języka skryptowego Lua w programowaniu gier (i nie tylko) (Paweł Rohleder)
Lua jest obok Pythona jednym z najczęściej wykorzystywanych języków skryptowych w programowaniu gier komputerowych. Skrypty często służą implementacji algorytmów logiki gry, sztucznej inteligencji czy interface'u użytkownika, co ułatwia modyfikację i rozbudowę aplikacji bez konieczności zmiany kodu wynikowego. W artykule przyjrzymy się (poprzez liczne przykłady) charakterystyce języka Lua oraz integracji skryptów Lua w aplikacjach takich jak gry komputerowe.
Warsztaty
52 SQL Server 2008 - Data Mining (Paweł Wilkosz)
Każdego dnia do firmowych baz danych napływają niezliczone ilości informacji. Dane składowane w tabelach zazwyczaj przekładają się na statystyki zakupionych towarów lub usług przez klientów. Ale coraz częściej posiadanie wiedzy, ilu konsumentów zostało obsłużonych w danym czasie, nie wystarcza.
Narzędzia
56 Dogadajmy się - O komunikacji dla programistów
Michał Bartyzel, Mariusz Sieraczkiewicz Im więcej osób pracuje nad projektem, tym bardziej powodzenie przedsięwzięcia zależy od efektywnej komunikacji pomiędzy nimi. Prace nad projektami IT dotyczą programistów, architektów, analityków. Systemy są udoskonalane przez lata, a zaangażowane osoby zmieniają się. W artykule przyglądamy się aspektom komunikacji, szczególnie dotyczących osób pracujących w projektach IT.
58 Analiza biznesowa - Wymagania - pozyskiwanie, dokumentowanie, komunikowanie (Karolina Zmitrowicz)
Etap analizy biznesowej jest jednym z kluczowych momentów w projekcie informatycznym. Jakość analizy i uzyskanych za jej pomocą produktów w znacznym stopniu determinuje jakość kolejnych etapów realizacji systemu. Dobrze zaplanowana i wykonana analiza w znacznym stopniu skraca czas implementacji i testowania oraz pozwala uniknąć problemów związanych z brakami w wymaganiach i niespójnością. Artykuł przedstawia podstawowe elementy dobrego procesu analizy.
66 Monitorowanie oprogramowania - Lepiej zapobiegać, niż leczyć... (Karolina Zmitrowicz)
Coraz częściej instytucje zamawiajce usługi informatyczne posiadają własne departamenty IT i pragną w określonym zakresie uczestniczyć w procesie wytwarzania oprogramowania. Artykuł przedstawia najczęściej spotykane z punktu widzenia klienta problemy związane z taką wspópracą oraz propozycje rozwiązania czy uniknięcia owych problemów.
Akademia uml
72 Dziedziczenie - Tworzenie hierarchii klas (Szymon Zioło)
W poprzednim odcinku Akademii UML poznaliśmy sytuacje, w których nie należy stosować dziedziczenia. Zobaczmy, kiedy powinniśmy tworzyć wspólną nadklasę dla kilku klas, a kiedy taka hierarchia klas jest zbędna.
Prawo w it
76 Prawo autorskie dla programistów - Programista jako twórca dzieła w postaci programu komputerowego (Piotr Przegaliński)
W przypadku, gdy programista tworzy program komputerowy, który jest przejawem jego działalności twórczej, ma indywidualny charakter i jest rezultatem jego pracy, wówczas taki program należy traktować jako utwór w rozumieniu Prawa autorskiego. Sam programista powinien być natomiast traktowany jako twórca.

Numer 7/2009:

Biblioteka miesiąca
12 JqueryUI - Tworzenie interfejsu użytkownika dla programistów JQuery
jQueryUI jest biblioteką JavaScript rozszerzającą możliwości popularnego szkieletu jQuery o funkcjonalność związaną z efektami wizualnymi i interfejsem użytkownika. W uproszczeniu można powiedzieć, że jQueryUI jest dla jQuery tym, czym Script.aculo.us dla Prototype. W marcu tego roku ukazała się wersja 1.7 biblioteki, zgodnie uznana przez programistów za przełomową - warto zatem się jej uważniej przyjrzeć.
Klub techniczny
20 Klient serwisu twitter.com (Mateusz Małczak)
Z wykorzystaniem technologii Adobe AIR w bardzo krótkim czasie stworzymy klienta serwisu twitter.com, z wbudowaną przeglądarką internetową.
25 Opis CD
Narzędzia
26 ISO 9001 w IT - Nadzór nad wyrobem niezgodnym w procesie produkcji oprogramowania - część III (Karolina Zmitrowicz)
Zgodnie z normą ISO 9001:2000 organizacja powinna sprawować nadzór nad wyrobem niezgodnym. W IT takim wyrobem jest system informatyczny - zarówno w trakcie wytwarzania, jak i po wdrożeniu na produkcję. Artykuł opisuje podstawowe narzędzia i techniki wspierające identyfikację oraz zarządzanie produktem niezgodnym na etapie utrzymania oprogramowania.
34 Programowanie pod lupą - Antywzorce zachowań w pracy programistów
Michał Bartyzel, Mariusz Sieraczkiewicz Niezależnie od branży czy technologii w pracy programistów występują powtarzalne schematy zachowań, które negatywnie wpływają na ich pracę. Kilka z nich autorzy opisują w tym artykule. Zapraszamy Cię, abyś razem z nimi przyjął postawę badacza obserwującego pracę programisty. Niech to będzie ciekawskie przyglądanie się, bez oceniania i bez osądzania. Czy jesteś gotów?
Programowanie java
36 Wirtualizacja aplikacji Java - Oracle JRockit Virtual edition dla Oracle VM (Waldemar Kot)
Oprogramowanie wirtualizacyjne stwarza zupełnie nowe możliwości w zakresie projektowania architektury systemów informatycznych. Dynamizuje je, zwiększa elastyczność oraz efektywność działania. Java dzisiaj zajmuje dominującą pozycję w świecie rozwiązań aplikacyjnych klasy enterprise. Wirtualizacja technologii Java to kolejny krok - powstaje środowisko wykonawcze nowej generacji.
Bazy danych
40 Ext JS - Tworzenie własnych komponentów (Grzegorz Pieniążek)
Rozwój Internetu, jak również rosnące wymagania użytkowników przyczyniają się do tworzenia systemów internetowych, które coraz bardziej przypominają aplikacje desktopowe. Staje się to możliwe między innymi dzięki rozwojowi framework’ów Javascript. Przykładem takiego framework’a jest Ext JS.
46 XML - Wykorzystanie w SQL Server 2005/2008 (Igor Kruk)
Format XML bardzo szybko zyskał dużą popularność. Dzięki temu, że w znaczny sposób przyspiesza i ułatwia pracę programistów, jest on
54 Full-Text Search - Wyszukiwanie pełnotekstowe w SQL Server 2005/2008 (Igor Kruk)
Korzystając z oferowanych obecnie przez większość portali, sklepów czy zwykłych stron internetowych wyszukiwarek, często chcielibyśmy móc zadać bardziej skomplikowane zapytanie, które sprawdzi formy fleksyjne szukanego słowa lub przeszuka zawartość dokumentów tekstowych. Operacje takie nazywane są wyszukiwaniem pełnotekstowym i im właśnie poświęcony jest ten artykuł.
Akademia uml
62 Dziedziczenie - Kiedy NIE należy go stosować (Szymon Zioło)
Dziedziczenie jest jednym z podstawowych mechanizmów obiektowości, chętnie stosowanym przez projektantów i programistów. Zobaczmy więc, na czym polega mechanizm dziedziczenia i przyjrzyjmy się sytuacjom, gdy jego użycie nie jest najszczęśliwszym rozwiązaniem.
Prawo w it
64 Prawo autorskie dla programistów Licencja wyłączna, niewyłączna i sublicencja programu komputerowego (Piotr Przegaliński)
Upoważnienie do korzystania z programu komputerowego (licencja) jest rodzajem umowy zaliczanym przez polskiego ustawodawcę do umów o tym samym charakterze co umowy przenoszące majątkowe prawa autorskie. W zależności od zakresu tego upoważnienia, prawo polskie przewiduje trzy podstawowe jego formy. Są nimi: licencja wyłączna, niewyłączna i sublicencja.
Programowanie urządzeń mobilnych
66 Android vs. Java ME - cz. III: Komunikacja (Albert Wachowicz)
Flickr jest cenionym serwisem internetowym umożliwiającym gromadzenie i udostępnianie zdjęć. Jako serwis Web 2.0 ma tendencję do korzystania z nowatorskich technik i metod komunikacyjnych. W kontekście porównania technologii Java ME oraz Android przyjrzymy się bliżej sposobom integracji aplikacji z serwisem.

Numer 6/2009:

36 06/2009 4 www.sdjournal.org 5
W poszukiwaniu straconego czasu - strategie poszukiwania przyczyn błędów i ich rozwiązań
Warsztaty
46 Łukasz Lechert
MS SQL Server kontenerem Web Service - budowanie usług sieciowych w oparciu o MS SQL Server
Narzędzia
52 Karolina Zmitrowicz
Windows Installer Xml - budowanie natywnych instalatorów dla środowiska Windows

Numer 5/2009:

Biblioteka miesiąca
12 Spring Integration - łatwe budowanie systemów komunikacyjnych (Sebastian Piotrowski)
W rodzinie Spring Source pojawiło się nowe dziecko: Spring Integration. Od teraz, wszystkie Twoje ulubione protokoły i technologie komunikacyjne mieszkają pod jednym, wspólnym dachem zaś ich konfiguracja to kwestia dopisania kilku linijek w pliku XML. Nie wierzysz? Przeczytaj artykuł i przekonaj się sam!
Klub techniczny
18 Komunkacja Flex-PHP za pomocą Zend_Amf (Piotr Walczyszyn)
Jest wiele sposobów komunikacji aplikacji Flex'owych z zewnętrznymi źródłami danych. Jednak jednym z najbardziej wydajnych jest wykorzystanie binarnego formatu danych AMF (Action Message Format). Formatowanie danych do postaci AMF jest wbudowaną funkcją technologii Flash, a tym samym Flex'a.
25 Opis CD
Programowanie.net
26 Start-Up w „Chmurach” (Piotr Pietrzak)
Start-Up to istotne wydarzenie dla każdej firmy. Kiedy rozpoczynamy działalność w Internecie, należy rozważyć zastosowanie rozwiązań wykorzystujących model Cloud Computing. Pozwalają one na bieżące dostosowanie zasobów do zmieniających się potrzeb biznesowych i przez to większą efektywność kosztową.
Narzędzia
30 Wybrane szczegóły platformy Azure (Tomasz Kopacz)
Podstawą działania Windows Azure są dwa mechanizmy do wykonywania obliczeń - Web Role i Worker Role a także mechanizm przechowywania (Azure Storage). W artykule autor omówia ogólne zasady pisania rozwiązań na tę platformę Cloud Computing
34 ISO 9001 w IT - Nadzór nad wyrobem niezgodnym w procesie produkcji oprogramowania - część I. (Karolina Zmitrowicz)
Zgodnie z normą ISO 9001:2000 organizacja powinna sprawować nadzór nad wyrobem niezgodnym. W IT takim wyrobem jest system informatyczny oraz pozostałe wytwory procesu produkcji oprogramowania. Artykuł jest pierwszym z cyklu publikacji dotyczących wdrażania systemu zarządzania jakością w przemyśle informatycznym.
42 Windows Azure - Cloud Computing w.NET (Tomasz Kopacz)
Windows Azure to platforma Cloud Computing do tworzenia rozwiązań działających w chmurze. Dzięki temu systemy informatyczne dysponują praktycznie nieograniczonymi możliwościami skalowania, olbrzymią wydajnością i nieskończonym pojemnikiem do przechowywania danych. Do pisania rozwiązań dla Azure wystarczy znajomość.NET.
46 Marzenia programistów - część 1. - Projekty niedokończone
Michał Bartyzel, Mariusz Sieraczkiewicz Każdy programista ma wiele świetnych pomysłów na nowe aplikacje, lecz tylko część z nich zaczyna realizować swoje marzenia. Jesz-
Warsztaty
48 ADO.NET Entity Framework (Marcin Kawalerowicz)
ADO.NET Entity Framework to maper obiektowo relacyjny z prawdziwego zdarzenia stworzony przez Microsoft. Pozwala on na konwersję pomiędzy relacyjnymi strukturami danych a obiektami w .NET Framework. W artykule przyjrzymy się temu, jak stworzony model danych użyć w dowolnym programie.NET.
54 ADO.NET, Visual Basic i …Oracle (Konrad Kubecki)
Za pomocą platformy programistycznej.NET tworzone jest zazwyczaj oprogramowanie korzystające z baz MS SQL. Czasem zachodzi jednak potrzeba podłączyć taki produkt do bazy innego producenta. W tym artykule autor postara się wykorzystać technologię ADO.NET do połączenia z bazą Oracle.
Felieton
59 Przetwarzanie w chmurach (Piotr Pietrzak)
60 SQL Server 2005/2008 - wykorzystanie funkcji w aplikacjach biznesowych (Artur Mościcki)
Funkcje to podstawowe obiekty wykorzystywane w aplikacjach biznesowych. Aby spełniały swoją rolę, powinny być wydajne. W artykule tym autor prezentuję triki wykorzystywane w aplikacjach biznesowych w celu uzyskania dużej efektywności. Omawia także inne ważne aspekty, które bardzo często są wykorzystywane w rozwiązaniach biznesowych
Akademia uml
64 Modelowanie ról na diagramach klas w języku UML (Szymon Zioło)
Pracownik firmy jest sprzedawcą lub inżynierem. Siedziba firmy jest jej centralą lub oddziałem. Kontrahent jest klientem lub dostawcą. To tylko kilka przykładów często spotykanej sytuacji, gdy dany obiekt pełni wobec innych obiektów pewne role. Zobaczmy, w jaki sposób można modelować role na diagramach klas.
Programowanie urządzeń mobilnych
66 Słownik w komórce (Daniel Stoiński)
Czy wiecie, co to znaczy zazdrostka? Albo jak po czesku jest dymić? Ze słownikiem w komputerze odpowiedzi na te pytania nie stanowią żadnego problemu. Teraz przekonacie się, że taki słownik można załadować również na komórkę i roztrząsać problemy językowe nawet w zatłoczonym autobusie.

Numer 4/2009:

Biblioteka miesiąca
12 Biblioteka Qt (Tomasz Dubik)
Jest to zbiór przenośnych bibliotek, modułów oraz narzędzi dedykowanych dla języka C++ i Java. Qt to w większości zbiór klas wykorzystywanych przy tworzeniu graficznego interfejsu użytkownika. Głównym atutem tej biblioteki jest jej niezależność platformowa.
Klub techniczny
20 Wprowadzenie do technologii Flex - wyszukiwarka serwisu twitter.com (Piotr Walczyszyn)
Flex jest jedną z najbardziej zaawansowanych technologii do budowania aplikacji typu RIA w bezpośrednim tłumaczeniu bogatych aplikacji internetowych. Silnikiem wyświetlającym aplikacje Flex’owe jest technologia Adobe Flash, która pozwala na osiągnięcie jednolitego wyglądu uruchamianej aplikacji, niezależnie od wykorzystywanej przeglądarki czy systemu operacyjnego. Kluczowymi cechami samego Flash’a jest wysoka dynamiczność i interaktywność, co przenosi się również bezpośrednio do Flex’a. Dodatkowo zestaw Flex SDK udostępniany jest na licencji Open Source. Tym materiałem rozpoczynamy cykl artykułów o Flexie, w ramach Klubu Technicznego Adobe.
Technologie internetowe
24 Isolated Storage a Silverlight 2.0 (Jacek Ciereszko)
Silverlight jest nową międzyplatformową technologią firmy Microsoft, która pozwala tworzyć aplikację typu RIA. Użyteczność aplika-
31 Opis CD
32 WebSphere sMash - Budowanie serwisów Web 2.0
Magdalena Kajak, Bartosz Chrabski Dynamiczny rozwój Internetu oraz szybki postęp technologii spowodował pojawianie się na rynku nowych platform, które pozwalają w szybki i łatwy sposób budować efektywne serwisy internetowe. Taką platformą stworzoną przez IBM oraz umożliwiającą tworzenie aplikacji Web 2.0 jest WebSphere sMash.
Narzędzia
40 Nawyki programisty
Michał Bartyzel, Mariusz Sieraczkiewicz Autorzy pokażą Ci bardzo łatwe do opanowania techniki, za pomocą których będziesz mógł lepiej wykonywać swoją pracę. Dowiesz się, że znajomość technologii to tylko jeden z ważnych filarów kompetencji programisty. Drugim są umiejętności osobiste. W artykule przeczytasz, w jaki sposób skuteczni programiści wspomagają się umiejętnościami osobistymi podczas pracy.
Akademia uml
42 Diagramy klas - Model dziedziny i projekt aplikacji (Szymon Zioło)
Trudno dziś spotkać osoby zajmujące się tworzeniem systemów informatycznych, które nie słyszały o języku UML, pozwalającym na modelowanie różnych aspektów działania systemu. Większość analityków, projektantów i programistów deklaruje w swoich CV znajomość tego języka. Dlatego rozpoczynamy cykl artykułów poświęconych modelowaniu systemów informatycznych w języku UML.
Warsztaty
46 Integracja ciągła - Proces, który na bieżąco śledzi gotowość projektu do utworzenia wersji instalacyjnej (Rafał Czyżewski)
Integracja komponentów programistycznych już w zespole kilkuosobowym może nastręczać trudności. Zawsze chcielibyśmy znajdować się w tak komfortowej sytuacji, gdzie praca zespołu programistów jest niezakłócona a w dodatku w miarę szybko jesteśmy w stanie dostarczyć np. do działu marketingu wersję instalacyjną produktu. Z pomocą przychodzi tu praktyka ciągłej integracji.
48 Serwer integracyjny - Gniazda SOCKET w zastosowaniach (Krzysztof Skierlak)
Przykład, który zrealizujemy w artykule, pozwoli nam na zintegrowanie, a przynajmniej na funkcjonalne połączenie dwóch, zupełnie niezależnych programów. Połączenie to nie będzie realizowane na poziomie bazy danych i nie będzie wykorzystywało żadnych kosztownych rozwiązań typu SAP NetWeaver, który z pewnością może zagwarantować współpracę różnych aplikacji i systemów. Nasze programy zintegrujemy na poziomie dedykowanego serwera aplikacji, którego szkielet zbudujemy krok po kroku do postaci pozwalającej na dalszy swobodny rozwój wg własnych potrzeb.
Testowanie oprogramowana
58 10 błędów najczęściej popełnianych przez testerów (Karolina Zmitrowicz)
Artykuł przedstawia podstawowe pomyłki i nieprawidłowości popełniane podczas organizacji i realizacji procesu testowania oprogramowania. Zarówno kierownictwo, jak i sami testerzy potrafią dopuszczać się pewnych błędów, które mogą mieć negatywny wpływ na przebieg projektu, ciągłość i efektywność prac oraz atmosferę w zespole. Po zapoznaniu się z treścią artykułu, czytelnicy zdobędą pewien podgląd na najczęściej popełniane przez testerów błędy oraz ich potencjalne skutki. Dowiedzą się też, w jaki sposób można owych błędów uniknąć i tym samym ulepszyć proces testowy i jakość aplikacji.
Programowanie urządzeń mobilnych
66 Android vs. Java ME cz. 2 - Szkielet aplikacji (Albert Wachowicz)
Artykuł stanowi kontynuację porównania platformy Android oraz Java Microedtition. W poprzednim odcinku została przedstawiona ogólna filozofia oraz architektura technologii. Obecny dotyczy możliwości języka programowania Java, który umożliwia budowanie aplikacji na przyrównywanych platformach. Wprowadzony zostanie szkielet aplikacji który będzie rozwijany przez kolejne serię artykułów.
Felieton
74 Coś się zmieniło
76 Pieniądze w grze (Arkadiusz Merta)

Numer 3/2009:

Biblioteka miesiąca
12 Biblioteka Luabind (Rafał Kocisz)
Lua oraz C++ bardzo ładnie uzupełniają się jako języki programowania; niestety - ich łączenie przy pomocy podstawowego API opartego na czystym C jest delikatnie mówiąc - zniechęcające. Na pomoc przybywa Luabind: nowoczesna biblioteka C++, dzięki której łączenie Lua i C++ staje się proste i przyjemne.
Programowanie java
20 Spring Java Configuration Project (Henryk Konsek)
Twórcy projektu Spring Framework spróbowali zminimalizować ilość konfiguracji XML poprzez przeniesienie źródeł definicji komponentów do plików języka Java. Spring Java Configuration Project to alternatywa dla klasycznego podejścia do zagadnienia konfiguracji aplikacji internetowych, która równocześnie nie narusza wzorca Inversion Of Control oraz ogólnej elegancji architektury naszej aplikacji.
Warsztaty
28 CUDA się zdarzają, czyli programowanie GPGPU (Jacek Piekarski)
W artykule dowiemy się co nieco o CUDA z praktycznego punktu widzenia. Na konkretnym przykładzie zobaczymy, jak w prosty sposób
35 Opis CD
Duży zbiór materiałów od firmy nsoftware
36 Facebook dla programistów (Włodzimierz Kozłowski)
Facebook jest nie tylko klasycznym serwisem społecznościowym, lecz także platformą umożliwiającą tworzenie własnych aplikacji. W artykule pokażemy jak przygotować i opublikować przykładową aplikację dla Facebooka współpracującą z serwisem aukcyjnym Allegro.
Bezpieczeństwo
42 Zabezpieczanie systemów IT (Aleksander Jachowicz)
Coraz więcej słyszymy o ochronie bezpieczeństwa systemów informatycznych. Wynika to z tego, że pojawia się coraz więcej doniesień prasowych o włamaniach na konta klientów banków lub o przypadkach wykradzenia dużej ilości danych osobowych. W artykule Aleksander Jachowicz omawia Adaptive Access Manager firmy Oracle.
Testowanie oprogramowania
46 Praca z zespołem testerów klienta (Karolina Zmitrowcz)
Karolina Zmitrowicz w artykule przedstawia studium przypadku dotyczącego procesu testowania systemu bankowego w środowisku klienta. Zostaną przedstawione problemy wynikłe w trakcie organizacji testowania oraz czynności przedsięwzięte w celu ich eliminacji i osiągnięcia satysfakcjonującego poziomu współpracy pomiędzy dostawcą oprogramowania a klientem.
54 Jakość czy jakoś to będzie? (Zbigniew Zarzycki)
Odpowiedź na pytanie czy tworzone oprogramowanie jest wystarczająco dobre do uruchomienia produkcyjnego wymaga złożonego procesu decyzyjnego. IBM Rational Quality Manager jest rozwiązaniem, które może podjąć tę odpowiedzialną decyzję w oparciu o wiarygodne dane, dostarczane w czasie rzeczywistym.
58 WebAii - testowanie aplikacji ASP.NET (Paweł Wilkosz)
Przyszłość należy do serwisów internetowych. Ogólna powszechność Internetu, świadczenie usług na odległość czy też rozwój urządzeń mobilnych są argumentami umacniającymi Pawła w przekonaniu, iż to właśnie aplikacje webowe będą najbardziej kojarzone z inżynierią oprogramowania za parę lat.
Technologie internetowe
62 Zintegruj się z Internet Explorer 8 (Bartłomiej Zass)
Już niedługo premiera kolejnej wersji przeglądarki firmy Microsoft, która otworzy przed programistami zupełnie nowe możliwości tworzenia rozszerzeń. W artykule przedstawione zostały podstawy programowania tzw. akceleratorów, web slice’ów oraz search provider’ów, które pozwalają zintegrować nasze strony z przeglądarką Internet Explorer 8.
Narzędzia
68 Weryfikacja przez model z narzędziem SPIN (Sławomir Maludziński)
Współczesne programy wykorzystują więcej niż jeden wątek przetwarzania w celu zmniejszenia opóźnień bądź zwiększenia szybkości działania. Niestety, zapewnienie o ich bezbłędnym oraz efektyw-
Felieton
74 Aby wielu mogło na raz... (Arkadiusz Merta)
77 Najpierw cele (Arkadiusz Merta)

Numer 2/2009:

Biblioteka miesiąca
12 OpenCV: komputerowa wizja w praktyce (Rafał Kocisz)
Czy komputer może widzieć podobnie jak człowiek? Czy komputerowa wizja to mit czy rzeczywistość? Na te, oraz inne pytania można znaleźć odpowiedz, czytając poniższy artykułu traktujący o wyjątkowej bibliotece wywodzącej się z laboratoriów firmy Intel.
Języki programowania
18 Oracle CEP - złożone przetwarzanie zdarzeń (Waldemar Kot)
Complex Event Processing (CEP) to jedna z technik przetwarzania zdarzeń w aplikacjach zdarzeniowych, posługujących się paradygmatem nasłuchuj-i-odpowiedz (ang. listen-and-respond), czyli takich, w których logika biznesowa jest uruchamiana w wyniku pojawienia się określonego zdarzenia.
20 jQuery i ASP.NET - wprowadzenie do biblioteki z przykładami w ASP.NET AJAX (Łukasz Szewczak)
Otwarta biblioteka JavaScript jQuery sprawia, że pisanie kodu po stronie klienta staje się przyjemniejsze, a dzięki połączeniu jQuery z technologią ASP.NET AJAX otrzymujemy potężny, efektywny szkielet aplikacyjny do pisania aplikacji ajaksowych. Łukasz Szewczak wprowadza nas do biblioteki z przykładami ASP.NET AJAX.
Warsztaty
26 Aplikacje desktopowe - Ext GWT (GXT) jako środowisko do tworzenia bogatych interfejsów użytkownika w przeglądarce WWW (Rafał Pietrasik)
Do niedawna w interfejsach opierających się na przeglądarce uzyskanie pełnej funkcjonalności, którą oferowały aplikacje oparte na grubym kliencie, było bardzo trudne, jeśli wręcz nie niemożliwe. Środowisko GWT w połączeniu z biblioteką Ext GWT zmieniają diametralnie ten stan rzeczy. W artykule autor pokazuje jak łatwo jest stworzyć taką aplikację.
33 Opis CD
Duży zbiór materiałów do programowania urządzeń mobilnych.
34 Wykładnicze mapy cieni - charakterystyka i implementacja algorytmu miękkich cieni w grafice komputerowej czasu rzeczywistego (Paweł Rohleder)
Mapy cieni są najczęściej wykorzystywaną techniką cieniowania w grach komputerowych. W niniejszym artykule postaram się przybliżyć technikę map cieni oraz zaimplementować algorytm miękkich cieni przy wykorzystaniu HLSL i biblioteki DirectX 9.0.
Programowanie urządzeń mobilnych
40 PKI na urządzeniach mobilnych - autoryzacja i uwierzytelnianie użytkowników
Leszek Siwik, Krzysztof Lewandowski, Adam Woś W artykule autorzy przyglądają się implementacji PKI na urządzeniach mobilnych, na przykładzie wdrożenia w jednej z polskich służb mundurowych. Tłumaczą, co to LAP i LASS, dlaczego łatwo jest używać CSP oraz jakie niespodzianki czekają na piszących oprogramowanie na karty SIM
44 Mobilny magazyn - łamigłówki architektoniczne (Rafał Deja)
Autor przedstawia dylematy związane z doborem właściwej architektury systemu komputerowego do obsługi magazynu. Zadaniem jest przeniesienie wybranych procesów logistycznych na urządzenia mobilne przy równoczesnej integracji z tradycyjnym systemem zarządzania magazynem a szerzej z systemem klasy ERP.
46 Jak to się robi w Krakowie
Kamil Kowalski, Artur Chruściel Dla każdego, kto nigdy nie miał do czynienia z programowaniem urządzeń mobilnych, specyfika tego zajęcia sprowadza się do kilku szeroko znanych haseł, takich jak ograniczona ilość pamięci, real-time, środowisko embedded itp. Wszystko to oczywiście prawda, jednak czasy się zmieniają i wiele z tych haseł straciło swoją ważność, inne zyskały na znaczeniu, a w dodatku pojawiły się całkiem nowe. Nowe - nie znaczy nieznane w świecie informatyki, lecz nigdy niebrane pod uwagę w kontekście systemów embedded.
50 Wąż w komórce (Marian Witkowski)
Telefony komórkowe obecnie to nie tylko proste urządzenia do wykonywania połączeń głosowych czy korzystania z wiadomości tekstowych i multimedialnych. To zaawansowane mikrokomputery, pełniące często rolę elektronicznych terminarzy (PDA), wyposażone nierzadko we własny system operacyjny. Ewolucja, jaką przeszły umożliwiła rozszerzanie funkcjonalności aparatów poprzez instalację aplikacji wykonanych nie przez ich producentów.
56 GPS z.NET Compact Framework (Daniel Stoiński)
Chip GPS coraz częściej znajduje się w niedrogich telefonach oraz urządzeniach PDA z zainstalowanym systemem Windows CE lub Mobile. Z dobrą baterią można takie urządzenie zabrać nawet na całodzienną wędrówkę i późniejsze pytania gdzie byłeś? skwitować gotowym zapisem trasy.
66 Android vs. Java ME (Albert Wachowicz)
Platforma Sun dla urządzeń mobilnych istnieje już od dłuższego czasu. Podbiła rynek dzięki implementacji na wielu urządzeniach różnych producentów (obecnie istnieje około 2000 różnych typów modeli z Java ME). Główną ideą Sun było zapewnienie uniwersalności i jednolitości aplikacji wytworzonych na platformę Java ME.
Felieton
76 Czy nowoczesna firma może funkcjonować bez najnowszej technologii? (Adam Tyla)

Numer 1/2009(32):

66 Andrzej Olsztyński (Lotus Quickr - integracja oraz budowanie własnego środowiska portalu)
71 Andrzej Szmyt, Prezes Zarządu (Epacta SI)
72 Marek Kuchciak (Instalacja i konfiguracja Lotus Domino i Lotus Notes)
76 Marek Kuchciak (Lotus Notes Domino - podstawy administrowania środowiskiem)
81 Michał Prochownik, Dyrektor ds. Informatyki (Grupa Powen-Wafapomp S.A.)

Numer 12/2008:

Biblioteka miesiąca
18 Django - Python w zastosowaniach webowych (Tomasz Kropiewnicki)
Tworzenie aplikacji internetowych to chleb powszedni wielu współczesnych programistów, co w większości przypadków wiąże się z ciężką oraz mozolną pracą. W niniejszym artykule przedstawione jest Django - rozwiązanie stworzone w języku Python, którego celem jest uczynić pracę programisty aplikacji webowych prostszą, bardziej efektywną oraz przyjemniejszą.
Programowanie w linuksie
26 Mirrorowanie dysku w Linuksie (Radosław Korzeniewski)
Mirrorowanie dysku nie jest operacją łatwą i wymaga minimalnej wiedzy dotyczącej partycjonowania, konfiguracji systemu czy samej technologii RAID. Niestety jak do tej pory dystrybucje Linuksa doczekały się co najwyżej możliwości instalacji systemu na mirrorowaniej parze dysków. Wciąż brakuje mechanizmów prostego i łatwego włączenia mirroru w taki sposób aby z procesem tym poradził sobie każdy użytkownik komputera. Na szczęście system Linuks ciągle się rozwija.
Rozrywka w linuksie
32 Duke Nukem (Łukasz Olender)
Anarchy Online i Red Faction to gry niewątpliwie złożone. W życiu gracza są jednak takie chwile, w których zamieniłby on każdy skomplikowany ty-
36 Red Faction (Łukasz Olender)
Red Faction - to właśnie ta gra jest tematem niniejszego artykułu. Czy pomimo upływu ponad siedmiu lat od daty premiery jest ona warta poświęconego jej czasu?
40 Hedgewars (Maciej Mroziński)
Hedgewars to gra mająca na celu stworzenie otwartego odpowiednika legendarnych Wormsów. Prawdę mówiąc wręcz zaskakujące jest podobieństwo do oryginału, tak wygląd interfejsu jak i przebieg rozgrywki, na fizyce gry kończąc do złudzenia przypominają Wormsy. Warto jednak powiedzieć jeszcze kilka słów.
Sztuczna inteligencja
42 Porozmawiaj z komputerem (Mariusz Jasnogórski)
Komputerowe rozpoznawanie i synteza mowy (ang. Speech Technology) były niegdyś uważane za technologię dalece futurystyczną, która z pewnością nigdy nie opuści sfery fantastyki naukowej. Tymczasem, przez ostatnie 50 lat technologia ta była stale rozwijana i obecnie jest coraz częściej stosowana, zyskując coraz większą popularność.
E-commerce
44 Wydajny, elastyczny i przyjazny CMS - Textpattern część II (Krystian Rajski)
Celem niniejszego artykułu jest rozwinięcie pierwszej części poprzez wyjaśnianie i zaprezentowanie sposobu budowy witryny w oparciu o własny szkic struktury HTML. Przedstawiony sposób
Testowanie oprogramowania
48 Adobe Flash - wykorzystanie w urządzeniach wbudowanych
Randy Martin Wprowadzenie technologii Adobe Flash do urządzeń wbudowanych jest jednym z najbardziej ekscytujących osiągnięć ostatnich kilku lat. To, co zaczęło się od potrzeby stworzenia możliwości grania w gry w technologii Flash na telefonach komórkowych, rozwinęło się w chęć budowania całych wbudowanych interfejsów graficznych wykonanych w technologii Flash i technologiach pokrewnych, takich jak Flex. Użycie technologii Flash w systemach wbudowanych wymaga jednak od projektantów rozwiązania kilku problemów. Niniejsze opracowanie skupia się na wyborach, których musi dokonać projektant podczas spełniania różnego rodzaju wymagań.
52 Podstawy bezpieczeństwa Oracle (Cezary G. Cerekwicki)
Prawie każdy system informatyczny zawiera w sobie bazę danych, a Oracle wśród nich zajmuje miejsce szczególne. Jest to system o olbrzymiej liczbie wdrożeń, działa na nim wiele istotnych usług, m.in. bankowych. Dlatego warto znać zastosowane w nim mechanizmy bezpieczeństwa.
56 Emulacja systemu MS Windows CE 5.0 na platformie x86 (Artur Korneusz)
Urządzenia mobilne (np. Pocket PC, Smatrfon) stają się coraz bardziej popularne. Przyczynia się do tego zarówno wzrost funkcjonalności jak i coraz bardziej przystępna cena. Duża ilość tychże urządzeń wyposażona jest przez producenta w system operacyjny klasy MS Windows CE oraz dedykowane oprogramowanie, związane z jego przeznaczeniem.
Programowanie php
58 Grafika w PHP (Adam Blok)
Jednym z kluczowych elementów każdego serwisu internetowego jest grafika. Dzięki PHP w dynamiczny sposób możemy ją bez niczyjej ingerencji uatrakcyjnić lub dostosować do naszych potrzeb.
62 Własny słup ogłoszeniowy (Piotr Plenik)
Gdy już zadbaliśmy o przygotowanie działającej aplikacji, czas na dopracowanie kilku detali, dzięki którym naszą aplikację można uznać za profesjonalnie wykończoną. W drugiej części zaprezentujemy, w jaki sposób możemy zamieścić aplikację na serwerze oraz w sprawny sposób ją aktualizować.
Programowanie urządzeń mobilnych
64 Programowanie gier dla Symbian OS - rozwijamy grę (Rafał Kocisz)
W dwóch pierwszych odcinkach serii Programowanie gier dla Symbian OS Czytelnicy mogli zapoznać się ze szkieletem aplikacji i przekonać się, jak można wykorzystać ten szkielet w celu zbudowania stosunkowo prostej - aczkolwiek niebanalnej - gry logiczno-zręcznościowej. Poprzedni odcinek cyklu, zatytułowany Budujemy grę!, zakończył się uruchomieniem pierwszej, grywalnej wersji projektu LaserQuest. W niniejszym odcinku skupimy się na rozszerzeniu funkcjonalności wspomnianej gry, analizując przy tym takie kluczowe składniki warsztatu programisty Symbian OS jak deskryptory oraz operacje wejścia/wyjścia na plikach.
Wywiad
76 Wywiad z Ludovic Neveu - Dyrektorem ds. Sprzedaży w Embarcadero Technologies

Numer 11/2008:

Biblioteka miesiąca
14 Jericho HTML
David de Rosier David opisuje Jericho jako prostą, lekką i darmową bibliotekę użyteczną dla wszystkich programistów Java przetwarzających bądź generujących kod HTML. Jericho dostarcza klasy umożliwiające analizę i przekształcanie istniejących dokumentów HTML bądź też generowanie nowych. Wszystko z użyciem minimalnego nakładu pracy ze strony programisty.
E-commerce
20 Sklep internetowy w PHP i SQLite (Grzegorz Hibner)
Zdaniem Grzegorza gotowych rozwiązań na rynku e-commerce są setki. Znajdziemy gotowe skrypty o funkcjonalności systemów aukcyjnych, sklepów internetowych oraz systemów barterowych. To najczęściej sprawdzone i tanie rozwiązania, regularnie aktualizowane - dlatego skorzystanie z nich najczęściej bywa bardzo kuszące. Jednak czy zawsze uzasadnione? Najczęściej o wiele lepiej stworzyć własną platformę e-commerce. Nie jest to trudne - zajmie to 60 minut.
28 Wydajny, elastyczny i przyjazny CMS (Krystian Rajski)
Krystian napisał że Textpattern nie jest tak popularny jak np. Joomla. Nie posiada tak rozbudowanej listy plugin'ów i dodatków. Mniej znany, nie oznacza jednak gorszy czy też mniej wydajny. Stanowi ciekawą alternatywę i chociażby tylko ze względu na to warto poszerzyć horyzonty i przyjrzeć się rozwiązaniu bliżej. Niniejszy artykuł pełni rolę wprowadzenia.
Programowanie php
32 Opensource-owe platformy blogowe (Lech Albrzykowski)
Lech opisuje jak w przeciągu ostatnich lat blogi internetowe zjednały sobie wielką popularność wśród użytkowników internetu. Przestały być tylko i wyłącznie formą pamiętników a stały się miejscem wymiany zdań pomiędzy różnymi środowiskami jak choćby programistów.
Testowanie oprogramowania
36 SAP GUI Scripting API (Roman Gryzowski)
Roman opisuje że SAP GUI Scripting API to interfejs pozwalający na emulowanie każdej czynności jaką może wykonać użytkownik w środowisku SAP GUI. Dzięki jego użyciu można zautomatyzować czynności powtarzalne, ale również uzyskać dostęp do SAP GUI z poziomu innych aplikacji, np. Windows Scripting Host.
40 IBM Rational Data Architect - pierwsze kroki (Szymon Gruszewski)
Wyobraźmy sobie sytuację, w której musimy stworzyć oprogramowanie dla biblioteki. Chcąc wywiązać się z zadania musimy zaprojektować system, który będzie spełniał wymagania stawiane przez naszego zleceniodawcę. Z pomocą przychodzi nam Rational Data Architect, który jest narzędziem służącym do tworzenia zarówno prostych, jak i bardzo złożonych modeli bazodanowych.
44 Bezpieczne partycjonowanie - systemy wielordzeniowe QNX
Kerry Johnson, Romain Saha Autorzy opisują że w dzisiejszych czasach praktycznie każdy wbudowany system podłączony jest fizycznie lub bezprzewodowo to świata zewnętrznego. Taka łączność sieciowa pozwala użytkow-
48 Joomla 1.5 - nowości (Stefan Wajda)
Nowe wydanie Joomla! zapewnia użytkownikom i projektantom wygodny i łatwy w użyciu szkielet publikacji treści w witrynach internetowych wszelkiego typu. Stworzenie doskonałej witryny ze wszystkimi funkcjami, jakie sobie wymarzysz, może wymagać czasu i zaangażowania. Ale ze społecznością Joomla!, wsparciem projektantów oraz dzięki licznym rozszerzeniom tworzonym dla Joomla! 1.5, jest to jak najbardziej możliwe. Możesz również tworzyć własne rozszerzenia i udostępniać je ku uciesze całej społeczności.
Xml
52 Spring 2 Schema - własne przestrzenie nazw w Spring 2.x (Henryk Konsek)
Osoby intensywnie wykorzystujące Springa w swoich aplikacjach często narzekają na ogrom konfiguracji XML koniecznej do utworzenia aplikacji o większym stopniu zaawansowania. Autorzy Spring Framework pisząc o dobrym oprogramowaniu promują zasadę DRY (Don't Repeat Yourself) - wyraźnie widać to w mechanizmie rozszerzania konfiguracji XML kontenera Springa. Ten artykuł wprowadzi Cię szybko w podstawowe techniki tworzenia własnych przestrzeni nazw XML Schema dla plików konfiguracyjnych Spring IOC.
Kasa dla webmastera
58 LinkLift - koniec z reklamą kontekstową (Krzysztof Trynkiewicz)
W internecie królują systemy reklamy kontekstowej. W oparciu o treść witryny, wyświetlane są odpowiednie reklamy z takich serwisów jak Google AdSense, czy AdKontekst Wirtualnej Polski. Zarob-
Narzędzia programistyczne
60 Plugin - wielokrotne wykorzystanie sprawdzonych narzędzi (Piotr Plenik)
Tworzenie aplikacji, składa się zarówno z tych bardziej twórczych, jak i bardziej odtwórczych prac. Mimo wszelkich naszych starań tworzenia wedle zasady DRY (z ang. DRY - Don't Repeat Yourself ), zdarza się, że dla tej samej funkcjonalności powielamy i dostosowujemy ten sam kod na wielu różnych elementach aplikacji lub pomiędzy różnymi aplikacjami. Na początek zaprezentujemy najczęściej wykorzystywane pluginy w Symfony, których jest w chwili obecnej ponad 200. Następnie stworzymy prosty dodatek do wysyłania maila w symfony bez dodatkowego nakładu naszej pracy.
Programowanie urządzeń mobilnych
64 Programowanie gier dla Symbian OS - budujemy grę! (Rafał Kocisz)
W poprzednim, pierwszym odcinku z serii „Programowanie gier dla Symbian OS” Mieliśmy okazję przebrnąć przez gąszcz stosunkowo zawiłych i miejscami mało interesujących szczegółów dotyczących programowania aplikacji pod Symbiana. W rezultacie powstał prosty szkielet gry pod wspomniany system. W niniejszej części cyklu zajmiemy się tematem znacznie ciekawszym - odejdziemy (chwilowo) od niskopoziomowych zagadnień systemowych i zrobimy to co Tygrysy lubią najbardziej - zbudujemy grę!
Wywiad
76 Wywiad z Bartoszem Stebnickim - dyrektorem generalnym firmy EMC

Numer 10/2008:

Biblioteka miesiąca
14 OVal - walidacja spójności danych w aplikacjach korporacyjnych (Sebastian Piotrowski)
Walidacja spójności danych to mało lubiany temat w społeczności programistycznej, zazwyczaj kojarzy się z monotonną, powtarzalną i mało kreatywną pracą. Z drugiej strony - w kontekście wymagań jakościowych w aplikacjach korporacyjnych, spójność danych to jeden z kluczowych aspektów, którego nie można pominąć. W niniejszym artykule pokażemy jak usprawnić i uprzyjemnić sobie pracę związaną z walidacją spójności danych w aplikacjach biznesowych pisanych w języku Java, przy pomocy biblioteki OVal.
Narzędzia programistyczne
22 Joomla 1.0.do 1.5 - migracja krok po kroku (Stefan Wajda)
Wprawdzie Joomla 1.5 jest następcą 1.0, ale różnice między obu wydaniami są tak istotne, że Joomla 1.0.x nie można unowocześnić do Joomla 1.5 przy pomocy łatki aktualizującej. Jedyną możliwą drogą jest migracja - założenie nowej witryny na Joomla 1.5 i przeniesienie danych z Joomla 1.0.x. Migracja przebiega w dużej mierze automatycznie. Ten artykuł przeprowadzi Cię krok po kroku przez cały proces migracji.
Testowanie oprogramowania
28 Była sobie inspekcja - aplikacja procesu inspekcji (Arkadiusz Merta)
Inspekcja kodu jest jednym z ważniejszych procesów jakościowych, które powinny być prowadzone w ramach projektu. Pomaga unik-
38 Wstęp do IBM WebSphere MQ v6.0 (Paweł Pietrasz)
Paweł opisuje IBM WebSphere MQ jako rozwiązanie pozwalające na integrację różnych systemów informatycznych poprzez dostarczenie mechanizmów pozwalających na łatwą wymianę komunikatów pomiędzy nimi.
42 Wyzwalacze w aplikacjach biznesowych (Artur Mościcki)
Artur omawia kwestie związane z wykorzystaniem wyzwalaczy (triggerów) w aplikacjach biznesowych. Oprócz typów wyzwalaczy, tabel INSERTED i DELETED prezentuje sposoby identyfikacji rodzaju triggera, sposoby wywołania rekurencyjnych i zagnieżdżonych wyzwalaczy. Omawia również triki pozwalające na nieuruchamianie wyzwalacza dla określonych wierszy oraz niezwykle istotną z punktu widzenia aplikacji biznesowych kwestię wykorzystywania wyzwalaczy na perspektywach.
Bazy danych
50 Lokal zamienię od zaraz (Artur Opaliński)
Artur opisuje jakie problemy występują podczas przeróbki aplikacji do funkcjonowania w nowej wersji systemu operacyjnego. Nawet jeśli same zmiany w aplikacji nie są skomplikowane, przejście przez stosowną część cyklu jej rozwoju zajmuje czas - przeważnie najcenniejszy zasób w projektach informatycznych. Niestety, nierzadko oprócz przerabiania kodu samej aplikacji typu enterprise, trzeba uwzględnić jej integrację z nowym środowiskiem operacyjnym - nowe metody startowania, zmiany niektórych komend systemu operacyjnego i formatu ich wyników, ponowną instalację i konfigurację usług pomocniczych, itd
Systemy operacyjne
54 Inteligentne partycjonowanie zasobów w systemach czasu rzeczywistego (Roman Końszyn)
Roman opisuje technologię inteligentnego partycjonowania zasobów - rozszerzenie systemu operacyjnego czasu rzeczywistego na poziomie jądra. Technologia ta pozwala na tworzenie bezpiecznych grup składających się z kilku aplikacji i wątków, pozwalając jednocześnie na maksymalnie efektywne wykorzystanie zasobów procesora. W niniejszym artykule przyjrzymy się dokładniej, co to jest inteligentne partycjonowanie zasobów i jakie zalety ma ono dla programistów i projektantów wbudowanych systemów czasu rzeczywistego.
Programowanie uml
58 Język UML 2.x w dydaktyce akademickiej
Stanisław Wrycza, Bartosz Marcinkowski Autorzy zaprezentowali założenia metodologiczne dotychczas stosowanego programu nauczania języka UML. Artykuł zawiera uwarunkowania oraz wyniki badania ankietowego oraz wnioski, ściśle związane z modyfikacjami, poczynionymi w dotychczas stosowanym programie nauczania języka UML. Treść niniejszego artykułu oparto na doświadczeniach uczelni wyższych w Gdańsku, zebranych w ramach wykładów i laboratoriów, wspieranych studiami przypadków, narzędziami CASE i treściami e-learningowymi.
Warsztaty
64 Własny „słup ogłoszeniowy” - konta użytkowników oraz administracja (Piotr Plenik)
Piotr w poprzednim artykule utworzył serwis ogłoszeniowy, który spełnia swoją podstawową funkcję - umożliwia przeglądanie oraz samodzielne dodawanie ogłoszeń. Jednak nie wróży mu sprawnego działania bez kont użytkowników z możliwością dodawania ogłoszeń tylko po zalogowaniu, zarządzania ogłoszeniami oraz użytkownikami przez administratora oraz krótszych i czytelniejszych adresów URL. W tym artykule zajmiemy się wszystkimi w/w kwestiami, pozostawiając na koniec kwestie kończenia aplikacji oraz ostateczną publikację na serwerze.
Zestawienie
70 Zestawienie narzędzi do testowania oprogramowania
Wywiad
74 Wywiad z Kevinem Parkerem

Numer 9/2008:

Biblioteka miesiąca
14 C5 - nowoczesna biblioteka kolekcji dla.NET (Maciej Paczewski)
Maciej opisuje C5, czyli nową bibliotekę kolekcji dla.NET stworzoną na Uniwersytecie IT w Kopenhadze. C5 nie tylko jest użyteczną biblioteką kolekcji ale również nowym podejściem do wykorzystania kontenerów w.NET. Mimo swojego niewielkiego wieku jest ona wykorzystywana w przemyśle gier komputerowych, sektorze bankowym, instytucjach finansowych oraz nawet w US Naval Research.
Bazy danych
22 Optymalizacja bazy danych (Marek Krokiewicz)
Każda aplikacja funkcjonuje w ramach ograniczonych zasobów systemu, takich jak - pamięć, czas procesora, przepustowość sieci itp. Słaba wydajność SZBD to zwykle problem zużycia dostępnego zasobu. Należy więc unikać takich sytuacji, uwzględniając możliwe, chwilowe obciążenie systemu dodatkową pracą.
26 Inżynieria baz danych (Andrzej Dąbrowski)
Andrzej przeprowadza analizę narzędzi Embarcadero wskazując jednoznacznie na to, że producentowi zależy na jak największej wszechstronności narzędzi. Są one przydatne w firmach, gdzie wykorzystuje się wiele serwerów baz danych oraz dokonuje się migracji pomiędzy różnymi typami platform bazodanowych. Rozwiązania te rewolucjonizują sposób pracy z wieloma serwerami, pozwalając użytkownikom na znaczne ograniczenie czasu potrzebnego na wykonanie powierzonych im zadań oraz sprawniejsze ich zrealizowanie.
30 Oracle 11g - platforma przetwarzania danych (Michał Jerzy Kostrzewa)
Baza danych Oracle 11g to technologia wspierająca klientów w tworzeniu skalowalnych, bezpiecznych systemów sprawnie dopasowujących się do zmiennych potrzeb. W oparciu o trzydzieści lat doświadczeń na polu tworzenia niezawodnych baz danych, Oracle 11g umożliwia budowę elastycznej, łatwej w zarządzaniu infrastruktury, jaką będziemy mogli prosto, bezpiecznie i planowo dopasować do zmieniających się wymagań.
Testowanie oprogramowania
34 Była sobie inspekcja (Arkadiusz Merta)
Arkadiusz w pierwszej części artykułu skoncentrował się na wprowadzeniu do zagadnień z dziedziny inspekcji oraz na skonstruowaniu odpowiedniego procesu. Proces ten został oparty na modelu PDAC, który można odnaleźć m.in. w ISO 9001. Podstawowymi jego wyróżnikami są elastyczność, skalowalność i uniwersalność. Choć większość przykładów odnosi się do implementacji oprogramowania, autor pokazuje, że takie same reguły dotyczą np. inspekcji dokumentów. W następnym artykule zostaną zamieszczone uwagi dotyczące sposobów realizacji opisanego procesu.
42 Rzeczywisty czas czy rzeczywisty Linux? Racjonalny wybór
Paul N. Leroux, Romain Saha Autorzy prezentują że pomimo tego, że system operacyjny QNX Neutrino stanowi doskonałą platformę dla aplikacji czasu rzeczywistego, nie ma konieczności dokonywania definitywnego wyboru między QNX Neutrino a systemem Linux. Projektanci, którzy korzystają z API standardu POSIX, mogą tworzyć programy dla obu systemów operacyjnych, wykorzystując każdy z nich tam, gdzie jest to najbardziej efektywne.
Programowanie java
48 Swing Application Framework - GUI na nowo (Piotr Kochański)
Technologia Java Swing, pozwalająca tworzyć graficzny interfejs użytkownika w języku Java, od samego początku swojego istnienia, czyli od ponad 10 lat, była bardzo pechowa. Pierwsze implementacje były mało wydajne i uciążliwe w użyciu, kolejne wersje tego interfejsu powoli wprowadzały potrzebne ulepszenia, ale nigdy Swing nie stał się czymś lubianym i docenianym.
Programowanie urządzeń mobilnych
54 Podstawy tworzenia gier w JME (Jacek Zagrodzki)
Celem artykułu Jacka jest wprowadzenie w tematykę tworzenia aplikacji JME, a w szczególności gier. Artykuł podzielony jest na dwie części. Pierwsza ma formę tutoriala z jasno określonymi krokami, które należy wykonać aby otrzymać podstawową aplikację, która może być stosowana jako punkt wyjściowy do tworzenia gier.
66 Programowanie gier dla Symbian OS - szkielet aplikacji (Rafał Kocisz)
Rafał tym tekstem rozpoczyna cykl artykułów traktujących o programowaniu gier dla Symbian OS - jednego z czołowych graczy na rynku mobilnych systemów operacyjnych. Na dzień dzisiejszy, za całkiem rozsądną cenę otrzymujemy urządzenie wyposażone w kamerę o wysokiej rozdzielczości, kolorowy wyświetlacz, dostęp do szerokopasmowego internetu, zintegrowany moduł GPS, wysokiej jakości odtwarzacz dźwięku stereo, akcelerometr i układ wspomagający renderowanie grafiki 3D w czasie rzeczywistym. No i przy okazji - aparat telefoniczny. Ten szalony pęd technologiczny tworzy ogromną, otwartą przestrzeń dla nowych aplikacji, zaś lwią ich część stanowią gry.
Wywiad
76 Wywiad z przedstawicielami firmy Gamelion

Numer 7/2008:

06 Aktualności
Rafał Kocisz, Piotr Plenik
14 Opis CD
Biblioteka miesiąca
16 Biblioteka Java dla Google Data API
David de Rosier David w artykule skupia się na bibliotece Java implementującej API GData (ang. Java Client Library for Google Data API) oraz dającej programiście wsparcie dla poszczególnych serwisów Google.
Narzędzia programistyczne
22 Ujarzmienie bazy danych (Marcin Świerczyński)
Marcin opisuje jak zapewnić obsługę baz danych w swoim projekcie opartym o framework Symfony.
26 Generowanie kodu w Symfony (Marcin Świerczyński)
Marcin w artykule uczy jak szybko stworzyć panel sterowania naszej aplikacji - po co pisać kod, skoro można go wygenerować?
30 Symfony (Waldemar Mękal)
Waldemar przedstawia jak tworzyć i uruchamiać testy jednostkowe przy użyciu nowej biblioteki w pełni zintegrowanej z frameworkiem.
Testowanie oprogramowania
38 TestNG vs. JUnit (Łukasz Lechert)
Artykuł Łukasza jest prezentacją zalet i wad dwóch bibliotek służących do testów jednostkowych - TestNG oraz Junit.
Sztuczna inteligencja
42 Systemy konwersacyjne (Łukasz Mazur)
Łukasz w artykule przedstawia podstawy systemów konwersacyjnych, które są przyszłością techniki komputerowej w zakresie badań nad sztuczną inteligencją.
Xml
48 LINQ to XML (Jacek Matulewski)
Artykuł jest wprowadzeniem do LINQ to XML, jednej z grupy technologii LINQ. W artykule opisane zostały podstawowe zagadnienia związane z pobieraniem i modyfikacją danych z plików XML. Przykładowe projekty tworzone są w środowisku Visual C# 2008.
Programowanie open xml
56 Tam gdzie standardy kują (Arkadiusz Merta)
Arkadiusz opisuje jak procesy tworzenia standardów na potrzeby szersze niż własnej organizacji, są zazwyczaj mozolnym przedsięwzięciem. Osiągnięcie odpowiedniej dojrzałości, spójności i jednoznaczności, która spotka się z aprobatą gremium, wymaga wiele doświadczenia technicznego i nierzadko mediacyjnego.
Warsztaty
62 Dokumentacja UML - poza diagramy klas (Krzysztof Świątkowski)
Krzysztof przedstawia UML od innej strony i pokazuje jak go wykorzystać jako wsparcie w zdobywaniu wiedzy na temat istniejącej aplikacji. Używając UMLa do tworzenia systemów możemy diagramy rysować na kartkach i skorzystać z notacji, jednak do prezentowanego podejścia niezbędne będzie wykorzystanie narzędzia.
Aplikacje biznesowe
70 SQL Server 2005/2008 (Artur Mościcki)
Artur przedstawia zalety używania widoków w SQL Server 2005/2008 podczas tworzenia rozwiązań biznesowych.
Felieton
75 Człowiek bez sieci... (Krzysztof Ścira)
Wywiad
76 Wywiad z Piotrem Biernackim

Numer 6/2008:

Biblioteka miesiąca
16 ActiveRecords - nie tylko Rails (Marcin K. Paciulan)
Marcin przedstawia ActiveRecords jako ciekawą, prostą i posiadającą wiele możliwości bibliotekę. Dzięki zastosowaniu DRY i Convention over configuration implementacja wybranych rozwiązań jest szybka i przyjemna a co za tym idzie daje wiele satysfakcji. Jest to na tyle interesujące rozwiązanie że zasługuje na uwagę nawet jeżeli nie planujemy jego szerszego wykorzystania.
Sqam/sql
24 Linq to SQL (Jacek Matulewski)
Jacek poruszając temat technologii LINQ pisze że zazwyczaj mówi się o osadzeniu języka SQL w języku C#. W przypadku LINQ to SQL zanurzenie to można rozumieć niemal dosłownie - zapytanie LINQ jest w tym przypadku tłumaczone bezpośrednio na zapytanie SQL wysyłane do bazy danych SQL Server 2005.
Programowania xml
34 XML w większej Scali (Piotr Kochański)
Piotr opisuje jak przetwarzanie dokumentów XML-owych stało się codziennością w niezliczonej liczbie różnego rodzaju aplikacji. XML jest używany najczęściej do przechowywania i udostępniania danych oraz do komunikacji między aplikacjami (usługi sieciowe SOAP). W artykule autor zajął się problemem przetwarzania dokumentów XML-owych, omówił również dlaczego bardzo często jest to niewdzięczne zadanie. Następnie przyjrzał się bliżej językowi programowania Scala.
Programowanie java
54 Hibernate (Mariusz Róg)
Mariusz przedstawia niezbędne informacje o specyficznej funkcjonalności serwera Jboss w wersji 4.0, związanej z bazami danych i środowiskiem „Hibernate”. Jest to prosty przewodnik, w jaki sposób implementować taką funkcjonalność. Skierowany jest nie tylko do początkujących, ale również doświadczonych programistów Java EE, pragnących ułatwić sobie prace korzystając z mechanizmów automatycznego tworzenia i zarządzania fabryką sesji oraz hermetyzować warstwę bazy danych w kodzie i w wynikowej aplikacji jednocześnie zapewniając łatwy dostęp do obsługi bazy.
Warsztat unix
68 Unix - piszemy program na komórkę (Bartosz Taudul)
Bartosz napisał że w chwili obecnej system operacyjny Symbian ma największy udział w rynku smartfonów, jest więc interesującą platformą dla programistów. Wymagane narzędzia są dostępne jednak tylko dla użytkowników Windowsów, a samo programowanie przypomina wbijanie gwoździ bananem. Bartek przedstawia alternatywne podejście do tematu, które kładzie nacisk na wykorzystanie uniksowego doświadczenia czytelników, nie boi się przy tym krzyknąć, że król jest nagi.

Numer 5/2008:

Biblioteka miesiąca
14 Location Acquisition API - obsługa GPS w aplikacjach C++ dla systemu Symbian OS (Piotr Szmyt)
Piotr przedstawia metody odczytywania aktualnej pozycji z urządzenia GPS w aplikacjach pisanych w języku C++ dla systemu Symbian OS. Ponadto pokazane są metody sprawdzania dostępności modułów pozycjonujących oraz pobierania alternatywnych informacji z poziomu urządzenia GPS (np. prędkość czy czas). Zawarty w artykule opis Location Acquisition API przedstawia najważniejsze klasy wspierające obsługę urządzeń GPS za pośrednictwem Symbian OS. Analiza załączonej, przykładowej aplikacji ułatwia zrozumienie tematu i pokazuje jak w praktyce wykorzystać opisywane mechanizmy.
Platformy mobilne
30 Android - programowanie dla telefonów komórkowych w Linuksie (Artur Zielazny)
Artur przedstawia że Android to nowa platforma dla telefonów komórkowych zaprezentowana 5 listopada 2007 roku przez Google i inne firmy zrzeszone w "Open Handset Alliance". W artykule poruszone są kwestie związane z potencjalnym wpływem jaki nowa platforma może mieć na rynek tzw. "smartphonów", pewne aspekty związane z jej licencjonowaniem, ale przede wszystkim techniczne aspekty nowego rozwiązania. W artykule opisany jest sposób w jaki zacząć tworzenie aplikacji dla Androida wykorzystując dostarczany SDK i środowisko Eclipse.
40 Programowanie Windows Mobile 6 (Maciej Paczewski)
Maciej napisał o tym że Windows Mobile coraz częściej gości w urządzeniach typu Smartphone czy Pocket PC. System ten, powstały na bazie Windows CE, ma już za sobą kilka lat ewolucji i rosnącą popularność na rynku. W swoim artykule Maciek przedstawia narzędzia, środowisko oraz sposoby tworzenia aplikacji dla systemu Windows Mobile w wersji 6. Artykuł prezentuje również odmienne podejścia tworzenia aplikacji w rożnych językach, m.in. w C++ czy C# oraz prezentuje możliwości API systemu Windows, który z łatwością mieści się w kieszeni.
54 Programowanie gier 3D na platformie mobilnej (Krystian Kostecki)
Czytając artykuł Krystiana czytelnik może odkryć tajniki programistów gier 3D, oraz przekonać się w jaki sposób kieszonkowe cuda potrafią przetwarzać w pełni trójwymiarowe obrazy. Autor wyjaśnia również jak zaimplementować drzewo logiczne sceny oraz jak wykorzystać podział przestrzenny, aby wydajnie wykrywać kolizje i usuwać niewidoczne powierzchnie z potoku renderującego.
Warsztaty
68 Brew - Java, C i C++ w sieciach GSM/GPRS, UMTS i CDMA (Wojciech Gasek)
Wojciech opisuje BREW - popularny system goszczący na urządzeniach mobilnych. Platforma ta powstała początkowo na urządzeniach pracujących w sieciach CDMA - stąd jest rozpowszechniona w Stanach Zjednoczonych. Obecnie można ją również znaleźć w urządzeniach pracujących w systemach GSM/UMTS. Artykuł prezentuje, w jaki sposób skonfigurować środowisko programistyczne i rozpocząć pracę nad aplikacjami BREW.
Data grid
74 Oracle Coherence część 2 (Michał Kuratczyk)
Michał w poprzednim artykule omówił podstawową funkcjonalnością Coherence, jaką jest przechowywanie obiektów w pamięci operacyjnej klastra. Teraz, gdy wiemy już w jaki sposób wstawiać, pobierać i wyszukiwać dane, możemy zająć się bardziej zaawansowaną funkcjonalnością - rozproszonym przetwarzaniem danych przechowywanych w Gridzie.

Numer 4/2008:

Biblioteka miesiąca
16 DWR - RPC w JavaScript (David de Rosier)
Autor opisuje DWR (Direct Web Remoting) jako ciekawe rozwiązanie dla programistów Javy i JavaScript. Wiele z bibliotek, dla tego ostatniego, stara się narzucić styl programowania i być uniwersalnymi narzędziami do wszystkiego. Autor chwali DWR za zminimalizowanie kodu pisanego przez programistę, łatwość integracji i niewielki rozmiar biblioteki.
Języki programowania
26 C# 3.0 i LINQ (Jacek Matulewski)
Jacek w artykule przedstawił przegląd nowości języka C# 3.0 (platforma.NET 3.5) wprowadzone na potrzeby technologii LINQ. Ostateczna wersja platforma .NET 3.5 została udostępniona równocześnie z Visual Studio 2008 (także w wersji darmowej Express Edition) pod koniec listopada 2007.
34 Jakość kodu źródłowego Java (Łukasz Lechert)
Notacja węgierska to technika znana programistom C++. Czy technikę tą można zaadoptować do projektów opartych na języku Java? Czy kod źródłowy aplikacji jest bardziej czytelny i mniej podatny na popełnianie błędów? Na te pytania odpowie artykuł Łukasza, który przedstawia przykłady konwencji nazewnictwa dla projektów Java.
Aplikacje biznesowe
38 SQL Server 2005 (Artur Mościcki)
Artur w artykule omawia używanie dynamicznych konstrukcji SQL w aplikacjach biznesowych. Przedstawia wiele zalet m.in. szybkość działania i prostotę tworzonych rozwiązań oraz złą stronę tego typu rozwiązań. W aplikacjach biznesowych nie można sobie pozwolić na ryzyko „wypłynięcia” lub „utraty danych”. Autor zaznacza, iż dobrze napisane aplikacje stają się źródłem sukcesu firmy, źle napisane mogą stać się przyczyną klęsk.
Data grid
46 Oracle Coherence (Michał Kuratczyk)
Michał opisuje Coherence - produkt w Polsce jeszcze mało znany, chociaż na świecie używany w najbardziej wymagających systemach już od kilku lat. Jego podstawową cechą jest implementacja pamięci rozproszonej - wydajnej, bowiem znajdującej się w pamięci operacyjnej, a zarazem trwałej, gdyż dane mogą być replikowane w ramach klastra Coherence oraz zapisywane na dysku.
Sdj starter
50 Hurtownie danych (Joanna Sprenglewska)
Joanna przedstawia pojęcia tj. definicję, cechy charakterystyczne, sposoby implementacji, zastosowanie hurtowni danych. Artykuł będzie bardo przydatny dla kogoś, kto jeszcze nigdy nie spotkał się z tą tematyką. Dla bardziej zaawansowanego użytkownika może być dobrą lekcją powtórki.
Programowanie sqam
54 Wzorce Q-Patterns (Artur Chyziewicz)
Artur opisuje Q-Patterns jako efektywny sposób przekazywania skondensowanej wiedzy początkującym testerom. To metoda organizacji testów eksploracyjnych oraz sprawne narzędzie pomocne w projektowaniu i weryfikacji przypadków testowych.
Warsztaty
62 Oracle XE od podstaw (Sylwester Lewendowski)
Sylwester zapoznaje nas z podstawowymi opcjami Oracle XE wykonując przy tym prostą bazę danych. Omawiany produkt to z całą pewnością interesująca oferta dla początkujących programistów, a także projektów, w których nie ma funduszy na zastosowanie pełnej edycji.
82 Zapowiedzi (Patrycja Pruchner patrycja.pruchner@software.com.pl)

Numer 3/2008:

Biblioteka miesiąca
14 jQuery (Piotr Gawle)
Piotr opisuje jedną z popularniejszych bibliotek języka Javascript - jQuery. Za pomocą prostych przykładów wprowadza czytelnika w składnię i wyjaśnia działanie udostępnianych metod. Czytelnik dowie się jak manipulować elementami DOM, wykorzystać selektory CSS w wyszukiwaniu, animować komponenty strony HTML, skorzystać z mechanizmu AJAX i wykorzystać różne biblioteki Javascript w jednej aplikacji.
Programowanie java
32 Prefuse (Piotr Nazimek)
Piotr przedstawia Prefuse jako pakiet, który dostarcza szybkich i nieskomplikowanych narzędzi przeznaczonych do przechowywania danych. Autor w artykule zaprezentował możliwości biblioteki perfuse. Następnie, na przykładzie prostej aplikacji wizualizującej sieć komputerową, opisał ogólny sposób tworzenia aplikacji oraz elementy pakietu.
Programowanie openxml
42 Podpis cyfrowy w OpenXML (Rafał Kocisz)
Rafał opisuje jak ważne jest to, aby aplikacje, które wykorzystują podpis mogły być bardzo łatwo zaimplementowane. Autor w artykule przedstawia nowy format plików, jakim jest OpenXML. Zachęca nas do przyjrzenia się dokładnie opisanemu rozwiązaniu, gdzie możemy zauważyć, że implementacja podpisu cyfrowego przy wykorzystaniu.NET Framework oraz OpenXML jest bardzo łatwa i intuicyjna. Dzięki temu możliwe jest skrócenie czasu tworzenia aplikacji oraz proste i tanie zaimplementowanie istotnych elementów podpisu cyfrowego.
Programowanie aspektowe
46 Programowanie aspektowe z AspectJ (Łukasz Budnik)
Łukasz artykuł poświęcił programowaniu aspektowemu (ang. aspect-oriented programming) - paradygmatowi tworzenia programów komputerowych wspomagającemu separację zagadnień i rozdzielenie programu na części w jak największym stopniu niezwiązane funkcjonalnie. Autor przedstawia mnóstwo przykładów w AspectJ, które jest aspektowym rozszerzeniem języka Java stworzonym przez Xerox PARC.
Programowanie platform mobilnych
52 Google Android (Roger Zacharczyk)
Autor prezentuje możliwości nowej platformy Google Android. Opisuje jej główne cele i założenia oraz pomaga stworzyć pierwsze aplikacje. Czytelnik pozna podstawowe funkcje Androida, zobaczy w jaki sposób działają aplikacje na przykładzie „Hello, Android” oraz prostego terminarza, gdzie zostanie wykorzystana baza danych SQLite. Artykuł pokazuje również, co wyróżnia Androida na tle innych platform mobilnych.
Warsztaty
62 JaKK - transfer plików w sieci Jabber/XMPP (Patryk Grzegorczyk)
Patryk opisuje Jabber/XMPP jako protokół komunikacji natychmiastowej, zdobywający coraz większą popularność. Autor w artykule przedstawia metodę SOCKS 5, która jest najczęściej wykorzystywaną metodą transferu plików w Jabberze.
82 Zapowiedzi (Redakcja SDJ)

Numer 2/2008:

Języki programowania
36 Asembler - optymalizacja kodu (Artur Kozubski)
Programowanie openxml
48 OpenXML - rejestracja pacjentów (Rafał Kocisz)
Testowanie sqam
54 Cieniowanie geometrii w OpenGL (Janusz Ganczarski)
Warsztaty
62 Testowanie webserwisów w pigułce (Tomasz Sztelak)
82 Zapowiedzi (Patrycja Pruchner patrycja.pruchner@software.com.pl)

Numer 1/2008:

Biblioteka miesiąca
16 Arabica - biblioteka C ++ do obsługi XML (Jez Higgins)
Jez, twórca biblioteki przedstawia zestaw narzędzi do obsługi formatu XML z poziomu języka C++. W trakcie prac nad Arabicą autor przyjął dwa priorytetowe założenia: poprawność oraz łatwość użycia. Arabica jest napisana w języku C++, w związku z czym, jest ona dostępna na wszystkich popularnych platformach.
Sztuczna inteligencja
34 Automatyzacja komunikacji tekstowej (Szymon Jessa)
Szymon przedstawia główne idee automatyzacji komunikacji tekstowej i pokazuje jej ekonomiczne uzasadnienie. Opisuje programy prowadzące swoje „życie towarzyskie”, oraz to jak zdobyć wiedzę o najważniejszych rodzajach automatów, które już dziś funkcjonują w biznesie. Przekonuje o ich użyteczności dzięki przykładowym rozmowom przeprowadzonym przez te automaty.
Języki programowania
44 Vala - język oparty o model Gobject (Marek Sawerwain)
Marek prezentuje właściwości języka Vala i zachęca do jego wypróbowania. Jak twierdzi autor, w przyszłości będzie to podstawowy język GNOME. Już teraz wspiera on wiele nowoczesnych technik programowania, takich jak sygnały, własności czy typy uogólnione.
.net 3.0
52 Tworzenie animacji w WPF (Krzystof Rychlicki-Kicior)
Krzysztof w artykule omawia mechanizm animowanych wartości. Umożliwia ich utworzenie w aplikacjach.NET 3.0 które są obsługiwane przez system Windows Vista, XP z Service Pack 2 i 2003 Server z SP1.
Warsztaty
66 Liferay - przepis na własny portal (Błażej Zyglarski)
Autor przedstawia portal Liferay oparty o nowoczesne technologie J2EE, XML, AJAX, jego zastosowania i przykłady konfiguracji. Stworzenie portalu internetowego od zera może być czasochłonne. Dzięki wykorzystaniu dostępnych rozwiązań, można tego dokonać szybciej i łatwiej uzyskując jednocześnie dużo wyższą skalowalność, wydajność i wygodę pracy użytkowników.
82 Zapowiedzi (obsługi XML”.)
Jak co miesiąc do magazynu dołączamy płytę, gdzie zamieściliśmy trzecią część multimedialnego kursu Java, z którego dowiecie się w jaki sposób rysować proste elementy graficzne w aplikacjach. Poza tym zapoznacie się jak można wykorzystać narzędzie CASE służące do projektowania i konstruowania systemów softwarowych, modelowania procesów biznesowych oraz do ogólnie pojętego modelowania systemów. Dodatkowo zamieściliśmy program Axence nVision, przedstawiający kompleksowe rozwiązanie do zarządzania sieciami, umożliwiające monitorowanie sieci i użytkowników, inwentaryzowanie sprzętu i oprogramowania, a także zapewniające zaawansowany system raportowania i alarmowania. Jeżeli macie jakieś uwagi lub nowe propozycje odnośnie magazynu piszcie do nas na adres sdj@software.com.pl. Zapraszamy do lektury!

Numer 12/2007:

Biblioteka miesiąca
16 Joda Time API (Marcin Zając)
Biometryka w c++
28 Detekcja i rozpoznanie twarzy w C++ (Damian Ostraszewski)
Warsztaty
54 Rozszerzenie wzorców J2EE (Piotr Róg)
82 Zapowiedzi (Redakcja SDJ)

Numer 11/2007:

Biblioteka miesiąca
18 Python w zastosowaniach numerycznych (Tomasz Kropiewnicki)
Tomasz opisuje jak z języka Python i kilku specjalizowanych bibliotek uczynić poważne środowisko do zastosowań numerycznych. Rozwój wolnego oprogramowania wkroczył pełną parą także i w zakątki obliczeń naukowych, warto więc zapoznać się z możliwościami takich bibliotek jak NumPy czy matplotlib, gdyż zyskują one coraz większą popularność zagrażając pozycji pakietów komercyjnych. Autor przedstawia za pomocą serii przykładów podstawy obsługi bibliotek jak i popularne zastosowania spotykane na studiach oraz w codziennej pracy.
Programowanie java
24 Java Desktop (Krzysztof Barteczko)
Krzysztof w pierwszej części artykułu omówił sortowanie i filtrowanie tabel w Javie 6. W drugiej części autor przedstawił innowacyjne rozwiązania, dotyczące komponentów Swingu i grafiki. Nie są one jeszcze włączone do standardu Javy, ale niewykluczone, że niektóre z nich znajdą się w wersji 7.
Testowanie sqam
44 Jak dobry jest Twój proces testowy? (Monika Braun)
Kontrola jakości staję się coraz ważniejszym punktem całego procesu tworzenia oprogramowania, a firmy informatyczne coraz częściej decydują się na zdefiniowanie procesu testowego. Wprowadzenie takiego procesu to jednak nie wszystko - trzeba wiedzieć, czy działa on efektywnie i w jaki sposób go doskonalić - w tym zadaniu pomocny może być model TPI.
Programowanie xml
60 Walidacja w RELAX NG (Dominik Tomaszuk)
Dominik opisuje język schematów XML RELAX NG, którego pierwowzorem były TREX Jamesa Clarka i RELAX Murata Makoto. Autor przedstawia jego możliwości i zalety m.in. dostępność na dwóch składniach (XML i Compact), łatwość w obsłudze oraz możliwość współpracy z innymi językami schematów np. Schematron.
Warsztat
66 script.aculo.us (Dawid de Rosier)
David opisuje script.aculo.us jako bibliotekę przeznaczoną dla języka Java Script dostarczającą elementy interfejsu użytkownika oraz efekty wizualne możliwe do osadzenia na stronie internetowych. Autor również zaznacza, że script.aculo.us należy rozpatrywać bardziej w kategoriach uzupełnienia Prototype, niż jako bibliotekę samą sobie.
82 Zapowiedzi (Renata Nicińska renata.nicinska@software.com.pl)

Numer 10/2007:

Programowanie c#
24 C# 3.0 (Marcin Kawalerowicz)
Programowanie grafiki
28 Shadery oraz Fraktale (Marek Sawerwain)
Testowanie oprogramowania
62 DUnit - Delphi i testy jednostkowe (Łukasz Lechert)
Warsztaty
64 JSR-181 - adnotacje webserwisów w Javie (Tomasz Sztelak)
82 Zapowiedzi (Patrycja Pruchner patrycja.pruchner@software.com.pl)

Numer 9/2007:

Biblioteka miesiąca
16 ASM - manipulacje kodem bitowym Javy (David de Rosier)
David opisuje w jaki sposób programowanie aspektowe, staje się coraz modniejsze w świecie programistów Javy. Biblioteka ASM w tego typu zastosowaniach ma silną i ugruntowaną pozycję, głównie ze względu na zdecydowanie większą szybkość działania w stosunku do konkurencji, niewielki rozmiar oraz wsparcie dla najnowszych wersji języka Java.
Programowanie w javie
24 Tabele w Javie 6 - sortowanie i filtrowanie (Krzysztof Barteczko)
Krzysztof opisuje w jaki sposób tabele w Javie 6 wyposażono w bogaty, elastyczny i dość wygodny w użyciu mechanizm sortowania i filtrowania wierszy. Niewątpliwie jest to wyraz ogólnej tendencji rozwoju i doskonalenia środków programowania GUI w duchu Java Desktop. O innych związanych z Java Desktop innowacjach, zarówno w standardowych pakietach Javy, jak i poza nimi, traktować będzie druga część artykułu.
Dla początkujących
46 Błąd wykryty - ale co dalej? (Monika Braun)
Monika przedstawia w jaki sposób przeprowadzamy raportowanie wykrytych błędów w oprogramowaniu. Jak powinno wyglądać raportowanie błędów i jak w tym zadaniu mogą pomóc narzędzia do śledzenia i raportowania błędów? W artykule znajdziecie odpowiedzi na te pytania oraz porównanie jednych z najpopularniejszych narzędzi do zarządzania błędami.
Warsztaty
60 Google Maps API część 2 (Witold Rugowski)
Witold w artykule przedstawił kilka bardziej zaawansowanych aspektów związanych z Google Maps API (pierwsza część, omawiająca podstawowe użycie była zamieszczona w SDJ 3/2007). Przykłady do których odwołuje się autor testowane były z wykorzystaniem Firefoksa 2.0 oraz IE 7.0 pod Windows, z Google Maps API w wersji 2.71.
Testowanie sqam
64 Testy jednostkowe warstwy DAO (Marcin Sarniak)
Zamierzeniem Marcina było przekrojowe pokazanie problemów i możliwości testowania warstwy DAO - zagadnienia, które bardzo często nie jest w ogóle zauważane, a jest bardzo złożonym i ważnym elementem planowania budowy i rozwoju aplikacji opartej o bazę danych.
Narzędzia programistyczne
74 Daikon - odkrywanie właściwości programów (Piotr Nazimek)
Piotr opisuje Daikon jako pakiet przeznaczony do dynamicznego wykrywania właściwości programów. Wykrywa on około 80 różnych typów zależności, które m. in. opisują związki między zmiennymi liczbowymi oraz pewne właściwości struktur danych. Wykryte przez Daikon właściwości nazywane są przez jego autorów niezmiennikami. Przystosowany on został do badania programów stworzonych w Java, C, C++ oraz Perl. Sam Daikon zaimplementowany został w języku Java.
82 Zapowiedzi (Iwona Chwedoruk iwona.chwedoruk@software.com.pl)

Numer 8/2007:

Biblioteka miesiąca
16 Generic Image Library (Lubomir Bourdev)
Lubomir przedstawia ogólny przegląd możliwości rozwiązania Generic Image Library. Pokazuje w jaki sposób GIL rozgranicza szczegóły reprezentacji obrazów od przetwarzających je algorytmów, w jaki sposób można tworzyć wirtualne obrazy na bazie dowolnych funkcji oraz jak używać obrazów, których właściwości mogą być rozpoznane dopiero na etapie uruchomienia programu.
Programowanie c/c++
24 OpenKODE (Janusz Ganczarski)
Janusz przedstawia OpenKODE jako najnowszy projekt Khronos Group, często określany odpowiednikiem pakietu DirectX na urządzenia przenośne. Artykuł informuje jak OpenKODE łączy pięć otwartych standardów opracowywanych przez Khronos Group: OpenGL ES, OpenVG, OpenMAX, OpenSL ES oraz EGL.
Testowanie sqam
36 Mock Objects (Marcin Sarniak)
Marcin opisuje, w jaki sposób umiejętnie używany EasyMock, który jest bardzo ciekawym narzędziem ułatwiającym tworzenie testów aplikacji w trakcie jej budowania. Naturalność użytych rozwiązań ułatwia późniejszą refaktoryzację kodu. Po opanowaniu API EasyMock-a pisanie testów jest naprawdę szybkie i łatwe.
Warsztaty
56 Migracja od DHTML do DOM Scripting (Leszek Albrzykowski)
Leszek opisał praktyczne metody migracji od DHTML do DOM Scriptingu. Fragment kodu, który zamieścił, skierowany jest do osób początkujących, a główny nacisk położył na bardziej teoretyczne kwestie opisanego problemu.
60 Systemy Rejestracji Czasu Pracy (RCP) (Grzegorz Palmer)
Grzegorz przedstawia założenia związane z budową systemu RCP wraz z najważniejszymi fragmentami kodu, które mogą stanowić dobry początek w tworzeniu własnego rozwiązania. Stworzenie dobrze przemyślanych klas dostępu umożliwia relatywnie bezproblemowe zbudowanie interfejsu użytkownika, a jakiekolwiek zmiany wprowadzane w późniejszym terminie nie będą kolidować z ogólną logiką systemu.
Programowanie.net
64 Tuning witryny ASP.NET 2.0 (Jacek Matulewski)
Jacek uczy w jaki sposób całkowicie przeobrazić interfejs zaprojektowanej wcześniej witryny (SDJ 07/2007) używając kaskadowych arkuszy stylów, technologii AJAX.
82 Zapowiedzi (Iwona Chwedoruk iwona.chwedoruk@software.com.pl)

Numer 7/2007:

Biblioteka miesiąca
14 wxPython: programowanie GUI dla leniwych (Rafał Kocisz)
Rafał chce zainteresować czytelników biblioteką wxPython i udowodnić, że programowanie GUI przy wykorzystaniu tego rozwiązania może być łatwe, intuicyjne i przyjemne.
Dla początkujących
28 Nowe ramki: XFrames (Dominik Tomaszuk)
Dominik przestawia XFrames jako przyszłościowy język, który współpracuje z każdą aplikacją XML oraz z innymi typami. Istnieją już dwie implementacje tego języka XSmiles i DENG. Nadal ma on status szkicu roboczego, niemniej jednak warto przyjrzeć się już teraz temu językowi, bo większe zmiany nie są już przewidywane, a schematy takie jak DTD, RelaxNG i XML Schema już są dostępne.
Programowanie java
32 Masowe przetwarzania danych w systemach JEE (Piotr Biedacha)
Piotr przedstawia schemat algorytmu przetwarzania masowego i fakt, że jest on szeroko wykorzystywany w najbardziej krytycznych systemach informatycznych wielu przedsiębiorstw. Świadczy to o dojrzałości platformy JEE oraz pokazuje spektrum możliwości jej zastosowań biznesowych.
38 Komponenty encyjne EJB 3.0 - dziedziczenie (Andrzej Smoliński)
Andrzej opisuje jedną z wielu pozytywnych zmian, jakie wprowadzono w specyfikacji EJB 3.0 w stosunku do EJB 2.1. Autor spotkał się z testami, które wykazywały różnice wydajnościowe dla strategii dziedziczenia „JOINED” i „TABLE_PER_CLASS” - próbuje przyjrzeć się poszczególnym wariantom, ich wadom i zaletom. Zobaczymy też przykład wykorzystujący te mechanizmy.
Warsztat
44 ASP.NET 2.0, ADO.NET 2.0 i AJAX (Jacek Matulewski)
Jacek w swoim artykule szczegółowo opisuje w jaki sposób, korzystając z technologii ASP.NET, ADO.NET i AJAX, zaprojektować witrynę wspomagającą organizację wszelkiego typu spotkań: od konferencji naukowych po zloty fanów.
82 Zapowiedzi (anna.czerwinska@software.com.pl)

Numer 6/2007:

Programowanie grafiki
32 dla kodu nienadzorowanego (Włodzimierz O. Kubera)
40 - graficzny edytor danych na przykładzie (Janusz Rybarski)
Warsztaty
54 - aplikacja testowa w warstwie biznesowej (Piotr Róg)
Bazy danych
60 multimedialnych w polach typu BLOB (Igor Kruk)
82 6/2007 (150) (http://www.buyitpress.com)

Numer 5/2007:

Biblioteka miesiąca
12 Biblioteka Boost Test (Dariusz Walczak)
Dariusz przedstawia bibliotekę Boost Test, która ułatwia testowanie kodu pisanego w języku C++. Opierając sie na własnym doświadczeniu doradza w jaki sposób pisać dobre unit testy, a początkującym użytkownikom proponuje zestaw podstawowych zasad, jakimi kieruje się przy pisaniu przypadków testowych na swoje potrzeby.
Programowanie.net
24 Silnik reguł biznesowych MS WWF w praktyce (Marcin Sulecki)
Marcin pokazuje, że można szybko zastosować silnik reguł biznesowych bez całego bagażu workflow. Dzięki temu nie będziesz musiał rysować żadnych diagramów procesów, aby skorzystać z mocy silnika reguł. To może być dobry wstęp do zaznajomienia się z MS WWF. Na płycie CD zamieściliśmy przykładowe materiały do ćwiczeń.
28 Monitorowanie aplikacji ASP.NET 2.0 (Paweł Matyjasek)
Paweł omawia nowości w ASP.NET 2.0, dzięki którym można łatwiej monitorować stan aplikacji oraz wykrywać błędy, nawet przy braku współpracy ze strony administratora serwera.
Programowanie c++
48 Variadic templates w C++0x (Michał Małecki)
Michał przedstawia rozwiązanie Variadic templates, czyli wzorce ze zmienną listą parametrów. Rozwiązanie to ma pojawić się w nowym standardzie C++0x. Poznasz również problemy, którym rozwiązanie to ma zaradzić.
Sieci neuronowe
54 Ortogonalne Sieci RBF (Władysław Kamiński)
Profesor Kamiński wyjaśnia czym jest sieć RBFN, do czego służy oraz do czego można ją wykorzystać. Zachęca również do przeprowadzania własnych doświadczeń.
Sieci xmpp
60 Jingle Bells czyli Jabber i VoIP (Maciej Zawadziński)
Maciej opisuje w jaki sposób zestawiane są połączenia bezpośrednie, a w szczególności sesje VoIP, między klientami Jabbera wspierającymi rozszerzenia Jingle protokołu XMPP. Poznasz również architekturę oraz przykłady zastosowania biblioteki libjingle.
Warsztaty
68 ESC/Java 2 (Piotr Nazimek)
Piotr opisuje pakiet narzędzi ESC/Java2, dzięki któremu można ustrzec się przed wieloma niebezpiecznymi konstrukcjami w kodzie źródłowym. Na płycie dołączonej do magazynu znajdują się pliki z kolejnymi wersjami klasy omawianej w artykule.

Numer 4/2007:

Biblioteka miesiąca
14 DOJO (Dawid de Rosier)
Dawid tłumaczy czym jest biblioteka DOJO i w jaki sposób ułatwia programowanie interfejsu użytkownika oraz logiki aplikacji internetowych. Artykuł został oparty na przykładzie aplikacji służącej do rejestracji godzin pracy pracowników firmy.
Inżynieria oprogramowania
34 Ewolucja wzorca polimorfizmu zewnętrznego w C++ (Paweł Kapłański)
Paweł przedstawia czym jest polimorfizm oraz wyjaśnia w jaki sposób w języku C++ uzyskać jednolity styl architektoniczny, bazujący na koncepcji polimorfizmu zewnętrznego.
Aplikacje biznesowe
48 JBoss Cache - pamięć podręczna w JEE (Piotr Sikora)
Piotr omawia zasadę działania pamięci podręcznej oraz przedstawia przykład jej wykorzystania z użyciem JBoss Cache.
Warsztaty
52 Mule - krok poza ESB (Łukasz Krawczyk)
Łukasz wyjaśnia pojęcia związane z Enterprise Service Bus, problematyką integracji systemów, architekturę Mule, a także sposób, w jaki odbywa się wymiana informacji pomiędzy aplikacjami korzystającymi z różnych interfejsów dostępu do danych. Artykuł został oparty na przykładzie wykorzystania silnika Mule, który we względnie prosty sposób implementuje podstawową funkcjonalność sklepu internetowego.
60 Rozszerzanie wzorców J2EE (Piotr Róg)
Piotr przedstawia rozwinięcia wzorców projektowych, ich stosowanie oraz opisuje autorsko opracowane rozwinięcia szeroko stosowanych w systemach biznesowych wzorców J2EE. Wszystkie wzorce zostały zebrane jako jeden projekt rozwijany w środowisku Eclipse i mogą być używane w dowolnym projekcie po włączeniu ich do classpath, a po skompilowaniu tworzą jedno archiwym Javy zamieszczone na płycie CD.
Starter sdj
76 Szablony C++ (Marek Więcek)
Marek przedstawia najważniejsze informacje na temat programowania przy użyciu szablonów oraz zachęca do programowania ogólnego w języku C++ i własnych eksperymentów z szablonami. Poznasz szablony funkcji, szablony klas, szablony metod klas, specjalizacje szablonów oraz formalną weryfikację kodu.
90 Zapowiedzi (Sylwia Pogroszewska sdj@software.com.pl)

Numer 3/2007:

Biblioteka miesiąca
12 SharpZipLib w akcji (John Reily)
John prezentuje możliwości, sposoby korzystania oraz zastosowania SharpZipLib. Biblioteka jest zoptymalizowana w odniesieniu do obsługi standardowych formatów kompresji: Defl ate, Gzip oraz Zip. Dla formatów tych udostępnia wiele alternatywnych mechanizmów odczytu i zapisu skompresowanych archiwów, co z kolei daje bardzo szerokie możliwości przy projektowaniu aplikacji.
Warsztaty
30 Google Maps API (Witold Rugowski)
Witold omawia zastosowania poszczególnych elementów Google Maps API oraz uczy w jaki sposób zbudować aplikację do zaznaczania tras na mapie i liczenia ich długości.
34 IronPython - konfiguracja środowiska (Krzysztof Rychlicki-Kicior)
Krzysztof wskazuje jakie możliwości dają połączone technologie: IronPython oraz.NET. Dowiesz się w jaki sposób skonfi gurować środowisko IronPython.
Programowanie java
42 Drools - silnik reguł biznesowych (Mariusz Kaczor)
Mariusz omawia wyjaśnia czym jest silnik reguł biznesowych oraz wskazuje jego wykorzystanie na przykładzie krzyżówek SUDOKU.
Starter sdj
58 Ruby on Rails - technologia przyszłości (Konrad Witaszczyk)
Artykuł skierowany jest do początkującego użytkownika. Konrad uczy w jaki sposób przygotować się do pracy, jak napisać pierwszą aplikację.
82 Zapowiedzi (Sylwia Pogroszewska sdj@software.com.pl)

Numer 2/2007:

Biblioteka miesiąca
20 CLucene - efektywne wyszukiwanie informacji (Ben van Klinken)
Ben przedstawia przegląd możliwości CLucene, opisuje zasady jej działania i pokazuje kilka wskazówek, które pozwolą szybko rozpocząć pracę z biblioteką i pomogą używać jej w poprawny sposób.
Warsztaty
36 Pierwsza strona w XHTML (Leszek Albrzykowski)
Leszek przedstawia podstawy języka XHTML oraz opisuje kilka sposobów na unikniecie błędów, z którymi na co dzień można zetknąć się w Internecie.
40 Nowości w XHTML 2.0 (Dominik Tomaszuk)
Dominik na podstwie szkicu W3C XHTML-a 2.0 z 26 lipca 2006r omawia najważniejsze nowości w XHTML-u 2.0, które z dużym prawdopodobieństwem znajdą się w fi nalnej rekomendacji.
46 Przenośny kod z biblioteką POSH (Piotr Nazimek)
Piotr opisuje bibliotekę POSH, która pozwala na rozwiązanie problemów związanych z pisaniem przenośnego kodu oraz uczy w jaki sposób napisać kod przenośny.
Bezpieczeństwo
50 Bezpieczeństwo webserwisów w praktyce (Tomasz Sztalak)
Tomasz uczy w jaki sposób stworzyć przykładowy webserwis, przedstawia metody zabezpieczeń wskazując zarówno zalety, jak i wady opisywanych rozwiązań.

Numer 1/2007:

Biblioteka miesiąca
16 Quartz - zarządzanie zadaniami w J2SE/J2EE (Piotr Anioła)
Piotr przedstawi otwartą bibliotekę wspomagającą harmonogramowanie zadań, którą można zintegrować z dowolną aplikacją J2EE lub J2SE. Pokaże nam jak budować proste i złożone harmonogramy.
Aplikacje biznesowe
26 e-Poltax (Janusz Ganczarski)
Janusz przedstawi w artykule budowę i funkcjonowanie aplikacjii elekronicznych na podstwie elektronicznych formularzy rozliczeń podatkowych (PIT) systemu e-Poltax.
36 Business Process Execution Language (Piotr Skrobisz)
Piotr zapozna nas z podstawami i najczęściej używanymi elementami języka Oracle Business Process Execution Language.
Programowanie w java
44 Aplikacje Java w telewizji interaktywnej (Tomasz Kuprowski)
Tomasz przedstawi w artykule wykorzystanie Javy w telewizji interaktywnej. Pokaże w jaki sposób napisać zananą wszystkim grę Snake.
Bazy danych
60 Rozszerzenia środowiska bazodanowego Kexi (Jarosław Staniek)
Jarek przedstawi rozszerzenia środowiska Kexi, które to narzędzie przekłada łatwość tworzenia i rozwijania aplikacji bazodanowych nad bogactwo zaawansowanych opcji.

Numer 12/2006:

Sztuczna inteligencja
40 a wyniki uzyskiwane przez program szachowy (Marek Strejczek)
Sieci neuronowe
46 z użyciem pakietu ROOT (Iwona Pękała)
Warsztaty
50 w oparciu o HTTP (Mariusz Chmielewski)
82 Sztuczna Inteligencja (sdj@software.com.pl)

Numer 11/2006:

Biblioteka miesiąca
16 Ciągłość istnienia dzięki narzędziom bazodanowym? (Mariusz Ostapowicz)
Starter sdj
24 i zapytania w MySQL 5.0 (Radosław Nielek)
Bazy danych
34 dostępu do baz danych (Artur Mościcki)
Narzędzia programistyczne
52 - raportowanie z baz danych (Janusz Rybarski)

Numer 10/2006:

Biblioteka miesiąca
14 JFreeReport - darmowe raporty (Dawid de Rosier)
Dawid opisuje bibiotekę JfreeReport, która służy do budowania raportów. Wskazuje sztuczki implementacyjne, które pozwolą zminimalizować nakład pracy i czasu.
22 Qt 4.2 - rewolucji ciąg dalszy (Piotr Szymański)
Piotr przedstawia czwartą eycję biblioteki Qt. Wskazuje zmiany które przez wielu programistów są postrzegane jako rewolucyjne. Pierwsze wzmianki poja wiły się już dwa lata temu na konferencji programistów KDE - aKademy.
Dla początkujących
24 KDE Starter - piszemy przeglądarkę plików graficznych (Paweł Stołowski)
Paweł tłumaczy czym jest KDE oraz wskazuje krok po kroku w jaki sposób napisać pierwszą przeglądarkę plików graficznych.
30 Java Starter - edytor tekstowy w Javie (Krzysztof Rychlicki-Kicior)
Krzysztof wprowadza czytelnika w zagadnienia związane z Javą oraz przedstawia proces tworzenia pierwszego edytora tekstu.
Programowanie w linuksie
36 KDE 4.0 (Piotr Szymański)
Piotr prezentuję jak powstało KDE 4.0. oraz przedstawia nowości zawarte w ostatniej wersji, m.in: szufladki, ulepszony interfejs graficzny,czy też Phonon, który jako druga infrastruktura odegrać może dużą rolę w rozwoju KDE.
Inżynieria oprogramowania
48 Łączenie kodu C++ z zarządzanym kodem.NET (Marek Więcek)
Marek prezentuje sposób łączenia zwykłego kodu w języku C++ z językami zgodnymi z platformą.NET, których głównym reprezentantem jest C#. Wskazuje sytuacje, w których takie połączenia okazuje się konieczne lub jest najlepszym rozwiązaniem.
52 Przegląd modeli cyklu życia oprogramowania (Rafał Kasprzyk)
Rafał wyjaśnia czym jest model cyklu życia systemu informatycznego oraz wskazuje popularne modele cyklu życia systemu informatycznego. Wyjaśnia ich wady oraz zalety

Numer 9/2006:

Biblioteka miesiąca
16 ROME: Obsługa formatów RSS i Atom w Javie (Patrick Chanezon)
ROME jest biblioteką typu open source, udostępnianą na licencji Apache. ROME to zbiór udogodnień, których zadaniem jest zapewnienie łatwej obsługi kanałów informacyjnych z poziomu języka Java. Biblioteka obsługuje aktualnie dziesięć najczęściej używanych w sieci formatów syndykacji. Patrick rozpoczyna od wprowadzenia do biblioteki oraz wyjaśnia w jaki sposób rozpocząć pracę. Następnie omawia zastosowanie ROME Fetcher przy pobieraniu kanałów, obsługę rozszerzonych formatów syndykacyjnych i filtrowanie kanałów przy pomocy ROME.
Testowanie oprogramowania
28 JMeter - testy wydajnościowo-obciążeniowe (Rafał Kasprzyk)
Rafał doradza w jaki sposób przeprowadzić symulację obciążenia serwera WWW oraz dokonać analizy uzyskanych wyników z wykorzystaniem narzędzia JMeter. Tego typu testy przeprowadzone dla kilku dostawców pozwalają na badanie ich wydajności w sposób stosunkowo obiektywny.
32 Wybieramy narzędzie do automatyzacji testów (Mariusz Chrapko)
Wybór dobrego narzędzia do automatyzacji procesu testowania nie jest prosty. Mariusz przedstawia klika praktycznych wskazówek, które w takim wyborze mogą pomóc.
38 Total Quality Management - recepta na sukces (Agnieszka Dunikowska)
Agnieszka wyjaśnia dlaczego warto wdrożyć i wykorzystywać system Total Quality Management w firmie zajmującej się tworzeniem oprogramowania. Omawia także kluczowe elementy takiego sposobu zarządzania a także zagrożenia, które mogą spowodować mało widoczne i nieefektywne rezultaty.
Warsztat
44 Dynamiczne rozszerzanie aplikacji C/C++ (Maciej Zawadziński)
Pisanie dużych i skomplikowanych aplikacji od podstaw jest coraz rzadszym zjawiskiem. Z reguły znacznie prostsze okazuje się rozszerzanie istniejącego oprogramowania. Maciej opisuje mechanizm rozszerzania aplikacji zwanego najczęściej obsługą wtyczek (ang. plug-ins) bądź modułów.
Inżynieria oprogramowania
52 Wielozadaniowość w systemach operacyjnych (Grzegorz Pełechaty)
Grzegorz doradza jak sprawnie zaimplementować wieloprocesowość (ang. multitasking) w systemie Przybliża również istotę przerwań w trybie chronionym oraz funkcję i sposób zarządzania zegarem systemowym oraz szczegółowo omawia problem wielozadaniowości i synchronizacji międzyprocesowej.
58 Data Protection API i.NET Framework 2.0 (Tomasz Leszczyński)
DPAPI jest interfejsem programistycznym umożliwiającym bezpieczne szyfrowanie oraz odszyfrowanie danych w oparciu o algorytm szyfrujący wykorzystujący klucz symetryczny. Tomasz wskazuje, że użycie takiego algorytmu oznacza, iż do zaszyfrowania i odszyfrowania danego bloku danych służy ten sam klucz oraz omawia zastosowanie DPAPI w.NET Framework 2.0.

Numer 8/2006:

Programowanie w javie
18 Java Modeling Language (Piotr Nazimek)
28 Java Native Interface - łączenie Javy i C/C++ (Bartłomiej Starosta)
Biblioteka miesiąca
38 Boost.Regex: wyrażenia regularne w C++ (Rafał Kocisz)
Warsztat
46 Skalowanie czasu i tonacji dźwięków (Olli Parviainen)

Numer 7/2006:

Antyhaking
18 JPasswords - szyfrowanie zbiorów danych (Wolfgang Keller)
JPasswords to aplikacja do zarządzania zaszyfrowanymi zbiorami danych. Narzędzie jest zbudowane w oparciu o platformę Java. Autor omawia problemy związane z bezpieczeństwem oraz doradza w jaki sposób obronić się przed atakami opartymi na analizie pamięci.
Biblioteka miesiąca
24 Prototype (Dawid de Rosier)
Prototype to biblioteka języka JavaScript autorstwa Sama Stephensona, będąca zbiorem użytecznych narzędzi usprawniających programowanie oraz pozwalających zminimalizować problem niekompatybilności skryptów między przeglądarkami. Artykuł omawia w jaki sposób biblioteka wprowadza nową jakość przy tworzeniu kodu JavaScript oraz jak zmienia podejście do niektórych technik programistycznych tego języka, czyniąc go również bardziej przenośnym i czytelnym.
Warsztat
32 Piszemy serwer HTTP (Maciej Zawadziński)
Artykuł przedstawia zasady konstrukcji oprogramowania sieciowego po stronie serwera oraz wskazuje możliwe rozwiązania problemów związanych z pisaniem aplikacji wykorzystujących protokół HTTP.
38 Praca z Pure Power Tactical Engine (Stefan „Karg” Decru)
Pure Power Tactical to silnik dla gier strategicznych i taktycznych czasu rzeczywistego, stworzony według metodyki Open Source i udostępniany na licencji Lesser GPL. Artykuł przedstawia strukturę silnika, sugerując jak najlepsze rozwiązania dotyczące architektury strategii czasu rzeczywistego. Ponadto zostały omówione dwie operacje często spotykane przy rozbudowywaniu silnika: tworzenie nowych jednostek oraz dołączanie skryptów do jednostek już istniejących.
Inżynieria oprogramowania
48 Jądro systemu operacyjnego (Grzegorz Pełechaty)
Autor pokazuje jak napisać własny system operacyjny. Omawia zarządzanie pamięcią oraz przerwania w trybie rzeczywistym, poruszając również podstawowe zagadnienia trybu chronionego.
Programowanie.net
58 Rozbudowa.NET Remoting cz. 2 (Marcin Kawalerowicz)
Artykuł stanowi kontynuację cz 1, która została zmieszczona w nr 5/2006. Marcin przechodzi tym razem o jeden stopień wyżej. Zatem przestaniemy biernie używać dostarczonych wraz z.NET Framework technologii. Rozwijamy dostępne narzędzia i budujemy własne elementy kanału komunikacyjnego. Nie modyfikując logiki kalkulatora rozszerzymy jego funkcjonalność o umiejętność protokołowania przepływających informacji.
82 Zapowiedzi (http://www.sdjournal.org/)
Sylwia Pogroszewska

Numer 6/2006:

Biblioteka miesiąca
14 C++ i grafika 2D o wysokiej dokładności (Maxim Shemanarev)
Programowanie grafiki
38 - programowanie grafiki dla urządzeń mobilnych (Łukasz Grządka)
Programowanie java
54 i maszyną wirtualną Javy (Bartłomiej Starosta)
82 Paskudny kod, oszczędność czasu czy kosztów? (http://www.sdjournal.org/ Sylwia Pogroszewska)

Numer 5/2006:

Programowanie.net
14 AJAX w ASP.NET (Maja Ciemienga)
We współczesnym środowisku osób powiązanych z produkcją komercyjnych aplikacji internetowych lub entuzjastów technologii webowych niejednokrotnie używa się terminów AJAX, ATLAS i Client Callback. Co się za nimi kryje i czym się różnią? Czy rozszyfrowanie znaczenia tych „modnych” słów przyczyni się do poprawy wygody i prostoty obsługi powstającego oprogramowania? Odpowiedź na te pytania oraz przykład rozbudowy projektu Atlas znajdziecie w niniejszym artykule.
20 Microsoft Office v. 12 (Artur Żarski)
Z artykułu dowiesz się w jaki sposób nowy format plików Office „12” zmienia podejście do przechowywania danych. Praca z dokumentami może odbywać się również bez uruchamiania pakietu Office. To powoduje również, że dokumenty mogą być generowane bezpośrednio z naszych aplikacji i przysyłane do użytkowników końcowych.
24 .NET Remoting cz. 1. (Marcin Kawalerowicz)
.NET Remoting to technologia umożliwiająca komunikację pomiędzy rozproszonymi aplikacjami w środowisku.NET. Z artykułu dowiesz się między innymi w jaki sposób napisać serwer, który będzie w stanie wykonać działania na liczbach zespolonych, jak stworzyć niezbędny do komunikacji pomiędzy serwerem i klientem kontrakt definiujący szczegóły użytych metod i obiektów oraz jak napisać pliki konfiguracyjne dla poszczególnych komponentów.
Programowanie win32
30 TLS i włókna w WIN32 (Janusz Ganczarski)
Artykuł kontynuuje rozpoczęty w poprzednim numerze temat wielowątkowości. Poprzednio zostały przedstawione mechanizmy API obsługujące wielowątkowość w systemach z rodziny WIN32. W tej części poznasz kilka rzadziej używanych technik związanych z programowaniem wielowątkowym,
Biblioteka miesiąca
52 Velocity - w świecie szablonów (David de Rosier)
Velocity to biblioteka napisana w języku Java, będąca wydajnym procesorem szablonów. Wachlarz jej zastosowań jest bardzo szeroki - Velocity pozwala na prostą transformację tekstów, może też być zamiennikiem dla XSL a nawet silnikiem aplikacji webowych. Niewątpliwą zaletą Velocity jest wygodna interakcja z obiektami Javy oraz przejrzysty język transformacji szablonów - VTL. Autor pokrótce demonstruje różne aspekty użycia biblioteki, wzbogacając tekst praktycznymi przykładami.
Warsztat
60 Mój pierwszy UDF, czyli C na usługach SQLa (Artur Kozubski)
Autor wyjaśnia jak rozszerzyć funkcjonalność procedur SQLa przy pomocy zewnętrznych podprogramów pisanych w języku C. Jeśli używasz Firebirda, napotkałeś na problem, którego nie możesz rozwiązać za pomocą samego SQLa i nie używałeś wcześniej UDFów, to ten artykuł jest dla Ciebie.

Numer 3/2006:

Technologie xml
30 LINQ - C# 3.0 (Artur Żarski)
Artykuł opisuje nowości w językach C# oraz VB.NET m.in. XLINQ (Language integrated query for XML) oraz DLINQ (Language integrated query for Data). Dzięki nim programista może uzyskać łatwy i zunifikowany sposób dostępu do danych pochodzących z dowolnego źródła (baza relacyjna, dane XML, obiekty).
Biblioteka miesiąca
34 Biblioteka LHMail (Łukasz Iwaszkiewicz)
LHMail jest biblioteką napisaną w ramach projektu LeftHand. Nadaje się do zastosowania w projektach programistycznych wymagających obsługi poczty elektronicznej. Została napisana w języku C++ przy użyciu biblioteki Qt. Największą zaletą biblioteki jest łatwość używania. Łukasz przekonuje dlaczego projekt wart jest zainteresowania.
Warsztat
40 iValidator - system automatyzacji testów (Guenter Guckelsberger)
Pakiet iValidator jest środowiskiem automatyzacji testów, dostępnym na zasadach open source i zaprojektowanym do testów integracyjnych. W tym artykule autor wyjaśnia potrzeby stworzenia własnego środowiska testowego oraz wskazuje jak z niego korzystać.
Inżynieria oprogramowania
48 XFire w akcji (Tomasz Sztelak)
Autor wyjaśnia, dlaczego webserwisy ułatwiają komunikację pomiędzy rozproszonymi systemami tworzonymi na różnych platformach i przy użyciu różnorodnych języków programowania. Przedstawia cechy, dzięki którym webserwisy umożliwiają zintegrowanie praktycznie dowolnych aplikacji w jeden duży rozproszony system, eliminując często konieczność wprowadzania niezwykle kosztownych w utrzymaniu systemów pośrednich, dopasowujących metody komunikacji poszczególnych aplikacji.
Niezawodne programowanie
54 Zarządzanie zmianami w praktyce (Radosław Mikurenda)
Zarządzanie zmianami jest nieodłącznym elementem tworzenia oprogramowania. Radek wyjaśnia kiedy powstaje system, na jakich etapach cyklu życia systemu informatycznego występuje oraz wskazuje na przydatność elektronicznego systemu zarządzania zmianami.
Reverse engineering
60 Dodawanie funkcji do gotowych plików binarnych (Jakub Nowak)
Artykuł wyjaśnia czym jest reverse-engineering ze szczególnym uwzględnieniem modyfikacji istniejącego kodu w postaci pliku binarnego. Jakub opisuje w jaki sposób dodać pewną funkcję do istniejącego już pliku EXE. Dowiesz się dlaczego modyfikacja plików binarnych nie należy do najłatwiejszych zadań oraz w jaki sposób swobodnie poruszać się po kodzie programu oraz go modyfikować według potrzeb.
Programowanie urządzeń mobilnych
66 Mobilny MAGAZYN dla MS Windows Mobile (Marcin Pasterski)
Autor przedstawia korzyści płynące z zastosowania urządzeń mobilnych do optymalizacji obsługi zdarzeń biznesowych. Wskazuje w jaki sposób przygotować aplikację mobilną za pomocą Visual Studio.NET 2003. Opisuje również w jaki sposób zbudować mobilny magazyn dla Microsoft Windows Mobile.

Numer Extra/35:

40 w praktyce (Marcin Molak)
W ramach artykułu przedstawione zostają przykładowe zastosowania dokumentów XML i ich pełna obsługa w bazie danych iBM DB2. Kolejne przykłady wprowadzają czytelnika w świat technologii iBM pureXML.
50 Poziomy izolacji w DB2
Artur Wroński, Krzysztof Mikołajewski W ramach artykułu autorzy poruszają tematykę właściwego wykorzystania poziomów izolacji celem zapewnienia maksymalnej współbieżności aplikacji. przedstawiona jest również koncepcja optymistycznego blokowania, coraz bardziej popularna wśród programistów.
60 Backup od A do Z (Artur Wroński)
W artykule autor opisuje dostępne w DB2 techniki tworzenia kopii zapasowych. Szczegółowo omawia backup online i offline. porusza także bardziej zaawansowane zagadnienia, takie jak odtwarzanie obszarów tabel przy pracującej bazie danych, czy backup bardzo dużych baz danych.
70 Mechanizm zarządzania obciążeniem w DB2
Rafał Stryjek, Przemysław Kantyka Autorzy prezentują poszczególne etapy związane z uruchamianiem menadżera obciążeń w iBM DB2.
78 Kompresja w DB2 (Artur Wroński)
Autor na przykładzie przedstawia mechanizmy kompresji danych w iBM DB2 9.7, m.in mechanizm kompresji tabel, indeksów, backup-ów i dokumentów XML

Numer Extra/34:

12 RIL API - w sercu telefonu (PROGRAMOWANIE WINDOWS MOBILE)
Przemysław Mogaj Radio Interface Layer (RIL) jest kluczowym elementem odpowiadającym za komunikacje pomiędzy systemem Windows Mobile a siecią GSM. W środowisku programistów WM panuje opinia, że API do obsługi RIL jest niejasne i trudne w użyciu. W artykule postaramy się pokazać, jak powiada przysłowie - nie taki diabeł straszny jak go malują.
62 Obsługa akcelerometru na platformie Series60 - Wykorzystaj w pełni możliwości telefonu komórkowego! (PROGRAMOWANIE SYMBIAN OS)
Rafał Kocisz, Wojciech Gasek Akcelerometr, bądź inaczej - sensor ruchu, od stosunkowo niedawna jest wykorzystywany jako rozszerzenie technologicznych możliwości nowoczesnych telefonów komórkowych. Artykuł pokazuje, jak oprogramować akcelerometr w aplikacjach Symbian OS, działających na platformie S60, oraz jak w praktyce wykorzystać potencjał tego urządzenia.
90 Android Market bliżej dewelopera - Stworzenie aplikacji to dopiero początek. Dowiedz się, jak ją sprzedać! (PROGRAMOWANIE ANDROID)
Adam Skrzyszewski Głównym zmartwieniem deweloperów planujących sprzedaż swoich programów jest dotarcie do odpowiedniej grupy odbiorców. Android Market, jako oficjalna platforma dystrybucyjna, zakłada nieograniczony dostęp do wszystkich posiadaczy urządzeń z oprogramowaniem Google. Czy zastanawiałeś się, jak wykorzystać ten ogromny potencjał?
132 Poznajemy iPhone SDK - Pierwsze kroki (PROGRAMOWANIE IPHONE OS)
Tomasz Dubki Nikt nie zaprzeczy, że jednym z najpopularniejszych urządzeń mobilnych ostatnich 12 miesięcy jest iPhone. Doskonały wygląd zewnętrzny, przejrzysty graficzny interfejs użytkownika oraz bogata funkcjonalność to tylko niektóre jego cechy. W niniejszym artykule przedstawimy to urządzenie z punktu widzenia programisty.
148 JME na przykładzie - Przelicznik walut na podstawie kursów NBP (PROGRAMOWANIE JAVAME)
Igor Kruk Jeszcze kilka lat temu obsługa technologii Java była informacją, która miała zachęcić do zakupu telefonu komórkowego. Przez tych kilka lat nastąpił znaczny rozwój „komórek” i choć obecnie większość z nich posiada własny system operacyjny i nie służą już tylko do wykonywania rozmów i przesyłania wiadomości, to technologia JME jest nadal popularna.
172 Lotus Notes Traveler (ROZWIĄZANIA MOBILNE)
Andrzej Olsztyński W tym roku, zgodnie z danymi IBM, po raz pierwszy w historii, więcej ludzi na świecie będzie miało telefon komórkowy niż stacjonarny. Wiele produktów IBM jest dostępnych na platformach mobilnych. Ostatnim ważnym wydarzeniem w tym zakresie było wprowadzenie oprogramowania Lotus Notes Domino, czyli pakietu IBM do pracy grupowej na iPhone.

Numer Extra/33:

 4 SDJ Extra 33 Cisco (Cisco Kurs konfiguracji urządzeń sieciowych firmy Cisco)
 5 www.sdjournal.org (System operacyjny Cisco IOS)
 5 www.sdjournal.org (Inne podstawowe polecenia systemu IOS)
 6 SDJ Extra 33 Cisco (Cisco Kurs konfiguracji urządzeń sieciowych firmy Cisco)
 7 www.sdjournal.org (Konfiguracja urządzeń sieciowych)
Rysunek1. Topologia sieci dla pierwszego przykładu
 7 www.sdjournal.org (Konfiguracja interfejsów Ethernet)
 8 SDJ Extra 33 Cisco (Cisco Kurs konfiguracji urządzeń sieciowych firmy Cisco)
 9 www.sdjournal.org (Protokół CDP)
 9 www.sdjournal.org (Routing i protokoły routingu)
10 SDJ Extra 33 Cisco (Cisco Kurs konfiguracji urządzeń sieciowych firmy Cisco)
11 www.sdjournal.org (Routing dynamiczny - protokoły routingu klasy wektor-odległość)

Numer Extra/31:

 6 Opis DVD (Krystian Rajski)
Kilka słów o tym co znajduje się na płycie, czyli o Flex SDK 3 i Flex Builder.
10 Aktualności
Nowinki ze świata Flex.
12 Pierwsza aplikacja we Flex (Krystian Rajski)
Krystian uczy jak tworzyć aplikację wyświetlającą dane z pliku XML, mówi jak korzystać z klasy HttpService i komponenetu Datagird. Poznacie podstawowe informacje o technologii Flex i środowisku Flex Builder 3.
15 Od formularza do RIA - Adobe Form Guides
Tomek Lichota Tomek opowiada o tym jak przy pomocy narzędzia Adobe LiveCycle Designer ES szybko stworzyć formularz PDF, aby zebrać dane i jak na podstawie przygotowanego formularza utworzyć Form Guide.
18 Flex i AIR (Wojciech Siudziński)
Wojtek opisuje jak zacząć pracę w Adobe AIR, prezentuje możliwości tego środowiska i przykładowe użycie np. Technikę przeciągnij i upuść, zaokrąglone rogi w CSS3 i kilka innych pożytecznych zastosowań.
22 Adobe AIR - Powrót na desktop (Szymon Kosydor)
Artykuł Szymona traktuje o tym jak łatwo i przyjemnie jest tworzyć aplikacje okienkowe wykorzytując Flex Builder i Adobe AIR. Szymon m.in. podaje przepis na aplikację wykorzystującą dane w formacie RSS.
   Kilka słów od pomysłodawców tego wydania
Mają Państwo przed sobą prawdziwy hit. Powodem powstania tego magazynu były: brak drukowanych publikacji w języku polskim na temat Flex, prawie nieograniczone możliwości tego środowiska, o którym powinni dowiedzieć się i z niego korzystać wszyscy programiści pragnący tworzyć interaktywne i multimedialne projekty dla Internetu i na desktop, duże zainteresowanie tematyką (o czym świadczyć może chociażby ilość osób biorących udział w warszawskiej edycji onAIR), nasza chęć rozpowszechniania wiedzy o technologiach przyszłości. Do współpracy przy SDJ Extra Flex zaprosiliśmy pasjonatów osoby, które tworzą i rozwijają społeczność Flex, Flash i AIR, piszą blogi, udzielają rad na forach tematycznych oraz zawodowców, którzy codziennie w pracy korzystają z programistycznych rozwiązań Adobe. Tematy wybraliśmy w konsultacji z polską społecznością Flex, Tadeuszem Chełkowskim - Dyrektorem Technicznym z Adobe, beatatestermi wśród, których znajdują się programiści WWW, webdesignerzy, deweloperzy. Za pomoc wszystkim zaangażowanym w ten projekt serdecznie dziękujemy i wierzymy, że dzięki ich wsparciu oddajemy w Państwa ręce wartościowy merytorycznie magazyn. W numerze tym zetkniecie się Państwo z przekrojem tematów powiązanych z Flex. Znajdziecie tu przepis na stworzenie pierwszej fleksowej aplikacji, oraz dowiecie się jak zabezpieczyć i testować oprogramowanie. Poznacie technikę pracy na frameworku MVC dla Flex - Cairngormie. Poza tym przeczytacie artykuł o tworzeniu interaktywnych map Yahoo i o innowacyjnych formularzach Form Guides. Dowiecie się też o powiązaniach Flex z Java, PHP, AIR. Wszystko zostało opisane na konkretnych przykładach, a kody źródłowe, które mogą się przydać do ćwiczeń udostępniamy na www.sdjournal.org. Na DVD zamieściliśmy projekty opisywane w artykułach oraz Flex Builder 3 i Flex SDK przydatne do programowania. Numer ten oczywiście nie wyczerpuje tematu. Niniejszy egzemplarz to pierwszy numer z serii SDJ Extra w całości poświęcony Adobe Flex. Podczas pracy nad magazynem dochodziły do nas sygnały, że są Państwo bardzo zainteresowani tą technologią, że szukacie materiałów, że chcecie się uczyć i pracować w RIA. Myślimy więc nad wydaniem regularnego, odrębnego tytułu w języku polskim o Flex, Flash i AIR. Do tego czasu tematykę Rich Internet Applications będziemy kontynuować w miesięczniku Software Developer’s Journal. Życzymy przyjemnej lektury, Anna Adamczyk Software-Wydawnictwo Rafał Maciejewicz Adobe Systems
32 Aplikacje wykorzystujące mapy w Adobe Flex (Wojciech Ptak)
Wojtek opisuje jakiego typu aplikacje możemy stworzyć za pomocą technologii Flex, jakich bibliotek możemy używać wraz z tą platformą i jak stworzyć przykładowe elementy projektu opartego o Flex i Yahoo Maps.
38 Flex na Javie (Roger Zacharczyk)
Roger przedstawia w jaki sposób tworzyć aplikacje RIA na przykładzie forum internetowego, wykorzystując różne technologie internetowe, a w szczególności Javę oraz SQL, JSP, no i oczywiście Flex.
44 Flex.Security.allowSecureCommunication('*');
Łukasz Zmywaczyk, Jakub Matuszewski Łukasz i Jakub opisują sposoby wymiany informacji pomiędzy serwerem a użytkownikiem, dostępne dla języka ActionScript 3.0 z dodatkowym wykorzystaniem gotowych komponentów środowiska Flex 3. Ponad to opowiadają o systemie zabezpieczeń języka ActionScript 3.0, zabezpieczeniach komunikacji, nowych crossdomains oraz mówią dlaczego warto używać Flash Media Server.
50 Test Driven Development - Testuj kod zanim go napiszesz
Paweł Cichoń, Tomasz Kulczycki Paweł i Tomasz tłumaczą co to jest TDD, dlaczego i kiedy warto korzystać z tej techniki i jak używać biblioteki FlexUnit.
56 Adobe Cairngorm - Framework architektoniczny dla Adobe Flex (Wojciech Ptak)
Wojtek w artykule skupia się na najpoularniejszym frameworku MVC dla Adobe Flex - Cairngormie, opisuje zasadę jego działania oraz pokazuje jak wykonać prosty projekt podręcznej biblioteczki.
64 Dostęp do danych z aplikacji Flex - Adobe LiveCycle Data Services w praktyce (Bartłomiej Soin)
Bartek uczy jak przy pomocy języka PHP tworzyć usługi internetowe oraz jak w języku ActionScript tworzyć aplikacje wykorzystujące usługi SOAP i Flash Remoting.
67 Flex i PHP - wykorzystanie technologii Web Services i Flash Remoting do komunikacji klient - serwer (Jakub Węgrzyn)
Jakub w artykule przedstawia możliwości wykorzystania technologii PHP. Opisuje dwie metody pozwalające na komunikację aplikacji Flex z serwerem PHP - Web Services i Flash Remoting.
72 Podstawowe wzorce projektowe oraz idiomy kodowania w języku ActionScript 3.0 (Jakub Węgrzyn)
Jakub opisuje w jaki sposób implementować podstawowe wzorce projektowe w ActionScript 3 i jak radzić sobie z ograniczeniami w tym języku.
76 TIPS & TRICKS (Wojciech Siudziński)
Wojtek pokazuje kilka sztuczek dla przyszłych specjalistów RIA.
78 Micke Chambers dla SDJ Extra - wywiad
rozmowa przeprowadzona podczas konferencji onAIR w Warszawie.
   Opis DVD
a dołączonej do SDJ extra płycie DVD czytelnicy znajdą znakomity tandem dla Adobe Flex 3 - pełną darmową wersje Flex Software Developement Kit w wersji 3 oraz ograniczoną czasowo, 60-cio dniową wersję Flex Builder 3, a także projekty i pliki pomocnicze do artykułów: Pierwsza aplikacja we Flex, Aplikacje wykorzystujące mapy w Adobe Flex, Adobe Cairngorm - Framework architektoniczny dla Adobe Flex, Adobe AIR - Powrót na desktop, Test Driven Development - Testuj kod zanim go napiszesz.

Numer Extra/30:

10 Infopath dla początkujących (Elżbieta Koncewicz)
Elżbieta zachęca do zapoznawania się z InfoPathem 2007, jedną z aplikacji, która pozostaje w cieniu pozostałych produktów platformy Microsoft Offi ce System, a mającą do zaoferowania potężny arsenał środków upraszczających życie i programowanie formularzy. Powstało wiele ciekawych rozwiązań produkcyjnych opartych o ten produkt. Ponieważ projektowanie, odczytywanie, wypełnianie i zapisywanie informacji wymagało użycia InfoPath jako aplikacji klienckiej, produkt ten nie był szeroko wykorzystywany.
16 Wstęp do programowania w MS Outlook (Andrzej Gnyp)
Andrzej przedstawia jak wiele istotnych elementów programistycznych udostępnia Microsoft Outlook 2007. W poprzednich wersjach Outlook programista, do przygotowania kompletnego rozwiązania, musiał często korzystać z takich elementów jak CDO, Exchange Client Extensions, lub rozszerzone MAPI. W najnowszej wersji zostały one zastąpione przez określone obiekty.
20 Programownia MOSS (Artur Żarski)
Artur w tym artykule skupił się na technologii, a w szczególności na możliwościach rozbudowy portalu. To, co z tym portalem będzie się dziać w przyszłości oraz jego przyszły wygląd zależy tylko i wyłącznie od nas i naszych potrzeb. W przypadku pracy z portalem jesteśmy ograniczeniami związanymi z budową samego serwera SharePoint oraz ograniczeniami narzuconymi przez API. Nie zmienia to faktu, że możliwości pracy są w zasadzie nieograniczone a programista może zbudować dowolny element i umieścić go w portalu.
46 Uwierzy telnianie, a autor yzacja (Karolina Stankiewicz)
Karolina opisuje dwa terminy służące do określenia weryfikacji tożsamości użytkownika i jego uprawnień - uwierzytelnianie i autoryzacja. Proces uwierzytelniania sprawdza kim jesteś, a proces autoryzacji sprawdza do czego masz prawo. Usługi WSS nie wykonują uwierzytelniania samodzielnie - jego realizację powierzają Internetowym Usługom Informacyjnym (IIS) lub ASP.NET Framework. Zarządzają natomiast tożsamościami użytkowników i realizują autoryzację.
58 Of fice Business Application (Tomasz Kopacz)
Tomasz zaprezentował w jaki sposób koncepcja OBA (Offi ce Business Applications) pozwala zupełnie inaczej spojrzeć na budowę systemów IT. Zamiast skupiać się na szczegółach implementacyjnych można, wykorzystując bogatą platformę Offi ce System szybko zbudować rozwiązanie wspierające dany proces biznesowy. Co więcej - te rozwiązanie może zarówno być autorskim systemem, jak i aplikacją pośredniczącą w wywołaniach funkcjonalności realizowanych przez poszczególne systemy już funkcjonujące w danej firmie.
62 Przepł y w y i procesy biznesowe (Tomasz Kopacz)
Tomasz jak w większości aplikacji biznesowych centralnym elementem jest realizacja określonego procesu biznesowego. W tradycyjnych aplikacjach taki proces nie jest zakodowany w programie - wymaga natomiast, aby użytkownik samodzielnie wykonał określone operacje w danej kolejności. Warto podejść do zagadnienia inaczej i wykorzystać gotowy motor realizujący przepływy, które implementują dany proces biznesowy. Częścią Microsoft.NET 3.x jest specjalny motor - Windows Workflow Foundation przeznaczony do realizacji przepływów, czyli implementacji procesów biznesowych.
68 Usługi Excel Ser vices w MOSS 2007 (Jarosław Ślęzak)
Jarosław napisał że usługi Excel Services są niewątpliwie potężnym i przydatnym rozwiązaniem. Produkt daje wiele korzyści dla firmy już samymi funkcjami zawartymi i gotowymi do pracy po instalacji z paczki. Trzy najważniejsze jego zastosowania to: współpraca z użyciem centralnego repozytorium arkuszy, centrum raportów z danymi biznesowymi oraz możliwość oprogramowania dostępnego silnika.

Numer Extra/29:

10 Tryb Exec
10 System pomocy IOS - polecenie show
11 Przeglądanie otoczenia sieciowego
12 Posługiawanie się poleceniem
12 Tworzenie ekranu powitalnego routera
13 LAN - interfejsy LAN routera
13 WAN - interfejsy WAN routera
13 Konfigurowanie protokołów trasowania
14 Access List - ochrona routera
15 Konfiguracja poszczególnych
18 Config Maker

Numer Extra/28:

Wstęp
10 Społeczność TYPO3 (Marcin Ryżycki)
TYPO3 to nie tylko kod napisany w języku PHP. To także projekty i podmioty off-line'owe. O T3BOARD, T3N Magazine, TYPO3 Conference, TYPO3 Developers Days oraz o tym, co można kupić w TYPO3 Merchandise Shop albo czym zajmuje się TYPO3 Association - przeczytasz w artykule Marcina.
12 TYPO3 w IIS (Maxime Fauquemberg)
TYPO3 jest jednym z najpotężniejszych narzędzi zarządzania zawartością na rynku. W istocie jest jednym z rzadkich programów zarządzających zawartością, który może rywalizować z dużymi własnościowymi narzędziami. Poza tymi istotnymi zaletami wspomnijmy, że TYPO3 może być także zainstalowany na platformach Unix, Linuksa lub Windows. Maxime przedstawi Ci jak skonfigurować i zainstalować ten program na serwerze Windowsa, często używanym w firmach. SDJ Extra! jest wydawany przez Software-Wydawnictwo Sp. z o. o. Dyrektor wydawniczy: Sylwia Pogroszewska Redaktor naczelny: Patrycja Wądołowska patrycja.wadolowska@software.com.pl Redaktorzy: Anna Kozioł anna.koziol@software.com.pl Magdalena Sobiś
20 Wstęp do firmowego CMS TYPO3 (Jean-Gael Rouchon)
Dysponujesz stroną WWW, która ma wielu współpracowników oraz strukturę organizacyjną stron i chciałbyś mieć całkowitą wolność w projektowaniu stron oraz łatwość ich tworzenia. Przedstawimy TYPO3, potężny firmowy CMS, który możesz łatwo dostosować oraz rozszerzyć, aby odpowiadał on Twoim potrzebom.
Architektura systemu
38 Jak działa TYPO3? (Marcin Ryżycki)
Marcin przeprowadzi Cię przez komponenty i system core klas wchodzących w skład TYPO3. Analizując renderowanie pojedynczej odsłony strony poznasz działanie tego CMS-a oraz wiele jego możliwości.
46 Możliwości rozszerzania TYPO3 (Marcin Ryżycki)
TYPO3 to system klasy CMF (ang. Content Management Framework). Autor szczegółowo zapozna Cię z tymi aspektami TYPO3, które pozwalają na dołączanie własnych rozszerzeń i komponentów albo modyfikację istniejących.
Narzędzia
56 Flash Remoting w TYPO3 (Marcin Ryżycki)
W dobie popularności platformy jaką jest Flash Player, na pewno warto znać technologię umożliwiającą wygodną z nią komunikację z Flashem. Marcin opisuje integrację z TYPO3 Flash Remotingu na bazie opensource'owej biblioteki AMFPHP. Budujemy również prostą aplikację pokazującą komunikację Flasha z serwerem w praktyce.
Bezpieczeństwo
68 TYPO3 i bezpieczeństwo (Łukasz Sosna)
TYPO3 dzięki ogromnym możliwością zabezpieczania strony sprawia, iż będzie ona bardziej bezpieczna niż w innego tego typu systemach przeznaczonych do zarządzania treścią na własnej witrynie WWW. Poznaj szczegóły które oddali do twojej dyspozycji programiści systemu takie jak opcje administracyjne, blokowanie dostępu, SSL czy tworzenie kopii bezpieczeństwa.
W wolnej chwili
70 Quo vadis, TYPO3? (Marcin Ryżycki)
TYPO3 to rozbudowany system o sporych możliwościach. Marcin przekonuje, że po lekturze artykułu przekonasz się, że plany rozwoju tego CMS-a są imponujące. TYPO3 5.0 - nad którym już trwają prace - bije obecną implementację na głowę. Tym bardziej warto zainwestować swój czas i środki w poznanie tej platformy.

Numer Extra/27:

 8 PHP 5 - programuj obiektowo (Paweł Grzesiak)
Paweł pokaże w jaki sposób programować obiektowo w PHP 5. Dzięki dużej liczbie przykładów, bez trudu opanujesz wszystkie nowe cechy języka, zapominając o niedociągnięciach PHP 4.
16 PHP GD - jak edytować grafikę w PHP? (Maciej Wiśniewski)
Maciej przedstawia podstawowe zagadnienia związane z PHP GD to, co jest niezbędne, aby rozpocząć przygodę w świecie dynamicznej grafiki na stronach WWW. Artykuł opisuje praktyczne przykłady dynamicznej obróbki obrazów, wstawiania napisów, tworzenia miniaturek i generowania wykresów.
22 Symfony Web Application Framework (Jakub Zalas)
Kuba pokaże Ci, jak wygląda proces powstawania serwisu udostępniającego hosting plików graficznych. Z całą pewnością wzbudzi w Tobie zainteresowanie frameworkiem Symfony, którego przeznaczeniem jest tworzenie aplikacji internetowych klasy enterprise.
36 PHPEclipse (Grzegorz Tlołka)
Grzegorz opisuje pakiet PHPEclipse - środowisko programistyczne dla języka PHP, pokaże, jak przygotować IDE do pracy, oraz przedstawi możliwości wspierania pracy programisty przez wbudowane w ten edytor wspomagacze.
42 Własny szablon w PHP -Fusion (Dawid Baruch)
Dawid zaprezentuje, jak wykonać skin dla PHP-Fusion. Dawid jako pasjonat w tej dziedzinie, postanowił zaprezentować krok po kroku. W bardzo prosty, ale szczegółowy sposób metody osiągnięcia celu, którym jest własny, samodzielnie wykonany skin
46 Szukanie i poprawianie błędów (Konrad Gołuchowski)
Konrad opisuje najczęściej występujące problemy przy tworzeniu pierwszych skryptów. Wraz z autorem nauczysz się jak wyszukiwać i poprawiać najczęstsze błędy
52 Magia dla początkujących mod_rewrite (Łukasz Sosna)
Łukasz przedstawia podstawy na temat modułu serwera Apache jakim jest moduł mod_rewrite. Pokaże jakie są jego opcje konfiguracyjne wraz ze wszystkimi parametrami oraz przedstawi ich praktyczne zastosowanie w tworzeniu stron WWW
58 Vanilla - nowoczesne forum dyskusyjne (Dariusz Duszyński)
Dariusz opisuje proces instalacji i konfiguracji prostego i wszechstronnego oprogramowania forum internetowego „Vanilla”. Znajdziesz również opis instalacji rozszerzeń zwiększających funkcjonalność a ponadto została opisana struktura aplikacji oraz jej architektura
62 Jak wysyłać e-mail? (Damian Daszkiewicz)
Damian pokaże, jak w PHP można wysyłać wiadomości e-mail zarówno w formacie tekstowym jak i w formacie HTML. Oprócz tego dowiesz się jak wysłać e-mail z polskimi ogonkami i z załącznikiem.
66 AJAX - interaktywne strony WWW (Łukasz Sosna)
Łukasz przedstawi Ci technologię AJAX oraz rozwiązania jakie niesie ona ze sobą czyli: otwieranie i odczyt zawartości z plików, zapis tekstu do plików oraz operacje na plikach XML. Pokaże Ci także jak poprawnie zbudować dokument zawierający skrypty w technologii AJAX.

Numer Extra/26:

 8 Joomla! i Web 2.0 (Stefan 'Zwiastun' Wajda)
Web 2.0 stał się na naszych oczach. Zwiastun opowiada o początkach Joomla! Po przeczytaniu tego artykułu przekonasz się, że Joomla! jest dla każdego: dla prawnuczka i prababci, dyrektora i portiera.
10 Joomla! i kapelusze (Stefan 'Zwiastun' Wajda)
Razem ze Zwiastunem stworzysz zrąb witryny firmowej dla fikcyjnej spółki Kapelusze S.A.. Krok po kroku przejdziesz kolejne etapy projektowania w Joomla! W trakcie lektury poznasz istotę Joomla!, będziesz rozumieć specyfikę Joomla!, nauczysz się korzystać ze wszystkich podstawowych narzędzi Joomla!
20 Instalacja Joomla! (Stefan 'Zwiastun' Wajda)
Zwiastun przedstawi wymagania środowiska instalacyjnego Joomla!, opisze przebieg instalacji oraz doradzi, krok po kroku, jak rozwiązać problemy podczas instalacji. Na wszelki wypadek, bo raczej nie powinny się przydarzyć.
26 Tworzymy szablon (Michał 'Viking' Sobkowiak)
Razem z Vikingiem poznasz wygodny sposób tworzenia szablonów. Razem z nim zbudujesz swój szablon, który będzie oparty na najczęściej spotykanym w Internecie trzykolumnowym układzie treści. Przekonasz się, że przy podstawowej znajomości HTML i CSS, poradzisz sobie z tym bez problemu.
32 Szablony... trochę bardziej (Michał 'Viking' Sobkowiak)
Viking rozbudowuje wiedzę na temat szablonów. W tym artykule opisuje pozostałe elementy PHP interesujące ze względu na tworzenie szablonów. Poznasz sposoby poprawienia funkcjonalności stworzonego szablonu oraz dowiesz się, jak go poszerzyć.
36 Tworzenie rozszerzeń dla Joomla! 1.5 (Mateusz Krzeszowiec)
Mateusz na przykładzie komponentu słownika pokaże jak budować rozszerzenia dla nowej wersji Joomla! 1.5 Release Candidate 1 oraz omówi możliwości nowego wydania. Warto zapoznać się z tym rozwiązaniem, ponieważ będzie ono przydatne do tworzenia aplikacji internetowych.
42 Rozszerzamy możliwości (Stefan 'Zwiastun' Wajda)
W jaki sposób poszerzyć możliwosci Joomla! ? W tym artykule Zwiastun przedstawia na przykładzie komponentu DocMan i pokrewnych dodatków, jak rozszerzać użyteczność Joomla!, rozszerzać jego możliwości. Poznasz wszystkie aspekty instalacji i konfiguracji rozszerzeń.
48 Strojenie i dostrajanie komponentów (Stefan 'Zwiastun' Wajda)
Na przykładzie komponentu DocMan i pokrewnych dodatków, Zwiastun pokaże Ci, jak udostępniać treści komponentów na witrynie, jak korzystać z modułów i botów oraz jak modyfikować stronę prezentacyjną komponentu.
54 Aktualizacje, migracje, przenosiny (Stefan 'Zwiastun' Wajda)
Zwiastun prezentuje kilka wybranych problemów aktualizacji Joomla! i rozszerzeń dla Joomla! oraz migracji między odmiennymi wydaniami Joomla. Dowiesz się również, jak przenosić bazę danych oraz przenieść na Joomla! witrynę stworzoną w innym CMS.
60 Krótka historia (Stefan 'Zwiastun' Wajda)
Zwiastun opowiada, jak doszło do narodzin Joomla!. Jakie dramatyczne deyczje towarzyszyły tym narodzinom, jakie były konsekwencje przedsięwziętych kroków. Ponadto autor przedstawia pokrótce podobieństwa i różnice między Mambo i Joomla!
62 Wspólnota Joomla! i Centrum Projektu (Stefan 'Zwiastun' Wajda)
W krótkiej prezentacji Zwiastun przestawia zasady działania i organizację wspólnoty Joomla!, Centrum projektu oraz płaszczyzny działania Polskiego Centrum Joomla!Dowiesz się czym jest społeczność Joomla!, kto wchodzi w jej skład oraz jakie korzyści daje przynależność do niej.
68 Antylopa, otwartość i źródło (Michał 'Viking' Sobkowiak)
Viking przedstawia historię powstania licencji. Autor opisuje konsekwencje związane z rozpowszechnianiem kopi Joomla! Dzięki temu artykułowi dowiesz się jakie licencja ma konsekwencje dla twórców rozszerzeń, ich użytkowników i osób wdrażających serwisy oparte na Joomla!

Numer Extra/25:

 8 Historia formatów plików Office (Artur Żarski)
Artur opisuje jak historia formatów plików zmieniała się w czasie, ewaluowała i rozwijała. Na przestrzeni kilku lat dojrzała i została doceniona przez komisje ECMA stając się jej standardem.
10 Nowy format plików Office (Artur Żarski)
Artur przedstawia w jaki sposób Microsoft 2007 Office System zmienia podejście do przechowywania danych. Dzięki nowemu formatowi praca z dokumentami może odbywać się również bez uruchamiania pakietu Office.
34 OOXML - jeszcze jeden format (Arkadiusz Merta)
Arkadiusz wyjaśnia, co potencjalny użytkownik lub firma mogą zyskać bądź stracić wprowadzając format Office Open XML (OOXML) zanim stanie się on faktycznie obowiązującym formatem zapisu dokumentów.
40 Format Word 2007 XML - przegląd (Erika Ehrli)
Erika opisuje jak w porównaniu z binarnym formatem plików, stosowanym we wcześniejszych wersjach programu Word, format Word XML dostępny w Word 2007 ma wiele zalet. Kompresja wprowadzona przez zastosowanie kontenera ZIP powoduje zmniejszenie objętości plików. Pliki są także bardziej odporne na uszkodzenia — jeśli jakaś część pliku zostanie uszkodzona, to dzięki podziałowi zawartości pliku na elementy dokument da się otworzyć mimo uszkodzeń.

Numer Extra/24:

 8 PHP i MySQL - jak zacząć? (Paweł Grzesiak)
Paweł prezentuje duet, dzięki któremu codziennie funkcjonuje dziesiątek milionów witryn w całej sieci.
18 Podstawowe operacje na liczbach i tekście (Michał Gacki)
Michał zapozna cię z liczbami w języku PHP, które są niezbędne do pisania zarówno prostych, jak też bardziej złożonych skryptów.
22 Pierwsze kroki w PHP (Krzysztof Trynkiewicz)
Krzysztof pokazuje podstawowe funkcje i możliwości PHP. Tematyka jest rozległa, jednak z pewnością warta zrozumienia.
30 System newsów w PHP (Marek Sawerwain)
Marek pomoże ci opracować prosty system, który da się z łatwością komponować z istniejącą stroną WWW
36 Bezpieczne skrypty PHP (Marcin Stefaniak)
Marcin uczy dobrych nawyków, które wyuczone na początku przygody z językiem PHP, pozwolą na tworzenie skutecznych i trwałych rozwiązań, które będzie można bezpicznie wypuszczać na wody Internetu.
44 Systemy CMS (Łukasz Sosna)
Łukasz przedstawia systemy zarządzania treścią, dzięki którym początkujący programiści PHP z łatwością stworzą własne strony WWW
48 Joomla! - darmowy system CMS (Łukasz Sosna)
Łukasz pokazuje, jak zainstalować i korzystać z jednego z popularniejszych CMS-ów, który powstał na bazie Mambo.
52 eZ Publish Framework (Juliusz Całyniuk)
Juliusz wskazuje na wachlarz zalet kolejnego CMSa, który może stanowić bazę dla Intranetu, sklepu internetowego lub innego specyficznego rozwiązania
56 Drupal CMS (Łukasz Sosna)
Łukasz opisuje kolejny CMS, który dzięki rozbudowanym opcjom i dostępności dużej liczby modułów może być używany do zbudowania zarówno małego serwisu z informacjami o firmie, jak i dużego serwisu dostarczającego internautom informacji z wybranej dziedziny.
68 Grafika w PHP - Biblioteka GD (Łukasz Skowroński)
Łukasz tworzy elementy graficzne, wykorzystywane do zabezpieczenia procesu rejestracji przed robotami sieciowymi. Pokaże również, jak zoptymalizować przesyłanie grafiki do odbiorcy strony.
72 Buforowanie Aplikacji WWW (Łukasz Skowroński)
Łukasz wskaże, jakie techniki pozwalają tworzyć wydajne strony internetowe.
76 Pierwsze kroki z Agavi (Łukasz Dywicki)
Łukasz skupia się na istocie frameworków oraz szczegółach implementacji poszczególnych mechanizmów.

Numer Extra/23:

Dla początkujących
 8 Tworzenie rozszerzeń dla eZ Publish (Felix Woldt)
Felix prezentuje pierwsze kroki w tworzeniu własnych rozszerzeń dla systemu eZ publish.
20 Pierwsze kroki w eZ Publish (Piotr Andrzejewski)
Piotr uczy w jaki sposób stworzyć własny system internetowy.
26 Skrypty CLI w eZ Publish (Łukasz Serwatka)
Łukasz opisuje interfejs command-line (CLI) oraz pokazuje, jak obsługiwać skrypty eZ Publish z poziomu okna dialogowego Command Prompt. W artykule został zamieszczony praktyczny przykład tworzenia skryptu importującego dane.
Administracja
32 Wydajność środowiska eZ Publish (Bard Farstad)
Bard rozpatruje główne aspekty wydajności stron internetowych tworzonych w eZ publish
40 Rozwój eZ publish z Eclipse i pluginem Smile eZ Publish (Nicolas Richeton)
Nicolas przedstawia instalację i konfigurację nowego projektu eZ Publish oraz prezentuje funkcje pluginu Smile: kolorowanie składni, sprawdzanie szablonów, wyświetlanie klas zawartości i asystentów tworzenia rozszerzeń.
Narzędzia
44 Rozszerzanie i dostosowywanie eZ Publish (Mateusz Przybylski)
Mateusz omawia proces czytania, modyfikowania i tworzenia nowych plików konfiguracyjnych.
50 Zastosowanie szablonów oraz praca z plikami css (Marcin Drozd)
Marcin pokazuje, jak przy pomocy gotowych szablonów ez Publish przygotować nową wersję strony PHP Solutions.
Bezpieczeństwo
60 Integracja systemów autoryzacji użytkowników (Juliusz Całyniuk)
Juliusz przedstawia, czym jest CMF oraz ez Ecosystem. Dowiesz się, że eZ Publish znany jako system zarządzania treścią możesz wykorzystać jako wzorzec projektowy.
Poradnik
66 Rozwijanie rozwiązań informatycznych plug-and-play (Cyril Fouillot)
Cyril opisuje projekt integracji eZ Publish i Tiny ERP w sektorze sprzedaży korespondencyjnej i internetowej.
Projekty
68 Wsparcie SEO w systemach zgodnych ze standardami W3C (Juliusz Całyniuk)
Juliusz pokazuje, jaki jest związek pomiędzy standardami W3C i SEO. Przy okazji uczy również podstaw optymalizacji dla wyszukiwarek oraz jak sprawdzić, czy system CMS wspiera SEO.

Numer Extra/22:

Administracja
12 Konfiguracja strony w XOOPS (Łukasz Sosna)
Łukasz przedstawia tajniki konfiguracji systemu XOOPS w postaci rozdziałów takich jak: Ustawienia główne, Ustawienia opcji cenzora, Ustawienie opcji poczty, itp. Dzięki temu będziesz mógł dostosować go do własnych potrzeb.
22 Wbudowane komponenty XOOPS-a (Konrad Gołuchowski)
Konrad omawia na wybranych przykładach opracowanie poszczególnych modułów do potrzeb Twojego serwisu. Swoją przygodę z tworzeniem modułów warto rozpocząć od przeglądania kodów źródłowych innych modułów dostarczonych wraz z XOOPS-em.
34 Budujemy portal w XOOPS (Łukasz Sosna)
Łukasz przybliży Wam zaawansowane możliwości, które daje system XOOPS. Dzięki temu na pewno poznasz podstawowe cechy systemu. Łukasz poleca dogłębne zainteresowanie się zagadnieniami poruszanymi w tym artykule, a stworzysz stronę swoich marzeń.
Moduły
48 Własny moduł dla XOOPS-a (Konrad Gołuchowski)
Konrad prezentuje w jaki sposób stworzyć swój własny moduł. Może się zdarzyć, że moduły dostępne w standardzie nie spełniają Waszych oczekiwań. Dzięki temu artykułowi będziecie w stanie stworzyć moduł, który uzupełni XOOPs-a o wymaganą przez Was funkcjonalność.
56 XOOPS - moduły (Łukasz Sosna)
Łukasz przedstawia podstawowe moduły do zarządzania treścią. Oczywiście system XOOPS posiada ich o wiele więcej. Dodatkowo można pobrać dodatkowe moduły z oficjalnej strony i zainstalować je. Dzięki temu przekształcenie każdego CMS w system odpowiadający Waszym oczekiwaniom stanie się niezwykle proste.
62 XOOPS - edytory i moduł NEWS (Mirosław Lesiuk)
Mirosław przedstawia w jaki sposób należy zainstalować moduł do zarządzania tekstem. Moduł ten pozwoli osobom odwiedzającym Wasz serwis na dodanie tekstu w bardziej czytelny sposób. Po jego dodaniu użytkownik ma do dyspozycji wszystkie podstawowe narzędzia jakie można spotkać w edytorach tekstu.
W wolnej chwili
70 Skórki (themes) dla systemu XOOPS (Konrad Lutkiewicz)
Skórki są podstawowym elementem każdego CMS-a. W prezentowanym artykule Konrad opisuje czym dokładnie jest skórka, jak ją zainstalować i edytować, a w konsekwencji stworzyć ładnie wyglądający serwis.

Numer Extra/21:

Wstęp
 8 Wprowadzenie do DB2 9 (Stefan Turalski)
Stefan przedstawia powstanie hierarchicznej bazy danych, wyjaśnia na czym polega relacyjny model danych, przedstawia rozwiązanie DB2 Express-C oraz dokonuje przeglądu cech DB2 9.
10 Hybrydowy system bazy danych DB2 9 (Adam Duszeńko)
Adam opisuje najważniejsze cechy XML, wyjaśnia jak zarządzać XML oraz jak tworzyć bazy danych dla dokumentów XML.
Poradnik
18 Instalacja DB2 9 (Artur Wroński)
Artur krok po kroku ilustruje w jaki sposób zainstalować DB2 9 zarówno w Linuksie, jak i w Windowsie.
22 Tworzenie bazy danych (Igor Kruk)
Igor opisuje, w jaki sposób można stworzyć bazę danych na serwerze DB2 9, oraz jakie operacje należy wykonać, aby nowo utworzona baza danych została poprawnie skonfigurowana.
28 Pierwsze kroki z DB2 (Jerzy Michałowski)
Jerzy przedstawia zagadnienia istotne dla początkującego użytkownika DB2. W artykule zostały opisane narzędzia, polecenia administracyjne oraz interpreter poleceń.
34 Tworzymy aplikacje dla DB2 (Mateusz Biliński)
Mateusz przedstawia możliwości, jakie dostępne są dla programisty piszącego pierwsze aplikacje w DB2. Wskazuje gdzie szukać informacji, przedstawia DB2 Developer Workbench, Xquery Visual Builder oraz opisuje jak założyć bazę dla wypożyczalni płyt DVD.
Bezpieczeństwo
40 Zabezpieczyć dane (Artur Wroński)
Artur opisuje metody zabezpieczania danych w DB2. Poznasz mechanizm HADR, dowiesz się w jaki sposób go skonfigurować oraz jak testować zmiany ról serwerów.
46 Kontrola dostępu do danych w DB2 9 (Artur Wroński)
Artur omawia zarządzanie użytkownikami, metody kontroli dostępu do bazy danych, szyfrowanie danych, szyfrowanie komunikacji klient-serwer oraz mechanizm etykiet bezpieczeństwa. Dowiesz się dlaczego mechanizm etykiet bezpieczeństwa daje możliwość zaimplementowania złożonej polityki zabezpieczenia dostępu do danych w zupełnie przeźroczysty dla aplikacji sposób.
Zarządzanie bazą
68 Włączamy kompresję (Adrian Kalicki)
Adrian pokazuje jak zastosować kompresję rekordów w przykładowej bazie danych. W artykule zostały zaprezentowane kroki włączania oraz wyłączania kompresji, zbudowania oraz usunięcia słownika kompresji oraz pobierania informacji na temat kompresji ze słownika systemowego.
Ocean genrap
76 OCEAN GenRap dla DB2 9 (Katarzyna Bożek)
Katarzyna opisuje OCEAN GenRap jako narzędzie do tworzenia raportów w DB2. Na podstawie przykładowego raportu dowiesz się, w jaki sposób wykorzystać cechy nowego silnika DB2 przez OCEAN GenRap.
Źródła wiedzy
82 Informacje o DB2 (Stefan Turalski)
Stefan wskazuje gdzie szukać informacji o DB 2.

Numer Extra/20:

 8 z punktu widzenia Web Developera (Michał Jagieła)
Autor opisuje narzędzie do tworzenia internetowych aplikacji Visual Web Developer 2005 Express Edition. Wskazuje jak wykorzystać środowisko podczas tworzenia pierwszych aplikacji internetowych działających na platformie.NET Framework. Przedstawia wady oraz zalety środowiska.
14 - tworzenie aplikacji internetowych (Stefan Turalski)
Artykuł opisuje aspekty zastosowania platformy programistycznej ASP.NET 2.0. Stefan opisuje w jaki sposób stworzyć pierwszą aplikację internetową przy pomocy programu Visual Web Developer, SQL Server 2005 Express Edition i środowiska ASP.NET 2.0.
20 i motywy graficzne w ASP.NET 2.0 (Maja Ciemienga)
Maja opisuje w jaki sposób stworzyć estetyczny interfejs użytkownika, korzystając ze stron wzorcowych oraz motywów graficznych. Dowiesz się dlaczego umiejętne zastosowanie motywów graficznych i stron wzorcowych może przysłużyć się do powstania przejrzystych wizualnie aplikacji. Software Developer’s Journal Extra jest wydawany przez Software-Wydawnictwo Sp. z o. o. Dyrektor wydawniczy: Jarosław Szumski Market manager: Sylwia Tuśnio Product manager: Sylwia Pogroszewska sylwiap@software.com.pl Redaktor prowadzący: Artur Żarski Kierownik produkcji: Marta Kurpiewska marta@software.com.pl Opracowanie DVD: Jakub Wojnowski Opracowanie graficzne: Robert Zadrożny robz@software.com.pl Skład: Robert Zadrożny robz@software.com.pl Projekt okładki: Agnieszka Marchocka Betatesterzy: S. Turalski, J. Rokicki, A. Racionowski, Ł. Witczak, Ł. Spinzyk, A. Lipiński Dział reklamy: reklama@software.com.pl Prenumerata: Marzena Dmowska, prenumerata@software.com.pl, tel. (22) 887-14-44
36 internetowe na platformie ASP.NET 2.0 (Stefan Turalski)
Artykuł prezentuje zestaw narzędzi i komponentów, które wspierają twórców rozwiązań internetowych podczas projektowania, implementacji oraz zarządzania aspektami związanymi z zapewnieniem bezpieczeństwa aplikacji. Z artykułu dowiesz się w jaki sposób łatwiej i szybciej rozwiązać problemy związane z identyfikacją, autoryzacją i tworzeniem profili użytkowników. Artykuł polecamy tym czytelnikom, którzy chcą wdrażać bezpieczne aplikacje.
42 - piszemy aplikację internetową (Igor Kruk)
Autor przedstawia w jaki sposób stworzyć aplikację internetową w technologii ASP.NET 2.0 wykorzystującą SQL Server 2005 Express. Dowiesz się jakich narzędzi potrzebujesz aby rozpocząć pracę. Poznasz schemat bazy oraz jak wygląda łańcuch połączenia z nią. Igor opisuje również, jak napisać aplikację w oparciu o bazę danych SQL Server 2005 Express.
46 na platformie Internet Information Services (Michał Jagieła)
Artykuł opisuje możliwości serwera Internet Information Services w wersji 6 oraz przedstawia najważniejsze techniki administracyjne. Z artykułu dowiesz się jak poprawnie skonfigurować plik web.config co nowego czeka nas w nowej wersji usług internetowych IIS 7.0 bazujących na Windows Vista.
68 internetowego w ASP.NET 2.0 (Jakub Zagórski)
Artykuł przedstawia możliwości zastosowania platformy ASP.NET 2.0 przy tworzeniu portali internetowych. Dowiesz się co.NET Framework 2.0 oferuje programiście i użytkownikowi. Artykuł polecamy szczególnie przed przystąpieniem do projektowania bardziej zaawansowanych portali internetowych.
74 - gdzie się podziały tamte standardy? (Paweł Matyjasek)
Autor dokonuje przeglądu zmian wprowadzonych do nowej wersji środowiska programistycznego Visual Studio 2005. Zmiany te dotyczą głównie edycji i walidacji kodu (X)HTML i CSS. Dodatkowo autor omawia modyfikacje w komponentach ASP.NET 2.0. Z artykułu dowiesz się dlaczego omawiane zmiany przyczyniły się do poprawienia jakości tworzonych przez stron internetowych.

Numer Extra/17:

12 PHP w zastosowaniach Enterprise (Wojciech Jukowski)
PHP to coś więcej niż sam język programowania. Stanowi raczej platformę z wieloma rozszerzeniami i komponentami, w oparciu o które łatwo można tworzyć zaawansowane aplikacje dla biznesu. Przekonacie się o tym z artykułu Wojtka.
16 Pierwsze kroki z PHP (Kordian Piotr Klecha)
Artykuł Kordiana krok po kroku wprowadzi cię w świat PHP i zapoczątkuje fascynującą podróż po zastosowaniach i aplikacjach tworzonych w tym języku programowania. Przedstawimy podstawy PHP oraz pokażemy, jak skonfigurować pełne środowisko i napisać pierwszą aplikację.
30 Portal w 5 minut, czyli eZ publish krok po kroku (Łukasz Serwatka)
Chcesz szybko i łatwo uruchomić profesjonalną witrynę internetową, a nie umiesz jeszcze dobrze programować? Z pomocą przychodzi eZ publish: rozbudowany i przyjazny użytkownikowi system CMS. Krok po kroku wprowadzimy Cię w jego świat, pokazując jak go zainstalować, skonfigurować i zbudować przykładową witrynę.
40 Sklep internetowy od A do Z na przykładzie osCommerce (Paweł Grzesiak)
Aby postawić własny sklep internetowy, wystarczy odrobina umiejętności, troche chęci i... osCommerce. W artykule powiemy, jakie kroki należy przedsięwziąć, aby uruchomić własny sklep, a następnie jak zainstalować, skonfigurować i dostosować osCommerce od własnych potrzeb. Wszystko na przykładzie sklepu z notebookami.
48 Dlaczego PHP5? (Paweł Kozłowski)
Mimo że od oficjalnej premiery PHP5 minął już ponad rok, a na horyzoncie widać nawet znacznie udoskonaloną wersję PHP5.1, wielu programistów ciągle zwleka z przejściem na nową platformę. Jakkolwiek to seria czwarta przyczyniła się do lawinowej popularyzacji PHP, to ilość udogodnień i nowych możliwości wprowadzonych w PHP5 powoduje, że praktycznie nie ma sensu rozpoczynać projektów w PHP4.
58 Bezpieczeństwo skryptów i serwera WWW (Bogusław Faja)
Włamywacz nie śpi, a w każdym skrypcie jest jeszcze jeden błąd, który umożliwia mu wtargnięcie do naszego systemu i przejęcie nad nim kontroli, prowadzące do przechwycenia danych lub zwykłego wandalizmu. Pokażemy, jak zapobiec atakom konfigurując serwer WWW oraz parser PHP i pisząc poprawny kod.
70 Szablony (Adam Major)
Pisanie większych aplikacji bez użycia szablonów nie ma sensu. Szablony umożliwiają pełne odseparowanie warstwy prezentacyjnej od warstwy biznesowej aplikacji (logiki aplikacji). Grafik może dowolnie zmieniać szatę graficzną bez obawy, że cokolwiek popsuje w skrypcie, a programista nie musi integrować HTML-a z kodem PHP, co znacznie zwiększa przejrzystość programu i ułatwia jego późniejszą pielęgnację.
74 Jak zarabiać w Sieci (Przemysław Bogusz)
Jeśli już mamy często odwiedzaną witrynę internetową, najwyższy czas zacząć zarabiać! Czekają na nas dziesiątki atrakcyjnch programów partnerskich i systemów reklamowych, dzięki którym nasza strona WWW przyniesie wymierne korzyści.

Numer Extra/14:

   Sieciowa gra 3D w 250 liniach kodu (Filip Dreger)
Programowanie gry komputerowej kojarzy się nadal przede wszystkim ze żmudnym, niskopoziomowym kodowaniem procedur obsługi grafiki. Na szczęście nie musi już to tak wyglądać, gdyż dzięki burzliwemu rozwojowi rozwiązań open source dostępnych jest wiele darmowych bibliotek do tworzenia gier, które pomimo swego młodego wieku już oferują ogromne możliwości szybkiego tworzenia w pełni profesjonalnych gier. W tym artykule dowiemy się, jak w mniej niż 250 liniach kodu C++ stworzyć strzelankę 3D w obsługą dźwięku i sieci, a wszystko to korzystając z gotowych i całkowicie darmowych bibliotek, z silnikiem graficznym Irrlicht na czele.
   Ujarzmij OGRE-a (Steve Streeting)
Do niedawna, renderowanie grafiki trójwymiarowej wymagało korzystania z kosztownych rozwiązań komercyjnych lub napisania własnego modułu renderującego. Dzięki młodemu, ale już bardzo potężnemu silnikowi graficznemu OGRE, profesjonalna jakość renderowania grafiki 3D jest w zasięgu każdego programisty gier i wszelkich innych programów wymagających generowania trójwymiarowych scen w czasie rzeczywistym. Twórca i główny programista projektu OGRE przedstawi nam najciekawsze możliwości silnika i pokaże jak łatwo jest wykorzystać jego ogromne możliwości w tworzonych programach.
26 Tworzenie filmów w środowisku Reality Factory (Mike Wuetherick)
Machinima to sztuka tworzenia filmów z wykorzystaniem silników gier. By tworzyć machinimowe arcydzieła wystarczy nam dowolna gra z silnikiem animacji 3D oraz możliwość tworzenia scen i nagrywania ruchu postaci. Teoretycznie można to robić w niemal każdej grze, ale w praktyce jest to zajęcie dość trudne i bardzo żmudne, stąd też znacznie wygodniej będzie skorzystać z jednego z dostępnych środowisk do modelowania i animacji scen 3D. Szef projektu Reality Factory wprowadzi nas w fascynujący świat tworzenia machinimowych filmów w wykorzystaniem tego środowiska i pokaże, że wystarczy odrobina cierpliwości, by zacząć tworzyć wirtualne filmy. Gdy już opanujemy podstawowe techniki, jedynym ograniczeniem będzie nasza reżyserska wyobraźnia.
42 Automaty skończone (Nathaniel Meyer)
Podkradamy się do patrolującego korytarz strażnika, podchodzimy coraz bliżej, już tylko kilka kroków... Zobaczył nas! Odwraca się, mierzy i strzela. Wycofujemy się za róg i widzimy, że strażnik powrócił do obchodu. Gdy już ochłoniemy i zastanowimy się nad zachowaniem strażnika, dojdziemy do wniosku, że jego zachowaniem prawdopodobnie steruje automat skończony. Domyślnie strażnik jest w stanie patrolowania, dostrzeżenie gracza powoduje przejście w stan działania, który z kolei wiąże się z obrotem, podniesieniem broni i oddaniem strzału. Zniknięcie gracza z pola widzenia strażnika powoduje przejście z powrotem w stan patrolowania. W artykule dowiemy się, jak projektować automaty skończone do wykorzystania w grach i jakich zasad powinniśmy się trzymać implementując automat.
48 Cyfrowy wyścig RARS (Marcin Kawalerowicz)
Przegrywając wyścig z komputerowym kierowcą każdy zastanawiał się zapewne, skąd komputer wie, jak poprowadzić samochody po torze. Środowisko RARS jest symulatorem wyścigów samochodowych, w którym możemy samodzielnie zaprogramować cyfrowego kierowcę, a następnie sprawdzić jego umiejętności w wyścigu z innymi. Kierowcy RARS są programami C++, napisanymi z wykorzystaniem bibliotek udostępnianych przez środowisko. W artykule poznamy podstawowe zasady tworzenia kierowców RARS i zobaczymy, w jaki sposób możemy doskonalić ich umiejętności. Napiszemy też kierowcę, który będzie się uczył na własnych błędach i z każdym okrążeniem pokonywał tor sprawniej.
58 30 lat programowania gier (Bob Pendleton)
Przemierzając ogromne przestrzenie cyfrowych światów gier, modelując trójwymiarowe postaci czy programując kolejne moduły w C++ często zapominamy, że programowanie gier przyjęło znaną nam postać dziesięć lat temu. Jednak gry komputerowe są niemal tak stare, jak same komputery i ktoś musiał je programować nawet wtedy, gdy nie było jeszcze monitorów, dysków twardych czy większości znanych nam dziś języków programowania. Bob Pendleton zabiera nas w fascynującą podróż w rok 1974, kiedy to otrzymał zadanie przeniesienie symulacji Star Treka na uniwersytecki superkomputer, a jedynym nośnikiem obsługiwanym przez wszystkie komputery była perforowana taśma papierowa...
64 Tendencje w programowaniu gier (Olivier Boudeville)
Jeszcze kilka lat temu programowanie profesjonalnych gier było wyłącznie domeną dużych firm programistycznych, które zazdrośnie hołubiły tworzone latami silniki graficzne i tym samym zapewniały sobie ogromną przewagę nad projektami amatorskimi. Na szczęście dla wszystkich dotychczasowych i przyszłych programistów gier, całe środowisko tworzenia gier (dotychczas zwane przemysłem, na wzór przemysłu filmowego) stoi w obliczu rewolucyjnych zmian, jakie wnosi oprogramowanie open source. Już dziś każdy może tworzyć profesjonalne gry korzystając z darmowych narzędzi i bibliotek, które pomimo młodego wieku już oferują pokaźne możliwości, a w niedalekiej przyszłości mogą całkowicie zmienić oblicze przemysłu gier komputerowych, jakie ukształtowało się w latach 90.
72 Optymalizacja kodu (Dave Faller)
Każdy program można napisać na wiele różnych sposobów, ale różne wersje tworzonego przez nas kodu będą się różnić szybkością działania, zapotrzebowaniem na zasoby i rozmiarem gotowego programu. Problem optymalizacji kodu dotyczy oczywiście wszystkich aplikacji, ale w przypadku programowania gier jest on często szczególnie istotny, gdyż płynność działania gry jest zasadniczym kryterium jej oceny przez graczy. W artykule przyjrzymy się najważniejszym aspektom optymalizacji kodu, dowiemy się, jak interpretować i wykorzystywać informacje zwracane przez profiler i przekonamy się, że poznanie dokładnych zasad działania kompilatora pozwala znacznie wydajniej pisać nawet prosty z pozoru kod.