Now

  • A tool
  • A document definition language
  • A programming language

Document definition

  • Some call them "markup languages"
    • But they are not exactly markup languages
    • They are "data structure languages"
      • Or even "serialization formats"...
  • Examples:
    • JSON, YAML, TOML, Now

We use

A LOT

of tables

Table?

  • Tuple = A set of key=value
  • Table = A set of tuples
  • (Just like in a relational database)

docker compose

  • service
    • name
    • build parameters
    • links
    • ports
    • etc...
  • network
    • name
    • etc...

Database Columns

  • name
  • type
  • nullable?
  • default value
  • etc.

ORM

  • Object name
  • [Table name]
  • Fields
    • name
    • type
    • default value
    • nullable?
  • etc... (all over again)

HTTP Server Routes

  • HTTP Method
  • Path
  • Handler function
  • Needs authentication?

HTTP Server Routes Docs

  • Method
  • Path
  • Request payload
    • Field
    • Type
    • Mandatory?
    • Default value
  • Response payload
    • Field
    • Type
    • Mandatory?

HTTP Requests

  • Method
  • Path
  • Payload
  • Headers
  • etc...

Functions

  • Parameters
    • name
    • type
    • default value
  • Return type

Structs and Classes

  • Name
  • Fields/Properties
    • name
    • type
    • default value
  • Methods
    • name
    • parameters
      • name
      • type
      • etc...

Packages

  • Name
  • Description
  • Version
  • Dependencies
    • name
    • version
    • [source]
  • Categories
  • Keywords
  • README
  • etc...

CLI arguments

  • Arguments and named arguments
    • name
    • type
    • default value
    • nullable?
    • required?

Tables: issues

  • Most are represented using programming languages
  • Others use JSON, YAML, TOML, etc.
  • Some have DSLs

Pydantic

Functions declarations

degrade into tables

def download(bucket, key):
def download(
    bucket: str
    key: str

) -> bytes:

def download(
    bucket: str
    key: str

) -> bytes:

    """Download an object from S3.

 

    Parameters:

    bucket (str) -- the bucket name to download from

    key (str) -- the object key

 

    Returns:

    The downloaded object as bytes.

    """

deck

By Cléber Zavadniak