Blog
Blog
Articole din practică — software reglementat, arhitectură SaaS multi-tenant, .NET și sisteme de timp real.
Cum construiești un audit trail care rezistă la audit
Tiparele de model de date pentru un audit trail credibil — tabel-umbră, tabele temporale sau event sourcing — și compromisurile fiecăruia.
Ce am învățat livrând software sub GxP
Anii petrecuți pe sisteme medicale și de laborator m-au schimbat ca inginer — nu prin proceduri, ci prin câteva obiceiuri pe care le-am dus mai departe în tot ce construiesc.
Contracte JSON tolerante: cum supraviețuiești unui API inconsistent
Când furnizorul trimite un număr ca string, un obiect unde era documentat un array și un string gol în loc de dată — cum absorbi forma fără să absorbi și ambiguitatea.
C++20 pentru servicii de timp real: pipeline de procesare și streaming WebSocket
Ce cere de fapt „timpul real" de la un serviciu C++ — cozi mărginite, backpressure, un fir per etapă sau un executor, și alocarea pe care n-ai știut că o faci.
Criptare la nivel de câmp cu AES-256-GCM și chei derivate per tenant
Cum protejezi câmpurile sensibile într-un SaaS multi-tenant — derivare de chei, nonce, date autentificate suplimentar și partea grea: căutarea și rotația.
Bază de date per tenant sau schemă partajată — cum alegi
Comparația practică între cele două modele de izolare multi-tenant: ce câștigi, ce plătești și ce se schimbă la migrări, backup și onboarding.
De la enterprise la SaaS pe cont propriu: ce se transferă și ce nu
Zece ani pe sisteme enterprise și medicale, apoi un an construind produse singur. Un inventar onest al obiceiurilor care au ajutat, al celor care au fost balast și al celor care au încurcat activ.
21 CFR Part 11 în practică: audit trail, semnături electronice, integritatea datelor
Ce cere concret reglementarea FDA pentru înregistrări și semnături electronice — și cum se traduce asta în decizii de arhitectură, nu în documente.
IEC 62304 pentru developeri: ce înseamnă de fapt în cod
Standardul care guvernează software-ul de dispozitiv medical, explicat din perspectiva inginerului care livrează sub el — clasificare de siguranță, trasabilitate, SOUP și ce se schimbă concret în munca de zi cu zi.
Izolarea datelor în SaaS multi-tenant cu EF Core global query filters
Cum construiești izolarea per tenant fără să repeți WHERE TenantId în fiecare interogare — și care sunt capcanele care produc scurgeri de date.
Ce am învățat conducând o echipă de ingineri la Oracle
Patru ani la conducerea unei echipe distribuite pe sisteme clinice — ce s-a schimbat de fapt, ce am greșit la început și ce obiceiuri au supraviețuit trecerii.
Cum modernizezi C++ legacy fără să pierzi conformitatea
Refactorizarea codului vechi într-un produs reglementat nu e blocată de standard, ci de trasabilitate. Strategia care funcționează: schimbări mici, izolate, cu o poveste clară a echivalenței.
Rate limiting pentru un API extern capricios: Polly + SemaphoreSlim
Cum rămâi în limitele altcuiva fără să-ți blochezi propriul flux — throttling în client, ordinea politicilor, Retry-After și capcana scalării pe mai multe instanțe.
RBAC sigur la IDOR: de ce verificarea rolului nu e de ajuns
Rolul spune ce ai voie să faci, nu pe ce anume. În golul dintre ele trăiesc cele mai frecvente scurgeri de date dintr-un SaaS.