Open Finance: واقعیت یا هیپ؟  هوش داده PlatoBlockchain. جستجوی عمودی Ai.

امور مالی باز: واقعیت یا هیپ؟

معمولاً هنگام اجرای یک فناوری جدید نگرانی هایی وجود دارد، مانند اینکه اگر در جایی گیر کنیم و در نهایت وقت و تلاش خود را تلف کنیم، چه اتفاقی می افتد. این امکان وجود دارد که مجبور شویم به راه حل اصلی برگردیم. ما یک سال پیش با مشکلات مشابهی مواجه شدیم، اما پس از تحقیقات طولانی و عمیق، راه حلی پیدا کردیم که مطمئن تر و مطمئن تر بود.گولنگ و چارچوب های آن نحوه مستندسازی آن واقعا مفید است. با این حال، ما کاملاً مطمئن بودیم که همه پاسخ‌ها را آنلاین نمی‌یابیم، که چالشی بود که ما در آن پذیرفتیم روح از لیلا گیفتی آکیتا ضرب المثل معروف، "همیشه یک راه حل برای هر موقعیت چالش برانگیزی وجود دارد."

این وبلاگ عمدتاً در مورد چارچوب 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. سرعت

همزمانی داخلی (گوروتین ها و کانال ها) یکی از دلایل اصلی عملکرد بالای آن است. تحلیل این سرریز پشته به ما اجازه می دهد تا سرعت آن را تخمین بزنیم.

"ممکن است این را اشتباه اجرا کرده باشم زیرا نتایج منطقی نیستند. من یک برنامه Go دارم که تا 1000000000 حساب می شود. در کمتر از یک ثانیه تمام می شود. از طرف دیگر، من یک اسکریپت پایتون دارم. در عرض چند دقیقه تمام می شود چرا نسخه Go بسیار سریعتر است؟ آیا هر دو تا 1000000000 می شمارند یا من چیزی را از دست داده ام؟" 

اگر هنوز در مورد سرعت مطمئن نیستید، در اینجا مقایسه ای بین Go وجود دارد. گره JS، جاوا و پایتون که به وضوح بیشتر در مورد استفاده از آن کمک می کند:

مشخصات دستگاه من:

نام دستگاه- LAPTOP-Q8U9LM8P

پردازنده- CPU Intel(R) Core(TM) i5-10210U @ 1.60GHz 2.10GHz

رم نصب شده- 16.0 گیگابایت (15.6 گیگابایت قابل استفاده)

نوع سیستم- سیستم عامل 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 ثانیه 

پــایتــون

خروجی:

زمان فاکتوریل برای محاسبه فاکتوریل

10000 0.046 ثانیه

50000 1.187 ثانیه

100000 6.051 ثانیه

500000 388.607 ثانیه 

1000000 813.725 ثانیه 

جاوا

خروجی:

زمان فاکتوریل برای محاسبه فاکتوریل

10000 0.064 ثانیه

50000 1.607 ثانیه

100000 5.363 ثانیه

500000 141.076 ثانیه

1000000 585.868 ثانیه

3. ایمنی:

زباله روب:

برو ترجیح میده اختصاص دادن حافظه روی پشته است، بنابراین بیشتر تخصیص حافظه در آنجا به پایان می رسد. این بدان معنی است که در هر گوروتین یک پشته دارد و در صورت امکان متغیرهایی را به این پشته اختصاص می دهد.

زباله جمع کن علامت و جارو گولنگ دو فاز دارد: علامت گذاری و جارو کردن. ابتدا، همه متغیرهای استفاده نشده و استفاده شده را علامت گذاری می کند، سپس متغیرهای استفاده نشده را جارو می کند.

آمار و توضیحات بالا نشان می دهد که چرا باید با Go کار کرد. چارچوب Golang که برای ایجاد APIها بهترین است، توسعه را تسریع و تسهیل می کند.

چرا از Beego Framework استفاده می کنیم؟

چه Go یا Beego، هر دو برای توسعه API های REST با کارایی بالا فوق العاده هستند. 

Beego یک فریمورک «شامل باتری» است، با ابزارهای داخلی (ابزار زنبور عسل)، ORM، و کتابخانه‌ها در مقایسه با چارچوب‌های دیگر مانند Gin-gonic که از نوع «با باتری» نیست و حاوی اکثر کتابخانه‌های ضروری و ویژگی‌های مناسب نیست. ویژگی های سمت سرور

Beego از یک چارچوب معمولی Model-View-Controller (MVC) استفاده می کند که برای افرادی (مانند ما) که قبلاً روی Python-Django کار می کردند خوب است و Beego کاملاً مشابه است.

چرا از Beego Framework استفاده می کنیم؟

نتیجه: 

به این ترتیب ما برنامه خود را با Golang و Beego شروع کردیم. ما روی PDF، مدیریت تصویر با ImageMagick، AWS-SNS، AWS-SES SMTP، تماس‌های IVR، فکس، امضای دیجیتال، تولید گزارش‌ها با ORM و بسیاری موارد دیگر کار کردیم. و هنگام کار با ویژگی های شخص ثالث مانند Twilio یا AWS هیچ انسدادی پیدا نکردیم. نوشتن کد در Golang همانطور که توسط سازندگان آنها ذکر شده است بسیار ساده است. چالش های خاصی در استفاده از این چارچوب وجود دارد اما راه حل هایی نیز وجود دارد. ما واقعاً از کار روی این چارچوب لذت بردیم. بهترین شانس برای برنامه های Golang آینده شما.

درباره نویسنده

پیوش راج از IIT Kharagpur در بخش شیمی فارغ التحصیل شد. او کار خود را با ML و AI آغاز کرد و اکنون در Mantra Labs به عنوان یک توسعه دهنده نرم افزار کار می کند. او در اوقات فراغت خود دوست دارد از طریق سفر و نقاشی مسیرهای جدیدی را در دنیای واقعی یا روی کاغذ کشف کند.

تمبر زمان:

بیشتر از آزمایشگاه های مانترا