يمكنك الاستمرار بكتابة الشيفرة البرمجية لمشروعك بعد إضافة ملفات جديدة إلى المستودع، وعندما تريد حفظ تعديل (تعديلات) ما، يمكنك تنفيذ الأمر git add . لإدراج جميع الملفات المعدلة ثم كتابة الأمر git commit -m <commit message&…
قد تكون عملية ملء الذاكرة دون تحريرها (العملية المعروفة بتسريب الذاكرة memory leak) صعبة الحدوث بمستوى أمان الذاكرة الذي تقدمه لغة رست Rust، إلا أن حدوث هذا الأمر غير مستحيل، إذ لا تضمن رست منع تسريب الذاكرة بصورةٍ كاملة، وال…
تُعد قابلية التغيير الداخلي interior mutability نمط تصميم في رست يسمح لك بتغيير البيانات حتى في حالة وجود مراجع ثابتة immutable تشير لتلك البيانات، ولا تسمح قواعد الاستعارة بهذا الإجراء عادًة. يستخدم النمط شيفرة "unsafe" لتغي…
انتهينا في المقال السابق من إضافة تنسيقات CSS إلى قالب ووردبريس وفي مقال اليوم من سلسلة برمجة قوالب ووردبريس سنتعلم كيفية إضافة أكواد جافا سكريبت إلى قالبنا المخصص لتعزيزه بمميزات ووظائف إضافية وجعله أكثر ديناميكية.
هذا …
لا شك أن مواقع الانترنت قد باتت شيئًا أساسيًا في حياتنا، سواء الغرض كان تجاريًا بحيث يعبّر عن عمل تجاري خاص بك، أو حتى موقع شخصي مخصص لإنشاء portfolio أو CV مدونة. في كل الحالات سواء التي ذكرناها أو أكتر، فوجود مواقع الانترنت…
يتطلب أمان مواقع الويب اليقظة في جميع جوانب تصميم الموقع واستخدامه. لن يجعلك هذا المقال التمهيدي خبيرًا في أمان مواقع الويب، ولكنه سيساعدك على فهم مصدر الهجمات وما يمكنك فعله لتقوية تطبيق الويب ضد الهجمات الأكثر شيوعًا.
…
مبدأ الملكية ownership واضح في معظم الحالات، إذ تسمح لك الملكية بمعرفة أي متغير يملك قيمةً ما، ولكن هناك حالات تكون فيها القيمة الواحدة مملوكةً من أكثر من مالك، فمثلًا في شعبة هيكل البيانات graph data structure قد تؤشر العديد…
عند التعرف على موضوع جديد والقراءة عنه نبدأ عادة بالبحث عن تعريف يشرح ويوضح الصورة العامة له، ثم نكتشف مجموعة من المواضيع الأخرى الفرعية المتعلقة بالموضوع الأساسي، وعادة ما نبدأ البحث عبر الإنترنت عبر ويكيبيديا مثلًا، ونقرأ و…
أنظمة التحكم في الإصدار version control هي أدوات تسجّل جميع تغيرات الشيفرة المصدرية وتجعل من السهل استرداد الإصدارات القديمة من الشيفرات البرمجية، ويمكنك النظر إلى هذه الأدوات بكونها أدوات متطورة للتراجع عن فعل ما؛ فعلى سبيل …
يؤدي بناء الثنائيات أو الملفات التنفيذية Binaries جنبًا إلى جنب مع إنشاء البيانات الوصفية Metadata والمعلومات الأخرى المتعلقة بالإصدار Version عند نشر التطبيقات إلى تحسين عمليات المراقبة Monitoring والتسجيل Logging وتصحيح الأ…
انتهينا في المقال السابق إنشاء الملفات الأساسية لبرمجة قالب ووردبريس من سلسلة برمجة قالب ووردبريس من الصفر من مرحلة برمجة الملفات الأساسية لقالب ووردبريس المسؤولة عن تصميم الشكل العام للموقع وعرض المحتويات المطلوبة في ترويسة …
السمة الثانية المهمة لنمط المؤشرات الذكية smart pointer pattern هي السمة Drop، التي تسمح لك بتخصيص ماذا يحدث إذا كانت القيمة ستخرج من النطاق scope. يمكنك تأمين تنفيذ لسمة Drop على أي نوع، ويمكن استخدام هذه الشيفرة البرمجية لت…
تلميحات الأنواع هي موجّهات directives يمكن إضافتها في الشيفرة المصدرية لبايثون لتحديد أنواع البيانات للمتغيرات والمعاملات والقيم المُعادة، وهذا يسمح لأدوات تحليل الشيفرة الساكنة بالتأكد من أن الشيفرة الخاصة بك لا تُتسبب بأي ا…
بعد أن وضحنا أهم المعلومات الأساسية التي يجب على مطور قالب ووردبريس معرفتها قبل البدء في برمجة القوالب، سنبدأ في هذا المقال بشكل فعلي بإنشاء كافة الملفات المطلوبة لعمل القالب وبرمجتها باستخدام لغتي PHP و HTML.
هذا المقال…
نماذج اللغة الكبيرة (أو Large Language Models) هي نوع من نماذج الذكاء الاصطناعي التي تُدرّب على كمية كبيرة من النصوص لتستطيع بذلك توليد نصوص مشابهة لها، وهنا يأتي ChatGPT وهو نموذج لغة كبير دُرّب على محتوى كبير جدًا من الانتر…
يسمح لك تطبيق سمة Deref بتخصيص سلوك عامل التحصيل dereference operator * (انتبه عدم الخلط مع عامل عمليات الضرب أو عامل glob) يمكننا عند تطبيق deref بطريقة معينة تسمح بمعاملة المؤشرات الذكية smart pointers مثل مراجع نمطية، كتاب…
كثيرًا ما تصادف أغلبنا مشاكل معينة في موقع الويب، وعندما نسأل عن حل لها تكون الإجابة هي "أفرغ الكاش!"، لكن السؤال الفعلي هنا ما هو الكاش؟ وكيف يستخدم في مواقع الويب هذا ما سوف نقوم بالإجابة عنه في هذا الدرس.
إذا أر…
في مقال اليوم سنتحدث عن أهمية تطوير قالب ووردبريس مخصص ونوضح الخطوات الأساسية التي علينا اتباعها كي نحول قالب ووردبريس من تصميم أساسي مرسوم باستخدام فيجما يتضمن تخطيط وتموضع العناصر ضمن الموقع إلى قالب فعلي يمكن تثبيته على مو…
إن التعليقات comments والتوثيق documentation في الشيفرة المصدرية هي بأهمية الشيفرة البرمجية ذاتها، سبب ذلك هو أن عملية تطوير البرمجيات لا تنتهي أبدًا وتحتاج دائمًا للقيام بتغييرات، وذلك إما لإضافة ميّزات جديدة أو لإصلاح المشا…
عند تطوير البرمجيات من المهم الأخذ بالحسبان نوع نظام التشغيل الذي تبني التطبيق عليه والمعمارية التي ستُصرّف تطبيقك من أجلها إلى ملف ثنائي تنفيذي Binary، وتكون عملية تشغيل التطبيق على نظام تشغيل مختلف أو معمارية مختلفة غالبًا …