كل الأنشطة
- الساعة الماضية
-
Amal Assad اشترك بالأكاديمية
-
مصطفى محمد43 اشترك بالأكاديمية
- اليوم
-
Sattuf Muhammed Hayr اشترك بالأكاديمية
-
عاصم المسعود اشترك بالأكاديمية
-
Abdulaziz Qaid اشترك بالأكاديمية
-
Mohamed Abduo اشترك بالأكاديمية
-
مصطفى السيد محمد عبد الجيدإبراهيم اشترك بالأكاديمية
-
Ahmed Slam اشترك بالأكاديمية
-
Bachir Dehbi اشترك بالأكاديمية
-
مروة المصري2 اشترك بالأكاديمية
-
واصفات حاسوبي كالتالي : RAM 8GB CPU : I5-4300M 2.60GHZ GRAPHIC CARD INTEL HD 4600
-
وعليكم السلام ورحمة الله تعالى وبركاته، لا تحتاج لإنشاء صفحة منفصلة للبحث يمكنك استخدام نفس صفحة المؤلفين مع إضافة معامل بحث اختياري في ال Controller مثل: ?search=keyword وعند وجود قيمة بحث تفلتر البيانات من ال Model وترسلها لنفس ال View وإن لم يوجد معامل بحث تعرض كل المؤلفين وهذا سيوفر عليك تكرار الكود ويحافظ على نفس التصميم. في حال كان سؤالك متعلقا بإحدى الدروس في الدورة أرجو نقله أو في المرة القادمة طرحه أسفل الدرس فهنا نجيب فقط على الأسئلة العامة الغير متعلقة بدروس الأكاديمية.
-
السلام عليكم ورحمة الله، ال Controller هنا يستقبل البيانات من View ويقوم بالتحقق الأساسي منها مثل التأكد من أن الحقول ليست فارغة أو الصيغة صحيحة وتنظيفها من خلال ال Sanitization ثم يمررها إلى Model الذي يتولى التحقق المنطقي الأعمق (Business Validation) مثل التأكد من عدم تكرار البيانات في قاعدة البيانات أو تطبيق قواعد العمل المعقدة. وفي الكود خاصتك يمكنك ملاحظة أنّ دالة validateTextInputs تنتمي لل Controller لأنها تتحقق فقط من وجود البيانات (empty checks) وهو تحقق أساسي من الإدخال أما لو كان التحقق يتطلب معرفة بحالة النظام أو قواعد عمل معقدة مثل التحقق من وجود كتاب بنفس الاسم فهذا يكون في ال Model.
-
السلام عليكم عندي سؤال بخصوص controller في نمط MVC هل الكنتروللر هو السؤال عن التحقق ومعالجة البيانات مثل التنظيف التعقيم للبيانات الاتية من view بعد ذالك تذهب الى model . او model هو ياخذ البيانات من الكنترولرر ويقوم بمعالجة البيانات والتحقق منها مثلا : private function validateTextInputs($bookName, $description, $language, $file_type) { if (empty($bookName)) { return ['hasInputEmpty' => 'يرجاء كتابة اسم الكتاب']; } if (empty($description)) { return ['hasInputEmpty' => 'يرجاءإدخال وصف الكتاب']; } if (empty($language)) { return ['hasInputEmpty' => 'يرجاء تحدد اللغة']; } if (empty($file_type)) { return ['hasInputEmpty' => 'يرجاء تحدد نوع الملف']; } return null; }
- 1 جواب
-
- 1
-
-
السلام عليكم عندي في الموقع صفحة تعرض المؤلفين في نموذج بحث في الصفحة في حال عملية البحث هل انقل البيانات الصفحة بحث خاصة في المؤلفين علماً بان صفحة البحث بتكون مشابهه الي صفحة المؤلفين الرئيسية , هل يوجد اختصار مثلاً او اسوي صفحة بحث ؟ وشكراُ ملاحظة: اشتغل على مشروع بنمط MVC
- 1 جواب
-
- 1
-
-
بسبب بيئة AttackBox وهي البيئة الافتراضية داخل المتصفح والتي تعتمد على بث الفيديو إليك، بمعنى تتصل بحاسوب عن بُعد وبه نظام أبونتو كالتالي: وذلك يستهلك موارد الشبكة ويسبب بطئ، في حال الإنترنت لديك غير جيد أي السرعة بطيئة، أو في حال مواصفات الحاسوب منخفضة، وأحيانًا يكون السيرفر الذي تم تعيينه لك مزدحم، فقم بتجربة إغلاق الـ Machine والانتظار دقيقة ثم تشغيلها مرة أخرى للحصول على سيرفر جديد. أو بدلاً من استخدام الـ AttackBox، قم بتثبيت وتشغيل نظام Kali Linux على حاسوبك أنت واربطه بسيرفرات TryHackMe، لكن قبل شرح الخطوات، ما هي مواصفات حاسوبك؟ للتأكد من أنها تناسب تثبيت ثانوي بجانب ويندوز عن طريق مشغل أنظمة وهمية مثل VirtualBox أو VMware. ابحث عن system information في شريط البحث في الويندوز وتفقد المواصفات.
- 2 اجابة
-
- 1
-
- البارحة
-
Husam Laraj بدأ بمتابعة بطء اداء الحاسوب في موقع try hackme
-
السلام عليكم , اردت تجربة احدى الكورسات التفاعلية للامن السيبراني في موقع try hackme لكن عند تشغيل البيئة الافتراضية يصبح الاداء بطيء جدا و لا استطيع انجاز اي شيء هل هنالك حل ؟ و شكرا مسبقا
- 2 اجابة
-
- 1
-
-
فهمتك فهمتك , سأقوم بالتمكن من لغة JS وبعدها Node ثم ادخل على تعلم الاطار وهل أسعار هذه البرامج بتكون كويسه أم اسعارها قليله , مثال اريد أن اصمم برنامج لمتجر يبيع منتجات وهكذا واريد ان اسجل على البرنامج المنتجات وطريقه ادخال المنتجات تكون بجاهز ماسح ضوئي يصور الباركود ويسجل المنتج وهكذا كم يكون سعر تطبيق كهذا
-
نعم هذا المسار كافي لتعلم أساسيات Electron بالفعل وتستطيع إنشاء تطبيقات متوسطة وبسيطة من خلاله وتعتمد على قواعد البيانات وغيرها من المميزات ولكن بالطبع لإنشاء تطبيقات كبيرة الحجم سيتوجب عليك التعمق أكثر فيه والبحث في التوثيقات الرسمية . ونعم ستحتاج إلى أساسيات HTML CSS JS للبدأ فيه ولكن لتصبح قويا فيه سيتوجب عليك أن تكون لديك الخبرة الكافية بهم. يمكنك مشاهدة المدخل الخاص بالمسار وستفهم أكثر ما أقوله . بالفعل سيتم تشغيل التطبيقات على أجهزة ال pc أنا أقصد أن الواجهة تشبه صفحة الويب أى انك تقوم بكتابة كود HTML و CSS وإطار العمل يقوم بتحويلها إلى تطبيق سطح مكتب.
- 4 اجابة
-
- 1
-
-
ستحتاج إلى معرفة جيدة بأساسيات HTML و CSS وإذا أردت تصميم برامج ذات واجهات إحترافية فسيتوجب عليك أن تكون متمكناً منهم لأن Electron يعتمد على تحويل صفحات الويب إلى تطبيق سطح مكتب . وأيضا ستحتاج أن تكون جيدا أيضا في JavaScript و Node.js . ونعم بالطبع تستطيع إنشاء تطبيقات سطح مكتب وبيعها إلى أى شخص ولكن يجب عليك معرفة أن Electron كما وضحت لك يعتمد على تحويل صفحات الويب إلى تطبيق سطح مكتب أى كما أنك تفتح موقع ويب ولكن بداخل تطبيق.
-
ما الذي احتاجه كي ادخل في مسار Electron.js كي اصمم تبطيقات سطح مكتب ، وهل هذا المسار كافي ليجعلني اصمم تطبيقات سطح مكتب وابيعها للمتاجر وهكذا ام لا ؟
- 4 اجابة
-
- 1
-
- آخر أسبوع
-
السلام عليكم ورحمة الله تعالى وبركاته، الخيار الأفضل هو البدء بالهندسة الكهربائية ثم ماجستير الذكاء الاصطناعي والسبب بسيط لأنّ الميكاترونكس يقوم على دمج الإلكترونيات والتحكم الآلي والبرمجة والهندسة الكهربائية ستمنحك أساسا صلبا في الجانبين الأهم وهما الهاردوير والتحكم الذي لا يمكن تعويضه لاحقا بسهولة فستتعلمين الدوائر والإلكترونيات والمتحكمات الدقيقة وأنظمة التحكم والأنظمة المدمجة عمليا في المختبرات. بعد ذلك ماجستير الذكاء الاصطناعي سيضيف البعد الذكي والعصري لمهاراتك الهندسية مما يجعلك قادرة على تصميم أنظمة ميكاترونية ذكية كالروبوتات. أما العكس فسيجعلك تبدئين بالجانب البرمجي دون أساس هندسي كاف وقد تواجهين فجوات معرفية عند دراسة الكهرباء في الماجستير لأن برامج التحكم الآلي تفترض وجود خلفية قوية من البكالوريوس. لذا نصيحتي أنه ومن خلال البكالوريوس أن تقومي بالتركيز على المواد الاختيارية في الروبوتات والأنظمة المدمجة والبرمجة والمشاركة في مشاريع عملية تجمع الإلكترونيات بالبرمجة ثم في الماجستير يمكنك أن تطبّقي الذكاء الاصطناعي على الأنظمة الذكية والروبوتات.
- 2 اجابة
-
- 1
-
-
لا مشكلة تستطيعي المتابعة من خلال الإصدار الأحدث، لكن الأفضل المتابعة بنفس إصدار بايثون المستخدم في الشرح لتجنب تعارض الإصدار مع إصدارات المكتبات المستخدمة بالدورة، وتستطيعي تثبيت 3.11 من هنا: https://www.python.org/ftp/python/3.11.6/python-3.11.6-amd64.exe وفيما بعد ستجدين أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم أسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
- 1 جواب
-
- 1
-
-
في البداية الحفظ والاستيعاب مهمان، فمثلاً يجب حفظ كيف تقوم بكتابة حلقة تكرارية for وتستوعب آلية عملها وكيف نستخدمها، ولا مشكلة بعد ذلك لو نسيت بعض الأمور، وسيتثبت لديك ما تستخدمه بكثرة في المشاريع وتستطيع البحث عن بقية الأمور لأنك مستوعب لها. هناك فارق كبير بين أنك نسيت المعلومة مثل طريقة كتابة الـ syntax أو اسم دالة معينة مثلاً، وبين أنك لا تستطيع التنفيذ والتطبيق العملي وغير متذكر للخواص والدوال وإمكانيات اللغة البرمجية. فالجميع ينسى لا مشكلة في ذلك، الفكرة هي أنك مستوعب وقادر على التنفيذ فور البحث عما تريده حيث أنك متذكر أن هناك أمر معين في اللغة أو الإطار يقوم بذلك وهكذا. إذن النقطة الأهم هي الاستيعاب، فتطبيق بدون استيعاب يعني أنك لم تقم بالتطبيق من الأساس، في بداية التعلم الحفظ والاستيعاب مهمين لكن الأهم هو الأخير، فبدونه لا فائدة من الأول. لذا عند التطبيق اسأل نفسك، هل أنا متفهم لما أقوم به أم أنا اكتب خلف الشرح ليس أكثر؟ هل عند إيقاف الدرس ومحاولة تطبيق ما جاء به من البداية بمفردك ستتمكن من ذلك؟ وفي الحقيقة التطبيق مع الشرح ليس مفيد كثيرًا فيجب إيقاف الدرس ثم تطبيق ما جاء به بمفردك، ولو كان التنفيذ طويل قسمه إلى أجزاء، وليس نقل الكود من الدرس. وكل شخص له أسلوب يُناسبه في الدراسة، لكن المهم هو تجنب المشاهدة السلبية وتخصيص وقت أكبر للتطبيق العملي، فالبرمجة عبارة عن تفكير منطقي لحل مشكلة ثم تنفيذ ذلك من خلال كتابة الكود. بالنسبة لطريقة الدراسة البعض يُفضل كتابة مُلخصات لكل شيء، لكن لا أنصحك بذلك، اكتفي فقط بكتابة ملاحظات ومُلخصات ورسومات للأمور النظرية أو معلومة معينة تريد الإحتفاظ بها للعودة إليها للمراجعة. بينما البرمجة نفسها اكتفي بالتطبيق العملي فهو الأهم وبدونه فلا معنى للمُلخصات النظرية مهما كتبت، ببساطة لن تستطيع قيادة سيارة بمشاهدة فيديو صحيح؟ وحاول تجنب الإنقطاعات المتكررة خاصًة في البداية، حاول الدراسة بإنتظام بحد أدنى ساعتين يوميًا أو شبه يومي. ستجد تفصيل هنا:
- 3 اجابة
-
- 1
-
-
بدون الخوض في تفاصيل من شأنها إحباطك، مسألة الرزق أمر ثابت وغير قابل للشك بالنسبة للجميع، لذا كل ما عليك هو السعي، في حال ليس لديك شيء آخر تفعله غير البرمجة، فلا تشتت نفسك وركز تفكيرك على التعلم ولا تشغل بالك بأي أمر آخر. سبب ازدحام تخصص الواجهة الأمامية بنسبة كبيرة هو سهولة البدء من خلاله، بسبب السهولة النسبية في تعلم HTML, CSS, JS ولا أقصد احترافهم فذلك أمر آخر. بينما مجال مثل الواجهة الخلفية أو مجال تطوير تطبيقات الهاتف ليس بتلك السهولة، وذلك ما أنصحك به في الوقت الحالي والإختيار عائد لك، لكن في البداية ستحتاج إلى أن تكون Full-stack أي قادر على تنفيذ المشروع بشكل كامل بنفسك لزيادة فرص قبولك. أيضًا هناك مجالات أخرى كالذكاء الاصطناعي، الأمن السيبراني والحوسبة السحابية.
- 2 اجابة
-
- 1
-
-
ما الغرض من تعلم الواجهة الخلفية؟ هل لتنفيذ مشروع خاص بكِ أم لدخول سوق العمل؟ في حال لدخول سوق العمل فيجب إجراء بحث واستكشاف اللغات والتقنيات المطلوبة في سوق العمل في بلدك بالنسبة لوظيفة مطور واجهة خلفية ثم تعلم المطلوب وليس البدء في تعلم لغة مثل بايثون دون إجراء بحث. وعامًة الواجهة الخلفية ليس لها علاقة بالواجهة الأمامية، تستطيعين تعلم أحدهم دونّ الآخر، لكن سوق العمل يتطلب أن تتعلمي كلاهما أي مطور Full-stack. ولو أردتي التعلم من خلال لغة بايثون، فالواجهة الخلفية تتم من خلال إطار جانغو بالنسبة للمشاريع المتوسطة والكبيرة، وإطار فلاسك أو fast API للمشاريع الصغيرة.
-
أنت حاليًا في مرحلة انتقالية مهمة لأنك تجاوزت الأساسيات وتدخل في بناء الأنظمة، ومشروع Social Media صعب وليس برمجياً فقط، بل معماريًا بسبب العلاقات المعقدة في قاعدة البيانات وكذلك الخوارزمية اللازمة لمنطق صفحة الـ News Feed. ابدأ من خلال مشروع نظام تتبع طلبات مطعم يحاكي أنظمة مثل Uber Eats أو طلبات المطاعم الداخلية. المطلوب واجهة للعميل للطلب، واجهة للمطبخ وواجهة للكاشير، وهو أسهل من مشروع Social Media لأنّ دورة حياة البيانات محددة (طلب ثم قيد التحضير ثم جاهز ثم تم التسليم). وبالنسبة للـ Real-Time فهنا التحدي، المطلوب عندما يطلب العميل، يجب أن يظهر الطلب في شاشة المطبخ فورًا بصوت تنبيه، ثم عند تغيير الطباخ الحالة لجاهز، يظهر إشعار عند العميل في الحال. وسيتعين عليك التفكير في إدارة الأدوار والصلاحيات أي كيف تمنع العميل من رؤية شاشة المطبخ؟ وإليك مصطلحات للبحث عنها كمساعدة، Role-Based Access Control (RBAC), Live Notifications, Sound Handling in React.
-
عليك بالجمع بين النوعين من خلال تخصيص Serial Integer ليكون Primary Key الداخلي مع إنشاء حقل إضافي من نوع UUID للاستخدام في الروابط الخارجية URLs،لتحسين أداء العمليات المتعلقة بالفهرسة وسرعة الربط بين الجداول Joins، وبذلك يتميز فيه الرقم المتسلسل بكونه يشغل مساحة تخزينية أقل داخل الذاكرة مقارنة بالمعرفات الطويلة، وتوفير طبقة أمنية تحمي البيانات من هجمات التخمين التي قد تحدث في حال كانت المعرفات متسلسلة في الواجهة العامة. أي دالة تستقبل UUID من طلب الـ HTTP ثم تقوم بالاستعلام عن السجل المرتبط به، والذي يمكن تحسينه من خلال عمل Caching للمفتاح المتسلسل المقابل لذلك الـ UUID لتقليل ضغط الاستعلامات المتكررة. أيضًا ستتمكن من تغيير المعرفات العامة مستقبلاً دون التأثير على العلاقات الداخلية بين الجداول. وللعلم هناك إصدار جديد UUID v7 يجمع بين الزمن Timestampوبين العشوائية، أي متسلسلاً بطبعه، ولو استخدمت ذلك الإصدار فتستطيع الإعتماد عليه كـ Primary Key وحيد مباشرة دون الحاجة لـ Serial ID، لأنه يحل مشكلة بطء الفهرسة التي كانت موجودة في UUID v4 القديم.
- 3 اجابة
-
- 1
-
-
طبيعة تخصص ميكاترونكس تتطلب تكامل دقيق بين المكونات المادية والأنظمة البرمجية الذكية، لذا الأفضل دراسة مسار Electrical Engineering لأنّ الهندسة الكهربائية ستوفر لكِ الأساس الفيزيائي والرياضي العميق لفهم الدوائر الإلكترونية وأنظمة التحكم الآلي Automatic Control والتي تمثل أساس أي نظام ميكانيكي متحرك، وستتمكنين من استيعاب مفاهيم الإشارات والأنظمة وتصميم المعالجات الدقيقة Embedded Systems بشكل يصعب تعويضه لاحقًا في الماجستير في حال كان التخصص الأساسي برمجي بحت. ثم تأتي مرحلة الماجستير فيما بعد في الذكاء الاصطناعي لتعلم مهارات تحليل البيانات وبناء شبكات عصبية وتطوير خوارزميات التعلم الآلي وبذلك تمتلكين القدرة على تصميم الآلة وأيضًا منحها الذكاء الكافي للعمل بشكل مستقل، فالمهندس الذي يفهم خصائص الحساسات والمشغلات الميكانيكية يكون أقدر على توظيف خوارزميات الذكاء الاصطناعي لتحقيق استجابة دقيقة وسريعة في البيئة الفيزيائية المحيطة.
- 2 اجابة
-
- 1
-
-
السلام عليكم لطالما شعرت أني أنتمي للميكاترونكس ومؤخرا اكتشفت ان هذا التخصص غير متوفر, وبصراحة أنا لا أرغب أن أستسلم بعد وبحثت عن اكثر تخصصين متوفرات ومشابهات للميكاترونكس من رأيكم أن أدرس بكالوريوس ذكاء اصطناعي ثم ماجستير هندسة كهرباء قسم تحكم آلي ,أم العكس هندسة كهربائية ثم ماجستير ذكاء اصطناعي؟
- 2 اجابة
-
- 2
-
-
الأمر ليس بتلك السهولة، يوجد مجتمع قائم بالفعل للمطورين في مختلف منصات التواصل الإجتماعي مثل منصة x.com أي تويتر سابقًا، لكن التركيز الخاص بالمنصة ليس مُنصب على المطورين فقط بل هي منصة تواصل عامة. لذا مشروعك جيد بشرط التخصيص والتركيز على الإحتياج الأهم، أي لا تجعل الدردشة هي المنتج الأساسي، بل اجعل تقييم المشاريع هو الأساس لجذب المستخدمين الباحثين عن تطوير مهاراتهم. وقم بتطوير أدوات مجانية لفحص الكود وتوفير تقييم لجذب الزيارات قبل تكوين المجتمع. وتجنب مشكلة الغرف الفارغة والتي تعطي إنطباع سئ عبر جدولة فعاليات دردشة حية خلال ساعات ذروة وربط النقاشات مباشرة بسياق الكود. وابنِ نظام سمعة مهنية يمنح المطورين شارات ونقاط بناءًا على جودة مساعدتهم للآخرين، لخلق بيئة تكافلية. وفيما بعد اعتمد على نماذج مثل المراجعات المدفوعة من الخبراء وبيع بيانات التوظيف للشركات، بدلاً من الاعتماد على الإعلانات فقط.
-
نعتذر لك عن أي إنزعاج واجهته أثناء تواجدك بالأكاديمية، بخصوص مُشغل الفيديو فقد تم ذكر أنه يتم العمل على مُشغل مُخصص بالفعل مع ميزات أفضل. وبخصوص متابعة تقدمك بالدورة، ففي الوقت الحالي تستطيع استخدام قالب notion التالي من أجل تنظيم ومتابعة تقدمك الدراسي بالدورات: Course Planner, Schedule & Learning Progress ستقوم بتعديل أسماءء الـ topics بأسماء المسارات الخاصة بالدورة هنا، ثم إضافة الدروس وعند الإنتهاء من درس تُحدده كمُنتهي. أو تستطيع استخدام google keep أو Todoist لتنفيذ نفس الأمر.
-
من حيث جودة التصميم فالموقع جيد جدًا، بالنسبة للأداء، فهناك مشكلة في حجم الصور، وبالأخص في قسم المشاريع، حجم الصور كبير، لذا عليك تعديل الصيغة لجميع الوصور إلى WebP. كذلك يوجد مشكلة في التنقل بين الصفحات، قم بالتوجه إلى أي صفحة ولتكن صفحة المشاريع ثم تنفيذ تحديث للصفحة سيظهر لك خطأ Page Not Found. وللتوضيح عند التتنقل داخل الموقع بالضغط على الأزرار، تتولى مكتبة React Router عملية التنقل دون تحميل الصفحة من الخادم، بالضغط على زر تحديث وأنت في صفحة /about مثلاً، يقوم المتصفح بطلب ملف اسمه about من سيرفر Netlify، ولكن الملف غير موجود فعليًا لأن موقعك كله عبارة عن ملف index.html واحد، فيظهر خطأ 404. لذا في مجلد public داخل المشروع أنشئ ملف جديد باسم: _redirects ويجب أن يبدأ الاسم بـ Underscore بدون أي صيغة، أي ليس .txt أو .html، فقط redirects_ وافتح الملف واكتب فيه السطر التالي فقط: /* /index.html 200 والحل السابق متعلق باستضافة Netlify، لكن الاستضافات الأخرى لها حل مختلف، بمعنى استضافات shared hosting مثل GoDaddy وخلافه تعتمد على خادم Apache، وهنا يجب إنشاء ملف باسم htaccess. داخل المجلد الذي يحتوي على ملفات الموقع وهو public_html، وضع به الكود التالي: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] </IfModule>
- 1 جواب
-
- 1
-
