Видавець: Packt Publishing
Tom Schrijvers
With software systems reaching new levels of complexity and programmers aiming for the highest productivity levels, software developers and language designers are turning toward functional programming because of its powerful and mature abstraction mechanisms. This book will help you tap into this approach with Haskell, the programming language that has been leading the way in pure functional programming for over three decades.The book begins by helping you get to grips with basic functions and algebraic datatypes, and gradually adds abstraction mechanisms and other powerful language features. Next, you’ll explore recursion, formulate higher-order functions as reusable templates, and get the job done with laziness. As you advance, you’ll learn how Haskell reconciliates its purity with the practical need for side effects and comes out stronger with a rich hierarchy of abstractions, such as functors, applicative functors, and monads. Finally, you’ll understand how all these elements are combined in the design and implementation of custom domain-specific languages for tackling practical problems such as parsing, as well as the revolutionary functional technique of property-based testing.By the end of this book, you’ll have mastered the key concepts of functional programming and be able to develop idiomatic Haskell solutions.
Kyler Kent
As cyberattacks continue to disrupt modern enterprises, organizations urgently need vigilant security operations center (SOC) analysts who can detect and stop threats fast. With modern SIEMs and ingestion strategies, much of the necessary data is already within easy reach. This book provides you with the daily tactics, techniques, and procedures of a SOC analyst and shows how to exceed expectations in a modern SOC.The book builds a solid foundation in security operations, preparing you for the SOC analyst role and other positions within the SOC. With this base in place, you’ll advance into key SOC roles and blue team principles, such as detection and engineering. You’ll be able to clearly articulate your future as a SOC analyst in an interview as well as talk about your career path to impress prospective employers. You’ll get to grips with advanced threat actors, including advanced persistent threats (APTs) that wield considerable resources in campaigning against an organization. The chapters cover important concepts, such as governance, risk, and compliance (GRC), blue and red team tools, network security, web app security, and job search skills.By the end of this book, you’ll be able to demonstrate competency and acquire a SOC analyst position with an additional career outlook moving forward.
Tyson Cadenhead
Socket.IO is a JavaScript library that provides you with the ability to implement real-time analytics, binary streaming, instant messaging, and document collaboration. It has two parts: a client-side library that runs in the browser, and a server-side library for node.js. Socket.IO is event-driven and primarily uses the WebSocket protocol that allows us to emit data bi-directionally from the server and the client. Socket.IO This book is a complete resource, covering topics from webSocket security to scaling the server-side of a Socket.IO application and everything in between.This book will provide real-world examples of how secure bi-directional, full-duplex connections that can be created using Socket.IO for different environments. It will also explain how the connection vulnerabilities can be resolved for large numbers of users and huge amounts of data/messages.By the end of the book, you will be a competent Socket.IO developer. With the help of the examples and real-world solutions,you will learn to create fast, scalable, and dynamic real-time apps by creating efficient messaging systems between the server side and the client side using Socket.IO.
Joseph Ingeno
The Software Architect’s Handbook is a comprehensive guide to help developers, architects, and senior programmers advance their career in the software architecture domain. This book takes you through all the important concepts, right from design principles to different considerations at various stages of your career in software architecture. The book begins by covering the fundamentals, benefits, and purpose of software architecture. You will discover how software architecture relates to an organization, followed by identifying its significant quality attributes. Once you have covered the basics, you will explore design patterns, best practices, and paradigms for efficient software development.The book discusses which factors you need to consider for performance and security enhancements. You will learn to write documentation for your architectures and make appropriate decisions when considering DevOps. In addition to this, you will explore how to design legacy applications before understanding how to create software architectures that evolve as the market, business requirements, frameworks, tools, and best practices change over time.By the end of this book, you will not only have studied software architecture concepts but also built the soft skills necessary to grow in this field.