开放金融:现实还是炒作? PlatoBlockchain 数据智能。 垂直搜索。 哎。

开放金融:现实还是炒作?

在实施一项新技术时通常会有一些担忧,例如如果我们被卡在某个地方并最终浪费我们的时间和精力会发生什么。 我们可能不得不回到原来的解决方案。 一年前我们也遇到过类似的问题,但经过长期深入的研究,我们找到了更安全的解决方案——Golang 及其框架。 它的记录方式真的很有帮助。 但是,我们很确定我们不会在网上找到所有答案,这是我们接受的一个挑战 的精神 Lailah Gifty秋田的 名言, “每一个具有挑战性的情况总有一个解决方案。”

本篇博客主要讲述 Golang-Beego 框架及其应用。 我们将讨论如何在 Web 开发中使用 Golang,以及为什么大多数开发人员从 Python、Node 或其他语言转向 Go。

让我们了解 Golang 框架以了解它是如何工作的。

什么是戈朗?

Golang(俗称 Go)于 2009 年首次出现,迅速在开发人员中流行起来,成为超过 90% 用户的首选语言。 它的祖先语言是 C 和 C++ 编程语言,通过查看它的语法和编译特性可以看出这一点。 

Go 主要用于后端开发,还有 4 个其他用例—— 

  1. 云和网络服务
  2. 命令行界面 (CLI) 
  3. 网站制作
  4. 开发运营和现场可靠性工程。 

以下是 Golang 的一些主要特性,这些特性使该框架成为开发人员的首选:

1. 简单 

Go 语法很简单,如此处所示及其 编译 可以在构建过程中闻到麻烦并引发错误 - 即在程序运行之前。

Go 背后的灵活性、可用性和令人难以置信的酷概念(它如何处理本机并发、垃圾收集和安全+速度)是一些对开发人员非常有用的特性。

2. 迅速的

内置并发(Goroutines 和 Channels)是其高性能的主要原因之一。 分析这个 堆栈溢出 将允许我们估计它的速度。

“我可能错误地实施了这一点,因为结果没有意义。 我有一个计数到 1000000000 的围棋程序; 它在不到一秒的时间内完成。 另一方面,我有一个 Python 脚本; 它在几分钟内完成。 为什么 Go 版本这么快? 他们都数到 1000000000 还是我错过了什么?” 

如果您仍然不确定速度,这里有一个 Go 之间的比较, 节点JS、Java 和 Python,这将有助于更清楚地了解其用法:

我的设备规格:

设备名称- 笔记本电脑-Q8U9LM8P

处理器- Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz 2.10 GHz

安装 RAM- 16.0 GB(15.6 GB 可用)

系统类型- 64 位操作系统,基于 x64 的处理器

N体打印:

源时间计数 

走:6.34 秒

Python3:545.25 秒

GO

输出:

阶乘   计算阶乘的时间

10000 0.008 秒

50000 0.506 秒

100000 3.154 秒

500000 82.394 秒

1000000 284.445 秒

节点JS(Javascript)

输出:

阶乘时间计算阶乘

10000 0.113 秒

50000 1.974 秒

100000 22.730 秒

500000 477.534 秒 

1000000 1175.795 秒 

蟒蛇

输出:

阶乘时间计算阶乘

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. 安全

垃圾收集器:

Go 更喜欢 分配 堆栈上的内存,因此大多数内存分配最终都会在那里。 这意味着每个 goroutine 都有一个堆栈,并且在可能的情况下,它会将变量分配给该堆栈。

Golang 标记和清扫垃圾收集器有两个阶段:标记和清扫。 首先,它将标记所有未使用和已使用的变量,然后清除未使用的变量。

上面的统计数据和描述说明了为什么应该使用 Go。 最适合创建 API 的 Golang 框架也可以加速和促进开发。

为什么我们使用 Beego 框架?

无论是 Go 还是 Beego,两者都非常适合开发高性能 REST API。 

Beego 是一个“含电池”框架,具有内置工具(bee 工具)、ORM 和库,与其他框架(如 Gin-gonic)相比,Gin-gonic 不是“含电池”类型,包含大多数基本库和不适合的功能服务器端功能。

Beego 使用了一个典型的模型-视图-控制器 (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 担任软件开发人员。 在空闲时间,他喜欢通过旅行和绘画探索现实世界或纸上的新路径。

时间戳记:

更多来自 咒实验室