Category

Go Programming

Go language tutorials, patterns, and best practices

64 posts

إتقان أنماط معالجة الأخطاء في Go: ما وراء جملة if البسيطة

في العديد من لغات البرمجة التقليدية، توفر الاستثناءات آلية قوية لمعالجة الأخطاء من خلال فك تشابك المكدس ونقل التحكم إلى كتلة catch محددة. ومع ذلك، تتبنى Go نهجاً فلسفياً مختلفاً. فهي تعتمد معالجة الأخطاء الصريحة من خلال إرجاع قيم الأخطاء، ملتزمة بالمبدأ القائل بأن الأخطاء هي قيم وليست شروطاً استثنائية.

إتقان التعميم في Go: أمثلة عملية لكتابة كود أنظف

أشارت إضافة التعميم (Generics) في إصدار Go 1.18 إلى لحظة محورية في تطور اللغة. لسنوات طويلة، اعتمد مطورو Go على الواجهات والانعكاس (Reflection) وتوليد الكود لتحقيق مرونة الأنواع، غالباً على حساب الكود المكرر وأداء وقت التشغيل. يوفر التعميم آلية من الدرجة الأولى لكتابة كود آمن من حيث الأنواع وقابل لإعادة الاستخدام دون التضديد ببساطة وأداء Go المعروفين.

بناء خدمات مصغرة عالية الأداء في Go باستخدام gRPC

في المشهد الحديث لأنظمة الموزعة، يعد الأداء والكفاءة أمرين لا غنى عنهما. مع نمو التطبيقات، يمكن أن يصبح عبء الاتصال بين الخدمات عنق زجاجة كبير. هنا تبرز قوة gRPC. من خلال الاستفادة من بروتوكول Buffers (Protobuf) كلغة تعريف الواجهة (IDL) وHTTP/2 للنقل، يقدم gRPC بديلاً قوياً وفعالاً...

تطبيق التعميم في Go: بناء محولات JSON آمنة من حيث النوع وأدوات شريحة مخصصة

عندما أدخلت Go 1.18 التعميم (Generics)، كان ذلك علامة فارقة في تطور اللغة. لسنوات، اعتمد مطورو Go على الانعكاس (Reflection) والواجهات وتوليد الكود للتعامل مع العمليات العامة، مما أدى غالباً إلى كود طويل ومعرض للأخطاء أو ذو أداء متدنٍ. مع إدخال ...

إتقان التعميم في Go: بناء نمط مستودع آمن من حيث النوع وقابل لإعادة الاستخدام لتجريد قاعدة البيانات

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

إتقان تطوير واجهات برمجة التطبيقات REST باستخدام إطار عمل Gin في لغة Go

عند مناقشة لغة البرمجة Go لتطوير الخلفية، تدور المحادثة حتمًا حول الأداء، والتزامن، وإنتاجية المطورين. بينما تعتبر مكتبة net/http القوية وخفيفة الوزن، تفتقر إلى النهج المنظم المطلوب للتطوير السريع...

إتقان الطرفية: بناء أدوات سطر أوامر قوية باستخدام Cobra في Go

تظل واجهات سطر الأوامر (CLIs) العمود الفقري لـ DevOps الحديث، وسير العمل التطويري، وإدارة الأنظمة. بينما لـ Python و Node.js مكانهما في مجال البرمجة النصية، برزت Go كلغة الاختيار لبناء أدوات CLI سريعة، ذات أنواع ثابتة، وقابلة للحمل. ومع ذلك، فإن كتابة أداة CLI من الصفر...