ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Dan Sabadis

Dan Sabadis

Team Lead @ SDL

PROGRAMARE
Emiterea de Bani Privați. Pas cu Pas (1)

În primul articol de anul trecut scris pe această temă am realizat o prezentare a platformei financiare descentralizate (blockchainul) Ethereum și a clonelor acestuia, precum și un foarte scurt istoric al instrumentelor financiare folosite de-a lungul timpului în economia de piață. În al doilea articol am expus elementele sintactice fundamentale ale limbajului de programare Solidity, limbajul de referință pentru contracte inteligente înregistrate în blockchain. De asemenea, în aceste prime articole am arătat cum utilizăm un browser pentru a ne conecta la blockchain prin intermediul extensiilor și a librăriilor Web3.

PROGRAMARE
O introducere în Solidity, lingua franca pentru Contractele Inteligente Ethereum

În acest articol, vom prezenta aspectele de bază ale Solidity, unul din limbajele consacrate în dezvoltarea de Smart Contracts (contracte inteligente) în cadrul Ethereum sau a blockchainurilor Ethereum clonate. Teoria și exemplele prezentate în acest articol sunt inspirate cu precădere din două cărți. Prima, “Mastering Ethereum”, este scrisă de doi cercetători britanici: Andreas M. Antonopoulos, un susținător vestit al criptomonedei Bitcoin și Gavin Wood, creatorul limbajului de programare Solidity. A doua carte, “Building Ethereum Dapps”, scrisă de Roberto Infante pentru Manning, este favorita noastră: este ușor de înțeles, deși abordează aspecte complexe legate de Solidity și de ecosistemul Ethereum.

PROGRAMARE
Introducere succintă în lumea Blockchainului Ethereum, DeFi și Web3 Dapps

Povestea noastră începe în secolul al XVII-lea în Olanda, cea mai avansată țară europeană a acelor vremuri. Datorită adoptării religiei reformate în secolul anterior (mai precis teologia calvinistă), care încuraja spiritul pragmatic și inițiativa individuală, și datorită proximității Oceanului Atlantic, care oferea avantajul comerțului maritim, olandezii s-au dezvoltat într-un mod surprinzător. Au fost pionieri ai descoperirilor geografice și au dus un război comercial fenomenal împotriva Spaniei, cea mai puternică țară a perioadei respective, câștigându-și oficial independența de Spania după 80 de ani. Însă cele mai importante descoperiri olandeze, cu cel mai pregnant impact chiar și în ziua de azi, țin de domeniul economic. Olandezii au inventat prima bursă modernă și au descoperit primii că o companie poate fi împărțită în segmente mici numite acțiuni (societate pe acțiuni) care pot fi transferate către altă persoană care astfel devine proprietar și vânzător al unor bucăți mici dintr-o companie. Acea primă companie pe acțiuni a fost și prima mega-corporație, Compania Indiilor Olandeze).

PROGRAMARE
AI și Machine Learning în C#

Un algoritm machine learning (ML) este un program ce folosește inițial cantități mari de date, ca mai apoi să poată face “predicții” despre datele ce vor apărea ulterior în sistem. Un exemplu clasic este algoritmul de clasificare: introducem mii de poze cu câini și pisici în algoritmul AI (Artificial Intelligence), și astfel noi ne “antrenăm” programul. Apoi, când încărcăm o imagine nouă, programul va identifica cu o acuratețe de peste 99% dacă entitatea nouă este un câine sau o pisică.

PROGRAMARE
Programare C# pentru tranzacțiile Bitcoin

În primele două articole am prezentat arhitectura și filozofia criptomonedelor (criptocurrency) în general și Bitcoin în particular. După ce am prezentat detalii legate de implementarea în cadrul unui server distribuit (cu mostre de cod C#), în al treilea articol ne propunem să discutăm despre componenta client a bitcoin sau despre portofelul electronic. Exemplele pornesc de la aspecte discutate în volumul online “Programming the Blockchain in C#”.

PROGRAMARE
Bitcoin și criptografia

Vom începe articolul de față așa cum l-am început pe precedentul: descriind principiile fundamentale ale cripto-monedei (crypto-currency). Dacă articolul anterior, am explicat componenta "currency (monedă)" a cripto-monedă, acum vom explica partea "crypto". Acest principiu fundamental se numește criptografie. Se referă la formulele matematice ce pot ascunde informații și la alte formule ce pot interpreta informația ascunsă anterior. Pentru a menține informația simplă, vom împărți aceste formule matematice în trei categorii: simetrice, asimetrice și hashing.

PROGRAMARE
Bitcoin și Blockchain: Introducere teoretică și principii generale

Pentru a discuta și înţelege ce este Bitcoin, trebuie mai întâi să dăm răspuns unei întrebări fundamentale: Ce sunt banii? Ce face ca o monedă, de aur spre exemplu, să fie considerată valoroasă de majoritatea oamenilor? Există câteva proprietăţi clasice ale banilor, enumerate mai jos:

  • O moneda este autentică, nu contrafăcută. Acest lucru înseamnă că există doar o singură autoritate care poate tipări bancnotele sau emite monedele. Ceilalți care încearcă să tipărească același tip de bani sunt de obicei pasibili de pedeapsă drastică.
  • Banii se pot cheltui doar o singură dată. Pentru banii digitali este mai greu de respectat această proprietate decât pentru monedele clasice sau banii de hârtie. Din fericire, s-a găsit o soluţie la această problemă extrem de grea. O vom explora mai jos și într-unul din numerele următoare ale revistei. (Bitcoin are răspunsul la problema cheltuirii duble.)
MANAGEMENT
Procesul de recrutare din industria de IT

Principalul obiectiv al recrutării IT este găsirea oamenilor cu cele mai bune abilităţi tehnice și cel mai bun raţionament abstract. La drept vorbind, aceste abilităţi tehnice sunt precondiţii OBLIGATORII pentru orice angajare de succes în această industrie. Concomitent, marii angajatori își orientează strategia de angajare prin căutarea și potrivirea celor mai bune "caractere" cu o funcţie scoasă la concurs. Acest lucru este de înţeles având în vedere că marile companii sunt mult mai stabile decât startupurile, deci marile organizaţii vor pune mai mare accent pe stabilitatea de lungă durată decât de rezultate extraordinare, de scurtă durată. Din aceste motive, personalul corporatist responsabil cu angajarea folosește două abordări.

PROGRAMARE
Introducere în programarea .Net Multithreading (II)

În articolul precedent am explicat ce este execuția multithreading și am descris elementele esențiale ale programării asincrone în .Net, anume interfața IAsyncResult. Am prezentat și o scurtă istorie a evoluției abstractizării programelor multithreading în mediul .Net, începând cu clasa Thread și sfârșind cu designul async-await (async și await ajungând chiar cuvinte rezervate în limbajul C#). În acest articol vom oferi exemple de sincronizare a firelor de execuție (numite de acum în engleza originală „thread”) din mediul .Net axate pe cele două moduri în care procesorul funcționează pentru orice sistem de operare: modul Utilizator și modul Kernel. Ca de obicei, începem cu definițiile.

PROGRAMARE
O scurtă introducere în programarea .Net Multithreading

Java și .Net sunt sisteme de operare în miniatură care se ocupă de scenarii complexe precum alocare de memorie, cleanup (vezi Garbage Collector) și acces simultan la resurse (.Net/Java Managed Threads). Azi ne vom axa pe subiectul “cu greutate” al multi-threadingului într-un mediu enterprise mare. Deoarece experienţa mea anterioară s-a axat pe .Net, am ales să prezint exemple din C# , dar aceleași concepte, clase și abstracţiuni descrise mai jos au un echivalent aproape identic în Java. Cele mai importante părţi din orice prezentare sunt definiţiile, deci trebuie să definim threadul. Răspunsul este surprinzător de complex, iar ca o precondiţie trebuie să definim ce este un program de calculator și un proces!

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects

Design contribution