Programista 7/2013 (14)
Programista 7/2013 (14)
Język C++ nie posiada wprawdzie garbage collectora, który automatycznie zwalniałby pamięć, ale to nie znaczy, że nie dostarcza niczego, co mogłoby w zarządzaniu pamięcią pomóc. Nowy standard języka C++11 oferuje klasy inteligentnych wskaźników – unique_ptr i shared_ptr – których warto używać, aby uczynić programowanie bardziej wygodnym i bezpiecznym.
Czy programując w języku C++, marzyło Ci się, aby – podobnie jak w Perlu, Ruby czy Pythonie – mieć w zasięgu ręki udogodnienia do obsługi wyrażeń regularnych? Jeśli tak, to masz powód do radości: w C++11 obsługa wyrażeń regularnych jest częścią biblioteki standardowej! Niniejszy artykuł w zwięzły, przystępny sposób wprowadzi Cię w temat obsługi wyrażeń regularnych w C++11.
Większość kupowanych dzisiaj smartfonów i tabletów pracuje pod kontrolą Androida oraz iOS. W sprzedaży znajdują się też urządzenia z innymi systemami operacyjnymi. Oznacza to, że przygotowanie oprogramowania działającego na zdecydowanej większości urządzeń przenośnych wymaga opracowania co najmniej dwóch aplikacji. Problem można rozwiązać, korzystając z frameworka PhoneGap i tworząc wieloplatformowy program na wszystkie systemy mobilne jednocześnie.
Podczas pisania programów „dla siebie” albo na zaliczenie na uczelni nie przykładamy do testowania wielkiej wagi. W przypadku tworzenia rozwiązań biznesowych problem testowania wygląda zupełnie inaczej. Odbywa się ono, a przynajmniej powinno, na wielu poziomach oraz podczas wielu stadiów tworzenia oprogramowania. Wyróżnić możemy: testy jednostkowe, testy akceptacyjne, testy wydajności czy też testy skalowalności. Dzisiaj powiemy sobie właśnie o jednym z rodzajów testów oraz o wykorzystaniu ich do pracy nad aplikacją w technologii ASP.NET MVC4.
W drugiej części artykułu o tworzeniu gier w Unity3D uzupełnimy nasz prototyp o kilka nowych elementów, które nie zostały przedstawione w części pierwszej. Będziemy bazować na przykładzie, jaki był dostępny w poprzednim artykule, jednakże dołączone materiały do tego artykułu nie wymagają instalacji poprzedniego przykładu. Naturalnie, zachęcamy do sięgnięcia do poprzedniego artykułu, niemniej jeśli nie mamy poprzedniej części pod ręką, to mimo wszystko możemy przystąpić do realizacji nowych zadań.
Jeśli mówimy o tworzeniu gier, większość programistów od razu myśli o silnikach 3D, detekcji kolizji, algorytmach odnajdowania ścieżki, złożonych symulacjach fizycznych etc. Bardzo rzadko mówi się o niezwykle istotnym aspekcie pisania gier, a mianowicie o ich części sieciowej. To jest „nieciekawy” i „nudny” kod. Tryb online w grze trzeba zrobić, i najlepiej żeby go implementował ktoś inny.
Poniższy artykuł jest ostatnim z serii trzech, w których w kompletny sposób omawiamy zagadnienia związane z odświeżaniem i utrzymywaniem aktywnego (nieblokującego) interfejsu użytkownika w aplikacjach korzystających z wątków roboczych. W pierwszych dwóch częściach omówiliśmy zagadnienia dotyczące bibliotek kontrolek Windows Forms oraz Windows Presentation Foundation. W ostatniej części przedstawimy inny mechanizm umożliwiający synchronizację wątków roboczych z interfejsem użytkownika oparty o kontekst synchronizacji.
Rozmowa z Joanną Rutkowską, założycielką firmy Invisible Things Lab
Gry oparte na fizyce tworzone są przynajmniej od lat osiemdziesiątych zeszłego wieku. Wystarczy wspomnieć klasyczne już symulatory lotu, gry samochodowe czy „strzelanki”, w których bardzo realistycznie zachowują się ciała zastrzelonych przeciwników. Ostatnio coraz popularniejsze stają się także gry typu casual, także te przeznaczone na urządzenia przenośne, w których fizyka odgrywa kluczową rolę. Dobrym przykładem jest mój tablet, na którym dzieci w ciągu pierwszego miesiąca zainstalowały już Cut the rope, Where is my water, World of Goo i oczywiście kilka wersji Angry Birds. Wszystkie je łączy wykorzystanie fizyki. Robią to wprawdzie w różnym stopniu, ale to właśnie ten element w dużym stopniu decyduje o ich dużej grywalności. Ja sam bardzo lubię grać w Trine i Trine 2 oraz w gry z serii Half-Life, w których fizyka jest również kluczowa.
Powszechnie wiadomo, że w środowisku IT, podobnie jak lekarze czy księgowi, specjaliści informatyki muszą się ciągle rozwijać. Codziennie powstają nowe technologie, narzędzia, metody pracy czy wdrażane są nowe procesy w firmie. Istnieją różne możliwości pozyskiwania wiedzy. Możemy zapisać się do grup dyskusyjnych, subskrybować RSS z najbardziej poczytnych blogów, prenumerować branżowe czasopisma, kupować książki czy w końcu skorzystać ze szkoleń oferowanych przez firmy zewnętrzne. Która jednak metoda jest skuteczna?
Część VI: Wzorce analityczne modeli biznesowych na przykładzie Party – odkrywanie krok po kroku kolejnych rozwiązań.
Techniki takie jak Domain Driven Design służą do odkrywania wiedzy na temat nieznanych domen biznesowych. Jednak często pracujemy nad problemem, który został już dobrze przemyślany i opracowany kilka dekad temu. W niniejszym artykule przedstawimy koncepcję Wzorców analitycznych – czyli wzorców adresujących rozwiązania na poziomie analizy systemowej. Koncepcja wzorców analitycznych będzie ilustrowana na przykładzie kilku wybranych, w tym najbardziej popularnym z nich: Party – będą one również alternatywą dla typowych naiwnych książkowych modeli struktur organizacyjnych.
Większość programistów wie, co to refaktoryzacja, zna zalety wynikające z jej stosowania, zna również konsekwencje zaniedbywania refaktoryzacji. Jednocześnie wielu programistów uważa, że refaktoryzacja to bardzo kosztowny proces, wymaga wysiłku i brak na nią czasu w szybko zmieniających się warunkach biznesowych. Zapraszam do trzeciej części artykułu poświęconego zagadnieniu refaktoryzacji.