Debugging

  • عدد الأخطاء التي قامت جينيفيف بإصلاحها (مسألة رياضيات)

    جينيفيف مبرمجة كمبيوتر تعمل على برمجيات أمان المعلومات. لقد كتبت 4300 سطر من الشفرة حتى الآن. في كل مرة تصل إلى 100 سطر من الشفرة، تقوم بتصحيح البرنامج. إذا كان كل جلسة تصحيح تجد ثلاثة أخطاء فقط، وتقوم جينيفيف بإصلاح هذه الأخطاء في كل مرة قبل المتابعة، كم عدد الأخطاء التي قامت بإصلاحها حتى الآن؟

    لدينا 4300 سطر من الشفرة، ولكل 100 سطر يتم إجراء جلسة تصحيح. لحساب عدد جلسات التصحيح، نقسم عدد السطور على 100:

    4300 ÷ 100 = 43 جلسة تصحيح.

    بالتالي، جينيفيف قامت بإجراء 43 جلسة تصحيح.

    كل جلسة تصحيح تجد ثلاثة أخطاء، وبالتالي إجمالي عدد الأخطاء التي تم اكتشافها هو:

    43 جلسة تصحيح × 3 أخطاء = 129 خطأ.

    لذا، جينيفيف قامت بإصلاح 129 خطأ حتى الآن في برنامجها لأمان المعلومات.

    المزيد من المعلومات

    لحل هذه المسألة، سنقوم بتحليل عدد الأخطاء التي قامت جينيفيف بإصلاحها بناءً على عدد الجلسات التي قامت بتصحيح الشفرة.

    القوانين المستخدمة في الحل:

    1. القسمة: نستخدم القسمة لتقسيم عدد السطور الإجمالي للشفرة على 100 لمعرفة عدد جلسات التصحيح.
    2. الضرب: نستخدم الضرب لمضاعفة عدد جلسات التصحيح بعدد الأخطاء التي يتم اكتشافها في كل جلسة.

    الحل بالتفصيل:

    1. عدد السطور من الشفرة = 4300.
    2. نقوم بالقسمة: 4300 ÷ 100 = 43. هذا يعني أن جينيفيف قامت بإجراء 43 جلسة تصحيح.
    3. في كل جلسة تصحيح، يتم اكتشاف ثلاثة أخطاء.
    4. نقوم بالضرب: 43 جلسة × 3 أخطاء = 129.
    5. إذاً، جينيفيف قامت بإصلاح 129 خطأً حتى الآن في برنامج أمان المعلومات الخاص بها.

    هذا الحل يستند إلى قوانين الرياضيات الأساسية، مثل القسمة والضرب، ولا يتطلب أي مفاهيم معقدة أو خوارزميات معقدة لحساب الإجابة.

  • دورة تعلم C++ في عطلة نهاية الأسبوع

    “دورة نهاية الأسبوع للبرمجة بلغة ++C: إشتعال الأفكار وتحقيق الأهداف”

    هل تبحث عن طريقة لتنمية مهاراتك في برمجة الحاسوب خلال عطلة نهاية الأسبوع؟ إذاً، فإن كتاب “دورة نهاية الأسبوع للبرمجة بلغة ++C” هو الخيار المثالي لك! تأليف ستيفن راندي ديفيس، يقدم هذا الكتاب فرصة مذهلة للمبتدئين في عالم البرمجة لاكتساب مهارات أساسية في لغة البرمجة ++C خلال فترة قصيرة ومناسبة.

    فيما يلي نظرة عامة على محتوى هذا الكتاب الممتع والمفيد:

    تبدأ الرحلة يوم الجمعة مع لمحة عن إنشاء أول برنامج بلغة ++C باستخدام بيئة التطوير المتكاملة Visual C++ و CNU C++، حيث يتعلم القارئ كيفية البدء بتطوير تطبيقات بسيطة وتحليل الأخطاء وإصلاحها.

    يستمر الاستكشاف يوم السبت مع التركيز على مفاهيم هامة مثل التحكم في تدفق البرنامج واستخدام الإشارات والكائنات، حيث يقدم الكتاب شروحاً وافية وممارسات فعّالة لاكتساب فهم عميق لهذه المفاهيم.

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

    وفي نهاية الرحلة، بعد مرور 15 ساعة من التمارين والمراجعة والتقييم، يكون القارئ قد اكتسب مهارات قوية في برمجة لغة ++C، مما يمكنه من الانطلاق بثقة في بداية يوم الاثنين العملي، جاهزاً للتألق في مجال البرمجة.

    بفضل محتواه الشيق والمفيد، يعتبر كتاب “دورة نهاية الأسبوع للبرمجة بلغة ++C” إضافة قيمة لمكتبة كل من يسعى لاكتساب مهارات برمجية جديدة بطريقة سريعة وممتعة. صدر الكتاب عن دار النشر وايلي في شهر مايو من عام 2000.

  • B32 Business Basic: Overview

    لغة البرمجة B32 Business Basic كانت منافسًا لـ Data General Business Basic وقد تم تطويرها من قبل Murray Haszard في عام 1986. كانت تعمل في البداية على خط أجهزة Data General Eclipse MV ، وتمت توصيلها بنظام Unix في عام 1989 وإلى DOS في عام 1991. B32 Software كانت الشركة المطورة والمدعمة لـ B32 Business Basic، حيث كانت الموقع الأصلي في أوكلاند، نيوزيلندا، مكملًا بمركز مبيعات ودعم في بلو آش، أوهايو. كانت مترجمة B32 متوافقة تمامًا مع Data General Business Basic (DGBB)، لكنها كذلك قامت بتحسين وتوسيع تلك اللغة في العديد من الطرق. على عكس DGBB، كانت B32 أسرع بأكثر من ضعفين في العمليات الحسابية، وعمليات تلاسن السلاسل، وإدخال وإخراج القرص. تم إزالة العديد من القيود الداخلية لـ DGBB في B32. كانت B32 تسمح بـ 32,767 رقم خط (65,535 في الإصدارات اللاحقة)، بالمقارنة مع 9,999 لـ DGBB. كما سمحت B32 بذاكرة أكبر للبرامج، ومزيد من القفل المتزامن، وفتح المزيد من الملفات في نفس الوقت. تضمنت التحسينات في اللغة روتين فرز داخلي سريع، وكتل do-while، والقدرة على الانتقال للخلف من خلال ملف مفهرس. تم تحسين مرافق التصحيح بشكل كبير أيضًا على DGBB. كما سمحت B32 بتشغيل البرامج بدعم كامل للمؤشر والخصائص على الأجهزة التي ليست Data General، حتى البرامج التي كانت تحتوي على تسلسلات تحكم Data General مضمنة فيها. أجرت B32 جميع العمليات الحسابية بـ “دقة كواد”، أي 64 بتًا، وقامت بمحاكاة الإصدارات “الدقة الثلاثية” و “الدقة المزدوجة” من DGBB أثناء التشغيل. وهذا يتجنب عدم التوافق الدقيق بين الإصدارين من DGBB. على Unix و DOS، قامت B32 بمحاكاة جميع استدعاءات النظام المستخدمة بشكل شائع من أنظمة التشغيل AOS/VS و RDOS لـ Data General، بما في ذلك تنفيذ روابطها الرمزية الخاصة على SCO Xenix و DOS. في عام 1991، شهدت حرب الميزات بين B32 وأحد منافسيها، Universal Business Basic من Transoft، تحسينات رئيسية على لغة B32. أضافت B32 وضع محاكاة Bluebird Business Basic، وجعلت أرقام الخطوط اختيارية، وأضافت استدعاءات للإجراءات الفرعية بالاسم مع تمرير المعلمات. كان لدى Transoft موارد مالية أكبر من B32، وتسويق أكثر فعالية. وقامت بشراء B32 في عام 1992. تم التخلص من إصدارات DOS و Unix من B32 حيث كان Universal Business Basic يعمل على تلك الأنظمة التشغيلية، لكن إصدار Eclipse MV من B32 استمر في البيع حتى نفاد خط المنتجات MV. انتقل بعض موظفي B32 Software في Blue Ash إلى مكتب Transoft في أتلانتا، جورجيا. وانتقل موظفو الشركة في نيوزيلندا لتأسيس شركة Binary Research.

    للمزيد من المعلومات يمكنك زيارة صفحة ويكيبيديا المخصصة لـ B32 Business Basic.

  • ما هي أدوات التصحيح Debugging tools في Android Studio؟

    أدوات التصحيح Debugging tools في Android Studio هي مجموعة من الأدوات التي تساعد المطورين على تحليل وتصحيح الأخطاء والمشاكل التي تظهر خلال تطوير تطبيقات Android.

    تشتمل أدوات التصحيح Debugging tools في Android Studio على:

    1- Logcat: وهو أداة تسجل الأحداث والأخطاء التي تحدث في تطبيقك ويمكن الوصول إليها من خلال Android Studio.

    2- Debugger: وهو أداة تسمح للمطور بتحليل وتصحيح الأخطاء في التطبيق خطوة بخطوة.

    3- Profiler: وهو أداة لمراقبة أداء التطبيق وتحليل الاستخدام للعناصر المختلفة في التطبيق مثل الذاكرة والمعالجة.

    4- Network Profiler: وهو أداة لفحص المدخلات والمخرجات التي تتم عبر الشبكة للتطبيق.

    5- Layout Inspector: وهو أداة لفحص تصميم وإطارات التطبيق.

    6- APK Analyzer: وهو أداة لتحليل وفحص ملف APK لتحديد حجم التطبيق ومعرفة الملفات التي تحتوي عليها.

    7- Device File Explorer: وهو أداة للوصول إلى نظام الملفات لجهاز المحاكاة أو الجهاز المتصل.

  • ما هي مكونات أندرويد ستوديو؟

    أندرويد ستوديو يتضمن العديد من المكونات والأدوات التي تساعد في تطوير تطبيقات أندرويد ، وتشمل بين الأشياء الرئيسية :

    1. قاعدة بيانات أندرويد: SQLite Database.

    2. أدوات تصميم المستخدم: Android Layout Editor ، أدوات Design Editor ، و Framework ا ل librarie الخاص بُGoogle.

    3. أدوات التصحيح: Debugging Tools، AI-based error coach ، و Emulator

    4. المساعدات للمُطوّر: integrations with Firebase, or Google Cloud Platform الخدمات

    5. تتبع وتحليل الأداء: Profiling Tools ، built-in performance dashboard.

    6. الإِدارة الأساسية: الوحدة و Tests Runner، PC – based deployment و APK building .

    7. supporting programming languages : Kotlin, Java, C++ والأدوات الخاصة بها كلغة البرمجة .

    والعديد من الأدوات الأخرى التي تشملها المجموعة أيضًا.

  • ما هو Android NDK وكيف يستخدم في Android Studio؟

    Android NDK هو مجموعة من الأدوات التي تسمح للمطورين بكتابة وتصحيح التطبيقات لنظام التشغيل Android باستخدام لغات البرمجة المختلفة مثل C و C ++. يتم إستخدام Android NDK لتحسين الأداء وتحسين اداء التطبيقات التي تحتاج إلى استخدام مكتبات C ++ أو تقنيات أخرى التي لا تدعمها الطريقة التقليدية لكتابة تطبيقات Android باستخدام Java.

    يمكن استخدام Android NDK مع Android Studio بسهولة. لإضافة دعم Android NDK إلى Android Studio، يجب تثبيت وتكوين Android NDK SDK وملفات أدوات NDK على جهاز الكمبيوتر الخاص بك. بعد ذلك، يمكنك إضافة Android NDK إلى مشروع Android Studio الخاص بك بإضافة الإعدادات اللازمة في ملفات المشروع.

    بمجرد إضافة دعم Android NDK لمشروعك، يمكنك استخدامه لتجميل الأكواد C و C ++ التي كتبتها في مشروع Android Studio الخاص بك. كما يمكنك الانتقال إلى وضع التصحيح (debugging) الخاص ب NDK باستخدام Android Studio لتحليل وتصحيح الأخطاء التي تحدث في الأكواد C و C ++.

  • ما هي المراحل المختلفة لدورة التطوير؟

    هناك عدة مراحل لدورة التطوير، والتي تختلف من منهجية لأخرى ومن مشروع لآخر، ولكن هناك مجموعة من المراحل الأساسية والمشتركة في معظم الأساليب التطويرية وهي:

    1. التخطيط (Planning): يشمل هذه المرحلة جمع المتطلبات وتحديد الأهداف والمواعيد النهائية ووضع خطة عمل تشمل الموارد المتاحة والمهام والجدول الزمني.

    2. التحليل (Analysis): يهدف إلى فهم المشكلة التي يجب حلها وتحليل المتطلبات من خلال جمع المعلومات حول العملية المراد تطويرها.

    3. التصميم (Design): تهدف هذه المرحلة لإنشاء نموذج أولي للحل المقترح، والعمل على إخراج التصميمات والرسومات اللازمة وتحميل الخرائط.

    4. التطوير (Development): يشمل هذه المرحلة كتابة الشفرة البرمجية والتأكد من أن الحل يلبي المتطلبات المحددة في مرحلة التحليل.

    5. الاختبار والتحقق (Testing and Verification): يتم في هذه المرحلة اختبار الحل المقدم والتأكد من أنه يعمل بشكل صحيح وفقًا للمتطلبات المحددة.

    6. المراجعة (Review): يتم في هذه المرحلة اختبار الحل بعد الاختبار الأولي والتأكد من فعاليته واستجابته للاحتياجات الحالية.

    7. التصحيح (Debugging): في حالة وجود أخطاء أثناء الاختبار، يتم تحديد المشكلة وتصحيحها.

    8. التشغيل (Deployment): يتم في هذه المرحلة توصيل الحل المطور لتشغيله فعليًا في بيئة العميل.

    9. الصيانة (Maintenance): بعد التشغيل ، يتعين على فريق التطوير القيام بالصيانة وتحديث الحل بحيث يستمر في العمل بشكل فعال.