Podstawy Swifta, Xcode i Cocoa Język Swift poznaliśmy w 2014 roku. Został on opracowany przez Apple specjalnie dla platormy iOS z uwzględnieniem takich założeń, jak przejrzystość, bezpieczeństwo, prostota, łatwość stosowania, zorientowanie obiektowe. Kod w tym języku sam zarządza pamięcią i zapewnia ścisłą kontrolę typów. Swift od początku wzbudził ogromne zainteresowanie programistów, którzy prędko docenili jego zalety. Dziś jest uważany za łatwe do opa...
Adobe Lightroom, ukochane narzędzie pracy fotografów, ma wielki potencjał i daje ogromne możliwości. Niekiedy jednak ich bogactwo sprawia, że trudno ruszyć z miejsca. Potrzebne w danej chwili funkcje są... no właśnie, nie wiadomo gdzie. Czas upływa, efektów brak, a przeszukiwanie kolejnych menu i podmenu wywołuje jedynie frustrację i zniechęcenie. Brzmi znajomo? Jeśli tak, to masz w ręku właściwą książkę - drugie, uzupełnione wydanie praktycznego poradnika dla ...
Zostań profesjonalnym producentem gier komputerowych_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Poznaj fazy tworzenia gry komputerowej_x005F_x000D_ Dowiedz się, kto jest kim w procesie produkcji_x005F_x000D_ Naucz się przygotowywać odpowiednią dokumentację_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Tworzenie gier komputerowych, podobnie jak produkcja każdego innego rodzaju oprogramowania, to złożony, wieloetapowy proces wymagający zaangażowania szeregu różnych specjalis...
Od struktur sterujących po obiekty Java jest rozbudowanym, elastycznym i wszechstronnym, a przy tym dojrzałym językiem programowania. Pozwala na tworzenie kodu dla prawie wszystkich rodzajów komputerów, również tych sterujących pracą najbardziej wyspecjalizowanych urządzeń. Można go używać do pisania dużych systemów, małych programów, aplikacji mobilnych i aplikacji WWW. Jest znakomitym wyborem dla osób, które postanowiły zwią...
Język JavaScript, początkowo wykorzystywany tylko do sterowania pracą przeglądarek internetowych, dzięki współpracy z Node.js znacząco rozszerzył swoje możliwości. To środowisko uruchomieniowe zbudowano na bazie silnika V8. Udostępnia biblioteki obsługujące procesy wejścia-wyjścia wraz z komunikacją sieciową. Umożliwia posługiwanie się JavaScriptem poza przeglądarką internetową. W ten sposób uruchamia się skrypty powłoki, zarządza usługami backendowymi i wykonuj...
Programowanie systemowe zwykle nie interesuje twórców aplikacji. Niemniej warunkiem jej poprawnego działania jest właśnie kod systemowy. Programowanie systemowe zapewnia między innymi działanie systemu operacyjnego, sterowników, systemu plików, kodeków, a także zarządzanie pamięcią czy obsługę sieci. Jako że dotyczy wykorzystania zasobów, każdy szczegół, każdy bajt pamięci operacyjnej i każdy cykl procesora ma znaczenie. Rust -...
Jeśli sądzisz, że elektronika to dziedzina nieprzyjazna i wyjątkowo trudna do zrozumienia - jesteś w błędzie! Pokonaj uprzedzenia i spróbuj zapoznać się z nią w praktyczny sposób, łącząc różne elementy, tworząc własne płytki i własnoręcznie je programując. Prędko się przekonasz, że trudno o bardziej interesujące i wciągające hobby. Pasja ta ma zresztą praktyczne odniesienie do rzeczywistości - za pomocą stosunkowo niedrogich elementów i narzędzi mo...
Uczenie maszynowe jest wyjątkowo fascynującą dziedziną inżynierii. Coraz częściej spotykamy się z praktycznym wykorzystaniem tego rodzaju innowacyjnych technologii. Samouczące algorytmy maszynowe pozwalają na uzyskiwanie wiedzy z ogromnych ilości danych. Dla osoby planującej rozwój kariery osiągnięcie biegłości w rozwiązywaniu problemów uczenia maszynowego jest nadzwyczaj atrakcyjną ścieżką. Użycie do tego celu Pythona pozwala dodatkowo skorzystać z bardzo przys...
Opanuj sieci - w praktyce!_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Poznaj tajniki połączeń sieciowych_x005F_x000D_ Skonfiguruj sieć lokalną i dostęp do Internetu_x005F_x000D_ Zaimplementuj VoIP oraz zastosuj technologię VPN_x005F_x000D_ Kontroluj i monitoruj dom za pośrednictwem sieci_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Fale radiowe, światłowody, kable - sieci oplatają świat. Dziś komputer bez połączenia z Internetem stanowi właściwie tylko kosztowny kawałek elektro...
Dobry webdeveloper to wszechstronny webdeveloper. Nie może poprzestawać na znajomości jednego języka i umiejętności korzystania z jednej, konkretnej technologii. Co więcej, rozpowszechnianie się jednostronicowych aplikacji internetowych (ang. Single Page Application, SPA) zaciera wyraźną do niedawna różnicę między pracą programisty back-endu a obowiązkami programisty front-endu. Programiści back-endu muszą dziś poznawać narzędzia do niedawna uznawane za typowe w przybo...
Gwałtowny rozwój i upowszechnienie technologii sieciowych sprawiły, że dziś praktycznie każdy codziennie korzysta z sieci, i to nie tylko za pomocą komputera czy telefonu. Do internetu można podłączyć również lodówki, kamery monitoringu, pralki czy telewizory. Urządzenia w sieci komputerowej komunikują się ze sobą według ustalonych protokołów, które, choć publicznie eksponowane, nie są przez użytkowników rozpoznane tak dobrze jak komp...
GIMP 2.10 - zaproszenie do graficznej zabawy! Program graficzny GIMP od lat uważany jest za doskonałe narzędzie do obróbki zdjęć. Co więcej, jest to program darmowy. Jeśli nie chcesz płacić grubej forsy za Adobe Photoshopa, a zależy Ci na cyfrowym retuszu Twoich fotografii i tworzeniu własnych grafik rastrowych, nie znajdziesz nic lepszego. Wersja 2.10 zaspokoi wszystkie Twoje wymagania i pozwoli Ci osiągnąć efekty, o jakich nawet nie śniłeś. Wystarczy tylko opanować ...
Poznaj nowoczesną metodykę wytwarzania oprogramowania w C# Jak stosować w praktyce zasady zwinnego wytwarzania oprogramowania? W jaki sposób wykorzystywać w projekcie diagramy UML? Jak korzystać z wzorców projektowych? W związku ze stale rosnącymi oczekiwaniami użytkowników oprogramowania produkcja systemów informatycznych wymaga dziś korzystania z usystematyzowanych metod zarządzania. Projekt informatyczny, przy którym nie używa się ...
W skrócie uczenie maszynowe polega na wyodrębnianiu informacji z surowych danych i budowie modelu, który służy do przetwarzania kolejnych surowych danych. Technologia ta od kilku lat intensywnie się rozwija, a w miarę wzrostu jej możliwości rosną również zainteresowanie i oczekiwania architektów i użytkowników. Niektórzy widzą w głębokim uczeniu poważne zagrożenie, jednak obietnice, jakie daje ten rodzaj sztucznej inteligencji, są fas...
C# jest jednym z lepiej dopracowanych języków programowania. Cechują go dojrzałość, prostota, nowoczesność i bezpieczeństwo. Został od podstaw zaprojektowany jako obiektowy. Stanowi integralną część platformy Microsoft .NET Framework. Jest ulubionym narzędziem profesjonalnych programistów, którym zależy na pisaniu kodu bezpiecznego, przejrzystego, wydajnego i prostego w konserwacji. W wersji 7.0 tego języka pojawiły się nowe usprawnienia, dzięki któ...
W świecie programistów aplikacji panuje kult wydajności: najważniejsze są szybkość i efektywność działania kodu. Dostrajanie elementów dużych aplikacji staje się wirtuozerią: wymaga eliminowania wąskich gardeł, optymalizacji kodu, pilnowania każdego bitu pamięci. Niewielkie braki w rozwiązaniach w przypadku rozbudowanych systemów przeradzają się w wielkie problemy. Dla programisty oznacza to, że jeśli chce pracować na prawdziwie profesjonalnym poziomie, m...
Debugging Teams. Przez współpracę do lepszej produktywności Programiści i inżynierowie oprogramowania spędzają mnóstwo czasu na zgłębianiu tajników algorytmów, kodu czy technik budowy aplikacji. Bardzo mało uwagi poświęcają jednak takim zagadnieniom, jak komunikacja, skuteczna praca w zespole czy prowadzenie wspólnych projektów. Tymczasem programowanie jest jednym z zadań, które realizuje się w grupie. Oznacza to, że spos&oacu...
Docker to platforma oparta na otwartym kodzie źródłowym. Jest dziś uważany za najważniejsze narzędzie do rozwijania aplikacji rozproszonych. Umożliwia przyspieszenie prac nad oprogramowaniem, ale również jego konfiguracją, wdrożeniem i dostarczeniem do klienta. Docker pozwala na skalowanie infrastruktury aplikacji w czasie rzeczywistym i poprawę wykorzystania zasobów. Technologia Dockera ułatwia budowę aplikacji dobrze przemyślanych, przetwarzających dane...
Cała wiedza w jednym miejscu!_x005F_x000D_ _x005F_x000D_ Nie pamiętasz jakiegoś algorytmu? Nie wiesz, jaką strukturę danych należy zastosować? Nie masz pojęcia, jak wyznaczyć złożoność obliczeniową algorytmu? Nie martw się, Twoje problemy należą już do przeszłości!_x005F_x000D_ _x005F_x000D_ Tablice informatyczne. Algorytmy pozwolą Ci szybko odnaleźć i przypomnieć sobie podstawowe zagadnienia dotyczące algorytmów i ich zastosowania. Będą doskonałą ściągą na wykładach l...
Tablice języka C — zawsze przy komputerze!_x005F_x000D_ _x005F_x000D_ Tablice informatyczne języka C to ściąga, którą każdy programista powinien mieć zawsze w zasięgu ręki. W końcu trudno zapamiętać wszystkie komendy i metody przeprowadzania operacji, zwłaszcza jeśli nie używa się ich na co dzień. Tutaj znajdziesz informacje o instrukcjach, komentarzach, kompilowaniu programu, a także przechowywaniu i przetwarzaniu danych. Przypomnisz sobie, jak wprowadzać dane i...
Pojęcia, techniki i narzędzia służące do tworzenia systemów inteligentnych_x005F_x000D_ _x005F_x000D_ W ciągu ostatnich lat uczenie maszynowe stało się sercem wielu nowoczesnych produktów, takich jak zaawansowane techniki wyszukiwania w przeglądarkach, rozpoznawanie mowy w smartfonach czy proponowanie treści w zależności od indywidualnych preferencji użytkownika. Być może niedługo taki system inteligentny zastąpi Cię za kierownicą samochodu. Uczenie głębokie wpr...
Zdobądź pracę marzeń - zostań programistą Unity!_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Poznaj środowisko pracy_x005F_x000D_ Naucz się tworzyć sceny_x005F_x000D_ Buduj ciekawe projekty_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Unity to zintegrowane środowisko umożliwiające tworzenie trójwymiarowych i dwuwymiarowych gier oraz różnego rodzaju interaktywnych treści, takich jak wizualizacje i animacje komputerowe. Wieloplatformowość rozwiązania, prostota używani...
Automatyzacja zarządzania konfiguracją i proste instalowanie systemów Zarządzanie konfiguracją oprogramowania w systemach sieciowych jest niebanalnym zadaniem. Nawet zwykła aktualizacja czy wdrożenie nowego oprogramowania mogą się skończyć katastrofą, zwłaszcza w przypadku serwerów pracujących pod kontrolą systemów Linux czy Unix. Konieczność pilnowania ustawień w wielu różnych plikach konfiguracyjnych, z których każdy służy innemu elemento...
Przez długi czas uważano, że architektura oprogramowania powinna powstać przed rozpoczęciem pisania kodu i pozostać niezmieniona aż do zakończenia projektu. Pojawienie się zwinnych metod tworzenia oprogramowania spowodowało, że taką koncepcję zaczęto podawać w wątpliwość. Niektórzy nawet kwestionowali potrzebę tworzenia architektury, gdyż utrudniała reakcję na zmiany wymagań. Istnieje jednak inne podejście do architektury, zgodnie z którym jest ona ściśle powiąz...