Skip to content

Instantly share code, notes, and snippets.

@rashkopetrov
Forked from abstractart/books.md
Created March 5, 2018 15:16
Show Gist options
  • Save rashkopetrov/070b7eb88adf5cd845267d1ba6c93705 to your computer and use it in GitHub Desktop.
Save rashkopetrov/070b7eb88adf5cd845267d1ba6c93705 to your computer and use it in GitHub Desktop.
Free Programming Ebooks - O'Reilly Media

Free Programming Ebooks - O'Reilly Media

Categories

Programming

Microservices for Java Developers: A Hands-On Introduction to Frameworks and Containers

pdf epub mobi

Modern Java EE Design Patterns

pdf epub mobi

Object-Oriented vs. Functional Programming

pdf epub mobi

Java: The Legend

pdf epub mobi

A Whirlwind Tour of Python

pdf epub mobi

20 Python Libraries You Aren't Using (But Should)

pdf epub mobi

Hadoop with Python

pdf epub mobi

How to Make Mistakes in Python

pdf epub mobi

Functional Programming in Python

pdf epub mobi

Python in Education

pdf epub mobi

Picking a Python Version: A Manifesto

pdf epub mobi

What's New in Swift 3

pdf epub mobi

Why Reactive? Foundational Principles for Enterprise Adoption

pdf epub mobi

Using Blocks in Ruby: A Brain-Friendly Report

pdf epub mobi

Fintech, Open Source, and Emerging Markets: Digital Banking for Everyone

pdf epub mobi

Practical C++ Metaprogramming: Modern Techniques for Accelerated Development

pdf epub mobi

Real-World Maintainable Software: Ten Coding Guidelines in Practice

pdf epub mobi

Trends Shaping the London Tech Scene

pdf epub mobi

2016 European Software Development Salary Survey

pdf epub mobi

2016 Software Development Salary Survey

pdf epub mobi

Why Rust?

pdf epub mobi

C++ Today

pdf epub mobi

RxJava for Android App Development

pdf epub mobi

Swift Pocket Reference: Programming for iOS and OS X

pdf epub mobi

Open Source in Brazil: Growing Despite Barriers

pdf epub mobi

Ten Steps to Linux Survival

pdf epub mobi

Open by Design

pdf epub mobi

Getting Started with InnerSource

pdf epub mobi

Designing Autonomous Teams and Services

pdf epub mobi

Migrating Java to the Cloud

pdf epub mobi

What Is Serverless?

pdf epub mobi

Microservices in Production: Standard Principles and Requirements

pdf epub mobi

Microservices AntiPatterns and Pitfalls

pdf epub mobi

Evolving Architectures of FinTech: Structuring a New Generation of Financial Services with Modular Software and Agile Development Strategies

pdf epub mobi

Software Architecture Patterns

pdf epub mobi

Migrating to Cloud-Native Application Architectures

pdf epub mobi

IoT

Ambient Computing

pdf epub mobi

Governing the IoT

pdf epub mobi

Opportunities and Challenges in the IoT

pdf epub mobi

Building a Hardware Business

pdf epub mobi

When Hardware Meets Software

pdf epub mobi

Software Above the Level of a Single Device: The Implications

pdf epub mobi

Software & Hardware Collide

pdf epub mobi

Pitching Your IoT Project: How to Get Executive Buy-In

pdf epub mobi

User Experience Design for the Internet of Things

pdf epub mobi

The Internet as Material

pdf epub mobi

Designing for the Internet of Things

pdf epub mobi

Ambient Computing

pdf epub mobi

Smart Energy

pdf epub mobi

Smart Cities, Smarter Citizens

pdf epub mobi

Evolving Infrastructures of the Industrial IoT

pdf epub mobi

Life: Sustainable, Programmable, Bottom-Up Manufacturing

pdf epub mobi

Predictive Maintenance

pdf epub mobi

Industrial Internet

pdf epub mobi

Data

Big Data Now 2016 Edition

pdf epub mobi

The Big Data Market

pdf epub mobi

Integrated Analytics

pdf epub mobi

Data Infrastructure for Next-Gen Finance

pdf epub mobi

Advancing Procurement Analytics

pdf epub mobi

The Global Impact of Open Data

pdf epub mobi

Data Science for Modern Manufacturing

pdf epub mobi

Mapping Big Data

pdf epub mobi

Business Models for the Data Economy

pdf epub mobi

2016 Data Science Salary Survey

pdf epub mobi

Embedding Analytics in Modern Applications

pdf epub mobi

Data Science in the Cloud with Microsoft Azure Machine Learning and Python

pdf epub mobi

Self-Service Analytics

pdf epub mobi

Going Pro in Data Science

pdf epub mobi

Evaluating Machine Learning Models

pdf epub mobi

What is Data Science?

pdf epub mobi

Artificial Intelligence Now

pdf epub mobi

Practical Artificial Intelligence in the Cloud

pdf epub mobi

The New Artificial Intelligence Market

pdf epub mobi

AI and Medicine

pdf epub mobi

What is Artificial Intelligence?

pdf epub mobi

The Future of Machine Intelligence

pdf epub mobi

What Are Conversational Bots?

pdf epub mobi

Architecting for Access: Simplifying Analytics on Big Data Infrastructure

pdf epub mobi

Hadoop and Spark Performance for the Enterprise

pdf epub mobi

In Search of Database Nirvana

pdf epub mobi

Making Sense of Stream Processing

pdf epub mobi

Architecting Data Lakes

pdf epub mobi

Hadoop: What You Need to Know

pdf epub mobi

Fast Data: Smart and at Scale

pdf epub mobi

Migrating Big Data Analytics into the Cloud

pdf epub mobi

WebOps

BGP in the Data Center

pdf epub mobi

Serverless Ops: A Beginner's Guide to AWS Lambda and Beyond

pdf epub mobi

Cloud-Native Evolution: How Companies Go Digital

pdf epub mobi

Unikernels: Beyond Containers to the Next Generation of Cloud

pdf epub mobi

Mobile App Analytics

pdf epub mobi

Monitoring Distributed Systems: Case Studies from Google's SRE Teams

pdf epub mobi

Release Engineering: How Google Builds and Delivers Software

pdf epub mobi

Beyond the Twelve-Factor App

pdf epub mobi

Docker in the Cloud

pdf epub mobi

Network Automation with Ansible

pdf epub mobi

Are Your Networks Ready for the IoT?

pdf epub mobi

Docker Networking and Service Discovery

pdf epub mobi

Immutable Infrastructure

pdf epub mobi

Continuous Delivery with Windows and .NET

pdf epub mobi

Docker Security

pdf epub mobi

Kubernetes: Scheduling the Future at Cloud Scale

pdf epub mobi

Modern Web Operations

pdf epub mobi

Field Guide to the Distributed Development Stack

pdf epub mobi

5 Unsung Tools of DevOps

pdf epub mobi

Lightweight Systems for Realtime Monitoring

pdf epub mobi

Anomaly Detection for Monitoring: A Statistical Approach to Time Series Anomaly Detection

pdf epub mobi

Enterprise DevOps Playbook

pdf epub mobi

ChatOps: Managing Operations in Group Chat

pdf epub mobi

DevOpsSec: Securing Software through Continuous Delivery

pdf epub mobi

DevOps for Finance

pdf epub mobi

Building an Optimized Business

pdf epub mobi

Everything Is Distributed

pdf epub mobi

DevOps in Practice

pdf epub mobi

The Human Side of Postmortems

pdf epub mobi

Learning from First Responders: When Your Systems Have to Work

pdf epub mobi

DevOps Hiring

pdf epub mobi

Antifragile Systems and Teams

pdf epub mobi

Web Development

2016-2017 Web Salary Survey

pdf epub mobi

Building Web Apps for Everyone

pdf epub mobi

Building Web Apps that Respect a User’s Privacy and Security

pdf epub mobi

CSS Secrets: Sampler

pdf epub mobi

Python Web Frameworks

pdf epub mobi

Modern SVG: A Curated Collection of Chapters from the O’Reilly SVG Library

pdf epub mobi

The Little Book of HTML/CSS Coding Guidelines

pdf epub mobi

Upgrading to PHP 7

pdf epub mobi

Static Site Generators

pdf epub mobi

Transforms in CSS

pdf epub mobi

Getting Started with the Web

pdf epub mobi

Modern JavaScript

pdf epub mobi

Designing Great Web APIs

pdf epub mobi

The Little Book of HTML/CSS Frameworks

pdf epub mobi

Next.JS: A Manager's Guide

pdf epub mobi

You Don't Know JS Up & Going

pdf epub mobi

Web Platform Report

pdf epub mobi

Building Web Apps that Work Everywhere

pdf epub mobi

Real User Measurements: Why the Last Mile Is the Relevant Mile

pdf epub mobi

Effective Performance Engineering

pdf epub mobi

Optimizing Cloud Migration

pdf epub mobi

Web Performance Warrior

pdf epub mobi

Web Page Size, Speed, and Performance

pdf epub mobi

HTTP/2: A New Excerpt from High Performance Browser Networking

pdf epub mobi

Compliance at Speed

pdf epub mobi

Security

Security and Frontend Performance

pdf epub mobi

Privacy and the Internet of Things

pdf epub mobi

Cracking Security Misconceptions: Untangling Common Myths About Modern Information Security

pdf epub mobi

Patrolling the Dark Net: What You Don't Know Will Hurt You

pdf epub mobi

DevOpsSec: Securing Software through Continuous Delivery

pdf epub mobi

Not All Data Is Created Equal: Balancing Risk and Reward in a Data-Driven Economy

pdf epub mobi

Who Are the Bad Guys and What Do They Want?

pdf epub mobi

Docker Security

pdf epub mobi

The Security Data Lake

pdf epub mobi

Business

The Secrets Behind Great One-on-One Meetings

pdf epub mobi

Designing Culture: Behavioral Strategy for the Workplace

pdf epub mobi

The New Manager Mindset

pdf epub mobi

Introduction to OKRs

pdf epub mobi

Serving Workers in the Gig Economy: Emerging Resources for the On-Demand Workforce

pdf epub mobi

Build to Lead: How Lego Bricks Can Make You a Better Leader

pdf epub mobi

Your Critical First 10 Days as a Leader

pdf epub mobi

Three Critical Shifts in Thinking for the Evolving Leader

pdf epub mobi

Startup Essentials

pdf epub mobi

What’s the Future of Work?

pdf epub mobi

# This script generates links for downloading free books from O'Reilly site (http://www.oreilly.com/programming/free)
# Requirements
# ruby
# httparty, nokogiri (gem install httparty nokogiri --no-ri --no-rdoc)
# Execute
# ruby script.rb > books.md
require 'httparty'
require 'nokogiri'
require 'uri'
module OReillySite
URL = 'http://www.oreilly.com/'
THEME_TITLES = {
'programming' => 'Programming',
'iot' => 'IoT',
'data' => 'Data',
'webops-perf' => 'WebOps',
'web-platform' => 'Web Development',
'security' => 'Security',
'business' => 'Business'
}
THEMES = THEME_TITLES.keys
FORMATS = ['pdf', 'epub', 'mobi']
end
module OReillySite::URLBuilder
def self.theme_url(theme)
OReillySite::URL + theme + '/' + 'free/'
end
def self.download_url(theme, book_filename, format)
theme_url(theme) + 'files/' + book_filename + '.' + format
end
end
module OReillySite::Crawler
def self.library
books = Hash.new { |hash, key| hash[key] = [] }
OReillySite::THEMES.each do |t|
books[t] = theme_books(OReillySite::URLBuilder.theme_url(t))
end
books
end
private
def self.theme_books(theme_url)
Nokogiri.HTML(HTTParty.get(theme_url).body)
.css("section .product-row a")
.map { |link| get_book_info(link) }
end
def self.get_book_info(link)
splitted_url = URI(link.attributes['href'].value).path.split('/')
OpenStruct.new(
theme: splitted_url[1],
title: link.attributes['title'].value,
file_name: splitted_url.last.split('.').first
)
end
end
def markdown(library)
main_header = "# Free Programming Ebooks - O'Reilly Media \n"
head_of_contents = ["## Categories"]
theme_sections = []
library.each do |theme, books|
theme_title = OReillySite::THEME_TITLES[theme]
theme_link = URI.escape(theme_title.downcase.sub ' ', '-')
head_of_contents << "- [#{theme_title}](##{theme_link})"
section_header = "\n## #{theme_title} \n"
section_books = books.map do |book|
book_title = "\n### #{book.title}"
links = OReillySite::FORMATS.map do |fmt|
"[#{fmt}](#{OReillySite::URLBuilder.download_url(book.theme, book.file_name, fmt)})"
end.join(" ")
[book_title, links].join("\n")
end.join("\n")
theme_sections << [section_header, section_books].join("\n")
end
[main_header, head_of_contents.join("\n"), theme_sections].join("\n")
end
def main
puts markdown(OReillySite::Crawler.library)
end
main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment