Uczenie głębokie fascynuje wielu inżynierów i praktyków. Mimo że systemy oparte na uczeniu maszynowym stosuje się w rozlicznych branżach, wciąż są uważane za niepokojącą technologię. Istotnie, w wypadku na przykład sieci neuronowych nie wiemy, czego dokładnie uczy się model. Możemy tylko ocenić, czy dobrze realizuje swoje zadanie. Wydaje się, że w sposobie pracy algorytmów uczenia głębokiego tkwi magia. Właśnie dlatego dobrze jest zająć się faktami i dowiedzieć się, na czym w...
Uczenie maszynowe staje się wszechobecne. Dzięki coraz lepszym narzędziom służącym do tworzenia aplikacji szczegóły techniczne związane z obliczeniami i modelami matematycznymi są często pomijane przez projektantów. Owszem, to wygodne podejście, ale wiąże się z ryzykiem braku świadomości co do wszystkich konsekwencji wybranych rozwiązań projektowych, szczególnie ich mocnych i słabych stron. A zatem bez ugruntowanych podstaw matematyki nie można mówić o profesjonalnym podejści...
Trzecia książka duetu Agnieszka Ciborowska i Jarosław Lipiński (po WordPress dla początkujących i WordPress 5 dla początkujących) wydana przez Helion dotyczy pozycjonowania stron internetowych. Dwie pierwsze powstały z myślą o tych, którzy chcą samodzielnie nauczyć się tworzyć strony internetowe - najnowsza publikacja stanowi niejako dopełnienie tamtych podręczników. Jest przeznaczona dla osób, które chciałyby się zająć zwiększeniem widoczności w wyszukiwarkach i oglądalności...
Mikrousługi stały się odpowiedzią na rosnącą złożoność aplikacji internetowych. Do niedawna pojęcie mikrousług dotyczyło wyłącznie backendu, jednak idea ta zainspirowała projektantów do budowania na podobnych zasadach architektury frontendu. Dzięki temu interfejs użytkownika można podzielić na osobne funkcjonalności zarządzane w odrębny sposób przez różne zespoły programistów. Mikrofrontendy zapewniają elastyczność i skalowalność aplikacji ― a to zalety doceniane przez najważ...
Korporacyjny system informatyczny musi być stale gotowy do obrony. Trzeba mieć strategię reagowania na incydenty bezpieczeństwa i zachować czujność. Cyberprzestępczość jest dziś stałym elementem środowiska biznesowego i jeśli nie chcesz narazić swojego przedsiębiorstwa na niepowetowane straty, musisz opracować solidny zestaw narzędzi umożliwiających obronę i tropienie cyberprzestępców. Mimo że w pewnych okolicznościach należy zaangażować organy ścigania, spora część dochodzen...
System Linux umożliwia uzyskanie pełnej kontroli nad komputerem, pozwala bowiem na łatwy dostęp do jego ważnych elementów. Konfiguracja większości składników systemu jest zapisana w plikach tekstowych, które można bez trudu odczytać. Uzyskana w ten sposób wiedza przydaje się nie tylko programistom i administratorom, ale i użytkownikom, którzy chcą dobrze zrozumieć działanie swojego komputera, a także dowiedzieć się, jak pracują wewnętrzne mechanizmy systemu, jak funkcjonuje s...
Język Java jest konsekwentnie udoskonalany i unowocześniany dzięki zaangażowaniu wielu ludzi. Nowoczesny język Java staje się coraz bardziej wieloparadygmatowy, co oznacza, że stosowanie najlepszych praktyk w coraz większym stopniu determinuje jakość kodu. Obecnie napisanie kodu, który prawidłowo działa i może być łatwo zrozumiany przez innych programistów, nie wystarczy — należy zbudować program w taki sposób, aby można było go łatwo modyfikować. Jako że Java stała się obsze...
Programiści uwielbiają brać udział w nowych projektach, być świadkami ewolucji kodu, mieć wpływ na wybór narzędzi i projektować ich architekturę. Niestety, w ogromnej większości przypadków muszą pracować z kodem mającym wiele lat i pisanym przez wiele osób. Jak sobie poradzić w takim środowisku? Jak dobrać techniki pracy do gotowego kodu? Na te i wiele innych podobnych pytań odpowiada ten wyjątkowy podręcznik.Dzięki niemu dowiesz się, jak wprowadzać zmiany w zastanym kodzie, ...
Udany atak na system informatyczny organizacji może mieć bardzo poważne konsekwencje. W ostatnich latach analitycy cyberbezpieczeństwa starają się uprzedzać zagrożenia i je neutralizować, zanim dojdzie do wystąpienia większych szkód w systemie. Podejście to wymaga nieustannego testowania i wzmacniania mechanizmów obronnych w systemie informatycznym organizacji. W ramach tych procesów można zebrać wiele cennych danych, użyć ich do budowy modeli i dzięki temu lepiej zrozumieć i...
Masz dość wykonywania ciągle tych samych zadań? Musisz pilnie opracować kolejny raport dla szefa? Od wpatrywania się w tabele w Excelu Twoje oczy robią się kwadratowe? A może masz już dość bycia zwykłym użytkownikiem aplikacji i chcesz czegoś więcej? Świetnie! Wsparcie nadchodzi!Excel to niezwykle popularny i uniwersalny program umożliwiający przeprowadzanie obliczeń naukowych, statystycznych, finansowych, analizę danych, wizualizację wyników i tworzenie rozbudowanych raportó...
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 pogranicza matematyki...
Platforma Amazon Web Services jest uważana za największą i najbardziej dojrzałą chmurę obliczeniową. Zapewnia bogaty zestaw specjalistycznych narzędzi ułatwiających realizację projektów z zakresu inżynierii danych i uczenia maszynowego. W ten sposób inżynierowie danych, architekci i menedżerowie mogą szybko zacząć używać danych do podejmowania kluczowych decyzji biznesowych. Uzyskanie optymalnej efektywności pracy takich projektów wymaga jednak dobrego rozeznania w możliwości...
Tym, co system edukacji wpoił nam chyba najskuteczniej, jest niechęć do matematyki i niesłuszne przekonanie, że to trudna, nudna i do niczego niepotrzebna dziedzina. Zmiana tego nastawienia nie należy do prostych wyzwań - jak się jednak okazuje, nie jest sprawą beznadziejną. Potrzeba tylko odrobiny praktyki, odpowiedniej metody i... właściwej książki.Oto ona! Zbiór zadań, który pomoże Ci opanować szeroki zakres materiału w sposób, o którym Ci się nawet nie śniło. Bez zbędnych...
Mimo upływu lat SQL jest bezkonkurencyjnym narzędziem do przetwarzania danych. Bazy danych Oracle wciąż imponują możliwościami. W ciągu ostatnich dekad bowiem obie te technologie były konsekwentnie unowocześniane i usprawniane. W efekcie nawet za pomocą jednego, choć niekiedy dość złożonego zapytania SQL można przeprowadzić operacje, które w innym języku wymagałyby napisania długich bloków kodu. Uzyskanie spektakularnej wydajności i szybkości aplikacji wymaga jednak dużego do...
Jak już wiesz, struktura danych jest sposobem zorganizowania danych w pamięci komputera, co ma umożliwić szybkie wykonywanie zamierzonych operacji. Pamiętasz też, że algorytm jest sekwencją działań pozwalających na rozwiązanie problemu. Często warunkiem poprawnego działania algorytmu i pomyślnego rozwiązania problemu programistycznego jest trafny wybór struktury danych. To bardzo ważne zagadnienie. Nawet jeśli dobrze znasz wybrany język programowania, to aby pisać dobry kod, ...
Sterowanie jest procesem, w którym sygnały wejściowe odpowiednio oddziaływują na wyjścia – zgodnie z regułami sterowania, czyli odpowiednimi algorytmami. Owe algorytmy można realizować na wiele różnych sposobów, m.in. przez bramki logiczne i układy mikrokontrolerów, z czym wiąże się pojęcie sterowników swobodnie programowalnych PLC. Na nich właśnie skupia się autor niniejszej książki. Poradnik zapozna Cię m.in. z podstawami programowania w języku LD. Podpowie też kilka ciekaw...
Od mniej więcej piętnastu lat jesteśmy świadkami rewolucji w nauczaniu maszynowym na niesamowitą skalę. Rewolucji tej sprzyja intensywny rozwój głębokich sieci neuronowych oraz niezbędnego do tego sprzętu obliczeniowego, takiego jak karty graficzne. "Deep learning", "machine learning" - te słowa klucze rozpalają wyobraźnię programistów, innowatorów i przedstawicieli przemysłu na całym świecie. Także studentów kierunków politechnicznych. Na świecie wydaje się sporo literatury ...
SQL stanowi podstawowe narzędzie komunikowania się z relacyjnymi bazami danych. Jest to dość skomplikowany język o rozbudowanych możliwościach. Pozwala na pobieranie z bazy zestawów danych wyszukiwanych na podstawie wyrafinowanych kryteriów. Umożliwia też modyfikację zarówno danych, jak i struktury bazy, w której są gromadzone. To potężne narzędzie powinni znać nie tylko programiści baz danych, ale również specjaliści zajmujący się ich analizą, jednak zdobycie praktycznych um...
Wykonanie produktu o dużej wartości rynkowej i osiągnięcie prawdziwego sukcesu często wymaga od menedżerów zmiany dotychczasowego podejścia. Współczesne firmy są połączonymi systemami, a samo zarządzanie dotyczy głównie ludzi i relacji. Podejście zwane zarządzaniem zwinnym czy też programowaniem zwinnym (agile) ma szczególne miejsce w nowoczesnej teorii systemów złożonych i procesach wytwarzania oprogramowania. Co istotne, wdrożenie metodologii zwinnych ułatwia realistyczne p...
Od oprogramowania wymaga się solidności i poprawności, a równocześnie oczekuje wydajnego działania i skalowalności. Jako programista odpowiadasz za zapewnienie aplikacjom tych właśnie cech. Niezależnie od tego, jakiego języka programowania używasz, praca zgodnie z paradygmatem TDD umożliwi Ci otrzymanie testowalnego kodu o wysokiej jakości. Choć te korzyści przeważają nad niedogodnościami podejścia TDD, wielu programistów narzeka na czasochłonność, pracochłonność i sprawiając...
Głębokie uczenie przez wzmacnianie rozwija się bardzo dynamicznie. Dziedzinę tę charakteryzuje niewyczerpany potencjał rozwiązywania trudnych problemów. Zajmuje się tym co najmniej kilka grup badawczych, koncentrujących się na wdrażaniu głębokiego uczenia przez wzmacnianie w różnych branżach. Niestety, opisy najnowszych osiągnięć są trudne do zrozumienia i zbyt abstrakcyjne, aby można było je łatwo zastosować w praktycznych implementacjach, a przecież poprawne działanie aplik...
Ludzie uważają, że elektronika jest bardzo trudną dziedziną i że wymaga zarówno znajomości skomplikowanych zagadnień teoretycznych, jak i umiejętności manualnych. Trzeba biegle poruszać się w świecie rezystorów, tranzystorów, przełączników... Tymczasem w rzeczywistości elektronika jest pasjonującą zabawą, sprawiającą radość i satysfakcję licznym entuzjastom na całym świecie. Trzeba tylko wiedzieć, jak zacząć przygodę z elektroniką i co należy przygotować, aby już wkrótce zroz...
JavaScript jest jednym z najwartościowszych języków programowania, cechuje go wszechstronność i elastyczność. Ucząc się JavaScriptu, adept programowania nabiera dobrych nawyków i nabywa umiejętności wymaganych od profesjonalistów. Warto też poznać język TypeScript wraz z towarzyszącymi mu narzędziami. Projektant aplikacji internetowych, który programuje w TypeScripcie, może łatwo skorzystać z wielu dopracowanych frameworków. W ten sposób w pełni wykorzystuje się możliwości no...
Python cechuje się dużą prostotą, a przy tym jest wszechstronny. Ma bardzo szeroki zakres zastosowania, przez co coraz więcej osób podejmuje naukę programowania w tym języku. Python należy do języków najczęściej używanych przez programistów, którzy tworzą w nim gry i aplikacje webowe. Świetnie sprawdza się ponadto w pracy z wykorzystaniem sztucznej inteligencji i uczenia maszynowego. Tym, co programiści doceniają w Pythonie, jest też obiektywność. Ucząc się, przyswajamy bowie...