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...
W pewnym uproszczeniu łańcuch bloków (blockchain) jest rozproszoną bazą danych, która utrzymuje stale rosnącą liczbę rekordów danych zabezpieczonych kryptograficznie przed manipulacją i próbą naruszenia integralności. Może posłużyć jako rozproszona księga rachunkowa. Technologia ta cieszy się dużym zainteresowaniem, a niektórzy entuzjaści nazywają ją nawet przełomową. Aby zrozumieć, do czego łańcuch bloków może się przydać, poprawnie ocenić uzasadnienie biznesowe startupów wy...
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...
Wiedza o algorytmach jest niezbędna każdemu, kto rozwiązuje problemy programistyczne. Algorytmy są również ważne w teorii i praktyce obliczeń. Każdy programista powinien znać możliwie szeroki ich zakres. Powinien też umieć z nich korzystać przy rozwiązywaniu rzeczywistych problemów, w tym przy projektowaniu algorytmów, ich modyfikacji i implementacji. Niezależnie od tego, czy zajmujesz się sztuczną inteligencją, zabezpieczaniem systemów informatycznych lub inżynierią danych, ...
Mało kto lubi matematykę, zwłaszcza algebrę czy analizę matematyczną. Wydaje się trudna i niezrozumiała. Bardzo łatwo popełnić błędy podczas rozwiązywania równań różniczkowych czy całek. Jeśli jednak powierzysz najtrudniejszą i najżmudniejszą część obliczeń komputerowi, szybko się przekonasz, że to fascynująca dziedzina wiedzy. Docenisz też jej przydatność w różnych dziedzinach! Programy, które ułatwią Ci rozwiązywanie problemów matematycznych, łatwo napiszesz samodzielnie, w...
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...
Mathcad to wszechstronny program komputerowy do przeprowadzania obliczeń matematycznych i wizualizacji ich wyników. Jego możliwości i elastyczność sprawiły, że narzędzie zdobyło rzeszę wiernych użytkowników oraz znalazło szereg zastosowań w różnych dziedzinach nauki i techniki. Jak każde złożone oprogramowanie, Mathcad wymaga nauki, a tę najlepiej prowadzić na praktycznych przykładach.Książka zawiera 30 ciekawych, obszernych zadań, z których każde jest poświęcone innemu probl...
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...
SQL jest idealnym narzędziem do pracy z danymi. Mimo upływu lat jego znaczenie nie maleje, a sam język wciąż jest unowocześniany i rozwijany. Dziś szczególnie przydają się jego ogromne możliwości w zakresie przetwarzania danych. Co ciekawe, SQL pozwala również na stosowanie technik służących do zarządzania ogromnymi zbiorami informacji czy korzystanie z nierelacyjnych baz danych. Osoba, która obok Pythona czy R radzi sobie z SQL i potrafi z morza danych wyodrębnić użyteczne i...
Tworzenie oprogramowania, zwłaszcza dużych i złożonych aplikacji, bywa problemem. Często objawy złego planowania projektu nie mają wiele wspólnego z uwarunkowaniami technicznymi: wysoki poziom stresu, duża rotacja pracowników, wypalenie zawodowe, brak zaufania, niska samoocena, a nawet różnego rodzaju dolegliwości fizyczne. Przyczyny tego stanu rzeczy są podobne: określane w nierealny sposób koszty, terminy i wymagania. Później okazuje się, że wewnętrznej złożoności systemu n...
Umiejętna analiza danych jest warunkiem podejmowania działań i wprowadzania optymalnych zmian. Zagadnienie to wymaga uwagi kierownika projektu, obecnie bowiem powstają ogromne ilości danych, a w przyszłości tendencja ta będzie się zdecydowanie nasilać. Transformacja cyfrowa bez wykorzystywania licznych strumieni danych okaże się niemożliwa. Oznacza to, że trzeba wprowadzać mechanizmy pozyskiwania danych, ich oczyszczania, agregacji i prezentacji. Kolejnym etapem jest analiza....
Projektowanie usług oraz projektowanie wrażeń użytkownika nie dotyczy tylko oprogramowania. Narzędzia i techniki, jakie oferuje, można wykorzystać w praktycznym funkcjonowaniu właściwie każdej organizacji, której zależy na lepszym działaniu na rzecz klientów, obywateli czy własnych pracowników. Są bezcenne przy łączeniu silosów operacyjnych i doskonaleniu wewnętrznej współpracy w organizacji - dzięki wdrożeniu zasad projektowania usług można doprowadzić do tego, aby ludzie ws...
Python nie jest językiem idealnym, jednak przybywa programistów, którzy uważają go za bliski ideału. Wyróżnia się prostotą i wszechstronnością. Jest wdzięcznym narzędziem do badania danych i tworzenia systemów sztucznej inteligencji, uwielbiają go analitycy, ekonomiści i naukowcy. Może posłużyć do tworzenia stron WWW czy aplikacji specjalnego przeznaczenia. Python należy do najbardziej spójnych i czytelnych języków programowania. Jest przykładem całkiem udanego kompromisu pom...
Sieci komputerowe oplotły dosłownie cały świat, obecnie korzystają z nich miliardy użytkowników, a liczba urządzeń podłączonych do internetu znacznie przekracza populację Ziemi. Rewolucja informatyczna stała się możliwa właśnie dzięki powszechnej dostępności do sieci - to dzięki niej ludzie mogą bez kłopotu korzystać z zasobów zgromadzonych w najsłynniejszych bibliotekach i największych bazach danych, w dowolnej chwili sprawdzać najnowsze informacje ze świata, wygodnie słucha...
Suche dane nie są zajmujące. Trudno zdobyć szczere zaangażowanie odbiorcy, któremu przedstawia się zestaw danych, nawet jeśli niosłyby one ze sobą absolutnie wyjątkową wiedzę. Jest to zupełnie naturalne - ludzki umysł jest przystosowany do przetwarzania opowieści, a nie danych. Właśnie opowieści w magiczny sposób pochłaniają uwagę słuchaczy, wywołują emocje i uczucia, skłaniają do działania i osłabiają chęć krytycznego myślenia. Między opowiadającym a słuchaczem tworzy się ró...
Przybornik narzędziowy webmastera zmienia się bardzo szybko. Technologie, które parę lat temu były ciekawym eksperymentem, dziś są powszechnie stosowane. Responsywność stron internetowych stała się oczywistością. Modele Flexbox i Grid zrewolucjonizowały tworzenie układów stron internetowych. Zmieniły się używane formaty grafik, wzrosła też znacząco liczba narzędzi, które należałoby poznać. Naturalnie, wciąż można wskazać aspekty projektowania, które pozostały niezmienne - prz...
AutoCAD to bez wątpienia najpopularniejszy na świecie system projektowania wspomaganego komputerowo. Jednak nawet najlepsze narzędzie nie jest w stanie zmienić niedoświadczonego użytkownika w profesjonalistę. To można osiągnąć wyłącznie dzięki solidnej nauce popartej praktyką.Jeśli chcesz rozwinąć umiejętności projektowania za pomocą programu AutoCAD, sięgnij po tę książkę! Wprowadzi Cię ona w tajniki parametrycznego i nieparametrycznego projektowania 2D i 3D przy użyciu dowo...
Chmura obliczeniowa jest rozwiązaniem niezawodnym i zapewniającym wysoki poziom bezpieczeństwa systemu. Nowoczesne rozwiązania tego rodzaju charakteryzują się dużą elastycznością i skalowalnością, pozwalają na budowę i rozbudowę aplikacji, monitorowanie ich pracy oraz zarządzanie nimi, jak również bazami danych i innymi usługami w sposób globalny. Spośród chmur obliczeniowych jedne z najciekawszych i najbardziej innowacyjnych rozwiązań oferuje Google. Aby jednak optymalnie wy...
Język C# wciąż cechuje prostota, przy czym jego możliwości rosną z każdą wersją. Od początku jest rozwijany z konsekwencją, a każda nowa funkcjonalność idealnie integruje się z resztą języka. W efekcie C# jest dojrzały, nowoczesny, wszechstronny i bezpieczny. Stanowi integralną część platformy Microsoft .NET Framework. Profesjonalni programiści, którzy dbają o wysoką jakość tworzonego kodu, uważają C# i .NET za swoje ulubione narzędzie pracy. Wersja 8.0 tego języka sprawia, ż...
Każdy inżynier oprogramowania zna teoretyczne podstawy testowania. O tym, że sumienne przeprowadzenie testów ma podstawowe znaczenie dla jakości gotowego produktu, nie trzeba nikogo przekonywać. A jednak wciąż zbyt często okazuje się, że zaplanowanie, napisanie i przeprowadzenie testów jednostkowych w praktyce nie jest łatwym zadaniem. Co gorsza, niewłaściwe testy psują kod, mnożą błędy i zabierają mnóstwo cennego czasu i pieniędzy. Okazuje się, że dla uzyskania maksymalnej j...
Dawno temu młodziutki JavaScript służył do ozdabiania stron WWW. Dziś, choć wciąż jest niewielkim językiem skryptowym, jego możliwości są imponujące. Można go użyć do pisania dużych aplikacji dla różnych platform, a nawet oprogramowania obsługującego urządzenia w IoT. Jest też świetnym narzędziem do tworzenia API dla interfejsów użytkownika aplikacji internetowej, aplikacji natywnej dla urządzeń mobilnych i aplikacji dla komputerów biurkowych. Pracę ułatwiają nowe technologie...
Wydawałoby się, że ze względu na szeroki dostęp do materiałów poświęconych bezpieczeństwu systemów informatycznych, temat ten powinien być świetnie znany każdemu inżynierowi. Mimo to media regularnie donoszą o spektakularnych naruszeniach zabezpieczeń. Następstwem udanych ataków mogą być nie tylko straty finansowe i uszczerbek na wizerunku, ale również zagrożenie bezpieczeństwa narodowego. Zapewnienie wysokiego stopnia bezpieczeństwa systemu informatycznego wymaga ciągłego uc...
Systemy informatyczne oparte na chmurze stały się atrakcyjną alternatywą dla standardowej infrastruktury. Wymusiły jednak radykalne zmiany w praktykach tworzenia, wdrażania i utrzymywania aplikacji. Dziś uwaga profesjonalistów skupiona jest na Kubernetes, który w ciągu zaledwie kilku lat stał się faktycznym standardem wdrażania natywnej chmury. Aby tworzone aplikacje funkcjonowały wydajnie, bezawaryjnie i niezawodnie, warto wdrożyć i stosować wzorce i najlepsze praktyki. Koni...