Część 2: Proste komponenty
Po solidnym wstępie możemy wreszcie zabrać się do roboty. Na pierwszy ogień weźmiemy napisanie dwóch komponentów: kompozytowego oraz prostego niestandardowego.
Większość z nas podczas swojej pracy ma styczność z bazami danych i prędzej czy później, natknie się na powolne zapytanie, co prowadzi do tematu analizy planu zapytania. Narzędzie wbudowane w SQL Management Studio pozostawia sporo do życzenia. Są po prostu inne narzędzia, które mogą nam pomóc w pracy. Moim ulubionym jest SQL Sentry. I to właśnie o nim chciałbym dzisiaj trochę opowiedzieć.
Do tej pory nasze rozważania skupiały się na technikach syntezy obrazów. W niniejszym, ostatnim już, odcinku cyklu udamy się natomiast na wycieczkę do krainy metod przetwarzania wygenerowanej wcześniej zawartości, co pozwoli nam uzyskać interesujące efekty specjalne. Po angielsku: post-processing.
Interfejs dla programisty w ramach środowiska Unity3D niewątpliwie ułatwia tworzenie gier komputerowych. Wiele zadań jest znacznie łatwiejszych do przeprowadzenia niż w przypadku innych systemów. Przykładem może być obsługa sterownia postacią w grze poprzez sieć. W pierwszej części artykułu, opublikowanej w numerze 6/2014 magazynu Programista, przedstawiono podstawowe elementy, które składają się na obsługę sieci w Unity3D.
Trudno przecenić rolę wirtualnego oświetlenia w grafice 3D. Podobnie jak w kinie, to dzięki oświetleniu filmowanej sceny nasz umysł daje się nabierać i obraz widziany na płaskim ekranie interpretuje jako trójwymiarowy. Nawet najbardziej wymyślne trójwymiarowe modele bez oświetlenia są po prostu płaskie. W dużym stopniu, wspólnie z teksturowaniem, to oświetlenie odpowiedzialne jest za realizm wygenerowanej sceny.
Witam w kolejnej, trzeciej odsłonie cyklu Wzorce Programowania Gier. Dziś na warsztat weźmiemy jedno z fundamentalnych zagadnień w dziedzinie gamedev, jakim jest zarządzanie przepływem stanów gry (ang. game state management).
Specyfika platformy Android wymusza na twórcach aplikacji, aby były one dostosowane do szerokiej gamy rozdzielczości i wielkości ekranów. Mając na celu ułatwienie zadania, Google wprowadził do swojego systemu fragmenty. Możemy je opisać jako cegiełki, które składają się na ekran aplikacji. Fragmenty mają na celu zwiększenie możliwości ponownego wykorzystania elementów interfejsu użytkownika. Zapraszam do lektury.
Programowanie aplikacji kompatybilnych z wieloma platformami jednocześnie nie jest trywialnym zadaniem, gdyż obliguje developerów do przystosowania tworzonego przez nich oprogramowania do parametrów specyficznych dla danego systemu i udostępnianych przez niego interfejsów programistycznych. To z kolei wymaga znajomości wielu technologii oraz języków programowania. Alternatywnym rozwiązaniem jest wykorzystanie bibliotek i narzędzi umożliwiających tworzenie uniwersalnych aplikacji z wykorzystaniem jednego środowiska developerskiego. Przykładem takich narzędzi są chociażby projekty Qt, Embarcadero RAD Studio XE6, czy Xamarin. W tym artykule omówię pierwszy z nich w zakresie tworzenia aplikacji mobilnych, czyli Qt Mobile.
W jednym z poprzednich artykułów (Programista 12/2013) omówiłem podstawowe aspekty tworzenia aplikacji-dodatków z wykorzystaniem modelu obiektowego JavaScript. W tym artykule przedstawię przykładowe wykorzystanie tego interfejsu do uzyskiwania danych z usługi sieciowej Google Maps.
Średnio co około dwa tygodnie gdzieś na świecie odbywają się komputerowe Capture The Flag – zawody, podczas których kilku-, kilkunastoosobowe drużyny starają się rozwiązać jak najwięcej technicznych zadań z różnych dziedzin informatyki: kryptografii, steganografii, programowania, informatyki śledczej, bezpieczeństwa aplikacji internetowych itd. W serii „Zdobyć flagę…” co miesiąc publikujemy wybrane zadanie pochodzące z jednego z minionych CTFów wraz z jego rozwiązaniem.
Retrospektywy są podstawową techniką dla zespołów, którym zależy na tworzeniu porządnego oprogramowania. Gdyby nie istniało TDD, Pair Programming, iteracje czy standupy, to właśnie proces zespołowego zatrzymania się na chwilę i moment refleksji nad stosowanym procesem pozwoliłby na ich wymyślenie. Są jednocześnie trudne – opierają się o procesy, które rzadko wykorzystujemy w życiu osobistym, oraz zawierają wiele pułapek. W zespołach, gdzie pracowałem, spotkałem się z dziesiątkami problemów oraz błędów popełnianych przy przeprowadzaniu retrospektyw. Spośród nich wybrałem siedem najczęstszych oraz najbardziej istotnych i to właśnie je opiszę w tym artykule wraz z propozycją rozwiązań.
Mimo że z wykształcenia jest chemikiem, zajmuje się łączeniem systemów. Jak podkreśla, to nie technologia musi się wtedy dogadać, ale ludzie. W tworzeniu systemów najbardziej lubi, kiedy trafiają już do użycia. Wtedy trzeba je ulepszyć i wyregulować. Zapraszamy do wspomnień Jarosława Pałki o jego początkach w branży IT oraz satysfakcji, jaką daje mu jego pasja.