Skip to content

A Data Scientist Blog

AWS Certification Skill Tree

As a professional with more than 4 years of experience with AWS, I might attempt to get an AWS Certification sooner or later this year, so I'm evaluating all the possibilities out there.

AWS itself provides a useful guide to the recommended AWS Certification Paths, where all the top cloud job roles are listed together with a bried description of their responsibilities.

Even if such a resource is more than welcome, I find that the big picture is not as clear as it should be: I decided to help myself building a skill tree with the aid of the awesome diagrams.

All you need is closure

Decorators are well known examples of Python syntactic sugar, which basically let you change the behaviour of a function without modifying its definition, thanks to a handy syntax based on the @ symbol followed by the decorator name, everything put just above your function definition.

Sometimes, however, you can't exploit this syntax, for example because you don't have the function definition at your disposal - let's think at the case in which the function you want to decorate lives in another codebase (the latter might be one of the libraries your project depends on).

Convert a markdown file to docx with pandoc

Today I rediscover an amazing tool: pandoc, which correctly presents itself as

your swiss-army knife to convert files from one markup format into another.

In these days I am working on the redaction of a complex tender notice, which must be delivered as an editable docx and then exported (with all the fancy stuff and theming) into pdf. Unfortunately, I find the user experience of writing documents with Microsoft Word really unsatisfying and cluttered.

Terminal User Interface

If you have an already up-and-running Typer app, you might want to extend it to some sort of GUI (Graphical User Interface).

While building a full GUI can be time-consuming, there is a really fast utility which can be adopted to get somewhere in between.

Best practices per AWS CDK L3 constructs

Nell'utilizzo avanzato di AWS CDK, si realizza prima o poi l'esigenza di centralizzare alcune logiche e risorse in maniera da poterle riutilizzare in maniera rapida, riducendo il codice boilerplate. Anche se una prima analisi potrebbe suggerire che la soluzione sia l'implementazione di una "casalinga" factory - pythonica sì, ma non conforme alle best practices di CDK - la risposta probabilmente più corretta potrebbe riguardare l'implementazione di un costrutto L3, descritto come:

designed to help you complete common tasks in AWS, often involving multiple kinds of resources.

A comparison between AWS databases

Main databases types:

  • Relational: data are stored in tabular form (rows and columns), where each row represents a unique record. Tables can be put in relation with each other through joins and queried via SQL;
  • Key-value: non-relational database where each record stored as a unique key with its associated value, resembling a dictionary-like structure;
  • Document: semi-structured and hierarchical databases for catalogs and content management systems, often stored as JSON;
  • Graph: the way the data are stored is graph-based, with nodes and edges connecting each data source with the others;
  • Time-series: database optimized for records which indices are timestamps.