Wydanie jubileuszowe z okazji 20. rocznicy pierwszej edycji Programiści dysponują coraz lepszym, szybszym i wszechstronniejszym sprzętem. Pojawiają się nowe języki programowania i nowe paradygmaty tworzenia architektury oprogramowania. Są jednak rzeczy, które w świecie programowania pozostają stałe i niezmienne. Wciąż proces stawania się programistą wymaga od adeptów tego rzemiosła sporego wysiłku. Akt kodowania to za mało. Trzeba zmienić sposób myślenia...
Roboty wkraczają do różnych dziedzin naszego życia, więc robotyka nabiera coraz większego znaczenia. Nauka o robotach, ich budowaniu i programowaniu jest dość złożoną, ale fascynującą dziedziną. Jej opanowanie wymaga wysiłku, jednak aby zaprojektować łatwy do wykorzystania interfejs, wystarczy posłużyć się kilkoma programami narzędziowymi oraz językiem Python. W ten sposób można zaprojektować zachowania robota, określić, w jaki sposób będzie zmierzał do c...
Arduino od wielu lat cieszy się niesłabnącą popularnością wśród miłośników elektroniki, robotyki i tych, którzy lubią w domowym zaciszu zbudować sobie własny gadżet. Arduino może komunikować się z komputerem, posiada także porty 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 dostępne za darmo. To ...
Jako menedżer działu inżynierii oprogramowania wiesz już wszystko. Uznajesz, że czas pomyśleć o wyższym stanowisku. Tak, chcesz spróbować swoich sił jako dyrektor! Zacznij jednak od chwili namysłu. Jeśli uważnie przyjrzysz się karierom świeżo upieczonych dyrektorów, zauważysz, że wielu z nich rozpoczyna pracę na tym stanowisku z entuzjazmem tylko po to, by w ciągu 18 miesięcy odejść sfrustrowanym. Jak nie podzielić ich losu?_x005F_x000D_ _x005F_x000D_ Tego dowie...
Poznaj i wykorzystaj mechanizmy testowania zabezpieczeń, a nikt nie prześlizgnie się przez Twoją witrynę!_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Jak zainstalować i skonfigurować narzędzia do testowania zabezpieczeń?_x005F_x000D_ Jak szybko i sprawnie znaleźć problemy w aplikacjach?_x005F_x000D_ Jak wykorzystywać testy powtarzalne?_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Witryny internetowe oraz ich aplikacje stanowią swoistą wirtualną furtkę do wszystkich korporacji i ins...
Aplikacje mobilne dla każdego! Mimo że na rynku wciąż wiodą prym tylko dwa systemy operacyjne dla urządzeń mobilnych, tworzenie aplikacji natywnych przeznaczonych wyłącznie dla nich jest zbyt czasochłonne. Przyszłość należy do tych aplikacji, które będą kompatybilne z wieloma platformami sprzętowymi. Jednak lista problemów, z jakimi musi się zmierzyć projektant takiego oprogramowania, jest długa. Czy coś można na to poradzić? Tak! Rozwiązaniem są bogate możliwości HTML5 i CS...
Rozpoznawanie wzorców i ich trafne stosowanie to umiejętności, które przydają się w różnych sytuacjach. Są bardzo cenne dla architektów: pozwalają na szybkie opracowanie złożonych zagadnień, ale też ułatwiają rozwiązywanie konkretnych problemów na wiele sposobów. Pomagają w podejmowaniu decyzji o konkretnej technologii i niezbędnych kompromisach. Każda kolejna wersja języka programowania czy platformy, na której uruchamia się k...
Wzorce projektowe powinny się znaleźć w przyborniku każdego profesjonalnego programisty. Ich zaletą jest nie tylko łatwość tworzenia kodu wielokrotnego użytku, ale także możliwość szybkiego rozwiązywania złożonych zagadnień. Osoby, które chcą rozwijać swoje umiejętności programistyczne, mogą również wykorzystać wzorce projektowe do inspirującego dochodzenia, jak można rozwiązać konkretny problem na wiele sposobów - o zróżnicowanym stopniu zaawansow...
Mikrousługi są dla wielu organizacji wspaniałą alternatywą. Systemy rozproszone złożone ze współpracujących ze sobą mikrousług pozwalają na efektywne i elastyczne dostarczanie oprogramowania, które ściśle odpowiada na wymagania użytkowników. Dodatkową zaletą jest możliwość relatywnie szybkiego wprowadzania modyfikacji w systemie, co ułatwia płynne zaspokajanie zmieniających się potrzeb. Pewnym wyzwaniem dla programistów jednak może być złożoność po...
AngularJS jest popularnym frameworkiem służącym do pisania aplikacji internetowych o różnej skali. Jest to świetny projekt open source, dzięki któremu praca staje się wydajna i przyjemna. Tworzenie oprogramowania mającego naprawdę wysoką jakość wymaga od programisty stałego rozwijania umiejętności. Konieczne jest doskonałe opanowanie narzędzi programistycznych i uczenie się nowych funkcji, które one oferują. Proces ten w istocie nigdy się nie kończy. Jeś...
Internetu nie można rozważać wyłącznie jako tworu techniki. Powstanie tej sieci doprowadziło do rozwoju różnych zjawisk społecznych. Z tej perspektywy na szczególną uwagę zasługują media społecznościowe. Są źródłem informacji, które, właściwie spożytkowane, mogą przynieść niezły dochód. Mogą też dać odpowiedzi na wiele pytań zadawanych przez naukowców z różnych branż. Sama eksploracja tych danych przynosi sporo satysfakcji i ra...
Odkryj tajemnice biblioteki Qt! Qt to popularny zestaw bibliotek pozwalający na tworzenie atrakcyjnego interfejsu użytkownika dla różnych platform, w tym dla systemów: Windows, Mac OS X i Linux. Pierwsza wersja ukazała się w 1992 roku i od tego czasu jest intensywnie rozwijana. Za pomocą najnowszej wersji Qt można tworzyć aplikacje internetowe i mobilne. Zakres jej możliwości jest tak szeroki, że nawet doświadczeni programiści wykorzystują zaledwie ich ułamek. ...
Rozwój technik BDD jest odpowiedzią na poważny problem, z którym muszą się zmierzyć zespoły rozwijające oprogramowanie. Tym problemem jest skuteczne komunikowanie i zrozumienie się nawzajem. Jeśli jesteś kierownikiem projektu, musisz jakoś skłonić programistę do pisania testów, namówić testera do zaakceptowania tych testów i przekonać inwestora, że coś, co nie jest kodem produkcyjnym, może mieć swoją wartość. Okazuje się, że kluczem do sukce...
Bezpieczeństwo systemu informatycznego od dawna nie jest problemem wyłącznie administratora IT i jego zespołu. Różnorodność metod, socjotechnik i wyrafinowanych narzędzi wykorzystywanych do ataków oraz zacierania śladów sprawia, że zabezpieczenie usług czy zasobów musi być obowiązkiem całego personelu firmy — od prezesa po stażystę. Co więcej, bezpieczeństwo zasobów informatycznych wymaga systematycznej kontroli i systemowego podejścia...
Sprawne budowanie dużych systemów oprogramowania jest nie lada wyzwaniem, zwłaszcza gdy trzeba spełnić specyficzne wymagania biznesowe. Programowanie dziedzinowe, zwane w skrócie DDD, jest nowatorskim podejściem do projektowania architektury oprogramowania, pozwalającym na szybkie uzyskiwanie pożądanych efektów. Wielu architektów stosuje DDD wyłącznie jako techniczny zbiór narzędzi i nie wykracza poza wykorzystywanie wzorców taktyczny...
Techniki uczenia głębokiego rozwijają się w imponującym tempie, a sieci neuronowe znajdują zastosowanie w przeróżnych branżach. Coraz częściej komputer wykonuje zadania, które do niedawna były zarezerwowane dla człowieka. Dobrym przykładem jest tworzenie dzieł sztuki: ostatnie postępy w dziedzinie modelowania generatywnego sprawiają, że maszyny tworzą oryginalne obrazy w określonym stylu, piszą spójne akapity tekstu, komponują przyjemną w odbiorze muzykę ...
Django jest frameworkiem do budowy profesjonalnych aplikacji sieciowych w języku Python. Cieszy się zasłużoną opinią potężnego narzędzia, którego można się szybko nauczyć. Spodoba się każdemu, kto ceni prostotę użytkowania i pragmatyczne podejście do projektowania. Z pewnością Django jest atrakcyjnym rozwiązaniem dla programistów, którzy profesjonalnie podchodzą do tworzenia aplikacji WWW i stawiają na niezawodność. To drugie, zaktualizowane i uzupełnion...
Wykorzystaj potencjał architektury usług! Architektura mikrousług to sposób na odejście od dużych, monolitycznych aplikacji. Wyspecjalizowane usługi realizujące konkretne zadania i komunikujące się z otoczeniem pozwalają na lepsze zapanowanie nad kodem, są łatwiejsze do przetestowania oraz bardziej elastyczne. Jednak oprócz zalet mają też wady. Sięgnij po tę książkę i dowiedz się, jak najlepiej radzić sobie z architekturą mikrousług! Autor przedstawia w książc...
Potencjał blockchainu jest ogromny i zapewne wciąż nie znamy wszystkich jego możliwych zastosowań. Jest to dosyć nowa, dynamicznie rozwijająca się technologia, jednak już teraz dostrzegalne są pewne jej ograniczenia. Problemem jest na przykład skalowalność Bitcoina. Rozwiązaniem wydaje się Lightning Network (LN), protokół drugiej warstwy, który zapewnia niemal natychmiastowe transakcje w systemie Bitcoin. Umożliwia on również zwiększenie szybkości i prywa...
Algebra to jeden z najstarszych działów matematyki — przez wiele osób znienawidzony. Równania, nierówności, parabole, wielomiany to te zagadnienia, które spędzają sen z oczu niejednego adepta królowej nauk. Opisane na niezliczonych stronach (w szalenie monotonny sposób) zniechęcają do nauki. Dlaczego? Przecież wystarczyłaby szczypta humoru, zabawna ilustracja oraz przykład praktycznego zastosowania — i już algebra stałaby się porywającą oraz atrakcyjną dziedziną m...
Ostatnio coraz częściej projektuje się systemy oparte na mikrousługach. W odróżnieniu od aplikacji monolitycznych są one bardziej skalowalne, efektywniejsze, a także łatwiejsze w implementacji, rozwijaniu i utrzymaniu. Dzięki zastosowaniu architektury mikrousług i kontenerów programiści mogą skupić się na danym elemencie, nie zajmując się całością aplikacji. Okazuje się jednak, że przejście na architekturę mikrousług nie jest proste. Problemem jest brak gotowych...
Duże modele językowe przestały już być szokującą nowinką technologiczną. Dziś są używane do najróżniejszych celów, a lista ich rzeczywistych i potencjalnych zastosowań stale się wydłuża. A to oznacza, że programiści, inżynierowie i architekci muszą dogłębnie rozumieć zasady działania LLM, a także techniki ich budowania._x000D_ _x000D_ _x000D_ Najbardziej przystępne i kompleksowe wyjaśnienie modeli językowych!_x000D_ _x000D_ Cameron Wolfe, starszy specjalista do ...
Poznaj nowoczesne sposoby wytwarzania oprogramowania! Czasy kaskadowego tworzenia projektów odchodzą w niepamięć. Obecne tempo rozwoju aplikacji i rynku nie pozwala poświęcać miesięcy na analizę, tworzenie dokumentacji, projektowanie, a na końcu wytwarzanie, testowanie i wdrażanie. Produkt musi być dostępny błyskawicznie! Pozwala to na natychmiastowe zebranie opinii na jego temat, dostosowanie go do oczekiwań i szybkie reagowanie na wymagane zmiany. Takie założenia mo...
Zapanuj nad chaosem informacyjnym! SharePoint to platforma rozwijana przez firmę Microsoft, ułatwiająca zapanowanie nad ogromem informacji przetwarzanych w przedsiębiorstwie. Jest najczęściej wybierana przez średnie i duże organizacje. Pozwala pracownikom na błyskawiczne zlokalizowanie informacji istotnych w ich codziennej pracy. Ponadto pomaga tworzyć własne komponenty, dostosowane do specyficznych wymagań. SharePoint to duży i zaawansowany produkt, jednak dzięki tej książc...