Z pamięci papieru do pamięci komputera Współczesnym przemysłem rządzi... informatyka. Ta dziedzina stale się rozwija i zagarnia pod swoje skrzydła kolejne sektory ― od produkcji, przez logistykę i księgowość, po dystrybucję i sprzedaż. Tyle teorii. W praktyce zaś często się okazuje, że podczas gdy otoczenie biznesowe i technologie pędzą naprzód, systemy stosowane w przemyśle zostają nieco z tyłu. Głównym celem, jaki przyświeca autorowi tej publikac...
Wielu zdolnych programistów uczestniczy w nieefektywnych, źle prowadzonych projektach. Inni muszą utrzymywać kod, który właściwie nigdy nie powinien ujrzeć światła dziennego. Źródeł tego rodzaju trudności jest wiele: programowanie samo w sobie jest niełatwym zagadnieniem, a tworzenie funkcjonalnych aplikacji najczęściej wymaga współdziałania wielu osób. Sprawia to, że kod budujący aplikację szybko zwiększa swoją złożoność, staje się niezrozu...
Kubernetes zmienił podejście do budowy i wdrażania oprogramowania korporacyjnego. Przedsiębiorstwa szybko zrozumiały, że dzięki tej potężnej technologii mogą korzystać z zalet wysoce dostępnych, samonaprawiających się i autoskalujących wdrożeń oprogramowania. Systemy są zdolne do automatycznego zapewniania pożądanych reakcji na podstawie zadanych warunków, a przy tym są szybsze i bardziej niezawodne od jakichkolwiek operacji wykonywanych ręcznie. Jednak ceną za ten pos...
Wkrocz w fascynujący świat elektroniki! Książka, napisana z myślą o początkujących, powstała na podstawie wykładów i zajęć laboratoryjnych prowadzonych przez autora dla studentów kierunków nieelektrycznych. Składa się z trzynastu rozdziałów zgrupowanych w trzech częściach: repetytoria, elektronika analogowa i elektronika cyfrowa. Pierwszą, "powtórkową" część publikacji wypełniają niezbędne informacje z matematyki, wykraczające ni...
W wypadku pracy zespołowej efektywny system kontroli wersji jest warunkiem sukcesu. Powszechnie stosowanym w tym zakresie rozwiązaniem jest Git, który umożliwia zarządzanie wersjami projektu, przeglądanie wszystkich zmian, a także przywracanie pliku do dowolnej wcześniejszej wersji. Git jest dynamicznie rozwijanym oprogramowaniem. W ostatnich latach wzbogacił się o wiele przydatnych narzędzi, wyjątkowe stały się też możliwości jego konfiguracji i dostosowania. Wciąż je...
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 d...
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 me...
Rozczarowany klient, który doświadczył negatywnych wrażeń podczas korzystania z produktu, następnym razem wybierze inną ofertę. To zrozumiała reakcja. Z punktu widzenia dostawcy produktu istotniejsze są przyczyny tych negatywnych wrażeń. Okazuje się, że problem ten często wymyka się świadomości osób odpowiedzialnych za produkt. Tymczasem uchwycenie wrażeń klientów za pomocą ich zarejestrowanych zachowań może się stać podstawą do zaplanowania i przeprowadz...
C++ należy do najpopularniejszych i najbardziej cenionych za uniwersalność języków oprogramowania - umożliwia projektowanie rozbudowanych, a zarazem intuicyjnych w obsłudze aplikacji wysokiego poziomu. Pozwala tworzyć wydajną i czytelną architekturę oprogramowania również w wypadku znacznie zaawansowanych systemów i programów. Dzięki tej książce poznasz narzędzia i rozwiązania, które ułatwiają projektowanie w języku C++ nawet najbardziej sk...
C# jest dziś uważany za jeden z najważniejszych języków programowania. Nowoczesny, wszechstronny, dojrzały i sukcesywnie rozwijany, zapewnia efektywne tworzenie kodu wysokiej jakości. Profesjonalni programiści, którzy pisali już kod w C++ lub Javie, bardzo często wybierają właśnie C#. Nic nie stoi na przeszkodzie, aby był pierwszym językiem programowania przyszłego programisty, który przy okazji nauki chce rozwijać pasję i świetnie się bawić! Understand....
Rzemieślnik to osoba, która jest starannie wyszkolona, doskonale zna się na swoim fachu i czuje dumę z własnej pracy. Zawsze zachowuje właściwą dla zawodu godność i profesjonalizm. Społeczeństwo okazuje zaufanie rzemieślnikom, wierząc, że należycie dbają o wysoką jakość i postępują etycznie. Pisanie oprogramowania to też rzemiosło. I programiści, podobnie jak inni rzemieślnicy, również chcą czuć dumę i satysfakcję ze swojej pracy. Problem w tym, że świat zdaje s...
Wyróżnij się treścią. Internet to doceni! Choć (teoretycznie) żyjemy w kulturze obrazkowej, świat wirtualny (jednak) treściami stoi. Internet, szczególnie branża e-commerce, jest wypełniony tekstami, które konkurują o uwagę odbiorców i wyszukiwarek. Z założenia każdy opis produktu, artykuł na blogu i post w social mediach powinien być oryginalny, nieść cenne treści, jakich nie znajdzie się nigdzie indziej. W praktyce rzadko się zdarza, by słowa w ...
Konsekwencje udanego ataku na IoT mogą być niezwykle poważne. Zagrożenie dotyczy przecież wszystkiego, co działa pod kontrolą komputera. Mogą to być samochód, rozrusznik serca, zamki w inteligentnym domu czy też system sterujący maszynami w fabryce. Zabezpieczanie i testowanie bezpieczeństwa urządzeń internetu rzeczy jest jednak specyficzną dziedziną. Przesądza o tym jego charakter, ale także budowa i ekonomika produkcji urządzeń IoT. Inżynier bezpieczeństwa internetu ...
Niektórzy twierdzą, że kiedyś po ukończeniu dobrej szkoły nie było potrzeby, by się dalej uczyć. Dziś każdy informatyk albo programista, który chce sobie zagwarantować dobrą posadę, musi przyjąć postawę zawsze się uczę. Jeśli nie masz za sobą studiów informatycznych, ale bardzo chcesz pracować jako inżynier oprogramowania, musisz poznać podstawy informatyki, jakimi są struktury danych i algorytmika. Znajomość tych zagadnień jest potrzebna każdemu programi...
Domain-driven design, czyli projektowanie dziedzinowe, w skrócie DDD, jest zbiorem praktyk tworzenia architektury oprogramowania z uwzględnieniem dziedziny biznesu i jej problemów. W ten sposób logika biznesowa staje się sercem aplikacji. Wielu architektów jednak nie radzi sobie ze złożonością tworzonego oprogramowania. Nauczenie się zasad i wzorców DDD, przyswojenie technik dekompozycji dużego systemu, modelowania i projektowania integracji...
Technologie Kubernetes i Docker szybko zdobyły zaufanie dużych firm i dziś są standardową infrastrukturą pozwalającą na tworzenie, testowanie i uruchamianie aplikacji. W porównaniu z wcześniej stosowanymi rozwiązaniami wymagają jednak zupełnie innego podejścia do budowy i wdrażania oprogramowania. Oznacza to, że jeśli korporacja chce w pełni skorzystać z potencjału Kubernetesa i Dockera, musi znaleźć osoby dysponujące wiedzą i umiejętnościami pozwalającymi na zintegrow...
Z Linuksem za pan brat Autor znanych czytelnikom wydawnictwa Helion książek między innymi na temat otwartoźródłowego systemu operacyjnego przygotował szóstą już edycję przewodnika po komendach i poleceniach Linuksa. W kieszonkowym leksykonie omówił posługiwanie się komputerem z Linuksem na pokładzie za pomocą poleceń, operacje na plikach, plikach specjalnych, katalogach, łączach i potokach, pisanie własnych skryptów powłoki, obsługę programu Midni...
Praktycznie rzecz ujmując… o sieciach Paweł Zaręba, autor Praktycznych projektów sieciowych, od wielu lat związany z branżą IT i ICT, za namową swoich wiernych czytelników napisał drugą książkę. Tę wcześniejszą można traktować jako kompendium wiedzy na temat sieci komputerowych - Projekty i rozwiązania sieciowe w praktyce są niejako kontynuacją tamtej publikacji. Podczas lektury tej książki, wymagającej znajomości zagadnień sieciowych, przyswoisz podsta...
Mimo upływu lat relacyjne bazy danych wciąż mają się świetnie! Z każdym rokiem stają się coraz doskonalsze i radzą sobie z coraz większymi zbiorami danych. Wciąż jednak podstawą dobrej aplikacji bazodanowej jest dobry projekt samej bazy. Wielu osobom projektowanie poprawnych struktur bazodanowych wydaje się czymś z pogranicza wyższej matematyki i czarnej magii. Tymczasem zdobycie tej umiejętności jest możliwe bez lat studiowania skomplikowanych teorii matematycznych. Wystarcz...
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 anali...
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ś...
W ostatnich latach zdecydowanie wzrosła popularność frameworka React, pozwalającego w pełni skorzystać z możliwości nowoczesnych przeglądarek i urządzeń mobilnych. Nowym narzędziem służącym do testowania obiektowego modelu dokumentu (DOM) jest React Testing Library. Zostało ono zaprojektowane tak, aby ułatwiać projektantom pracę zgodną z podejściem test-driven development (TDD). Jest to bardzo cenna właściwość, gdyż prawidłowo napisane komponenty testowe znacznie obniżają ryz...
Możliwość porozmawiania ze swoim komputerem od lat rozpalała wyobraźnię inżynierów, użytkowników i... artystów. Jak się okazało, sprawa nie jest - i nigdy nie była - oczywista: rozumienie naturalnej mowy to skomplikowany proces. Języki, którymi posługują się ludzie, są bowiem przepełnione subtelnościami i niejednoznacznością, a ich zrozumienie wymaga znajomości kontekstu. Intensywny rozwój technologii VUI doprowadził do tego, że komputer wyk...
Python - prosto, szybko, skutecznie Konstrukcje języka Python Sposoby ich użycia Zadania z rozwiązaniami Python to nowoczesny, potężny i uniwersalny język programowania, który zdobył dużą popularność zarówno wśród zawodowców z branży IT, jak i w szkołach i na uczelniach - jako doskonałe narzędzie do nauki programowania na różnych poziomach. Duże możliwości, prostota i zwartość składni, czytelność kodu, wszechstronność zastosowań i wsp...
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).