BulkRead – S01x05

Torna dopo la pausa agostana la rubrica BulkRead, che oggi parla di sicurezza in GraphQL, strutture ad albero in JavaScript, design di architetture in Domains Partition, Electron e reverse engineering su vecchi videogiochi.

Buona lettura!


The complete GraphQL Security Guide: Fixing the 13 most common GraphQL Vulnerabilities to make your API production ready – wundergraph.com

Jens Neuse di WunderGraph ha steso una bella guida in 13 punti per fare hardening della propria soluzione basata su GraphQL, utile sia a chi sviluppa i propri servizi da zero, sia a chi impiega framework ad hoc: https://wundergraph.com/blog/the_complete_graphql_security_guide_fixing_the_13_most_common_graphql_vulnerabilities_to_make_your_api_production_ready


Tree data structure in JavaScript – Implementation and traversal techniques – stackfull.dev

Anish Kumar su StackFull propone un interessante approfondimento su come implementare e navigare le strutture ad albero in JavaScript diviso in 3 parti, ottimo sia per i developer alle prime armi, sia a chi ha bisogno di una rinfrescata di algoritmi e strutture dati:


Domain Partitions: How To Find a Healthy Balance Between Microservices and Monoliths – betterprogramming.pub

Trovare il giusto bilanciamento tra una architettura monolitica e una a microservizi quando si progetta un nuovo sistema non è mai semplice, specialmente se le specifiche o le possibili evoluzioni del sistema non sono ancora chiare o facilmente prevedibili.

Ashley Peacock sulle pagine di BetterProgramming racconta il suo approccio alla ripartizione dei domini applicativi in DDD: https://betterprogramming.pub/domain-partitions-how-to-find-a-healthy-balance-between-microservices-and-monoliths-2cd74206559


Why Electron apps are fine – nielsleenheer.com

Quando si parla di sviluppo cross platform il mondo degli sviluppatori si divide in due, da una parte i puristi del rendering nativo, dall’altro chi utilizza framework che fanno da wrapper ad applicazioni web. Electron rientra in questa seconda categoria, e negli ultimi anni si è ricavato una importante fetta di mercato dello sviluppo desktop cross platform, ed è stato scelto come piattaforma elettiva anche per applicazioni molto conosciute, come ad esempio Spotify Desktop, Whatsapp Desktop e Visual Studio Code.

Electron è però un framework che per la sua natura in fase deploy ha necessità di includere anche una istanza di Chrome e una di Node, il che è un grande problema in termini di pesantezza, peso di esecuzione e performance. Oppure no?

Niels Leenheer cerca di smontare (o minimizzare) una per una le principali obiezioni a Electron, e devo dire che se la cava molto bene: https://nielsleenheer.com/articles/2021/why-electron-apps-are-fine/


Reverse engineering software licensing from early-2000s abandonware – yingtongli.me

Come ormai avrete capito se seguite un po’ questa rubrica, sono un grande appassionato di retrogaming, in particolare di tutto ciò l’hardware e il software videoludico che è stato prodotto tra gli anni ’70 e i ’90.

Molti dei giochi prodotti in quegli anni sono però ormai abbandonati, perché gli studi di sviluppo e le case di distribuzione che ne sono occupati sono ormai chiusi o assorbiti in altre corporazioni che non hanno nessun vantaggio o ritorno economico a mantenerli in pubblicazione o a convertirli per piattaforme più recenti.

Molti sviluppatori si dedicano quindi a sviluppare emulatori di piattaforme scomparse o a recuperare vecchi giochi, attraversando talvolta zone grigie di legalità su diritti e copyright, ma spesso incontrano vecchi sistemi di protezione DRM che devono essere craccati per poter far girare il software.

Yingtong Li, in questa serie di tre articoli, mostra alcune delle sue tecniche di reverse engineering su questi giochi:

Photo by Amr Serag on Unsplash

BulkRead – S01x05
Tag: