ProgramowanieJakiego języka programowania używasz ?
![]() ![]() ![]() |
Download/Archiwum
Tutaj możecie znaleźć artykuły i listingi do ściągnięcia w formacie PDF. Aby mieć dostęp do zamieszczonych materiałów proszę o zarejestrowanie się pod adresem: http://www.sdjournal.org/prt/view/rejestracjanewslette.html
Kurs konfiguracji urządzeń sieciowych firmy CiscoGrzegorz Gałęzowski Materiał przedstawiony w tym zeszycie przyda się każdemu, kto pragnie zdobyć podstawowy zakres wiedzy dotyczącej konfiguracji urządzeń sieciowych firmy Cisco. JqueryUI - Tworzenie interfejsu użytkownika dla programistów JQueryDavid de Rosier 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ć. Android vs. Java ME - cz. III KomunikacjaAlbert 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. Java Plugin Framework – świat z klockówDavid de Rosier JPF to biblioteka, szkielet i zbiór narzędzi programistycznych ułatwiających tworzenie aplikacji opartych na wtyczkach w języku Java. Dzięki JPF można znacząco poprawić skalowalność tworzonych programów. Niewielki rozmiar biblioteki i czytelna struktura tworzą z niej narzędzie łatwe do opanowania i wdrożenia – nawet w istniejącym projekcie. Database MailIgor Kruk Podczas implementacji aplikacji biznesowych niejednokrotnie pojawia się wymaganie wysyłania do użytkowników wiadomości e-mail, zawierające potwierdzenia lub inne informacje pochodzące bezpośrednio z systemu źródłowego. W artykule tym autor przedstawia sposób, w jaki można spełnić to wymaganie wykorzystując do tego serwer bazy danych. 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. Windows Azure – Cloud Computing w .NETTomasz 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. ADO.NET, Visual Basic i …OracleKonrad 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. SQL Server 2005/2008 – wykorzystanie funkcji w aplikacjach biznesowychArtur 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 Serwer integracyjny - Gniazda SOCKET w zastosowaniachRafał Czyżewski 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. 10 błędów najczęściej popełnianych przez testerówKarolina 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 jakość aplikacji. Facebook dla programistówWładzimierz 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 Al-legro. Praca z zespołem testerów klientaKarolina Zmitrowcz Karolina Zmitrowicz w artykule przedstawia studium przypadku dotyczącego procesu testowania systemu bankowego w środowisku klienta. Zostaną przedstawione problemy wynikłe w trakcie organi-zacji 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. Jak to się robi w KrakowieKamil 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-ti-me, środowisko embedded itp. Wszystko to oczywiście prawda, jed-nak czasy się zmieniają i wiele z tych haseł straciło swoją ważność, in-ne zyskały na znaczeniu, a w dodatku pojawiły się całkiem nowe. No-we – nie znaczy nieznane w świecie informatyki, lecz nigdy niebrane pod uwagę w kontekście systemów embedded. Wąż w komórceMarian Witkowski Telefony komórkowe obecnie to nie tylko proste urządzenia do wy-konywania połączeń głosowych czy korzystania z wiadomości tek-stowych i multimedialnych. To zaawansowane mikrokomputery, pełniące często rolę elektronicznych terminarzy (PDA), wyposażo-ne nierzadko we własny system operacyjny. Ewolucja, jaką przeszły umożliwiła rozszerzanie funkcjonalności aparatów poprzez instala-cję aplikacji wykonanych nie przez ich producentów. Biblioteka senseGUI – czyli GUI z automatuMariusz Trzaska Większość programistów zetknęła się z potrzebą stworzenia Graficznego Interfejsu Użytkownika (ang. GUI). Zwykle do tego celu stosuje się popularne biblioteki (np. Swing ) lub dedykowane edytory, co jest dość pracochłonne. W tym artykule Mariusz Trzaska omawia inne rozwiązanie, bazujące na podejściu deklaratywnym. Porozmawiaj z komputeremMariusz 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ść. Adobe Flash - – wykorzystanie w urządzeniach wbudowanychRandy 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ń. Sklep internetowy w PHP i SQLiteGrzegorz 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 – nam zajmie to 60 minut. Wydajny, elastyczny i przyjazny CMSKrystian 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. Lokal zamienię od zarazArtur 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 Optymalizacja bazy danychMarek Krokiewicz Każda aplikacja funkcjonuje w ramach ograniczonych zasobów systemu, takich jak – pamięć, czas procesora, przepustowość sieci itp. Słaba wydajność SZBD (System Zarządzania Bazą Danych) 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ą. Oracle 11g – niezawodna platforma przetwarzania danychMichał Jerzy Kostrzewa W trakcie ostatnich lat globalne znaczenie technologii informatycznych stało się faktem – ich powszechne zastosowanie we wszelkich dziedzinach ludzkiej działalności generuje potrzebę równie powszechnego, niezawodnego i łatwego dostępu do wszelkich danych, jakie są przechowywane w rozmaitych systemach. Programowanie gier dla Symbian OS – szkielet aplikacjiRafał 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 cześć stanowią gry. Własny „słup ogłoszeniowy”– tworzymy model danych oraz widokiPiotr Plenik Stworzenie własnego serwisu ogłoszeniowego, jest wyzwaniem, któremu postaramy się sprostać w ciągu najbliższych kilku artykułów. W tym artykule stworzymy podstawową funkcjonalność – przeglądanie ogłoszeń po kategorii oraz dodawanie nowych. Tutaj nie będziemy starać się stworzyć zarys, a gotowe narzędzie. Brzmi ciekawie? Czytajcie dalej. Naszą aplikację nazwiemy „postup” (z ang. postup – oznaczające wywieszanie ogłoszenia, informacji). Przyszłość Symfony – wersja 1.1Marcin Swierczynski Marcin opisuje zmiany które sprawiają, że nowe wydanie Symfony będzie pewną rewolucją. Warto jeszcze zaznaczyć, że istniejące aplikacje, korzystające z rozwiązań wersji 1.0 można uruchamiać w trybie zgodności. Pierwsza aplikacja we FlexKrystian Rajski Krystian uczy jak tworzyć aplikację wyświetlającą dane z pliku XML, powie jak korzystać z klasy HttpService i komponentu Datagird. Poznacie podstawowe informacje o technologii Flex i środowisku Flex Builder 3. Aplikacje wykorzystujące mapy w Adobe FlexWojciech 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. SQL Server 2005/2008Artur Mościcki Artur przedstawia zalety używania widoków w SQL Server 2005/2008 podczas tworzenia rozwiązań biznesowych. ActiveRecords – nie tylko RailsMarcin 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. HibernateMariusz 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. Java Microedition – metody integracji aplikacjiAlbert Wachowicz Albert w artykule skupił się na sposobach integracji aplikacji klienta JME z aplikacją serwera. Zaprezentował krótki przegląd metod za pomocą których można skomunikować klienta z serwerem. Gruntownie zostaną opisane wybrane mechanizmy integracji, które obecnie są najczęściej stosowane. Na koniec zostanie przedstawiona ocena wybranych metod w odniesieniu do wszechstronnego zastosowania. Wstęp do programowania w MS OutlookAndrzej 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. Tworzenie rozwiązań Visual Studio Tools for OfficeArtur Żarski Artur prezentuje jak Visual Studio Tools for Office pozwala programistom tworzyć zaawansowane projekty przy minimalnym nakładzie pracy. Twórcy dostają pakiet, dzięki któremu możliwe jest stworzenie dowolnego elementu platformy jak wymiana danych, programowanie Outlook, czy też wsparcie dla OpenXML. Aktualnie VBA przestało być podstawowym narzędziem programistycznym – stało się nim VSTO. Office Business ApplicationTomasz Kopacz Tomasz zaprezentował w jaki sposób koncepcja OBA (Office 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ę Office 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. Location Acquisition API – obsługa GPSPiotr 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. Brew – Java, C i C++ w sieciach GSM/GPRS, UMTS i CDMAWojciech 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. SQL Server 2005Artur 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. OpenProfiTPiotr Prokopowicz Autorzy w artykule zaprezentowali podstawowe cechy systemu OpenProfit – pakietu narzędzi wspomagających zarządzanie w firmach IT. 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. Asambler - optymalizacja koduArtur Kozubski Artur w artykule omówił kwestię przydatności asemblera w dzisiejszych czasach. W dobie komputerów z gigabajtami RAMu, wielordzeniowymi procesorami i akceleratorami grafiki 3D języki programowania rozwijają się w kierunku uwolnienia programisty od technicznych szczegółów tworzenia aplikacji, wprowadzając coraz wyższe poziomy abstrakcji. Są jednak sytuacje, które wymagają od programisty skorzystania z narzędzi niższego poziomu, aby maksymalnie wykorzystać możliwości CPU. OpenXML - rejestracja pacjntówRafał Kocisz Autor w artykule przedstawił zarys możliwości wykorzystania OpenXML do rejestracji pacjentów w sposób zgodny z obowiązującymi normami. Jak widać, stworzenie pełnego rozwiązania nie powinno stanowić teraz dla nikogo większej trudności. Arabica - biblioteka C++ do obsługi XMLJez 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. Maszynowe tłumaczenie w Q - QueryMaciej Stanusch, Autorzy w artykule zaprezentowali koncepcję algorytmu tłumaczenia maszynowego wykorzystywanego przez system raportujący Q - Query oparty o zapytania w języku naturalnym. System ten dokonuje translacji zapytania podanego użytkownika w języku polskim na język SQL. W artykule przedstawiono poszczególne fazy procesu tłumaczenia poczynając od analizy morfologicznej, poprzez analizę składniową, po analizę semantyczną. Autorzy zaprezentowali także podstawowe problemy, na jakie może natknąć się projektant podobnych systemów i jak ich uniknąć rozwijając własne systemy tłumaczenia maszynowego. XNA - zarządzana platforma dla gierMarcin Duszyński, Marcin i Jacek prezentują nową zarządzaną platformę programistyczną ze stajni Microsoft. XNA, bo o niej mowa, jest przeznaczona do tworzenia gier dla systemów Windows i konsol Xbox. Nowa platforma jest następczynią Managed DirectX (MDX), a co za tym idzie łączy w sobie możliwości platformy .NET i biblioteki DirectX. Python w zastosowaniach numerycznychTomasz 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. Jak dobry jest Twój proces testowy?Monika Braun Kontrola jakości staje się cora ważniejszymy 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 moze być model TPI. script.aculo.usDawid de Rosier David opisuje scriptt.aculo.us jako bibliotekę przeznaczoną dla języka Java Script dostarczającą elementy inetrfejsu użytkownika oraz efekty wizualne możliwe do osadzenia na stronach internetowych. Autor również zaznacza, że script.aculo.us należy rozpatrywać bardziej w kategoriach uzupełnienia Prototype, niz jako bibliotekę samą w sobie. C# 3.0Marcin w artykule zachęca do przyjrzenia się nowym sposobom inicjalizacji typów zmiennych i tablic, typom anonimowym oraz wyrażeniom lambda. Zapoznaje czytelnika z metodą rozszerzającą, by w końcu dotrzeć do translacji zapytań oraz drzew wyrażeń Shadery oraz FraktaleMarek opisuje, że mimo ciągłego postępu w dziedzinie procesorów, rysowanie fraktali w czasie rzeczywistym nadal jest bardzo trudne, jednak dziś do tego zadania można zatrudnić karty graficzne, które, jak się okazuje, oferują ogromną wydajność obliczeniową. W artykule zostały zaprezentowane shardery w wersji 3.0, które umożliwiają rysowanie dwóch najsłynnsiejszych zbiorów fraktalnych - zbiór Mandelbrota oraz zbiór Juli JBoss Seam - aplikacje przyjazne dla użytkownika część IIPiotr Kochański Piotr drugą część artykułu poświęcił różnym sposobom implementacji transakcji aplikacyjnych przy użyciu JBoss Seam jak i samodzielnie. Artykuł ten jest kontynuacją rozważań na temat wykorzystywania JBoss Seam do tworzenia własnych aplikacji. Joomla! i Web 2.0Stefan Wajda Web 2.0 stał sie na naszych oczach. Stafan 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. Tworzymy szablonMichał Sobkowiak Razem z Michałem poznasz wygodny sposób tworzenia szablonów. Razem z nim zbudujesz szablon, który będzie oparty na najczęściej spotykanym w Internecie trzykolumnowymukładzie treści. Przekonasz się, że przy podstawowej znajomości HTML i CSS, poradzisz sobie z tym problemem. ASM - manipulacje kodem bitowym JavyDawid 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. Tabele w Javie 6 - sortowanie i filtrowanieKrzysztof 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. Dziesięć największych problemów w projektach informatycznychRafał Kędzierski Rafał i Adam podjęli się pisania dziesięciu największych problemów związanych z projektami informatycznymi. Zapoznają czytelnika z przykładami tego, co możemy zacząć robić już dziś, aby poprawić i przyśpieszyć proces wytwórczy w firmie tak, aby uzyskać największe zadowolenie klientów końcowych. Aplikacje Web w ASP.NET 2.0Stefan Turalski Autor przedstawia narzędzie służące do tworzenia aplikacji web. Z artykułu dowiesz się m.in. czym różni się nowe ASP.NET 2.0 od poprzedniej wersji ASP.NET 1.1; na które z nowości należy zwrócić szczególną uwagę; jakie korzyści przynosi zastosowanie środowiska IDE Visual Studio 2005 oraz w jaki sposób sam możesz pogłębic swoją wiedzę. Wizualne modelowanie aplikacji rozproszonychWłodzimierz Dąbrowski, Artykuł poświęcony jest nowym narzędziom firmy Microsoft przeznaczonym do wizualnego modelowania i projektowania aplikacji rozproszonych. W wersji Visual Studio 2005 zostały wprowadzone nowe narzędzia modelowania wizualnego. Autorzy udawadniają, że ich zastosowanie w cyklu wytwórczym oprogramowania może w znaczący sposób przyśpieszyć tworzenie aplikacji oraz poprawić ich jakość. Sztuka migracjiArkadiusz Merta Arek prezentuje zagadnienia z dziedziny migracji do nowych narzędzi w kontekście procesu tworzenia oprogramowania. Czytelnik dowie się jakie są powody, aby wdrażać nowe narzędzia; jakie zmiany może wprowadzenie nowego narzędzia wywołać; jakie mogą wyniknąć z tego zagrożenia dla powodzenia projektu; jak szacować ryzyko i łagodzić. OOXML - jeszcze jeden formatArkadiusz Merta Arkadiusz wyjaśnia, co potencjalny użytkownik lub firma mogą zyskać bądź stracić wprowadzając format Office Open XML zanim stanie się on faktycznie obowi·ązującym formatem zapisu dokumentów. Pierwsze kroki w PHPKrzysztof Trynkiewicz Krzysztof pokazuje podstawowe funkcje i możliwości PHP. tematyka jest rozległa, jednak z pewnością warta zrozumienia. OpenKODEJanusz Ganczarski Janusz przedstawia OpenKODE jako najnowszy projekt Khronos Group, często określany odpowiednikiem pakietu DirektX na urządzenia przenośne. Artykuł informuje jak OpenKODE łączy pięć otwartych standardów opracowanych przez Khronos Group:OpenGL ES, OpenVG, OpenMAX, OpenSL ES oraz EGL. 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ń. Pierwsze kroki w eZpublishPiotr Andrzejewski Piotr uczy, w jaki sposób stworzyć własny system internetowy. wxPython: programowaniw GUI dla leniwychRafał chce zainteresować czytelników biblioteką wxPython i udowodnić, że programowanie GUI przy wykorzystaniu tego rozwiązania może być łatwe, intuicyjne i przyjemne. ASP.NET 2.0, ADO.NET 2.0 i AJAXJacek 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. Programowanie aplikacji wielowątkowych w języku C++ w oparciu o wzorce projektowePaweł Kapłański Paweł wyjaśnia jak, dzięki odpowiedniemu rozparcelowaniu systemu oraz usystematyzowaniu pojęć, ułatwić sobie pracę nad pisaniem aplikacji wielowątkowych. iBATIS - bazodanowy robotnikDavid opisuje przewagę iBatis nad Hibernate. Oba programy dedykowane są współpracy z bazami danych. Artykuł oparty jest na przykładzie mapowania danych. Operacje bazodanowe programu wspierane są przez iBATIS oraz Abator - generator kodu dla i BATIS. Continuous Integration w .NETMarcin wyjaśnia czym jest Continuous Integration. Przedstawia krok po kroku jak przygotować pełen proces ciągłej integracji z pomocą CC.NET. Przy wykorzystaniu Visual Studio 2005 tworzy prosty projekt ASP.NET, testuje go zestawem testów jednostkowych Nunit, a posługując się MSBuild pisze skrypt budujący. Mechanizm koncepcji w języku C++: nowe oblicze szablonówRafał opisuje mechanizm koncepcji w C++. Koncepcje, oferujące zbiór zaawansowanych konstrukcji pozwalających modelować ograniczenia typów, będących parametrami w szablonach klas i funkcji, postrzegane są jako przyszłe remedium na bolączki związane ze złożonością nowoczesnych bibliotek generycznych, pisanych w języku C++. Rafał przedstawił mechanizm koncepcji tak, abyś mógł łatwo zrozumieć ideę tego rozwiązania i jednocześnie uświadomić sobie konsekwencje stosowania go w praktyce. Artykuł został oparty na roboczej specyfikacji mechanizmu koncepcji. Ortogonalne Sieci RBFWł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ń. 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ąc na koncepcji polimorfizmu zewnętrznego. 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. Flash i Web 2.0 - Laszlo - błyskawiczne tworzenie aplikacji internetowychŁukasz Zmywarczyk, Łukasz i Tomasz wyjaśniają znaczenie określenia Rich Internet Application oraz opisują w jaki sposób napisać efektywną aplikację korzystając z języka Laszlo. IBM Software Development PlatformMichał Bugowski Autorzy prezentują IBM SDP jako środowisko oferujące jednolitą platformę bazującą na Eclipse. W skład platformy wchodzą narzędzia dla projektantów, analityków, deweloperów i testerów. Narzędzia są ze sobą zsynchronizowane i zintegrowane, co pozwala budować aplikacje wydajniej i oszczędniej. Rational Software Architect - pierwszy krokMichał Wolski Środowisko IBM SDP tworzy platformę współpracy dla zespołów deweloperskich w ramach środowiska Eclipse oraz pozwala łączyć funkcje biznesowe, rozwojowe i operacyjne w ramach organizacji. Jednym ze składników SDP jest IBM RSA - zintegrowane narzędzie projektowe i programistyczne. Projekt i implementacja aplikacji JAVA w środowisku IBM RSAAndrzej Dąbrowski W artykule przedstawiono w jaki sposób dokonać transformacji od modelu analitycznego zapisanego w języku UML do implementacji w języku JAVA. Omawiane zagadnienia zilustrowano przykładem aplikacji książka adresowa. celem artykułu jest prezentacja procesu projektowania oraz implemetacji aplikacji przy użyciu platformy IBM SDP. GDD - geograficznie rozproszona produkcja oprogramowaniaBrenda Cammarano Artykuł Brendy jest spojrzeniem na zjawisko outsourcingu, nazywanym tutaj metodą GDD (Geographically Distributed Development), pod kątem kilku wymagań biznesowych, które wprowadzają nowatorskie zmiany do współczesnego biznesu. Test konsumenckiZwróciliśmy się do klientów firm inSolutions, Ideo oraz MP2 z pytaniem, jak oceniają działanie usługi outsourcingu tworzenia oprogramowania. Każdy mógł wyrazić swoją opinię według określonych kryteriów. Ranking popularności języków programowaniaKrzystof Rychlicki-Kicior Zgodnie z obietnicą złożoną trzy miesiące temu publikujemy kolejne zestawienie zawierające listę języków programowania ułożoną malejąco według ich popularności. SpaślakMichał Małecki Żadna chyba firma w historii informatyki nie zyskała sobie tak złej sławy i nie doczekała się tak skrajnie odmiennych opinii - zarówno przykładu dobrze prowadzonego interesu, jak i cwaniaka, który żeruje na naiwnych - jak ..... KsięgozbiórOmawiamy dwie książki:
Edytor GUI – nowe spojrzenieZbigniew Fryźlewicz Twórcy omawiają uniwersalne narzędzie, zarówno dla programisty, który zawsze otrzyma interfejs o jednolitej formie oraz dla grafika, który będzie pracował w dobrze znanym środowisku. Aplikacja została napisana w języku C# i w tym języku prezentowane są fragmenty kodu źródłowego Drools – silnik reguł biznesowychMariusz Kaczor Mariusz omawia wyjaśnia czym jest silnik reguł biznesowych oraz wskazuje jego wykorzystanie na przykładzie krzyżówek SUDOKU. Poniżej zamieściliśmy materiały źródłowe do artykułu. Progress Sonic ESB – instalacja, repozytorium oraz konsola administracyjnaParys Waicis Artykuł omawia aspekty związane z instalacją, konfiguracją, zarządzaniem oraz monitorowaniem pracy korporacyjnej magistrali usług. Magic eDeveloper – definicja zadania wsadowego i raport jako przykład zastosowaniaJan Seliga Artykuł został poświęcony zadaniom wsadowym, umożliwiającym oprogramowanie algorytmów wykonywanych bez interakcji ze strony użytkownika. Progress Sonic ESB - tworzenie procesów w środowisku Sonic WorkbenchParys Waicis Czwarty odcinek klubu CLucene - efektywne wyszukiwanie informacjiBen van Ben przedstawia przegląd możliwości CLucene, opisuje zasady jej działania i wskazuje, jak szybko rozpocząć pracę z biblioteką i jak używać jej w poprawny sposób. .NET + Python = IronPythonJanusz Gołdasz Artykuł przedstawia zakres i możliwości IronPythona, omawia dostępne narzędzia i skrypty oraz tłumaczy w jaki sposób tworzyć rozszerzenia .NET dla IronPythona. Magic eDeveloper - Mechanizmy wprowadzania danych za pomocą list wyboru i weryfikacji danychJan Seliga Artykuł zostaw poświęcony sposobom wprowadzania danych za pomocą list wyboru oraz wykorzystaniu elementów graficznych. Pokazano także uniwersalny sposób na zbudowanie i użycie słownika. Świat równoległyRafał Kocisz Zastanawiałem się ostatnio nad historią rozwoju informatyki poprzez pryzmat procesu ewolucji języków programowania... Rozmowa ze Svenem SchuldtemMagdalena Filip Sven Schuld ma czternastoletnie doświadczenie w branży IT. SDJ: Jakie są plany firmy Symantec dotyczące rynku polskiego, jakie produkty firma będzie rozwijać i jakie projekty będą realizowane? ..... Java Native Interface - łączenie Javy i C/C++Bartłomiej Starosta Bartłomiej omawia procedurę zastosowania funkcji rodzimej i wywoływania jej w programie. Boost.Regex: wyrażenia regularne w C++Rafał Kocisz Wyrażenia regularne stanowią użyteczne narzędzie, wspomagające przetwarzanie danych tekstowych. Wiele języków programowania posiada natywnie wbudowaną obsługę tego mechanizmu. Niestety, do zbioru tych języków nie zalicza się C++, przez co wykorzystujący go programiści muszą szukać alternatywnych rozwiązań. Rafał prezentuje Boost.Regex. Jest to potężne narzędzie do obsługi wyrażeń regularnych. OpenMap: proste narzędzia do rozwiązywania trudnych problemówDon Dietrick,Bill Don i Bill prezentują narzędzia do wizualizacji danych geograficzno-przestrzennych. Dowiesz się w jaki sposób OpenMap ułatwia i przyśpiesza interakcję między użytkownikiem oraz danymi. Java Modeling LanguagePiotr prezentuje możliwości oraz wykorzystanie JML w modelowaniu aplikacji, w których kod wykonywany jest sekwencyjnie, na przykładzie biblioteki matematycznej, Ponadto dowiesz się jak aplikacja JML pozwala na statyczną weryfikację kodu oraz jak generować teksty dla JUnit. Środki bezpieczeństwa stosowane w PasswordSafePasswordSafe to narzędzie udostępniane na licencji Open Source, pracujące pod systemami z rodziny Windows i służące do przechowywania oraz zarządzania hasłami, a także innymi ważnymi informacjami, które użytkownik chciałby w specjalny sposób chronić. W artykule prezentujemy mechanizmy bezpieczeństwa zaimplementowane w ramach PasswordSafe oraz wyjaśniamy dlaczego są one użyteczne dla programistów pracujących nad rozwiązywaniem problemów ochrony danych w aplikacjach. Praca z Pure Power Tactical EnginePure Power Tactical to silnik dla gier strategicznych i taktycznych czsu 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. Wykorzystanie narzędzi GNU przy projektowaniu systemów operacyjnychOd jakiegoś czasu, wśród programistów wzrasta zainteresowanie tematyką projektowania oraz tworzenia systemów operacyjnych. Rosnąca popularność systemów wbudowanych tylko potwierdza tą regułę. Artykuł przybliża tematykę tworzenia oprogramowania systemowego z wykorzystaniem narzędzi GNU. Programowanie internetowe J2MEArtykuł porusza kwestie związane z pisaniem aplikacji internetowych na telefony komórkowe. Krzysztof wskazuje jak napisać telnet działający na telefonie komórkowym w oparciu o język J2ME. Rozbudowa .Net Remoting cz. 2Marcin Kawalerowicz Artykuł stanowi kontynuację cz.1, która została zamieszczona w numerze 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 rozszerzamy jego funkcjonalność o umiejętność protokołowania przepływających informacji. Wprowadzenie do DB2 9Stefan 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. Instalacja DB2 9Artur Wroński Artur krok po kroku ilustruje, w jaki sposób zainstalować DB2 9 zarówno w Linuxie, jak i w Windowsie, Partycjonowanie danych w DB2 9Rafał Kasprzyk Rafał i Artur omawiają trzy najpopularniejsze techniki partycjonowania: partycjonowanie zakresowe, mieszane i wielowymiarowe klastrowanie. Z artykułu dowiesz się, w jaki sposób partycjonowanie zwiększa możliwości zarządzania danymi. Quartz-zarządzanie zadaniami w J2SE/J2EEPiotr Anioła Piotr przedstawia otwartą bibliotekę wspomagającą harmonogramowanie zadań, którą można zintegrować z dowolną aplikacją J2EE lub J2SE. Pokazuje jak budować proste i złożone harmonogramy. Progress Software Progress Sonic ESB- tworzenie usług w środowisku Progress Sonic WorkbenchParys Waicis Trzeci odcinek klubu. Artykuł przybliża pojęcia związane z usługami ESB oraz prezentuje w jaki sposób stworzyć nową klasę usług przy użyciu Progress Sonic Workbench. e-POLTAXJanusz Ganczarski W tym artykule poza przedstawieniem sposobu działania systemu e-POLTAX, autor skupił się głównie na opisie formatów deklaracji elektronicznej. ROME: Obsługa formatów RSS i Atom w JaviePatrick 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 oraz obsługę rozszerzonych formatów syndykacyjnych. Współpraca programistów z testerami oprogramowaniaŻaneta Wysocka Coraz częściej stałym elementem procesu powstawania projektu informatycznego staje się zorganizowanie procesu testowego. Żaneta omawia scenariusze współpracy między programistami a testerami oprogramowania. JMeter - testy wydajnościowo-obciążenioweRafał Kasprzyk Autor 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. Wybieramy narzędzie do automatyzacji testówMariusz Chrapko Wybór dobrego narzędzia do automatyzacji procesu testowania nie prosty. Mariusz przedstawia klika praktycznych wskazówek, które w takim wyborze mogą pomóc. Total Quality Management – recepta na sukcesAgnieszka Dunikowska Autor 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 nie efektywne rezultaty. QA WizardAutomatyczne testowanie stanowi krytyczną część procesu tworzenia i dostarczania produktów aplikacyjnych. Artykuł opisuje w jaki sposób narzędzie QA Wizard umożliwia pełną automatyzację procesu testowania aplikacji internetowych. CentraSite Java Management InterfaceArtykuł przedstawia interfejs CentraSite Java Management umożliwiający analogiczne sterowanie platformą z poziomu kodu. Java 6.0 – nowości w MustanguBartłomiej Starosta Bartłomiej przedstawia zestaw nowości, które zostaną wprowadzone do kolej-nej edycji Java SE. Autor wskazuje, że największy nacisk położono na stabil-ność i usuwanie błędów. Mrowisko kontra układ scalonyŁukasz Osuszek Łukasz opisuje algorytmy mrówkowe. Wskazuje, że za pomocą prostych reguł można stworzyć skomplikowane struktury i wzory. Własna sieć neuronowa z użyciem pakietu ROOTIwona Pękała Iwona wyjaśnia, czym jest sieć neuronowa i do czego służy. Przedstawia stoso-wany głównie w fizyce pakiet ROOT. Progress Software – tworzenie projektu w środowisku Progress Sonic WorkbenchDrugi odcinek klubu technicznego. Artykuł prezentuje możliwości zintegrowanego środowiska programistycznego Progress Sonic Workbench. Boost PropertyTreeMarcin Kaliciński Marcin przedstawia bibliotekę jako narzędzie oferujące programistom C++ możliwość wczytywania, przeglądania, modyfikowania i zapisywania hierarchicznych formatów danych, takich jak XML, INI, JSON czy Rejestr Windows. Korporacyjna magistrala usługParys Waicis Artykuł prezentuje możliwości zintegrowanego środowiska programistycznego Progress Sonic Workbench. Boost.Fusion: coś więcej niż krotkiKrotki są potężnym narzędziem programistycznym. Narzędzie to jest uważane za tak istotne, iż w wielu przypadkach posiada ono bezpośrednie wsparcie na poziomie języka. . W niniejszym artykule, bazując na praktycznych przykładach przedstawimy Boost.Fusion – bibliotekę do obsługi krotek w języku C++. Tworzenie obiektów w Oracle 10gOracle 10g to najnowsza wersja chyba najbardziej znanej na całym świecie bazy danych. Popularność zyskała ona dzięki swej stabilność i wydajności. Cechy te przyczyniły się do tego, że to właśnie w oparciu o Oracle tworzonych jest większość aplikacji bazodanowych działających w wielu różnych branżach. Instalacja, konfiguracja i zapytania w MySQL 5.0 Radosław przedstawia jak przejść przez instalację i konfigurację jednego z najpopularniejszych, dostępnych za darmo serwerów baz danych. Standard Query Language, bo tak brzmi rozszerzenie skrótu SQL jest językiem deklaratywnym, czwartej generacji. Oznacza to tyle, że większość problemów przeniesiona jest z programisty na serwer bazy danych, co znakomicie ułatwia posługiwanie się nim, a co za tym idzie także jego naukę. Automatyzacja testów aplikacji webowych J2EEZachary przedstawia studium zdarzeń, funkcjonalnych przypadków testowych do stosowania z dwoma produktami Selenium: Selenium IDE i Selenium RC, jak również TestNG i Swing API, aby umożliwić szybkie tworzenie dynamicznych przypadków testowych dla aplikacji webowych Javy Praca w młodym dynamicznym zespoleTomasz Kuprowski Niedawno naszła mnie pewna refleksja. Kiedy to znów kreatywnie spędzałem czas za biurkiem podejmując nierówną walkę w wyjątkiem krytycznym, który jak zwykle nie powinien nastąpić... Sonic ESB - Efektywna i bezpieczna architektura SOAParys Waicis Pierwszy odcinek klubu technicznego Ewolucja i efektywność technologii dostępu do baz danychArtur analizuje efektywność technologii dostępu do baz danych Oracle, DB2, SQL Server, Informix, InterBase, MySQL oraz Access z poziomu aplikacji napisanej w języku Delphi. W stworzonym na potrzeby artykułu programie przetestowana zostanie efektywność technologii dostępnych w środowisku Delphi. JasperReports oraz iReport - raportowanie z baz danychJanusz Rybarski Janusz przedstawił zaawansowane narzędzie open sourcerowe jakim jest JasperReports oraz iReports - graficzny edytor raportów. Obydwa zostały napisane w Javie, są przyjazne dla użytkowanika i pozwalają pracować na dowolnej platformie. Biblioteka miesiąca: Anti-Grain Geometry: C++ i grafika 2D o wysokiej dokładnościAnti-Grain Geometry (AGG) to darmowa i otwarta biblioteka do programowania grafiki 2D, oferująca wsparcie dla wielopoziomowego wygładzania (j.ang. multilevel anti-aliasing) oraz dokładność podpikselową (j.ang. subpixel accuracy). AGG, zaprogramowana w całości w języku C++, może być postrzegana jako biblioteka renderująca, która tworzy w pamięci komputera obrazy rastrowe na podstawie pewnej reprezentacji wektorowej. W artykule zaprezentowano przegląd możliwości biblioteki, przykład użycia oraz plany związane z jej rozwojem Warsztat: Tworzenie interfejsu z dokowanymi ramkami za pomocą biblioteki wxAUI dla wxWidgetsBiblioteka wxAUI pozwala tworzyć interfejsy użytkownika wyposażone w ramki właściwe dla platformy, pływające i dokowane, ruchome sprężynujące paski narzędzi, możliwość zapisu i ładowania perspektyw oraz efekty specjalne, jak na przykład możliwość definiowania wyglądu i zachowania interfejsu czy też przezroczystość przenoszonych okien. Z artykułu dowiesz się w jaki sposób zbudować aplikację wykorzystującą możliwości biblioteki. Programowanie grafiki: OpenGL ES – programowanie grafiki dla urządzeń mobilnychAutor opisuje jak zaprogramować interaktywną efektywną wizualnie grę za pomocą biblioteki OpenGL ES. Wskazuje ograniczenia, które napotyka programista mini-konsolek podczas pracy. Programowanie grafiki: Java 3D i PythonCelem artykułu jest prezentacja możliwości, jakie daje Java 3D programistom tworzącym przestrzenne aplikacje graficzne. Poznasz kluczowe pakiety biblioteki. Dowiesz się jak napisać aplikację typu Hello3D, jak zintegrować Javę 3D ze Swing oraz jak generować sceny przy użyciu skryptów Pythona. Programowanie Java: JMX – Zdalne zarządzanie aplikacjami i maszyną wirtualną JavyJMX to skrót od Java Management Extensions. Z jednej strony jest to technologia programowania rozproszonego, z drugiej – metodyka tworzenia oprogramowania w taki sposób, aby można było nim łatwo zarządzać już na poziomie poszczególnych obiektów. Umożliwia ona również kontrolowanie wykonania aplikacji Javy oraz samej maszyny wirtualnej. Z artykułu dowiesz się w jaki sposób stosować JMX we własnych aplikacjach. Inżynieria oprogramowania: Wstęp do ScrumScrum jest jedną z najbardziej znanych metodologii agile. W artykule przedstawiamy korzyści płynące z jego zastosowania oraz wskazujemy problemy, które mogą się pojawić podczas wdrażania. Warsztat: Mój pierwszy UDF, czyli C na usługach SQLaTematem niniejszego artykułu jest rozszerzenie funkcjonalności 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. Bazy danych: Analityczny SQL - dodawanie funkcji do gotowych plików binarnychAutor przybliża tematykę funkcji analitycznych w SQL – ich składnię, rodzaje oraz przedstawia przykłady rozwiązań. Funkcje analityczne w artykule zostały przedstawione dla wersji języka SQL wykorzystywanej w bazie danych Oracle. Domain-Specific Modeling w generacji kompletnego koduJuha-Pekka Tolvanen Artykuł przedstawia Domain-Specific Modeling (DSM) oraz wyjaśnia, jak można zaimplementować zgodne z nim języki i generatory. Podsumowaniem artykułu jest porównanie DSM z MDA. .NET Remoting cz. 1..NET Remoting to technologia umożliwiająca komunikację pomiedzy rozproszonymi aplikacjami w środowisku .NET. Z artykułu dowiesz sie miedzy 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. Boost.MPL: metaprogramowanieArtykuł stanowi wstęp do tematyki metaprogramowania. Aleksey Gurtovoy prezentuje bibliotekę Boost.MPL. Autor zachęca do bliższego zainteresowania się metaprogramowaniem. Narzędzia C/C++ w LinuksieMaciej przedstawia technik wspomagające pracę programistów podczas procesu tworzenia oprogramowania. Celem artykułu jest prezentacja narzędzi C/C++ dostępnych w Linuksie. Programowanie wielowątkowe w WIN32Artykuł stanowi wprowadzenie w zagadnienia związane z programowaniem wielowątkowym w systemach WIN32. Janusz zachęca do zapoznania się z prezentowanymi technikami oraz do stosowania ich w programach. Warsztat: Obsługa formatu XML przy użyciu języka C++Rafał Kocisz Autor wyjaśnia jak obsługiwać dokumenty XML z poziomu aplikacji C++ przy wykorzystaniu najbardziej popularnych (i darmowych) narzędzi do tego przeznaczonych. Wskazuje jak usprawnić wykorzystanie tych narzędzi przy pomocy nowoczesnych idiomów i bibliotekjęzyka C++. Współpraca Zope i Mozilli - generowanie XUL przy wykorzystaniu ZopeW artykule opisano w jaki sposób można zmienić emitowaną treść przy użyciu serwera aplikacyjnego Zope na przykładzie emisji zarówno HTML jak i XUL. LINQ – C# 3.0Artykuł 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 mieć łatwy i zunifikowany sposób dostępu do danych pochodzących z dowolnego źródła (baza relacyjna, dane XML, obiekty). Wydajne i łatwe w użyciu webserwisy : XFire w akcjiTomasz 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. Artykuł oparty jest na doświadczeniu podczas prób stworzenia webserwisu Dodawanie funkcji do gotowych plików binarnychJakub 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. ECOM: Mechanizm obsługi wtyczek w Symbian OSRafał Kocisz ECOM to mechanizm obsługi wtyczek w systemie Symbian. Artykuł skierowany jest do osób rozpoczynających przygodę z tworzeniem oprogramowania dla Symbian OS. Na potrzeby artykułu autor opracował program korzystający z mechanizmów ECOM, a na jego przykładzie opisał krok po kroku proces tworzenia wtyczki w oparciu o ECOM. Kody źródłowe oraz koncepcje przedstawione w ramach tego tekstu zostały staranie opracowane i przetestowane, dzięki czemu mogą z powodzeniem służyć jako szablon do wykorzystania, zarówno w projektach hobbystycznych jak i komercyjnych. Zbudujmy sobie bazę danych – LhimkDB cz. 4Paweł Marciniak Tym razem Paweł opisuje w jaki sposób dodać do bazy danych możliwość zapisu danych w strukturze drzewa (ang. tree structured database). To ostatni artykuł z serii o LhimkDB. W ciągu czterech odcinków od obsługi trwałej pamięci doszliśmy do struktur obiektowo-drzewiastych. Stworzyliśmy nie tylko jeszcze jedną bazę klucz-wartość, ale też zupełnie nową architekturę, pozwalającą na lepsze pisanie dużych systemów biznesowych. Autor podkreśla, że napisanie bazy danych jest proste, że może to zrobić każdy kto ma kilka wolnych chwil i niezbyt dużą wiedzę o programowaniu. Java EE 5, czyli łatwiejsze życie programistyArkadiusz Rosiński W pierwszym kwartale 2006 roku ma się ukazać specyfikacja dla nowej wersji platformy J2EE, która będzie nosić nazwę Java Platform Enterprise Edition 5 (Java EE 5). Zgodnie z oświadczeniami przedstawicieli firmy Sun, nadzorującej pracę nad powstawaniem nowej specyfikacji, zawarte w niej rozwiązania znacznie przyspieszą i ułatwią proces powstawania aplikacji opartych o Java EE 5, przy zachowaniu szerokich możliwości jakie oferuje ta technologia. Korzyści jakie daje zastosowanie platformy J2EE powodują, że jest ona stosowana w coraz większej liczbie aplikacji. Autor opisuje rozwiązania przyjęte w nowej wersji specyfikacji Java EE 5, podkreślając, że w znacznej mierze likwidują wady poprzednich wersji i przyspieszają tworzenie aplikacji. Antywzorce projektowe – złego dobre początkiStefan Turalski Autor wyjaśnia czym są antywzorce projektowe, omawia przyczyny powstawania złych praktyk programistycznych oraz prezentuje najpopularniejsze schematy, które bezpośrednio dotyczą implementacji oprogramowania. Autor twierdzi, że programista rozumiejący pojęcie zarówno wzorca jak i antywzorca projektowego jest w stanie stworzyć lepsze rozwiązanie, zarówno pod względem architektury, stabilności jak i przyszłego rozwoju Fyracle – Oracle za darmo!Marek Mosiewicz Jednym z dość często pojawiających się wymagań przy projektowaniu systemów informatycznych jest jego przenośność w obrębie kilku baz danych. Osiągnięcie przenośności wymaga niestety umieszczenia całej logiki biznesowej w warstwie serwera aplikacji oraz stosowania składni SQL zgodnej np. z SQL’92. Niestety wiąże się to zwykle ze spadkiem wydajności, gdyż duża liczba zapytań wykonywanych z serwera aplikacji nie jest tak szybka jak procedury składowane. Fyracle jest to zmodyfikowana wersja popularnej bazy danych Firebird. Podstawową różnicą pomiędzy obiema bazami jest umiejętność rozpoznawania przez Fyracle składni komercyjnej bazy Oracle. Marek opisuje novum na rynku deweloperskim. OCEAN możliwości czyli uniwersalne raportowanieMichał Grabowski OCEAN GenRap to narzędzie do tworzenia i generowania raportów opracowana przez firmę Comarch SA. Prezentuje on nowatorskie podejście do raportowania oferując możliwość generowania wydruków w wielu formatach, uruchamiania wygodnego narzędzia do projektowania raportów wprost z zewnętrznej aplikacji. Michał przedstawia OCEAN GenRap, tworząc krok po kroku fragment prostego serwera raportowania, cechującego się niskim kosztem przy zachowaniu funkcjonalności profesjonalnych systemów. Przykład zrealizowany jest na Apache Tomcat 5.0 z wykorzystaniem API OCEAN GenRap przeznaczonym dla języka Java. Java Card i OpenCard FrameworkAutor, na przykładzie prostej elektronicznej portmonetki, przedstawia podstawowe zasady programowania kart inteligentnych, dla których aplikacje można tworzyć w języku Java. Są to karty Java Card. Piotr przedstwia jak napisać program, który umożliwi operacje w elektronicznej portmonetce takie jak np. zwiększenie i zmniejszenie ilości przechowywanych w niej pieniędzy (salda). Jest to prosta aplikacja wykorzystująca bibliotekę OpenCard Framework. Mechanizmy bezpieczeństwa platformy .NET FrameworkTomasz Leszczyński Model zabezpieczeń dostarczany z .NET Framework jest systemem dość złożonym, udostępniającym bardzo rozbudowane i modularne API. Konstrukcja systemu zabezpieczeń pozwala programiście na niemal nieograniczone rozszerzanie i modyfikowanie jego funkcjonalności. Aartykuł dotyka tylko niewielkiej części całego zagadnienia, którego pełny opis jest tematem na co najmniej jedną książkę. Pisanie aplikacji w Qt 4.0. Część 3Jacek Surazski Autor, w kolejnej odsłonie, przedstawia proces pisania aplikacji QtCommander. Jacek opisuje, jak poprawić model i widok tak, aby jego zawartość można było zmieniać, stosując mechanizmy drag and drop oraz edytowanie w miejscu (inline editing). Artykuł przybliża czytelnikowi najważniejsze aspekty programowania w Qt i zachęca do rozwoju własnych aplikacji. Tworzymy sztuczną inteligencję botówAutorzy omówiają podstawowe zasady budowy chatbota na przykładzie RoboMatic X1. W artykule skupiają się głównie na logice bota, aby każdy programista mógł zaimplementować tę logikę w dowolnym języku programowania. Sieci neuronowe w grachMaciej Gorywoda Maciej prezentuje mechanizm działania sieci neuronowych na przykładzie działania ludzkiego mózgu. Auror stawia w następujace pytania: dlaczego sieć neuronowa nie mogłaby zostać użyta do kontroli robota, sondy, lub w symulowanym środowisku, agenta albo dlaczego nie miałaby prowadzić do walki naszych komputerowych przeciwników w grach typu First Person Perspective. Środowisko programistyczne TheIDEDaniel Kos Ultimate++ (w skrócie upp) jest nie tylko zbiorem bibliotek ogólnego zastosowania i bibliotek do tworzenia interfejsu użytkownika. W przeciwieństwie do większości dobrze znanych projektów o podobnej tematyce ze środowiska open source upp dostarcza w pełni funkcjonalne, zintegrowane środowisko programistyczne nazwane po prostu TheIDE. Co więcej, nie jest to tylko prosty edytor kodu, ale zintegrowany debuger, edytor okienek, edytor obrazków oraz system tworzenia dokumentacji. Wszystko to w jednym pliku, którego rozmiar nieznacznie przekracza 4 megabajty. Daniel przedstawia w pełni konfigurowalny edytor, nowatorski system zarządzania projektami oraz liczne udogodnienia takie jak wbudowany edytor dokumentacji czy edytor obrazków. Szperajc w nagłówkach, czyli wstęp do reverse engineeringuWojciech Warpechowski Reverse Engineering czyli inżynieria wsteczna oprogramowania i elementów komputera może być stosowana w celu zapewnienia obsługi nieudokumentowanym standardom zapisu, protokołom komunikacyjnym czy też peryferiom. Wojtek przedstawia techniki reverse engineeringu pisząc w pełni działający program z zaszyfrowanym kodem. Ultimate++Antonio Scuri Ultimate++ jest próbą stworzenia optymalnej platformy do tworzenia aplikacji pulpitu na platformach Windows oraz POSIX/X11. Do osiągnięcia tego celu Ultimate++ agresywnie wykorzystuje możliwości C++, korzystając przy tym z kilku nowych pomysłów w dziedzinie rozwoju aplikacji. Ultimate++ składa się z szeregu bibliotek C++ oraz środowiska deweloperskiego o nazwie TheIDE. Autorzy prezentują najciekawsze właściwości Ultimate++. Integralność danych, wyzwalacze i wydajnośćDamian Dudek Artykuł jest wprowadzeniem do problematyki integralności w bazach danych. Damian omawia rodzaje integralności i główne grupy metod jej zapewniania oraz prezentuje mechanizm wyzwalaczy, dostępnych w bazach danych MS SQL Server 2000. Część trzecia zawiera analizę wydajności wyzwalaczy AFTER i INSTEAD OF w porównaniu z zastosowaniem analogicznego kodu w zwykłych procedurach przechowywanych. Jest to próba odpowiedzi na pytanie, jakie są potencjalne zyski i koszty stosowania przez programistę poszczególnych wariantów realizacji tych samych reguł integralności. Baza wiedzy w zarządzaniu projektem informatycznymMarcin Żmigrodzki Zarządzanie wiedzą (KM) jest dziedziną dużo młodszą od zarządzania projektami i nie doczekało się jeszcze jednolitego podejścia – tzw. metodyki. KM za punkt wyjścia stawia poprawę funkcjonowania firmy poprzez usprawnienie wytwarzania, przepływów i gromadzenia wiedzy. Miejscem składowania zgromadzonej wiedzy jest baza wiedzy. Wdrożenie zarządzania wiedzą wymaga użycia pewnych narzędzi informatycznych, jak na przykład: wyszukiwarka, baza dokumentów i treści, portal intranetowy, biuletyn e-mailowy, forum. W zarządzaniu wiedzą jednak technologia to tylko jeden z czterech kluczowych czynników sukcesu. Pozostałe trzy to: poparcie kierownictwa firmy, zmiany w kulturze organizacyjnej i system pomiarowy. Interfejs Visual Studio 2005 Web Developer z punktu widzenia Web DeveloperaAutor opisuje proste i intuicyjne narzędzie do tworzenia internetowych aplikacji w 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. Podstawy ASP.NET 2.0 – tworzenie stron WWW oraz aplikacji WebArtykuł opisuje aspekty zastosowania platformy programistycznej ASP.NET 2.0. Stefan instruuje 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. Strony wzorcowe i motywy graficzne w ASP.NET 2.0Maja 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 np. motywów graficznych i stron wzorcowych może przysłużyć się do powstania bardziej przejrzystych wizualnie aplikacji oraz łatwiejszego graficznego przyozdobienia interfejsu użytkownika. Kontrolki serwerowe dostępne w ASP.NET 2.0Igor Kruk, Artur Mościcki Ilość kontrolek oferowanych w ASP.NET 2.0 może wprowadzić początkującego programistę w niemałe zakłopotanie ponieważ jest ich około 50. Autorzy wyjaśniają w jaki sposób kontrolki serwerowe dostępne w technologii ASP.NET ułatwiają tworzenie aplikacji internetowych. Bezpieczne aplikacje internetowe na platformie ASP.NET 2.0Stefan Turalski Artykuł prezentuje zestawu 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. Po stronie klienta w ASP.NET 2.0Maja Ciemienga Z artykułu dowiesz się w jaki sposób wykorzystać JavaScript podczas tworzenia skryptów w zaawansowanych technologiach internetowych. JFreeReport – darmowe raportyDawid de Rosier opisuje bibliotekę JFreeReport, która służy do budowania raportów. Wskazuje sztuczki implementacyjne, które pozwolą zminimalizować nakład pracy i czasu. Programowanie urządzeń przenośnych w JavieKarol Harezlak oraz Fabiola Gallegos Rios wprowadzają w podstawy Java Micro Edition i programowania z konfiguracją urządzeń połączonych (CDC) z zastosowaniem Net-Beans Mobility Pack. Przedstawiają przegląd JavaMe i technologi CDC, opis NetBeans Mobility Pack dla CDC i różnych emulatorów dostarczonych z zewnątrz, oraz urządzenia dostępne dla tych narzędzi. Następnie gruntownie przedstawiają metody pracy z tymi narzędziami na przykładach z projektami w Java Me CDC. Łączenie kodu C++ z zarządzanym kodem .NETPrezentuje 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. Przegląd modeli cyklu życia oprogramowaniaWyjaśnia czym jest model cyklu życia systemu informatycznego oraz wskazuje popularne modele cyklu życia systemu informatycznego. Wyjaśnia ich wady oraz zalety. QuickServer – szybkie tworzenie szybkich serwerówOpisuje pakiet QuickServer , który jest przeznaczony do tworzenia szybkich serwerów. Przestawia elementy architektury QuickServer na przykładzie komunikatora działającego z przeglądarką WWW. Piotr omawia również zastosowanie programu SocketTest, który służy do testowania aplikacji sieciowych |
![]() ![]() ![]() ![]() ![]() |












