—Paul Irish, developer advocate, Google Chrome
“This is not a book for those looking for shortcuts; rather it is hard-won experience distilled into a guided tour. It’s one of the few books on JS that I’ll recommend without hesitation.”
—Alex Russell, TC39 member, software engineer, Google
—Andrew Hedges, Tapulous
Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You’ll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization’s goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures
Fully updated for Java Platform, Standard Edition 8 (Java SE 8), Java: A Beginner's Guide, Sixth Edition gets you started programming in Java right away. Bestselling programming author Herb Schildt begins with the basics, such as how to create, compile, and run a Java program. He then moves on to the keywords, syntax, and constructs that form the core of the Java language. This Oracle Press resource also covers some of Java's more advanced features, including multithreaded programming, generics, and Swing. Of course, new Java SE 8 features such as lambda expressions and default interface methods are described. An introduction to JavaFX, Java's newest GUI, concludes this step-by-step tutorial.
Designed for Easy Learning:Key Skills & Concepts -- Chapter-opening lists of specific skills covered in the chapter Ask the Expert -- Q&A sections filled with bonus information and helpful tips Try This -- Hands-on exercises that show you how to apply your skills Self Tests -- End-of-chapter quizzes to reinforce your skills Annotated Syntax -- Example code with commentary that describes the programming techniques being illustrated
The book's code examples are available FREE for download.
Nicholas C. Zakas worked with the Web for over a decade. He has worked on corporate intranet applications used by some of the largest companies in the world and large-scale consumer websites such as MyYahoo! and the Yahoo! homepage. He regularly gives talks at companies and conferences regarding front-end best practices and new technology.
Node.js, MongoDB and AngularJS Web Development is a complete guide for web programmers who want to integrate these three technologies into full working solutions. It begins with concise, crystal-clear tutorials on each of the three technologies and then quickly moves on to building several common web applications.
Readers will learn how to use Node.js and MongoDB to build more scalable, high-performance sites, how to leverage AngularJS's innovative MVC approach to structure more effective pages and applications, and how to use all three together to deliver outstanding next-generation Web solutions.
Learn how to use the latest techniques, best practices, and current web standards—including HTML5 and CSS3. Each chapter provides exercises to help you to learn various techniques, and short quizzes to make sure you understand key concepts.
Learning Python, Second Edition, offers programmers a comprehensive learning tool for Python and object-oriented programming. Thoroughly updated for the numerous language and class presentation changes that have taken place since the release of the first edition in 1999, this guide introduces the basic elements of the latest release of Python 2.3 and covers new features, such as list comprehensions, nested scopes, and iterators/generators.
Beyond language features, this edition of Learning Python also includes new context for less-experienced programmers, including fresh overviews of object-oriented programming and dynamic typing, new discussions of program launch and configuration options, new coverage of documentation sources, and more. There are also new use cases throughout to make the application of language features more concrete.
The first part of Learning Python gives programmers all the information they'll need to understand and construct programs in the Python language, including types, operators, statements, classes, functions, modules and exceptions. The authors then present more advanced material, showing how Python performs common tasks by offering real applications and the libraries available for those applications. Each chapter ends with a series of exercises that will test your Python skills and measure your understanding.
Learning Python, Second Edition is a self-paced book that allows readers to focus on the core Python language in depth. As you work through the book, you'll gain a deep and complete understanding of the Python language that will help you to understand the larger application-level examples that you'll encounter on your own. If you're interested in learning Python--and want to do so quickly and efficiently--then Learning Python, Second Edition is your best choice.
Packed with examples and exercises, Natural Language Processing with Python will help you:
Extract information from unstructured text, either to guess the topic or identify "named entities"Analyze linguistic structure in text, including parsing and semantic analysisAccess popular linguistic databases, including WordNet and treebanksIntegrate techniques drawn from fields as diverse as linguistics and artificial intelligence
This book will help you gain practical skills in natural language processing using the Python programming language and the Natural Language Toolkit (NLTK) open source library. If you're interested in developing web applications, analyzing multilingual news sources, or documenting endangered languages -- or if you're simply curious to have a programmer's perspective on how human language works -- you'll find Natural Language Processing with Python both fascinating and immensely useful.
Complete with quizzes, exercises, and helpful illustrations, this easy-to-follow, self-paced tutorial gets you started with both Python 2.7 and 3.3— the latest releases in the 3.X and 2.X lines—plus all other releases in common use today. You’ll also learn some advanced language features that recently have become more common in Python code.Explore Python’s major built-in object types such as numbers, lists, and dictionariesCreate and process objects with Python statements, and learn Python’s general syntax modelUse functions to avoid code redundancy and package code for reuseOrganize statements, functions, and other tools into larger components with modulesDive into classes: Python’s object-oriented programming tool for structuring codeWrite large programs with Python’s exception-handling model and development toolsLearn advanced Python tools, including decorators, descriptors, metaclasses, and Unicode processing
Best-selling author Adam Freeman explains how to get the most from AngularJS. He begins by describing the MVC pattern and the many benefits that can be gained from separating your logic and presentation code. He then shows how you can use AngularJS's features within in your projects to produce professional-quality results. Starting from the nuts-and-bolts and building up to the most advanced and sophisticated features AngularJS is carefully unwrapped, going in-depth to give you the knowledge you need.
Each topic is covered clearly and concisely and is packed with the details you need to learn to be truly effective. The most important features are given a no-nonsense in-depth treatment and chapters include common problems and details of how to avoid them.
Step-by-step instructions carefully walk you through the most common Node.js development tasks.
Quizzes and Exercises at the end of each chapter help you test your knowledge.
By the Way notes present valuable additional information related to the discussion.
Did You Know? tips offer advice or show you easier ways to perform tasks.
Watch Out! cautions alert you to possible problems and give you advice on how to avoid them.
Learn how to…
· Master essential Node.js concepts like callbacks and quickly create your first program
· Create basic sites with the HTTP module and Express web framework
· Manage data persistence with Node.js and MongoDB
· Debug and test Node.js applications
· Deploy Node.js applications to thirdparty services, such as Heroku and Nodester
· Build powerful real-time solutions, from chat servers to Twitter clients
· Use core components of the Node.js API, including processes, child processes, events, buffers, and streams
· Create and publish a Node.js module
You’ll explore the concepts behind REST, learn different strategies for creating hypermedia-based APIs, and then put everything together with a step-by-step guide to designing a RESTful Web API.Examine API design strategies, including the collection pattern and pure hypermediaUnderstand how hypermedia ties representations together into a coherent APIDiscover how XMDP and ALPS profile formats can help you meet the Web API "semantic challenge"Learn close to two-dozen standardized hypermedia data formatsApply best practices for using HTTP in API implementationsCreate Web APIs with the JSON-LD standard and other the Linked Data approachesUnderstand the CoAP protocol for using REST in embedded systems
Practical Node.js is your step-by-step guide to learning how to build a wide range of scalable real-world web applications using a professional development toolkit. Node.js is an innovative and highly efficient platform for creating web services. But Node.js doesn't live in a vacuum! In a modern web development, many different components need to be put together — routing, database driver, ORM, session management, OAuth, HTML template engine, CSS compiler and many more.
If you already know the basics of Node.js, now is the time to discover how to bring it to production level by leveraging its vast ecosystem of packages. As a web developer, you'll work with a varied collection of standards and frameworks - Practical Node.js shows you how all those pieces fit together.
Practical Node.js takes you from installing all the necessary modules to writing full-stack web applications by harnessing the power of the Express.js and Hapi frameworks, the MongoDB database with Mongoskin and Mongoose, Jade and Handlebars template engines, Stylus and LESS CSS languages, OAuth and Everyauth libraries, and the Socket.IO and Derby libraries, and everything in between. The book also covers how to deploy to Heroku and AWS, daemonize apps, and write REST APIs. You'll build full-stack real-world Node.js apps from scratch, and also discover how to write your own Node.js modules and publish them on NPM. You already know what Node.js is; now learn what you can do with it and how far you can take it!
Rather than impose development guidelines as other frameworks do, Flask leaves the business of extensions up to you. If you have Python experience, this book shows you how to take advantage of that creative freedom.Learn Flask’s basic application structure and write an example appWork with must-have components—templates, databases, web forms, and email supportUse packages and modules to structure a large application that scalesImplement user authentication, roles, and profilesBuild a blogging feature by reusing templates, paginating item lists, and working with rich textUse a Flask-based RESTful API to expose app functionality to smartphones, tablets, and other third-party clientsLearn how to run unit tests and enhance application performanceExplore options for deploying your web app to a production server
With this book you will:Explore how the this binding points to objects based on how the function is calledLook into the nature of JS objects and why you’d need to point to themLearn how developers use the mixin pattern to fake classes in JSExamine how JS’s prototype mechanism forms links between objectsLearn how to move from class/inheritance design to behavior delegationUnderstand how the OLOO (objects-linked-to-other-objects) coding style naturally implements behavior delegation
Author Ilya Grigorik, a web performance engineer at Google, demonstrates performance optimization best practices for TCP, UDP, and TLS protocols, and explains unique wireless and mobile network optimization requirements. You’ll then dive into performance characteristics of technologies such as HTTP 2.0, client-side network scripting with XHR, real-time streaming with SSE and WebSocket, and P2P communication with WebRTC.Deliver superlative TCP, UDP, and TLS performanceSpeed up network performance over 3G/4G mobile networksDevelop fast and energy-efficient mobile applicationsAddress bottlenecks in HTTP 1.x and other browser protocolsPlan for and deliver the best HTTP 2.0 performanceEnable efficient real-time streaming in the browserCreate efficient peer-to-peer videoconferencing and low-latency applications with real-time WebRTC transports
Complete with case studies that illustrate how Hadoop solves specific problems, this book helps you:
Use the Hadoop Distributed File System (HDFS) for storing large datasets, and run distributed computations over those datasets using MapReduceBecome familiar with Hadoop's data and I/O building blocks for compression, data integrity, serialization, and persistenceDiscover common pitfalls and advanced features for writing real-world MapReduce programsDesign, build, and administer a dedicated Hadoop cluster, or run Hadoop in the cloudUse Pig, a high-level query language for large-scale data processingTake advantage of HBase, Hadoop's database for structured and semi-structured dataLearn ZooKeeper, a toolkit of coordination primitives for building distributed systems
If you have lots of data -- whether it's gigabytes or petabytes -- Hadoop is the perfect solution. Hadoop: The Definitive Guide is the most thorough book available on the subject.
"Now you have the opportunity to learn about Hadoop from a master-not only of the technology, but also of common sense and plain talk."-- Doug Cutting, Hadoop Founder, Yahoo!
Summerfield draws on his many years of Python experience to share deep insights into Python 3 development you won’t find anywhere else. He begins by illuminating Python’s “beautiful heart”: the eight key elements of Python you need to write robust, high-performance programs. Building on these core elements, he introduces new topics designed to strengthen your practical expertise—one concept and hands-on example at a time. This book’s coverage includes
Developing in Python using procedural, object-oriented, and functional programming paradigms Creating custom packages and modules Writing and reading binary, text, and XML files, including optional compression, random access, and text and XML parsing Leveraging advanced data types, collections, control structures, and functions Spreading program workloads across multiple processes and threads Programming SQL databases and key-value DBM files Utilizing Python’s regular expression mini-language and module Building usable, efficient, GUI-based applications Advanced programming techniques, including generators, function and class decorators, context managers, descriptors, abstract base classes, metaclasses, and more
Programming in Python 3 serves as both tutorial and language reference, and it is accompanied by extensive downloadable example code—all of it tested with the final version of Python 3 on Windows, Linux, and Mac OS X.
Written by leaders of the international Erlang community -- and based on their training material -- Erlang Programming focuses on the language's syntax and semantics, and explains pattern matching, proper lists, recursion, debugging, networking, and concurrency.
This book helps you:
Understand the strengths of Erlang and why its designers included specific featuresLearn the concepts behind concurrency and Erlang's way of handling itWrite efficient Erlang programs while keeping code neat and readableDiscover how Erlang fills the requirements for distributed systemsAdd simple graphical user interfaces with little effortLearn Erlang's tracing mechanisms for debugging concurrent and distributed systemsUse the built-in Mnesia database and other table storage features
Erlang Programming provides exercises at the end of each chapter and simple examples throughout the book.
This book is a perfect companion to jQuery Pocket Reference.
This book covers:Arrays and lists: the most common data structuresStacks and queues: more complex list-like data structuresLinked lists: how they overcome the shortcomings of arraysDictionaries: storing data as key-value pairsHashing: good for quick insertion and retrievalSets: useful for storing unique elements that appear only onceBinary Trees: storing data in a hierarchical mannerGraphs and graph algorithms: ideal for modeling networksAlgorithms: including those that help you sort or search dataAdvanced algorithms: dynamic programming and greedy algorithms
Learn how to craft user interfaces, build forms, and manage data, then deploy as either an HTML5 offline app or as a native app for Android, iOS, or Blackberry.Define classes and create instances with Sencha Touch’s object-oriented abstractionBuild user interfaces with the framework’s extensive set of high-level componentsDevelop apps that consume complex data, whether it’s stored locally or on remote serversOrganize your application code in a consistent, predictable, and maintainable wayUse Sass stylesheets to craft a personalized look and feel for your appDebug, test, and document your app with WebKit Web Inspector, Jasmine, Siesta, and JSDuckUse the Sencha Architect UI designer and IDE to simplify complex project development
This book gives you all you need to use Go in your web applications. You'll learn the basic concepts - language structures, the standard library, and Go tools - then tackle more advanced features like concurrency concepts, testing methodologies, and package structures.
At each step, you'll get advice for better coding in Go. You'll see how to structure projects, how to use concurrency effectively, and best practices for testing - as well as many valuable hints and tips gleaned from real world experience of developing web applications with Go.
You'll learn:Get to grips with Go language basics (types, the standard library, tools)Use Go with HTTPWork with imagesUnderstand concurrencyTest effectivelyMaster deploymentAnd much more ...
Whether you use Joomla! to power a website, intranet, or blog, you'll need a good how-to reference on this complex, but not always intuitive, content management software. Joomla! Bible, Second Edition is that book. It not only brings you up to speed on the changes and extensions that are now part of Joomla! 3.0, it thoroughly covers functions and tasks, including installation, configuration, management, advanced modules, and extended coverage of two key extensions.
You'll learn how to obtain code and deploy it to a server; how to obtain, modify, and delete content; how to choose between the Joomla! Platform and the Joomla! CMS; and more. By the time you finish the Joomla! Bible, Second Edition, you'll be well prepared to build and maintain a Joomla!-based website.Walks you through obtaining the Joomla! 3.0 code and how to deploy it to a server, configure the site, create content, and manage content and user hierarchies Helps you get the most out of core modules that provide advanced functionality, including the Polls Module, the Banner Manager, Content Syndication, Newsfeed Aggregation, and others Includes hands-on tutorials and real-world practical applications
Whether you're a content manager, website manager, developer, or do-it-yourselfer, make sure you keep Joomla! Bible, Second Edition on hand.
Audacity is universally recognized as the number one software program for creating podcasts. Hundreds of thousands of amateurs and professionals alike have created podcasts using Audacity.
This Short Cut is designed to get you podcasting as quickly as possible. The first few chapters show you how to install Audacity, plug in your microphone, record your first podcast, and get it online as quickly as possible. The following chapters cover podcasting-specific topics, such as adding background music or conducting interviews. Finally, the remaining chapters focus on how Audacity works, with lots of tips and tricks to make complicated editing even easier.
Rather than focus on design, CSS Secrets shows you how to solve problems with code. You'll learn how to apply Lea's analytical approach to practically every CSS problem you face to attain DRY, maintainable, flexible, lightweight, and standards-compliant results.
Inspired by her popular talks at over 60 international web development conferences, Lea Verou provides a wealth of information for topics including:Backgrounds and BordersShapesVisual EffectsTypographyUser ExperienceStructure and LayoutTransitions and Animations
Guided by two engineers who worked on AngularJS at Google, you’ll learn the components needed to build data-driven applications, using declarative programming and the Model–view–controller pattern. You’ll also learn how to conduct unit tests on each part of your application.Learn how to use controllers for moving data to and from viewsUnderstand when to use AngularJS services instead of controllersCommunicate with the server to store, fetch, and update data asynchronouslyKnow when to use AngularJS filters for converting data and values to different formatsImplement single-page applications, using ngRoute to select views and navigationDive into basic and advanced directives for creating reusable componentsWrite an end-to-end test on a live version of your entire applicationUse best practices, guidelines, and tools throughout the development cycle
Rather than run through all possible scenarios, this pragmatic operations guide calls out what works, as demonstrated in critical deployments.Get a high-level overview of HDFS and MapReduce: why they exist and how they workPlan a Hadoop deployment, from hardware and OS selection to network requirementsLearn setup and configuration details with a list of critical propertiesManage resources by sharing a cluster across multiple groupsGet a runbook of the most common cluster maintenance tasksMonitor Hadoop clusters—and learn troubleshooting with the help of real-world war storiesUse basic tools and techniques to handle backup and catastrophic failure