كل الأنشطة
- الساعة الماضية
-
Mariam Shawkat اشترك بالأكاديمية
-
Mohamed Omar محمد عمر اشترك بالأكاديمية
- اليوم
-
Sssa Sa اشترك بالأكاديمية
-
Aysel Stor اشترك بالأكاديمية
-
Alessa Alkhayer اشترك بالأكاديمية
-
user-6962c8067ea277.52956108 اشترك بالأكاديمية
-
Abdou Hafnawi اشترك بالأكاديمية
-
Eman Alsayed اشترك بالأكاديمية
-
ريتال محمد2 اشترك بالأكاديمية
-
Shady Ragab اشترك بالأكاديمية
-
هل أنت مشترك بدورة الذكاء الإصطناعي هنا في الأكاديمية ؟ إذا كنت مشترك بها بالفعل فهي كافية لك للبدأ في هذا المجال ويمكنك دراسة الدورة بالترتيب الموجود بها فقد تم تصميم الدورات هنا في الأكاديمية لتناسب جميع الطلاب حيث يتم التدرج في المستوى والمحتوى أيضا . وإليك النصائح التالية لكيفية مذاكرة الدورة وتعلم البرمجة :
-
الدورات الموجودة بالأكاديمية دائماً تكون مرتبة من الأعلى إلى الأسفل بحيث يتم ترتيب المسارات من الأساسيات إلى المفاهيم المتقدمة وبالتالي لا تحتاج لإنتقاء مسارات لدراستها أو ترتيب المسارات .عليك فقط الدراسة بالترتيب الموجود . أما إذا كنت تريد خطة لدراسة هذه الدورة فيرجى الإطلاع على التعليقات التالية
-
ما هى خارطة الطريق لدراسة هذا المساق
- 2 اجابة
-
- 2
-
- البارحة
-
مواصفات الحاسوب منخفضة، لذا ستحتاج إلى تثبيت نظام Kali Linux بشكل منفصل على حاسوبك بجانب الويندوز.
-
واصفات حاسوبي كالتالي : RAM 8GB CPU : I5-4300M 2.60GHZ GRAPHIC CARD INTEL HD 4600
-
وعليكم السلام ورحمة الله تعالى وبركاته، لا تحتاج لإنشاء صفحة منفصلة للبحث يمكنك استخدام نفس صفحة المؤلفين مع إضافة معامل بحث اختياري في ال Controller مثل: ?search=keyword وعند وجود قيمة بحث تفلتر البيانات من ال Model وترسلها لنفس ال View وإن لم يوجد معامل بحث تعرض كل المؤلفين وهذا سيوفر عليك تكرار الكود ويحافظ على نفس التصميم. في حال كان سؤالك متعلقا بإحدى الدروس في الدورة أرجو نقله أو في المرة القادمة طرحه أسفل الدرس فهنا نجيب فقط على الأسئلة العامة الغير متعلقة بدروس الأكاديمية.
- 1 جواب
-
- 1
-
-
السلام عليكم ورحمة الله، ال 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 في شريط البحث في الويندوز وتفقد المواصفات.
- 3 اجابة
-
- 1
-
- آخر أسبوع
-
Husam Laraj بدأ بمتابعة بطء اداء الحاسوب في موقع try hackme
-
السلام عليكم , اردت تجربة احدى الكورسات التفاعلية للامن السيبراني في موقع try hackme لكن عند تشغيل البيئة الافتراضية يصبح الاداء بطيء جدا و لا استطيع انجاز اي شيء هل هنالك حل ؟ و شكرا مسبقا
- 3 اجابة
-
- 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
-
