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...
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ś...
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...
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...
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ą tr...
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ów...
Baw się ― i ucz się programowania! Programowanie to dziś niezwykle ważna umiejętność. I wszystko wskazuje na to, że jego znaczenie będzie tylko rosło. Warto więc zawczasu pomyśleć o przyszłości swojego dziecka i pomóc mu rozpocząć przygodę z programowaniem. Tym bardziej że istnieje Scratch ― język kodowania, wokół którego skupia się liczna społeczność internetowa ― pozwalający tworzyć własne interaktywne historie, gry i animacje i dziel...
Mimo że osiągnięcia matematyczne stały się podwalinami algorytmiki, wielu inżynierów nie w pełni rozumie reguły matematyki dyskretnej. Nawet jeśli nie stanowi to szczególnego problemu w codziennej pracy, w końcu okazuje się, że matematyka dyskretna jest niezbędna do osiągnięcia prawdziwej biegłości w operowaniu algorytmami i w pracy na danych. Co więcej, znajomość tej dziedziny bardzo ułatwia rozwiązywanie problemów z zakresu uczenia maszynowego. W ten sp...
Większość poważnych organizacji docenia wartości płynące z danych. Doświadczeni analitycy potrafią nie tylko wyciągać z ich zbioru informacje niezbędne do podejmowania decyzji biznesowych, ale także zastosować odpowiednie style wizualizacji danych i tworzyć przekonujące narracje cyfrowe. Przy tym wszystkim konieczne jest pełne wdrożenie zasad bezpieczeństwa danych. Niezastąpionym narzędziem dla specjalisty BI może być pakiet samoobsługowych narzędzi analitycznych Microsoft Po...
Doskonałe opanowanie dowolnego języka programowania nie wystarczy do tego, aby stać się świetnym programistą czy deweloperem. Konieczne jest również zdobycie praktycznej wiedzy dotyczącej algorytmów. Oznacza to, że aby pisać lepszy kod, podczas rozwiązywania rzeczywistych problemów trzeba umieć korzystać z algorytmów, włączając w to ich budowanie, modyfikację i implementację. Niezależnie od tego, jaką dziedziną informatyki się zajmujesz, biegłość w...
Książka Sylwestra Walczaka jest poświęcona Django, wolnej, otwartoźródłowej platformie programistycznej służącej do tworzenia aplikacji internetowych. Autor udowadnia, że wbrew obiegowym opiniom Django jako framework nadaje się do budowy mikroserwisów - autonomicznych usług, które współpracują ze sobą, tworząc na przykład serwis internetowy. Odwołuje się przy tym do API potrzebnego do obsługi kawiarni. Jest to więc swojego rodzaju instrukcja, kt&oa...
Linux cieszy się dużą popularnością wśród administratorów i użytkowników. Znakomicie sprawdza się nawet na bardzo skromnym sprzęcie. Działa na komputerach Raspberry Pi, na maszynach wirtualnych i na komputerach marsjańskich łazików. Niezależnie od tego systemy linuksowe są cały czas rozwijane i dostosowywane do najnowszych trendów i technologii systemów informatycznych. Niezależnie od tego, czy używasz Linuksa do programowania, do two...
Matematyka jest… prosta! Wielu uczniom ― ale także ich skazanym na opłacanie kosztownych korepetycji rodzicom ― matematyka kojarzy się jak najgorzej. Nie każdy nauczyciel bowiem potrafi przekazać swoją pasję do tego przedmiotu w taki sposób, by zainspirować młodego człowieka. Nie każdy też umie wytłumaczyć (pozornie) skomplikowane reguły algebraiczne i nauczyć trików pozwalających liczyć prościej, sprytniej i zupełnie bez problemów.&nb...
Spośród wielu koncepcji tworzenia oprogramowania na szczególną uwagę zasługuje model programowania sterowanego testami, znany jako TDD. Technika ta opiera się na integracji procesów projektowania aplikacji i pisania kodu z prowadzeniem testów. Mimo że taki sposób pracy wydaje się dość wymagający dla zespołów deweloperów, łatwo się przekonać, że TDD pozwala na stałe uzyskiwanie dobrych efektów, a opracowane tą metodą apli...
Systemy oparte na uczeniu maszynowym są coraz bardziej wyrafinowane. Spośród wielu narzędzi służących do implementacji algorytmów uczenia maszynowego najpopularniejszy okazał się Python wraz z jego bibliotekami. Znajomość tych narzędzi umożliwia sprawne tworzenie systemów uczących się, jednak uzyskanie spektakularnych wyników wymaga doświadczenia i wprawy. Konieczne są więc ćwiczenia i praktyka w samodzielnym rozwiązywaniu problemów. To trz...
Przez ostatnie trzydzieści lat Python intensywnie się rozwijał. Stał się dojrzałym językiem programowania, nadającym się do tworzenia zarówno niewielkich, wyspecjalizowanych narzędzi, jak i złożonych systemów. Zakres jego możliwości poszerzają liczne biblioteki i narzędzia. Ta wszechstronność i bogactwo stanowią jednak duże wyzwanie dla programistów, którzy chcieliby nie tyle poznać poszczególne funkcje tego języka, ile dogłębnie go zrozumie...
JavaScript i jego następca, TypeScript, od lat są ulubionymi językami programowania zawodowców. Mogą oni korzystać z całej gamy wspaniałych narzędzi i frameworków, takich jak React, Node.js czy też Redux, Express i GraphQL. Dają one możliwość pisania całych aplikacji, zarówno części klienckich, jak i serwerowych, w jednym języku. Programiści coraz częściej doceniają korzyści, jakie płyną z tworzenia rozwiązań obejmujących pełny stos technologiczny. Jest t...
Scratch jest projektem MIT Media Lab. Początkowo miał służyć młodym ludziom do nauki programowania, ale szybko zaczął pełnić również inne funkcje. Jest jak cyfrowa piaskownica, w której każdy może nie tylko nauczyć się podstaw kodowania, ale także ćwiczyć kreatywność, umiejętność pracy w zespole i zdolność do wynajdywania nieszablonowych rozwiązań, na przykład podczas projektowania gier. Scratch jest bowiem świetnym narzędziem do tworzenia najróżniejszych...
Od zera do SEO-bohatera! 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ąć zw...
Popularność Pythona, ulubionego języka programistów i naukowców, stale rośnie. Jest on bowiem łatwy do nauczenia się: nawet początkujący programista może napisać działający kod. W efekcie, mimo że Python pozwala na pisanie kodu przejrzystego i prostego w konserwacji, zdarzają się przypadki kodu źle zorganizowanego, nieczytelnego i praktycznie nietestowalnego. Jedną z przyczyn tego stanu rzeczy jest tendencja niektórych programistów do pisania kodu ...
Montuj filmy jak profesjonalista! Program DaVinci Resolve to absolutny fenomen wśród oprogramowania służącego do montażu wideo. Równie chętnie bowiem korzystają z niego specjaliści z największych wytwórni filmowych Hollywood, jak amatorzy w zaciszu własnych domów. Dzieje się tak, ponieważ DaVinci oferuje szerokie możliwości, i to zarówno w wydaniu płatnym (Studio), jak i darmowym ― prawdę mówiąc, wersje różnią się ledwie...
Twoje dziecko wreszcie zrozumie matematykę! Matematyka z natury rzeczy nie jest łatwa. Dla wielu to najtrudniejszy przedmiot w szkole. Sprawia problemy nie tylko uczniom, ale także tym, którzy jej uczą. Niełatwo przygotować lekcje tak, aby uczynić zrozumiałym to, co trudno zrozumieć. Autorka przekonała się o tym w czasie swojej pracy jako nauczycielka, a teraz swoimi pomysłami dzieli się z czytelnikami, proponując scenariusze lekcji w szkole podstawowej. Zgromadzony t...
Zabaw się w elektronika! Poznaj kolejne etapy powstawania układów Zaprojektuj układy analogowe i cyfrowe Zbuduj przydatne urządzenia elektroniczne Czy ktoś, kto pisze o bramkach (logicznych), opowiada o sporcie? Czy miejsce multiwibratora jest na półce w sklepie z gadżetami erotycznymi? Czy słowo "negator" oznacza osobę będącą zawsze na "nie"? Odpowiedzi na te (tendencyjne!) pytania znajdziesz w najnowszej, książce z serii Elektronika ...