Wzorce projektowe są bardzo przydatnym narzędziem w przyborniku programisty. Pozwalają na szybkie opracowanie złożonych zagadnień, ale można je również potraktować jako wstęp do ciekawego i inspirującego dochodzenia, jak rozwiązać konkretny problem na wiele różnych sposobów, na różnych poziomach zaawansowania technicznego i z zastosowaniem różnego rodzaju kompromisów. Takie próby jednak często prowadzą do nadinżynierii lub pows...
Wykorzystaj nowoczesne technologie, aby Twoje strony WWW stały się bardziej dostępne_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Jak przekonwertować witrynę zgodnie z wymaganiami dostępności?_x005F_x000D_ Jak korzystać z technologii XHTML i CSS, aby tworzyć przyjazne dla wszystkich strony WWW?_x005F_x000D_ Jak tworzyć serwisy przeznaczone dla wielu platform?_x005F_x000D_ _x005F_x000D_ _x005F_x000D_ Nowoczesne technologie zapewniania dostępności koncentrują się na umożliwieniu ko...
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...
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...
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...
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 ...
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. ...
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...
Zbuduj własną witrynę WWW, wykorzystując PHP-Nuke Zainstaluj pakiet PHPNuke i skonfiguruj go Dodaj artykuły i zarządzaj użytkownikami witryny Rozszerz możliwości pakietu, tworząc własne moduły Rosnąca w imponującym tempie popularność internetu sprawiła, że witryny WWW coraz częściej zakładane są przez osoby bez doświadczenia programistycznego. Doskonałym ułatwieniem dla nich mogą być gotowe pakiety umożliwiające -- przy minimalnym nakładzie pracy i niewielkiej wie...
Zgodnie z paradygmatem programowania funkcyjnego największy nacisk należy kłaść na stałe i funkcje. Polega to na konstruowaniu funkcji oraz na obliczaniu wartości wyrażeń. W ten sposób otrzymuje się kod odporny na błędy. Python nie jest w pełni funkcyjnym językiem programowania, jednak pozwala na taki sposób pisania programów. Dzięki temu umożliwia tworzenie zwięzłego i eleganckiego kodu. Na przykład stosowanie wyrażeń generatorowych w Pythonie sprawia, ż...
Mimo że Python nie jest typowym językiem programowania funkcyjnego, umożliwia pisanie kodu w sposób właściwy dla tego podejścia. W efekcie można tworzyć zwięzłe i eleganckie programy, które działają szybciej i zużywają mniej zasobów. Jeśli uważasz, że te argumenty uzasadniają zapoznanie się z funkcyjnym podejściem do programowania w Pythonie, to ta książka jest dla Ciebie. Dzięki temu praktycznemu podręcznikowi zrozumiesz, kiedy i dlaczego warto zastosow...
Python istnieje już ponad 25 lat. Nie jest trudnym językiem i oferuje ogromne możliwości. Tworzenie dobrych programów w Pythonie wymaga jednak od programistów dużych umiejętności. Cykl rozwoju oprogramowania jest pełen pułapek nieznanych początkującym koderom. Mimo to w podręcznikach Pythona niewiele uwagi poświęca się debugowaniu i testowaniu, a przecież etapy te mają kluczowe znaczenie dla jakości kodu i funkcjonalności tworzonego oprogramowania. Ta książka u...
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...