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 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...
Grono entuzjastów sztucznej inteligencji stale rośnie. Jest już bowiem jasne, że stanowi ona dostępną metodę zmiany świata na lepsze. Pełnymi garściami ze zdobyczy AI czerpią naukowcy, analitycy danych, przedsiębiorcy i menedżerowie, a nawet politycy i ekonomiści. Jej możliwości wydają się dziś nieograniczone - aby je wykorzystać, wystarczy zdobyć gruntowną wiedzę i dobrze zrozumieć podstawy sztucznej inteligencji. Na pierwszy rzut oka nie są to trudne zadania. Choćby ze wzgl...
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...
Metody statystyczne są kluczowym narzędziem w data science, mimo to niewielu analityków danych zdobyło wykształcenie w ich zakresie. Może im to utrudniać uzyskiwanie dobrych efektów. Zrozumienie praktycznych zasad statystyki okazuje się ważne również dla programistów R i Pythona, którzy tworzą rozwiązania dla data science. Kursy podstaw statystyki rzadko jednak uwzględniają tę perspektywę, a większość podręczników do statystyki w ogóle nie zajmuje się narzędziami wywodzącymi ...
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 ...
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...
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ś...
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...
Termin jednorożec w odniesieniu do innowacyjnych, wartych co najmniej miliard dolarów startupów technologicznych pojawił się po raz pierwszy w 2013 roku i od razu zelektryzował świat. Wówczas do tej kategorii zaliczało się czterdzieści firm. Dziś stajnia jednorożców jest liczniejsza, rezyduje w niej bowiem ponad sześćset startupów, wywodzących się przede wszystkim z USA i Chin. Jednorożce, choć rozbudzają wyobraźnię i marzenia biznesowych wizjonerów na całym świecie, wciąż po...
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...
Rozwój technologiczny nie tylko zwiększył ilość i dostępność danych, ale również zaowocował wszechobecnością narzędzi do ich obróbki i prezentacji. W zasadzie każdy może tworzyć diagramy i prezentacje. Aby przykuć uwagę odbiorcy i przekazać mu informację zawartą w zbiorze danych, sama wiedza techniczna nie wystarczy. Problem wynika z tego, że większość ludzi nie ma naturalnej umiejętności przekładania danych na interesujące historie. Tego się po prostu trzeba nauczyć. Dopiero...
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...
Analiza danych albo nauka o danych jest interdyscyplinarną dziedziną, dzięki której hipotezy i dane przekształca się w zrozumiałe przewidywania. Predykcyjna analiza danych przynosi wymierne korzyści w wielu dziedzinach, od polityki począwszy, a na udzielaniu kredytów skończywszy. Osobą odpowiedzialną za tę magię jest analityk danych - człowiek, który zbiera i przygotowuje dane, wybiera technikę modelowania, pisze kod, weryfikuje wyniki swojej pracy, wreszcie komunikuje je int...
Python jest językiem łatwym do opanowania i przyjemnym dla programisty. Jednak łatwość projektowania nie przekłada się na szybkość działania kodu. W konsekwencji przetwarzanie dużych wolumenów danych czy próba skalowania aplikacji kończą się problemami z wydajnością lub niezawodnością. Niekiedy rozwiązaniem jest zastosowanie procesów szeregowych, w innych przypadkach warto sięgnąć do architektury wielordzeniowej, klastrów lub układów GPU. Relatywnie często okazuje się, że dob...
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).