قمت بتحديث نظام صراف آلي من الثمانينات في 3 دقائق بمساعدة بوب من IBM (شرح كامل)

BBetter Stack
Computing/SoftwareManagementInternet Technology

Transcript

00:00:00ألقِ نظرة على هذا.
00:00:01هذا مثير للاهتمام.
00:00:02لم يضف أي اختبارات لأن هذا أمر معتاد لتطبيقات الأنظمة المركزية القديمة التي تعتمد
00:00:07على الاختبار اليدوي أو أدوات اختبار خاصة بالأنظمة المركزية غير موجودة في المستودع.
00:00:13هذا هو "بوب"، بيئة التطوير المتكاملة الجديدة من IBM، والتي يسمونها شريكك في التطوير المدعوم بالذكاء الاصطناعي.
00:00:20قبل بضعة أشهر، قدمت مقطع فيديو عن نماذج "جرانيت" الرائدة من IBM، والآن يرتقون بها
00:00:25إلى المستوى التالي عبر إطلاق منصة تطوير متكاملة جديدة تمامًا مع رمز تعبيري لطيف والكثير
00:00:31من الميزات الرائعة، وكلها مدعومة بنماذج "جرانيت" الخاصة بهم.
00:00:34في هذا الفيديو، سنلقي نظرة فاحصة على "بوب"، ونرى كيف يعمل، ونختبره، ونكتشف
00:00:39ما إذا كان "بوب" هو حقًا المهندس المستقل الذي كنا ننتظره جميعًا.
00:00:45سيكون الأمر ممتعًا للغاية، لذا دعونا نغوص في التفاصيل.
00:00:51في عالم مليء بـ "كلود كود"، و"جيمناي"، و"كوديك"، وجميع أدوات نماذج الذكاء الاصطناعي الأخرى، يطرح هذا
00:00:58السؤال: ما الذي يجعل "بوب" مميزًا أو فريدًا؟
00:01:01حسنًا، بينما يركز معظم المساعدين على "البرمجة العشوائية" (vibe coding)، والتي تعتمد ببساطة على توليد
00:01:06مقتطفات برمجية بأسرع وقت ممكن، تم بناء "بوب" من أجل الحوكمة المعمارية.
00:01:11الأمر يتعلق أقل بنافذة دردشة واحدة وأكثر بسير عمل وكيل يفصل التخطيط
00:01:17عن التنفيذ.
00:01:18لقد صممت IBM "بوب" خصيصًا ليحتوي على مجموعة من الميزات المفيدة التي تتيح لك التحكم بعناية
00:01:23في مراحل مختلفة من دورات التطوير الخاصة بك، مثل التخطيط، والبرمجة، والمراجعة، وما إلى ذلك.
00:01:30ويمكنك رؤية ذلك في منتقي الأوضاع في أسفل نافذة الدردشة مباشرة.
00:01:34لديك وضع "السؤال" للأسئلة السريعة، أو وضع "الكود" للتنفيذ، ووضع "الخطة".
00:01:40ويمكنك حتى إنشاء أوضاعك المخصصة المصممة وفقًا لاحتياجاتك.
00:01:44لكن إحدى ميزاتي المفضلة هي وضع "المراجعة".
00:01:48يمكنك تشغيل أمر "slash review"، ويستخدم "بوب" حواجز الحماية الأمنية المدمجة فيه للمسح
00:01:53بحثًا عن أشياء مثل الأسرار المشفرة داخل الكود، ومخاطر الحقن، أو ممارسات "OWASP" الضعيفة.
00:01:59حتى أنه يمنحك لوحة نتائج مخصصة حيث يمكنك فرز المشكلات تمامًا كما هو الحال في أداة
00:02:05تدقيق أمني احترافية.
00:02:07ولكن هذه الأداة مدمجة مباشرة في بيئة تطويرك.
00:02:09وإذا كنت تفضل واجهات سطر الأوامر، يمكنك أيضًا استخدامه في المحطة الطرفية مع "بوب شل".
00:02:14ولأن IBM واحدة من أقدم شركات التكنولوجيا ولديها جذور عميقة
00:02:18في أنظمة الحواسيب المركزية، فمن المحتمل أن يكون لدى "بوب" فهم متخصص للغات القديمة
00:02:24مثل "كوبول".
00:02:25لذا قررت أن أضعه في الاختبار النهائي.
00:02:28أنت تعلم كيف يمزح الجميع بأن "كوبول" هي واحدة من أقدم اللغات التي لا تزال تشغل
00:02:33الكثير من الأنظمة المصرفية وأجهزة الصراف الآلي، وكيف أن الجميع يخشون لمس
00:02:38الكود المصدري خوفًا من كسر خط أنابيب مالي عالمي.
00:02:42حسنًا، لقد أخذت مستودع "كوبول" مفتوح المصدر يسمى "zBank"، وسنرى ما إذا كان بإمكان "بوب"
00:02:48هندسة عكسية لمنطق الحواسيب المركزية القديم هذا وتحديثه بشكل مستقل إلى
00:02:53تطبيق "بايثون" وظيفي.
00:02:55بمجرد فتح "بوب" لأول مرة، سيطلب منك استيراد إعداداتك من
00:03:00بيئات تطوير أخرى شهيرة مثل "في إس كود".
00:03:03لذا سأقوم بالمضي قدمًا والقيام بذلك.
00:03:04والآن، بمجرد دخولنا، يمكننا أن نرى أنه يبدو مشابهًا جدًا لـ "في إس كود"، ولكن مع
00:03:09لوحة دردشة "بوب" لطيفة على الجانب.
00:03:12وهنا يمكننا أن نرى أنه يمكننا أيضًا اختيار أحد الأوضاع التي ناقشناها سابقًا.
00:03:17بما أنني لا أخطط لمشروع جديد، سأختار وضع "الكود" لأطلب
00:03:22من "بوب" البدء في البرمجة فورًا.
00:03:24وبالنسبة للمطالبة (Prompt)، حددت أن "بوب" هو مطور "بايثون" تم تكليفه بـ
00:03:28تحديث حزمة "كوبول" القديمة الخاصة بأجهزة الصراف الآلي وتحويلها إلى تطبيق ويب واضح مدعوم
00:03:34بـ "ستريم ليت" مع واجهة مستخدم جيدة المظهر.
00:03:37وقبل أن يبدأ "بوب" في كتابة الكود، فإنه يعرض نموذجًا مفصلاً للغاية للموافقة التلقائية.
00:03:43وهذه لمسة لطيفة لأنه يمكنك هنا تحديد ما يُسمح للوكيل
00:03:47بالقيام به دون إذنك.
00:03:49ولنكن واقعيين، أعتقد أننا في معظم الأوقات نضغط على الموافقة التلقائية طوال الوقت.
00:03:53ولكن هنا يمكنك بالفعل تحديد منطقة معزولة (Sandbox) حتى تتمكن من الاختيار والانتقاء.
00:03:58ولكن بالنسبة لهذا العرض التوضيحي، سأسمح له بقراءة وكتابة الملفات في مستودعنا ثم أدعه
00:04:03يقوم بعمله.
00:04:04استغرق "بوب" حوالي ثلاث دقائق لإنهاء المهمة، والآن دعونا نشغل التطبيق و
00:04:08نرى كيف يعمل بالفعل.
00:04:10لدينا صفحة تسجيل دخول داكنة لطيفة في البداية.
00:04:13ويمكننا تسجيل الدخول باستخدام بيانات اعتماد تجريبية مشفرة داخل الكود لاختبارها.
00:04:18ولوحة التحكم تبدو جيدة أيضًا، على الرغم من أن النص المنبثق ساطع للغاية.
00:04:22إنه يفتقر قليلاً إلى الحكم التصميمي، لكن جميع العمليات وظيفية.
00:04:27إجمالاً، تمكن من إكمال هذه المهمة بنجاح وتحديث حزمة "كوبول".
00:04:33والآن أريد تجربة وظيفة المراجعة.
00:04:35سيجبر هذا "بوب" على إجراء تدقيق كامل لقاعدة الكود والعثور على أي مشكلات أمنية محتملة.
00:04:42بمجرد تشغيل هذا، نرى الآن وجود لوحة نتائج "بوب" جديدة، والتي ظهرت للتو
00:04:46حيث يمكننا فحص كل مشكلة بمزيد من التفصيل.
00:04:49وإذا نقرنا على إحدى المشكلات، يمكنك أن ترى أن هناك أيضًا زر المصباح اليدوي
00:04:54المفيد.
00:04:55وإذا نقرنا على ذلك، فسيقوم "بوب" تلقائيًا بالمضي قدمًا ومحاولة إصلاح هذه المشكلة بمفرده.
00:05:00ليس هذا فحسب، بل بعد إصلاحها، يسأل أيضًا عما إذا كنا نريد إضافة اختبار وحدة مخصص
00:05:05لتلك المشكلة المحددة.
00:05:08لذا دعونا نمضِ قدمًا وننقر على ذلك.
00:05:10والآن يمكننا أن نرى أن "بوب" يضيف اختبارات إضافية وينفذها للتأكد مرتين من أن
00:05:15المشكلة قد تم إصلاحها بالفعل.
00:05:17وهنا يمكننا أيضًا رؤية سجلات الاختلاف للتغييرات التي أجراها "بوب".
00:05:21دعونا نجرب مشكلة أخرى.
00:05:22هذه مثيرة للاهتمام.
00:05:23لقد اكتشف مشكلة "حالة سباق" محتملة.
00:05:26لذا دعونا ننقر على المصباح ونحاول إصلاح ذلك.
00:05:29أوه، واو.
00:05:30الإصلاح لهذا هو في الواقع تغيير في سطر واحد لإضافة أمر "begin immediate" من أجل قفل
00:05:35مناسب في "إس كيو إل لايت" (SQLite).
00:05:37جميل جدًا.
00:05:38لذا مرة أخرى، يمكننا السماح له بإصلاحها ثم نطلب منه إضافة اختبارات مناسبة لها للتأكد
00:05:43من أن المشكلة تمت معالجتها بشكل صحيح.
00:05:46وهناك شيء أخير أريد التحقق منه.
00:05:47لذا سأفتح نسخة جديدة من هذا المستودع بدون تغييرات "بايثون" الخاصة بنا.
00:05:52وأريد تشغيل أمر المراجعة على تنفيذ "كوبول" الأصلي لمعرفة ما إذا كان
00:05:57يجد أي مشكلات محتملة.
00:05:59وانظر إلى ذلك.
00:06:00لقد وجد ثماني مشكلات.
00:06:02إذن يمكنه بثقة تحديد الأخطاء الحرجة، حتى في لغات قديمة مثل "كوبول".
00:06:08ولا، لا أفهم ما الذي يحدث هنا.
00:06:10ولكن دعونا نحاول فقط إصلاح إحدى هذه المشكلات.
00:06:12ومرة أخرى، بعد إصلاحها، يسأل "بوب" عما إذا كنا نريد إضافة اختبارات مخصصة لها.
00:06:19لذا دعونا ننقر على "نعم".
00:06:20وألقِ نظرة على هذا.
00:06:21هذا مثير للاهتمام.
00:06:23لم يضف أي اختبارات لأن هذا أمر معتاد لتطبيقات الأنظمة المركزية القديمة التي تعتمد
00:06:28على الاختبار اليدوي أو أدوات اختبار خاصة بالأنظمة المركزية غير موجودة في المستودع.
00:06:33واو.
00:06:34لذا أعتقد أن هذه حزمة قديمة جدًا لدرجة أنهم لم يختبروها تلقائيًا حتى في ذلك الوقت.
00:06:39حينها.
00:06:40لذا ربما لا توجد أطر اختبار لـ "كوبول" موجودة في العالم حاليًا.
00:06:45لذا هذا مثير للاهتمام حقًا.
00:06:47لكن على أي حال، إليكم الأمر يا رفاق.
00:06:49هذا هو "بوب" باختصار.
00:06:51الآن قد يكون هذا رأيًا جريئًا، لكنني بصراحة أحب استخدام بيئات التطوير المتكاملة (IDEs) مقابل واجهات سطر الأوامر حيث
00:06:57لا أفهم ما الذي يفعله الوكيل معظم الوقت.
00:07:00أنا أقدر حقًا حقيقة أن أداة مثل "بوب" تحتوي على لوحات منفصلة وعناصر تحكم في واجهة المستخدم لـ
00:07:06أشياء مثل الموافقات أو نتائج المراجعة.
00:07:09أجد أنها توفر طريقة أكثر تنظيمًا للعمل داخل قواعد الكود وتقسيم
00:07:15المهام والحصول على صورة كاملة لما يحدث بالفعل.
00:07:19لذا إذا كنت ترغب في تجربة "بوب" بنفسك، فهم يوفرون نسخة تجريبية مجانية تتضمن 40 عملة
00:07:24من عملات "بوب" للإنفاق.
00:07:25وللمقارنة، الاختبار الذي أجريناه للتو كلف حوالي أربع عملات "بوب" وعملة "بوب" واحدة
00:07:30تعادل 50 سنتًا أمريكيًا.
00:07:33إذن ما رأيك في "بوب"؟
00:07:34هل جربته؟
00:07:35هل ستستخدمه؟
00:07:36أخبرنا في قسم التعليقات أدناه.
00:07:38ويا رفاق، إذا أعجبتكم هذه الأنواع من التحليلات الفنية، يرجى إعلامي بذلك عبر تحطيم
00:07:42زر الإعجاب أسفل الفيديو.
00:07:44ولا تنسوا أيضًا الاشتراك في قناتنا.
00:07:47كان معكم أندريس من "بيتر ستاك"، وسأراكم في الفيديوهات القادمة.

Key Takeaway

تتميز بيئة التطوير 'بوب' بدمج وكلاء الذكاء الاصطناعي في سير عمل منظم يربط التخطيط بالتنفيذ مع توفير أدوات تدقيق أمني متقدمة للغات البرمجة الحديثة والقديمة مثل 'كوبول'.

Highlights

  • تستخدم منصة 'بوب' (Bob) نماذج 'جرانيت' من IBM لتوفير بيئة تطوير تركز على الحوكمة المعمارية بدلاً من التوليد العشوائي للكود.

  • تتضمن الأداة وضع 'المراجعة' (review) الذي يمسح الكود بحثاً عن الأسرار المشفرة ومخاطر الحقن وممارسات OWASP الضعيفة.

  • نجح الوكيل في تحديث حزمة 'كوبول' (COBOL) القديمة الخاصة بأجهزة الصراف الآلي وتحويلها إلى تطبيق ويب وظيفي باستخدام 'ستريم ليت' خلال 3 دقائق.

  • يوفر 'بوب' واجهة رسومية لإدارة الموافقات التلقائية، مما يسمح للمطورين بتحديد الصلاحيات الممنوحة للوكيل داخل منطقة معزولة (Sandbox).

  • تعتمد تكلفة استخدام 'بوب' على نظام العملات، حيث كلف اختبار تحديث كامل لنظام قديم حوالي 4 عملات فقط (ما يعادل دولارين أمريكيين).

Timeline

مفهوم وتصميم منصة بوب

  • تركز منصة 'بوب' على الحوكمة المعمارية بدلاً من مجرد توليد مقتطفات برمجية سريعة.
  • تعتمد بيئة التطوير على فصل مراحل التخطيط عن التنفيذ لضمان تحكم أفضل في دورة حياة التطوير.

تستغل المنصة نماذج 'جرانيت' من IBM لتقديم شريك تطوير ذكي. تم تصميم الواجهة لتسهيل التنقل بين أوضاع العمل المختلفة مثل 'السؤال' و'الكود' و'الخطة'، مع إمكانية إنشاء أوضاع مخصصة تناسب احتياجات سير العمل.

أدوات الأمان والتدقيق البرمجي

  • يوفر أمر 'slash review' فحصاً أمنياً مباشراً للكود بحثاً عن ثغرات OWASP ومخاطر الحقن.
  • تظهر نتائج التدقيق في لوحة مخصصة تسمح بفرز المشكلات وتتبعها بسهولة.

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

اختبار هندسة عكسية لنظام كوبول القديم

  • تم تحويل مستودع 'zBank' المكتوب بلغة 'كوبول' إلى تطبيق ويب باستخدام 'بايثون' و'ستريم ليت' في 3 دقائق.
  • توفر الأداة خاصية الإصلاح التلقائي للثغرات المكتشفة مع إمكانية إضافة اختبارات وحدة لكل إصلاح.

يتم اختبار قدرة الوكيل على التعامل مع الأنظمة المركزية القديمة عبر هندسة عكسية كاملة. بعد التحويل، تم استخدام ميزة 'المصباح اليدوي' لإصلاح الثغرات الأمنية المكتشفة، حيث يقوم الوكيل بكتابة اختبارات مخصصة للتحقق من سلامة الإصلاحات.

تقييم الكفاءة وتكاليف الاستخدام

  • اكتشف الوكيل 8 مشكلات أمنية في كود 'كوبول' الأصلي قبل التعديل.
  • تعتمد تكلفة التشغيل على نظام عملات حيث تعادل العملة الواحدة 50 سنتاً أمريكياً.

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

Community Posts

View all posts