التمويل المفتوح: حقيقة أم دعاية؟ PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

التمويل المفتوح: حقيقة أم دعاية؟

عادة ما تكون هناك بعض المخاوف عند تنفيذ تقنية جديدة مثل ما سيحدث إذا واجهنا مشكلة في مكان ما وانتهى بنا الأمر إلى إضاعة وقتنا وجهدنا. من الممكن أن نعود إلى الحل الأصلي. لقد واجهنا مشكلات مماثلة قبل عام ولكن بعد بحث طويل ومتعمق ، وجدنا حلاً أكثر أمانًا وأمانًا-Golang وأطرها. الطريقة التي يتم بها توثيقها مفيدة حقًا. ومع ذلك ، كنا على يقين تام من أننا لن نعثر على جميع الإجابات عبر الإنترنت ، وهو ما كان يمثل تحديًا قبلنا فيه روح ليلى جيفتي أكيتا القول المأثور الشهير ، "هناك حل دائمًا لكل حالة صعبة."

تتحدث هذه المدونة بشكل أساسي عن إطار عمل Golang-Beego وتطبيقاته. سنناقش كيفية استخدام Golang في تطوير الويب ولماذا ينتقل معظم المطورين من Python أو Node أو لغات أخرى إلى Go.

دعونا نفهم إطار عمل Golang لمعرفة كيفية عمله.

ما هو جولانج؟

ظهرت Golang (المعروفة باسم Go) لأول مرة في عام 2009 ، وسرعان ما اكتسبت شعبية بين المطورين ، وأصبحت لغة مفضلة لأكثر من 90٪ من المستخدمين. لغات أسلافها هي لغات البرمجة C و C ++ والتي تتضح تمامًا من خلال النظر في تركيبها وميزات التجميع. 

تستخدم بشكل أساسي لتطوير الواجهة الخلفية ، لدى Go 4 حالات استخدام أخرى- 

  1. الخدمات السحابية والشبكات
  2. واجهات سطر الأوامر (CLIs) 
  3. تطوير المواقع
  4. عمليات التطوير وهندسة موثوقية الموقع. 

فيما يلي بعض الميزات الرئيسية لـ Golang التي تجعل هذا الإطار هو الخيار المفضل للمطورين:

1. البساطة 

إن بناء جملة Go واضح ومباشر كما هو موضح هنا مترجم يمكن أن يشم المتاعب ويثير الأخطاء أثناء عملية الإنشاء - أي قبل تشغيل البرنامج.

تعد المرونة وسهولة الاستخدام والمفهوم الرائع بشكل لا يصدق وراء Go (كيف يتعامل مع التزامن الأصلي ، وجمع القمامة ، والسلامة + السرعة) بعض الميزات المفيدة جدًا للمطورين.

2. سرعة

يعد التزامن المدمج (Goroutines والقنوات) أحد الأسباب الرئيسية لأدائه العالي. تحليل هذا كومة الفائض سيسمح لنا بتقدير سرعته.

ربما أكون قد نفذت هذا بشكل غير صحيح لأن النتائج لا معنى لها. لدي برنامج Go يصل إلى 1000000000 ؛ ينتهي في أقل من ثانية. من ناحية أخرى ، لدي برنامج نصي بلغة بايثون. ينتهي في بضع دقائق. لماذا نسخة Go أسرع بكثير؟ هل يصل كلاهما إلى 1000000000 أم أني أفقد شيئًا ما؟ " 

إذا كنت لا تزال غير متأكد من السرعة ، فإليك مقارنة بين Go ، العقدة شبيبةو Java و Python التي ستساعد في الحصول على مزيد من الوضوح حول استخدامها:

مواصفات جهازي:

اسم الجهاز- لاب توب- Q8U9LM8P

Processor- Intel (R) Core (TM) i5-10210U CPU @ 1.60 جيجاهرتز 2.10 جيجاهرتز

ذاكرة الوصول العشوائي المثبتة 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 ثانية 

JAVA

الإخراج:

وقت العامل لحساب عاملي

10000 0.064 ثانية

50000 1.607 ثانية

100000 5.363 ثانية

500000 141.076 ثانية

1000000 585.868 ثانية

3. السلامة:

جامع القمامة:

تفضل الذهاب تخصيص الذاكرة على المكدس ، لذلك ستنتهي معظم عمليات تخصيص الذاكرة هناك. هذا يعني أنه يحتوي على مكدس لكل جوروتين وعند الإمكان سيتم تعيين متغيرات لهذه المجموعة.

هناك مرحلتان لمجمع البيانات المهملة لعلامة Golang ومسحها: Mark و Sweep. أولاً ، سيتم وضع علامة على جميع المتغيرات غير المستخدمة والمستخدمة ، ثم مسح المتغيرات غير المستخدمة.

تشير الإحصائيات والوصف أعلاه إلى سبب وجوب العمل مع Go. يعمل إطار عمل Golang الأفضل لإنشاء واجهات برمجة التطبيقات على تسريع عملية التطوير وتسهيلها.

لماذا نستخدم Beego Framework؟

سواء كان Go أو Beego ، كلاهما رائع لتطوير واجهات برمجة تطبيقات REST عالية الأداء. 

Beego عبارة عن إطار عمل "مضمن بالبطارية" ، مع أدوات مدمجة (أداة النحل) ، و ORM ، ومكتبات مقارنة بأطر أخرى مثل Gin-gonic الذي لا يعد نوعًا "مضمنًا بالبطارية" ويحتوي على معظم المكتبات والميزات الأساسية غير المناسبة ميزات من جانب الخادم.

يستخدم Beego إطار عمل نموذجي للتحكم في عرض النماذج (MVC) والذي تبين أنه جيد للأشخاص (مثلنا) الذين يعملون على Python-Django من قبل و Beego مشابه تمامًا.

لماذا نستخدم Beego Framework؟

الخلاصة: 

هكذا بدأنا تطبيقنا مع Golang و Beego. لقد عملنا على ملفات PDF ومعالجة الصور باستخدام ImageMagick و AWS-SNS و AWS-SES SMTP ومكالمات IVR والفاكس والتوقيعات الرقمية وإنشاء التقارير باستخدام ORM وغير ذلك الكثير. ولم نعثر على أي انسداد أثناء العمل مع ميزات الجهات الخارجية مثل Twilio أو AWS. من السهل حقًا كتابة التعليمات البرمجية على Golang كما ذكرها منشئوها. هناك بعض التحديات في استخدام هذا الإطار ولكن هناك حلول أيضًا. لقد استمتعنا حقًا بالعمل على هذا الإطار. حظًا سعيدًا لتطبيقاتك القادمة من Golang.

عن المؤلف

تخرج Piyush Raj من IIT Kharagpur في قسم الكيمياء. بدأ حياته المهنية مع ML و AI ، ويعمل الآن في Mantra Labs كمطور برامج. في أوقات فراغه ، يحب استكشاف مسارات جديدة في العالم الحقيقي أو على الورق من خلال السفر والرسم.

الطابع الزمني:

اكثر من مختبرات مانترا