Nawet bardzo doświadczony zespół niekiedy popełnia błędy, które mogą przesądzić o porażce obiecującego projektu. Aby uniknąć takich sytuacji, trzeba zadbać o odpowiednie testowanie kodu. To jednak bywa prawdziwym wyzwaniem dla frontendowców, którzy na co dzień skupiają się na innych aspektach pracy aplikacji. Obecnie deweloperzy mogą wybierać spośród rozlicznych narzędzi do testowania i wielu nowych metodyk. Na uwagę zasługują zwłaszcza frameworki służące do automatyzacji tes...
Mimo że dysponujemy coraz szybszym i wydajniejszym sprzętem, oprogramowaniu wciąż stawia się wyśrubowane wymagania: musi działać błyskawicznie i niezawodnie. Nieraz od jakości pracy systemu zależy bardzo dużo, nawet bezpieczeństwo i życie człowieka. Eliminacja źródłowych przyczyn problemów wydajnościowych jest jednak niezwykle trudnym zadaniem. Wymaga wiedzy o działaniu sprzętu, interakcjach między komponentami systemu, a także wysokiej klasy umiejętności programistycznych.Ta...
React jest biblioteką służącą do tworzenia interfejsów użytkownika. Ułatwia pisanie aplikacji internetowych, natywnych aplikacji dla iOS i Androida, oprogramowania dla telewizorów czy też natywnych aplikacji dla komputerów stacjonarnych. Dzięki tej bibliotece można szybko zbudować interfejs, który automatycznie będzie reagował na zmiany stanu aplikacji. Idea polega na użyciu małych, zarządzalnych komponentów do budowy nawet dużych i bardzo złożonych aplikacji. Aby zacząć prac...
Apache Spark jest oprogramowaniem open source, przeznaczonym do klastrowego przetwarzania danych dostarczanych w różnych formatach. Pozwala na uzyskanie niespotykanej wydajności, umożliwia też pracę w trybie wsadowym i strumieniowym. Framework ten jest również świetnie przygotowany do uruchamiania złożonych aplikacji, włączając w to algorytmy uczenia maszynowego czy analizy predykcyjnej. To wszystko sprawia, że Apache Spark stanowi znakomity wybór dla programistów zajmujących...
C++ to jeden z najpopularniejszych i najpotężniejszych języków programowania. Stanowi punkt wyjścia dla wielu innych języków, które odziedziczyły po nim składnię i liczne możliwości, dzięki czemu można śmiało stwierdzić, że znajomość C++ otwiera drzwi do świata nowoczesnego programowania i jest podstawą na wymagającym rynku pracy w branży informatycznej. Czasy się zmieniają, lecz to C++ jest wciąż wybierany wszędzie tam, gdzie liczą się możliwości, elastyczność, wydajność i s...
DAX i Power BI w analizie danych. Tworzenie zaawansowanych i efektywnych analiz dla biznesu Microsoft Power BI jest doskonałym narzędziem do profesjonalnej analizy danych. Jeśli jednak chcesz uzyskać za jego pomocą naprawdę spektakularne efekty, musisz się biegle posługiwać językiem DAX (Data Analysis Expressions). Pozwala on na wykonywanie zaawansowanych obliczeń i zapytań dotyczących danych w powiązanych tabelach i kolumnach w tabelarycznych modelach danych. To książka pr...
Zapewnienie bezpieczeństwa systemu informatycznego jest dziś nie lada wyzwaniem. Między administratorami a napastnikami trwa ciągły wyścig zbrojeń. Agresorzy dysponują bardzo różnymi narzędziami i często postępują w sposób nieprzewidywalny. W efekcie każde zabezpieczenie usługi czy zasobu, mimo że początkowo wydaje się doskonałe, prędzej czy później okazuje się podatne na ataki. Jedyną rzeczą, jaką może zrobić administrator bezpieczeństwa systemu, jest ciągłe utrzymywanie sta...
Filozofia Agile początkowo rozwijała się w zespołach programistów i szybko stała się synonimem elastyczności, wydajności i zdrowego rozsądku. Podejście to zakłada, że zespoły powinny się samoorganizować i samodzielnie decydować o wykonywaniu poszczególnych części projektu. W rzeczywistości nie wszystkie zespoły radzą sobie z tym stylem pracy. Szczególnie jest to widoczne w organizacjach z innych branż niż tworzenie oprogramowania. Pokonanie tych przeszkód jest niezwykle trudn...
W lutym 2001 roku grupa kilkunastu pasjonatów programowania zebrała się w Snowbird w stanie Utah, aby podyskutować na temat efektywności tworzenia oprogramowania i określić nowe zasady pracy. Nie był to cel łatwy do osiągnięcia. Siedemnaście osób o całkowicie różnych doświadczeniach i przekonaniach raczej rzadko wypracowuje wspólne stanowisko. A jednak w tym przypadku tak się stało i powstał Manifest Agile. Właśnie wtedy narodziła się jedna z najważniejszych idei w świecie op...
Tempo rozwoju współczesnych aplikacji jest zbyt duże, aby wciąż stosować skostniałe, stare metodyki zarządzania projektami. Obecnie należy błyskawicznie dostarczyć klientowi pierwszą wersję aplikacji i dopiero na podstawie jego uwag rozwijać oraz modyfikować program. Zwinne metodyki, w tym Scrum, pozwalają tego dokonać. Takie projekty nie zawsze są perfekcyjnie dopracowane, ale zazwyczaj pozwalają poznać opinię zleceniodawcy i lepiej zaplanować kolejne przebiegi - tzw. sprint...
Ile czasu marnujesz na wykonywanie monotonnych, długotrwałych zadań? Mowa o przeglądaniu setek stron czy plików, ręcznym przekształcaniu danych, rozsyłaniu e-maili, tworzeniu wykresów i wielu innych nudnych czynnościach. A gdyby tak zlecić tę pracę komputerowi, a samemu zająć się bardziej odpowiedzialnymi i kreatywnymi zadaniami? To jest do zrobienia — trzeba tylko poświęcić nieco czasu i odpowiednio wykorzystać dostępne rozwiązania, takie jak Python i imponująca kolekcja opr...
Drogi Czytelniku, właśnie trzymasz w rękach nowe wydanie książki zaliczanej do klasyki literatury informatycznej. Napisana przez autorów języka ANSI C w najlepszy możliwy sposób przedstawia arkana tego języka. A co można powiedzieć o samym języku? To też klasyka. To język wymagający systematyczności i skupienia, ale dający w zamian wiele możliwości i świetne wyniki. To najczęściej nauczany język programowania - jego znajomość stanowi znakomity fundament do poznania kolejnych,...
Bezpieczeństwo systemu informatycznego od dawna nie jest problemem wyłącznie administratora IT i jego zespołu. Różnorodność metod, socjotechnik i wyrafinowanych narzędzi wykorzystywanych do ataków oraz zacierania śladów sprawia, że zabezpieczenie usług czy zasobów musi być obowiązkiem całego personelu firmy - od prezesa po stażystę. Co więcej, bezpieczeństwo zasobów informatycznych wymaga systematycznej kontroli i systemowego podejścia, co wcale nie jest łatwym zadaniem. Z je...
MS Excel zasłużył już na miano kultowego. Od ponad 20 lat towarzyszy studentom, naukowcom, ekonomistom, analitykom i wielu innym ludziom. To wszechstronne narzędzie jest konsekwentnie rozwijane i rozbudowywane, a jego możliwości są coraz większe — dziś trudno byłoby znaleźć kogoś, kto dobrze znałby wszystkie jego funkcje! Nawet ci, którzy codziennie korzystają z tego świetnego arkusza, miewają problemy z odnalezieniem potrzebnej opcji. Bywa też, że nowości lub udoskonalenia w...
Nauka o danych, znana również pod nazwą data science, jest stosunkowo nową, interdyscyplinarną dziedziną, zajmującą się różnymi technikami analizy danych, ich implementacją i wykorzystywaniem do różnych celów. Zalety nauki o danych doceniają specjaliści z wielu branż: analitycy biznesowi, statystycy, architekci oprogramowania i osoby zajmujące się sztuczną inteligencją. Tak naprawdę ta dziedzina nie koncentruje się na kodowaniu i bazach danych, ale raczej na metodach wyłuskiw...
Uczenie maszynowe (ML) i sztuczna inteligencja (AI). Obok komputerów kwantowych to dwa główne, gorące tematy we współczesnej informatyce. Oba nieco tajemnicze, futurystyczne i przede wszystkim wymagające posiadania dość sporej wiedzy i umiejętności matematycznych. Stąd podręczniki akademickie poświęcone sztucznej inteligencji i uczeniu maszynowemu zwykle są grube, ciężkie i naszpikowane detalami. Niesprzyjające szybkiej nauce i w rzeczywistości wcale nie takie… podręczne.Inac...
Urządzenia mobilne zapewniają ogromną wygodę. Natychmiastowy dostęp do informacji czy dokumentu, niezależnie od lokalizacji użytkownika, jest czymś oczywistym. W ten sposób wszelkie ważne i wrażliwe informacje, takie jak dane pozwalające na identyfikację, dane finansowe czy poufne dokumenty, są cały czas na wyciągnięcie ręki — niestety, często ta ręka należy do kogoś, kto w żadnym przypadku nie powinien tych informacji uzyskać. Każdy, kto pisze aplikacje mobilne, musi pamięta...
Systemy operacyjne Windows 10 i Windows Server 2016 bardzo różnią się od swoich poprzedników. Są bardziej złożone, a niektóre zastosowane rozwiązania można określić jako zaawansowane i wysublimowane. Zwłaszcza znajomość wewnętrznych mechanizmów systemu, architektury jądra i systemowego modelu bezpieczeństwa okazuje się niezwykle istotna dla programistów i inżynierów ds. bezpieczeństwa. Bez tej wiedzy trudno mówić o prawdziwie niezawodnej pracy oprogramowania tworzonego dla ma...
Zagadnienia związane z sieciami komputerowymi są wyjątkowo złożone. Opanowanie tej tematyki wymaga przyswojenia sobie wielu pojęć oraz zrozumienia licznych protokołów i technologii, które dodatkowo są ze sobą powiązane w zawiły sposób. Konieczne jest również uwzględnienie gwałtownego rozwoju technologii sieciowych i rosnącej złożoności nowych aplikacji. Aby poradzić sobie z tymi zagadnieniami, konieczne jest całościowe ujęcie tematyki sieci komputerowych.Ta książka jest siódm...
Jeśli prowadzisz swoją firmę, na pewno wiesz, że właściwie każdy kolejny rok działalności przynosi nowe wymagania dla systemu informatycznego i potrzebę wdrożenia nowych aplikacji. Koszt takiej operacji nader często przyprawia o porządny ból głowy. Możliwość posłużenia się choćby w części bezpłatnym, a przy tym solidnym i bezpiecznym oprogramowaniem staje się w tych warunkach koniecznością. Być może w tym momencie myślisz o Linuksie i o tym, że jest to oprogramowanie bezpiecz...
Potencjał blockchainu jest ogromny i zapewne wciąż nie znamy wszystkich jego możliwych zastosowań. Jest to dosyć nowa, dynamicznie rozwijająca się technologia, jednak już teraz dostrzegalne są pewne jej ograniczenia. Problemem jest na przykład skalowalność Bitcoina. Rozwiązaniem wydaje się Lightning Network (LN), protokół drugiej warstwy, który zapewnia niemal natychmiastowe transakcje w systemie Bitcoin. Umożliwia on również zwiększenie szybkości i prywatności zawieranych tr...
Informacja zawarta w danych jest niezwykle cenna, jednak jej pozyskiwanie jest trudną sztuką. Aby do niej dotrzeć, trzeba poradzić sobie z coraz większą ilością danych. Rośnie więc zapotrzebowanie na zaawansowane techniki analizy danych. W niektórych przypadkach wystarczającym narzędziem do tego celu jest arkusz kalkulacyjny. Rozwiązanie to ma jednak ograniczenia, które pokonać może jedynie znakomity system do obsługi baz danych: Microsoft Access. Jest to oprogramowanie, któr...
Amazon Web Services (AWS) zdobywa coraz większe uznanie. Platforma AWS udostępnia znakomite rozwiązania, w tym usługi obliczeniowe, magazyn danych, obsługę sieci i usług zarządzanych. Aplikacje korporacyjne wdrożone w chmurze AWS mogą być wyjątkowo odporne, skalowalne i niezawodne. Aby takie były, administrator systemu musi jednak zrozumieć koncepcje zaawansowanego zarządzania chmurą i nauczyć się wykorzystywać je w praktyce zarówno podczas wdrażania systemu, jak i zarządzani...
Autor tego zbioru zadań jest programistą i nauczycielem. To prawdziwy pasjonat programowania ― w tym w języku C++ ― które traktuje jak przedłużenie ludzkiej mowy. Uważa, że praktycznie na wszystko, co robimy w życiu, można spojrzeć jak na wykonywanie funkcji i algorytmów, które opisujemy za pomocą słów. Od razu widać związek między podejściem humanistycznym i informatycznym! Dlatego też nauka programowania w żadnym stopniu nie jest opanowywaniem jakiejś specjalnej wiedzy tylk...
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).