عادة ما تكون هناك بعض المخاوف عند تنفيذ تقنية جديدة مثل ما سيحدث إذا واجهنا مشكلة في مكان ما وانتهى بنا الأمر إلى إضاعة وقتنا وجهدنا. من الممكن أن نعود إلى الحل الأصلي. لقد واجهنا مشكلات مماثلة قبل عام ولكن بعد بحث طويل ومتعمق ، وجدنا حلاً أكثر أمانًا وأمانًا-Golang وأطرها. الطريقة التي يتم بها توثيقها مفيدة حقًا. ومع ذلك ، كنا على يقين تام من أننا لن نعثر على جميع الإجابات عبر الإنترنت ، وهو ما كان يمثل تحديًا قبلنا فيه روح ليلى جيفتي أكيتا القول المأثور الشهير ، "هناك حل دائمًا لكل حالة صعبة."
تتحدث هذه المدونة بشكل أساسي عن إطار عمل Golang-Beego وتطبيقاته. سنناقش كيفية استخدام Golang في تطوير الويب ولماذا ينتقل معظم المطورين من Python أو Node أو لغات أخرى إلى Go.
دعونا نفهم إطار عمل Golang لمعرفة كيفية عمله.
ما هو جولانج؟
ظهرت Golang (المعروفة باسم Go) لأول مرة في عام 2009 ، وسرعان ما اكتسبت شعبية بين المطورين ، وأصبحت لغة مفضلة لأكثر من 90٪ من المستخدمين. لغات أسلافها هي لغات البرمجة C و C ++ والتي تتضح تمامًا من خلال النظر في تركيبها وميزات التجميع.
تستخدم بشكل أساسي لتطوير الواجهة الخلفية ، لدى Go 4 حالات استخدام أخرى-
- الخدمات السحابية والشبكات
- واجهات سطر الأوامر (CLIs)
- تطوير المواقع
- عمليات التطوير وهندسة موثوقية الموقع.
فيما يلي بعض الميزات الرئيسية لـ 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 مشابه تمامًا.
الخلاصة:
هكذا بدأنا تطبيقنا مع Golang و Beego. لقد عملنا على ملفات PDF ومعالجة الصور باستخدام ImageMagick و AWS-SNS و AWS-SES SMTP ومكالمات IVR والفاكس والتوقيعات الرقمية وإنشاء التقارير باستخدام ORM وغير ذلك الكثير. ولم نعثر على أي انسداد أثناء العمل مع ميزات الجهات الخارجية مثل Twilio أو AWS. من السهل حقًا كتابة التعليمات البرمجية على Golang كما ذكرها منشئوها. هناك بعض التحديات في استخدام هذا الإطار ولكن هناك حلول أيضًا. لقد استمتعنا حقًا بالعمل على هذا الإطار. حظًا سعيدًا لتطبيقاتك القادمة من Golang.
عن المؤلف
تخرج Piyush Raj من IIT Kharagpur في قسم الكيمياء. بدأ حياته المهنية مع ML و AI ، ويعمل الآن في Mantra Labs كمطور برامج. في أوقات فراغه ، يحب استكشاف مسارات جديدة في العالم الحقيقي أو على الورق من خلال السفر والرسم.
- AI
- ai الفن
- مولد الفن ai
- الروبوت ai
- الذكاء الاصطناعي
- شهادة الذكاء الاصطناعي
- الذكاء الاصطناعي في البنوك
- روبوت ذكاء اصطناعي
- روبوتات الذكاء الاصطناعي
- برنامج ذكاء اصطناعي
- الاتجاهات المصرفية
- سلسلة كتلة
- مؤتمر blockchain ai
- عملة عبقرية
- الذكاء الاصطناعي للمحادثة
- مؤتمر التشفير ai
- تجربة العملاء
- دال
- التعلم العميق
- FINTECH
- google ai
- آلة التعلم
- مختبرات مانترا
- فتح المصرفية
- التمويل المفتوح
- أفلاطون
- أفلاطون ع
- الذكاء افلاطون البيانات
- لعبة أفلاطون
- أفلاطون داتا
- بلاتوغمينغ
- مقياس ai
- بناء الجملة
- زفيرنت