You’ve learned the basics of Python, but how do you take your skills to the next stage? Even if you know enough to be productive, there are a number of features that can take you to the next level in Python. Pro Python, Second Edition explores concepts and features normally left to experimentation, allowing you to be even more productive and creative.
In addition to pure code concerns, Pro Python develops your programming techniques and approaches, which will help make you a better Python programmer. This book will improve not only your code but also your understanding and interaction with the many established Python communities.
This book takes your Python knowledge and coding skills to the next level. It shows you how to write clean, innovative code that will be respected by your peers. With this book, make your code do more with introspection and meta-programming. And learn and later use the nuts and bolts of an application, tier-by-tier as a complex case study along the way.
For more information, including a link to the source code referenced in the book, please visit http://propython.com/.
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
—Andrew Hedges, Tapulous
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.
Ten different projects illustrate the concepts introduced in the book. You will learn how to create a P2P file-sharing application and a web-based bulletin board, and how to remotely edit web-based documents and create games. Author Magnus Lie Hetland is an authority on Python and previously authored Practical Python. He also authored the popular online guide, Instant Python Hacking, on which both books are based.
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
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.
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
The next section is devoted to design patterns. These describe common problems and their solutions. The section describes the design principles that make patterns powerful. It covers many of the classic design patterns and includes chapters on enterprise and database patterns.
The last segment of the book covers the tools and practices that can help turn great code into a successful project. The section shows how to manage multiple developers and releases with git, how to build and install using Phing and PEAR. It also explores strategies for automated testing and build.
In addition to discussing the latest developments in build, test, and continuous integration, this section keeps pace with best practice in version control by focusing on Git, increasingly the developer's system of choice.
Taken together these three elements: object fundamentals, design principles, and best practice will help the reader develop elegant and rock solid systems.
PHP Objects and Patterns: Describes and demonstrates PHP's built-in object-oriented features Breaks down the principles of object-oriented design, explaining key design patterns using practical examples. Discusses the tools and practices necessary for developing, testing and deploying exemplary applications.
Each recipe includes one or two problem statements, with easy-to-follow, step-by-step instructions for solving them, as well as examples using HTTP requests and responses, and XML, JSON, and Atom snippets. You'll also get implementation guidelines, and a discussion of the pros, cons, and trade-offs that come with each solution.Learn how to design resources to meet various application scenariosSuccessfully design representations and URIsImplement the hypertext constraint using links and link headersUnderstand when and how to use Atom and AtomPubKnow what and what not to do to support cachingLearn how to implement concurrency controlDeal with advanced use cases involving copying, merging, transactions, batch processing, and partial updatesSecure web services and support OAuth
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
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!
With this book, you will:Learn new ES6 syntax that eases the pain points of common programming idiomsOrganize code with iterators, generators, modules, and classesExpress async flow control with Promises combined with generatorsUse collections to work more efficiently with data in structured waysLeverage new API helpers, including Array, Object, Math, Number, and StringExtend your program’s capabilities through meta programmingPreview features likely coming to JS beyond ES6
This book is a perfect companion to jQuery Pocket Reference.
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.
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
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
Once you understand how React works, you’ll build a complete custom Whinepad app that helps users rate wines and keep notes. You’ll quickly learn why some developers consider React the key to the web app development puzzle.Set up React and write your first "Hello world" web appCreate and use custom React components alongside generic DOM componentsBuild a data table component that lets you edit, sort, search, and export its contentsUse the JSX syntax extension as an alternative to function callsSet up a lean, low-level build process that helps you focus on ReactBuild a complete custom app that lets you store data on the clientUse ESLint, Flow, and Jest tools to check and test your code as your app evolvesManage communication between components with Flux
All concepts are backed up by real-world examples and case studies, and John provides numerous reusable functions and classes to save you time in your development. There are also up-to-date reference appendixes for the DOM, events, browser support (including IE7), and frameworks, so you can look up specific details quickly and easily.
Whether you’re an entrepreneur, UX/UI designer, product manager, or part of an intrapreneurial team, this book teaches simple-to-advanced strategies that you can use in your work right away. Along with business cases, historical context, and real-world examples throughout, you’ll also gain different perspectives on the subject through interviews with top strategists.Define and validate your target users through provisional personas and customer discovery techniquesConduct competitive research and analysis to explore a crowded marketplace or an opportunity to create unique valueFocus your team on the primary utility and business model of your product by running structured experiments using prototypesDevise UX funnels that increase customer engagement by mapping desired user actions to meaningful metrics
Authors Tomasz Nurkiewicz and Ben Christensen include concrete examples that use the RxJava library to solve real-world performance issues on Android devices as well as the server. You’ll learn how RxJava leverages parallelism and concurrency to help you solve today’s problems. This book also provides a preview of the upcoming 2.0 release.Write programs that react to multiple asynchronous sources of input without descending into "callback hell"Get to that aha! moment when you understand how to solve problems in the reactive wayCope with Observables that produce data too quickly to be consumedExplore strategies to debug and to test programs written in the reactive styleEfficiently exploit parallelism and concurrency in your programsLearn about the transition to RxJava version 2
—Peter Cooper, Editor of Ruby Inside
Used by sites as diverse as Twitter, GitHub, Disney, and the Yellow Pages, Ruby on Rails is one of the most popular frameworks for developing web applications, but it can be challenging to learn and use. Whether you’re new to web development or new only to Rails, Ruby on Rails™ Tutorial, Third Edition, is the solution.
Best-selling author and leading Rails developer Michael Hartl teaches Rails by guiding you through the development of three example applications of increasing sophistication, focusing on the fundamental techniques in web development needed for virtually any kind of application. The updates to this edition include simplified installation via a standard development environment in the cloud, use of the default Rails stack throughout, a light-weight testing approach, an all-new section on image upload, and an all-new chapter on account activation and password resets, including sending email with Rails.
This indispensable guide provides integrated tutorials not only for Rails, but also for the essential Ruby, HTML, CSS, and SQL skills you’ll need when developing web applications. Hartl explains how each new technique solves a real-world problem, and then he demonstrates it with bite-sized code that’s simple enough to understand, yet novel enough to be useful. Whatever your previous web development experience, this book will guide you to true Rails mastery.
This book will help youInstall and set up your Rails development environment, including a pre-installed integrated development environment (IDE) in the cloud Go beyond generated code to truly understand how to build Rails applications from scratch Learn testing and test-driven development (TDD) Effectively use the Model-View-Controller (MVC) pattern Structure applications using the REST architecture Build static pages and transform them into dynamic ones Master the Ruby programming skills all Rails developers need Create high-quality site layouts and data models Implement registration and authentication systems, including validation and secure passwords Update, display, and delete users Upload images in production using a cloud storage service Implement account activation and password reset, including sending email with Rails Add social features and microblogging, including an introduction to Ajax Record version changes with Git and create a secure remote repository at Bitbucket Deploy your applications early and often with Heroku
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
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 ...
You will learn how to use React completely, and learn best practices for creating interfaces in a composable way. You will also cover additional tools and libraries in the React ecosystem (such as React Router and Flux architecture). 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 no-nonsense, in-depth treatment, and every chapter details common problems and how to avoid them.
The example code for this unique data science book is maintained in a public GitHub repository. It’s designed to be easily accessible through a turnkey virtual machine that facilitates interactive learning with an easy-to-use collection of IPython Notebooks.
PHP & MySQL in easy steps demonstrates by example how to produce data-driven web pages using the powerful PHP scripting language and the popular free
MySQL database server. The book examples provide clear syntax-highlighted code showing how to selectively insert and extract data from databases for presentation on your web browser.
PHP & MySQL in easy steps begins by explaining how to install a free web server, the PHP interpreter, and MySQL database server, to create an environment in which you can produce your very own data-driven server-side web pages. You will learn how to write PHP server-side scripts and how to make MySQL database queries. Examples illustrate how to store and retrieve Session Data, how to provide a Message Board, and how to create an E-Commerce Shopping Cart.
This book assumes you have no previous experience of any programming or scripting language so is ideal for the newcomer to PHP and MySQL technologies.
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.
For Java applications, App Engine provides a J2EE standard servlet container with a complete Java 7 JVM and standard library. Because App Engine supports common Java API standards, your code stays clean and portable.Get a hands-on introduction to App Engine's tools and features, using an example applicationSimulate App Engine on your development machine directly from EclipseStructure your app into individually addressable modules, each with its own scaling configurationExploit the power of the scalable Cloud Datastore, using queries, transactions, and data modeling with JPAUse Cloud SQL for standard relational databases with App Engine applicationsLearn how to deploy, manage, and inspect your application on Google infrastructure
With Rapid GUI Programming with Python and Qt you'll learn how to build efficient GUI applications that run on all major operating systems, including Windows, Mac OS X, Linux, and many versions of Unix, using the same source code for all of them. Summerfield systematically introduces every core GUI development technique: from dialogs and windows to data handling; from events to printing; and more. Through the book's realistic examples you'll discover a completely new PyQt 4-based programming approach, as well as coverage of many new topics, from PyQt 4's rich text engine to advanced model/view and graphics/view programming. Every key concept is illuminated with realistic, downloadable examples–all tested on Windows, Mac OS X, and Linux with Python 2.5, Qt 4.2, and PyQt 4.2, and on Windows and Linux with Qt 4.3 and PyQt 4.3.
Designed for experienced website developers who have at least some familiarity with the Python programming language, this book uses a straightforward, step-by-step approach. Each lesson builds on the previous ones, enabling you to learn the essentials of implementing the Django framework on a website from the ground up.
Step-by-step instructions carefully walk you through the most common Django tasks.
Q&As, quizzes, and exercises at the end of each lesson help you test your knowledge.
Notes and tips point out shortcuts and solutions.
Learn how to…Install and configure the Django web development framework Cleanly separate data, logic, and view layers Implement site interfaces with build templates and views Utilize templates and views to store, access, and retrieve data Use the Django forms library Define custom tags and filters to minimize coding Secure sites with registration, authorization, logins, and permissions Manage sessions and cookies Implement middleware for request and response handling Create sitemaps to inform search engines of your content Internationalize your site Optimize performance with caching Deploy Django in multiple configurations Maintain sites with Django’s administrator interface
Part I: Creating the Website Framework
Hour 1: Understanding Django 7
Hour 2: Creating Your First Website 19
Hour 3: Adding Models and Objects to Your Website 37
Hour 4: Creating the Initial Views 63
Part II: Implementing the Website Interface
Hour 5: Using Data from the Database in Views 81
Hour 6: Configuring Web Page Views 103
Hour 7: Implementing Django Templates to Create Custom Views 117
Hour 8: Using Built-in Template Tags to Enhance Views 139
Hour 9: Using Built-in Template Filters to Enhance Views 155
Hour 10: Adding Forms to Views 185
Hour 11: Using Views to Add and Update Data in the Database 209
Hour 12: Utilizing Generic Views 231
Hour 13: Advanced View Configurations 269
Part III: Implementing a Full-Featured Website
Hour 14: Managing Site Users 295
Hour 15: Adding Website Security 313
Hour 16: Managing Sessions and Cookies 333
Hour 17: Customizing Models in the Admin Interface 347
Hour 18: Customizing the Admin Interface 365
Part IV: Implementing Advanced Website Components
Hour 19: Implementing Middleware 383
Hour 20: Internationalization and Localization 407
Hour 21: Creating Sitemaps 423
Hour 22: Implementing Multiple Websites 437
Hour 23: Configuring Caching 451
Hour 24: Deploying Django 465
Appendix A: Django Resources 477
Appendix B: Django Form Field Objects 481
Appendix C: Formatting Dates and Times 491
The important stuff you need to know:Dive into page design. Quickly learn the basics of working with text, images, links, and tables.Edit pages in Live view. Dynamically add elements to live pages and immediately see the results.Design once, and for all. Build fluid-grid sites that adapt themselves to desktop, tablet, and mobile devices.Troubleshoot your HTML. Use the new Element Quick View to reveal the hierarchy of page elements.Style with ease. Tap Dreamweaver’s enhanced CSS Designer to copy and paste styles.Enhance Dreamweaver. Get new program features with add-ons that integrate directly with Dreamweaver.Bring your pages to life. Use jQuery UI to add interactive page elements like tabbed content panels.Create universal pages. Avoid browser incompatibility with workarounds.