Zostań profesjonalnym producentem gier komputerowych Poznaj fazy tworzenia gry komputerowej Dowiedz się, kto jest kim w procesie produkcji Naucz się przygotowywać odpowiednią dokumentację Tworzenie gier komputerowych, podobnie jak produkcja każdego innego rodzaju oprogramowania, to złożony, wieloetapowy proces wymagający zaangażowania szeregu różnych specjalistów, odpowiedniej koordynacji działań, kontrolowania terminów i budżetu oraz ciągłego zarz...
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...
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 ...
Refaktoryzacja ma na celu ulepszanie istniejącego kodu. Poprawia jego strukturę, czytelność i wydajność. Prowadzona poprawnie, cechuje się zdyscyplinowaniem metody, systematycznością i konsekwencją w działaniu, a także ciągłym minimalizowaniem ryzyka wprowadzenia błędów. Niemniej refaktoryzacja jest ryzykowna. Polega na wprowadzaniu zmian do działającego kodu, co może doprowadzić do powstania trudno wykrywalnych błędów. Ryzyko wzrasta, jeśli refaktoryzacja jest ...
Scala jest językiem programowania ogólnego przeznaczenia, który łączy cechy języków funkcyjnych i obiektowych. Jego twórcy postawili sobie za cel skalowalność napisanych w nim aplikacji - stąd wzięła się nazwa Scala. Scala jest oparta na wirtualnej maszynie Javy, umożliwia programowanie funkcyjne i oferuje bogaty wybór typów. Dzięki tym cechom można tworzyć kod mniej podatny na występowanie błędów w trakcie działania programu. ...
Coraz więcej profesjonalnych środowisk produkcyjnych opiera się na oprogramowaniu. Ewentualne błędy w pracy kodu mogą prowadzić do poważnych konsekwencji - dlatego od rozwiązań informatycznych wymaga się solidności i poprawności. Równocześnie oczekuje się wydajnego działania, skalowalności i podatności na modyfikacje, a także możliwości łatwego utrzymania kodu. Aplikacje utworzone zgodnie z paradygmatem TDD są w większym stopniu testowalne i zapewniają wysoki poziom po...
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...
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ę ...
Adobe After Effects CC służy do tworzenia kompozycji, animacji i efektów specjalnych. Umożliwia korzystanie z warstw na wiele rozmaitych sposobów, dołączanie wyrafinowanych efektów wizualnych oraz dźwiękowych, a także animowanie obiektów i efektów specjalnych. Jest ulubionym narzędziem wykorzystywanym przez montażystów, twórców filmów, projektantów stron internetowych i ekspertów od efektów specjalnych do cyfrowego udoskonalania filmów, jak również do cyfrowej postprodukcji f...
Ostatnia z dwunastu zasad Manifestu Agile mówi o retrospektywach. W myśl tej reguły zespół programistów odbywa regularne spotkania, na których analizuje efekty pracy nad projektem, myśli nad możliwymi zmianami i odpowiednio dopasowuje działania. Retrospektywa po każdej iteracji projektu pozwala na niezwykle skuteczne optymalizowanie pracy zespołu - przeprowadzona odpowiednio gwarantuje, że zebrane wnioski i opinie członków grupy przyczyniają...
Witaj na nowym wspaniałym rynku "Kryptowaluty" - ten termin brzmi nieco tajemniczo, ale i wielce obiecująco. Wielu inwestorów nadal nie w pełni pojmuje mechanizm funkcjonowania kryptowalut, jednak niemal każdy rozważa, czy warto się nimi zainteresować. Czy te cyfrowe waluty są prawdziwą, nową nadzieją na duży zarobek? Szansą na uwolnienie się od dyktatury banków? A może jest to tylko kolejna bańka spekulacyjna? Czy porównywanie kryptowalut do p...
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...
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...
Arduino jest bardzo prostym komputerem, który można wykorzystać w najróżniejszych gadżetach wykonywanych w zaciszu własnego domu. Potrafi komunikować się z komputerem, posiada także złącza służące do podłączania zewnętrznych elementów elektronicznych, takich jak silniki, przekaźniki, fotodiody, diody laserowe, głośniki, mikrofony itp. Oprogramowanie służące do programowania Arduino jest łatwe w użyciu i jest dostępne za darmo na platformy Windows, Mac i L...
Być może słowo „bitcoin” kojarzy Ci się z niezwykle skomplikowanym i niebezpiecznym półświatkiem cyberprzestępców. Możliwe, że widzisz w rozwoju tej kryptowaluty szansę ucieczki przed pazernością bankierów. A może po prostu chcesz dokładniej dowiedzieć się, czym jest ta technologia, jakie może mieć wkrótce znaczenie dla nowoczesnych firm i jak ją wykorzystać we własnych aplikacjach. Warto! Zdecentralizowana waluta bitcoin, choć wciąż je...
Informatyczna rewolucja dosięgła również systemy bazodanowe. Przez długi czas administrator bazy danych interesował się głównie wewnętrznymi mechanizmami bazy, optymalizacją zapytań czy analizą podsystemów składowania danych. Z kolei oprogramowaniem stron, infrastrukturą czy usługami sieciowymi zajmowali się zupełnie inni ludzie, pracujący w odmienny sposób. Nowe technologie wymuszają jednak zmianę sposobu pracy i myślenia. Trzeba położyć nacisk na...
C# to nowoczesny język programowania, który został od podstaw zaprojektowany jako obiektowy. Ta dojrzała technologia jest często wybierana przez twórców oprogramowania, również tego służącego do pokonywania zabezpieczeń systemów. Dzięki temu, że platforma .NET jest oprogramowaniem open source, w C# można pisać kod, który bez problemu będzie działał w każdym systemie operacyjnym. Co prawda język ten jest prosty i łatwy do nauczenia się...
Twórz doskonałe GUI z wykorzystaniem JavaFX! Przykłady zgodne z Java 10! Naucz się wykorzystywać w praktyce platformę JavaFX Dowiedz się, jak osiągać konkretne efekty Poznaj rozwiązania najczęstszych problemów JavaFX to platforma umożliwiająca proste tworzenie atrakcyjnych interfejsów użytkownika dla aplikacji budowanych w języku Java. Wsparcie wzorca projektowego MVC, obsługa XML-a oraz formatowanie kontrolek za pomocą arkuszy stylów CSS -...
C# jest uważany za flagowy projekt firmy Microsoft. Język ten charakteryzuje się niezwykłą elastycznością i wszechstronnością. Udostępnia wysokopoziomowe abstrakcje, takie jak wyrażenia, zapytania i kontynuacje asynchroniczne, ale też pozwala na korzystanie z mechanizmów niskopoziomowych. W efekcie dzięki takim konstrukcjom, jak własne typy wartościowe programisty czy opcjonalne wskaźniki, można znacząco zwiększyć wydajność aplikacji. Wersja 7.0 jest kolejną poważną ak...
Kategoria „Internet, komputery, informatyka” zawiera publikacje skupiające się na wszystkich zagadnieniach związanych z siecią, komputerami, programami komputerowymi czy oprogramowaniem. Książki z tej kategorii poświęcone są w głównej mierze programowaniu – znajdują się tu m.in. podręcznik „Wstęp do informatyki” Jacka Lembasa i Rafała Kawy przeznaczony dla studentów pierwszego roku kierunków informatycznych, poradnik „Sztuka dobrego programowania” Krzysztofa Jassego i Andrzeja Ziemkiewicza, w którym dobre rady znajdą zarówno początkujący, jak i zaawansowani programiści, poradnik „Java. Uniwersalne techniki programowania” pod redakcją naukową Krzysztofa Barteczki dotyczący programowania w języku Java, podręcznik „HTML. Tworzenie stron www i programów desktopowych” Rafała Strychalskiego (podzielony na 3 części: dla początkujących, średniozaawansowanych i zaawansowanych). Znajdują się tu także poradniki z innych dziedzin, jak np. e-commerce („Narzędzia Google dla e-commerce” Krzysztofa Marca), marketingu internetowego („AdWords i Analytics” Krzysztofa Marca i Tomasza Trzósły), praktyk zwinnych („W poszukiwaniu zwinności w architekturze systemów IT” Krzysztofa Bończaka”), rzeczywistości wirtualnej („Rzeczywistość wirtualna (VR) dla każdego – Aframe i HTML 5” Krzysztofa Wońka). Nie brakuje również pozycji dla dzieci, które już od małego chcą rozpocząć swoją przygodę z programowaniem w Scratchu, Pythonie czy Javie („Bawimy się, programując w Scratchu” i „Twórz własne gry komputerowe w Pythonie” Ala Sweigarta, „JavaScript dla dzieci. Programowanie na wesoło” Nicka Morgana), grafiką komputerową („Piksele, wektory i inne stwory” Alicji Żarowskiej-Mazur i Dawida Mazura), produkcją filmową („Zostań gwiazdą YouTube'a” Nicka Willoughby’ego).