Algorytmy to skończone ciągi jasno zdefiniowanych czynności, prowadzących do wykonania określonych zadań. Niniejszy podręcznik, skupiony na algorytmach imperatywnych (od łacińskiego słowa imporo – rozkazywać) wprowadza podstawowe pojęcia algorytmiki niezbędne do nauki programowania. Uczy projektowania, zapisywania i analizy poprawności, jak również podstaw szacowania złożoności czasowej i pamięciowej algorytmów. Wraz z książką, którą trzymasz w ręku między innymi:- Poznasz s...
Czterysta lat. Tyle czasu zajęłoby Ci uzupełnienie ― choćby jednym znakiem ― wszystkich komórek w arkuszu Excela. A tych w nowszych wersjach programu jest ponad 17 miliardów ― przeszło milion wierszy i dobrze ponad 16 tysięcy kolumn. Ktoś kiedyś dokonał takich (chyba zbędnych?) komórkowo-czasowych obliczeń. Po co? Pewnie dla zabawy. Gdzie? Może… w arkuszu Excela? Właściwie dlaczego nie. Wszak Excel to najpopularniejszy arkusz kalkulacyjny świata.Korzystanie z Excela zaczyna s...
Dziennikarstwo danych przeżywa dziś prawdziwy rozkwit. Dzieje się tak dlatego, że nasze życie w dużej mierze przeniosło się do internetu, a internet to... dane. Megabajty, gigabajty, terabajty danych. Misją współczesnego dziennikarza jest przedstawiać je społeczeństwu rzetelnie, a równocześnie pięknie, czyli w sposób zrozumiały, łatwy do przyswojenia. Nim się jednak owe dane pięknie zestawi, trzeba je znaleźć. Gdzie szukać? Jak je zdobyć? W jaki sposób opowiedzieć dane? Na ta...
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...
Jak prowadzić cyberśledztwo. Zabezpieczanie i analiza dowodów elektronicznych Przestępcy sięgają po coraz to nowsze metody. Inżynierowie potrafią wykrywać ślady nielegalnych działań, jeśli jednak celem jest ujęcie i ukaranie sprawcy, potrzeba czegoś więcej. Zadaniem śledczego jest nie tylko przeprowadzenie badań, ale również zabezpieczenie i analiza dowodów, wreszcie - przedstawienie wyników swojej pracy tak, aby można ich było użyć w postępowaniu sądowym. By tak działać, k...
Python? Idealny dla praktyków! Wiernym czytelnikom publikacji spod znaku wydawnictwa Helion Piotra Wróblewskiego przedstawiać nie trzeba. Dość wspomnieć, że jest on autorem wielu publikacji poświęconych głównie programowaniu i obsłudze komputerów. Jego najnowsza książka, Algorytmy w Pythonie. Techniki programowania dla praktyków, to ponad 500 stron konkretnych informacji związanych z nauką programowania w Pythonie. Podręcznik jest przeznaczony przede wszystkim dla tych, k...
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, ...
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 komponentów jest sposobem na zbudo...
Większość dzieciaków interesuje się fascynującym światem urządzeń elektrycznych. Obserwują, jak działa żarówka, zdalnie sterowany samochód czy odtwarzacz muzyki. Kiedy mały odkrywca postanawia sprawdzić, co one kryją w środku, często ofiarą tej niepohamowanej ciekawości pada jakiś gadżet. Warto pokazać najmłodszym, że elektronika najwięcej radości (i wiedzy!) daje wtedy, gdy zbuduje się coś własnymi rękoma! Właśnie konstruowanie coraz to bardziej skomplikowanych obwodów jest ...
Python to wyjątkowo praktyczny język programowania, idealnie nadający się do szybkiego rozwiązywania niecodziennych problemów, z którymi często borykają się koderzy. Nie wymusza on stosowania jednego stylu programowania, co pozwala na dużo większą elastyczność w trakcie pisania kodu. Umożliwia programowanie obiektowe, strukturalne i funkcyjne, a ponadto udostępnia zaawansowane mechanizmy zarządzania pamięcią, zapewnia dynamiczne sprawdzanie typów oraz czytelną składnię. Te ws...
W złożonej rzeczywistości myślenie systemowe jest kluczowym narzędziem pozwalającym odnieść się do licznych wyzwań: gospodarczych, ekologicznych, politycznych czy społecznych. Tylko w ten sposób w codziennych wiadomościach można dostrzec przejawy trendów, a w trendach - przejawy struktury. Zrozumienie tych procesów pozwala nie tylko na łatwiejszą egzystencję w świecie złożonych systemów, ale także na podejmowanie racjonalnych decyzji biznesowych czy politycznych. Bez myślenia...
Tworzenie skomplikowanych systemów informatycznych wymaga nowego podejścia. Dotychczas stosowane metody przestają się sprawdzać i generują mnóstwo problemów. Odpowiedzią na nie jest DomainDriven Design, w skrócie DDD. W tym podejściu szczególny nacisk kładzie się na tworzenie obiektów dokładnie odzwierciedlających zachowanie ich odpowiedników istniejących w rzeczywistości. Dzięki temu projektowanie systemu można powierzyć ekspertom z danej branży, którzy niekoniecznie muszą b...
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 ...
Rozwój technologii i dostęp do danych finansowych stały się ogromnym ułatwieniem w korzystaniu z globalnych rynków finansowych. Jeśli zechcesz, możesz szybko zacząć przygodę na przykład z handlem algorytmicznym. Wystarczy, że masz niewielkie pojęcie o matematyce, programowaniu i ekonomii. Niestety, nieliczne programy nauczania o finansach integrują ze sobą te trzy dziedziny. Tymczasem koncepcje matematyczne wspaniale ułatwiają zrozumienie pojęć z zakresu inżynierii finansowej...
Nie wystarczy znajomość jednego języka programowania, aby zostać programistą. W rzeczywistości trzeba opanować dość szeroki zakres pojęć i paradygmatów, a także zrozumieć zagadnienia związane z algorytmami. Trzeba być na bieżąco z nowymi technologiami i narzędziami. Należy również poznać i zacząć stosować dobre praktyki programistyczne i przyswoić sobie zasady pracy w zespole. Przede wszystkim jednak priorytetem jest sama praktyka, ponieważ wielu programistów wciąż ma problem...
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! Przeprowadzi Cię on krok po kroku przez najważniejsze zagadnienia i definicje związane z C++. Z pewnością docenisz to, że każde pojęcie, które należy opanować, zostało zilustrowane gotowym, działa...
Programowanie wciąga. Łatwo zapalić się do własnego pomysłu na świetny program, ale jeśli zabraknie umiejętności, nietrudno w poczuciu frustracji porzucić kod po napisaniu kilku linijek. Wiele osób, marząc o wykorzystywaniu imponujących możliwości Pythona, przepracowało cierpliwie liczne samouczki. Nie jest to zły sposób na rozpoczęcie przygody z programowaniem i przyswojenie składni języka. Ale do samodzielnego tworzenia kodu trzeba nieco innych umiejętności. Skąd jednak ma ...
Praca programisty wydaje się dziś znacznie prostsza niż kilkanaście lat temu. Wydaje się taka, ponieważ ma on dostęp do niezliczonych bibliotek przypisanych do języków programowania. Gdy pojawia się problem, sięga do biblioteki ― i po sprawie. Problem rozwiązany, zgadza się? I tak, i nie. Owszem, w wypadku prostych projektów wystarczy bazowa znajomość zasad programowania, podstawowa znajomość danego języka i wiedza na temat tego, co zawiera konkretna biblioteka. Tak jednak dz...
Robotyka jest bardzo ciekawą dziedziną inżynierii o ogromnym znaczeniu praktycznym. Wymaga znajomości kilku dyscyplin wiedzy, takich jak algorytmika, matematyka czy mechanika. Równocześnie roboty oddziałują na wyobraźnię i są przedmiotem zainteresowania uczniów na każdym poziomie edukacji, od przedszkolnego po uniwersytecki. O ile jednak początkowe zapoznawanie się z robotami polega głównie na zabawie i eksperymentach, o tyle poważniejsze studiowanie robotyki oznacza konieczn...
Oto propozycja dla specjalistów zajmujących się programowaniem sztucznej inteligencji i studentów kształcących się w tej dziedzinie. Autor przybliża tajniki tworzenia sieci neuronowych stosowanych w uczeniu głębokim i pokazuje, w jaki sposób używać w tym celu bibliotek Keras i TensorFlow. Objaśnia zagadnienia dotyczące programowania AI zarówno w teorii, jak i praktyce. Liczne przykłady, czytelna oprawa graficzna i logiczne wywody sprawiają, że to skuteczne narzędzie dla każde...
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ść powodowana przez właściwości a...
Język SQL został stworzony jako narzędzie do przetwarzania danych. Mimo że zwykle jest używany do pracy z bazami danych, jego możliwości są o wiele większe. Poprawny kod SQL ułatwia przetwarzanie potężnych zbiorów danych z dużą szybkością. Szczególnie obiecującą perspektywą jest zastosowanie języka SQL na wielkich zbiorach danych przechowywanych w chmurze. Dzięki nieco bardziej złożonym konstrukcjom SQL analityk danych może z dużą efektywnością wydobywać z nich wiedzę.Ta prak...
Rynek stron internetowych i aplikacji jest nasycony do granic możliwości. Użytkownicy mogą wybierać spośród setek produktów spełniających ich potrzeby. Jak sprawić, żeby wybrali właśnie Twoją witrynę lub aplikację? Jak przebić się na trudnym rynku i odnieść sukces? Na te pytania znajdziesz wiele odpowiedzi, ale najprostsza składa się z dwóch liter - UX! User eXperience, bo tak brzmi pełna nazwa, to pojęcie, które określa wrażenia użytkownika po kontakcie z produktem. Im lepsz...
Czy kiedykolwiek zastanawiałeś się nad tym, dlaczego na świecie istnieje aż tyle języków programowania i czym różnią się one od siebie? I których z tych języków warto się nauczyć? Na pewno co najmniej kilku, ale na Twojej krótkiej liście nie może zabraknąć Pythona! Ten język ma dwie potężne zalety: po pierwsze, jest znacznie łatwiejszy w nauce i bardziej intuicyjny niż choćby C czy C++, a po drugie, umożliwia tworzenie skryptów, czyli funkcjonalnych programów, przydających si...
Książka jest dokumentem piśmienniczym, obszernym zazwyczaj zapisem wszelkiej ludzkiej myśli. Występuje w postaci wielostronicowej publikacji o określonej liczbie stron i trwałym charakterze.
Postać dzisiejszej książki drukowanej ma formę kodeksu będącego zbiorem kartek połączonych grzbietem. Taki sposób utrwalania zapisu w momencie upowszechnienia pergaminu zastąpił wcześniejszą formę dokumentu piśmienniczego, jakim był zwój.
Według definicji Słownika języka polskiego PWN książka jest złożonym oraz oprawionym arkuszem papieru zadrukowanym tekstem o charakterze literackim, użytkowym bądź naukowym. Jednak współcześnie definicja ta powinna zostać poszerzona o książki elektroniczne będące cyfrowym odpowiednikiem tych drukowanych. Do książek elektronicznych zaliczane są zarówno ebooki, jak i audiobooki. Treść utrwaloną w formie elektronicznej można odczytać za pomocą odpowiedniego oprogramowania na laptopach, tabletach, smartfonach, a przede wszystkim na przeznaczonych do tego celu czytnikach.
E-książki odgrywają bardzo dużą rolę. Podjęty jakiś czas temu proces digitalizacji książek umożliwia dostęp do światowych zasobów wiedzy znacznie większej liczbie osób. Zbiory ksiąg to niepodważalne światowe dziedzictwo kultury, jednak ze względu na ograniczoną możliwość szybkiego dostępu do przechowywanych w księgozbiorach publikacji, a także brak możliwości jakiegokolwiek dostępu do dzieł o znacznej wartości historycznej proces digitalizacji daje szansę na udostępnianie światowych dzieł szerokiej masie odbiorców.
Okładka to wszystko, co zostało od zewnątrz trwale złączone ze znajdującym się w środku wkładem. Składa się z przedniej i tylnej okładziny (potocznie zwanej okładką), a także z grzbietu okładki. To właśnie okładka definiuje i określa ostateczny wygląd książki, gdyż determinuje między innymi sposób, w jaki łączą się ze sobą wszystkie kartki i jaka jest wewnętrzna budowa książki. Oprawy mogą być miękkie, twarde czy też zintegrowane – różnią się przede wszystkim wielkością, wagą, wytrzymałością oraz ceną. Przykładowo książki w twardej oprawie są większe, cięższe, bardziej wytrzymałe i droższe od tych w miękkiej.
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).