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...
Dla inżyniera oprogramowania umiejętność kodowania to zaledwie punkt wyjścia. Większość początkujących programistów przekonuje się o tym już w pierwszych dniach pracy w firmie. Nagle się okazuje, że wielu kluczowych spraw zabrakło w programach nauczania. Mowa tu nie tylko o praktykach związanych z tworzeniem i wdrażaniem kodu, ale także o zachowaniach i metodach współpracy ułatwiających odpowiednie działanie zespołu i w efekcie całego przedsiębiorstwa. To książ...
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....
Najważniejsze definicje języka Inspirujące przykłady praktyczne Solidne podstawy języka C++ Poznaj język C++ przy pomocy 68 przykładowych programów Należący do języków ogólnego przeznaczenia C++ od lat pozostaje niezwykle popularny wśród programistów. I wciąż zdobywa nowych entuzjastów. Jeśli chcesz się przekonać, jak się pracuje z tym wszechstronnym i potężnym językiem, przygodę z nim koniecznie rozpocznij od tego podręcznika!...
Każda aplikacja korporacyjna tworzy dane. Ich przenoszenie i przetwarzanie jest równie ważne jak same dane. Platforma Apache Kafka została zbudowana właśnie w tym celu: aby umożliwić płynną obsługę strumieni zdarzeń czasu rzeczywistego. Umożliwia to architektom nie tylko łączenie aplikacji z systemami danych, ale również budowanie niestandardowych aplikacji, które same w sobie wyzwalają strumienie danych. Okazuje się, że architektura skupiona wokół...
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...
Twoje dziecko wreszcie zrozumie matematykę! Matematyka nie jest łatwa, wielu uczniów uważa ją za najtrudniejszy przedmiot w szkole. Nierzadko sprawia problemy także tym, którzy jej uczą - nie jest łatwo przygotować lekcje tak, aby uczynić zrozumiałym to, co zrozumieć trudno. Autorka tej książki sama się o tym przekonała, gdy pracowała jako nauczycielka. Teraz dzieli się swoimi pomysłami, jak efektywnie uczyć matematyki w szkole podstawowej. Zawarty w proponowan...
Co czeka nas za dekadę? Jak będziemy wtedy czytać książki? Czy nadal pochłaniać będzie nas papier, czy pójdziemy kilka sporych kroków do przodu?_x005F_x000D_ _x005F_x000D_ Przeniesienie w wirtualną rzeczywistość, odczuwanie książek wszystkimi zmysłami, wwiercenie się w najgłębsze zakamarki wspomnień użytkownika...a może nieprzyjemna dystopia, w której piętnowani będziemy za lekturę książek niewygodnych dla wyższych instancji? _x005F_x000D_ Oto, wyglą...
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...
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...
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...
Python jest wieloparadygmatowym, wszechstronnym językiem programowania, zoptymalizowanym pod kątem efektywności pracy, czytelności kodu i jakości oprogramowania. Jego popularność rośnie, co wynika z wielości i różnorodności zastosowań oraz z tego, że jest darmowy i łatwo przenośny, można się go szybko nauczyć, a tworzenie kodu Pythona sprawia sporo przyjemności. Wszystkie te cechy dają zespołom deweloperskim strategiczną przewagę w dużych i małych projektach. Aby wykor...
Rozwój technologii służy również przestępcom. Wykrywanie śladów niewłaściwego użycia dotyczy maszyn, które zarówno posłużyły do przeprowadzenia ataków, jak i były ich przedmiotem. Obecnie dostępnych jest wiele opracowań poświęconych sposobom działania na miejscu zdarzenia i analizie działających systemów Linux za pomocą poleceń dostępnych po zalogowaniu się na pracującym urządzeniu. Równie ważną metodą pracy śledczej jes...
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&oacut...
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ść. ...
Twórcy aplikacji często zapominają o kodzie systemowym, a to dzięki niemu funkcjonują system operacyjny, sterowniki, system plików czy zarządzanie pamięcią. Żadna aplikacja nie będzie działać bez poprawnego kodu systemowego. Język Rust jest dla programistów systemowych wyjątkowym narzędziem, rozwiązującym wiele znanych od dziesięcioleci problemów. Pozwala uniknąć mnóstwa powszechnie popełnianych błędów i tworzyć należytej jakości kod ...
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...
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...
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ś...