Postări

Se afișează postări cu eticheta Programare

Ecuația inJinerească a iertării

"Valoare iertare" = "Bine creat celui iertat și celorlalți" - "Rău creat sieși și celorlalți" Iertarea este menită să facă lumea mai bună. O lume mai bună este greu de conceput fără o stare de bine care pentru cât mai mulți dintre cei care o compun. Deci o lume mai bună se crează maximizând binele și minimizând răul. Binele general crește dacă binele făcut printr-o acțiune este mai mic decât răul (costul) acțiunii. Dacă de exemplu am foarte mulți bani și ajut un muritor de foame, eu pierd puțin iar beneficiul celuilalt e foarte mare. Dacă ajut pe cineva să ia de băut în detrimentul hranei copiilor proprii este clar o acțiune cu efect net negativ. Nu toate situațiile sunt atât de simple, a optimiza binele este o ecuație foarte complicată. Dincolo de un optimalitatea Pareto nu se poate face bine cuiva fără a face un rău altcuiva (deși poate mai mic). Totuși, chiar și acest lucru poate fi per ansamblu benefic, de exemplu primim amenzi pentru depășirea v...

Diferența dintre junior și senior

De ce inginerii experimentați rezolvă problemele mai repede: " În mintea începătorului sunt infinite posibilități. În mintea expertului sunt doar câteva "

Programare Java - utilizare log4j

Programare Java - utilizare log4j pentru începători - pentru programatori - Update 2026: folositi SLF4J Pe scurt : log4j este o bibliotecă de logging/trace larg utilizată în Java. Se foloseşte pentru a afişa din program mesaje, într-un mod uniform şi customizabil, automatizînd operaţiile redundante (de ex. afişarea datei la fiecare mesaj). O puteţi obţine de la https://logging.apache.org/log4j/ Scop  Acest articol se doreşte o introducere în log4j. Log4j este doar una din bibliotecile de logging Java existente, dar este printre cele mai folosite. Despre logging/trace în general, alegerea nivelului de trace şi "best practice" la logging am vorbit într-un articol mai vechi, arătând cum se poate face o bibliotecă simplă de logging . Introducere rapidă în log4j Pentru a folosi log4j, în fiecare clasă se declară un membru: private final static Logger log = Logger.getLogger( NumeClasa.class );

Un dialog absurd (glumă de geeks)

Un dialog absurd (glumă de geeks) - Eu cred ca noi suntem într-un tabel în baza de date Google. De fapt cred că tot Universul este în baza de date Google - Da, aţi vazut counterul ăla care tot crește la gmail ? Arată cât de repede creşte tabela în care Google ţine Universul. - Poate ne-au pus în mijlocul unei table de joc uriașe şi cresc constant tabla. De asta Google a limitat viteza luminii şi a oricărei alte viteze fizice. Limitând viteza luminii ştiu sigur că nu putem ajunge la marginea tablei mai repede decât adaugă ei spaţiu tablei de joc.

Blogării la dat zapada

Imagine
 Blogării la dat zapada  Vin seara obosit de la serviciu. Când să dau colţul blocului, văd un vecin şi-o lopată. Vecinul, coleg de scară, de meserie şi chiar de facultate oarecum, este şi de curând blogger . Când l-am văzut mi-am dat seama că asta mă aşteaptă şi pe mine, se pare că majoritatea celorlalţi îşi făcuseră deja parcela de dat zăpada. Lopata este ... a blocului, dacă nu "profit" acum trebuie să umblu după ea.   Există obligaţia legală a locatarilor să dezăpezească căile pietonale în jurul blocului, iar blocul nostru fiind la şosea ne mai bate şi primăria la cap. Nu mă omor după muncile fizice, dar ce să-i faci, datoria înainte de toate. În doi trece timpul mai repede, mai faci cu schimbul la lopată... Este normal ?   Primul impuls a fost să spun că e treaba primăriei să dezăpezească. M-am gândit totuşi că în cazuri de ninsori abundente nici o firmă de salubrizare nu ar avea suficient personal să dezăpezească în timp util. Nu era cazul astăzi, se p...

Traceuri/Loguri in Java

 Îndrumar folosire trace-uri / log-uri in Java - articol pentru programatori - Update 2026: folositi SLF4J   Pe scurt: aproape orice program merită să aibă un sistem centralizat de trace-uri/log-uri, de exemplu log4j . Nivelele de trace se aleg astfel :   FATAL : eroare gravă, programul nu mai poate continua, urmează exit(-1). SLF4J recomanda folosirea tot a nivelului ERROR în acest caz.   ERROR : eroare gravă, "așa ceva nu trebuia să se întâmple"   WARNING : semnalează o posibilă eroare, dar care poate fi comportament normal în unele cazuri  INFO : afişeaza informaţii utile pentru utilizatorul programului. Nivelul nu trebuie să fie prea verbose, trebuie să poată fi citit de un utilizator uman indiferent de volulumul inputului.  DEBUG : dă informații utile programatorului aplicaţiei în cazul în care apar probleme de funcţionare. Este echivalent cu "verbose".   TRACE : dă informații foarte detaliate despre fiecare p...