Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Donearm/awesome-tutorials

Tutorials worth your time to read
https://github.com/Donearm/awesome-tutorials

List: awesome-tutorials

awesome-list list tutorial tutorials

Last synced: about 1 month ago
JSON representation

Tutorials worth your time to read

Awesome Lists containing this project

README

        

# awesome-tutorials [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

## What is it?

A curated list of awesome tutorials. It will be updated each time I find a truly well-writtent and clear tutorial. I am not aiming to collect every possible tutorial about development here as it would be a titanic enterprise but the list is ideally restricted to those who are specific to a topic, may it be an aspect of a framework or an algorythm or a specific software/hardware, that are clear, understandable and, optionally, complete. I'm looking more about unofficial tutorials, both because these are harder to find than the official documentations and to give exposure to the authors of them.

If you want to contribute to this list (please do), send me a pull request or contact me [@gianlucadfiore](https://twitter.com/gianlucadfiore). As long as the above guidelines are respected, I'll gladly add your contribution.

## For whom is this?

For everyone, really. Everyone who is interested in computer science, whether it means being a developer, a network administrator, a db administrator, a security researcher and what not.

## Table of Contents

* [Front-end Development](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#front-end-development)
* [CSS](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#css)
* [D3.js](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#d3js)
* [GraphQL](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#graphql)
* [Hugo](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#hugo)
* [Javascript](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#javascript)
* [MongoDB](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#mongodb)
* [React](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#react)
* [Svelte](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#svelte)
* [WebAssembly](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#webassembly)
* [Back-end Development](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#back-end-development)
* [Assembly](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#assembly)
* [C](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#c)
* [Go](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#go)
* [Haskell](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#haskell)
* [Operating Systems](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#operatingsystems)
* [DevOps](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#devops)
* [Hardware](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#hardware)
* [Software](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#software)
* [Networks](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#networks)
* [Computer Science](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#computer-science)
* [Formats](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#formats)
* [SEO](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#SEO)
* [Marketing](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#marketing)
* [License](https://github.com/Donearm/awesome-tutorials/blob/master/README.md#license)

# Front-end Development

* [A Simple Guide to Getting Started With Grunt](https://scotch.io/tutorials/a-simple-guide-to-getting-started-with-grunt) - simple introduction on Grunt and writing your first Gruntfile.js
* [Do You Really Know CORS?](http://performantcode.com/web/do-you-really-know-cors) - a clear explanation of what Cross-Origin Resource Share is
* [Web Security Essentials - CORS](https://www.sohamkamani.com/blog/2016/12/21/web-security-cors/) - a shorter but clearer introduction to the whats and whys of CORS

## CSS

* [A Complete Guide to Grid](https://css-tricks.com/snippets/css/complete-guide-grid/) - not exactly a tutorial but a great guide/reference to implementing CSS Grid
* [CSS gradient possibilities with the background-blend-mode property](http://bennettfeely.com/gradients/) - a gallery with code of the possible uses of colour gradients in CSS

## D3.js

* [Mapping with D3](https://maptimeboston.github.io/d3-maptime/) - a presentation about creating maps with D3. Beginner-level.
* [How Selections Work](https://bost.ocks.org/mike/selection/) - about selecting elements in D3.
* [Animated US States Border Map](https://github.com/maptime-ams/animated-borders-d3js) - walkthrough in creating an animated US map.
* [Command Line Cartography](https://medium.com/@mbostock/command-line-cartography-part-1-897aa8f8ca2c), [part 2](https://medium.com/@mbostock/command-line-cartography-part-2-c3a82c5c0f3), [part 3](https://medium.com/@mbostock/command-line-cartography-part-3-1158e4c55a1e), [part 4](https://medium.com/@mbostock/command-line-cartography-part-4-82d0d26df0cf) - how to make thematic maps using D3-geo, TopoJSON and ndjson-cli.

## GraphQL

* [GraphQL in Depth: What, Why and How](https://ponyfoo.com/articles/graphql-in-depth-what-why-and-how) - A not-so-deep introduction on what is and how GraphQL works.

## Hugo

* [Site Search on the JAMStack with Hugo and Algolia](https://www.bennet.org/blog/site-search-jamstack-hugo-algolia/) _ A step by step guide to implement site search with Algolia for a Hugo-powered static website

## Javascript

* [ES6 For Beginners](https://hackernoon.com/es6-for-beginners-f98120b57414), [part 2](https://hackernoon.com/es6-for-beginners-part-2-ee8a77f7f4c7), [part 3](https://hackernoon.com/es6-for-beginners-77bf34bec2d1) - An introduction to the new features of ES6. Short and with plenty of examples.
* [The Absolute Essentianls for Bit Manipulation in JavaScript](https://lucasfcosta.com/2018/12/25/bitwise-operations.html) - a clarifying tutorial on bitwise operations in JavaScript.
* [Using Array.prototype.reduce()](https://www.freecodecamp.org/forum/t/using-array-prototype-reduce-to-reduce-conceptual-boilerplate-for-problems-on-arrays/14687/1) - step by step tutorial on the use of `reduce()`.

## MongoDB

* [An Introduction to MongoDB](https://scotch.io/tutorials/an-introduction-to-mongodb) - brief and practical introduction on MongoDB, mostly just installing and the basic commands to interact with the database.

## React

* [Build Your Own Starter](https://www.javascriptstuff.com/build-your-own-starter/#0-intro) - not exactly a tutorial but a guide on how to build your own basic React+Babel+Webpack+Express starter.
* [Intro to React](https://reactjs.org/tutorial/tutorial.html) - the official React tutorial.

## Svelte

* [Web Development Simplified with Svelte](https://objectcomputing.com/resources/publications/sett/july-2019-web-dev-simplified-with-svelte) - a comprehensive tutorial on setting up and showing Svelte's features

## WebAssembly
* [WebAssembly Physics and DOM Objects](https://codelabs.developers.google.com/codelabs/hour-chipmunk/index.html#0) - playing with svg and DOM objects in WebAssembly from a C library

# Back-end Development

## Assembly

* [NASM Tutorial](http://cs.lmu.edu/~ray/notes/nasmtutorial/) - a concise tutorial on how to write Assembly for x86-64 architecture and integrate it with C.

## C

* [The Descent to C](https://www.chiark.greenend.org.uk/~sgtatham/cdescent/) - article showing the difference in learning C coming from a higher level language.

## Go

* [Just Tell Me How To Use Go Modules](https://www.kablamo.com.au/blog-1/2018/12/10/just-tell-me-how-to-use-go-modules) - a short and straight to the point introduction to Go modules.

## Haskell

* [You Could Have Invented Monads! (And Maybe You Already Have.)](http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html) - brief article trying to convey what actually is a monad, and how it is much more common than you might think.

# Operating Systems

* [About ncurses Colors](https://www.linuxjournal.com/content/about-ncurses-colors-0) - short introduction to how the Linux console paint colors.
* [A reference guide to ZFS on Archlinux](https://kiljan.org/2018/09/23/a-reference-guide-to-zfs-on-arch-linux/) - a short but exhaustive guide on what needs to be known to use ZFS on Archlinux.
* [Linux network performance parameters](https://github.com/leandromoreira/linux-network-performance-parameters) - a rundown of sysctl/network parameters in Linux and how to optimize them.
* [Parallel processing with Unix tools](http://www.pixelbeat.org/docs/unix-parallel-tools.html) - pipelines, xargs and threading in Unix tools.
* [UEFI boot: how does that actually work, then?](https://www.happyassassin.net/2014/01/25/uefi-boot-how-does-that-actually-work-then/) - an exhaustive introduction about UEFI and how it boots different, and multiples, OSes.
* [ZFS for Dummies](https://ikrima.dev/dev-notes/homelab/zfs-for-dummies/) - a good introduction and deep explanation of what is ZFS and how it works.

# DevOps

* [Docker Images: Reducing Image Size](https://www.ardanlabs.com/blog/2020/02/docker-images-part1-reducing-image-size.html), [part 2](https://www.ardanlabs.com/blog/2020/02/docker-images-part2-details-specific-to-different-languages.html), [part 3](https://www.ardanlabs.com/blog/2020/04/docker-images-part3-going-farther-reduce-image-size.html) - a tutorial series on how to make your Docker images as small as possible.
* [Learning Containers from the Bottom Up](https://iximiuz.com/en/posts/container-learning-path/) - an introduction to how containers work.

# Hardware

* [Modern Microprocessors: a 90-minute guide](http://www.lighterra.com/papers/modernmicroprocessors/) - probably less than 90 minutes though. An useful, albeit outdated, guide on how CPUs work internally. For when you have no idea what "branch prediction" or "memory hierarchy" are.

# Software

* [Five Minute Vimscript](http://andrewscala.com/vimscript/) - a concise introduction to Vimscript
* [Git from the inside out](https://maryrosecook.com/blog/post/git-from-the-inside-out) - a deep look at how Git internally works.
* [Github Fork & Pull Request Workflow](https://gist.github.com/Chaser324/ce0505fbed06b947d962) - a gist on how correctly fork a project and contribuite to it on Github
* [Pure Bash Bible](https://github.com/dylanaraps/pure-bash-bible) - a short book collecting pure bash snippets acting as alternatives to external processes and programs
* [What's in .git](https://blog.meain.io/2023/what-is-in-dot-git/) - a rundown of what is inside a .git directory

# Networks

* [DNS Root Servers: The most critical infrastructure on the internet](https://www.slashroot.in/dns-root-servers-most-critical-infrastructure-internet) - a throughout explanation of what, and where, are DNS root servers
* [VLANs for sysadmins: the basics](https://www.redhat.com/sysadmin/vlans-sysadmins-basics) - an introduction to VLANs
* [Rpi-Snmpd-configuration](https://github.com/smford/rpi-snmpd-configuration) - a Github repo to quickly configure SNMPD on a RaspberryPi. More a walkthrough than a tutorial.

# Computer Science

* [Proof in Functions](http://www.fewbutripe.com/swift/math/2015/01/06/proof-in-functions.html) - functions proof (in Swift).
* [Logic Literacy](http://matt.might.net/articles/logical-literacy/) - introduction to Logic.
* [Locks, Mutexes and Semaphores: Types of Synchronization Objects](https://www.justsoftwaresolutions.co.uk/threading/locks-mutexes-semaphores.html) - an overview of the differences, from a C++/Windows point of view but appliable to any other context
* [Mathematical Background](http://www.jfsowa.com/logic/math.htm) - minimum math for computer science.
* [Programmers' Theoretical Minimum](http://vissi.su/translations/programmer-teormin.html) - honestly way beyond the "minimum" but a very useful list of topics by technology to learn (or try to).

# Formats

* [AsciiDoc Writer's Guide](https://themes.asciidoctor.org/preview/) - A succint but comprehensive guide on getting started writing in asciidoc.
* [Mastering Markdown](https://guides.github.com/features/mastering-markdown/) - a quick reference to Markdown syntax, with an appendix about Github Flavoured Markdown.
* [More than you ever wanted to know about GeoJSON](https://macwright.org/2015/03/23/geojson-second-bite.html) - gentle introduction to GeoJSON and how it compares to similar alternatives.
* [The Absolute Minimum Every Software Developer Absolutely Positively Must Know About Unicode and Character Sets](https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/) - beginner's guide to what is Unicode. Very simply written and not technical at all.

# SEO

* [Google Search Console: The Definitive Guide](https://backlinko.com/google-search-console) - a truly comprehensive and "definitive" guide about the various features of the Google Search Console.

# Marketing

* [The Ultimate Guide to Google Ads Ad Extensions](https://adespresso.com/blog/guide-google-ads-ad-extensions/) - a clean explanation of each of the Google Ads ad extensions
* [The Ultimate Google Analytics Glossary](https://www.lovesdata.com/blog/google-analytics-glossary) - as the title says, a quite comprehensive glossary of the terms connected with Google Analytics
* [Google Analytics: A Guide to Setup, Track and Measure Results](https://adespresso.com/blog/google-analytics/) - a beginner guide on how to setup and navigate through Analytics' interface

------------------------

# License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

Please provide a link back to this repository. This is not necessary for GitHub forks.