Programowanie
Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna
Maria Markstedter
Procesory ARM są coraz popularniejsze w urządzeniach mobilnych, laptopach i serwerach. Rosnąca popularność czyni je interesującymi dla badaczy bezpieczeństwa. Specjaliści z tej branży często używają technik inżynierii wstecznej podczas badania plików binarnych. W tym celu konieczne jest zapoznanie się z poleceniami asemblera ARM. Książkę szczególnie docenią analitycy bezpieczeństwa, którzy chcą się zapoznać z zestawem poleceń ARM i zdobyć wiedzę umożliwiającą im efektywne korzystanie z technik inżynierii wstecznej. Poza zestawem potrzebnych poleceń znalazło się w niej mnóstwo przydatnych informacji. Znajdziesz tu przegląd podstawowych zagadnień związanych z systemem operacyjnym, wyjaśnienie, czym są polecenia asemblera i na czym polega proces kompilacji pliku, a także opis mechanizmów działania poleceń służących do przetwarzania danych, dostępu do pamięci i kontroli przepływu sterowania. W kolejnych rozdziałach zapoznasz się z przeglądem technik inżynierii wstecznej, takich jak analiza statyczna i dynamiczna, jak również z kompleksowym omówieniem złośliwego oprogramowania, które może ją utrudniać. W książce: wprowadzenie do architektury ARM zestawy poleceń: A64, A32 i T32, a także format plików ELF przegląd wzorców przepływu sterowania w procesorach ARM narzędzia inżynierii wstecznej proces dezasemblowania i debugowania plików binarnych ARM w systemie Linux typowe narzędzia do dezasemblowania i debugowania plików binarnych ARM Poznaj moc inżynierii wstecznej!
Bethany Griggs
A key technology for building web applications and tooling, Node.js brings JavaScript to the server enabling full-stack development in a common language. This fourth edition of the Node Cookbook is updated with the latest Node.js features and the evolution of the Node.js framework ecosystems.This practical guide will help you to get started with creating, debugging, and deploying your Node.js applications and cover solutions to common problems, along with tips to avoid pitfalls. You'll become familiar with the Node.js development model by learning how to handle files and build simple web applications and then explore established and emerging Node.js web frameworks such as Express.js and Fastify. As you advance, you'll discover techniques for detecting problems in your applications, handling security concerns, and deploying your applications to the cloud. This recipe-based guide will help you to easily navigate through various core topics of server-side web application development with Node.js.By the end of this Node book, you'll be well-versed with core Node.js concepts and have gained the knowledge to start building performant and scalable Node.js applications.
David Mark Clements
The principles of asynchronous event-driven programming are perfect for today's web, where efficient real-time applications and scalability are at the forefront. Server-side JavaScript has been here since the 90's but Node got it right. With a thriving community and interest from Internet giants, it could be the PHP of tomorrow.Node Cookbook shows you how to transfer your JavaScript skills to server side programming. With simple examples and supporting code, Node Cookbook talks you through various server side scenarios often saving you time, effort, and trouble by demonstrating best practices and showing you how to avoid security faux pas.Beginning with making your own web server, the practical recipes in this cookbook are designed to smoothly progress you to making full web applications, command line applications, and Node modules. Node Cookbook takes you through interfacing with various database backends such as MySQL, MongoDB and Redis, working with web sockets, and interfacing with network protocols, such as SMTP. Additionally, there are recipes on correctly performing heavy computations, security implementations, writing, your own Node modules and different ways to take your apps live.
Mario Casciaro, Luciano Mammino
Node.js is a massively popular software platform that lets you use JavaScript to easily create scalable server-side applications. It allows you to create efficient code, enabling a more sustainable way of writing software made of only one language across the full stack, along with extreme levels of reusability, pragmatism, simplicity, and collaboration. Node.js is revolutionizing the web and the way people and companies create their software.In this book, we will take you on a journey across various ideas and components, and the challenges you would commonly encounter while designing and developing software using the Node.js platform. You will also discover the Node.js way of dealing with design and coding decisions.The book kicks off by exploring the basics of Node.js describing it's asynchronous single-threaded architecture and the main design patterns. It then shows you how to master the asynchronous control flow patterns,and the stream component and it culminates into a detailed list of Node.js implementations of the most common design patterns as well as some specific design patterns that are exclusive to the Node.js world.Lastly, it dives into moreadvanced concepts such as Universal Javascript,and scalability' and it's meant to conclude the journey by giving the reader all the necessary concepts to be able to build an enterprise grade application using Node.js.
Mario Casciaro
Node.js is a massively popular software platform that lets you use JavaScript to easily create scalable server-side applications. It allows you to create efficient code, enabling a more sustainable way of writing software made of only one language across the full stack, along with extreme levels of reusability, pragmatism, simplicity, and collaboration. Node.js is revolutionizing the web and the way people and companies create their software.In this book, we will take you on a journey across various ideas and components, and the challenges you would commonly encounter while designing and developing software using the Node.js platform. You will also discover the Node.js way of dealing with design and coding decisions.The book kicks off by exploring the fundamental principles and components that define the platform. It then shows you how to master asynchronous programming and how to design elegant and reusable components using well-known patterns and techniques. The book rounds off by teaching you the various approaches to scale, distribute, and integrate your Node.js application.
Nowoczesna analiza danych w Excelu. Power Query, Power Pivot i inne narzędzia
George Mount
Organizacje stosują zaawansowane narzędzia i techniki, aby umożliwić podejmowanie decyzji na podstawie danych. Jeszcze do niedawna MS Excel nie był w stanie sprostać wymaganiom analityków, obecnie jest wschodzącą gwiazdą w świecie nowoczesnej analizy danych. Kluczem do sukcesu stało się opanowanie takich narzędzi jak Power Pivot czy Power Query. Dzięki tej praktycznej książce przekonasz się, że w Excelu możesz przeprowadzić dogłębną analizę danych i wyciągnąć z nich cenną wiedzę. Wystarczy, że skorzystasz z najnowszych funkcji i narzędzi Excela. W poradniku pokazano, jak za pomocą Power Query budować przepływy pracy porządkujące dane i jak projektować w skoroszycie relacyjne modele danych przy użyciu Power Pivot. Ponadto odkryjesz nowe możliwości przeprowadzania analiz, w tym dynamiczne funkcje tablicowe i pozyskiwanie wartościowych informacji z wykorzystaniem sztucznej inteligencji. Dowiesz się również, jak za sprawą integracji z Pythonem zautomatyzować analizę danych i budować raporty. W książce: tworzenie procesów porządkujących dane w Excelu za pomocą Power Query relacyjne modele danych i wskaźniki analityczne w Power Pivot korzystanie z dynamicznych funkcji tablicowych zastosowanie AI do identyfikacji wzorców i trendów w danych integracja funkcjonalności Pythona z Excelem Książka jest łatwa w odbiorze, praktyczna i pomocna dla analityków, a także zwykłych użytkowników! Meghan Finley, autorka i redaktorka tekstów technicznych
David Farley
Inżynieria oprogramowania polega na stosowaniu empirycznego podejścia do szukania wydajnych i ekonomicznie uzasadnionych rozwiązań podczas tworzenia oprogramowania. Dziedzina ta ma na celu organizowanie optymalnego procesu tworzenia aplikacji ? od koncepcji, poprzez kodowanie, wdrażanie, utrzymywanie, po wycofywanie. Uzyskanie biegłości w tym obszarze nie jest łatwe: rozwój oprogramowania wymaga zrozumienia filozofii inżynierii i stosowania określonych zasad. Tę książkę docenią programiści, menedżerowie, inżynierowie i liderzy techniczni. Znajdziesz w niej cenne informacje o filozofii inżynierii oprogramowania, jak również o postępach w sposobie myślenia na jej temat. Na tej bazie oparto zestaw zasad ułatwiających skuteczne radzenie sobie z dwoma podstawowymi procesami inżynierii oprogramowania: uczenia się i eksploracji oraz radzenia sobie ze złożonością. W ten sposób dowiesz się, jak usprawnić wszystkie aspekty swojej pracy, a także jak stosować sprawdzone podejścia prowadzące do sukcesu z uwzględnieniem uwarunkowań ekonomicznych. Dzięki tej przełomowej publikacji nauczysz się technik rozwiązywania problemów z wykorzystaniem zarówno obecnych, jak i przyszłych technologii. W efekcie będziesz szybciej tworzyć lepsze oprogramowanie, i to w bardziej przyjemny i satysfakcjonujący sposób. Poznaj i stosuj zasady nowoczesnej inżynierii oprogramowania: określaj jasne cele i sensownie wybieraj narzędzia organizuj pracę i systemy tak, aby móc oceniać ciągłe postępy zachowuj kontrolę nawet po zwiększeniu złożoności systemu utrzymuj dyscyplinę z zachowaniem właściwej elastyczności ucz się z historii i doświadczenia naucz się oceniać nowe idee rozwoju oprogramowania Przekonaj się, jak dzisiaj najlepsi praktycy projektują oprogramowanie!
David Farley
Inżynieria oprogramowania polega na stosowaniu empirycznego podejścia do szukania wydajnych i ekonomicznie uzasadnionych rozwiązań podczas tworzenia oprogramowania. Dziedzina ta ma na celu organizowanie optymalnego procesu tworzenia aplikacji ? od koncepcji, poprzez kodowanie, wdrażanie, utrzymywanie, po wycofywanie. Uzyskanie biegłości w tym obszarze nie jest łatwe: rozwój oprogramowania wymaga zrozumienia filozofii inżynierii i stosowania określonych zasad. Tę książkę docenią programiści, menedżerowie, inżynierowie i liderzy techniczni. Znajdziesz w niej cenne informacje o filozofii inżynierii oprogramowania, jak również o postępach w sposobie myślenia na jej temat. Na tej bazie oparto zestaw zasad ułatwiających skuteczne radzenie sobie z dwoma podstawowymi procesami inżynierii oprogramowania: uczenia się i eksploracji oraz radzenia sobie ze złożonością. W ten sposób dowiesz się, jak usprawnić wszystkie aspekty swojej pracy, a także jak stosować sprawdzone podejścia prowadzące do sukcesu z uwzględnieniem uwarunkowań ekonomicznych. Dzięki tej przełomowej publikacji nauczysz się technik rozwiązywania problemów z wykorzystaniem zarówno obecnych, jak i przyszłych technologii. W efekcie będziesz szybciej tworzyć lepsze oprogramowanie, i to w bardziej przyjemny i satysfakcjonujący sposób. Poznaj i stosuj zasady nowoczesnej inżynierii oprogramowania: określaj jasne cele i sensownie wybieraj narzędzia organizuj pracę i systemy tak, aby móc oceniać ciągłe postępy zachowuj kontrolę nawet po zwiększeniu złożoności systemu utrzymuj dyscyplinę z zachowaniem właściwej elastyczności ucz się z historii i doświadczenia naucz się oceniać nowe idee rozwoju oprogramowania Przekonaj się, jak dzisiaj najlepsi praktycy projektują oprogramowanie!
David Farley
Inżynieria oprogramowania polega na stosowaniu empirycznego podejścia do szukania wydajnych i ekonomicznie uzasadnionych rozwiązań podczas tworzenia oprogramowania. Dziedzina ta ma na celu organizowanie optymalnego procesu tworzenia aplikacji ? od koncepcji, poprzez kodowanie, wdrażanie, utrzymywanie, po wycofywanie. Uzyskanie biegłości w tym obszarze nie jest łatwe: rozwój oprogramowania wymaga zrozumienia filozofii inżynierii i stosowania określonych zasad. Tę książkę docenią programiści, menedżerowie, inżynierowie i liderzy techniczni. Znajdziesz w niej cenne informacje o filozofii inżynierii oprogramowania, jak również o postępach w sposobie myślenia na jej temat. Na tej bazie oparto zestaw zasad ułatwiających skuteczne radzenie sobie z dwoma podstawowymi procesami inżynierii oprogramowania: uczenia się i eksploracji oraz radzenia sobie ze złożonością. W ten sposób dowiesz się, jak usprawnić wszystkie aspekty swojej pracy, a także jak stosować sprawdzone podejścia prowadzące do sukcesu z uwzględnieniem uwarunkowań ekonomicznych. Dzięki tej przełomowej publikacji nauczysz się technik rozwiązywania problemów z wykorzystaniem zarówno obecnych, jak i przyszłych technologii. W efekcie będziesz szybciej tworzyć lepsze oprogramowanie, i to w bardziej przyjemny i satysfakcjonujący sposób. Poznaj i stosuj zasady nowoczesnej inżynierii oprogramowania: określaj jasne cele i sensownie wybieraj narzędzia organizuj pracę i systemy tak, aby móc oceniać ciągłe postępy zachowuj kontrolę nawet po zwiększeniu złożoności systemu utrzymuj dyscyplinę z zachowaniem właściwej elastyczności ucz się z historii i doświadczenia naucz się oceniać nowe idee rozwoju oprogramowania Przekonaj się, jak dzisiaj najlepsi praktycy projektują oprogramowanie!
Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft
Najlepiej sprzedająca się książka wydawnictwa Manning o języku Java 8 została zaktualizowana do Javy 9! W ramach Nowoczesnej Javy w działaniu swoje dotychczasowe umiejętności programowania w Javie wzbogacisz o najnowsze techniki i funkcje. Po praktycznym wprowadzeniu do wyrażeń lambda z użyciem realnego kodu Java, zagłębisz się w interfejs programowania aplikacji o nazwie Streams. Następnie odkryjesz programowanie reaktywne sterowane zdarzeniami i zobaczysz, jak system modułów platformy Java (projekt Jigsaw) pozwoli Ci zmienić sposób konstruowania Twojego kodu. Książka ta objaśnia również programowanie funkcyjne w Javie, pracę z kolekcjami i wiele więcej. Książka stanowi doskonałe wprowadzenie do najnowszych funkcji Javy 8 i 9. Zawarto w niej przejrzyste i zwięzłe przykłady, które pomagają zrozumieć sposób użycia najnowszych funkcji języka Java, takich jak strumienie, funkcje lambda i strumienie reaktywne. Meredith Godar O technologii Wydanie języka Java 9 bazuje na tym, co uczyniło Javę 8 tak ekscytującą. Poza wyrażeniami lambda i strumieniami z Javy 8, Java 9 wprowadza również szereg całkowicie nowych funkcji. Zawiera ona nowe funkcje bibliotek w celu wsparcia programowania reaktywnego, które dostarczają nowych sposobów myślenia o programowaniu, a także pozwalają tworzyć kod, który jest łatwiejszy w czytaniu i utrzymywaniu. Java 9 wprowadza ponadto długo wyczekiwany system modułów. Moduły zachęcają do pisania kodu w mniejszych jednostkach, które są znacznie łatwiejsze do testowania, zarządzania i wydawania. Dodatkowo Java 9 pomaga programistom poprzez rozszerzenie funkcjonalności programowania funkcyjnego i strumieni dostępnych w Javie 8. Co w środku? Wszystkie nowe zmiany i funkcje w Javie 9 Wyrażenia lambda Przetwarzanie danych z użyciem strumieni Testowanie i debugowanie z użyciem wyrażeń lambda Programowanie reaktywne w Javie System modułów platformy Java Projektowanie praktyczne z wykorzystaniem programowania funkcyjnego O czytelniku Książka ta została napisana dla programistów zaznajomionych z językiem Java i podstawami programowania zorientowanego obiektowo. O autorach Raoul-Gabriel Urma jest dyrektorem generalnym i współzałożycielem Cambridge Spark wiodącej społeczności edukacyjnej dla programistów i naukowców z Wielkiej Brytanii zajmujących się przetwarzaniem danych. Mario Fusco jest starszym inżynierem oprogramowania w firmie Red Hat, gdzie pracuje nad rozwojem głównych komponentów silnika reguł biznesowych JBoss o nazwie Drools. Alan Mycroft jest profesorem informatyki na Uniwersytecie w Cambridge i współzałożycielem Raspberry Pi Foundation.