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ś...
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...
JavaScript pozwala na tworzenie znakomitego kodu, ale wymaga od programisty sporych umiejętności. Tworzenie nawet bardzo złożonych aplikacji jest jednak łatwiejsze dzięki dostępnym narzędziom. Szczególnym uznaniem cieszy się React - popularna biblioteka open source służąca do tworzenia dynamicznych aplikacji na bazie niewielkich komponentów wielokrotnego użytku. React jest narzędziem, które w stosunkowo prosty sposób pozwala w pełni skorzystać z mo...
Wyśledzenie luki w zabezpieczeniach aplikacji i przejęcie kontroli nad chronionym zasobem jest wyjątkowo ekscytującym doświadczeniem: oto dzięki własnym umiejętnościom można pokonywać kolejne ograniczenia i osiągać cele, które na pozór wydają się nierealne. Od pewnego czasu takie eksperymenty z hakowaniem można prowadzić całkowicie legalnie, a nawet nieźle na tym zarabiać. Wiele firm uruchamia programy bug bounty, w ramach których nagradza hakerów ...
C# jest uważany za flagowy produkt firmy Microsoft. Od początku był konsekwentnie rozwijany - z najwyższą troską o elastyczność i wszechstronność. W efekcie pozwala na pisanie bezpiecznego kodu. Wersja 9.0 jest ósmą poważną aktualizacją tego języka. Zapewnia wysokopoziomowe abstrakcje, takie jak wyrażenia, zapytania i kontynuacje asynchroniczne, ale także udostępnia niskopoziomowe mechanizmy pozwalające uzyskać maksymalną wydajność aplikacji. Cel ten jest osiągany dzię...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
Poznaj podstawy programowania funkcyjnego w Javie Java jest obiektowym, bazującym na klasach, współbieżnym językiem programowania. Niezwykłą popularność zawdzięcza on między innymi niezależności od platformy, łatwości pisania w nim programów i klarownemu kodowi. Nic więc dziwnego, że Javę pokochało wielu programistów. To do nich jest skierowana dwuczęściowa publikacja Java. Zadania z programowania, której autorem jest Mirosław J. Kubiak. Jej drug...
Programowanie w Javie - szybko i konkretnie "Jeśliby posadzić milion małp przy milionie klawiatur, któraś z nich napisze w końcu program w Javie. Reszta zrobi to w Perlu" - głosi jedna z informatycznych anegdot punktujących Javę. Cokolwiek by jednak mówić o tym języku programowania, trzeba przyznać, że powstały w nim kod jest niezależny od systemu operacyjnego i procesora. Właśnie ta cecha stanowi o ogromnej popularności Javy. Jeśli chcesz dołączyć d...
Go pojawił się w 2009 roku, służy do tworzenia usług internetowych. Pozwala na łatwe pisanie wydajnych aplikacji. Zdobył popularność, jednak wielu programistów nie wykorzystuje w pełni jego możliwości. Dotyczy to zwłaszcza osób, które przy pisaniu kodu Go korzystają z konstrukcji właściwych dla innych języków. Nie jest to właściwa metoda programowania. Aby tworzyć przejrzysty, prawidłowy kod w Go, należy do niego podejść w sposób idiomatyczn...
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._x005F_x...
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...
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).