Zapraszamy do zamówienia magazynu w prenumeracie. Magazyn jest dostępny w formie papierowej, .pdf, .ePUB i .mobi Formularz zamówienia
PROGRAMOWANIE GRAFIKI
Macierze w grafice 3D
Nowoczesny OpenGL uruchamiany w profilu rdzennym zmusza programistę do rzeczy, o których mógł wcześniej nie myśleć: pisania shaderów, tworzenia buforów werteksów i definiowania macierzy. Oczywiście, że nadal można korzystać z bibliotek czy gotowych rozwiązań pobranych z Internetu. Można to jednak wykorzystać jako impuls do nauki GLSL lub rachunku macierzy. Poniższy artykuł ma być pomocą w realizacji drugiego z tych impulsów. Nie rozpocznę jednak od wyjaśniania, czym są macierze – skupię się na zagadnieniach, których często brak w typowych podręcznikach algebry, a charakterystycznych dla grafiki 3D. Artykuł wymaga od czytelnika pewnej wiedzy o grafice 3D, choćby obycia ze współrzędnymi jednorodnymi.
Jacek Matulewski
PROGRAMOWANIE GIER
Wzorce Programowania Gier: Zarządca Zawartości
Witam w kolejnej, drugiej odsłonie cyklu Wzorce Programowania Gier. Napisanie tego artykułu zajęło mi z różnych przyczyn o wiele więcej czasu niż się spodziewałem, więc w tym miejscu chciałbym przeprosić wszystkich zainteresowanych czytelników za zwłokę i podziękować im jednocześnie za cierpliwość. Dziś na warsztat weźmiemy jedno z fundamentalnych zagadnień w dziedzinie programowania gier, jakim jest zarządzanie zasobami (ang. resource management).
Rafał Kocisz
PROGRAMOWANIE SYSTEMÓW OSADZONYCH
Zwizualizuj to sam. Obsługa wyświetlaczy na Raspberry Pi
To, że Linuxa można znaleźć w urządzeniach wielkości paczki papierosów, już nikogo nie dziwi. Systemy osadzone lub jak kto woli systemy wbudowane coraz częściej sięgają po rozwiązania wywodzące się ze świata komputerów osobistych. Decydując się na zastosowanie Linuxa, należy mieć na uwadze, że określa pewne mechanizmy działania, które są szczególnie istotne, pisząc sterownik urządzenia. W artykule opiszę działanie linuxowego sterownika buforu ramki na platformie Raspberry Pi.
Karol Poczęsny
PROGRAMOWANIE SYSTEMOWE
Jak napisać własny debugger w systemie Windows – część 4
W poprzednim artykule omówiliśmy, w jaki sposób poznane dotąd mechanizmy debuggera na architekturze Intel x86 mogą pomóc programiście w zabezpieczeniu aplikacji przed wykonaniem analizy struktury i działania programu poprzez zastosowanie inżynierii wstecznej. Dziś natomiast weźmiemy pod lupę zaawansowane techniki i narzędzia służące do monitorowania i kontrolowania przebiegu wykonania danego programu.
Mateusz "j00ru" Jurczyk
TESTOWANIE I ZARZĄDZANIE JAKOŚCIĄ
Wprowadzenie do testowania w Robot Framework (Robot)
Robot (Nokia) to open source'owe narzędzie do testowania aplikacji; został napisany w Pythonie, umożliwia pisanie scenariuszy testowych w języku naturalnym i wspiera Data Driven Tests. Test składa się z tzw. keywordów, z których każdy jest odpowiedzialny za wykonanie jakiejś akcji testowej. Celem artykułu jest opisanie Robot Frameworka
Wojciech Tański
Profilowanie aplikacji w języku Python
Czy twój program zjada pamięć i CPU? Czy jest to wina języka, czy może kodu? Co można zrobić zanim sięgniemy po język C, jeśli nasza aplikacja w Pythonie wykazuje objawy „otyłości”?
Adam Wołk
LABORATORIUM BOTTEGA
Wzorce silników zdarzeń w C++
Część I: Wzorzec Reaktor i podstawowa implementacja
Wzorzec Reaktor to podstawowy, jeden z najprostszych, ale zarazem stosunkowo efektywny wzorzec obsługi zdarzeń. Z tego artykułu dowiesz się, jakie ma własności oraz czy i kiedy go wykorzystać już na etapie projektowania rozwiązania problemu w danej aplikacji.
Roman Ulan
Brakujący element Agile
Część 4: Emocje w komunikacji
W poprzednich artykułach pisałem o modelach komunikacji, feedbacku oraz coachingu. W tym artykule rozwinę szerzej temat komunikacji. Skupię się na objaśnieniu mechanizmu wpływu emocji na komunikację – znajomość tego tematu jest niesłychanie ważna do zapewnienia wysokiej efektywności w zespołach wykorzystujących Agile. Jednym z celów artykułu jest również przedstawienie frameworka użytecznego podczas tzw. „trudnych rozmów”. Framework ten, nazywany PBP (Porozumienie Bez Przemocy), wydawał się bardzo tajemniczy, kiedy pierwszy raz się z nim zetknąłem. Ten artykuł odziera PBP z magii oraz pokazuje podstawy teoretyczne stojące za tą wysoce efektywną techniką.
Paweł Badeński
PLANETA IT
Zakodowana pasja
W skrócie: – Podczas zagranicznych konferencji widziałem, że ludzie się spotykają, coś się między nimi dzieje. Programowanie było dla nich czymś więcej niż tylko pracą od 9 do 17 – wspomina swoje pierwsze konferencje Grzegorz Duda. Postanowił zatem sprowadzić podobne relacje między programistami do Polski. Twórca konferencji 33rd Degree for Java Masters wspomina na łamach Planety IT swoje początki.
Łukasz Sobótka
STREFA CTF
Zdobyć flagę…
ASIS CTF Quals 2014 - Random Image
Ś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.
Gynvael Coldwind
KLUB LIDERA IT
Jak całkowicie odmienić sposób programowania, używając refaktoryzacji
(część 9)
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 kolejnej części artykułu poswięconego zagadnieniu refaktoryzacji.
Mariusz Sieraczkiewicz
KLUB DOBREJ KSIĄŻKI
TDD. Sztuka tworzenia dobrego kodu
Rafał Kocisz