اذهب إلى المحتوى

التصنيفات الفرعية

  1. 66
    مقالات البرمجة
  2. 43
    مقالات البرمجة
مما لا شك فيه أن الشيفرة التي تسبب توقف عمل البرنامج هي خاطئة حُكمًا، والسؤال: هل هذا النوع من الأعطال هو الدليل الوحيد على وجود مشاكل في البرنامج؟ بالطبع لا، فبعض الإشارات قد تدل على وجود أخطاء خفية أو على كون مقروئية الشيفر…
"المسألتان الأصعب في علم الحاسوب هما ثلاثة! اختيار الأسماء وحذف أو استبدال محتويات الذاكرة المخبئية cache invalidation وتجنب أخطاء التكرار المنطقية off-by-one" هي إحدى أقدم الدعابات البرمجية، المنسوبة إلى ليون بامبريك والمستو…
تُعَدّ البرمجة كائنية التوجه Object Oriented Programming -أو OOP اختصارًا- نمطًا من أنماط البرمجة التي يُكتَب فيها البرنامج على صورة كائنات تحتوي على خاصيات ومهام -أي دوال- فيمكن مثلًا التفكير في السيارة على أساس كائن، إذ يكو…
تعرفنا في المقال السابق قواعد تنسيق الشيفرات ودور المنسق Black في بايثون من هذه السلسلة على مفهوم تنسيق الشيفرة مبينين مجموعة من القواعد الواجب تطبيقها على الشيفرة المصدرية لمنحها مظهرًا معينًا. كما تعرفنا على منسِّق Black وه…
يعرَّف تنسيق الشيفرة بأنه تطبيق مجموعة من القواعد على الشيفرة المصدرية لمنحها مظهرًا معينًا. ورغم عدم أهمية تنسيق الشيفرة بالنسبة للحاسوب المُحلِّل للبرامج، إلا أنه أمر بالغ الأهمية من ناحية سهولة قراءة الشيفرة، وهذا ما يسهل …
تعرفنا في المقال السابق على مفهوم الدوال وكيف يمكن للمبرمج تعريف دوال مخصصة ولكن لا يحتاج المبرمج إلى تعريف كل الدوال بنفسه من الصفر بل توجد الكثير من الدوال المدمجة بالفعل في اللغة افتراضيًا تسمى Built-in Functions أي دوال م…
تُعَدّ الدوال Functions في لغات البرمجة كتلًا منظمةً من الشيفرة تؤدي مهامًا محددةً، ويمكن إعادة استخدامها في أيّ مكان في البرنامج، كما توفِّر للمبرمج طريقةً أفضل لتنظيم كتابته للبرامج، بحيث لا يُضطر إلى إعادة كتابة مهمة واحدة…
يُعَدّ اتخاذ القرار أحد المواضيع الأهم في هندسة البرمجيات، إذ يُستخدَم بصورة دائمة وضرورية في أيّ برنامج، في حين تُستخدَم جمل اتخاذ القرار لطرح سؤال ما، عبر المعامِلات التي تُستخدَم للموازنة التي ذكرناها في المقال السابق أنوا…
تعرفنا في مقال سابق من هذه السلسة على الأوامر الشائعة في نافذة سطر أوامر بايثون، وفيه عرّفنا مفهوم متغيرات البيئة وكيفية عرضها. ولعلّ أحد أهم هذه المتغيرات للفهم هو متغير المسار PATH، لدوره المحوري في كيفية تعامل نافذة س…
يعتقد الكثير من المبرمجين المبتدئين أن استخدام واجهة سطر الأوامر أمر معقد، ما يجعله حكرًا على المحترفين، وهو اعتقاد مغلوط، إذ لا بدّ من التعامل مع واجهة سطر الأوامر بدءًا من مرحلة إعداد بيئة بايثون، وصولًا إلى تشغيل مرحلة الب…
مع نهاية المقال السابق من هذه السلسلة حول كيفية التعامل مع الملفات والمسارات في بايثون، يجب أن تكون قد بنيت تصورًا حول نظام الملفات وبالتالي كيفية التعامل مع المسارات في بايثون، الأمر الضروري لمساعدتك في إدارة حاسوبك للمضي في…
بدأنا هذه السلسلة بمقال عن كيفية التعامل مع رسائل الأخطاء في بايثون وسنتابع الحديث في هذا المقال عن كيفية التعامل مع الملفات والمسارات في بايثون. وبايثون هي لغة برمجة عالية المستوى، وتفاعلية وكائنية. وتتمتع بمقروئية عالية، إذ…
تعرفنا في المقال السابق على كيفية التعامل مع رسائل الأخطاء في بايثون وعلى الطرق المساعدة في فهم فحواها وإيجاد مسببات ظهورها، وذلك من خلال الاستعانة بمتتبع الأخطاء لتحديد مصدر الخطأ أو باستخدام منقح صياغة لتلافي وقوع أخطاء ما …
تعد بايثون Python إحدى أشهر لغات البرمجة وأكثرها استخدامًا، وهي خيار ممتاز ليبدأ به المبرمجون المبتدئون، إذ يمكن استخدامها في معظم المجالات، بدءًا من ألعاب الفيديو، وحتى تحليل البيانات والتعلم الآلي. بايثون هي لغة برمجة …
تُعد SQLite قاعدة بيانات SQL قائمة بحد ذاتها self-contained، ومعتمدة على الملفات file-based، وهي مُضمّنة في بايثون افتراضيًا، إذ من الممكن استخدامها في أي من تطبيقات بايثون دون الحاجة لتثبيت أي برمجيات إضافية. سنتعرف في …
وصلنا الآن إلى نهاية سلسلة مقالات NumPy، ونأمل أن تكون أدركت أهمية مكتبة NumPy وأنها مكتبة قوية ومتعددة الاستخدامات. وبنفس الوقت تذكر أن لغة بايثون هي لغة قوية جدًا، وقد تكون في بعض الحالات المحددة أقوى من NumPy. لنفكر ع…
سنبدأ في هذا المقال من سلسلة برمجة الذكاء الاصطناعي في تعلم أساسيات لغة بايثون، وهي من أهم لغات البرمجة على الإطلاق المستخدمة في مجال الذكاء الاصطناعي، ولكنها ليست لذلك فقط؛ إذ تُستعمَل لغة بايثون في كثير من المجالات الأخرى م…
تتمثل إحدى نقاط قوة مكتبة NumPy في إمكانية استخدامها لبناء كائنات جديدة أو لتصنيف كائن ndarray إلى صنف فرعي. هذه العملية السابقة مملة بعض الشيء ولكنها تستحق الجهد لأنها تسمح لك بتحسين كائن ndarray ليناسب مشكلتك. سندرس في…
يعد الاعتماد على المتجهات في المشاكل أصعب بكثير من متجهات الشيفرات لأنه يعني أنه يتعين عليك إعادة التفكير في مشكلتك من أجل جعلها معتمدة على المتجهات vectorizable، وهذا يعني غالبًا أن عليك استخدام خوارزمية مختلفة لحل مشكلتك، أ…
يُقصد باستخدام المتجهات vectorization في الشيفرة أن المشكلة التي تحاول حلها قابلةٌ للتحليل بطبيعتها ولا تتطلب سوى استخدام بعض الحيل لجعلها أسرع، وهذا لا يعني أن الأمر سهل أو مباشر، ولكنه على الأقل لا يستلزم إعادة التفكير في ك…
×
×
  • أضف...