—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
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.
Written for Git version 1.8.2, this handy task-oriented guide is organized around the basic version control functions you need, such as making commits, fixing mistakes, merging, and searching history.Examine the state of your project at earlier points in timeLearn the basics of creating and making changes to a repositoryCreate branches so many people can work on a project simultaneouslyMerge branches and reconcile the changes among themClone an existing repository and share changes with push/pull commandsExamine and change your repository’s commit historyAccess remote repositories, using different network protocolsGet recipes for accomplishing a variety of common tasks
This book is for those developers who know the basic concepts of Backbone.js and want to build scalable applications with it. If you are looking for the best practices of using Backbone.js applied to real work applications, this book is for you. You will be able to apply architectural principles to create amazing web applications easily.What You Will LearnBuild web applications that scale with Backbone.jsDesign a powerful architecture that eliminates maintenance nightmaresUse common patterns and best practices in Backbone.js web applications developmentsPack your applications to be deployed to production environmentsClean up your code organization to a simple and maintainable architectureTest your components and get confidence with your codeDeal with common scenarios like file uploading and login issuesIn Detail
Backbone.js is a popular library to build single page applications used by many start-ups around the world because of its flexibility, robustness and simplicity. It allows you to bring your own tools and libraries to make amazing webapps with your own rules. However, due to its flexibility it is not always easy to create scalable applications with it. By learning the best practices and project organization you will be able to create maintainable and scalable web applications with Backbone.js.
With this book you will start right from organizing your Backbone.js application to learn where to put each module and how to wire them. From organizing your code in a logical and physical way, you will go on to delimit view responsibilities and work with complex layouts.
Synchronizing models in a two-way binding can be difficult and with sub resources attached it can be even worse. The next chapter will explain strategies for how to deal with these models. The following chapters will help you to manage module dependencies on your projects, explore strategies to upload files to a RESTful API and store information directly in the browser for using it with Backbone.js. After testing your application, you are ready to deploy it to your production environment. The final chapter will cover different flavors of authorization.
The Backbone.js library can be difficult to master, but in this book you will get the necessary skill set to create applications with it, and you will be able to use any other library you want in your stack.Style and approach
This book takes a tutorial approach to help you scale your Backbone.js applications. It builds a web application using the best practices and applies architectural design principles to develop maintainable web-apps. Each chapter explains the design decisions and improves the project that is used as an example alongside the book.
The treatment incorporates several innovative instructional devices, such as the use of function boxes in the first two chapters to visually distinguish functions from data, use of evaltrace notation in later chapters to illustrate the operation of evaluation rules, and "Dragon stories" to explain recursion. The book contains nearly 400 diagrams and illustrations, and 77 pages of answers to exercises. Advanced topics and "toolkit" sections, and a variety of complete programs, extend readers' programming power.
New mod_perl users will learn how to quickly and easily get mod_perl compiled and installed. But the primary purpose of this book is to show you how to take full advantage of mod_perl: how to make a mod_perl-enabled Web site as fast, flexible, and easily-maintainable as possible. The authors draw from their own personal experience in the field, as well as the combined experience of the mod_perl community, to present a rich and complete picture of how to set up and maintain a successful mod_perl site.
This book is also the first book to cover the "next generation" of mod_perl: mod_perl 2.0, a completely rewritten version of mod_perl designed for integration with Apache 2.0, which for the first time supports threads.
The book covers the following topics, and more:Configuring mod_perl optimally for your web sitePorting and optimizing programs for a mod_perl environmentPerformance tuning: getting the very fastest performance from your siteControlling and monitoring the server to circumvent crashes and clogsIntegrating with databases efficiently and painlesslyDebugging tips and tricksMaximizing securityWritten for Perl web developers and web administrators, Practical mod_perl is an extensive guide to the nuts and bolts of the powerful and popular combination of Apache and mod_perl. From writing and debugging scripts to keeping your server running without failures, the techniques in this book will help you squeeze every ounce of power out of your server. True to its title, this is the practical guide to mod_perl.
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.
Quizzes at end of every chapter help you build and test your knowledge
Interactive online exercises let you practice what you learn at the Codecademy web site with no downloads or installation needed
* Introduces powerful programming methods new to most Perl programmers that were previously the domain of computer scientists
* Gradually builds up confidence by describing techniques of progressive sophistication
* Shows how to improve everyday programs and includes numerous engaging code examples to illustrate the methods
CouchDB works with self-contained data that has loose or ad-hoc connections. It's a model that fits many real-world items, such as contacts, invoices, and receipts, but you'll discover that this database can easily handle data of any kind. With this book, you'll learn how to work with CouchDB through its RESTful web interface, and become familiar with key features such as simple document CRUD (create, read, update, delete), advanced MapReduce, deployment tuning, and more.Understand the basics of document-oriented storage and manipulationInteract with CouchDB entirely though HTTP using its RESTful interfaceModel data as self-contained JSON documentsHandle evolving data schemas naturallyQuery and aggregate data in CouchDB using MapReduce viewsReplicate data between nodesTune CouchDB for increased performance and reliability
This book includes:Example programs completely rewritten to illustrate powerful new concepts now available in Python 3: sets, iterators, generators, closures, comprehensions, and much more A detailed case study of porting a major library from Python 2 to Python 3 A comprehensive appendix of all the syntactic and semantic changes in Python 3
This is the perfect resource for you if you need to port applications to Python 3, or if you like to jump into languages fast and get going right away.
Solve problems involving events, effects, dimensions, forms, themes, and user interface elementsLearn how to enhance your forms, and how to position and reposition elements on a pageMake the most of jQuery's event management system, including custom events and custom event dataCreate UI elements-such as tabs, accordions, and modals-from scratchOptimize your code to eliminate bottlenecks and ensure peak performanceLearn how to test your jQuery applications
The book's contributors include:
Cody LindleyJames PadolseyRalph WhitbeckJonathan SharpMichael Geary and Scott GonzálezRebecca MurpheyRemy SharpAriel FleslerBrian CherneJörn ZaeffererMike HostetlerNathan SmithRichard D. WorthMaggie Wachs, Scott Jehl, Todd Parker, and Patty TolandRob Burns
The third in O’Reilly’s series of landmark Perl tutorials (after Learning Perl and Intermediate Perl), this fully upated edition pulls everything together and helps you bend Perl to your will.Explore advanced regular expressions featuresAvoid common problems when writing secure programsProfile and benchmark Perl programs to see where they need workWrangle Perl code to make it more presentable and readableUnderstand how Perl keeps track of package variablesDefine subroutines on the flyJury-rig modules to fix code without editing the original sourceUse bit operations and bit vectors to store large data efficientlyLearn how to detect errors that Perl doesn’t reportDive into logging, data persistence, and the magic of tied variables
Bayesian statistical methods are becoming more common and more important, but not many resources are available to help beginners. Based on undergraduate classes taught by author Allen Downey, this book’s computational approach helps you get a solid start.Use your existing programming skills to learn and understand Bayesian statisticsWork with problems involving estimation, prediction, decision analysis, evidence, and hypothesis testingGet started with simple examples, using coins, M&Ms, Dungeons & Dragons dice, paintball, and hockeyLearn computational methods for solving real-world problems, such as interpreting SAT scores, simulating kidney tumors, and modeling the human microbiome.
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
What’s so special about this book?
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.
Django is a powerful Python web framework designed to develop web applications quickly, from simple prototypes to large-scale projects. Django encourages clean, pragmatic design, and provides developers with a comprehensive set of tools to build scalable web applications.
This book will walk you through the creation of four professional Django projects, teaching you how to solve common problems and implement best practices.
The book begins by showing you how to build a blog application, before moving on to developing a social image bookmarking website, an online shop and an e-learning platform. You will learn how to build a search engine and implement a user activity stream. Furthermore, you will create a recommendation engine, an e-commerce coupon system and a content management system. The book will also teach you how to enhance your applications with AJAX, create RESTful APIs and setup a production environment for your Django projects.
After reading this book, you will have a good understanding of how Django works and how to integrate it with other technologies to build practical, advanced, web applications.Style and approach
This is an easy-to-follow guide to building four different production-ready Django projects. Each project focuses on a particular area of the framework and each topic within the projects is explained with practical examples and includes best practice recommendations.
This book is a perfect companion to jQuery Pocket Reference.
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.
The important stuff you need to know:Structure web pages more effectively. Learn how HTML5 helps web design tools and search engines work smarter.Add audio and video without plugins. Build playback pages that work in every browser.Create stunning visuals with Canvas. Draw shapes, pictures, and text; play animations; and run interactive games.Jazz up your pages with CSS3. Add fancy fonts and eye-catching effects with transitions and animation.Design better web forms. Collect information from visitors more efficiently with HTML5 form elements.Build it once, run it everywhere. Use responsive design to make your site look good on desktops, tablets, and smartphones.Include rich desktop features. Build self-sufficient web apps that work offline and store the data users need.
flex & bison covers the same core functionality vital to Linux and Unix program development, along with several important new topics. You'll find revised tutorials for novices and references for advanced users, as well as an explanation of each utility's basic usage and simple, standalone applications you can create with them. With flex & bison, you'll discover the wide range of uses these flexible tools offer.
Address syntax crunching that regular expressions tools can't handleBuild compilers and interpreters, and handle a wide range of text processing functionsInterpret code, configuration files, or any other structured formatLearn key programming techniques, including abstract syntax trees and symbol tablesImplement a full SQL grammar-with complete sample codeUse new features such as pure (reentrant) lexers and parsers, powerful GLR parsers, and interfaces to C++