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

كل الأنشطة

تحدث تلقائيًا

  1. الساعة الماضية
  2. عليك امتلاك المهارات التي تؤهلك للعمل بهذه المجال كما ذكر في التعليق سابق ثما البحث عن عمل في مواقع العمل الحر كما مستقل يمكنك الدخول من هنا https://mostaql.com/ ثما البحث عن الوظائف التي تحمل الكلمه المفتاحيه مدخل بيانات او data entry وستظهر لك جميع المشاريع المشابه بالكلمات المفتاحيه التي كتبتها يمكنك اختيار مشروع مشابه لمهاراتك وكتابة عرض جيد وباذن الله يتم اختيارك بتوفيق
  3. اليوم
  4. حسنا سأوضح لك الصورة، أولا القسم الذي يشمل لغة SQL أقصى اليسار، تشمل هذه الفئة أنظمة قواعد البيانات التي تستخدم لغة الاستعلام الهيكلية (SQL) لإدارة وتعديل قواعد البيانات الرابطية (العلائقية). الأمثلة في الصورة هي Microsoft SQL Server و MySQL و Oracle و SQLite. وتعرف هذه بأنظمة إدارة قواعد البيانات الرابطية (RDBMS). القسم الأوسط وهو لغة NoSQL تشمل هذه الفئة أنظمة قواعد البيانات التي لا تستخدم SQL وهي مصممة لمعالجة البيانات غير المنظمة أو شبه المنظمة بكفاءة أكبر، الأمثلة في الصورة هي Cassandra و MongoDB و Redis. وتعرف هذه بقواعد بيانات NoSQL. أما عن الفرق الرئيسي بين SQL و RDBMS ف SQL هي عبارة عن لغة استعلام هيكلية وهي لغة البرمجة المعيارية المستخدمة لإدارة التفاعل مع قواعد البيانات الرابطية. وهي تتيح لنا إنشاء وتعديل واستعلام البيانات المخزنة في قاعدة بيانات رابطية. أما RDBMS فهو نظام إدارة قواعد البيانات الرابطية ويشير إلى البرنامج أو النظام الذي يوفر طريقة لإنشاء وإدارة واستخدام قواعد البيانات الرابطية. ويستخدم RDBMS لغة SQL للتفاعل مع قاعدة البيانات. لذلك، SQL هي اللغة، بينما RDBMS هو البرنامج أو النظام الذي ينفذ ويستخدم SQL لإدارة قواعد البيانات الرابطية. تظهر الصورة أيضا "Program TO Run RDBMS" مع أمثلة مثل phpMyAdmin و HeidiSQL، وهي أدوات واجهة مستخدم رسومية تستخدم للتفاعل وإدارة RDBMS مثل MySQL بسهولة أكبر.
  5. يُحدث خلط شائع بين لغة SQL ونظم إدارة قواعد البيانات العلائقية (RDBMS)، فعلى الرغم من ارتباطهما الوثيق، إلا أنهما مفهومان مختلفان. حيث أنّ لغة SQL (Structured Query Language)، لغة برمجة معيارية تُستخدم للتفاعل مع قواعد البيانات العلائقية، وتسمح بإنشاء الجداول، وإضافة البيانات، واستردادها، وتعديلها، وحذفها، تُستخدم لكتابة أوامر مثل SELECT و INSERT و UPDATE و DELETE، أي تُعتبر لغة إعلانية، حيث تصف ما تريدين فعله بالبيانات بدلاً من شرح كيفية القيام بذلك. بينما نظام إدارة قواعد البيانات العلائقية (RDBMS)، هو برنامج لإدارة وتنظيم البيانات في قاعدة بيانات علائقية يخزن البيانات في جداول مرتبطة ببعضها البعض من خلال علاقات محددة ويُنفذ قواعد معالجة البيانات وضمان اتساقها. و أنظمة إدارة قواعد البيانات العلائقية الشائعة هي MySQL و PostgreSQL و Oracle Database و Microsoft SQL Server. الأمر بحاجة إلى تفصيل ستجديه هنا:
  6. أهلاً لدي سؤال مالفرق بين لغة SQL و RDBMS؟ وارجوا توضيح هذه الصورة..
  7. قدمنا في مقال سابق مدخلًا إلى مفاهيم البرمجة كائنية التوجه في جافا سكريبت، وناقشنا مثالًا عن استخدام مبادئها لنمذجة مدرسين وطلاب في مدرسة. كما تحدثنا أيضًا عن إمكانية استخدام الكائنات المجردة prototype والدوال البانية constructor لتنفيذ نماذج مشابهة، والميزات المرتبطة بمفاهيم البرمجة غرضية التوجه التقليدية التي تقدمها جافا سكريبت. سنتوسع في شرح هذه الميزات في مقالنا، وعليك الانتباه إلى أن الميزات التي نشرحها ليست طريقة جديدة لدمج الكائنات classes، وأن الكائنات ستستخدم دائمًا كائنات prototype خلف الكواليس. وكل ما هنالك أنها وسيلة لتسهيل بناء سلسلة الكائنات prototype. ننصحك قبل أن تبدأ العمل معنا في هذه السلسلة أن تطلع على: أساسيات HTML. أساسيات عمل CSS أساسيات جافاسكريبت كما شرحناها في سلسلة المقالات السابقة. أساسيات البرمجة كائنية التوجه في جافا سكربت كما شرحناها في مقال أساسيات العمل مع الكائنات في جافاسكربت، ومقال الوراثة باستخدام الكائنات في جافاسكربت إضافة إلى مفاهيم أساسية في البرمجة كائنية التوجه. اﻷصناف والدوال البانية يمكن التصريح عن صنف باستخدام الكلمة المحجوزة new، إليك كيفية تعريف الصنف Personالذي تعاملنا معه في مقال سابق: class Person { name; constructor(name) { this.name = name; } introduceSelf() { console.log(`Hi! I'm ${this.name}`); } } تُصرّح الشيفرة السابقة صنفًا يُدعى person له: الخاصية name. دالة بانية لها معامل وحيد name ويُستخدم لتهيئة قيمة الخاصية name للكائن الجديد. تابع ()introduceSelf يمكنه اﻹشارة إلى خاصيات الكائن باستخدام التعليمة this. يُعد التصريح ;name في البداية اختياريًا يمكن الاستغناء عنه، إذ يُنشئ السطر ;this.name = name في الدالة البانية الخاصية name قبل تهيئتها. لكن التصريح عمومًا عن الخاصياتن يجعل الشيفرة أسهل قراءة، ويوّضح تمامًا الخاصيات التي يمتلكها الصنف. كما تستطيع أيضًا تهيئة الخاصية بقيمة افتراضية عند التصريح عنها على الشكل ; =name. عّرفت الدالة البانية باستخدام الكلمة المحجوزة constructor، وكما هو الحال عند تعريف الدالة البانية خارج الصنف،سيكون لها المهام التالية: إنشاء كائن جديد. ربط التعليمة this بالكائن الجديد كي تتمكن من استخدام هذه التعليمة في اﻹشارة إلى الكائن ضمن شيفرتها. تنفيذ شيفرة الدالة البانية. إعادة الكائن الجديد. وبالعودة إلى شيفرة التصريح عن الكائن السابق، تستطيع إنشاء واستخدام نسخة جديدة من الكائن Person كالتالي: const giles = new Person("Giles"); giles.introduceSelf(); // Hi! I'm Giles لاحظ كيف نستدعي الدالة البانية باستخدام اسم الصنف، وهو Personفي مثالنا. حذف الدالة البانية إن لم تكن هناك حاجة لتهيئة قيم الخاصيات، تستطيع إهمال الدالة البانية، وعندها ستُولَّد دالة بانية افتراضية: class Animal { sleep() { console.log("zzzzzzz"); } } const spot = new Animal(); spot.sleep(); // 'zzzzzzz' الوراثة Inheritance تسمح الوراثة بإنشاء علاقة تسلسلية بين الكائنات، حيث يمكن للكائنات الفرعية أو الأبناء sub classes وراثة الخاصيات والتوابع من الكائنات الأساسية أو الآباء base classes، وفي نفس الوقت يمكنها تعديلها أو إضافة خصائص جديدة. لنتعرف على كيفية تحقيق مفهوم الوراثة في جافا سكريبت، لذا دعونا نستخدم الصنفPerson السابق في تعريف كائن فرعي أو كائن ابن له باسمprofessor: class Professor extends Person { teaches; constructor(name, teaches) { super(name); this.teaches = teaches; } introduceSelf() { console.log( `My name is ${this.name}, and I will be your ${this.teaches} professor.`, ); } grade(paper) { const grade = Math.floor(Math.random() * (5 - 1) + 1); console.log(grade); } } نستخدم الكلمة المحجوزة extends للدالة إلى أن الصنف الجديد يرث صنفًا آخر. ويضيف الصنف Professor خاصية جديدة هي teaches لهذا نُصرّح عنها. وطالما أننا نريد تهيئة قيمة تلك الخاصية عندما ننشئ كائنًا جديدًا من الصنف Professor، لا بد من تعريف دالة بانية تأخذ معاملين هما name و teaches. وما تفعله الدالة البانية هنا، هو استدعاء الدالة البانية للصنف اﻷب باستخدام التابع ()super ممررة له المعامل name وستتكفل الدالة البانية للصنف اﻷب بضبط قيمة الخاصية name. وبعدها تهيئ الدالة البانية للصنف Professor قيمة الخاصية teaches. ملاحظة: إن كان على الدالة البانية للصنف الابن تهيئة أية قيم خاصة به، عليها أولًا التأكد من تهيئة قيم الصنف الأب لهذا الصنف من خلال استدعاء الدالة ()superوتمرير قيم أية معاملات تحتاجها. كما يتجاوز الكائن الابن التابع ()introduceSelf الخاص بالصنف اﻷب ويقدّم نسخته الخاصة، ويضيف التابع ()grade لتصحيح اﻷوراق (طبعًا في مثالنا يوزّع المدرّس علامات عشوائية على الأوراق). وهكذا سنتمكن اﻵن من إنشاء مدرسين جديد: const walsh = new Professor("Walsh", "Psychology"); walsh.introduceSelf(); // 'My name is Walsh, and I will be your Psychology professor' walsh.grade("my paper"); // some random grade التغليف Encapsulation لنرى أخيرًا كيف ننجز مفهوم التغليف في جافاسكريبت. فقد ناقشنا في مقال سابق كيف أردنا أن تكون الخاصية year للكائن Studentخاصّة، كي نتمكن من تغيير شروط التسجيل في دروس الرماية دون اﻹخلال بالشيفرة التي تستخدم الكائن Student. class Student extends Person { #year; constructor(name, year) { super(name); this.#year = year; } introduceSelf() { console.log(`Hi! I'm ${this.name}, and I'm in year ${this.#year}.`); } canStudyArchery() { return this.#year > 1; } } وما فعلناه في التصريح السابق عن الصنف، أننا جعلنا الخاصية year# خاصّة بالصنف، وهكذا سنتمكن من بناء كائن Student يستخدم الخاصية year# داخليًا، وسيعطي المتصفح رسالة خطأ إن حاولت شيفرة خارج الكائن الوصول إليها. const summers = new Student("Summers", 2); summers.introduceSelf(); // Hi! I'm Summers, and I'm in year 2. summers.canStudyArchery(); // true summers.#year; // SyntaxError ملاحظة: يمكن للشيفرة المكتوبة ضمن طرفية جافا سكريبت في المتصفح الوصول إلى الخاصيات الخاصة حتى لو كانت خارج الصنف. وهذا أمر خاص لتحرير أدوات مطوري ويب فقط من قيود الصياغة اللغوية لجافا سكريبت. إذًا ينبغي أن يبدأ اسم الخاصيات الخاصة بالمحرف # ويجب أن يُصرّح عنها داخل الصنف. التوابع الخاصة Private methods بإمكانك تحديد توابع أيضًا لتكون توابع خاصة بالصنف كما في الخاصيات، بحيث تكون تابعة للكائن نفسه ولا يمكن الوصول إليها من خارجه الدالة خاصة بالكائن نفسه، كما في الخاصيات ولا بد في هذه الحالة أن يبدأ اسم التابع بالمحرف # أيضًا، وعندها ستُستدعى فقط من قبل توابع هذا الصنف كما في المثال التالي: class Example { somePublicMethod() { this.#somePrivateMethod(); } #somePrivateMethod() { console.log("You called me?"); } } const myExample = new Example(); myExample.somePublicMethod(); // 'You called me?' myExample.#somePrivateMethod(); // SyntaxError الخلاصة ناقشنا في هذا المقال الأدوات التي تقدمها جافا سكريبت لكتابة الكائنات والتعامل معها في البرامج كائنية التوجه، وتجدر الإشارة إلى أننا لم نغطي كل النقاط المتعلقة بالموضوع في هذا المقال، لكن ما قدمناه سيكون كافيًا في البداية. ترجمة -وبتصرف- لمقال Classes in JavaScript اقرأ أيضًا المقال السابق: مفاهيم أساسية في البرمجة كائنية التوجه وتحقيقها في جافاسكريبت مدخل إلى جافاسكريبت كائنية التوجه (Object-Oriented JavaScript) لغة البرمجة بالكائنات Object-Oriented Programming برمجة الكائنات Objects في جافاسكريبت مختصر البرمجة كائنية التوجه OOP وتطبيقها في بايثون
  8. عنصر <div> نقوم باستخدامه لإنشاء قسم فارغ في صفحة الويب حيث يمكننا وضع أي عناصر HTML داخله، سواء نعمل مساحة داخله، أو لتجميع عناصر أخرى داخله، كما أنه يستخدم لتنظيم وتقسيم الصفحة إلى عدة أجزاء مثلا لغرض تنسيقها بلغة CSS، وهذا مثال بسيط يوضح الأمر: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>استخدام عنصر div</title> </head> <body> <div> <p>هذا نص داخل div.</p> </div> </body> </html> يمكنك الاطلاع أكثر من هنا: من خلال هذه المقالة في موسوعة حسوب: العنصر div و و
  9. لا بأس فالجميع كان يجد صعوبة في التعلم والفهم في بداياته، سأحاول شرح الاستيثاق بشكل واضح ومبسط، ال Authentication هو عبارة عن عملية تحقق من هوية المستخدم أو التأكد من أن المستخدم الذي يحاول الوصول إلى نظام أو تطبيق ما هو مالك الحساب المسجّل نفسه، في Laravel مثلا يتم توفير ميزات قوية للتعامل مع الاستيثاق بطريقة سهلة وآمنة. لتجربته نقوم بتثبيت وننشئ مشروعا جديدا، وننتقل على الطرفية إلى المسار المتواجد فيه المشروع ونكتب هذا الأمر عليه: composer create-project --prefer-dist laravel/laravel project-name ولتكوين قاعدة البيانات نفتح ملف `.env` الموجود في جذر المشروع ونقوم بتعديل إعدادات قاعدة البيانات بحيث تتوافق مع البيئة التي نعمل عليها، الخطوة التالية هي الأسهل والأمتع، وهي إنشاء جدول المستخدمين في قاعدة البيانات، أو ما يعرف بعملية التهجير، فقط من خلال هذا الأمر: php artisan migrate كما قلت ف Laravel يأتي مع قوالب جاهزة للتسجيل والتحقق من هوية المستخدم. لتثبيتها، نكتب الأمر التالي: php artisan make:auth تلك القوالب ستسهل علينا أعباء كثيرة كإنشاء الملفات الجديدة الخاصة بصفحات التسجيل وتسجيل الدخول وحتى إعادة تعيين كلمة المرور، وغيرها، في النهاية نشغل الخادم من خلال الأمر: php artisan serve
  10. إضافة للتعليق الذي سيقني فإنه من أجل الخروج من البيئة الافتراضية (venv) في VS Code، يجب أن تفتح الطرفية وتكتب هذا الأمر: deactivate في حالة ما كنت تعمل على الوينداوز. وفي حالة نظام لينكس أو ماك، استخدم هذا الأمر: source deactivate في حالة عملها ستلاحظ أن كلمة (venv) اختفت من بداية سطر الأوامر في الطرفية. أما لتغيير المسار في VS Code، يمكنك اتباع أحد الطريقتين التاليتين: إما من خلال النقر على اسم المجلد الحالي في شريط العناوين (Title Bar) في VS Code، ثم انقر على "Open" (فتح) واختيار المجلد المطلوب. أو من خلال فتح الطرفية (Terminal) وكتابة الأمر `cd` متبوعا بمسار المجلد المطلوب، ثم الضغط على Enter.
  11. أولاً ليس هناك مشكلة في متابعة الدورة حالياً أو بعد ذلك فالدورات تكون متاحة مدى الحياة وبالنسبة لطريقة التعلم فتختلف حسب كل شخص وما يجده مناسب له ولكن الأساس هو مشاهدة درس أو عدة دروس قصيرة نسبياً بتركيز مع التطبيق مع المدرب بشكل مستمر ويفضل تدوين بعض الأفكار والمفاهيم الأساسية لتذكر هذه المفاهيم لاحقاً وإذا واجهت أي مشكلة يمكنك إضافة تعليق أسفل الدرس وسيتم الإجابة عليك في أسرع وقت كما تم التوضيح في التعليق السابق ويفضل أيضاً الإطلاع على الإجابات التالية حيث توضح طريقة المذاكرة الجيدة
  12. ليس جيداً إطلاقاً التنقل بين لغات البرمجة أو التقنيات المختلفة بدون إتقان اللغة التي تعلمتها أو التقنية حيث أن اللغة التي تعلمتها أو ال stack يقوم بنفس المهمة ومع ذلك ال php و laravel ربما يكون أكثر طلباً نسبياً وذلك لا يعني أنه الأسهل للحصول على فرص عمل حيث تجد أن مبرمجي php أكثر من javascript كما أنه الكثير من المشاريع لا تتطلب مسار أو stack معين ولكل مسار فرص العمل المتاحة عليك فقط الصبر فأول مشروع ربما يكون الأصعب بعدها يصبح أسهل نسبياً يفضل الإطلاع على الإجابات التالية
  13. السلام عليكم ورحمة الله وبركاته للمرة تانيه علي توالي ممكن شرح Authentication اطلعت علي رابط مرفق لم أفهم شي
  14. <div> هو أشهر عنصر في لغة HTML لأنه يُستخدم لإنشاء قسم أو حاوية داخل مستند HTML، ولا يُؤثّر على محتوى أو تخطيط المستند بشكلٍ تلقائي، بل يتطلب استخدام لغة CSS لتصميمه وتحديد خصائصه، أي لتنظيم وتجميع أجزاء مختلفة من صفحة الويب وتجميع مجموعة من العناصر معاً وتطبيق تنسيقات وأنماط مشتركة عليها. ويستحوذ على كامل عرض المستند (الصفحة) بشكل إفتراضي لكونه عنصر من نوع Block. مثال لإنشاء قسم لعرض فقرة من النص: <div id="content"> <p>هذا هو محتوى الصفحة.</p> </div> ستجد تفصيل أكثر هنا:
  15. يبدو انك بتشتغل في virtual environment في بايثون، وده شائع جدًا ومفيد علشان تدير الاعتماديات والمكتبات لمشاريع بايثون المختلفة بشكل منفصل عن باقي النظام. البيئة الافتراضية اللي بتشتغل فيها مفعلة دلوقتي، وده السبب في ظهور (venv) قبل المسار في سطر الأوامر. كيفية الخروج من البيئة الافتراضية عشان تخرج من البيئة الافتراضية في نافذة الأوامر، يمكنك استخدام الأمر: deactivate لما تعمل الأمر ده، هتلاحظ أن (venv) اختفت من قدام المسار، وده يعني أنك خرجت من البيئة الافتراضية. تغيير المسار جوا سطر الأوامر لو حابب تغير المسار جوا نافذة الأوامر، ممكن تستخدم الأمر cd (Change Directory). مثال لتغيير المسار: cd C:\Users\L\Documents أكد أنك بتكتب المسار الصحيح اللي عايز تروح له. استخدام VS Code بكفاءة VS Code ده محرر نصوص قوي ممكن تحوله لبيئة تطوير متكاملة (IDE) لو استخدمت الإضافات والإعدادات. اهم النصايح علشان تستخدم VS Code بكفاءة أكتر: ثبت الإضافات المناسبة: ممكن تثبت إضافات زي Python (من Microsoft) علشان تحسن دعم بايثون. الإضافة دي بتوفر دعم للتصحيح، التلميحات أثناء الكتابة، ومميزات تانية كتير. هيأ البيئة الافتراضية: ممكن تهيء VS Code يتعرف لوحده على البيئة الافتراضية لو ضفت مسار البيئة الافتراضية لإعدادات المشروع. استخدم التصحيح (Debugging): VS Code عنده مميزات تصحيح قوية. ممكن تستخدم شباك "Run and Debug" علشان تصحح سكريبتات بايثون. الانتقال لـ PyCharm PyCharm ده IDE متكامل خصوصي لـ Python بيوفر ميزات متقدمة زي تحليل الكود، دعم إطارات العمل للويب زي Django و Flask، وأدوات لتطوير قواعد البيانات. الانتقال له ممكن يكون مفيد لو بتدور على بيئة أكتر تكامل وتخصص في Python.
  16. (venv) C:\Users\L\Desktop\python_project>pip list Package Version ------------------ -------- certifi 2024.2.2 charset-normalizer 3.3.2 idna 3.7 pip 24.0 requests 2.31.0 urllib3 2.2.1 (venv) C:\Users\L\Desktop\python_project>pip show requests Name: requests Version: 2.31.0 Summary: Python HTTP for Humans. Home-page: https://requests.readthedocs.io Author: Kenneth Reitz Author-email: me@kennethreitz.org License: Apache 2.0 Location: C:\Users\L\Desktop\python_project\venv\Lib\site-packages Requires: certifi, charset-normalizer, idna, urllib3 Required-by: (venv) C:\Users\L\Desktop\python_project> تظهر كلمة (venv) قبل المسار ولكنني لا أعلم كيف أخرج منها.. كما أنني حاولت تغغير المسار و لكنها استمرت بالظهور ملاحظة: أنا أعمل على vs code لأنني معتاد عيه .. ولكنني وجدت صعوبة في التعامل مع pyCharm كونهIDE و ليس text editor ولا أعرف اختصاراته سوف أستعمل pyCharm قريبا.. لكن هل يمكنك مساعدتي لأعتاد أيضا على vs code
  17. البارحة
  18. تقسيم النصوص باستخدام LangChain يمكن أن يتم من خلال عدة طرق سأحاول شرحها لك: يمكن أن نستخدم التقسيم الدلالي أو ما يعرف ب Semantic Segmentation وهذه العملية تتم من خلال تحسين تقسيم الملفات باستخدام تقسيم دلالي يعتمد على المعنى والسياق بدلا من القسمة العشوائية حيث في هذا السياق سيمكن تحديد نقاط محددة في النص تعبر عن بداية ونهاية كل فقرة بحيث يتم الاحتفاظ بالسياق الصحيح. كما يمكن اعتماد تقنيات تعلم الآلة مثل تعلم النصوص (NLP) للمساعدة في عملية تحديد الفقرات وتقسيم الملفات بناء على سياق النصوص. أو إن أردت فتوجد طريقة تعتمد استخدام وظائف التجزئة أو ما يعرف بال Chunking Functions التي تساعد في تقسيم النص إلى أجزاء أصغر بناء على عناصر محددة مثل الجمل أو الفقرات دون فقدان السياق. وآخر نقطة هي تقسيم النص بناء على العناصر الهيكلية فإذا كانت الملفات تحتوي على تنظيم هيكلي محدد مثل عناوين رئيسية وفرعية، يمكن استخدام هذه العناصر لتحديد نقاط التقسيم المناسبة.
  19. كل دورة منفصلة عن الدورة الأخرى، لكن المشترك هو أنّ المسار الأول من كل دورة متاح لك بشكل مجاني، تستطيع دراسة محتواه كما يحلو لك. ولمشاهدة باقي المحتوى الدورة يجب الإشتراك بها. ولتحديد الدورة المناسبة لك، عليك تحديد المجال الذي تريد التخصص به لترشيح الدورة المناسبة.
  20. السلام عليكم انا اشتركت في دورة علوم الحاسوب قبل سنتين ولم اكملها ، والآن عدت و وجدتها مازالت متاحه لي لكني وجدت ايضاً دورات اخرى متاحه لي واستطيع الدخول على محتواها مثل (دورة الدكاء الصناعي) . هل هي مدرجه تحت دورة علوم الحاسوب ام هي منفصله؟ وهل استطيع البدء بأي دورة ام هناك ترتيب معين أبدأ به؟
  21. مرحبا احمد . إن الدورة التى أنت مشترك بها هى دورة php بالأساس و يتم فيها شرح إطار عمل لارافيل ويتم التعمق فيه بكثرة و إنشاء عدة مشاريع من خلاله حيث أن لارافيل هو اطار العمل الأشهر القائم على php وهو متوفر بكثرة في سوق العمل سواء في الشركات او حتى العمل الحر لذلك يتم شرحه بتعمق في الدورة ويتم تحديثه دوريا حيث أن مطورين لارافيل يقومون بتطوريه وإنشاء اصدارات أحدث منه سنويا كذلك الأكاديمية هنا تواكب هذا التطور. أما بالنسبة لمسار وورد بريس فإنه يتم شرح الاساسيات فيه من حيث تطوير القوالب و تطوير و تطوير الإاضافات وأيضا إنشاء مشاريع عملية للتطبيق عليهم و بما أن وردبريس هو اطار عمل يقوم بانشاء نظام ادارة محتوى المواقع والمدونات وحتى المتاجر البسيطة فانه لن يخلو من الاساسيات التى يتم شرحها في هذا المسار في الدورة . أما بالنسبة للعمل الحر ستجد أن المطلوب بكثرة بالنسبة إلى وورد بريس فإنه سيكون إنشاء قوالب أو تطوير إضافات أو حتى تركيب قالب على الموقع واعتقد أن ما تم شرحه فى هذه الدورة سيكمنك من تنفيذ ذلك بسهولة . وأيضا ساقوم بتوصيل طلبك إلى الادارة والنظر إذا ما كان يحتاج المحتوى أى تطوير ام لا . شكرا لتفهمك وبالتوفيق ان شاء الله.
  22. مرحبا هل دورة وورد بريس لا تزال مصدر ممتاز لتعلم اطار العمل هذا؟ بحيث انها قديمة جدا، وهل هناك خطط لتحديثها؟ وشكرا.
  23. اولا بالنسبة لمشكلة السلة فيجب اولا اخفاء جزء السلة عند بداية تحميل الصفحة حيث نقوم بوضع سمة تسمى hidden الى العنصر الذى يحوى السلة ونقوم باعطائه الخاصية display: none !important; هكذا. .hidden { display: none !important; } ولاظهاره عند الضغط عليه ثم اخفاءه مره اخرى نستخدم الجافاسكريبت لفعل ذلك. حيث اولا نضع لعنصر السلة id يسمى my-cart حتى نستعمله فى جافا سكريبت . والان نقوم بتعريف متغيرين الاول يحوى الزر الخاص بفتح السلة والاخر هو عنصر السلة هكذا. const cart = document.getElementById('cart-btn') const my_cart = document.getElementById('my-cart'); والان نقوم بالاستماع الى الحدث الخاص click على زر السلة و عند الضغط عليه نقوم بحذف السمة hidden اذا كانت موجودة لاظهار السلة او وضع السمة hidden اذا لم تكن موجودة وذلك لاخفائها هكذا. cart.addEventListener('click', () => { my_cart.classList.toggle('hidden'); }); والان نضع حدث click على document حتى نقوم باغلاق السلة اذا تم الضغط فى اى مكان اخر وذلك للتسهيل على المستخدم وعدم اجباره على الضغط فقط على الزر لاخفاء السلة هكذا. document.addEventListener('click',(e)=>{ if( !(e.target.id == "cart-btn") && !my_cart.classList.contains('hidden')){ my_cart.classList.add('hidden'); } }) والان نقوم باستدعاء ملف الجافاسكريبت فى ملف index.html وايضا حذف زر السلة الاخر حيث يوجد زرين فى الكود . ولقد قمت بارفاق الملفات بعد تعديلها . اما بالنسبة تسجيل الدخول فان الامر ليس بتلك السهولة حيث ما قمت به الان هو فقط برمجة الواجهة الامامية اما تسجيل الدخول فيحتاج الى جزء الواجهة الخلفية والتعامل مع قواعد البيانات . ويمكنك عمل واجهة خلفية عن طريق استخدام لغة php او javascript مع اطار عمل express و nodejs . واذا لم يكن لديك اى خلفية عن تطوير الواجهات الخلفية فانصحك اولا بمذاكرة اللغة التى تريد العمل بها بداية من الاساسيات حتى يتسنى لك انشاء اى موقع كاملا script.js style.css index.html
  24. بشكل مجاني الأفضل حاليًا هي استضافة render و vercel (تدعم بايثون 3.9 فقط) أو fly.io أو يمكنك استخدام https://appliku.com/ لتسهيل العملية أكثر. وإذا أردت استضافة قاعدة بيانات بشكل منفصل فيوجد Supabase. ومدفوع، لديك Digital Ocean و aws وHostinger
  1. عرض المزيد
×
×
  • أضف...