Chris Mair

Language selector

Sviluppo Software

Lavoro dal 1998 come sviluppatore software.

Dal 2003 lavoro in proprio e ho sviluppato software per più di 25 aziende nelle aree programmazione di sistemi e reti, sviluppo web, elaborazione dati, analisi e calcolo, apprendimento automatico, programmazione di sistemi embedded e progettazione e programmazione di database relazionali. Ho anche svolto consulenza per più di 15 aziende in queste aree.

Ecco una panoramica sulle tecnologie che attualmente uso.


Database relazionali

un simpatico DB
  • modellazione dati
  • programmazione e amministrazione PostgreSQL
    • programmazione SQL & client (C/C++: libpq, Python: psycopg2, Java: JDBC e altri)
    • programmazione server (procedure in PL/PgSQL, estensioni in C)
    • amministrazione (DBA), incluso setup con replicazione e connection pooling
  • programmazione Oracle DB
    • programmazione SQL & client (Java/JDBC)
    • programmazione server (procedure in PL/SQL)
  • migrazione sistemi esistenti (p.e. Oracle DB, MySQL, MS SQL Server) verso PostgreSQL

Scienza dei dati, analisi dati, apprendimento automatico

  • ambienti: Python 3 con Pandas, NumPy, Scikit-Learn e PyTorch, MATLAB/Octave
  • acquisizione dati, sistemi ETL customizzati
  • statistica, apprendimento automatico (machine learning) e deep learning
  • number crunching e calcoli ad alte prestazioni in in C/C++, Python/NumPy e MATLAB/Octave

Programmazione in C/C++, Python, Java, Go e JavaScript

il gopher Go
il gopher Go1
  • sistemi operativi:
    • Linux e altri sistemi Unix-like (OpenBSD, macOS)
    • sistemi real-time (VxWorks)
  • programmazione C/C++ (gcc, clang, make und cmake):
    • programmazione di sistema
    • programmazione di rete
    • calcoli numerici di vario tipo
  • programmazione Python:
    • Scienza dei dati, apprendimento automatico
  • programmazione Java:
    • web service, ETL ed elaborazioni dati
  • programmazione Go:
    • web service, programmazione generica
  • programmazione JavaScript:
    • web service
  • linguaggi abbandonati (non usato da oltre 10 anni, non aggiornato):
    • Perl, PHP, dialetti BASIC, FORTRAN, assembly per diverse architetture

Hosting/Devops, programmazione web backend, XML/JSON

piovono bits dalla nuvola
  • hosting/devops:
    • amministrazione di sistema Linux (Debian/Ubuntu, Alma/Rocky) e OpenBSD
    • cloud computing con Amazon Web Services (AWS): EC2, RDS, Route 53, S3, etc…
    • cloud computing con Scaleway
    • container Linux con Docker
    • scripting shell
    • Git
  • programmazione backend:
    • Java (servlet e JSP su piattaforma Apache Tomcat)
    • Go (web service)
    • JavaScript (web service e web socket con Node.js)
  • XML, JSON e tecnologie e tool collegati
  • tecnologie abbandonate (non usato da alcuni anni, non aggiornato):
    • HTML5/CSS, frontend JavaScript, librerie frontend come jQuery e AngularJS


Note:

  • molti dei nomi menzionati in questa pagina sono marchi registrati
  • 1 il gopher Go è (C) CC BY 4.0 Renee French

Menu

Language selector