Programista 6/2013 (13)
Programista 6/2013 (13)
Co to jest Git? Do czego służy? Dlaczego mam się zdecydować właśnie na niego, a nie na którąś z wielu alternatyw? Jakie są efektywne sposoby wykorzystania tego narzędzia? To tylko niektóre z pytań, na które odpowiedzi można znaleźć w artykule.
Wprowadzenie do platformy xAPI
Temat pieniądza dotyka każdego z nas. A jeśli pieniądze, to Forex - największy oraz najbardziej dynamicznie rozwijający się rynek finansowy na świecie. Dzięki przedstawionemu w tym artykule otwartemu API finansowemu każdy ma możliwość dołączenia do społeczności traderów we własnym, domowym zaciszu.
Analityka dla aplikacji mobilnych
W artykule omówione zostały informacje związane z narzędziem Google Analytics SDKv2.0 dla iOS, jak również informacje dotyczące monitorowania wybranych elementów aplikacji takich jak zdarzenia czy wyjątki. Przedstawiono również własną implementację klasy wrappera (wzbogacającego bibliotekę), ukierunkowanego na generyczne wykorzystanie w rozwijanych projektach.
Jak automatycznie wywołać deinicjalizację kodu? Jak generować kod? Jak debugować zdalne procesy? Jak stworzyć asynchroniczną metodę?
Współczesny .NET ma różne oblicza. Wśród implementacji Microsoft możemy wymienić pełny .NET Framework, Silverlight, .NET na Windows Phone, .NET dla aplikacji Windows Store, Xbox 360 ... Mamy także Mono i Xamarin. Jak współdzielić kod między tymi wszystkimi platformami? Obecnie .NET pozwala nam tworzyć przenośne biblioteki, nie wymagające rekompilacji. Artykuł przedstawia to zagadnienie na przykładzie ekosystemu, jaki tworzą Windows 8 i Windows Phone 8. Przy okazji omówimy także inne możliwości współdzielenia kodu między tymi platformami, w tym kwestię wywołań WinRT API.
Witamy w serii skierowanej do czytelników zaciekawionych sposobem działania systemów komputerowych od podszewki, w której skupimy się na omówieniu podstawowych, niskopoziomowych aspektów związanych z działaniem współczesnych systemów operacyjnych oraz ich współpracy z platformą sprzętową, na której są uruchamiane. W niniejszej, otwierającej części przedstawiamy uproszczoną zasadę działania procesora w trybie rzeczywistym i typowy proces uruchamiania komputerów domowych oraz pokazujemy, w jaki sposób stworzyć własny program uruchamiany w środowisku typowym dla boot loadera.
Doświadczenia z kilkunastu ostatnich lat pokazują, że utrzymanie webaplikacji to ciężki orzech do zgryzienia. Przypuszczalnie nie ma żadnej popularnej organizacji, która nie odnotowałaby przynajmniej kilku incydentów związanych z bezpieczeństwem. Celem tego artykułu jest przedstawienie najczęściej spotykanych wpadek developerów aplikacji internetowych i co najważniejsze – właściwych metod ich unikania.
Biblioteki Flup, Web2py, Django
Artykuł omawia aplikacje, w których przeglądarka WWW służy do komunikacji. Część serwerowa jest tworzona w języku Python, wykorzystując bibliotekę Flup, Web2py lub Django. Pokazano przykłady dla serwera Lighttpd. Artykuł można traktować jako wprowadzenie dla osób, które nie miały okazji tworzyć tego typu oprogramowania.
Czym właściwie jest optymalizacja? A może trochę inaczej: Czym właściwie jest optymalizacja, jeżeli mówimy o niej w kontekście tworzenia stron internetowych? Można powiedzieć, że jest to zbiór podjętych przez nas akcji mających na celu poprawienie płynności działania naszej aplikacji. Oczywiście w wyniku optymalizacji nie możemy pozwolić sobie na generowanie błędów na naszej stronie czy też ucinanie jakichś funkcjonalności.
Poniższy artykuł jest drugim z serii trzech, w których omawiamy w kompletny sposób 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 pierwszej części omówiliśmy zagadnienia dotyczące biblioteki kontrolek Windows Forms. W tej części koncentrujemy się na problemach spotykanych podczas implementacji aplikacji wielowątkowych opartych o komponenty z biblioteki Windows Presentation Foundation.
Część 3 – źródła i ładowanie danych
W dwóch poprzednich częściach artykułu poświęconego tworzeniu hurtowni danych opisane zostały podstawowe zasady projektowania ich głównych obiektów – tabel wymiarów i tabel faktów. Jednak nawet najlepiej zaprojektowana hurtownia będzie bezużyteczna, dopóki nie zostanie zasilona danymi – poprawnymi i kompletnymi.
Unity3D to połączenie edytora 3D wraz z rozbudowanym systemem do tworzenia skryptów w językach JavaScript, Boo, a także C#. Jeśli chcemy spróbować swoich sił w tworzeniu gry o grafice 3D czy też 2D, to Unity3D jest bardzo dobrym wyborem, szczególnie jeśli będzie to nasz pierwszy projekt tego typu.
Świat komputerów szybko się rozwija. Dziś korzystamy z Internetu na smartfonach i tabletach oraz przechowujemy nasze dane w chmurze, a producenci sprzętu i oprogramowania dbają, aby wszystko było dla nas proste i przyjemne. Kilkadziesiąt lat temu, kiedy pierwsze komputery trafiały pod strzechy, użytkowników witał wiersz poleceń konsoli, w magazynach komputerowych ukazywały się kursy programowania, a niektórzy nawet z lutownicą majsterkowali przy swoim sprzęcie. Właśnie w tamtych czasach narodziła się demoscena.
Rozmowa z Prezesem Zarządu InfoLAN Tomaszem Laszukiem
Firma InfoLAN Sp. z o. o. jest niezależnym integratorem oraz dostawcą usług zarządzanych IT. Działa na rynku nieprzerwanie od 1996 roku. Obecnie w firmie pracuje kilkudziesięciu specjalistów IT w dwóch oddziałach – w Warszawie i Krakowie. Obecnie oferuje klientom usługowe Centrum Danych InfoCloud24 oraz unikalne usługi zarządzania infrastrukturą IT: InfoCloud Total Manager. Udało nam się porozmawiać z Prezesem Zarządu, Tomaszem Laszukiem, na temat InfoCloud24.
Ryzyko projektowe jest jednym z podstawowych obszarów, który powinien zostać poddany wnikliwej analizie w każdym projekcie informatycznym. Kierownicy projektów podejmują działania w celu minimalizacji zagrożeń zarówno w obszarze organizacyjnym (dopasowanie osób do zadań czy ról), jak i w obszarze technologicznym (stosowanie właściwych narzędzi do zarządzania i realizacji zadań). Każda metoda zarządzania projektami definiuje oraz opisuje procesy i techniki związane z obszarem wiedzy na temat ryzyka. Obszar ten, zwany zarządzaniem ryzykiem, zajmuje się identyfikacją, analizą i reakcją na ryzyko. Procesy zarządzania ryzykiem stanowią zazwyczaj integralną część zarządzania projektem i w sposób zasadniczy, a często decydujący, wpływają na przebieg pozostałych procesów.
W tym artykule znajdziecie informacje o dynamicznym generowaniu unikalnych algorytmów szyfrowania, które zostaną zbudowane krok po kroku w kodzie assemblera x86.
Ciągła integracja i wirtualizacja usług oraz aplikacji dla podniesienia jakości i obniżenia ryzyka
Część V: Mapowanie relacyjno-obiektowe prawdziwych obiektów – rzecz o DDD i JPA
Stosując mapery relacyjno-obiektowe, zwykle nie zastanawiamy się nad problemami związanymi z niespójnością danych wynikającą ze stosowania Lazy Loadingu, granicą spójności obiektów podczas zapisu kaskadowego oraz pułapkami naiwnego blokowania optymistycznego. Niniejszy artykuł został osadzony w kontekście standardu Java Persistence API, jednak poruszone problemy i rozwiązania aplikują się dla każdego ORM. Artykuł nawiązuje również do Domain Driven Design, jednak przedstawione podejścia opierają się na ogólnym paradygmacie Object Oriented (i jego niezgodności z paradygmatem relacyjnym).
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 drugiej części artykułu poswięconego zagadneniu refaktoryzacji.
Development to nie tylko kod... Chociaż bardzo często o tym zapominamy, to cały proces od momentu zainicjowania projektu do samego wdrożenia na środowisko produkcyjne jest równie istotny. Od przygotowania tzw. inicjatywy, aż do czasu “release'u” i opieki powdrożeniowej w procesie jest wiele znaczących kroków. Samo przygotowanie i realizacja poszczególnych funkcjonalności to jedynie wisienka na torcie tworu informatycznego. Dlaczego więc programiści mają tendencję do zapominania o pracy ludzi wokół?