Finanțe deschise: realitate sau hype? PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Finanțe deschise: realitate sau hype?

De obicei, există unele preocupări atunci când implementăm o nouă tehnologie, cum ar fi ce s-ar întâmpla dacă rămânem blocați undeva și ajungem să ne pierdem timpul și efortul. Este posibil să trebuiască să revenim la soluția inițială. Ne-am confruntat cu probleme similare în urmă cu un an, dar după cercetări lungi și aprofundate, am găsit o soluție mai sigură și mai sigură.Golang și cadrele sale. Modul în care este documentat este foarte util. Cu toate acestea, eram destul de siguri că nu vom găsi toate răspunsurile online, ceea ce a fost o provocare în care am acceptat-o spiritul de Lailah Gifty Akita lui renumit zical, „EXISTĂ ÎNTOTDEAUNA O SOLUȚIE PENTRU FIECARE SITUAȚIE PROVOCATORĂ.”

Acest blog vorbește în principal despre cadrul Golang-Beego și despre aplicațiile sale. Vom discuta despre modul în care Golang este folosit în dezvoltarea web și de ce majoritatea dezvoltatorilor trec de la Python, Node sau alte limbi la Go.

Să înțelegem cadrul Golang pentru a ști cum funcționează.

Ce este Golang?

Apărut pentru prima dată în 2009, Golang (cunoscut în mod popular ca Go) a câștigat rapid popularitate în rândul dezvoltatorilor, devenind o limbă preferată pentru mai mult de 90% dintre utilizatori. Limbajele sale strămoși sunt limbaje de programare C și C++, ceea ce este destul de evident analizând sintaxa și caracteristicile sale de compilare. 

Folosit în principal pentru dezvoltarea backend, Go are alte 4 cazuri de utilizare - 

  1. Servicii de rețea și cloud
  2. Interfețe de linie de comandă (CLI) 
  3. Dezvoltare Web
  4. Operațiuni de dezvoltare și inginerie a fiabilității site-ului. 

Iată câteva dintre principalele caracteristici ale Golang care fac din acest cadru alegerea preferată pentru dezvoltatori:

1. Simplitate 

Sintaxa Go este simplă așa cum se arată aici și ea compilator poate simți probleme și poate genera erori în timpul procesului de construire, adică înainte de rularea programului.

Flexibilitatea, capacitatea de utilizare și conceptul incredibil de cool din spatele Go (cum gestionează concurența nativă, colectarea gunoiului și siguranța+viteza) sunt câteva dintre caracteristicile care sunt destul de utile pentru dezvoltatori.

2. Viteză

Concurența încorporată ( Goroutine și Canale ) este unul dintre principalele motive pentru performanța sa ridicată. Analizând asta depășirea stivei ne va permite să-i estimam viteza.

„E posibil să fi implementat incorect acest lucru, deoarece rezultatele nu au sens. Am un program Go care numără până la 1000000000; se termină în mai puțin de o secundă. Pe de altă parte, am un script Python; se termină în câteva minute. De ce versiunea Go este mult mai rapidă? Numără amândoi până la 1000000000 sau îmi lipsește ceva?” 

Dacă încă nu ești sigur de viteză, iată o comparație între Go, Nod JS, Java și Python care vă vor ajuta să obțineți mai multă claritate cu privire la utilizarea sa:

Specificațiile dispozitivului meu:

Nume dispozitiv- LAPTOP-Q8U9LM8P

procesor- CPU Intel(R) Core(TM) i5-10210U @ 1.60 GHz 2.10 GHz

RAM instalată- 16.0 GB (15.6 GB utilizabili)

Tip de sistem- Sistem de operare pe 64 de biți, procesor bazat pe x64

Imprimare N-corp:

Sursă Timp pentru a număra 

Du-te: 6.34 secunde

Python3: 545.25 secunde

GO

ieșire:

Factorială   Timpul Pentru a calcula factorial

10000 0.008 secunde

50000 0.506 secunde

100000 3.154 secunde

500000 82.394 secunde

1000000 284.445 secunde

NodeJS (Javascript)

ieșire:

Timpul factorial Pentru a calcula factorial

10000 0.113 secunde

50000 1.974 secunde

100000 22.730 secunde

500000 477.534 secunde 

1000000 1175.795 secunde 

Piton

ieșire:

Timpul factorial Pentru a calcula factorial

10000 0.046 secunde

50000 1.187 secunde

100000 6.051 secunde

500000 388.607 secunde 

1000000 813.725 secunde 

JAVA

ieșire:

Timpul factorial Pentru a calcula factorial

10000 0.064 secunde

50000 1.607 secunde

100000 5.363 secunde

500000 141.076 secunde

1000000 585.868 secunde

3. Securitate:

Colector de gunoi:

Go preferă aloca memorie pe stivă, astfel încât majoritatea alocărilor de memorie vor ajunge acolo. Aceasta înseamnă că are o stivă pe goroutine și, atunci când este posibil, va atribui variabile acestui stivă.

Colectorul de gunoi Golang mark and sweep are două faze: Mark și Sweep. În primul rând, va marca toate variabilele neutilizate și utilizate, apoi le va mătura pe cele neutilizate.

Statisticile și descrierea de mai sus sugerează de ce ar trebui să lucrați cu Go. Cadrul Golang care este cel mai bun pentru crearea API-urilor accelerează și facilitează dezvoltarea.

De ce folosim Beego Framework?

Fie că este Go sau Beego, ambele sunt fantastice pentru dezvoltarea API-urilor REST de înaltă performanță. 

Beego este un cadru „inclus cu baterie”, cu instrumente încorporate (instrumentul albinelor), ORM și biblioteci în comparație cu alte cadre precum Gin-gonic, care nu este un tip „inclus cu baterie” și conține cele mai multe biblioteci și funcții esențiale care nu sunt bune pentru caracteristici pe partea serverului.

Beego folosește un cadru tipic Model-View-Controller (MVC) care s-a dovedit a fi bun pentru oamenii (ca noi) care lucrează pe Python-Django înainte, iar Beego este destul de asemănător.

De ce folosim Beego Framework?

Concluzie: 

Așa am început aplicația noastră cu Golang și Beego. Am lucrat la PDF, manipularea imaginilor cu ImageMagick, AWS-SNS, AWS-SES SMTP, apeluri IVR, fax, semnături digitale, generare de rapoarte cu ORM și multe altele. Și nu am găsit niciun blocaj în timp ce lucrăm cu funcții terțe precum Twilio sau AWS. Este foarte simplu să scrieți cod pe Golang, așa cum au menționat creatorii lor. Există anumite provocări în utilizarea acestui cadru, dar există și soluții. Ne-a plăcut foarte mult să lucrăm la acest cadru. BUCĂ NOOC pentru viitoarele aplicații Golang.

Despre autor

Piyush Raj a absolvit IIT Kharagpur în departamentul de chimie. Și-a început cariera cu ML și AI, iar acum lucrează la Mantra Labs ca dezvoltator de software. În timpul liber, îi place să exploreze noi căi în lumea reală sau pe hârtie prin călătorii și pictură.

Timestamp-ul:

Mai mult de la Laboratoare Mantra