eBook des Monats: O'Reilly: Programming
We’ve compiled the best insights from subject matter experts and industry insiders for you in one place, so you can dive deep into the latest of what’s happening in the world of software engineering, architecture, and open source.
Software Engineering: Java
- Microservices for Java Developers: A Hands-On Introduction to Frameworks and Containers
Adopting microservices requires much more than changes to your technology. Author Christian Posta—a Principal Middleware Specialist/Architect at Red Hat—also examines the organizational agility necessary to deliver these services. This concise book shows you how rapid feedback cycles, autonomous teams, and shared purpose are key to making microservices work.
- Modern Java EE Design Patterns
With the ascent of DevOps, microservices, containers, and cloud-based development platforms, the gap between state-of-the-art solutions and the technology that enterprises typically support has greatly increased. But as Markus Eisele explains in this O’Reilly ebook, some enterprises are now looking to bridge that gap by building microservice-based architectures on top of Java EE.
- Object-Oriented vs. Functional Programming
The schism between the functional and object-oriented programmers is really a false binary. Yes, the first group argues that FP is superior for a multicore world, while the second insists that OOP is better at matching technical solutions to business problems. However, as this O’Reilly ebook explains, this is not an either-or proposition.
- Java: The Legend
The road from Java’s first public alpha of 1.0 to today has been long—and full of technical advances, innovative solutions, and interesting complications. Along the way, Java has flourished and is now one of the world’s most important and widely-used programming environments. Benjamin Evans, the Java editor for InfoQ and author of Java in a Nutshell, 6th edition, takes us on a journey through time.
Software Engineering: Python
- A Whirlwind Tour of Python
To tap into the power of Python’s open data science stack—including NumPy, Pandas, Matplotlib, Scikit-learn, and other tools—you first need to understand the syntax, semantics, and patterns of the Python language. This report provides a brief yet comprehensive introduction to Python for engineers, researchers, and data scientists who are already familiar with another programming language.
- 20 Python Libraries You Aren't Using (But Should)
This report helps you explore some of the lesser known Python libraries and tools, including third-party modules and several extremely useful tools in the standard library that deserve more attention.
- Hadoop with Python
Hadoop is mostly written in Java, but that doesn't exclude the use of other programming languages with this distributed storage and processing framework, particularly Python. With this concise book, you'll learn how to use Python with the Hadoop Distributed File System (HDFS), MapReduce, the Apache Pig platform and Pig Latin script, and the Apache Spark cluster-computing framework.
- How to Make Mistakes in Python
Even the best programmers make mistakes, and experienced programmer Mike Pirnat has made his share during 15+ years with Python. Some have been simple and silly; others were embarrassing and downright costly. In this O'Reilly ebook, he dissects some of his most memorable blunders, peeling them back layer-by-layer to reveal just what went wrong.
- Functional Programming in Python
Python is not a functional programming language, but it is a multi-paradigm language that makes functional programming easy to perform, and easy to mix with other programming styles. In this paper, David Mertz, a director of Python Software Foundation, examines the functional aspects of the language and points out which options work well and which ones you should generally decline.
- Python in Education
You’ve probably heard about the computing revolution in schools, and perhaps you’ve even heard of Raspberry Pi. The Python programming language is at the center of these fundamental changes in computing education. Whether you’re a programmer, teacher, student, or parent, this ebook arms you with the facts and information you need to understand where Python sits within this context.
- Picking a Python Version: A Manifesto
This ebook guides you through the implicit decision tree of choosing what Python version, implementation, and distribution is best suited for you. It weighs and discusses the merits of each of these choices, and briefly discusses the reasons each option exists.
Software Engineering: Other
- What's New in Swift 3
Swift 3 is the first significant release since Apple’s heralded programming language became an open source project in late 2015. In this report, Jon Manning, Paris Buttfield-Addison, and Tim Nugent—authors of Learning Swift—provide a tour of Swift 3 and its growing ecosystem. You’ll learn about the language’s most impactful and interesting new features, and explore Swift’s use on non-Apple platforms.
- Why Reactive? Foundational Principles for Enterprise Adoption
It’s often difficult to separate hype from reality when it comes to evaluating new technologies, and that’s certainly true of reactive programming. In this report, author Konrad Malawski analyzes reactive principles, and explains how and when it makes sense to adopt this relatively new programming paradigm for systems design.
- Using Blocks in Ruby: A Brain-Friendly Report
Unannounced and unmarked, blocks turn up all over Ruby programs. Their use ranges from some of Ruby’s most basic structures, such as loops, to some of its most sophisticated tricks. Similar to closures or lambdas in other languages, blocks enable some of Ruby’s vaunted efficiency. Blocks even allow other people to write some of the code you use.
- Fintech, Open Source, and Emerging Markets: Digital Banking for Everyone
This report examines the multifaceted role of FinTech in emerging economies, where billions of people live at the lower tier of the economic pyramid—especially in Africa. You’ll discover why countries such as Kenya and Tanzania offer incredible market opportunities for FinTech investors, startups, and developers right now.
- Practical C++ Metaprogramming: Modern Techniques for Accelerated Development
Authors Edouard Alligand and Joel Falcou show you how the process works and what it takes to build and apply a basic metaprogramming toolbox.
- Real-World Maintainable Software: Ten Coding Guidelines in Practice
The software development industry is increasingly realizing that success depends on a project’s long-term viability. To help with that effort, the Software Improvement Group (SIG) has identified ten guidelines for delivering code that’s easy to maintain and adapt over time.
- Trends Shaping the London Tech Scene
London has been a world leader in finance, journalism, trade, the arts, and government for ages, but you don’t hear much about computer technology. With this report, you’ll learn that the city’s tech scene over the past decade has not only pervaded all of its world-leading activities, it’s also created a vibrant, independent business environment of its own. Author Andy Oram, Senior Editor at O’Reilly, provides a comprehensive view of the London tech scene—where it stands, what feeds its strengths, and who is participating.
- 2016 European Software Development Salary Survey
Of the more than 5,000 participants in O’Reilly Media’s 2016 Software Development Salary Survey, 1,353 software engineers, developers, and other programming professionals live and work in Europe. This report includes complete survey results from those respondents, including participants in organizations both large and small, and from a wide variety of industries. You’ll learn about the current state of software development—and the careers that propel it—across Europe today.
- 2016 Software Development Salary Survey
Early this year, more than 5000 software engineers, developers, and other programming professionals participated in O’Reilly Media’s first Software Development Salary Survey. Participants included professionals from large and small companies in a variety of industries across 51 countries and all 50 US states. With the complete survey results in this in-depth ebook, you’ll be able to explore the world of software development—and the careers that propel it—in great detail.
- Why Rust?
This O’Reilly ebook examines Rust, a new systems programming language that combines safety and security with performance on a par with C and C++. Author Jim Blandy from Mozilla explains how Rust achieves this combination via a sophisticated and flexible type system, working together with a novel “borrow checker.”
- C++ Today
Now that software development is shifting primarily toward mobile and cloud computing, the venerable C++ programming language is returning to the dominant position it held during the object-oriented boom of the 1990s. In this O’Reilly ebook, you’ll learn why C++ is once again the preferred choice across several diverse industries, after taking a backseat to Java during the 2000s.
- RxJava for Android App Development
RxJava is hot property among experienced Android developers these days, but this powerful library for handling asynchronous data in Android apps can be difficult to learn. In this O'Reilly ebook, mobile software engineer Matt Dupree introduces you to RxJava basics and then uses a real-world scenario to demonstrate how this library makes quick work of tasks that can often become messy and inflexible.
- Swift Pocket Reference: Programming for iOS and OS X
Get quick answers for developing and debugging applications with Swift, Apple’s multi-paradigm programming language. Updated to cover the latest features in Swift 2.0, this pocket reference is the perfect on-the-job tool for learning Swift’s modern language features, including type safety, generics, type inference, closures, tuples, automatic memory management, and support for Unicode.
- Open Source in Brazil: Growing Despite Barriers
In this report, author Andy Oram explores the many trends in business, education, and government that have contributed to the current state of open source activity in Brazil. You’ll explore the country’s open source community, its free software movements, business and workforce involvement, and problems in education.
- Ten Steps to Linux Survival
Linux systems are everywhere today, even in companies once considered “pure Windows.” If you’re a sysadmin, network administrator, or developer in a small Windows shop, you may have to jump in and fix a system problem when your site goes down. What if you have no Linux knowledge? This short guide provides tips to help you survive.
- Open by Design
Today’s open source, managed by open governance and collaborative foundations, is fueling a developer revolution across worldwide communities working to conquer the next computing challenge—the cloud. Proprietary clouds and cloud ecosystems are being superseded by open source collaborations across the industry, such as Docker, OpenStack, and Cloud Foundry.
- Getting Started with InnerSource
Welcome to InnerSource, the powerful movement for developing open source software within the walls of a single organization, where the 'openness' of a project extends across teams inside the company. In this ebook, O’Reilly editor and author Andy Oram takes you inside InnerSource, first by reviewing the principles that make open source development successful, and then by describing how InnerSource has worked at PayPal, the leading Internet commerce facilitator.
- Designing Autonomous Teams and Services
In this report, you’ll explore how leading organizations increase autonomy across teams and services through techniques designed to accelerate product delivery and improve business/IT alignment.
- Migrating Java to the Cloud
Authors Kevin Webber and Jason Goodwin cover proven steps and techniques that enable your company to take advantage of cloud infrastructure’s power and flexibility.
- What Is Serverless?
Authors Mike Roberts and John Chapin, co-founders of the Symphonia Serverless and cloud technology consultancy, take you through the Serverless landscape—particularly the design considerations, tooling, and approaches to operational management you need to make it work. Is Serverless the right choice for you and your team? Dive into this report and find out.
- Microservices in Production: Standard Principles and Requirements
In this report, author Susan Fowler looks at lessons learned from driving a production-readiness initiative across Uber’s more than one thousand microservices. You’ll explore eight production-readiness requirements that she and her fellow SREs at Uber adopted after countless hours of research inside and outside the company.
- Microservices AntiPatterns and Pitfalls
Remember when service-oriented architecture (SOA) was all the rage? Companies jumped in before fully understanding SOA's advantages and disadvantages, and struggled to make this complex architecture work. Today, we're poised to repeat this same experience with microservices—only this time we're prepared. With this concise ebook, author Mark Richards walks you through the ten most common microservice anti-patterns and pitfalls, and provides solutions for avoiding them.
- Evolving Architectures of FinTech: Structuring a New Generation of Financial Services with Modular Software and Agile Development Strategies
Through interviews with financial, technology, and legal experts, author Mike Barlow explores efforts to make financial services platforms more developer-friendly.
- Software Architecture Patterns
The success of any application or system depends on the architecture pattern you use. By describing the overall characteristics of the architecture, these patterns not only guide designers and developers on how to design components, but also determine the ways in which those components should interact.
- Migrating to Cloud-Native Application Architectures
Adoption of cloud-native application architectures is helping many organizations transform their IT into a force for true agility in the marketplace. This O’Reilly ebook defines the unique characteristics of cloud-native application architectures such as microservices and twelve-factor applications.
Source: Free Programming Ebooks