Skip to content

Instantly share code, notes, and snippets.

@jdthorpe
Last active January 20, 2023 16:52
Show Gist options
  • Save jdthorpe/7de55b5a21cd8ef938225ff3dd24fe3e to your computer and use it in GitHub Desktop.
Save jdthorpe/7de55b5a21cd8ef938225ff3dd24fe3e to your computer and use it in GitHub Desktop.
A few of my favorite courses

These are a few of my favorite courses on tech topics

General Coding:

Aside: when writing python packages (not just scripts), consider haveing the phrase "If its name has no dots, you cannot use relative imports" tattooed someplace readily accessible.

Aside 2: In python multiprocessing, you cannot use interactive telatype to interact with subprocesses, so if your subprocess that reaches a a call to pdb.set_trace(), the sub-process will simply hang waiting for a reponse, which can be a real pain to debug

Docker and Kubernetes

Azure

Overview

Storage

App Services

Azure Batch

  • Azure Batch Fundamentals: A lot of theory. Auzre Batch is one of those platforms where a single task can be done a dozen differnt ways. An opinionated "for-dummies" tutorial for python tasks can be found here.

Azure AD:

Some things to note AD is a huge topic.

  • Azure for Node JS: Building Secure Services and Applications: Fantastic course on Authentication for developers on how to acquire, validate and use id and access tokens in your app. Divided into 4 secitons:

    • Overview: What can you do with Node.js + Azure Ad
    • AAD for Services: Applications that consume services without a person involved (e.g. Chron jobs).
    • AAD for Web Apps: Applications that can redirect a person to an AAD Login (e.g. live.com) and consume services on behalf of the user.
    • AAD for WEB API's: Applications that provide a service and require a bearer token to be provided along with the request.
    • Bonus: Credential free code with Azure Managed Identities NOTE:
      • When things go wrong, setting loggingNoPII: false in the authenticate() options is super helpful
      • Minor note: In the Web API demo, the instructor uses the same string for the Resource URI and the scope within the API Registration. These dont have to be the same, but the Audience parameter in the BearerStrategy options and the resourceURL in the authenticate config of the web app have to match the Resource URI, not the scope.
  • This page shows how to grant access to an application to a limited set of users.

  • Building Authorization in Azure Active Directory for Developers covers Authorization for developers including RBAC (security group), Scope (User or Tenant-wide authorization), and claims based (other OIDC attributes like user location). In practice these are quite limited and you may wish to manage require users to be assigned to the app (as in the the following arcticle, or query the graph api to implement RBAC in the next course

  • Developing Web Applications and Web APIs Protected by Azure Active Directory Much like the previous Authentication for developers course but also includes a final sectoin on Identity forwarding, which can be used to implement RBAC via calls to the Microsoft Graph APi

  • Azure Identity and Security (learning Path): The whole 9 yards for Auth/Auth and Security in Azure.

Pipelines

Authors:

A few of my favorite course authors:

  • Neil Morrissey: App Service, Azure Storage
  • Simon Allardice: Introductory Azure Courses (for Node.js developers)
  • James Bannon: AKS, Azure DevOps Pipelines, Azure for Automated AI
  • Sahil Malik: Azure AD and Security
  • John Savil: Azure AD and Azure at large including serverless and storage
  • Maximilian Schwarzmüller (Udemy and YouTube): JS Frameworks (React/Vue/Angular), Typescript, HTML/CSS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment