You are on page 1of 17

Table

of Contents
Introduction

1.1

First Chapter

1.2

Introduction

Jonatas' Awesome List


A list of things that I read, study and find awesome!
Inspired by the awesome list thing.

Table of Contents
Angular.JS
AWS
Blogs and Newsletters
Business
CI
CDN
Cloud Computing
Code
Conferences
CSS
Docker
ElasticSearch
Git
Full Stack Human
Javascript
Library
Linux
Monitoring
MySQL and MariaDB
NGINX
NoSQL
PHP
PostgreSQL
Python
Ruby
Ruby on Rails
Securiry
Serverless
SEO
Sysadmin and DevOps

Introduction

Video, 2D and 3D
Web Stuff
Workshop
YAML

AngularJS
Fundamentals In 60-ish Minutes talks about SPA and some Angular features, like
directives/data binding, filters, views, $scope, controller, routes, factories.

AWS
IAM
AWS re:Invent 2015 | (SEC302) IAM Best Practices to Live By best practices in IAM,
like individual users, least privilege, CloudTrail, MFA and others.

CloudTrail
AWS re:Invent 2015 | (SEC318) AWS CloudTrail Deep Dive why and how to use
CloudTrail to keep AWS API calls logged.

EC2
AWS Summit Series 2016 | Chicago - Getting Started with Amazon EC2 and Compute
Services high level overview on EC2 services.
AWS re:Invent 2015 | (CMP402) Amazon EC2 Instances Deep Dive dive into the
current generation design choices of the different instance families, including General
Purpose, Compute Optimized, Storage Optimized, Memory Optimized, and GPU
instance.
A Comprehensive Guide to Building a Scalable Web App on Amazon Web Services
AMAZING guide on how to build a web scale app on AWS. Covers the necessary
foundation and services needed, as well as strategics, designs andconcepts.
I/O Characteristics how AWS I/O works.

ELB
AWS re:Invent 2015 | (CMP401) Elastic Load Balancing Deep Dive and Best Practices

Introduction

Colm talking deeply about ELB, focusing on security and scalability.


Best Practices in Evaluating Elastic Load Balancing AWS article on ELB best practices,
about how it works, planning and testing.
Key AWS ELB Monitoring Metrics best metrics to setup in ELB.

Route 53
Route 53 FAQs AWS FAQs are awesome, read them!
AWS re:Invent 2015 | (NET308) Consolidating DNS Data in the Cloud with Amazon
Route 53 talk about private and public zones, using the CLI to migrate from local DNS
servers to AWS - as well transfering your domain -. Also about how to use a local DNS
infrastructure in conjunction with Route 53.
AWS re:Invent 2014 | (SDD408) Amazon Route 53 Deep Dive: Delivering Resiliency,
Minimizing Latency advanced talk about build a resilient Route 53 infrastructure.
GeoDNS, ALIAS records, logs, monitoring etc.

RDS
RDS FAQs did I tell you that AWS FAQs are awesome?
AWS Webcast - Amazon RDS for MySQL: Best Practices and Migration about best
practices and migration, oh really?
Should I stick only to AWS RDS Automated Backup or DB Snapshots? great
StackOverflow discussion around RDS Automated Backups and Snapshots. The
results? Use automated backups and make your own snapshots/mysqldumps.
3 Reasons To Start Using RDS Manual Snapshots again, use manual snapshots!
AWS re:Invent 2015 | (DAT304) Amazon RDS for MySQL: Best Practices nice talk from
re:Invent 2015 about RDS MySQL, including database events, logs, features and
monitoring.

S3
AWS re:Invent 2015 | (STG401) Amazon S3 Deep Dive and Best Practices a lot about
S3, including security, auditing, replication etc.

Security
AWS Security Best Practices AWS whiteper about security. It covers the responsability
model, credentials, keys, security for each service (S3, EBS, RDS etc).
AWS Security: Bastion Host, NAT instances and VPC Peering security involving how to
access externaly your services and how instances access the external world.

Introduction

VPC
Public IP vs Elastic IP: The Utlimate Showdown great article showing the differences
between Elastic and Public IP.

Blogs
Business
Things I Wish I'd Known Rod Johnson is a talk from GOTO Conferences about things
Rod Johnson wished known before starting Spring.
Gary Vaynerchuk's Top 10 Rules For Success Bet on your strengths, Work, Put
business in perspective, Execute your ideas, Don't overlook storytelling, Care about
your customers, Stick to your DNA, Do the things that matter, Don't make excuses,
There is no overnight success.

CI
Seven Habits of Highly Effective Jenkins Users What plugins, tools and behaviors can
help you get the most out of your Jenkins.
Best Practices For Jenkins Jobs identified a number of best practices in regards to team
development cycles, technology, platform needs, and client expectations.

CDN
CDNs aren't just for caching an brief overview of Julia Evans about CDNs.

Cloud Computing
Cloud scaling: from 1K to 1B users basics steps to create a scale-ready web
application.

Introduction

Code
12Factor manifesto of twelve factors to build awesome applications.
How to Lose Weight in the Browser nice tips on making web apps faster.
Google PageSpeed Insights get Google's insights about your webpage structure and
speed.
Pingdom Website Speed Test test your performance with Pingdom tools, nicely displays
how many seconds for each feature.

Conferences
Velocity at Velocity, web operations, performance, and DevOps professionals learn to
build fast, resilient, and highly available websites and apps.
Rampconf learn from those who have been in the trenches of building highly scalable
backend systems.
Monitorama an Open Source Monitoring Conference & Hackathon.
GOTO awesome conference about technology, development and infrastructure.

CSS
CSS for Software Engineers for CSS Developers presentation about best practices in
CSS development.
Simple Cache Busting for CSS and JS how to create a simple cache bursting for CSS e
JS.
Cache busting: entrega inteligente de assets using Grunt to delivery a cache bursting
asset.
Strategies for Cache-Busting CSS some strategies for cache-bursting CSS.
Automatic Cache Busting for Your CSS another article about cache bursting.

Docker
A Beginner-Friendly Introduction to Containers, VMs and Docker awesome article
introducing Docker and Containers, comparing it to VMs.
6

Introduction

Django Development With Docker Compose and Machine this piece details how to
containerize a Django Project, Postgres, and Redis for local development along with
delivering the stack to the cloud via Docker Compose and Docker Machine.
Getting started with Docker, Compose and Django this guide shows you how to set up a
Django application and development environment using Docker.
Docker Volumes and Networks with Compose this artciles introduces Docker Volumes
and Docker Networks, which can be specified in the YAML file describing our Compose
application.
InfographicDocker vs. Vagrant Docker and Vagrant are two such solutions that take
different roads to solving the limitations of the traditional VM.

ElasticSearch
Getting started with ElasticSearch simple and awesome introduction on ElasticSearch,
by c0deporn.

Git
Git from the inside out advanced Git tutorial talking about its structure and inner
working.
GITHUB PULL REQUEST, Branching, Merging & Team Workflow video guide showing
how the GitHub workflow works.
Understanding the GitHub Flow simple guide on GitHub flow.
Git Kraken a nice Git client for Windows, Mac and Linux.

Full Stack Human


Humans TXT apps and services are built by humans!
Calm Technology manifesto on designing communication for humans.
Human Ops focusing on the human aspects of running infrastructure.
49 websites to learn somethin nice guide to learn something new. Includes curses,
languages, code and more.

Introduction

Javascript
Mozilla's JavaScript Guide lot of guides and articles to learn JS, from begginer to
advanced.
What Makes Javascript Weird...and AWESOME 5 things that make Javascript WEIRD...
and AWESOME.

Gulp
Grunt vs Gulp - #1 - Qual o melhor? sobre as caractersticas de cada uma dessas
ferramentas para que voc possa decidir qual vai utilizar no seu projeto.
6 Gulp Best Practices You Can Use Today to Radically Improve Your Development
Experience.
Getting Started with Gulp this article will make the assumption that you have never used
a build tool or command-line interface before and will walk through every step required
to get up and running with gulp.

jQuery
Learn jQuery in 15 minutes an awesome not 15 minutes video series introducing jQuery
and its features, like selectores, animations, filters, classes, methods, event binding,
DOM traversal and more.

node.js
Crash Course in Node, Bower, and Grunt awesome and funny talk on how Node, Bower
and Grunt work together. Basically, you install node to get npm to install bower and
grunt, where bower install more client-side JS and grunt that run tasks, such as
compiling and uglyfing, to build the project.
Grunt - The Basics quickly and nice 15 minutes overview on what is Grunt and how it
works, showing the minify process.

Library
BookDL amazing site to download ebooks, from arts to technology.
Code4Startup lectures in video on clonning web applications. Extremelly usefull for
building MVPs.
Codecademy courses in IT and development, has an awesome interactive console.

Introduction

Fox eBook free IT ebooks #01.


IT eBooks free IT ebooks #02.
KhanAcademy you only have to know one thing: You can learn anything.
Bento a lot of guides on how to code.

Linux
Core
The magic behind configure, make, make install article about how these commands
work together to install software in Linux/Unix.
Fixing Locale Problem perl: warning: Setting locale failed and that shit.

Performance
Linux BPF Superpowers talk, slides and text on how to use the BPF features analyze
Linux performance.

Networking
Configuring Multiple Default Routes in Linux article on how to configure multiple routes
and gateways in a Linux system.

SSH
SSH Agent Forward Multiple Hosts how to make multiple hops using SSH forward.
GH: Using SSH agent forwarding using SSH agent forward in Github.
An Illustrated Guide to SSH Agent Forwarding nice artcile of how using SSH agent
forward improves security and productivity.

Monitoring
SREcon16 - The Art of Performance Monitoring Have specific metrics, your dashboard
is a debuuger, minimize necessary attention, use high level alarms.
Monitorama 2016 ALL live stream from Monitorama 2016. Much hours.

Introduction

MySQL and MariaDB


MySQL Database 5.0 Administrator 1 005-002 - CBT Nuggets deprecated certification,
but awesome curse on MySQL.
Use MySQL utf8mb4 if you want full Unicode support seriously, just use utf8mb4.
What does character set and collation mean exactly? an overview about charset and
collation.
What is the difference between collation and character set? another explanation about
charset and collation.
Server collation utf8_unicode_ci vs table collation utf8_bin: compatibility and
performance little about compatibility and performance over different collations.
Stop using FLUSH PRIVILEGES why you should not botter with FLUSH PRIVILEGES
(on most cases).
Learning MySQL and MariaDB is an excelent book about SGDBS, featuring MySQL and
MariaDB. It covers the basics, from selecting data do making backups. Awesome to
begginers and one who wants to remember concepts.
Open-sourcing Pinterest MySQL management tools a post from Pinterest telling about
their MySQL infrasctructure and some tools they built to help manage it.
MySQL performance optimization: 50% more work with 60% less latency variance how
Pinterest optimized its MySQL performance.

NGINX
Recipe - Codeigniter configuration to run Codeigniter with NGINX and php-fpm.
Running phpMyAdmin On Nginx installing phpMyAdmin on NGINX with php-fpm.

NoSQL
Introduction to NoSQL Martin Fowler great talk about NoSQL in general, by Martin
Fowler on GOTO Conference. He gives an overview of the NoSQL history, the four
types (key-value, document, column-family and graph) and also where or not to use
NoSQL.

PHP
10

Introduction

Packages: The Way Forward for PHP the best artcile I read about the history of
packages and frameworks in the PHP community.
Best Practices for Modern PHP Development nice artcile of best practices in PHP, about
setup, Composer, design principles, objects and unit testing.
A Semana PHP portuguese Newsletter about PHP topics, made by @eminetto.
PHP: The Right Way guides of best practices on how to code in PHP, widely accepted
by the community.
phpcs how to use phpcs to check your code. In portuguese.

PostgreSQL
How To Install and Use PostgreSQL on Ubuntu 14.04 In this guide, we will demonstrate
how to install Postgres on an Ubuntu 14.04 VPS instance and go over some basic ways
to use it.

Python
General
Recursive Functions building and understanding recursive functions in Python.
Recursive File and Directory Manipulation in Python on how to handle recursive
directories operations in Python 2 and 3.
What does the yield keyword do in Python? an explanation about yield.
How to Build Your First Slack Bot with Python we will walk through setting up your
development environment, obtaining a Slack API bot token and coding our simple bot in
Python.

Django
How To Use PostgreSQL with your Django Application on Ubuntu 14.04 we'll
demonstrate how to install and configure PostgreSQL to use with your Django
applications.
How To Install and Configure Django with Postgres, Nginx, and Gunicorn.
Blog API with Django Rest Framework 1 of 33 building a blog API with Django REST
Framework.
Kenneth Love: Getting Started with Django, a crash course - PyCon 2014 getting

11

Introduction

Started With Django is a well-established series of videos teaching best practices and
common approaches for building web apps to people new to Django. This tutorial
combines the first few lessons into a single lesson.

Scrapy
Karthik Ananth: Scrapy Workshop This workshop will provide an overview of Scrapy,
starting from the fundamentals and working through each new topic with hands-on
examples.
Using Scrapy on reddit.com Scrapy is a framework used for traversing linked content
and extracting information, this videos shows how to do that in Reddit.
Scraping a website using Scrapy and Django The steps to build a simple project are
well described in the scrapy tutorial, here I am going expand what's explained there to
include submitting forms, Django integration and testing.

Packages
Boto3 Python SDK to AWS.
Grip is a render to test local readme files before sending off to GitHub.

Skills
Diving Into Other People's Code article describing how to dive into a unknow code
repository and made an effective change.

Testing
Testing Your Software 3 day course (in text) in Python testing.
Ned Batchelder: Getting Started Testing - PyCon 2014 excelent talk for starters,
removes the mystery of testing. Here is the slides.
pythontesting.net provides various articles (and a book) about Python testing.
Python 3.5 unittest documentation well written unittest docs.
Why I use py.test and maybe you should too is a talk about start learning Python test
with py.test.
py.test documentation great resource to learn py.test.

uWSGI
How we switched our 800+ projects from Apache to uWSGI video about uWSGI in big
projects.
Bottle uWSGI simple web app configuration and fun hidden features introduction to the

12

Introduction

Bottle Python Web Framework and configuring a web application with uWSGI and
Nginx.

Ruby
Try Ruby is a extremely and fast interactive guide to introduce Ruby. Contains about
variables, strings, arrays, methods, blocks, functions etc.
Code Academy: Ruby 9 hours course on Ruby, from introduction topics to OO.
Learn Ruby the Hard Way from zero to hero in Ruby. This books assumes no previous
knowledge, and builds up with a lot of Ruby practice. In the end, you should be writing
nice Ruby software, using classes, writing tests and so on.
Ruby on Rails Tutorial - Learn Web Development with Rails an book that you can buy or
read it online for free. It guides you towards bulding a microblog (Twitter, anyone?) from
extremelly nothing. Use best approaches like test driven development and deploy to
Heroku. Nice guide to have a high overview of how an app can be built and enough low
level to do yourself.
An Introduction to the Ruby Ecosystem artcile about little tools like bundle, rake and
gem build the Ruby ecosystem.

Ruby on Rails
Ruby on Rails demo fast and furious 15 minute tutorial on how to build a blog in RoR
using scaffolds. Really shows the power of RoR.
Ruby On Rails, by Gabriel Guimaraes 43 minutes to introduce Rails! Great framework
overview.
RailsGuides AWESOME list of guides to learn Rails, from the very beggining to
advanced things. Includes an introduction, and guides focused on Models, Views and
Controllers. Also, a section called Digging Deeper and Extending Rails.
Ruby Foundations 32 - Duck Typing video explaining about Duck Typying in Rails. Also,
check out all the other videos, they're great.
Each or Map? understand the difference between this methods in a practical way.

Security

13

Introduction

Concepts
Kelsey Gilmore-Innis - Seriously Strong Security on a Shoestring (CW) - PyCon 2016
security concepts from the ground up, when your team dev is you.

SSL and HTTPS


Let's Encrypt project that you can get your certificates. Free, automated and open.
Certbot an automation tool to manage Let's Encrypt certificates.
Apache and Let's Encrypt how to configure Apache with Let's Encrypt certs.
Qualys SSL Labs - SSL Server Test test your SSL!
SSL: its hard to do right overview of how SSL/TLS works with a ciphersuite and how
the mostly know and recent flaws in the SSL/TLS protocol works.
How to redirect all HTTP requests to HTTPS redirecting all HTTP requests to HTTPS in
Apache.
Achieving Full Marks on Qualys SSL Labs on how to achieave an A on Qualys SSL
Labs, a site that tests the strength of your SSL certificates.
Hardening Your Web Servers SSL Ciphers another guide on how to get an A on
Qualys.

Serverless
Serverless Architectures comprehensive guide about what is Serverless, the
implementations, technologies and architectures.
webtask an opensource implementation to run serverless code.

SEO
Google Analytics Academy Google's official course about its analytics tool. Great
content with text, videos and activities.

Sysadmin and DevOps


Deploy

14

Introduction

Modern Web Deployment Workflow describes in details how to deploy a web applcation
with one cli command using Ansible.

Diagram
Draw.io free tool to draw diagrams. Has a lot of icons, shapes and integrates seamsly
with Google Drive and Dropbox.

Documentation
How to produce good documentation series of articles in how to create and maintain
documentation.

Ops
SREcon16 - Operations at (Small) Scale you don't need to be Facebook or Netflix if you
don't have to.

Video, 2D and 3D
Pixar in a Box a Khan Academy and Pixar collaboration course on movies creation.

Web Stuff
CORS in Action EXCELLENT book about CORS. Everything you need to know to setup
clients and servers to support CORS in a scalable and security way.
Michael Neale - CORS: Cross-domain requests with JavaScript introductory video about
CORS.
test-cors web interface that uses curl behind the scenes to test CORS requests.
RESTful Web APIs book about how to design an API by using standards, hypermedia
and not duplicating effort.

Workshop
How to run a good workshop about how to plan and run a good workshop #01.

15

Introduction

Top Ten Secrets for a Successful Workshop about how to plan and run a good
workshop #02.
Planning a Workshop about how to plan and run a good workshop #03.

YAML
YAML Parser nice website to parse YAML structures.
Understaing Yaml A YAML vision from SaltStack.
YAML Tutorial quick and nice YAML tutorial.

License

This content is under Creative Commons License.

16

First Chapter

First Chapter
GitBook allows you to organize your book into chapters, each chapter is stored in a separate
file like this one.

17

You might also like