Skip to content

Instantly share code, notes, and snippets.

View thinkphp's full-sized avatar
💭
If I have seen further it is only by standing on the shoulders of giants. NEWTON

Adrian Statescu thinkphp

💭
If I have seen further it is only by standing on the shoulders of giants. NEWTON
View GitHub Profile
@thinkphp
thinkphp / Singleton Design Pattern.java
Last active July 6, 2026 15:40
Singleton Design Pattern
//Baza de date ----
class Singleton {
private static Singleton instance; //singura instanta
private Singleton() { //constructor PRIVATE - nu poate fi apelat din afara
System.out.println("Instanta a fost creata!");
}
@thinkphp
thinkphp / Clasa interioara.java
Created July 6, 2026 15:33
Clasa interioara
class Car {
private String model = "TESLA";
class Engine { //clasa interioara
void start() {
System.out.println("MOtorul porneste pentru " + model);
}
@thinkphp
thinkphp / Abstractizare.java
Created July 6, 2026 15:32
Abstractizare java
abstract class Shape {
abstract double calculateArea(); //metoda abstracta, FARA implementare
void display() {
System.out.println("Aria formei este: " + calculateArea());
}
}
@thinkphp
thinkphp / Interface.java
Created July 6, 2026 15:32
Interfata.java
interface Shape {
double calculateArea(); //public
double calculatePerimeter();
}
class Circle implements Shape {
double radius;
@thinkphp
thinkphp / polimorfism.java
Created July 6, 2026 14:48
polimorfism.java
class Shape {
void draw() {
System.out.println("Desenez o forma geometrica");
}
}
//subclasa 1
class Circle extends Shape {
@Override
@thinkphp
thinkphp / Dijkstra.java
Created July 6, 2026 14:11
Dijkstra.java
/*
Algoritmul lui Dijkstra (Tehnica GREEDY):
Structuri de date:
V[x] = lista vecinilor (liste de adiacenta)
C[x] = costurile catre acei vecinilor
distMin[i] = distanta minima cunoscuta de la nodul 1 la nodul i
import java.io.*;
import java.util.*;
public class Main {
static final String FIN = "scmax.in";
static final String FOUT = "scmax.out";
static final int SIZE = 1000009;
static int[] V = new int[SIZE];
@thinkphp
thinkphp / intro-BST.md
Last active July 6, 2026 11:16
Introducere BSST

Introducere în Binary Search Tree (BST)

Un Binary Search Tree (arbore binar de căutare) este o structură de date arborescentă în care fiecare nod are cel mult doi copii (stânga și dreapta), respectând o proprietate de ordonare:

  • Toate valorile din subarborele stâng al unui nod sunt mai mici decât valoarea nodului.
  • Toate valorile din subarborele drept sunt mai mari (sau egale, în funcție de convenție).
  • Această regulă se aplică recursiv pentru fiecare subarbore.

De ce este util

Datorită acestei ordonări, operațiile de bază devin eficiente:

@thinkphp
thinkphp / database-security.md
Last active July 5, 2026 17:29
Database Security

Backup Types — Elaboration

Why backup is part of security, not just "maintenance"

The security measures discussed so far (prepared statements, GRANT/REVOKE, least privilege) aim to prevent an attack. Backup plays a different, complementary role: it assumes that, despite all preventive measures, something might still destroy or corrupt the data — whether a SQL Injection attack using DROP TABLE/DELETE, human error, hardware failure, or ransomware. Backup is the last line of defense: if every other measure fails, a recent, tested backup is the difference between a minor incident and an irreversible data loss.

Full backup

A complete copy of the entire database at a given point in time — all tables, all rows, the complete structure.

@thinkphp
thinkphp / backup.md
Last active July 5, 2026 17:27
Database Security

Tipuri de backup — dezvoltare

De ce backup-ul e parte din securitate, nu doar din "mentenanta"

Măsurile de securitate discutate până acum (prepared statements, GRANT/REVOKE, privilegiu minim) urmăresc să previi un atac. Backup-ul are un rol diferit, complementar: presupune că, în ciuda oricăror măsuri preventive, ceva poate totuși să distrugă sau să corupă datele — fie un atac SQL Injection cu DROP TABLE/DELETE, fie o eroare umană, o defecțiune hardware sau un ransomware. Backup-ul e ultima linie de apărare: dacă toate celelalte măsuri au eșuat, un backup recent și testat e diferența între o incidență minoră și o pierdere ireversibilă de date.

Full backup (backup complet)

O copie completă a întregii baze de date, la un moment dat în timp — toate tabelele, toate rândurile, structura completă.