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...
Rosnąca dostępność danych sprawiła, że data science i uczenie maszynowe są powszechnie używane do przeróżnych celów. Równocześnie wiele osób pomija analizy matematyczne przed rozpoczęciem przetwarzania danych. A to wiąże się z ryzykiem popełnienia istotnych błędów już na etapie projektowania danego systemu. Dopiero dogłębne zrozumienie niektórych koncepcji matematycznych i umiejętność ich praktycznego zastosowania sprawia, że kandydat na analityka danych ma szansę osiągnąć po...
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...
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...
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,...
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...
Powiedz, jakie są Twoje relacje z królową nauk. Lubisz ją czy spotykacie się wyłącznie służbowo? A może po nocach śnisz o tym, jak stoisz przed tablicą z kredą w ręku, przed sobą masz równanie do rozwiązania, a w głowie absolutną, przerażającą pustkę? Mamy nadzieję, że nie, ale (także z własnych) doświadczeń wiemy, że cóż... to się zdarza.A nie powinno!Ponieważ matematyka wcale nie jest straszna. Matematyka powinna być, bywa, jest zabawna! Podczas rozwiązywania zadań matematy...
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...
Rezystory, kondensatory, cewki, diody, tranzystory... Przeciętny zjadacz chleba traci wątek już w tym momencie, a to zaledwie kilka podstawowych typów elementów elektronicznych, z których można zbudować nieskończoną liczbę obwodów pełniących rozmaite funkcje. Urządzenia elektroniczne są wszędzie, mimo to niewielu z nas naprawdę rozumie ich działanie i potrafi naprawić choćby najprostsze z nich. Dlaczego?Powodów jest wiele. Elektronika wydaje się skomplikowana, działania poszc...
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...
Mijają lata, a systemy Unix i Linux są ciągle gwarancją najwyższej niezawodności, wydajności i elastyczności. Ich potencjał jest niekwestionowany, a odporność na niestandardowe warunki zapewnia bezawaryjną pracę w różnych sytuacjach. To wszystko sprawia, że systemy te wykorzystywane są w dużych i złożonych organizacjach. Ich sieci wymagają profesjonalnego administrowania, co jest trudną i odpowiedzialną pracą. Łatwo skonfigurować pojedynczy system, znacznie trudniej jednak za...
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...
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...
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...
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 tworzenia złożonych projektów, czy też do pra...
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 podstawowe pojęcia z zakresu sieci (takie jak router, przełącznik), ...
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.