Kilka lat temu świat uznał aplikacje monolityczne za przestarzałe i nie dość elastyczne, jednak do niedawna pojęcie mikrousług dotyczyło wyłącznie backendu. Naturalną konsekwencją ich rozwoju stało się budowanie na podobnych zasadach architektury frontendu. Mikrofrontendy zapewniają elastyczność i łatwość utrzymania. Pozwalają na zaprojektowanie systemu jako zbioru samowystarczalnych komponentów obejmujących własne interfejsy, logikę i bazy danych. Połączenie tych niezależnie...
Projektant frameworka tworzy dla innych programistów. To odpowiedzialne zadanie: celem jest zapewnienie większości potrzebnych elementów, które po dostosowaniu i połączeniu mają stać się aplikacją. Dobrze zaprojektowany framework pozwala na wygodną i efektywną pracę. Jest prosty, łatwy do rozwijania i dobrze integruje się z innymi narzędziami programistycznymi, językami czy modelami aplikacji. Projektant musi więc dobrze się orientować w zasadach tworzenia interfejsów API, bi...
SQL jest linqua franca dla profesjonalistów zajmujących się przetwarzaniem danych. To wyjątkowo dojrzałe narzędzie, z którego korzysta już kilka pokoleń inżynierów i programistów. Wydaje się jednak, że zbyt często ten język nie jest należycie wykorzystywany: wielu użytkowników posługuje się nim na co dzień, ale mało kto wychodzi poza stosunkowo proste zapytania. Tymczasem z możliwości nowoczesnego SQL mogą skorzystać nie tylko osoby zajmujące się bazami danych, ale także anal...
Unity to popularne środowisko do tworzenia gier komputerowych, które umożliwia szybkie rozpoczęcie pracy nawet zupełnie początkującym użytkownikom. Równocześnie pozwala w krótkim czasie uzyskać ciekawe efekty.Książka Unity. Programowanie dla nastolatków krok po kroku wprowadza w świat tworzenia gier komputerowych i w przystępny sposób przedstawia najważniejsze informacje, które pozwalają rozwinąć skrzydła początkującym game developerom. Jej lektura to także znakomity pretekst...
Framework Ansible jest potężnym narzędziem służącym do automatyzacji wdrożeń oprogramowania i zarządzania jego konfiguracjami. Oferuje proste i bardzo przydatne funkcje przeznaczone do automatyzacji wielowarstwowych środowisk za pomocą komunikacji niewymagającej agenta. Przydaje się także do obsługi ciągłej integracji i wdrażania oprogramowania (CI/CD) bez żadnego przestoju. Może służyć do różnych celów: przygotowania infrastruktury jako kodu, wdrożeń aplikacji czy automatyza...
Framework Laravel cieszy się rosnącą popularnością wśród programistów aplikacji w języku PHP. Jest szybki, potężny i elastyczny, można się go błyskawicznie nauczyć, a generowany przez niego kod cechują przejrzystość i czytelność. Co więcej, Laravel skupia wokół siebie zaangażowaną społeczność, która z jednej strony systematycznie tworzy nowe narzędzia i pakiety wzbogacające ten framework, z drugiej - chętnie śpieszy z pomocą w rozwiązywaniu problemów. Jest to więc świetny, dy...
Wdrożenie zasad projektowania dziedzinowego (DDD) jest szansą na uzyskanie doskonałych wyników projektowania oprogramowania dla złożonych wymagań biznesowych. Aby podejście DDD ujawniło swoje zalety, konieczne jest zrozumienie potrzeb użytkowników i zidentyfikowanie właściwych problemów do rozwiązania. Dopiero potem można przystąpić do budowania modeli. Zaangażowanie zainteresowanych stron biznesowych w ten proces nie zawsze jednak przebiega efektywnie. Konieczne jest zrozumi...
Uczenie głębokie zmienia oblicze wielu branż. Ta rewolucja już się zaczęła, jednak potencjał AI i sieci neuronowych jest znacznie większy. Korzystamy więc dziś z osiągnięć komputerowej analizy obrazu i języka naturalnego, wspierania badań naukowych czy budowania skutecznych strategii biznesowych - wchodzimy do świata, który do niedawna był dostępny głównie dla naukowców. W konsekwencji trudno o źródła wiedzy, które równocześnie byłyby przystępne dla zwykłych programistów i mi...
Szyfrowanie do niedawna było wiązane z bezpieczeństwem publicznym. Najbezpieczniejsze implementacje podlegały takim samym rządowym regulacjom jak przemysł zbrojeniowy. Do dzisiaj rządy i różnego rodzaju służby dążą do uzyskania możliwości odczytywania zaszyfrowanych danych. Tymczasem silna kryptografia jest podstawą globalnej ekonomii, zapewnia codzienną ochronę milionom użytkowników i większości organizacji. A to nie wszystko. Algorytmy szyfrujące, ich implementacja czy prog...
Robert C. Martin, znany jako Uncle Bob, to jeden z prawdziwych gwiazdorów branży IT, człowiek o niezwykłej charyzmie, rewelacyjnym podejściu do słuchaczy i poczuciu humoru. O jego czas wciąż biją się konferencje branżowe. Poza działalnością ekspercką Martin zajmuje się pisaniem książek — m.in. jest autorem znanego każdemu programiście tytułu „Czysty kod”. Książka, którą trzymasz w rękach, jest udaną kontynuacją tej pozycji.W trakcie lektury dowiesz się, jakie cechy charaktery...
Komputer do pracy potrzebuje liczb i danych. Człowiek chętniej wysnuwa wnioski i wyodrębnia kontekst na podstawie relacji. Te dwa sposoby myślenia są tak odmienne, że komputery do niedawna z trudem wykonywały zadania związane z operowaniem na relacjach. Obecnie może się to zmienić dzięki grafom. Technologie grafowe łączą ludzkie postrzeganie świata i liniową pamięć komputerów. Ich wdrożenie na szerszą skalę będzie stanowić przełom i pozwoli osiągnąć nieznany dziś poziom. Ale ...
Python to obecnie jeden z najpopularniejszych języków programowania, a jego znajomość zapewnia zatrudnienie w największych firmach i przy najciekawszych projektach w branży informatycznej. Szerokie możliwości, duża elastyczność i wszechstronność, przejrzystość i zwięzłość składni, czytelność i klarowność kodu, rozbudowany pakiet bibliotek standardowych, niemal nieograniczone zastosowanie w różnych dziedzinach nauki i biznesu - wszystko to sprawia, że język ten z pewnością utr...
Solver to dodatek do programu Microsoft Excel sprawiający, że ten doskonały arkusz kalkulacyjny zyskuje możliwość wyznaczania wartości wielu zmiennych decyzyjnych w taki sposób, aby przy zadanych ograniczeniach osiągać określony cel. Narzędzie nadaje się do rozwiązywania niewielkich i średnich problemów optymalizacyjnych i znajduje zastosowanie w ekonomii, finansach, zarządzaniu i planowaniu produkcji przemysłowej.Jeśli w swojej pracy masz do czynienia z koniecznością optymal...
Zapewnienie bezpieczeństwa IT jest wyjątkowo ważne. Organizacja musi pozostawać w ciągłej gotowości do wykrywania zagrożeń i reagowania na incydenty bezpieczeństwa. Przeciwnicy nieustannie się doskonalą i standardowy zestaw zabezpieczeń jakiś czas temu przestał wystarczać. Konieczne jest zbudowanie i wdrożenie kompleksowego systemu zapobiegania zagrożeniom, ich wykrywania i reagowania na nie. Podobnie jak na polu bitwy, tak i w planowaniu bezpieczeństwa IT zyskuje się przewag...
Nazwą PowerShell określa się dwa powiązane składniki: powłokę wiersza poleceń, instalowaną domyślnie praktycznie we wszystkich nowoczesnych systemach operacyjnych, oraz język skryptowy powłoki. Oba te elementy tworzą potężne i uniwersalne narzędzie, którego możesz używać do automatyzacji niemal wszystkiego: od szybkiego restartu setki serwerów po zbudowanie kompletnego systemu kontrolującego centrum danych. Aby nie tracić czasu na żmudne, powtarzalne obowiązki administratora,...
Jeśli uważasz, że język C dawno został odłożony do lamusa, jesteś w błędzie. Wielu inżynierów oprogramowania o nim zapomniało, jednak C wciąż cieszy się popularnością. Jest przy tym uważany za dość trudny język programowania, gdyż samo opanowanie jego składni to za mało, aby efektywnie go wykorzystywać. Właśnie dlatego ceni się programistów z wnikliwym i naukowym podejściem do reguł i praktyk. Tylko wtedy można wykorzystać możliwości języka C do tworzenia efektywnych systemów...
Sztuczna inteligencja ma umożliwiać wykorzystywanie danych i algorytmów do podejmowania lepszych decyzji, rozwiązywania trudnych problemów i automatyzowania złożonych zadań. Ma też zwiększać produktywność człowieka. Obecnie sztuczna inteligencja z rozmachem wkracza do kolejnych dziedzin. Budzi zachwyt, ale też kontrowersje i obawy. Nowe narzędzia, choćby były tworzone z najlepszymi intencjami, zawsze mogą zostać wykorzystane w niewłaściwy czy szkodliwy sposób. Oznacza to, że ...
Rewolucja technologiczna i szalona ekspansja internetu zmieniły wszystko. Coś, co nazywamy rewolucją informatyczną, grozi przesunięciem granic międzypaństwowych, zniszczeniem potężnych i szanowanych instytucji, naruszeniem tkanki społecznej i norm, a także zakwestionowaniem naszej prywatności oraz podważeniem tego, co dobre i co złe. Prywatne porachunki, pospolita przestępczość, wreszcie operacje wojenne przeniosły się do cyberprzestrzeni. Cyfrowa wojna stała się rzeczywistoś...
Zapewnienie bezpieczeństwa IT spędza sen z powiek nie tylko inżynierom, ale również menedżerom i kierownictwu organizacji. W tym zadaniu mają im pomóc różnorodne narzędzia, jednak ich skuteczne wykorzystanie wymaga nie tylko wyrafinowanej wiedzy technicznej. Konieczne jest nieco szersze spojrzenie na sprawy cyberbezpieczeństwa, aby zastosować właściwe strategie obronne i środki zaradcze. By podejmować trafne decyzje, potrzebna jest wiedza o najlepszych praktykach cyberbezpiec...
Nauka programowania na dobre zadomowiła się w szkołach, a umiejętności informatyczne są od lat sprawdzane na egzaminach maturalnych. Jej adepci zapewne zdają sobie sprawę, jakim wzięciem na rynku cieszą się osoby, które mogą się pochwalić znajomością Pythona. To język, który dzięki swoim możliwościom i wszechstronności znajduje zastosowanie w najróżniejszych dziedzinach nauki, przemysłu i biznesu.Książka Python na maturze. Rozwiązania i analiza wybranych zadań programistyczny...
Twórcy Javy od początku historii tego języka śmiało wprowadzali kolejne awangardowe innowacje, a pisane w niej aplikacje miały swój udział w napędzaniu internetowego postępu. Obecnie Java jest uważana za najpopularniejszy język programowania na świecie, a miliony deweloperów wciąż tworzą za jej pomocą oprogramowanie dla niemal każdego urządzenia wyposażonego w procesor. Java jest wyjątkowo wszechstronnym narzędziem: pozwala napisać zarówno prostą aplikację mobilną, jak i złoż...
Wzorce projektowe powinny się znaleźć w przyborniku każdego profesjonalnego programisty. Ich zaletą jest nie tylko łatwość tworzenia kodu wielokrotnego użytku, ale także możliwość szybkiego rozwiązywania złożonych zagadnień. Osoby, które chcą rozwijać swoje umiejętności programistyczne, mogą również wykorzystać wzorce projektowe do inspirującego dochodzenia, jak można rozwiązać konkretny problem na wiele sposobów - o zróżnicowanym stopniu zaawansowania technicznego i z zastos...
Java jest jednym z najpopularniejszych języków programowania. Równocześnie należy do najbardziej innowacyjnych technologii informatycznych; zawsze stanowiła awangardę. Programiści cenią Javę za dojrzałość, bezpieczeństwo i wszechstronność. Jednak nawet tak znakomity język niekiedy przysparza problemów podczas pracy. Mogą się one okazać całkiem proste do rozwiązania, jeśli tylko wiadomo, jak się do tego zabrać.Oto zbiór aktualnych i kompletnych receptur instruktażowych, z któr...
Komputery są wszędzie, a ich użyteczność stale rośnie. Łącząca je sieć ogromnie zwiększa ich możliwości. Dziś niemal każdy ma dostęp do komputera. Nadeszła era niezwykłego równouprawnienia i kreatywnej wolności. Jednak od jakiegoś czasu widoczny jest odwrotny trend: kilka wielkich korporacji coraz więcej z niej przejmuje i chce dyktować, co wolno, a czego nie wolno wykonać na komputerze. Oprogramowanie open source, zwłaszcza system Linuks, można traktować jako obronę szczegól...
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).