Programista 7/2015 (38)
Programista 7/2015 (38)
Czy próbowałeś kiedyś budować zaawansowane narzędzia do przetwarzania tekstu, bazując na funkcjonalności klasy std::string? Jeśli tak, to założę się, że nie wspominasz zbyt dobrze tego doświadczenia. Podstawowe udogodnienia związane z przetwarzaniem napisów w C++ są, krótko mówiąc… mało wygodne. Na szczęście istnieje alternatywa!
W czasach złożonych i wydajnych aplikacji warstwa backendu jest bardzo ważna, lecz coraz częściej klienci oczekują również nowoczesnego interfejsu z ciekawą szatą graficzną. Aby wyjść naprzeciw ich oczekiwaniom, częstą praktyką jest zatrudnianie programistów i grafików specjalizujących się w technologiach frontendowych i user experience. Projekt interfejsu i zbadanie modelu użytkownika to jeden z kluczowych procesów od samego początku powstawania aplikacji; wymaga on również szerokiej wiedzy z zakresu UX.
Apache Cordova pojawił się w 2008 roku i od razu zdobył szersze zainteresowanie entuzjastów i wielkich korporacji. Jego przeznaczeniem jest tworzenie aplikacji będących połączeniem technologii webowych z natywnymi interfejsami. Oparte o platformę Node.js wielosystemowe narzędzie wspomaga wytwarzanie oprogramowania na platformy mobilne w myśl zasady „jeden kod, wiele platform”.
Windows 10 na PC miał niedawno swoją premierę. O jakich innych urządzeniach możemy myśleć? Jacy programiści mogą pisać aplikacje? Czy wiedza z Windows/Windows Phone 8.x będzie przydatna? Co udoskonalono? Odpowiem tutaj na podstawowe pytania, jak również wskażę ciekawe perspektywy związane z nowym systemem.
Technologia rump kernel oferuje zbiór gotowych podsystemów pochodzących z kernela NetBSD, a wśród nich: systemy plików, sterowniki urządzeń oraz stos sieciowy TCP/IP. Dzięki temu, że wyekstrahowany kod z jądra NetBSD jest niezmodyfikowany, oferowany na liberalnej licencji BSD, dojrzały i przetestowany na wielu platformach sprzętowych, nadaje się on znakomicie do budowania w oparciu o niego wysokiej klasy nowych specjalizowanych kernelów czy uruchamiania aplikacji POSIX-owych bezpośrednio w przestrzeni użytkownika, na sprzęcie fizycznym lub w środowisku wirtualizacji takim jak KVM czy Xen.
Uczestnicząc w dyskusjach zarówno w życiu zawodowym, jak i wirtualnym, spotykam się z myleniem wymienionych w tytule artykułu pojęć, bądź używaniem ich zamiennie. Chociaż na pierwszy rzut oka mogłoby się wydawać, że logika biznesowa jest tym samym co logika aplikacji, no bo w końcu aplikacja realizuje pewne założenia biznesowe, jest jednak zupełnie inaczej. No więc jak to jest?
Mikroserwisy to pojęcie, które ostatnio robi karierę w świecie programowanie biznesowego. W rezultacie wiele dużych firm postawiło sobie za cel migrację swoich systemów na ten właśnie model. Co w nim jest tak atrakcyjnego? Czy faktycznie jest to innowacja warta uwagi, czy jedynie nowa moda? Odpowiedzi na powyższe pytania, a także wiele innych ciekawych informacji na temat mikroserwsów można znaleźć w poniższym artykule.
W aplikacjach mobilnych na platformę iOS wiele funkcjonalności wymaga złożonych implementacji. Dla ułatwienia pracy rutynowo stosuje się gotowe rozwiązania w postaci bibliotek i frameworków. Gotowe komponenty w postaci SDK służą również do integracji aplikacji z zewnętrznymi serwisami.
Bugfixing to zmora każdego programisty. Błędy pojawią się pomimo najlepszych praktyk, staranności, doświadczenia i wiedzy programisty. Prędzej czy później każdy z nas natrafi na trudny do znalezienia problem. Przyjrzyjmy się kilku nieformalnym zasadom pomagającym w niełatwym procesie bugfixingu.
Internet to nieograniczone pole do swobodnego wypowiadania poglądów, zabierania głosu w dyskusji, komentowania bieżących wydarzeń politycznych oraz gospodarczych. Jest to również miejsce wymiany doświadczeń na temat współpracy z danymi podmiotami, oceny ich produktów bądź świadczonych przez nich usług. Wszystko to bez konieczności ujawniania swojej tożsamości.
Podczas letniej przerwy w sezonie CTF-owym odbył się event włoski o nazwie PoliCTF. Uczestniczyć w konkursie można było na dwa sposoby: zdalnie oraz na miejscu w Mediolanie. Zadania, przygotowane przez organizatorów, były dość różnorodne. W tym konkursie zajęliśmy 35 miejsce oraz zdobyliśmy 1950 pkt., chociaż przez większość czasu znajdowaliśmy się w TOP20. Tradycyjnie udział w tym turnieju wzięły ekipy Dragon Sector (37. pozycja), Amber Chamber (47. pozycja) oraz Church of 0x41414141 (97. pozycja). W trakcie rywalizacji rozwiązaliśmy 14 zadań o różnym stopniu trudności, ale nasz wybór padł na zadanie z kategorii inżynierii wstecznej: John The Packer.