Programista 8/2013 (15)
Programista 8/2013 (15)
Jak ważna staje się chmura, nie trzeba nikogo przekonywać. Coraz częściej zarządzamy swoimi plikami na wirtualnych dyskach, współdzielimy dokumenty i mniej lub bardziej świadomie korzystamy z wirtualnych usług. Obecność chmury zaczyna być coraz bardziej widoczna również w biznesie. Cloud Computing przebojem wdziera się do małych firm i dużych korporacji. Czy takie rozwiązanie sprawdzi się również w Twojej organizacji?
Niniejszy artykuł prezentuje sztuczki i idiomy z języka C++. Przedstawia on zarówno te mniej, jak i bardziej popularne, zatem średnio zaawansowani programiści, jak i ich bardziej doświadczeni koledzy powinni znaleźć w nim coś dla siebie. Zrozumienie artykułu wymaga od czytelnika wiedzy z zakresu obiektowych i generycznych aspektów języka C++.
W ostatnim czasie dynamiczny rozwój urządzeń mobilnych powoduje, że widoki aplikacji internetowych powinny być przystosowane do ich wyświetlaczy. Jednakże, szeroki wachlarz dostępnych na rynku urządzeń i kontrolujących je systemów operacyjnych sprawia, że zachowanie kompatybilności witryny internetowej ze wszystkimi z nich staje się być nie lada wyzwaniem. W tym artykule omówię powyższe aspekty w kontekście technologii ASP.NET MVC 4 oraz biblioteki jQuery Mobile. Moim głównym celem będzie pokazanie, w jaki sposób, za pomocą biblioteki jQuery Mobile, przystosować aplikację internetową ASP.NET MVC 4 do wyświetlaczy dostępnych w urządzeniach mobilnych.
W tym artykule poznamy podstawy tworzenia gier w HTML5 dla platform mobilnych, ze szczególnym uwzględnieniem dość młodego systemu Firefox OS. Gra, jaką stworzymy, będzie relatywnie prosta, ale jednocześnie będzie wykorzystywała szereg technologii przeglądarkowych (takich jako Audio, Canvas, animacje CSS3, localStorage, a nawet moduły JavaScript – AMD)
OpenGL kojarzy się nam często z efektowną grafiką trójwymiarową. I całkiem słusznie, gdyż takie jest właśnie przeznaczenie tej biblioteki. Co jednak, gdy chcemy narysować coś na płaskiej płaszczyźnie? Wtedy również można użyć OpenGL-a! W niniejszym cyklu artykułów przyjrzymy się z bliska niuansom programowania grafiki dwuwymiarowej.
Obecnie mamy dość duży wybór pakietów, technologii, jeśli chodzi o możliwość wykorzystania dodatkowej mocy obliczeniowej oferowanej przez współczesne karty graficzne we własnych programach. Możemy zastosować technologię CUDA, jeśli korzystamy z kart graficznych NVIDIA, bądź standard OpenCL, gdy zależy nam na tym, aby nasz program był bardziej przenośny, pomiędzy różnymi kartami graficznymi obsługującymi standard OpenCL.
Urządzenia mobilne stanowią nieodzowną część życia codziennego. Wraz z nimi zyskały popularność rozwiązania bazujące na lokalizacji. Użytkownicy dostrzegli wygodę nowych rozwiązań, począwszy od nawigacji satelitarnej po aplikacje wspomagające trening fizyczny. Potencjał nowej technologii i swoją szansę dostrzegły również wielkie koncerny takie jak Google, który stworzył pakiet rozwiązań wspierający nową gałąź rynku oraz swoje dziecko – system Android. Całość została dodana do trzonu ekosystemu Google, którą jest biblioteka Google Services.
Do napisania tego artykułu skłoniło mnie pytanie miłego, skądinąd, i niegłupiego znajomego: „Czym bazy kolumnowe różnią się od relacyjnych?”. Równie dobrze można by zapytać: czym czcionka 12 punktów różni się od czcionki zielonej? Zdałam sobie sprawę z tego, jak wiele nieporozumień narosło wokół prostego w swej istocie pojęcia.
MongoDB należy do rodziny nierelacyjnych baz danych (NoSQL). Dzięki swoim zaletom, takim jak duża skalowalność (sharding), możliwość zapisu dokumentów w znanym i powszechnie stosowanym standardzie JSON (dokładniej BSON) czy też łatwości replikacji danych (ang. replica sets), znalazł duże uznanie wśród programistów. Niestety źle stosowany MongoDB, może okazać się piętą achillesową pisanej przez nas aplikacji. Najczęściej spowodowane jest to długim czasem odpowiedzi bazy na zadawane zapytania. W wiekszości przypadków winę za taką sytuację ponoszą administratorzy bazy lub programiści. Polega ona na nieużywaniu, bądź też złym używaniu indeksów. W poniższym artykulę przedstawię kilka praktycznych porad na temat prawidłowego używania indeksów w MongoDB.
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 poświęconego zagadnieniu refaktoryzacji.
Co można zmieniać i jak?
My nie mamy Product Ownera! Product Owner jest niedostępny! Pracujemy w kilku projektach w danym momencie! Terminy nam się przesuwają. Testerzy nie mają czasu, żeby testować nasz kod. I co Scrum na to? Nic! Choćbyś się prężył, wytężał, biadolił, nic! Ortodoksyjni Scrumiści powiedzą: „To nie jest zgodne ze Scrumem”. Powiedzą, że jeśli macie problemy, to dlatego, że Scrum nie jest wprowadzony poprawnie w całości.