Database Design for Mere Mortals Third Edition
Michael J. Hernandez’s best-selling Database Design for Mere Mortals® has earned worldwide respect as the clearest, simplest way to learn relational database design. Now, he’s made this hands-on, software-independent tutorial even easier, while ensuring that his design methodology is still relevant to the latest databases, applications, and best practices. Step by step, Database Design for Mere Mortals ® , Third Edition, shows you how to design databases that are soundly structured, reliable, and flexible, even in modern web applications. Hernandez guides you through everything from database planning to defining tables, fields, keys, table relationships, business rules, and views. You’ll learn practical ways to improve data integrity, how to avoid common mistakes, and when to break the rules.
Beginning PHP and MySQL: From Novice to Professional, 5th Edition
Get started with PHP and MySQL programming: no experience necessary. This fifth edition of a classic best-seller includes detailed instructions for configuring the ultimate PHP 7 and MySQL development environment on all major platforms, complete coverage of the latest additions and improvements to t
Spring Boot 2 Recipes: A Problem-Solution Approach
Solve all your Spring Boot 2 problems using complete and real-world code examples. When you start a new project, you’ll be able to copy the code and configuration files from this book, and then modify them for your needs. This can save you a great deal of work over creating a project from scratch.
Using a problem-solution approach, Spring Boot 2 Recipes quickly introduces you to Pivotal's Spring Boot 2 micro-framework, then dives into code snippets on how to apply and integrate Spring Boot 2 with the Spring MVC web framework, Spring Web Sockets, and microservices. You'll also get solutions to common problems with persistence, integrating Spring Boot with batch processing, algorithmic programming via Spring Batch, and much more. Other recipes cover topics such as using and integrating Boot with Spring's enterprise services, Spring Integration, testing, monitoring and more.
What You'll Learn
Get reusable code recipes and snippets for the Spring Boot 2 micro-framework
Discover how Spring Boot 2 integrates with other Spring APIs, tools, and frameworks
Access Spring MVC and the new Spring Web Sockets for simpler web development
Work with microservices for web services development and integration with your Spring Boot applications
Add persistence and a data tier seamlessly to make your Spring Boot web application do more
Integrate enterprise services to create a more complex Java application using Spring Boot
Who This Book Is For
Experienced Java and Spring programmers.
Table of Contents
Chapter 1: Spring Boot—Introduction
Chapter 2: Spring Boot—Basics
Chapter 3: Spring MVC
Chapter 4: Spring MVC - Async
Chapter 5: Spring WebFlux
Chapter 6: Spring Security
Chapter 7: Data Access
Chapter 8: Java Enterprise Services
Chapter 9: Messaging
Chapter 10: Spring Boot Actuator
Chapter 11: Packaging
AWS System Administration: Best Practices for Sysadmins in the Amazon Cloud
With platforms designed for rapid adaptation and failure recovery such as Amazon Web Services, cloud computing is more like programming than traditional system administration. Tools for automatic scaling and instance replacement allow even small DevOps teams to manage massively scalable application infrastructures—if team members drop their old views of development and operations and start mastering automation.
This comprehensive guide shows developers and system administrators how to configure and manage AWS services including EC2, CloudFormation, Elastic Load Balancing, S3, and Route 53. Sysadms will learn will learn to automate their favorite tools and processes; developers will pick up enough ops knowledge to build a robust and resilient AWS application infrastructure.
Launch instances with EC2 or CloudFormation
Securely deploy and manage your applications with AWS tools
Learn to automate AWS configuration management with Python and Puppet
Deploy applications with Auto Scaling and Elastic Load Balancing
Explore approaches for deploying application and infrastructure updates
Save time on development and operations with reusable components
Learn strategies for managing log files in AWS environments
Configure a cloud-aware DNS service with Route 53
Use AWS CloudWatch to monitor your infrastructure and applications
Jenkins 2: Up and Running
Design, implement, and execute continuous delivery pipelines with a level of flexibility, control, and ease of maintenance that was not possible with Jenkins before. With this practical book, build administrators, developers, testers, and other professionals will learn how the features in Jenkins 2 let you define pipelines as code, leverage integration with other key technologies, and create automated, reliable pipelines to simplify and accelerate your DevOps environments.
Author Brent Laster shows you how Jenkins 2 is significantly different from the more traditional, web-only versions of this popular open source automation platform. If you’re familiar with Jenkins and want to take advantage of the new technologies to transform your legacy pipelines or build new modern, automated continuous delivery environments, this is your book.
Control pipeline execution flow with a domain-specific language
Integrate Jenkins with messaging services and advanced email methods
Harness best practices and new methods for controlling access and security
Explore the structure, implementation, and use of shared pipeline libraries
Use a declarative structure to simplify creating pipelines as code
Leverage new and existing project types in Jenkins
Understand and use the new Blue Ocean graphical interface
Take advantage of the capabilities of the underlying OS in your pipeline
Integrate analysis tools, artifact management, and containers
Cloud Native Infrastructure
If you’re considering the use of cloud native applications and microservices, you also need an infrastructure with the same elasticity and scalability of the applications they’re running. This practical guide shows you how to design and maintain infrastructure capable of managing the full lifecycle of these implementations.
Engineers Justin Garrison and Kris Nova reveal hard-earned lessons on architecting infrastructure for massive scale and best in class monitoring, alerting, and troubleshooting. The authors focus on Cloud Native Computing Foundation projects and explain where each is crucial to managing modern applications.
Understand the fundamentals of cloud native application design, and how it differs from traditional application design
Learn how cloud native infrastructure is different from traditional infrastructure
Manage application lifecycles running on cloud native infrastructure, using Kubernetes for application deployment, scaling, and upgrades
Monitor cloud native infrastructure and applications, using fluentd for logging and prometheus + graphana for visualizing data
Debug running applications and learn how to trace a distributed application and dig deep into a running system with OpenTracing
Absolute FreeBSD: The Complete Guide to FreeBSD, 3rd Edition
This updated edition of Michael W. Lucas’ definitive volume on FreeBSD-based systems adds coverage of modern disks, the ZFS filesystem IPv6, redesigned jail and packaging systems, and virtualization, among dozens of new features added in the last 10 years.
FreeBSD is the muscle behind companies like Netflix and EMC. Any place where someone does heavy lifting on the Internet, you’ll find FreeBSD. This newly revised edition of Absolute FreeBSD brings FreeBSD’s strengths to bear on your problems and covers FreeBSD’s newest features, all in the inimitable style that has made author Michael W. Lucas’ system administration books so popular.
Any computer system is only as good as the system administrator’s knowledge. Absolute FreeBSD teaches you everything you need to know about managing FreeBSD systems, from installation, configuration, and taking the system from “just working” to “working well.” A cohesive focus on service delivery and best practice means that you can apply much of the book to other operating systems.
Absolute FreeBSD dives deep into server management, taking you beyond just making things work and into understanding why they work.
You’ll learn:
How to best install FreeBSD to meet your needs
Which filesystem to use in your environment
How to back up and restore critical data
How to tweak the kernel, and when not to
Network configuration, from activating interfaces to selecting congestion control algorithms
How to manage UFS, ZFS, and other critical filesystems
FreeBSD’s software packaging system, including how to build your own package repository
How and when to upgrade
Techniques to build your own FreeBSD
Advanced security features like blacklistd and packet filtering
How to monitor and adjust performance
Container-style virtualization with jails
Diskless systems
Panic management and bug reporting
With Absolute FreeBSD readers will get the solid introduction they need while fans of the earlier editions will expand their skills even further.
The Essential Guide to HTML5
Gain 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 clips, directly controlled by your JavaScript code. For example, the reward for correct completion of a quiz can be the playing of an audio clip and a video clip. You’ll also learn how to use localStorage to store high scores or game preferences on a user’s computer for retrieval next time they play. The Essential Guide to HTML5 explores all of this and more.
What You’ll Learn
Understand HTML 5 concepts with the help of easy-to-grasp, appealing examples
Use HTML5 to explore new avenues for application and game development on the web
Review important new elements of HTML 5
Build, test, and upload simple games to a web site.
Who This Book Is For
Both absolute beginners and users with some knowledge of HTML who want to learn the new HTML5 features
Linux for Developers
Linux for Developers shows you how to start writing great code for Linux, whether you’re a Linux user with little or no coding experience, or an experienced Windows programmer.
Leading IT trainer/author William “Bo” Rothwell begins with a clear and up-to-date review of modern open source software, including the licensing arrangements and tradeoffs all developers need to understand. He presents essential skills for both Linux command line and GUI environments, introducing text editors and other tools for efficient coding.
Building on this knowledge, Rothwell introduces scripting tools such as Bash, Python, and Perl, as well as traditional object-oriented programming languages such as Java, C++, and C. Finally, he presents a full section on the powerful Git version control system, teaching skills you can use in Linux and many other environments.
Access Linux systems, use GUIs, and work at the command line
Learn how Linux organizes files and navigate its filesystem
Use basic developer commands such as gzip and grep
Edit programs with vi and vim, and explore alternative editors
Perform basic sysadmin tasks that developers often need to handle
Compare Linux languages to choose the best one for each task
Write Bash scripts that interact with users or other shell features
Program with Python and Perl: flow control, variables, and more
Understand Linux features related to building C, C++, and Java programs
Stay on top of complex projects with GIT revision control
Work in GIT: staging, committing, branches, diffs, merges, and patches
Manage local and remote GIT repositories
This guide’s modular coverage helps you quickly access whatever information you need right now.
Ethereum for Architects and Developers
Explore the Ethereum ecosystem step by step with extensive theory, labs, and live use cases. This book takes you through BlockChain concepts; decentralized applications; Ethereum’s architecture; Solidity smart contract programming with examples; and testing, debugging, and deploying smart contracts on your local machine and on the cloud. You’ll cover best practices for writing contracts with ample examples to allow you to write high-quality contracts with optimal usage of fuel. In later chapters, Ethereum for Architects and Developers covers use cases from different business areas, such as finance, travel, supply-chain, insurance, and land registry. Many of these sectors are explained with flowcharts, diagrams, and sample code that you can refer to and further enhance in live projects.
By the end of the book, you will have enough information to use Ethereum to create value for your business processes and build foolproof data storage for smoother execution of business.
What You Will Learn
Discover key BlockChain concepts
Master the architecture, building blocks, and ecosystem of Ethereum
Develop smart contracts from scratch
Debug, test, and deploy to test
Take advantage of Ethereum in your business area
Who This Book Is For
BlockChain developers and architects wanting to develop decentralized Ethereum applications or learn its architecture.
Learning Node.js Development
A comprehensive, easy-to-follow guide to creating complete Node apps and understanding how to build, deploy, and test your own apps.
Learning Node.js Development is a practical, project-based book that provides you with all you need to get started as a Node.js developer. Node is a ubiquitous technology on the modern web, and an essential part of any web developers’ toolkit. If you are looking to create real-world Node applications, or you want to switch careers or launch a side project to generate some extra income, then you’re in the right place. This book has been written around a single goal—turning you into a professional Node developer capable of developing, testing, and deploying real-world production applications.
Learning Node.js Development is built from the ground up around the latest version of Node.js (version 9.x.x). You’ll be learning all the cutting-edge features available only in the latest software versions.
This book cuts through the mass of information available around Node and delivers the essential skills that you need to become a Node developer. It takes you through creating complete apps and understanding how to build, deploy, and test your own Node apps. It maps out everything in a comprehensive, easy-to-follow package designed to get you up and running quickly.
What You Will Learn
Learn the fundamentals of Node
Build apps that respond to user input
Master working with servers
Learn how to test and debug applications
Deploy and update your apps in the real world
Create responsive asynchronous web applications
Mastering Spring Boot 2.0
Learn to develop, test, and deploy your Spring Boot distributed application and explore various best practices.
Spring is one of the best frameworks on the market for developing web, enterprise, and cloud ready software. Spring Boot simplifies the building of complex software dramatically by reducing the amount of boilerplate code, and by providing production-ready features and a simple deployment model.
This book will address the challenges related to power that come with Spring Boot’s great configurability and flexibility. You will understand how Spring Boot configuration works under the hood, how to overwrite default configurations, and how to use advanced techniques to prepare Spring Boot applications to work in production. This book will also introduce readers to a relatively new topic in the Spring ecosystem – cloud native patterns, reactive programming, and applications. Get up to speed with microservices with Spring Boot and Spring Cloud. Each chapter aims to solve a specific problem or teach you a useful skillset. By the end of this book, you will be proficient in building and deploying your Spring Boot application.
What you will learn
Build logically structured and highly maintainable Spring Boot applications
Configure RESTful microservices using Spring Boot
Make the application production and operation-friendly with Spring Actuator
Build modern, high-performance distributed applications using cloud patterns
Manage and deploy your Spring Boot application to the cloud (AWS)
Monitor distributed applications using log aggregation and ELK
R的极客理想 高级开发篇 + R的极客理想 工具篇 + R的极客理想 量化投资篇
R的极客理想 高级开发篇 + R的极客理想 工具篇 + R的极客理想 量化投资篇
Think Data Structures: Algorithms and Information Retrieval in Java
If you’re a student studying computer science or a software developer preparing for technical interviews, this practical book helps you learn and review the most important ideas in software engineering—data structures and algorithms—in a way that’s clearer, more concise, and more engaging than other materials. You’ll explore the important classes in the Java collections framework (JCF), how they’re are implemented, and how they are expected to perform.
By emphasizing practical knowledge and skills over theory, author Allen Downey shows you how to use data structures to implement efficient algorithms, and then analyze and measure their performance.
You’ll also:
Learn good software engineering practices and modern data structures
Get an engaging case study—the design and implementation of a simple web search engine
Practice software engineering skills by working on a series of engaging exercises in each chapter
TensorFlow Deep Learning Projects
TensorFlow Deep Learning Projects: 10 real-world projects on computer vision, machine translation, chatbots, and reinforcement learning
Leverage the power of Tensorflow to design deep learning systems for a variety of real-world scenarios
Key Features
Build efficient deep learning pipelines using the popular Tensorflow framework
Train neural networks such as ConvNets, generative models, and LSTMs
Includes projects related to Computer Vision, stock prediction, chatbots and more
Book Description
TensorFlow is one of the most popular frameworks used for machine learning and, more recently, deep learning. It provides a fast and efficient framework for training different kinds of deep learning models, with very high accuracy. This book is your guide to master deep learning with TensorFlow with the help of 10 real-world projects.
TensorFlow Deep Learning Projects starts with setting up the right TensorFlow environment for deep learning. Learn to train different types of deep learning models using TensorFlow, including Convolutional Neural Networks, Recurrent Neural Networks, LSTMs, and Generative Adversarial Networks. While doing so, you will build end-to-end deep learning solutions to tackle different real-world problems in image processing, recommendation systems, stock prediction, and building chatbots, to name a few. You will also develop systems that perform machine translation, and use reinforcement learning techniques to play games.
By the end of this book, you will have mastered all the concepts of deep learning and their implementation with TensorFlow, and will be able to build and train your own deep learning models with TensorFlow confidently.
What you will learn
Set up the TensorFlow environment for deep learning
Construct your own ConvNets for effective image processing
Use LSTMs for image caption generation
Forecast stock prediction accurately with an LSTM architecture
Learn what semantic matching is by detecting duplic
Building RESTful Web Services with Java EE 8
Learn the fundamentals of Java EE 8 APIs to build effective web services
Java Enterprise Edition is one of the leading application programming platforms for enterprise Java development. With Java EE 8 finally released and the first application servers now available, it is time to take a closer look at how to develop modern and lightweight web services with the latest API additions and improvements.
Building RESTful Web Services with Java EE 8 is a comprehensive guide that will show you how to develop state-of-the-art RESTful web services with the latest Java EE 8 APIs. You will begin with an overview of Java EE 8 and the latest API additions and improvements. You will then delve into the details of implementing synchronous RESTful web services and clients with JAX-RS. Next up, you will learn about the specifics of data binding and content marshalling using the JSON-B 1.0 and JSON-P 1.1 APIs.
This book also guides you in leveraging the power of asynchronous APIs on the server and client side, and you will learn to use server-sent events (SSEs) for push communication. The final section covers advanced web service topics such as validation, JWT security, and diagnosability.
By the end of this book, you will have implemented several working web services and have a thorough understanding of the Java EE 8 APIs required for lightweight web service development.
What you will learn
Dive into the latest Java EE 8 APIs relevant for developing web services
Use the new JSON-B APIs for easy data binding
Understand how JSON-P API can be used for flexible processing
Implement synchronous and asynchronous JAX-RS clients
Use server-sent events to implement server-side code
Secure Java EE 8 web services with JSON Web Tokens
Hands-On Transfer Learning with Python
Deep learning simplified by taking supervised, unsupervised, and reinforcement learning to the next level using the Python ecosystem
Transfer learning is a machine learning (ML) technique where knowledge gained during training a set of problems can be used to solve other similar problems.
The purpose of this book is two-fold; firstly, we focus on detailed coverage of deep learning (DL) and transfer learning, comparing and contrasting the two with easy-to-follow concepts and examples. The second area of focus is real-world examples and research problems using TensorFlow, Keras, and the Python ecosystem with hands-on examples.
The book starts with the key essential concepts of ML and DL, followed by depiction and coverage of important DL architectures such as convolutional neural networks (CNNs), deep neural networks (DNNs), recurrent neural networks (RNNs), long short-term memory (LSTM), and capsule networks. Our focus then shifts to transfer learning concepts, such as model freezing, fine-tuning, pre-trained models including VGG, inception, ResNet, and how these systems perform better than DL models with practical examples. In the concluding chapters, we will focus on a multitude of real-world case studies and problems associated with areas such as computer vision, audio analysis and natural language processing (NLP).
By the end of this book, you will be able to implement both DL and transfer learning principles in your own systems.
What you will learn
Set up your own DL environment with graphics processing unit (GPU) and Cloud support
Delve into transfer learning principles with ML and DL models
Explore various DL architectures, including CNN, LSTM, and capsule networks
Learn about data and network representation and loss functions
Get to grips with models and strategies in transfer learning
Walk through potential challenges in building complex transfer learning models from scratch
Explore real-world research problems related to computer vision and audio analysis
Understand how transfer learning can be leveraged in NLP
Angular: Up and Running: Learning Angular, Step by Step
This book will demystify Angular as a framework, as well as provide clear instructions and examples on how to get started with writing scalable Angular applications.
Angular: Up & Running covers most of the major pieces of Angular, but in a structured manner that is generally used in hands-on traini
Microservices in Action
Microservices promise a better way to sustainably deliver business impact. Rather than a single monolithic unit, applications built in this style are composed from loosely-coupled, autonomous services.
Microservices in Action is a practical book about building and deploying microservice-based applications. Written for developers and architects with a solid grasp of service-oriented development, it tackles the challenge of putting microservices into production.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
Table of Contents
Part 1: The lay of the land
Chapter 1 Designing And Running Microservices
Chapter 2 Microservices At Simplebank
Part 2: Design
Chapter 3 Architecture Of A Microservice Application
Chapter 4 Designing New Features
Chapter 5 Transactions And Queries In Microservices
Chapter 6 Designing Reliable Services
Chapter 7 Building A Reusable Microservice Framework
Part 3: Deployment
Chapter 8 Deploying Microservices
Chapter 9 Deployment With Containers And Schedulers
Chapter 10 Building A Delivery Pipeline For Microservices
Part 4: Observability and ownership
Chapter 11 Building A Monitoring System
Chapter 12 Using Logs And Traces To Understand Behavior
Chapter 13 Building Microservice Teams
Appendix: Installing Jenkins on Minikube
Spring in Action, 5th Edition
Spring Framework has been making Java developers more productive and successful for over a dozen years, and it shows no signs of slowing down!
Spring in Action, 5th Edition is the fully-updated revision of Manning's bestselling Spring in Action. This new edition includes all Spring 5.0 updates, along with new examples on reactive programming, Spring WebFlux, and microservices. Readers will also find the latest Spring best practices, including Spring Boot for application setup and configuration.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
Table of Contents
Part 1 Foundational Spring
Chapter 1 Getting Started With Spring
Chapter 2 Developing Web Applications
Chapter 3 Working With Data
Chapter 4 Securing Spring
Chapter 5 Working With Configuration Properties
Part 2 Integrated Spring
Chapter 6 C Reating Rest Services
Chapter 7 Consuming Rest Services
Chapter 8 Sending Messages Asynchronously
Chapter 9 Integrating Spring
Part 3 Reactive Spring
Chapter 10 Introducing Reactor
Chapter 11 Developing Reactive Apis
Chapter 12 Persisting Data Reactively
Part 4 Cloud-native Spring
Chapter 13 Discovering Services
Chapter 14 Managing Configuration
Chapter 15 Handling Failure And Latency
Part 5 Deployed Spring
Chapter 16 Working With Spring Boot Actuator
Chapter 17 Administering Spring
Chapter 18 Monitoring Spring With Jmx
Chapter 19 Deploying Spring
Appendix Bootstrapping Spring applications
Natural Language Processing in Action
Summary
Natural Language Processing in Action is your guide to creating machines that understand human language using the power of Python with its ecosystem of packages dedicated to NLP and AI.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Recent advances in deep learning empower applications to understand text and speech with extreme accuracy. The result? Chatbots that can imitate real people, meaningful resume-to-job matches, superb predictive search, and automatically generated document summaries—all at a low cost. New techniques, along with accessible tools like Keras and TensorFlow, make professional-quality NLP easier than ever before.
About the Book
Natural Language Processing in Action is your guide to building machines that can read and interpret human language. In it, you'll use readily available Python packages to capture the meaning in text and react accordingly. The book expands traditional NLP approaches to include neural networks, modern deep learning algorithms, and generative techniques as you tackle real-world problems like extracting dates and names, composing text, and answering free-form questions.
What's inside
Some sentences in this book were written by NLP! Can you guess which ones?
Working with Keras, TensorFlow, gensim, and scikit-learn
Rule-based and data-based NLP
Scalable pipelines
About the Reader
This book requires a basic understanding of deep learning and intermediate Python skills.
About the Author
Hobson Lane, Cole Howard, and Hannes Max Hapke are experienced NLP engineers who use these techniques in production.
Table of Contents
PART 1 - WORDY MACHINES
Chapter 1. Packets Of Thought (Nlp Overview)
Chapter 2. Build Your Vocabulary (Word Tokenization)
Chapter 3. Math With Words (Tf-Idf Vectors)
Chapter 4. Finding Meaning In Word Counts (Semantic Analysis)
PART 2 - DEEPER LEARNING (NEURAL NETWORKS)
Chapter 1. Baby Steps
Artificial Neural Networks with Java
Use Java to develop neural network applications in this practical book. After learning the rules involved in neural network processing, you will manually process the first neural network example. This covers the internals of front and back propagation, and facilitates the understanding of the main principles of neural network processing. Artificial Neural Networks with Java also teaches you how to prepare the data to be used in neural network development and suggests various techniques of data preparation for many unconventional tasks.
The next big topic discussed in the book is using Java for neural network processing. You will use the Encog Java framework and discover how to do rapid development with Encog, allowing you to create large-scale neural network applications.
The book also discusses the inability of neural networks to approximate complex non-continuous functions, and it introduces the micro-batch method that solves this issue. The step-by-step approach includes plenty of examples, diagrams, and screen shots to help you grasp the concepts quickly and easily.
What You Will Learn
Prepare your data for many different tasks
Carry out some unusual neural network tasks
Create neural network to process non-continuous functions
Select and improve the development model
PHP7内核剖析
PHP作为最流行的语言之一,自第一个版本发布至今的二十几年里经历了多次重大改进,PHP7版本最大的特色在于其性能上的突破,比PHP5快了一倍。目前PHP7已经得到了广泛应用,越来越多的项目从PHP5迁移到了PHP7。目前,关于PHP内核的资料非常有限,《PHP7内核剖析》以当前最为流行的PHP7版本为基础,系统性地、尽可能详细地介绍PHP语言底层的实现,旨在帮助更多的开发者进一步理解PHP,参与到PHP的实现中,为未来PHP的发展贡献一份力量!全书内容主要包括PHP数据类型的实现、PHP的编译及执行、PHP内存的管理、函数及面向对象的实现、PHP基础语法的实现,以及PHP扩展的开发。《PHP7内核剖析》适用于有一定C语言基础的PHP高级工程师,或者想了解PHP7的内部实现、扩展开发的工程师。
Serious Python
An indispensable collection of practical tips and real-world advice for tackling common Python problems and taking your code to the next level. Features interviews with high-profile Python developers who share their tips, tricks, best practices, and real-world advice gleaned from years of experience.
Sharpen your Python skills as you dive deep into the Python programming language with Serious Python. You’ll cover a range of advanced topics like multithreading and memorization, get advice from experts on things like designing APIs and dealing with databases, and learn Python internals to help you gain a deeper understanding of the language itself. Written for developers and experienced programmers, Serious Python brings together over 15 years of Python experience to teach you how to avoid common mistakes, write code more efficiently, and build better programs in less time.
As you make your way through the book’s extensive tutorials, you’ll learn how to start a project and tackle topics like versioning, layouts, coding style, and automated checks. You’ll learn how to package your software for distribution, optimize performance, use the right data structures, define functions efficiently, pick the right libraries, build future-proof programs, and optimize your programs down to the bytecode. You’ll also learn how to:
Make and use effective decorators and methods, including abstract, static, and class methods
Employ Python for functional programming using generators, pure functions, and functional functions
Extend flake8 to work with the abstract syntax tree (AST) to introduce more sophisticated automatic checks into your programs
Apply dynamic performance analysis to identify bottlenecks in your code
Work with relational databases and effectively manage and stream data with PostgreSQL
If you’ve been looking for a way to take your Python skills from good to great, Serious Python will help you get there. Learn from the experts and get seriously good at Python with Serious Python!
Serverless Applications with Node.js
Summary
Serverless Applications with Node.js walks you through building serverless apps on AWS using JavaScript. Inside, you'll discover what Claudia.js brings to the table as you build and deploy a scalable event-based serverless application, based around a pizzeria that's fully integrated with AWS services, including Lambda and API Gateway. Each chapter is filled with exercises, examples, tips, and more to make sure you're ready to bring what you've learned into your own work.
Foreword by Gojko Adzic.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
The benefits of cloud-hosted serverless web apps are undeniable: lower complexity, quicker time to market, and easier scalability than traditional, server-dependent designs. And thanks to JavaScript support in AWS Lambda and powerful new serverless API tools like the Claudia.js library, you can build and deploy serverless apps end to end without learning a new language.
About the Book
Serverless Applications with Node.js teaches you to design and build serverless web apps on AWS using JavaScript, Node, and Claudia.js. You'll master the basics of writing AWS Lambda functions, along with core serverless patterns like API Gateway. Along the way, you'll practice your new skills by building a working chatbot and a voice assistant with Amazon Alexa. You'll also discover techniques for migrating existing apps to a serverless platform.
What's inside
Authentication and database storage
Asynchronous functions
Interesting real-world examples
Developing serverless microservices
About the Reader
For web developers comfortable with JavaScript and Node.js.
About the Author
Slobodan Stojanović and Aleksandar Simović are AWS Serverless Heroes and core contributors to the Claudia.js project. They are also coauthors of Desole, an open source serverless errortracking tool, and the lead developers of Claudia Bot Builder.
Table of Contents
PART 1 - Serverless pizzeria
Chapter 1 Introduction To Serverless With Claudia
Chapter 2 Building Your First Serverless Api
Chapter 3 Asynchronous Work Is Easy, We Promise()
Chapter 4 Pizza Delivery: Connecting An External Service
Chapter 5 Houston, We Have A Problem!
Chapter 6 Level Up Your Api
Chapter 7 Working With Files
PART 2 - Let's talk
Chapter 1. When Pizza Is One Message Away: Chatbots
Chapter 2. Typing... Async And Delayed Responses
Chapter 3. Jarvis, I Mean Alexa, Order Me A Pizza
Chapter 4. Paying For Pizza
Chapter 5. Migrating To Serverless
Chapter 6. Real-World Case Studies
Appendix A - Installation And Configuration
Appendix B - Facebook Messenger, Twilio, And Alexa Configuration
Appendix C - Stripe And Mongodb Setup
Appendix D - The Pizza Recipe
Coding Games in Python
A visual step-by-step guide to writing code in Python.
Beginners and experienced programmers can use Python to build and play computer games, from mind-bending brainteasers to crazy action games with explosive sound effects and 3-D graphics.
Each chapter in Coding Games in Python shows how to construct a complete working game in simple numbered steps. The book teaches how to use freely available resources, such as PyGame Zero and Blender, to add animations, music, scrolling backgrounds, 3-D scenery, and other pieces of professional wizardry to games. After building a game, instructions show how to adapt it using secret hacks and cheat codes. Instructions are illustrated with zany Minecraft-style pixel art.
Master the key concepts that programmers need to write code–not just in Python, but in all programming languages. Find out what bugs, loops, flags, strings, tuples, toggles, and turtles are. Learn how to plan and design the ultimate game–and then play it to destruction as you test and debug it.
With coding theory interwoven into the instructions for building each game, learning coding is made effortless and fun.
Functional Programming in C++
Functional Programming in C++ teaches developers the practical side of functional programming and the tools that C++ provides to develop software in the functional style. This in-depth guide is full of useful diagrams that help you understand FP concepts and begin to think functionally.
Well-written code is easier to test and reuse, simpler to parallelize, and less error prone. Mastering the functional style of programming can help you tackle the demands of modern apps and will lead to simpler expression of complex program logic, graceful error handling, and elegant concurrency. C++ supports FP with templates, lambdas, and other core language features, along with many parts of the STL.
Functional Programming in C++ helps you unleash the functional side of your brain, as you gain a powerful new perspective on C++ coding. You’ll discover dozens of examples, diagrams, and illustrations that break down the functional concepts you can apply in C++, including lazy evaluation, function objects and invokables, algebraic data types, and more. As you read, you’ll match FP techniques with practical scenarios where they offer the most benefit.
What’s inside
Writing safer code with no performance penalties
Explicitly handling errors through the type system
Extending C++ with new control structures
Composing tasks with DSLs
Foundations of Machine Learning, 2nd Edition
A new edition of a graduate-level machine learning textbook that focuses on the analysis and theory of algorithms.
This book is a general introduction to machine learning that can serve as a textbook for graduate students and a reference for researchers. It covers fundamental modern topics in machine learning while providing the theoretical basis and conceptual tools needed for the discussion and justification of algorithms. It also describes several key aspects of the application of these algorithms. The authors aim to present novel theoretical tools and concepts while giving concise proofs even for relatively advanced topics.
Foundations of Machine Learning is unique in its focus on the analysis and theory of algorithms. The first four chapters lay the theoretical foundation for what follows; subsequent chapters are mostly self-contained. Topics covered include the Probably Approximately Correct (PAC) learning framework; generalization bounds based on Rademacher complexity and VC-dimension; Support Vector Machines (SVMs); kernel methods; boosting; on-line learning; multi-class classification; ranking; regression; algorithmic stability; dimensionality reduction; learning automata and languages; and reinforcement learning. Each chapter ends with a set of exercises. Appendixes provide additional material including concise probability review.
This second edition offers three new chapters, on model selection, maximum entropy models, and conditional entropy models. New material in the appendixes includes a major section on Fenchel duality, expanded coverage of concentration inequalities, and an entirely new entry on information theory. More than half of the exercises are new to this edition.
Machine Learning Using R
Examine the latest technological advancements in building a scalable machine-learning model with big data using R. This second edition shows you how to work with a machine-learning algorithm and use it to build a ML model from raw data. You will see how to use R programming with TensorFlow, thus avoiding the effort of learning Python if you are only comfortable with R.
As in the first edition, the authors have kept the fine balance of theory and application of machine learning through various real-world use-cases which gives you a comprehensive collection of topics in machine learning. New chapters in this edition cover time series models and deep learning.
What You’ll Learn
Understand machine learning algorithms using R
Master the process of building machine-learning models
Cover the theoretical foundations of machine-learning algorithms
See industry focused real-world use cases
Tackle time series modeling in R
Apply deep learning using Keras and TensorFlow in R
Machine Learning Applications Using Python
Gain practical skills in machine learning for finance, healthcare, and retail. This book uses a hands-on approach by providing case studies from each of these domains: you’ll see examples that demonstrate how to use machine learning as a tool for business enhancement. As a domain expert, you will not only discover how machine learning is used in finance, healthcare, and retail, but also work through practical case studies where machine learning has been implemented.
Machine Learning Applications Using Python is divided into three sections, one for each of the domains (healthcare, finance, and retail). Each section starts with an overview of machine learning and key technological advancements in that domain. You’ll then learn more by using case studies on how organizations are changing the game in their chosen markets. This book has practical case studies with Python code and domain-specific innovative ideas for monetizing machine learning.
What You Will Learn
Discover applied machine learning processes and principles
Implement machine learning in areas of healthcare, finance, and retail
Avoid the pitfalls of implementing applied machine learning
Build Python machine learning examples in the three subject areas
Network Analysis Using Wireshark 2 Cookbook
Over 100 recipes to analyze and troubleshoot network problems using Wireshark 2
This book contains practical recipes on troubleshooting a data communications network. This second version of the book focuses on Wireshark 2, which has already gained a lot of traction due to the enhanced features that it offers to users. The book expands on some of the subjects explored in the first version, including TCP performance, network security, Wireless LAN, and how to use Wireshark for cloud and virtual system monitoring. You will learn how to analyze end-to-end IPv4 and IPv6 connectivity failures for Unicast and Multicast traffic using Wireshark. It also includes Wireshark capture files so that you can practice what you’ve learned in the book. You will understand the normal operation of E-mail protocols and learn how to use Wireshark for basic analysis and troubleshooting. Using Wireshark, you will be able to resolve and troubleshoot common applications that are used in an enterprise network, like NetBIOS and SMB protocols. Finally, you will also be able to measure network parameters, check for network problems caused by them, and solve them effectively. By the end of this book, you’ll know how to analyze traffic, find patterns of various offending traffic, and secure your network from them.
What You Will Learn
Configure Wireshark 2 for effective network analysis and troubleshooting
Set up various display and capture filters
Understand networking layers, including IPv4 and IPv6 analysis
Explore performance issues in TCP/IP
Get to know about Wi-Fi testing and how to resolve problems related to wireless LANs
Get information about network phenomena, events, and errors
Locate faults in detecting security failures and breaches in networks
Machine Intelligence and Signal Analysis
The book covers the most recent developments in machine learning, signal analysis, and their applications. It covers the topics of machine intelligence such as: deep learning, soft computing approaches, support vector machines (SVMs), least square SVMs (LSSVMs) and their variants; and covers the topics of signal analysis such as: biomedical signals including electroencephalogram (EEG), magnetoencephalography (MEG), electrocardiogram (ECG) and electromyogram (EMG) as well as other signals such as speech signals, communication signals, vibration signals, image, and video. Further, it analyzes normal and abnormal categories of real-world signals, for example normal and epileptic EEG signals using numerous classification techniques. The book is envisioned for researchers and graduate students in Computer Science and Engineering, Electrical Engineering, Applied Mathematics, and Biomedical Signal Processing.
Technology Strategy Patterns: Architecture as Strategy
Technologists who want their ideas heard, understood, and funded are often told to speak the language of business—without really knowing what that is. This book’s toolkit provides architects, product managers, technology managers, and executives with a shared language—in the form of repeatable, practical patterns and templates—to produce great technology strategies.
Author Eben Hewitt developed 39 patterns over the course of a decade in his work as CTO, CIO, and chief architect for several global tech companies. With these proven tools, you can define, create, elaborate, refine, and communicate your architecture goals, plans, and approach in a way that executives can readily understand, approve, and execute.
This book covers:
Architecture and strategy: Adopt a strategic architectural mindset to make a meaningful material impact
Creating your strategy: Define the components of your technology strategy using proven patterns
Communicating the strategy: Convey your technology strategy in a compelling way to a variety of audiences
Bringing it all together: Employ patterns individually or in clusters for specific problems; use the complete framework for a comprehensive strategy
Java Program Design: Principles, Polymorphism, and Patterns
Get a grounding in polymorphism and other fundamental aspects of object-oriented program design and implementation, and learn a subset of design patterns that any practicing Java professional simply must know in today’s job climate.
Java Program Design presents program design principles to help practicing programmers up their game and remain relevant in the face of changing trends and an evolving language. The book enhances the traditional design patterns with Java’s new functional programming features, such as functional interfaces and lambda expressions. The result is a fresh treatment of design patterns that expands their power and applicability, and reflects current best practice.
The book examines some well-designed classes from the Java class library, using them to illustrate the various object-oriented principles and patterns under discussion. Not only does this approach provide good, practical examples, but you will learn useful library classes you might not otherwise know about.
The design of a simplified banking program is introduced in chapter 1 in a non-object-oriented incarnation and the example is carried through all chapters. You can see the object orientation develop as various design principles are progressively applied throughout the book to produce a refined, fully object-oriented version of the program in the final chapter.
What You’ll Learn
Create well-designed programs, and identify and improve poorly-designed ones
Build a professional-level understanding of polymorphism and its use in Java interfaces and class hierarchies
Apply classic design patterns to Java programming problems while respecting the modern features of the Java language
Take advantage of classes from the Java library to facilitate the implementation of design patterns in your programs
Learn Keras for Deep Neural Networks
Learn, understand, and implement deep neural networks in a math- and programming-friendly approach using Keras and Python. The book focuses on an end-to-end approach to developing supervised learning algorithms in regression and classification with practical business-centric use-cases implemented in Keras.
The overall book comprises three sections with two chapters in each section. The first section prepares you with all the necessary basics to get started in deep learning. Chapter 1 introduces you to the world of deep learning and its difference from machine learning, the choices of frameworks for deep learning, and the Keras ecosystem. You will cover a real-life business problem that can be solved by supervised learning algorithms with deep neural networks. You’ll tackle one use case for regression and another for classification leveraging popular Kaggle datasets.
Later, you will see an interesting and challenging part of deep learning: hyperparameter tuning; helping you further improve your models when building robust deep learning applications. Finally, you’ll further hone your skills in deep learning and cover areas of active development and research in deep learning.
At the end of Learn Keras for Deep Neural Networks, you will have a thorough understanding of deep learning principles and have practical hands-on experience in developing enterprise-grade deep learning solutions in Keras.
What You’ll Learn
Master fast-paced practical deep learning concepts with math- and programming-friendly abstractions.
Design, develop, train, validate, and deploy deep neural networks using the Keras framework
Use best practices for debugging and validating deep learning models
Deploy and integrate deep learning as a service into a larger software service or product
Extend deep learning principles into other popular frameworks
Practical Computer Vision Applications Using Deep Learning with CNNs
Deploy deep learning applications into production across multiple platforms. You will work on computer vision applications that use the convolutional neural network (CNN) deep learning model and Python. This book starts by explaining the traditional machine-learning pipeline, where you will analyze an image dataset. Along the way you will cover artificial neural networks (ANNs), building one from scratch in Python, before optimizing it using genetic algorithms.
For automating the process, the book highlights the limitations of traditional hand-crafted features for computer vision and why the CNN deep-learning model is the state-of-art solution. CNNs are discussed from scratch to demonstrate how they are different and more efficient than the fully connected ANN (FCNN). You will implement a CNN in Python to give you a full understanding of the model.
After consolidating the basics, you will use TensorFlow to build a practical image-recognition model that you will deploy to a web server using Flask, making it accessible over the Internet. Using Kivy and NumPy, you will create cross-platform data science applications with low overheads.
This book will help you apply deep learning and computer vision concepts from scratch, step-by-step from conception to production.
What You Will Learn
Understand how ANNs and CNNs work
Create computer vision applications and CNNs from scratch using Python
Follow a deep learning project from conception to production using TensorFlow
Use NumPy with Kivy to build cross-platform data science applications
Introduction to Python Programming
Introduction to Python Programming is written for students who are beginners in the field of computer programming. This book presents an intuitive approach to the concepts of Python Programming for students. This book differs from traditional texts not only in its philosophy but also in its overall focus, level of activities, development of topics, and attention to programming details. The contents of the book are chosen with utmost care after analyzing the syllabus for Python course prescribed by various top universities in USA, Europe, and Asia. Since the prerequisite know-how varies significantly from student to student, the book’s overall overture addresses the challenges of teaching and learning of students which is fine-tuned by the authors’ experience with large sections of students. This book uses natural language expressions instead of the traditional shortened words of the programming world. This book has been written with the goal to provide students with a textbook that can be easily understood and to make a connection between what students are learning and how they may apply that knowledge.
Features of this book
This book does not assume any previous programming experience, although of course, any exposure to other programming languages is useful
This book introduces all of the key concepts of Python programming language with helpful illustrations
Programming examples are presented in a clear and consistent manner
Each line of code is numbered and explained in detail
Use of f-strings throughout the book
Hundreds of real-world examples are included and they come from fields such as entertainment, sports, music and environmental studies
Students can periodically check their progress with in-chapter quizzes that appear in all chapters
Data Wrangling with JavaScript
With a growing ecosystem of tools and libraries available, and the flexibility to run on many platforms (web, desktop and mobile), JavaScript is a terrific all-round environment for all data wrangling needs!
Data Wrangling with JavaScript teaches readers core data munging techniques in JavaScript, along with many libraries and tools that will make their data tasks even easier.
Table of Contents
Chapter 1 Getting Started: Establishing Your Data Pipeline
Chapter 2 Getting Started With Node.Js
Chapter 3 Acquisition, Storage, And Retrieval
Chapter 4 Working With Unusual Data
Chapter 5 Exploratory Coding
Chapter 6 Clean And Prepare
Chapter 7 Dealing With Huge Data Files
Chapter 8 Working With A Mountain Of Data
Chapter 9 Practical Data Analysis
Chapter 10 Browser-Based Visualization
Chapter 11 Server-Side Visualization
Chapter 12 Live Data
Chapter 13 Advanced Visualization With D3
Chapter 14 Getting To Production
Appendix A JavaScript cheat sheet
Appendix B Data-Forge cheat sheet
Appendix C Getting started with Vagrant
Learn R for Applied Statistics
Gain the R programming language fundamentals for doing the applied statistics useful for data exploration and analysis in data science and data mining. This book covers topics ranging from R syntax basics, descriptive statistics, and data visualizations to inferential statistics and regressions. After learning R’s syntax, you will work through data visualizations such as histograms and boxplot charting, descriptive statistics, and inferential statistics such as t-test, chi-square test, ANOVA, non-parametric test, and linear regressions.
Learn R for Applied Statistics is a timely skills-migration book that equips you with the R programming fundamentals and introduces you to applied statistics for data explorations.
What You Will Learn
Discover R, statistics, data science, data mining, and big data
Master the fundamentals of R programming, including variables and arithmetic, vectors, lists, data frames, conditional statements, loops, and functions
Work with descriptive statistics
Create data visualizations, including bar charts, line charts, scatter plots, boxplots, histograms, and scatterplots
Use inferential statistics including t-tests, chi-square tests, ANOVA, non-parametric tests, linear regressions, and multiple linear regressions
Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams
Get an easy introduction to reactive streams in Java to handle concurrency, data streams, and the propagation of change in today's applications. This compact book includes in-depth introductions to RxJava, Akka Streams, and Reactor, and integrates the latest related features from Java 9 and 11, as well as reactive streams programming with the Android SDK.
Reactive Streams in Java explains how to manage the exchange of stream data across an asynchronous boundary―passing elements on to another thread or thread-pool―while ensuring that the receiving side is not forced to buffer arbitrary amounts of data which can reduce application efficiency. After reading and using this book, you'll be proficient in programming reactive streams for Java in order to optimize application performance, and improve memory management and data exchanges.
What You Will Learn
Discover reactive streams and how to use them
Work with the latest features in Java 9 and Java 11
Apply reactive streams using RxJava
Program using Akka Streams
Carry out reactive streams programming in Android
Who This Book Is For
Experienced Java programmers.
Table of Contents
Chapter 1: Introduction to Reactive Streams
Chapter 2: Existing Models of Concurrency in Java
Chapter 3: Common Concepts
Chapter 4: RxJava
Chapter 5: Reactor
Chapter 6: Akka Streams
Chapter 7: Android and RxJava
Chapter 8: Spring Boot and Reactor
Chapter 9: Akka HTTP and Akka Streams
Chapter 10: Conclusions
Appendix A: Java 10 and 11