You'll learn language syntax and programming techniques in a clear and concise manner, with lots of examples that illustrate both correct usage and common idioms. Completely updated for version 3.x, Programming Python also delves into the language as a software development tool, with many code examples scaled specifically for that purpose.
Topics include:Quick Python tour: Build a simple demo that includes data representation, object-oriented programming, object persistence, GUIs, and website basicsSystem programming: Explore system interface tools and techniques for command-line scripting, processing files and folders, running programs in parallel, and moreGUI programming: Learn to use Python’s tkinter widget libraryInternet programming: Access client-side network protocols and email tools, use CGI scripts, and learn website implementation techniquesMore ways to apply Python: Implement data structures, parse text-based information, interface with databases, and extend and embed Python
OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide is your comprehensive companion for preparing for Exam 1Z0-809 as well as upgrade Exam 1Z0-810 and Exam 1Z0-813. With full coverage of 100% of exam objectives, this invaluable guide reinforces what you know, teaches you what you don't know, and gives you the hands-on practice you need to boost your skills. Written by expert Java developers, this book goes beyond mere exam prep with the insight, explanations and perspectives that come from years of experience. You'll review the basics of object-oriented programming, understand functional programming, apply your knowledge to database work, and much more. From the basic to the advanced, this guide walks you through everything you need to know to confidently take the OCP 1Z0-809 Exam and upgrade exams 1Z0-810 and 1Z0-813.
Java 8 represents the biggest changes to the language to date, and the latest exam now requires that you demonstrate functional programming competence in order to pass. This guide has you covered, with clear explanations and expert advice.Understand abstract classes, interfaces, and class design Learn object-oriented design principles and patterns Delve into functional programming, advanced strings, and localization Master IO, NIO, and JDBC with expert-led database practice
If you're ready to take the next step in your IT career, OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide is your ideal companion on the road to certification.
Entirely example-based, JavaFX 8: Introduction by Example begins with the fundamentals of installing the software and creating a simple interface. From there, you'll move in progressive steps through the process of developing applications using JavaFX’s standard drawing primitives. You'll then explore images, animations, media, and web. This new edition incorporates the changes resulting from the switch to Java 8 SDK. It covers advanced topics such as custom controls, JavaFX 3D, gesture devices, and embedded systems. Best of all, the book is full of working code that you can adapt and extend to all your future projects.Entirely example-based Filled with fun and practical code examples Covers all that's new in Java 8 relating to JavaFX such as Lambda expressions and StreamsCovers gesture devices, 3D display, embedded systems, and other advanced topics
"Building a Scalable Data Warehouse" covers everything one needs to know to create a scalable data warehouse end to end, including a presentation of the Data Vault modeling technique, which provides the foundations to create a technical data warehouse layer. The book discusses how to build the data warehouse incrementally using the agile Data Vault 2.0 methodology. In addition, readers will learn how to create the input layer (the stage layer) and the presentation layer (data mart) of the Data Vault 2.0 architecture including implementation best practices. Drawing upon years of practical experience and using numerous examples and an easy to understand framework, Dan Linstedt and Michael Olschimke discuss:
How to load each layer using SQL Server Integration Services (SSIS), including automation of the Data Vault loading processes.
Important data warehouse technologies and practices.
Data Quality Services (DQS) and Master Data Services (MDS) in the context of the Data Vault architecture.Provides a complete introduction to data warehousing, applications, and the business context so readers can get-up and running fast Explains theoretical concepts and provides hands-on instruction on how to build and implement a data warehouseDemystifies data vault modeling with beginning, intermediate, and advanced techniquesDiscusses the advantages of the data vault approach over other techniques, also including the latest updates to Data Vault 2.0 and multiple improvements to Data Vault 1.0
Topics include:The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functionsThe relationships among std::move, std::forward, rvalue references, and universal referencesTechniques for writing clear, correct, effective lambda expressionsHow std::atomic differs from volatile, how each should be used, and how they relate to C++'s concurrency APIHow best practices in "old" C++ programming (i.e., C++98) require revision for software development in modern C++
Effective Modern C++ follows the proven guideline-based, example-driven format of Scott Meyers' earlier books, but covers entirely new material.
"After I learned the C++ basics, I then learned how to use C++ in production code from Meyer's series of Effective C++ books. Effective Modern C++ is the most important how-to book for advice on key guidelines, styles, and idioms to use modern C++ effectively and well. Don't own it yet? Buy this one. Now".
-- Herb Sutter, Chair of ISO C++ Standards Committee and C++ Software Architect at Microsoft
Are you looking for a deeper understanding of the Java™ programming language so that you can write code that is clearer, more correct, more robust, and more reusable? Look no further! Effective Java™, Second Edition, brings together seventy-eight indispensable programmer’s rules of thumb: working, best-practice solutions for the programming challenges you encounter every day.
This highly anticipated new edition of the classic, Jolt Award-winning work has been thoroughly updated to cover Java SE 5 and Java SE 6 features introduced since the first edition. Bloch explores new design patterns and language idioms, showing you how to make the most of features ranging from generics to enums, annotations to autoboxing.
Each chapter in the book consists of several “items” presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and outstanding code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why.
Highlights include:New coverage of generics, enums, annotations, autoboxing, the for-each loop, varargs, concurrency utilities, and much more Updated techniques and best practices on classic topics, including objects, classes, libraries, methods, and serialization How to avoid the traps and pitfalls of commonly misunderstood subtleties of the language Focus on the language and its most fundamental libraries: java.lang, java.util, and, to a lesser extent, java.util.concurrent and java.io
Simply put, Effective Java™, Second Edition, presents the most practical, authoritative guidelines available for writing efficient, well-designed programs.
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
At any given moment, someone struggles with the same software design problems you have. And, chances are, someone else has already solved your problem. This edition of Head First Design Patterns—now updated for Java 8—shows you the tried-and-true, road-tested patterns used by developers to create functional, elegant, reusable, and flexible software. By the time you finish this book, you’ll be able to take advantage of the best design practices and experiences of those who have fought the beast of software design and triumphed.
What’s so special about this book?
We think your time is too valuable to spend struggling with new concepts. Using the latest research in cognitive science and learning theory to craft a multi-sensory learning experience, Head First Design Patterns uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep.
The fact is your brain craves novelty. It's constantly searching, scanning, waiting for something unusual to happen. After all, that's the way it was built to help you stay alive. It takes all the routine, ordinary, dull stuff and filters it to the background so it won't interfere with your brain's real work--recording things that matter. How does your brain know what matters? It's like the creators of the Head First approach say, suppose you're out for a hike and a tiger jumps in front of you, what happens in your brain? Neurons fire. Emotions crank up. Chemicals surge.
That's how your brain knows.
And that's how your brain will learn Java. Head First Java combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. It's fast, it's fun, and it's effective. And, despite its playful appearance, Head First Java is serious stuff: a complete introduction to object-oriented programming and Java. You'll learn everything from the fundamentals to advanced topics, including threads, network sockets, and distributed programming with RMI. And the new. second edition focuses on Java 5.0, the latest version of the Java language and development platform. Because Java 5.0 is a major update to the platform, with deep, code-level changes, even more careful study and implementation is required. So learning the Head First way is more important than ever.
If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. You'll see why people say it's unlike any other Java book you've ever read.
By exploiting how your brain works, Head First Java compresses the time it takes to learn and retain--complex information. Its unique approach not only shows you what you need to know about Java syntax, it teaches you to think like a Java programmer. If you want to be bored, buy some other book. But if you want to understand Java, this book's for you.
However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.
This book covers:Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Performance optimization dos and don'ts Testing concurrent programs Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model
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
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
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
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
The demand for Android apps is not slowing down but many mobile developers who want to create Android apps lack the necessary Java background. This beginner guide gets you up and running with using Java to create Android apps with no prior knowledge or experienced necessary!Shows you the basic Java development concepts and techniques that are necessary to develop Android apps Explores what goes into creating an Android app to give you a better understanding of the various elements Addresses how to deal with standard programming challenges and debugging
Beginning Android Programming with Java For Dummies puts you well on your way toward creating Android apps quickly with Java.
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!
You'll start with the kid stuff: basic syntax, recursion, types and type classes. Then once you've got the basics down, the real black belt master-class begins: you'll learn to use applicative functors, monads, zippers, and all the other mythical Haskell constructs you've only read about in storybooks.
As you work your way through the author's imaginative (and occasionally insane) examples, you'll learn to:
–Laugh in the face of side effects as you wield purely functional programming techniques
–Use the magic of Haskell's "laziness" to play with infinite sets of data
–Organize your programs by creating your own types, type classes, and modules
–Use Haskell's elegant input/output system to share the genius of your programs with the outside world
Short of eating the author's brain, you will not find a better way to learn this powerful language than reading Learn You a Haskell for Great Good!
Using Hadoop 2 exclusively, author Tom White presents new chapters on YARN and several Hadoop-related projects such as Parquet, Flume, Crunch, and Spark. You’ll learn about recent changes to Hadoop, and explore new case studies on Hadoop’s role in healthcare systems and genomics data processing.Learn fundamental components such as MapReduce, HDFS, and YARNExplore MapReduce in depth, including steps for developing applications with itSet up and maintain a Hadoop cluster running HDFS and MapReduce on YARNLearn two data formats: Avro for data serialization and Parquet for nested dataUse data ingestion tools such as Flume (for streaming data) and Sqoop (for bulk data transfer)Understand how high-level data processing tools like Pig, Hive, Crunch, and Spark work with HadoopLearn the HBase distributed database and the ZooKeeper distributed configuration service
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
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.
Compare distributed apps (dapps) to web apps
Write Ethereum smart contracts in Solidity
Deploy your own dapp, coin, and blockchain
Work with basic and intermediate smart contracts
Who This Book Is For
Experts will find the advanced sample projects in this book rewarding because of the power of Solidity
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.
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.
What’s so special about this book?
Suggested solutions to the programming projects found at the end of each chapter are made available to instructors at recognized educational institutions. This educational supplement can be found at www.prenhall.com, in the Instructor Resource Center.
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.
If you've already had some experience with MeteorJS but want to learn how to build even better modern web application, this book has been created for you. It provides you with a comprehensive look at one of those most important frameworks being used for the modern web today.What You Will LearnGet to grips with the basics and learn how to build a complete real-time application with MeteorJSFind out how Meteor makes full-stack development simple – become a better developer, fast.Use some of the most effective testing tools in modern web development to troubleshoot, debug and optimize your appFind out how to write custom packages for applications – so you can build your project exactly how you wantIntegrate React and Angular into your projectDesign and develop high quality animations that will give your UI the edgeBuild MeteorJS to serve as REST-based application and reactive systemLearn how to host a MeteorJS application and then scale it for dataFind out how MeteorJS can help you build for mobileLearn how to make sure you implement an effective SEO strategy in your MeteorJS applicationIn Detail
Mastering MeteorJS Application Development shows you how to do even more with MeteorJS – if you're ready to try a comprehensive course through one of the most exciting frameworks in web development today, this is the book you need. Designed to take you through the entire process of building an advanced multipage application with Meteor, you'll be able to bring your web development ideas with surprising ease.
You'll not only learn how Meteor makes web development easier, but also how you can make using Meteor easier, by automating and simplifying tasks so you can be confident you have full control of everything in your workflow – especially everything that could go wrong. From automated testing to integrating other useful frameworks such as Angular and D3, each chapter covers a crucial element in the Meteor development process.
Discover how to integrate animations using Meteor's Blaze, to give your UI designs the edge, and explore reactive programming to effectively harness RESTful systems in your projects. You will also learn how to deploy and scale your application, two crucial aspects of modern development and vital in a changing digital environment with users expecting a product and experience that delivers. With further insights on developing for mobile – and how Meteor can help you tackle the challenges of the trend – and details on incorporating SEO strategies into your application, this book isn't just a code tutorial – it's about creating a product that users love.Style and approach
This book is a practical guide that teaches you different ways to create custom packages, efficient client and server code, and more using Meteor. This book is packed with perfect examples and explanations to help you understand the concepts. With the perfect mix of theory and practical experience, it will equip you to become a professional MeteorJS developer.