Współbieżność jest jednym z wymogów nowoczesnych aplikacji, niezależnie od ich rodzaju i platformy. Tworzenie współbieżnych aplikacji jest co prawda dość złożone, jednak cecha ta czyni interfejs użytkownika bardziej responsywnym, a systemy — skalowalnymi. Zrozumienie istoty współbieżności i umiejętność jej zaimplementowania jest już koniecznością dla profesjonalnego dewelopera, nawet jeśli zagadnienia te wydają się trudne i skomplikowane._x00...
Jeśli dużo grasz na różnych urządzeniach, na pewno masz też pomysły na nowe gry. Jeśli zastanawiasz się, w jaki sposób taką grę napisać, bez obaw — nie trzeba do tego magicznych umiejętności. Wystarczy wykorzystać odpowiednie narzędzie, takie jak Unreal Engine: potężny silnik gier wykorzystywany przez wielu profesjonalnych i niezależnych twórców, udostępniający szereg niezwykle przydatnych edytorów i narzędzi._x005F_x000D_ _x005F_x000D...
Unity w akcji_x005F_x000D_ _x005F_x000D_ Warunkiem zbudowania dobrej gry jest staranne opracowanie jej mechaniki, czyli poszczególnych akcji i systemu tych akcji. Gry, które odniosły największy sukces, charakteryzują się innowacyjną i interesującą mechaniką. Niemniej nawet jeśli już opracowałeś projekt gry, łącznie z jej mechaniką, grafiką i dźwiękiem, potrzebujesz bardzo dobrego narzędzia, aby utworzyć grę, która osiągnie sukces i zyska popularność. Taki...
Najpiękniejszy dzień w życiu wymaga najpiękniejszej oprawy! Fotografia ślubna to dziedzina, która potrafi wzbudzać wiele emocji. Każdy chce, żeby jego zdjęcia zrobione w tak wyjątkowym dniu były jak najpiękniejsze, jak najwspanialsze... jak z bajki. Właśnie dlatego fotograf, który zajmuje się tą tematyką, musi odpowiedzieć na szczególne oczekiwania. Musi zrobić fantastyczne zdjęcia, ale także właściwie je ułożyć, skomponować, zaprezentować. Musi zaspokoi...
Large-Scale Scrum. Zwinne zarządzanie dużym projektem Scrum stoi w opozycji do tradycyjnych, hierarchicznych sposobów zarządzania procesami rozwoju oprogramowania. Pozwala na uzyskanie elastyczności i szybkości działania, dzięki czemu możliwe jest zaspokojenie coraz bardziej złożonych wymagań klientów. Metody zwinne doskonale sprawdzają się również w większej skali. Large-Scale Scrum, czyli LeSS, umożliwia pomyślne zarządzanie olbrzymimi międzynarodowymi...
Klocki LEGO są dziś czymś w rodzaju legendy. Stały się wiernym towarzyszem wielu rodzin. Kolejne zestawy klocków od wielu lat są jednym z najbardziej wyczekiwanych prezentów! Dziadkowie, rodzice i dzieci spędzają długie godziny na ich układaniu, starając się zbudować wszystko, co podpowiada wyobraźnia. Wielkie budowle, pojazdy, tajemnicze zwierzęta z krainy czarów... Bez wątpienia LEGO to jedna z najbardziej inspirujących, rozwijających kreatywność i pomy...
Linux jest popularnym systemem operacyjnym o otwartych źródłach. Jego cechą charakterystyczną jest wyjątkowa łatwość konfiguracji. Istnieje wiele dystrybucji Linuksa, dzięki czemu łatwo można dopasować system do różnych potrzeb użytkowników. Z powodzeniem konkuruje z systemami Microsoft Windows i Mac OS X. Posiada graficzny interfejs z oknami i ikonami, sterowany za pomocą myszy. Prawdziwą siłą systemu jest jednak interfejs tekstowy, zwany powłoką, w kt&o...
JavaScript jest popularnym, rozwiniętym i dojrzałym językiem programowania, a jego zastosowanie znacząco wykracza dziś poza WWW, HTML i CSS: skrypty można uruchamiać na serwerze, komputerach PC, w urządzeniach przenośnych i układach wbudowanych. Dzięki tym możliwościom JavaScript stał się potężnym i wszechstronnym narzędziem. Co więcej, ten język świetnie nadaje się do programowania zorientowanego obiektowo i pozwala na pisanie solidnego kodu, a w efekcie na tworzenie nawet b...
Bazy danych umożliwiają bezpieczne przechowywanie i użytkowanie danych. Dobrze napisana baza danych pracuje szybko i wydajnie. Najlepsze relacyjne bazy danych są nierozłącznie związane z językiem SQL, zatem aby profesjonalnie podejść do tego tematu, trzeba ten język dobrze opanować. SQL może wydawać się trudny i złożony, a co więcej, dla poszczególnych baz istnieją specyficzne dialekty SQL, niemniej jednak wspaniałe zalety najlepszych baz danych dostępne są tylko dla t...
Wersja drukowana zawiera ebook (PDF, ePub i Mobi) GRATIS! Uwielbiasz książki, ale Twoje mieszkanie nie pomieści ani jednego dodatkowego regału? Nie wiesz, czym są e-booki i jak się z nimi obchodzić? Chcesz dobrać czytnik dla siebie, ale nie wiesz, który najlepiej spełni Twoje potrzeby? Nie martw się, trafiłeś na właściwy poradnik! Książki elektroniczne konsekwentnie zdobywają dziś serca i umysły milionów czytelników na całym świecie, choć po...
Efektywne i atrakcyjne przekazywanie wiedzy innym jest trudnym zadaniem. Nawet ekspert w swojej dziedzinie może mieć problem z przygotowaniem i przeprowadzeniem zajęć edukacyjnych, dzięki którym nauczane osoby przyswoją podane informacje i będą umiały się nimi posłużyć. Większość osób w jakimś stopniu zajmuje się edukacją: wygłasza prezentacje, wdraża nowych pracowników, omawia nowe produkty czy choćby pomaga własnym dzieciom w nauce! Niniejsza książka d...
C++ powstał w 1979 roku i doskonale przetrwał próbę czasu, a dziś oferuje programistom potężne możliwości i ogromną elastyczność. Co więcej, istnieją języki programowania, których twórcy inspirowali się właśnie C++; jednym z nich jest Java. Oznacza to, że opanowanie C++ daje wiele korzyści: ułatwia zrozumienie innych języków programowania, a przede wszystkim pozwala na tworzenie aplikacji praktycznie dla wszystkich platform, począwszy od komputer&o...
Aby projektować aplikacje, nie wystarczy poznać kilka języków programowania i opanować zestaw narzędzi deweloperskich. Konieczna jest jeszcze wiedza o tym, w jaki sposób rozwiązać dany problem, innymi słowy, trzeba poznać algorytmy. Naturalnie w praktyce programistycznej stosuje się ograniczony zestaw algorytmów. Zostały one już dawno przeanalizowane i przetestowane. Opisano je w wielu trudnych książkach najeżonych niezrozumiałymi schematami i dowodami z ...
MATLAB — niezastąpiony w obliczeniach i modelowaniu rozwiązań! Program MATLAB służy przede wszystkim do obliczeń macierzowych. Jest potężnym narzędziem, nie do zastąpienia w wielu dziedzinach techniki, elektroniki i projektowania najróżniejszych systemów. Jednym z niezwykle użytecznych zastosowań MATLAB-a jest możliwość wykorzystania tego środowiska do obliczeń związanych z dziedziną telekomunikacji: przetwarzaniem i przesyłaniem sygnałów, ich inte...
Piętnastego marca 2013 roku na jednej z konferencji dla projektantów aplikacji zaprezentowano światu Dockera. Choć wystąpienie to trwało zaledwie kilka minut, wzbudziło ogromne zainteresowanie. Nic dziwnego — nowe narzędzie znacząco uprościło tworzenie oprogramowania i wdrażanie go na dużą skalę w dowolnym środowisku oraz usprawniło przepływ pracy. Docker ułatwia decyzje dotyczące architektury, co przekłada się na tworzenie narzędzi pomocniczych i ich wykorzystan...
Jeszcze kilka lat temu programowanie zorientowane obiektowo w PHP wydawało się dość karkołomnym zagadnieniem. Upowszechnienie licznych frameworków sprawiło jednak, że coraz większa liczba programistów tworzy aplikacje WWW, pisząc kod obiektowy w PHP. Frameworki są chętnie stosowane, gdyż wydaje się, że dzięki nim nie trzeba już poświęcać czasu na rozgryzanie szczegółów działania kodu. Niestety, bardzo często okazuje się, że bez zrozumienia zasad dz...
Platforma Node.js służy do tworzenia aplikacji ogólnego przeznaczenia w języku JavaScript, które nie wymagają przeglądarki internetowej, a sam kod może działać zarówno po stronie klienta, jak i serwera. W Node.js wykorzystano szybki silnik JavaScriptu, V8. Platforma ta udostępnia stabilną bibliotekę do obsługi asynchronicznych sieciowych operacji wejścia-wyjścia. Dodatkowo programista ma do dyspozycji bogaty zestaw niezależnych modułów. Szczeg&oacu...
Sprawdź drugie wydanie tej książki >> --- Uczenie maszynowe, zajmujące się algorytmami analizującymi dane, stanowi chyba najciekawszą dziedzinę informatyki. W czasach, w których generuje się olbrzymie ilości danych, samouczące się algorytmy maszynowe stanowią wyjątkową metodę przekształcania tych danych w wiedzę. W ten sposób powstało wiele innowacyjnych technologii, a możliwości uczenia maszynowego są coraz większe. Nieocenioną pomoc w rozwijaniu tej dz...
Do niedawna utworzenie interfejsu użytkownika było prawdziwym wyzwaniem. Interfejs musi przecież działać w przewidywalny sposób na różnych przeglądarkach i urządzeniach, musi zapewniać adekwatną obsługę wprowadzanych danych oraz umożliwiać płynne i niezawodne komunikowanie się aplikacji z użytkownikiem. Na szczęście dziś programiści mogą skupić się na działaniu aplikacji jako takiej — interfejs użytkownika można szybko, łatwo i przyjemnie zbudować za pomoc...
Prawie wszystkie interfejsy cyfrowej wieży Babel! Status quo, czyli dlaczego warto tłumaczyć oprogramowanie Procesy tłumaczeniowe i inne koła zębate Skomplikowane związki, czyli tester i programista O graniu i naprawianiu, czyli kilka problemów i ich proponowane rozwiązania Dawno, dawno temu, w czasach, gdy na świecie pojawiały się nieśmiało pierwsze komputery osobiste, nikt nie przejmował się zbytnio kwestią tłumaczenia oprogramowania na lokalne języki. Bez zna...
Twórcy Pythona niemal od początku starali się opracować wieloparadygmatowy język zorientowany na czytelność kodu i produktywność programisty. Dziś język ten jest uważany za wszechstronny i potężny, a do tego cechuje się prostotą i elastycznością. Nadaje się zarówno do pisania niedużych skryptów, jak i wielkich systemów, a także do wysoce specjalistycznych zadań, jak choćby analiza danych w celach naukowych. Mimo to pisanie kodu, który jest w...
Urządzenia mobilne zapewniają ogromną wygodę. Natychmiastowy dostęp do informacji czy dokumentu, niezależnie od lokalizacji użytkownika, jest czymś oczywistym. W ten sposób wszelkie ważne i wrażliwe informacje, takie jak dane pozwalające na identyfikację, dane finansowe czy poufne dokumenty, są cały czas na wyciągnięcie ręki — niestety, często ta ręka należy do kogoś, kto w żadnym przypadku nie powinien tych informacji uzyskać. Każdy, kto pisze aplikacje mobilne,...
Urządzenia przenośne, takie jak smartfony i tablety, już dawno przestały służyć tylko do prostej komunikacji. Dziś stają się coraz bardziej zaawansowane technicznie, mają też coraz więcej skomplikowanych aplikacji. Niestety, skutkiem ubocznym tego rozwoju jest pojawianie się luk w ich zabezpieczeniach. Tymczasem konsekwencje skutecznego ataku na urządzenie mobilne bywają bardzo poważne. Nic dziwnego, że ostatnimi czasy temat zabezpieczania aplikacji i urządzeń przed atakami s...
Wykorzystywanie komponentów do budowy aplikacji internetowych jest uważane za wyjątkowo ważny krok naprzód w tej dziedzinie. Szczególnie ciekawym pomysłem jest tworzenie interfejsów użytkownika bazujących na komponentach. Framework Angular 2 zmienia technologię tworzenia aplikacji: ułatwia pisanie współdzielonych bloków kodu HTML, które można bez problemu wielokrotnie wykorzystywać dzięki zastosowaniu mechanizmu shadow DOM. Jes...