オープン ファイナンス: 現実か誇大宣伝か? PlatoBlockchain データ インテリジェンス。 垂直検索。 あい。

オープンファイナンス: 現実か誇大宣伝か

新しいテクノロジーを実装する際には、どこかで行き詰まって時間と労力を無駄にしてしまうとどうなるかなど、通常、いくつかの懸念があります。 元のソリューションに戻らなければならない可能性があります。 XNUMX 年前にも同様の問題に直面しましたが、長く綿密な調査を行った結果、より安全で安全な解決策を見つけました。Golang とそのフレームワーク。 それが文書化されている方法は本当に役に立ちます。 しかし、すべての答えをオンラインで見つけることはできないと確信していました。 の精神 ライラギフティ 秋田さん 有名な格言、 「困難な状況には常に解決策があります。」

このブログでは、主に Golang-Beego フレームワークとそのアプリケーションについて説明します。 Golang が Web 開発でどのように使用されているか、およびほとんどの開発者が Python、Node、またはその他の言語から Go に移行する理由について説明します。

それがどのように機能するかを知るために、Golang フレームワークを理解しましょう。

ゴランとは?

2009 年に初めて登場した Golang (通称 Go) は、開発者の間で急速に人気を博し、90% 以上のユーザーに好まれる言語になりました。 その祖先言語は C および C++ プログラミング言語であり、その構文とコンパイル機能を調べれば明らかです。 

主にバックエンド開発に使用される Go には、他に 4 つのユースケースがあります。 

  1. クラウド&ネットワークサービス
  2. コマンドライン インターフェイス (CLI) 
  3. ウェブ開発
  4. 開発オペレーションとサイト信頼性エンジニアリング。 

Golang の主な機能の一部を以下に示します。これにより、このフレームワークは開発者にとって好ましい選択肢となります。

1. 単純 

Go 構文は、ここに示すように単純であり、その コンパイラ ビルドプロセス中、つまりプログラムが実行される前に、問題の匂いがしてエラーが発生する可能性があります。

Go の背後にある柔軟性、使いやすさ、および信じられないほどクールなコンセプト (ネイティブの同時実行、ガベージ コレクション、および安全性と速度の処理方法) は、開発者にとって非常に役立つ機能の一部です。

2. 速度

組み込みの並行性 (ゴルーチンとチャネル) は、その高いパフォーマンスの主な理由の XNUMX つです。 これを分析すると スタックオーバーフロー その速度を推定できるようになります。

「結果が意味をなさないため、これを誤って実装した可能性があります。 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 (Javascript)

出力:

階乗時間 階乗を計算するには

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 のマークとスイープ ガベージ コレクターには、マークとスイープの XNUMX つのフェーズがあります。 まず、使用されていない変数と使用されている変数をすべてマークし、次に未使用の変数をスイープします。

上記の統計と説明は、Go を使用する理由を示唆しています。 API の作成に最適な Golang フレームワークも、開発を加速および容易にします。

なぜBeegoフレームワークを使用するのですか?

Go であれ Beego であれ、どちらも高性能な REST API を開発するのに最適です。 

Beego は、ビルトイン ツール ( bee ツール )、ORM、およびライブラリを備えた「バッテリー付き」フレームワークであり、Gin-gonic のような「バッテリー付き」タイプではなく、最も重要なライブラリと機能が含まれている他のフレームワークと比較して、サーバー側の機能。

Beego は典型的な Model-View-Controller (MVC) フレームワークを使用しており、以前に Python-Django で作業したことがある (私たちのような) 人々に適していることが判明しており、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 でソフトウェア開発者として働いています。 余暇には、旅行や絵を描くことで、現実の世界や紙の上で新しい道を探求するのが好きです。

タイムスタンプ:

より多くの マントララボ