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
Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3.
This book covers:Python data model: understand how special methods are the key to the consistent behavior of objectsData structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode ageFunctions as objects: view Python functions as first-class objects, and understand how this affects popular design patternsObject-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritanceControl flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packagesMetaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work
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 SQLite, you'll discover how to develop a database-backed application that remains manageable in size and complexity. This book guides you every step of the way. You'll get a crash course in data modeling, become familiar with SQLite's dialect of the SQL database language, and much more.Learn how to maintain localized storage in a single file that requires no configurationBuild your own SQLite library or use a precompiled distribution in your applicationGet a primer on SQL, and learn how to use several language functions and extensionsWork with SQLite using a scripting language or a C-based language such as C# or Objective-CUnderstand the basics of database design, and learn how to transfer what you already know to SQLiteTake advantage of virtual tables and modules
"Complex SQL concepts explained clearly."
--D. Richard Hipp, creator of SQLite
Prolific hacker and author Simon Monk also teaches basic principles to help you use new technologies with Raspberry Pi as its ecosystem continues to develop. This cookbook is ideal for programmers and hobbyists familiar with the Pi through resources, including Getting Started with Raspberry Pi (O’Reilly). Python and other code examples from the book are available on GitHub.Set up your Raspberry Pi and connect to a networkWork with its Linux-based operating systemProgram Raspberry Pi with PythonGive your Pi "eyes" with computer visionControl hardware through the GPIO connectorUse Raspberry Pi to run different types of motorsWork with switches, keypads, and other digital inputsUse sensors to measure temperature, light, and distanceConnect to IoT devices in various waysCreate dynamic projects with Arduino
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
Ideal for enthusiasts, from students in robotics clubs to professional robotics scientists and engineers, each recipe describes a complete solution using ROS open source libraries and tools. You’ll learn how to complete tasks described in the recipes, as well as how to configure and recombine components for other tasks. If you’re familiar with Python, you’re ready to go.Learn fundamentals, including key ROS concepts, tools, and patternsProgram robots that perform an increasingly complex set of behaviors, using the powerful packages in ROSSee how to easily add perception and navigation abilities to your robotsIntegrate your own sensors, actuators, software libraries, and even a whole robot into the ROS ecosystemLearn tips and tricks for using ROS tools and community resources, debugging robot behavior, and using C++ in ROS
In this authoritative work, Linux programming expert Michael Kerrisk provides detailed descriptions of the system calls and library functions that you need in order to master the craft of system programming, and accompanies his explanations with clear, complete example programs.
You'll find descriptions of over 500 system calls and library functions, and more than 200 example programs, 88 tables, and 115 diagrams. You'll learn how to:
* Read and write files efficiently
* Use signals, clocks, and timers
* Create processes and execute programs
* Write secure programs
* Write multithreaded programs using POSIX threads
* Build and use shared libraries
* Perform interprocess communication using pipes, message queues, shared memory, and semaphores
* Write network applications with the sockets API
While The Linux Programming Interface covers a wealth of Linux-specific features, including epoll, inotify, and the /proc file system, its emphasis on UNIX standards (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it equally valuable to programmers working on other UNIX platforms.
The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that's destined to become a new classic.
Inside, you’ll find complete recipes for more than a dozen topics, covering the core Python language as well as tasks common to a wide variety of application domains. Each recipe contains code samples you can use in your projects right away, along with a discussion about how and why the solution works.
Topics include:Data Structures and AlgorithmsStrings and TextNumbers, Dates, and TimesIterators and GeneratorsFiles and I/OData Encoding and ProcessingFunctionsClasses and ObjectsMetaprogrammingModules and PackagesNetwork and Web ProgrammingConcurrencyUtility Scripting and System AdministrationTesting, Debugging, and ExceptionsC Extensions
You’ll start with an introduction to Spark and its ecosystem, and then dive into patterns that apply common techniques—classification, collaborative filtering, and anomaly detection among others—to fields such as genomics, security, and finance. If you have an entry-level understanding of machine learning and statistics, and you program in Java, Python, or Scala, you’ll find these patterns useful for working on your own data applications.
Patterns include:Recommending music and the Audioscrobbler data setPredicting forest cover with decision treesAnomaly detection in network traffic with K-means clusteringUnderstanding Wikipedia with Latent Semantic AnalysisAnalyzing co-occurrence networks with GraphXGeospatial and temporal data analysis on the New York City Taxi Trips dataEstimating financial risk through Monte Carlo simulationAnalyzing genomics data and the BDG projectAnalyzing neuroimaging data with PySpark and Thunder
Puppet provides a way to automate everything from user management to server configuration. You'll learn how Puppet has changed in the latest version, how to use it on a variety of platforms, including Windows, how to work with Puppet modules, and how to use Hiera.
Puppet is a must-have tool for system administrators, and Pro Puppet will teach you how to maximize its capabilities and customize it for your environment.
Install and configure Puppet to immediately start automating tasks and create reporting solutions
Learn insider tricks and techniques to better manage your infrastructure
Become a Puppet expert!
Author Jason Swartz demonstrates why Scala’s concise and expressive syntax make it an ideal language for Ruby or Python developers who want to improve their craft, while its type safety and performance ensures that it’s stable and fast enough for any application.Learn about the core data types, literals, values, and variablesDiscover how to think and write in expressions, the foundation for Scala's syntaxWrite higher-order functions that accept or return other functionsBecome familiar with immutable data structures and easily transform them with type-safe and declarative operationsCreate custom infix operators to simplify existing operations or even to start your own domain-specific languageBuild classes that compose one or more traits for full reusability, or create new functionality by mixing them in at instantiation
Written by the developers of Spark, this book will have data scientists and engineers up and running in no time. You’ll learn how to express parallel jobs with just a few lines of code, and cover applications from simple batch jobs to stream processing and machine learning.Quickly dive into Spark capabilities such as distributed datasets, in-memory caching, and the interactive shellLeverage Spark’s powerful built-in libraries, including Spark SQL, Spark Streaming, and MLlibUse one programming paradigm instead of mixing and matching tools like Hive, Hadoop, Mahout, and StormLearn how to deploy interactive, batch, and streaming applicationsConnect to data sources including HDFS, Hive, JSON, and S3Master advanced topics like data partitioning and shared variables
The Internet contains the most useful set of data ever assembled, largely publicly accessible for free. However, this data is not easily reusable. It is embedded within the structure and style of websites and needs to be carefully extracted to be useful. Web scraping is becoming increasingly useful as a means to easily gather and make sense of the plethora of information available online. Using a simple language like Python, you can crawl the information out of complex websites using simple programming.
This book is the ultimate guide to using Python to scrape data from websites. In the early chapters it covers how to extract data from static web pages and how to use caching to manage the load on servers. After the basics we'll get our hands dirty with building a more sophisticated crawler with threads and more advanced topics. Learn step-by-step how to use Ajax URLs, employ the Firebug extension for monitoring, and indirectly scrape data. Discover more scraping nitty-gritties such as using the browser renderer, managing cookies, how to submit forms to extract data from complex websites protected by CAPTCHA, and so on. The book wraps up with how to create high-level scrapers with Scrapy libraries and implement what has been learned to real websites.Style and approach
This book is a hands-on guide with real-life examples and solutions starting simple and then progressively becoming more complex. Each chapter in this book introduces a problem and then provides one or more possible solutions.
Author Matthew Moodie describes configuration files, as well as administration features like security, auto-deployment, remote deployment, and data sources. He gets right to the point and teaches you to use Tomcat without wasting time on Java or JSP introductions or excess discussion of JSP and Java code.
Research shows that visual information is more quickly and easily understood, and much more likely to be remembered. This innovative book presents the design process and the best software tools for creating infographics that communicate. Including a special section on how to construct the increasingly popular infographic resume, the book offers graphic designers, marketers, and business professionals vital information on the most effective ways to present data.Explains why infographics and data visualizations work Shares the tools and techniques for creating great infographics Covers online infographics used for marketing, including social media and search engine optimization (SEO) Shows how to market your skills with a visual, infographic resume Explores the many internal business uses of infographics, including board meeting presentations, annual reports, consumer research statistics, marketing strategies, business plans, and visual explanations of products and services to your customers
With Cool Infographics, you'll learn to create infographics to successfully reach your target audience and tell clear stories with your data.
In addition to basic concepts and administration tasks, Apache Tomcat 7 covers some of the most frequently used advanced features of Tomcat, including security, Apache web server integration, load balancing, and embedding Tomcat server in Java applications.
Finally, through a practical primer, it shows how to integrate and use some of the most popular Java technologies with Apache Tomcat. In summary, Apache Tomcat 7 offers both novice and intermediate Apache Tomcat users a practical and comprehensive guide to this powerful software.
Deliver meaningful BI visualizations and real-time dashboards to users across your organization—quickly and easily. Written by an experienced author and certified trainer, Tableau 9: The Official Guide offers step-by-step instruction, best practices, examples, and downloadable video tutorials. See how to get up-and-running on Tableau, load data, drag and drop components, add graphics and maps, create complex calculations, and distribute dynamic dashboards and stories. This practical book teaches how to work with Tableau Server, write custom programs, and publish your results to the Web.
· Connect to data from different systems, spreadsheets, and databases
· Use pre-defined visualizations, sample workbooks, and Show Me
· Analyze with graphs, charts, tables, and statistics
· Create advanced calculations, including new level of detail expressions
· Add geographic analysis and Internet-provided background maps
· Combine multiple visualizations into dynamic dashboards and stories
· Export to the Web and to other file formats using Tableau Server, Online and Public
Electronic content includes:
· Videos that demonstrate the techniques presented in the book
· Sample Tableau workbooks
· Complete formula language reference
If you already know your way around the Android OS and can build a simple Android app in under an hour, this book is for you. If you’re itching to see just how far you can push it and discover what Android is really capable of, it’s for you. And if you’re ready to learn how to build advanced, intuitive, innovative apps that are a blast to use, this book is definitely for you.
From custom views and advanced multi-touch gestures, to integrating online web services and exploiting the latest geofencing and activity recognition features, ace Android developer, Erik Hellman, delivers expert tips, tricks and little-known techniques for pushing the Android envelope so you can:Optimize your components for the smoothest user experience possible Create your own custom Views Push the boundaries of the Android SDK Master Android Studio and Gradle Make optimal use of the Android audio, video and graphics APIs Program in Text-To-Speech and Speech Recognition Make the most of the new Android maps and location API Use Android connectivity technologies to communicate with remote devices Perform background processing Use Android cryptography APIs Find and safely use hidden Android APIs Cloud-enable your applications with Google Play Services Distribute and sell your applications on Google Play Store
Learn how to unleash the power of Android and transform your apps from good to great in Android Programming: Pushing the Limits.
This book introduces the Kivy language and the necessary components so you can implement a graphical user interface (GUI) and learn techniques to handle events, detect gestures, and control multi-touch actions. You will learn strategies to animate your applications, and obtain interactive, professional-looking, and responsive results. You will be applying this knowledge throughout the book by developing three applications and tackling their diverse programming challenges.
By covering both the early setup stages and advanced topics, this book suits web administrators who interested in solutions to optimize their infrastructure, whether you are looking into replacing your existing web server software or integrating a new tool to cooperate with applications that are already up and running. If you, your visitors, and your operating system have been disappointed by Apache, this book is exactly what you need.What You Will LearnGet to know the basics of the Nginx configuration: syntax, structure, and semanticsUnderstand the advanced load balancing functionality of Nginx and the newest innovative IO mechanismsCreate virtual host configurations effortlesslyDiscover all the first-party modules: how to enable, configure, and use themEstablish advanced rewrite rules with the Nginx Rewrite moduleSet up Nginx to work with PHP, Python, and more via FastCGIConfigure Nginx to work as frontend for your existing HTTP serverManipulate configuration files with ease and adapt them to various situationsDiscover the common pitfalls and find out how to avoid themIn Detail
Nginx is a lightweight HTTP server designed for high-traffic websites, with network scalability as the primary objective. With the advent of high speed Internet access, short loading times and fast transfer rates have become a necessity. This free, open source solution will either come as a full replacement of other software such as Apache, or stand in front of your existing infrastructure to improve its overall speed.
This book is a detailed guide to setting up Nginx in different ways that correspond to actual production situations: as a standalone server, as a reverse proxy, interacting with applications via FastCGI, and more. In addition, this complete directive reference will be your best friend at all stages of the configuration and maintenance processes.
This book is the perfect companion for both Nginx beginners and experienced administrators. For beginners, it will take you through the complete process of setting up this lightweight HTTP server on your system and configuring its various modules so it does exactly what you need quickly and securely. For more experienced administrators, this book provides different approaches that can help you make the most of your current infrastructure. Nginx can be employed in many situations, whether you are looking to construct an entirely new web-serving architecture or simply want to integrate an efficient tool to optimize your site loading speeds.Style and approach
This tutorial-style book includes detailed instructions on each of the processes it describes, as well as step-by-step tutorials, commented configuration sections, and in-depth module descriptions, so you can make the most of the performance potential offered by Nginx.
Big data is big news! Every company, industry, not-for-profit, and government agency wants and needs to analyze and leverage datasets that can quickly become ponderously large. Data visualization software enables different industries to present information in ways that are memorable and relevant to their mission. This full-color guide introduces you to a variety of ways to handle and synthesize data in much more interesting ways than mere columns and rows of numbers.
Learn meaningful ways to show trending and relationships, how to convey complex data in a clear, concise diagram, ways to create eye-catching visualizations, and much more!Effective data analysis involves learning how to synthesize data, especially big data, into a story and present that story in a way that resonates with the audience This full-color guide shows you how to analyze large amounts of data, communicate complex data in a meaningful way, and quickly slice data into various views Explains how to automate redundant reporting and analyses, create eye-catching visualizations, and use statistical graphics and thematic cartography Enables you to present vast amounts of data in ways that won't overwhelm your audience
Part technical manual and part analytical guidebook, Data Visualization For Dummies is the perfect tool for transforming dull tables and charts into high-impact visuals your audience will notice...and remember.
By the end of this book, you will have a good understanding of wearable programming, and be confident enough to write programs for building Android applications that run on Android Wear.
Amidst all of the chaos, though, a new type of organization is emerging.
In The Visual Organization, award-winning author and technology expert Phil Simon looks at how an increasingly number of organizations are embracing new dataviz tools and, more important, a new mind-set based upon data discovery and exploration. Simon adroitly shows how Amazon, Apple, Facebook, Google, Twitter, and other tech heavyweights use powerful data visualization tools to garner fascinating insights into their businesses. But make no mistake: these companies are hardly alone. Organizations of all types, industries, sizes are representing their data in new and amazing ways. As a result, they are asking better questions and making better business decisions.
Rife with real-world examples and case studies, The Visual Organization is a full-color tour-de-force.