قمت بتحديث نظام صراف آلي من الثمانينات في 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كان معكم أندريس من "بيتر ستاك"، وسأراكم في الفيديوهات القادمة.