Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions _data/en-US/development/development-environment/learn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,34 @@
access: "free"
organization: "QEMU"

- name: "Terraform Documentation"
url: "https://developer.hashicorp.com/terraform/docs"
description: "Official documentation for Terraform, covering infrastructure as code, providers, state and modules."
type: "reference"
access: "free"
organization: "HashiCorp"

- name: "GitHub Actions Documentation"
url: "https://docs.github.com/actions"
description: "Official guide to automating builds, tests and deployments with GitHub Actions workflows."
type: "reference"
access: "free"
organization: "GitHub"

- name: "GitLab CI/CD Documentation"
url: "https://docs.gitlab.com/ci/"
description: "Official documentation for GitLab CI/CD pipelines, jobs, runners and deployment environments."
type: "reference"
access: "free"
organization: "GitLab"

- name: "Docker Get Started"
url: "https://docs.docker.com/get-started/"
description: "Official hands-on introduction to containers with Docker, from building images to running multi-container apps."
type: "tutorial"
access: "free"
organization: "Docker"

- name: "DevOps Beginner Roadmap (roadmap.sh)"
url: "https://roadmap.sh/devops-beginner"
description: "Interactive roadmap on a first path into DevOps: topics laid out in a suggested study order, each linking to further reading."
Expand Down
49 changes: 49 additions & 0 deletions _data/en-US/development/plataforms/learn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,55 @@
access: "free"
organization: "HashiCorp"

- name: "Android Developers Courses"
url: "https://developer.android.com/courses"
description: "Free official courses for building Android apps with Kotlin and Jetpack Compose, from first app to architecture."
type: "course"
access: "free"
organization: "Google"

- name: "Android Developer Documentation"
url: "https://developer.android.com/docs"
description: "Official reference and guides for the Android platform, its APIs, tooling and app quality requirements."
type: "reference"
access: "free"
organization: "Google"

- name: "Apple Developer Documentation"
url: "https://developer.apple.com/documentation/"
description: "Official documentation for building apps on iOS, iPadOS, macOS, watchOS and visionOS with Apple frameworks."
type: "reference"
access: "free"
organization: "Apple"

- name: "SwiftUI Tutorials"
url: "https://developer.apple.com/tutorials/swiftui"
description: "Step-by-step official tutorials that build complete iOS apps with SwiftUI, covering layout, data and navigation."
type: "tutorial"
access: "free"
organization: "Apple"

- name: "Flutter Documentation"
url: "https://docs.flutter.dev/"
description: "Official guides and API reference for building cross-platform mobile, web and desktop apps with Flutter and Dart."
type: "reference"
access: "free"
organization: "Google"

- name: "React Native Documentation"
url: "https://reactnative.dev/docs/getting-started"
description: "Official guide to building native iOS and Android apps with React and JavaScript, from setup to native modules."
type: "reference"
access: "free"
organization: "Meta"

- name: "Expo Documentation"
url: "https://docs.expo.dev/"
description: "Documentation for Expo, a framework and toolset that simplifies building, testing and publishing React Native apps."
type: "reference"
access: "freemium"
organization: "Expo"

- name: "Android Developer Roadmap (roadmap.sh)"
url: "https://roadmap.sh/android"
description: "Interactive roadmap on Android app development: topics laid out in a suggested study order, each linking to further reading."
Expand Down
14 changes: 14 additions & 0 deletions _data/en-US/development/plataforms/publications.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,17 @@
type: "journal"
access: "paid"
organization: "IEEE Computer Society"

- name: "Human Interface Guidelines"
url: "https://developer.apple.com/design/human-interface-guidelines/"
description: "Apple's design guidance for apps on its platforms, covering layout, navigation, accessibility and platform conventions."
type: "reference"
access: "free"
organization: "Apple"

- name: "Material Design 3"
url: "https://m3.material.io/"
description: "Google's design system for Android and other platforms, with components, layout, colour and accessibility guidance."
type: "reference"
access: "free"
organization: "Google"
7 changes: 7 additions & 0 deletions _data/en-US/development/plataforms/tools.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,10 @@
type: "tool"
access: "free"
organization: "Open Infrastructure Foundation"

- name: "Firebase"
url: "https://firebase.google.com/docs"
description: "Backend services for mobile and web apps, including authentication, databases, push notifications and analytics."
type: "tool"
access: "freemium"
organization: "Google"
42 changes: 42 additions & 0 deletions _data/en-US/development/programming-languages/learn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,48 @@
access: "free"
organization: "zenspider.com"

- name: "Kotlin Documentation"
url: "https://kotlinlang.org/docs/home.html"
description: "Official Kotlin language documentation with a tour, reference and guides for Android, server and multiplatform use."
type: "reference"
access: "free"
organization: "JetBrains"

- name: "Swift Documentation"
url: "https://www.swift.org/documentation/"
description: "Official documentation of the Swift language, including the language guide, standard library and API design guidelines."
type: "reference"
access: "free"
organization: "Swift.org"

- name: "The Python Tutorial"
url: "https://docs.python.org/3/tutorial/"
description: "The official introduction to Python, covering syntax, data structures, modules, errors and classes for new programmers."
type: "tutorial"
access: "free"
organization: "Python Software Foundation"

- name: "Python for Everybody"
url: "https://www.py4e.com/"
description: "Free beginner course and open textbook teaching programming with Python, data structures, web data and databases."
type: "course"
access: "free"
organization: "University of Michigan"

- name: "Automate the Boring Stuff with Python"
url: "https://automatetheboringstuff.com/"
description: "Free online book that teaches Python through practical automation of files, spreadsheets, web pages and everyday tasks."
type: "textbook"
access: "free"
organization: "No Starch Press"

- name: "PEP 8: Style Guide for Python Code"
url: "https://peps.python.org/pep-0008/"
description: "The official style guide for Python code, describing naming, layout and conventions that keep code readable."
type: "reference"
access: "free"
organization: "Python Software Foundation"

- name: "C Programming Roadmap (roadmap.sh)"
url: "https://roadmap.sh/c"
description: "Interactive roadmap on the C language: topics laid out in a suggested study order, each linking to further reading."
Expand Down
86 changes: 86 additions & 0 deletions _data/en-US/learning-paths/backend.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
title: "Backend development"
summary: "Build reliable server-side applications by mastering HTTP, a web framework, relational data, API design and the caching, messaging and architecture choices behind scalable systems."
subcategory: "development/backend-development"
level: "intermediate"
source: "ipl"
stages:
- title: "HTTP and the server side"
steps:
- title: "HTTP in depth"
summary: "Study requests, responses, headers, cookies and connection behaviour, since every backend decision ultimately travels over HTTP."
resources:
- "https://hpbn.co"
- "https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie"
- title: "A first web framework"
summary: "Build a small application with routing, templates and middleware in one mainstream framework to learn the request lifecycle."
resources:
- "https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs"
- "https://nodejs.org"
- "https://www.djangoproject.com"
- "https://fastapi.tiangolo.com"
- title: "Other server ecosystems"
summary: "Compare how enterprise stacks in Java and .NET structure the same concepts, useful when joining larger organisations."
optional: true
resources:
- "https://spring.io"
- "https://learn.microsoft.com/en-us/aspnet/core/fundamentals/"
- title: "Working with data"
steps:
- title: "Relational databases and SQL"
summary: "Model data in tables, write SQL queries and use transactions, the default storage choice for most backends."
resources:
- "https://www.postgresql.org"
- "https://www.sqlite.org"
- title: "Indexes and query performance"
summary: "Learn how indexes work and how to read query plans, the most common fix for slow endpoints."
resources:
- "https://use-the-index-luke.com"
- title: "Schema migrations"
summary: "Version database changes alongside code so every environment evolves safely and deployments stay repeatable."
resources:
- "https://flywaydb.org"
- "https://www.liquibase.com"
- title: "Document and key-value stores"
summary: "Understand when document databases or in-memory stores fit better than relational tables, and what you give up."
optional: true
resources:
- "https://www.mongodb.com/docs/manual/"
- "https://redis.io"
- title: "Designing APIs"
steps:
- title: "HTTP API design"
summary: "Design consistent resources, validate payloads with schemas and plan versioning so clients can rely on your API."
resources:
- "https://json-schema.org/"
- "https://web.archive.org/web/20170610175619/https://fly.io/articles/pragmatic-api-versioning/"
- "https://www.postman.com"
- title: "RPC with gRPC"
summary: "Explore contract-first remote procedure calls with Protocol Buffers, common for efficient service-to-service communication."
optional: true
resources:
- "https://grpc.io/"
- title: "Configuration and secrets"
summary: "Keep configuration in the environment and out of code, following principles that make services portable and safe to deploy."
resources:
- "https://12factor.net/"
- "https://github.com/motdotla/dotenv"
- title: "Scaling and architecture"
steps:
- title: "Caching and messaging"
summary: "Reduce load with caches and decouple services with event streams, two core tools for handling growth."
resources:
- "https://redis.io"
- "https://kafka.apache.org"
- title: "Data-intensive systems"
summary: "Learn the trade-offs of replication, partitioning and consistency, and study how real companies scaled their backends."
resources:
- "https://dataintensive.net"
- "https://highscalability.com"
- title: "Architecture and maintainability"
summary: "Apply design patterns and architectural thinking so the codebase stays understandable and changeable as it grows."
resources:
- "https://martinfowler.com"
- "https://refactoring.guru"
see_also:
- name: "Backend Developer Roadmap (roadmap.sh)"
url: "https://roadmap.sh/backend"
80 changes: 80 additions & 0 deletions _data/en-US/learning-paths/computer-science.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
title: "Computer science foundations"
summary: "Build a solid base in computer science, from how machines run programs through algorithms, operating systems and networks, up to the limits of what computation can do."
subcategory: "computing/computer-science"
level: "beginner"
source: "ipl"
stages:
- title: "Getting oriented"
steps:
- title: "Map of the field"
summary: "See which core subjects make up computer science and in what order to tackle them, so self-study stays focused instead of scattered."
resources:
- "https://teachyourselfcs.com/"
- title: "Working at the command line"
summary: "Get comfortable with the shell, files and processes, since nearly every later topic is explored by running tools from a terminal."
resources:
- "https://linuxcommand.org/"
- title: "Version control"
summary: "Track your exercises and experiments with Git, a habit that makes every project and course assignment easier to manage."
resources:
- "https://git-scm.com/"
- title: "Where computing came from"
summary: "Learn the history of computing machines and ideas, which explains many design choices that still shape today's systems."
optional: true
resources:
- "https://computerhistory.org/"
- title: "Algorithms and data structures"
steps:
- title: "Core data structures and algorithms"
summary: "Study arrays, lists, trees, hashing, sorting and searching with working code, the toolkit behind efficient programs."
resources:
- "https://www.coursera.org/learn/algorithms-part1"
- "https://jeffe.cs.illinois.edu/teaching/algorithms/"
- title: "Analysing and designing algorithms"
summary: "Learn asymptotic analysis, recursion, greedy methods and dynamic programming so you can reason about cost before writing code."
resources:
- "https://jeffe.cs.illinois.edu/teaching/algorithms/"
- "https://mitpress.mit.edu/algorithms/"
- "https://ocw.mit.edu/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/"
- title: "How computers run programs"
steps:
- title: "Computer systems"
summary: "Understand data representation, machine code, memory hierarchy and linking to see what really happens when your program executes."
resources:
- "https://csapp.cs.cmu.edu/"
- title: "Operating systems"
summary: "Learn how an operating system virtualises CPU and memory, handles concurrency and stores data persistently on disk."
resources:
- "https://pages.cs.wisc.edu/~remzi/OSTEP/"
- "https://pdos.csail.mit.edu/6.828/"
- title: "Experimenting with emulators"
summary: "Run and inspect systems inside an emulator or virtual machine, a safe way to try what you read about kernels and hardware."
optional: true
resources:
- "https://www.qemu.org/"
- "https://www.virtualbox.org/"
- title: "Networks and databases in practice"
summary: "Capture real network traffic and query a small embedded database to connect protocol and storage theory with observable behaviour."
resources:
- "https://www.wireshark.org/"
- "https://www.sqlite.org/"
- title: "Theory of computation"
steps:
- title: "Automata and formal languages"
summary: "Experiment with finite automata, grammars and Turing machines to understand the formal models behind parsers and computation itself."
resources:
- "https://www.jflap.org/"
- title: "Complexity and its limits"
summary: "Get an introduction to complexity classes such as P and NP, which explain why some problems resist efficient solutions."
optional: true
resources:
- "https://complexityzoo.net/Complexity_Zoo"
- "https://blog.computationalcomplexity.org/"
- title: "Keep up with the field"
summary: "Read accessible summaries of research and the flagship magazine of the profession to see how foundations feed current work."
resources:
- "https://cacm.acm.org/"
- "https://blog.acolyer.org/"
see_also:
- name: "Computer Science Roadmap (roadmap.sh)"
url: "https://roadmap.sh/computer-science"
Loading
Loading