JavaScript to język, który w dużej mierze ukształtował współczesne strony WWW. Dzięki niemu możemy swobodnie korzystać z interaktywnych, wygodnych w użyciu oraz niezawodnych aplikacji internetowych. Pojawienie się JavaScriptu pozwoliło zastąpić tradycyjne aplikacje desktopowe nowymi, pracującymi w chmurze. Wokół języka powstało już wiele narzędzi i bibliotek. Jedną z najpopularniejszych jest jQuery.Jeżeli chcesz poznać potencjał tego duetu i zacząć tworzyć atrakcyjne aplikacj...
Selenium pozwala na automatyzację pracy przeglądarek internetowych. Kluczowym komponentem tego projektu open source jest Selenium WebDriver - biblioteka do programistycznego kontrolowania przeglądarek. Podstawowym zastosowaniem Selenium jest implementacja testów systemowych w celu weryfikacji funkcjonowania aplikacji. Narzędzie to zdobyło ogromną popularność - stanowi ono jedno z wiodących rozwiązań w zakresie testów systemowych. Jest chętnie używane zarówno przez duże organi...
Architekt ma w sobie coś z boga. Przecież kreuje świat. Formę i funkcję budynków, krajobrazy, a nawet przestrzeń naszych mieszkań. Wpływa na otoczenie, świadomie umieszczając w nim kolejne elementy, zmieniające lub podkreślające charakter przestrzeni. Architekci potrafią zaprojektować prawdziwe dzieła sztuki, doskonałe zarówno wizualnie, jak i użytkowo - czyniące życie po prostu piękniejszym.Jeśli właśnie takie projekty stanowią dla Ciebie inspirację i motywują Cię do tego, b...
Język C#, sztandarowe dzieło Microsoftu, jest rozwijany stopniowo i ze starannością. Wciąż cechuje go prostota, a jego możliwości konsekwentnie rosną. Każda nowa funkcjonalność idealnie integruje się z resztą języka. W efekcie C# jest dojrzały, nowoczesny, wszechstronny i bezpieczny. Jego kolejne wydanie, oznaczone numerem 10.0, różni się od poprzednich, więc aby programowanie w C# pozostało efektywne i satysfakcjonujące, trzeba opanować niuanse nowej wersji języka i narzędzi...
Sztuczna inteligencja staje się powoli nieodzownym składnikiem naszego życia. Przeszła długą drogę od modnego hasła pojawiającego się głównie w specjalistycznych publikacjach do technologii mającej realny wpływ na naszą codzienność. Z każdym dniem lepiej radzi sobie z coraz bardziej zaawansowanymi zadaniami, już nie tylko wygrywając mecze z arcymistrzami szachowymi, lecz również analizując ogromne zbiory danych, tłumacząc teksty, prowadząc samochody, rozpoznając ludzką mowę, ...
Potrzeby w zakresie analizy dużych zbiorów danych i wyciągania z nich użytecznych informacji stale rosną. Spośród dostępnych narzędzi przeznaczonych do tych zastosowań szczególnie przydatny jest PySpark - interfejs API systemu Spark dla języka Python. Apache Spark świetnie się nadaje do analizy dużych zbiorów danych, a PySpark skutecznie ułatwia integrację Sparka ze specjalistycznymi narzędziami PyData. By jednak można było w pełni skorzystać z tych możliwości, konieczne jest...
Gra o cyberbezpieczeństwo jest fascynująca i toczy się o wysoką stawkę. W każdej organizacji są dane, które trzeba chronić przed stale rosnącą liczbą zagrożeń. Jeśli to się nie uda, musimy się liczyć z uszczerbkiem na wizerunku, ze stratami finansowymi, a w niektórych wypadkach nawet z utratą zdrowia lub życia człowieka. Dlatego ważne jest, aby koncepcje bezpieczeństwa defensywnego były znane nie tylko inżynierom do spraw bezpieczeństwa, ale także wszystkim specjalistom IT. J...
Maxine, utalentowana programistka i architektka oprogramowania, zbudowała wiele systemów w niesprzyjających środowiskach. Była obdarzona znakomitą intuicją i imponowała wiedzą. Nie miała sobie równych, jednak i tak została kozłem ofiarnym. Afera z listą płac trafiła na pierwsze strony gazet. Jej przełożeni bez wahania obarczyli Maxine winą za problem i ukarali ją zesłaniem do pracy przy projekcie Feniks. Projekt oficjalnie nazywano prestiżowym, ale prawda przedstawiała się du...
Doczekaliśmy czasów, gdy niemal każdy ma możliwość fotografowania. Zalewa nas morze zdjęć, z których podobają się nieliczne, a zaledwie pojedyncze zapadają w pamięć. Tymczasem wykonanie pięknej, budzącej zachwyt fotografii przynosi ogromną satysfakcję. Jeśli próbowałeś tej sztuki, wiesz, jak trudne i frustrujące mogą być początki. W takich chwilach przydałby się mistrz-przyjaciel, który w odpowiedniej chwili krótko i prosto podpowiedziałby: Zrób to w ten sposób! Ta książka je...
Linux zdobył popularność zarówno wśród użytkowników, jak i administratorów sieci i zaskarbił sobie ich uznanie. Stało się tak nie bez powodu, ponieważ pozwala on na uzyskanie imponującej elastyczności usług sieciowych przy relatywnie niewielkich kosztach. Usługi sieciowe Linuksa mogą zapewnić funkcjonalność niedostępną w przypadku innych systemów. Dzięki nim można stworzyć solidnie zabezpieczone, efektywne i doskonale dopasowane do szczególnych potrzeb organizacji środowisko ...
Popularność urządzeń mobilnych z roku na rok rośnie. Nic dziwnego ― nowoczesny telefon komórkowy można zabrać ze sobą wszędzie i skorzystać z niego praktycznie w każdej sytuacji, w zastępstwie komputera stacjonarnego czy laptopa. To także sprawia, że na swoich smartfonach gromadzimy coraz więcej danych, często osobistych, jak zdjęcia, filmy, hasła czy karty płatnicze. Mogą się one stać łakomym kąskiem dla osoby postronnej, której zamiarem jest wykorzystać je w nieuprawniony s...
Język SQL zwykle służy do pracy z bazami danych. Poprawnie napisany kod SQL przetwarza z dużą szybkością potężne zbiory danych, dlatego stanowi wymarzone narzędzie dla analityków danych. Tymczasem wielu z nich zleca wykonywanie raportów z baz czy hurtowni danych innym osobom. Taki sposób pracy jest nieefektywny - o wiele lepszym rozwiązaniem jest opanowanie języka SQL i samodzielne projektowanie oraz wyodrębnianie potrzebnych zbiorów danych.Ten przystępny przewodnik jest prze...
Dzisiejszy C++ jest wyjątkowym językiem programowania. Umożliwia pisanie zwięzłego, stabilnego kodu, który można zoptymalizować pod kątem wydajności w niespotykanym dotychczas stopniu. Język C++ w ciągu ostatnich lat został unowocześniony. W standardzie C++ 20 znalazło się sporo mechanizmów, które pozwalają osiągnąć wysoką efektywność kodu, a równocześnie uprzyjemniają programiście pracę. Poprawiono także ustawienia domyślne kompilatora. To wszystko sprawia, że wielu profesjo...
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...
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...
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,...