Programista 12/2014 (31)
Programista 12/2014 (31)
W niniejszym artykule przedstawiono bibliotekę type_traits, która w języku C++ pojawiła się wraz z wersją standardu C++11. Artykuł zawiera uzasadnienie powstania biblioteki, funkcjonalności, które dostarcza, oraz możliwe kierunki jej rozwoju. W całość wplecione zostały przykłady ułatwiające zrozumienie koncepcji i zastosowań.
Jedną z najważniejszych nowości wprowadzonych w Javie 8 jest zupełnie nowy sposób programowania, w którym operuje się strumieniami danych za pomocą konstrukcji programowania funkcyjnego. Esper idzie krok dalej, oferując czysto deklaratywny język programowania zorientowany na przetwarzanie danych w czasie rzeczywistym.
Apiary.io to zestaw narzędzi dostępnych online, które pomagają szybko zbudować, testować i monitorować tworzone API. Apiary jest czymś w rodzaju „GitHuba dla API”. Jest to następnej generacji platforma API – pomagająca w jego projektowaniu, budowaniu i wsparciu tworzenia go efektywniej.
Prostopadłościan był bardzo wygodną bryłą do nauki oświetlenia i teksturowania w grafice 3d. Nie daje jednak pretekstu do poznania kilku kluczowych zagadnień. Dlatego nadeszła pora, abyśmy zmierzyli się z definiowaniem obiektu składającego się z większej liczby werteksów, tworzących gładką powierzchnię – np. sfery.
W trzeciej, już ostatniej części naszego mikro-cyklu, zgodnie z zapowiedziami w poprzedniej części, zajmiemy się dodaniem możliwości grania poprzez sieć w naszym prototypie. Oznacza to, iż do gry dołączyć będą mogli inni gracze, aby wspólnie atakować naszego głównego przeciwnika.
Miniony rok, tudzież rok poprzedni, były niewątpliwie dobrym okresem języka JavaScript. Przez wiele lat JavaScript nie był uznawany za pełnoprawny język programowania, który mógłby posłużyć do budowania skomplikowanych aplikacji internetowych. Sytuacja uległa zmianie, gdy na scenę zaczęły wkraczać frameworki MVC oraz wraz z upowszechnianiem się idei budowania aplikacji typu SPA. Aktualnie wśród frameworków MVC prym wiedzie AngularJS. W niniejszym artykule przedstawione zostaną sposoby testowania aplikacji bazujących na AngularJS.
Obecnie wszystkie dostępne na rynku przeglądarki internetowe posiadają wsparcie dla akceleracji sprzętowej GPU. Daje to nam nie tylko bardzo duże pole do popisu, jeżeli chodzi o efekty graficzne, które możemy uzyskać w CSS3, ale także zyskujemy bardzo dużo na wydajności renderowania grafiki na stronach WWW.
BonsaiJS jest biblioteką JavaScript służącą do przygotowywania grafiki widocznej w oknie przeglądarki, ze szczególnym naciskiem na animacje. W odróżnieniu od większości bibliotek wspomagających rysowanie w HTML5, BonsaiJS nie bazuje na nowym elemencie canvas (z ang. płótno) wprowadzonym do HTML5, ale opiera się na użyciu SVG (Scalable Vector Graphics), również nowości w HTML5. W tym artykule przedstawiam krótki przegląd możliwości tej biblioteki.
Wraz ze wzrostem możliwości łączy komunikacyjnych oraz powszechną dostępnością różnego rodzaju urządzeń mobilnych, tradycyjne technologie programowania aplikacji internetowych wymagają ich przeprojektowania. Przykładem takiej technologii jest ASP.NET, która doczekała się niedawno piątej wersji, unifikującej internetowe technologie Microsoftu, takie jak ASP.NET MVC, Web API oraz Web Pages. Takie podejście wymagało sporych zmian w szablonach projektów aplikacji webowych w Visual Studio 2015, które omówię w tym artykule.
Programowanie natywnych aplikacji działających na wielu platformach wymaga znajomości różnych technologii oraz interfejsów programistycznych, specyficznych dla danego systemu. Alternatywnym rozwiązaniem jest tworzenie wieloplatformowych hybrydowych aplikacji mobilnych, które implementuje się z wykorzystaniem technologii HTML5, CSS oraz JavaScript. W tym artykule omówię środowisko Intel XDK, wspierające tworzenie wieloplatformowych aplikacji mobilnych opartych o technologie webowe.
Box2D jest silnikiem do symulacji fizyki dwuwymiarowej. Jest lekki, prosty w wykorzystaniu, efektywny, łatwo przenośny i darmowy, także do zastosowań komercyjnych. Biblioteka została napisana w języku C++ przez Erina Catto i jest obecnie dostępna na prawie wszystkich liczących się systemach operacyjnych (Windows, MacOS, Linux, Android czy iOS). Została także przepisana przez różnych autorów na praktycznie wszystkie popularne języki programowania, jak C#, Flash, Java czy Python. Niniejszy artykuł opiera się na wersji 2.3.0 wspomnianej biblioteki.
Pamięć jest jednym z najistotniejszych zasobów każdego systemu komputerowego. Z punktu widzenia OS właściwe zarządzanie pamięcią jest zadaniem przekładającym się bezpośrednio na wydajność, niezawodność i bezpieczeństwo systemu. Niniejszy artykuł przedstawia technikę zwirtualizowanego dostępu do pamięci, stosowaną w większości współczesnych komputerów i systemów operacyjnych, oraz sposób optymalizacji tego mechanizmu na przykładzie Superpages dla FreeBSD/ARM.
W kolejnym artykule dotyczącym Pythona postaram się pokazać, jak w łatwy i szybki sposób można samemu napisać nieskomplikowaną grę. Dam wskazówki, jak wykorzystać gotową bibliotekę pygame, aby napisać prosty remake „Space Invaders”. W części pierwszej stworzymy planszę oraz prostą obsługę świata gry i statku gracza.
W poprzednim naszym artykule („Programista” 11/2014) wprowadziliśmy pojęcie utworu. Nie jest to jednak kategoria jednolita. Otóż prawo wyróżnia różnego rodzaju utwory szczególne, w stosunku do których częściowo zmienia normy regulujące korzystanie z nich i rozporządzanie nimi.
SECCON CTF 2014 Online Qualifications – JS Puzzle
Średnio co około dwa tygodnie gdzieś na świecie odbywają się komputerowe Capture The Flag – zawody, podczas których kilku lub 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.