개방형 금융: 현실인가 과장인가? PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

오픈 파이낸스: 현실인가 과장인가?

일반적으로 새로운 기술을 구현할 때 어딘가에 갇혀 시간과 노력을 낭비하게 되면 어떻게 되는지와 같은 몇 가지 우려 사항이 있습니다. 원래 솔루션으로 돌아가야 할 수도 있습니다. 우리는 XNUMX년 전에 비슷한 문제에 직면했지만 길고 심층적인 연구 끝에 더 안전하고 안전한 솔루션을 찾았습니다.Golang과 그 프레임워크. 문서화 방법은 정말 도움이 됩니다. 그러나 우리는 우리가 수락한 도전이었던 모든 답변을 온라인에서 찾을 수 없을 것이라고 확신했습니다. 의 정신 라일라 기프티 아키타 유명한 격언, "모든 도전적인 상황에는 항상 솔루션이 있습니다."

이 블로그는 주로 Golang-Beego 프레임워크와 해당 응용 프로그램에 대해 설명합니다. 웹 개발에서 Golang이 사용되는 방식과 대부분의 개발자가 Python, Node 또는 기타 언어에서 Go로 전환하는 이유에 대해 논의할 것입니다.

어떻게 작동하는지 알기 위해 Golang 프레임워크를 이해합시다.

골랑이란?

2009년에 처음 등장한 Golang(일반적으로 Go로 알려짐)은 개발자들 사이에서 빠르게 인기를 얻었으며 사용자의 90% 이상이 선호하는 언어가 되었습니다. 그것의 조상 언어는 C와 C++ 프로그래밍 언어로, 문법과 컴파일 기능을 보면 확실히 알 수 있습니다. 

주로 백엔드 개발에 사용되며 Go에는 4가지 다른 사용 사례가 있습니다. 

  1. 클라우드 및 네트워크 서비스
  2. 명령줄 인터페이스(CLI) 
  3. 웹 개발
  4. 개발 운영 및 사이트 안정성 엔지니어링. 

다음은 개발자가 이 프레임워크를 선호하는 Golang의 주요 기능 중 일부입니다.

1. 간단 

Go 구문은 여기에 표시된 것처럼 간단합니다. 컴파일러 프로그램이 실행되기 전인 빌드 프로세스 동안 문제를 감지하고 오류를 일으킬 수 있습니다.

Go 이면의 유연성, 유용성, 놀랍도록 멋진 개념(기본 동시성, 가비지 수집 및 안전+속도를 처리하는 방법)은 개발자에게 매우 유용한 기능 중 일부입니다.

2. 속도

내장된 동시성(Goroutines 및 Channels)은 고성능의 주요 이유 중 하나입니다. 이를 분석 스택 오버플로 속도를 추정할 수 있습니다.

“결과가 말이 안 되기 때문에 이것을 잘못 구현했을 수도 있습니다. 1000000000까지 계산되는 Go 프로그램이 있습니다. 1000000000초 이내에 완료됩니다. 반면에 저는 Python 스크립트를 가지고 있습니다. 몇 분 안에 끝납니다. Go 버전이 훨씬 빠른 이유는 무엇입니까? 둘 다 XNUMX까지 세고 있는 건가요 아니면 제가 놓치고 있는 건가요?” 

속도가 아직 확실하지 않은 경우 다음과 같이 Go를 비교합니다. 노드 JS, Java 및 Python은 사용법에 대해 더 명확하게 이해하는 데 도움이 됩니다.

내 장치 사양:

장치 이름- 노트북-Q8U9LM8P

프로세서 - Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz 2.10GHz

설치된 RAM- 16.0GB(15.6GB 사용 가능)

시스템 유형- 64비트 운영 체제, x64 기반 프로세서

N 바디 프린트:

계산할 소스 시간 

이동: 6.34초

Python3: 545.25초

GO

출력:

계승   계승 계산 시간

10000 0.008초

50000 0.506초

100000 3.154초

500000 82.394초

1000000 284.445초

NodeJS(자바스크립트)

출력:

계승 시간 계승 계산

10000 0.113초

50000 1.974초

100000 22.730초

500000 477.534초 

1000000 1175.795초 

Python

출력:

계승 시간 계승 계산

10000 0.046초

50000 1.187초

100000 6.051초

500000 388.607초 

1000000 813.725초 

JAVA

출력:

계승 시간 계승 계산

10000 0.064초

50000 1.607초

100000 5.363초

500000 141.076초

1000000 585.868초

3. 안전:

쓰레기 수집가:

이동을 선호 할당 메모리가 스택에 있으므로 대부분의 메모리 할당은 거기에서 끝납니다. 이것은 고루틴당 스택이 있고 가능한 경우 이 스택에 변수를 할당한다는 것을 의미합니다.

Golang 표시 및 스윕 가비지 수집기에는 표시 및 스윕의 두 단계가 있습니다. 먼저 사용되지 않은 변수와 사용된 변수를 모두 표시한 다음 사용하지 않는 변수를 제거합니다.

위의 통계와 설명은 Go를 사용해야 하는 이유를 보여줍니다. API 생성에 가장 적합한 Golang 프레임워크도 개발을 가속화하고 용이하게 합니다.

왜 우리는 Beego 프레임워크를 사용합니까?

Go 또는 Beego 모두 고성능 REST API를 개발하는 데 환상적입니다. 

Beego는 "배터리 포함" 유형이 아니고 대부분의 필수 라이브러리 및 기능이 포함되어 있는 Gin-gonic과 같은 다른 프레임워크와 비교하여 도구(벌 도구), ORM 및 라이브러리가 내장된 "배터리 포함" 프레임워크입니다. 서버 측 기능.

Beego는 이전에 Python-Django에서 작업한 사람들(저희와 같은)에게 좋은 것으로 판명된 전형적인 MVC(Model-View-Controller) 프레임워크를 사용하며 Beego는 매우 유사합니다.

왜 우리는 Beego 프레임워크를 사용합니까?

결론 : 

이것이 우리가 Golang과 Beego로 애플리케이션을 시작한 방법입니다. PDF, ImageMagick을 사용한 이미지 처리, AWS-SNS, AWS-SES SMTP, IVR 호출, 팩스, 디지털 서명, ORM을 사용한 보고서 생성 등을 작업했습니다. 그리고 Twilio 또는 AWS와 같은 타사 기능으로 작업하는 동안 장애물을 발견하지 못했습니다. 제작자가 언급한 대로 Golang에서 코드를 작성하는 것은 정말 간단합니다. 이 프레임워크를 사용하는 데는 특정 문제가 있지만 솔루션도 있습니다. 우리는 이 프레임워크에서 작업하는 것이 정말 즐거웠습니다. 다가오는 Golang 애플리케이션에 행운을 빕니다.

저자에 관하여

Piyush Raj는 IIT Kharagpur 화학과를 졸업했습니다. 그는 ML 및 AI로 경력을 시작했으며 현재 Mantra Labs에서 소프트웨어 개발자로 일하고 있습니다. 여가 시간에는 여행과 그림을 통해 현실 세계나 종이 위에서 새로운 길을 탐구하는 것을 좋아합니다.

타임 스탬프 :

더보기 만트라 연구소