Building Enterprise JavaScript ApplicationsWith the over-abundance of tools in the JavaScript ecosystem, it's easy to feel lost. Build tools, package managers, loaders, bundlers, linters, compilers, transpilers, typecheckers - how do you make sense of it all?
In this book, we will build a simple API and React application from scratch. We begin by setting up our development environment using Git, yarn, Babel, and ESLint. Then, we will use Express, Elasticsearch and JSON Web Tokens (JWTs) to build a stateless API service. For the front-end, we will use React, Redux, and Webpack.
A central theme in the book is maintaining code quality. As such, we will enforce a Test-Driven Development (TDD) process using Selenium, Cucumber, Mocha, Sinon, and Istanbul. As we progress through the book, the focus will shift towards automation and infrastructure. You will learn to work with Continuous Integration (CI) servers like Jenkins, deploying services inside Docker containers, and run them on Kubernetes.
By following this book, you wo ...
Kali Linux 2018: Assuring Security by Penetration Testing, 4th EditionKali Linux is a comprehensive penetration testing platform with advanced tools to identify, detect, and exploit the vulnerabilities uncovered in the target network environment. With Kali Linux, you can apply the appropriate testing methodology with defined business objectives and a scheduled test plan, resulting in successful penetration testing project engagement.
This fourth edition of Kali Linux 2018: Assuring Security by Penetration Testing starts with the installation of Kali Linux. You will be able to create a full test environment to safely practice scanning, vulnerability assessment, and exploitation. You'll explore the essentials of penetration testing by collecting relevant data on the target network with the use of several footprinting and discovery tools. As you make your way through the chapters, you'll focus on specific hosts and services via scanning and run vulnerability scans to discover various risks and threats within the target, which can then be exploited. In th ...
Real-Time 3D Graphics with WebGL 2, 2nd EditionAs highly interactive applications have become an increasingly important part of the user experience, WebGL is a unique and cutting-edge technology that brings hardware-accelerated 3D graphics to the web.
Packed with 80+ examples, this book guides readers through the landscape of real-time computer graphics using WebGL 2. Each chapter covers foundational concepts in 3D graphics programming with various implementations. Topics are always associated with exercises for a hands-on approach to learning.
This book presents a clear roadmap to learning real-time 3D computer graphics with WebGL 2. Each chapter starts with a summary of the learning goals for the chapter, followed by a detailed description of each topic. The book offers example-rich, up-to-date introductions to a wide range of essential 3D computer graphics topics, including rendering, colors, textures, transformations, framebuffers, lights, surfaces, blending, geometry construction, advanced techniques, and more. With each ...
The Essential Guide to HTML5Gain a deep, practical knowledge of HTML and JavaScript that will provide an introduction to programming and enable you to build interactive websites. This completely updated second edition explains HTML, JavaScript and CSS in the context of working examples and contains full-color screen shots of the programs in action.
You'll begin at an introductory level, learning the essentials of HTML5 and JavaScript and programming techniques. Each chapter features either a familiar game such as Hangman, Rock-Paper-Scissors, Craps, Memory, and Blackjack, or a simple type of game, such as a quiz, a maze, or animated simulations. You'll develop solid programming skills that will help when learning other programming languages. Each chapter contains tables revealing the structure of the program with comments for each line of code.
These examples demonstrate the features introduced with HTML5. You'll see how to use canvas elements for line drawing. You can include your own audio and video clip ...
Beginning Functional JavaScript, 2nd EditionUnderstand functional programming concepts and the functional nature of the JavaScript language. Starting with an introduction to functional programming concepts, you will learn the key differences between imperative and functional programming. Diving straight into JavaScript functions, you will learn to write them with ES8. Followed by this you will move to higher order functions and learn how "Function as Data" opens up a world of possibilities.
You will then build higher order functions with closures. Arrays will then be introduced, followed by a set of APIs you can use with them. You will learn how to transform one function to another using currying and partial application. The compose function will be discussed in detail, followed by functors and monads. After having an in-depth look at applicative functors, you will learn the new features offered in ES8.
The concluding chapters of Beginning Functional JavaScript will show you how to use a functional toolkit to build a sma ...
PMP in DepthUse this study guide to prepare for the Project Management Professional (PMP) exam administered by the Project Management Institute (PMI).
The revised third edition of the best-selling PMP in Depth, updated to the sixth edition of PMBOK, has a laser-sharp focus on the exam objectives for project managers and others who want to pass the PMP exam. No prior knowledge of project management is assumed.
The chapters and the sections within each chapter are presented in a logical learning sequence. The concepts and topics, both simple and complex, are clearly explained when they appear for the first time. This facilitates step-wise learning, prevents confusion, and makes this book useful for those who want to get up to speed quickly to pass the PMP exam, even if you are new to the discipline of project management.
This book tells the story of project management in a cohesive, concise, yet comprehensive fashion. Unlike most PMP exam books, PMP in Depth covers the material in the order ...
Learn OpenCV 4 By Building Projects, 2nd EditionOpenCV is one of the best open source libraries available, and can help you focus on constructing complete projects on image processing, motion detection, and image segmentation. Whether you're completely new to computer vision, or have a basic understanding of its concepts, Learn OpenCV 4 by Building Projects – Second edition will be your guide to understanding OpenCV concepts and algorithms through real-world examples and projects.
You'll begin with the installation of OpenCV and the basics of image processing. Then, you'll cover user interfaces and get deeper into image processing. As you progress through the book, you'll learn complex computer vision algorithms and explore machine learning and face detection. The book then guides you in creating optical flow video analysis and background subtraction in complex scenes. In the concluding chapters, you'll also learn about text segmentation and recognition and understand the basics of the new and improved deep learning module. ...
Learn Clip Studio Paint, 2nd EditionClip Studio Paint, the successor to Manga Studio, is used by over four million illustrators and comic creators around the world. This book will guide you through every step of learning this software, from system requirements and installation, all the way through to exporting your work for print or the web. Learn how to create new documents, customize tools to fit your working style, use ruler tools to create anything from straight lines to intricate backgrounds, add 3D elements, create comic panels using the specialized panel tools, utilize screentones and materials, add text and word balloons to your comics, create sound effects, easily flat and color your comics using reference layers, and bring your drawings to life using the animation features.
By the end of this book, you will be able to navigate the Clip Studio Interface and program preferences, customize the various tools, and be able to create your own black-and-white and color illustrations and comics from start to finish. ...
Building Large-Scale Web Applications with AngularIf you have been burnt by unreliable JavaScript frameworks before, you will be amazed by the maturity of the Angular platform. Angular enables you to build fast, efficient, and real-world web apps. In this Learning Path, you'll learn Angular and to deliver high-quality and production-grade Angular apps from design to deployment.
You will begin by creating a simple fitness app, using the building blocks of Angular, and make your final app, Personal Trainer, by morphing the workout app into a full-fledged personal workout builder and runner with an advanced directive building - the most fundamental and powerful feature of Angular.
You will learn the different ways of architecting Angular applications using RxJS, and some of the patterns that are involved in it. Later you'll be introduced to the router-first architecture, a seven-step approach to designing and developing mid-to-large line-of-business apps, along with popular recipes. By the end of this book, you will be familiar wit ...
Modern JavaScript Web Development CookbookJavaScript has evolved into a language that you can use on any platform. Modern JavaScript Web Development Cookbook is a perfect blend of solutions for traditional JavaScript development and modern areas that developers have lately been exploring with JavaScript. This comprehensive guide teaches you how to work with JavaScript on servers, browsers, mobile phones and desktops.
You will start by exploring the new features of ES8. You will then move on to learning the use of ES8 on servers (with Node.js), with the objective of producing services and microservices and dealing with authentication and CORS. Once you get accustomed to ES8, you will learn to apply it to browsers using frameworks, such as React and Redux, which interact through Ajax with services. You will then understand the use of a modern framework to develop the UI. In addition to this, development for mobile devices with React Native will walk you through the benefits of creating native apps, both for Android and iOS. ...