لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
عرض المحتوى الحاصل على سمعة أكبر منذ 11/26/25 in أجوبة
-
كنت ابحث عن كتاب في جوجل عن تطوير التطبيقات باستخدام لغه بايثون ووجدت كتاب لاكادميه حاسوب عن هذا المحتوى فاردت الاستفسار عن السعر وكيفيه التوصيل مع العلم انني مشترك في هذه الدوره هنا .4 نقاط
-
السلام عليكم ورحمة الله وبركاته مساء الخير ماهي المواد التي يجب دراستها لتحليل البرمجيات وكيف اقوم بالتحليل4 نقاط
-
ازاي اتعامل مع برنامج فيجما لأن مستخدمتوش قبل كدا ازاي اخد منه تصاميم وهكذا واشتغل عليها ابرمجها يعني3 نقاط
-
انا حلمي ان اصبح هاكر (اخلاقي) لا مثيل له وان اكون نابغه في عالم التهكير وحمايه المعلومات و الصراحه لا اعرف من اين ابدا وايضا احتاج مكان او كورس موثوق فيه لتعليم اللغه الاجليزيه واود ان اسال عن هذه الاشياء هنا لانني اعرلاف ان اكادميه حاسوب ثقه فهل من اجابه ؟3 نقاط
-
السلام عليكم ورحمة الله وبركاته, عندي مشكلة في تطبيقي للفيديو انا بحاول علي قد ما اقدر ماستخدمش اي شات بوت فلما بحتاج حاجة بروح ابحث في ال document بتاع المكتبة دي او ابحث علي جوجل بس الطريقة دي بتاخد مني وقت كتير حتي في ابسط الامثال فهل في طريقة افضل او ممكن حد يرشحلي طريقة كويسة اطبق بيها وعايز اعرف برضو انهي افضل اطبق بعد لما المعلم يكتب الكود يعني بعد لما هوا يكتب الكود انا اكتبه وراه ولا استنى خالص لما الفيديو يخلص واطبق بعدها2 نقاط
-
هل فيها مشروع كبير كامل يشبه مشروع الشركات (100k+ صف + تنظيف + تحليل + Dashboard)؟ هل يوجد فيها مشروع نفس هذا في دورة الذكاء الاصطناعي تقوي ال CV عندي لان الي شفته اغلب المشاريع تعليمة استخدام الادوات وكذا ولكن سؤالي هل بيكون فيه مشروع فعلي نفس ماذكرت يجمع كل الي تعلمته .؟؟2 نقاط
-
السلام عليكم ورحمه الله وبركاته , وجدت موقع https://htmlrev.com/ في Templates كتيرة جدًا جدًا ل مجال Frontend بس مش فاهم الموقع هل هو مجاني ام لا وكيف اتعامل معه , هل من الممكن تسعدوني فيه , يعني ازاي اختار Templates بتاعت HTML CSS فقط و HTML CSS JS فقط و HTML CSS JS Bootstrap فقط وهكذا2 نقاط
-
السلام عليكم اريد ان اتعلم الGraph و طرق استخدام وكيف استخدم معه ragGraph ولكن ليس لدي اي مصادر له وبحثت ورأيت ان لا يوجد طريق واضح للمضي به احتاج مساعدتكم لرسم طريق واضح لمبتدئ في graph2 نقاط
-
مرحبا كيف يمككني ان ادمج في تطبيقي التقنيتين مع بعض و هل انا بحاجة لكي انشء سرفر express مستقل او لا وهل هي الطريقة الامثل اذا اردت ان انشء نظام تتبع الطلبات من الطاولات في المطعم من لوحة تحكم ؟2 نقاط
-
سلام عليكم لدي سؤال ماهي شروط لكي انجز الاختبار لاحصل على شهادة في تطوير واجهات المستخدم2 نقاط
-
السلام عليكم ورحمة الله وبركاته مساء الخير اريد حزمة اوبينتو مضغوطة لتنزيلها على الجهاز وكيف يمكنني تفعيل خدمةwsl1 نقطة
-
1 نقطة
-
1 نقطة
-
مرحبًا، أنا طالب هندسة معلوماتية واتصالات وحابب آخد نصيحتكم. حاليًا محتار بين الذكاء الاصطناعي، الأمن السيبراني، والفرونت إند، وبدي اختار مسار يكون مطلوب بسوق العمل ويساعدني بعد التخرج إذا حبيت سافر لأوروبا. كمان حابب أعرف من خبرتكم: كيف بقدر أبني أساسيات البرمجة بشكل صحيح؟ يعني شو أول خطوات لازم امشي فيها لحتى يكون عندي قاعدة قوية قبل ما أحدد تخصصي النهائي؟ شاكر لأي توجيه أو نصيحة.1 نقطة
-
كنت ادرس قبل اسبوع عن تطوير واجهات مستخدم و وصلت عند bootstrap 4 كانت نهاية المكونات ونهاية موقع يوتيوبي والان افتح اتفاجئ بانه تم تعديل عليه و تبسيط الموضوع الي اطار عمل css ماذا افعل وهل انا صحيح ام مخطئ1 نقطة
-
السلام عليكم محتاج طريقة لازالة علامة ال watermark من ملف pdf1 نقطة
-
وعليكم السلام ورحمة الله، إن كنت تقصد هذا الكتاب: فهو كتاب مجاني ومثله أيضا يمكنك تصفح قائمة الكتاب المجانية الخاصة بأكاديمية جسوب https://academy.hsoub.com/files/ يمكنك تحميله وقراءته بلا أيّة اشتراكات أو متطلبات أخرى.1 نقطة
-
الكتب المتوفرة بالأكاديمية مجانية تمامًا وهي متوفرة بشكل رقمي فقط في شكل ملف PDF وليس ورقي، تستطيع تحميلها وقراءتها كما تريد، توجه إلى صفحة الكتابة ثم اضغط على زر تنزيل لتحميله: وباقي كتب البرمجة ستجدها هنا: https://academy.hsoub.com/files/c5-كتب-برمجة/ وتستطيع تحميله على هاتفك وقراءته في أي وقت أيضًا.1 نقطة
-
وعليكم السلام ورحمة الله تعالى وبركاته، الكتاب مجاني وهو إلكتروني أي يمكنك الحصول عليه مباشرة من خلال تنزيله من هذا الرابط:1 نقطة
-
هل تقصد الكتاب التالي البرمجة بلغة بايثون ؟ إذا كان كذلك فالكتاب مجاني ويمكنك تحميله من خلال الضغط على كلمة " تنزيل " في الرابط السابق1 نقطة
-
ببقى شغال عادي على فيجول او كيرسور ولما ببدا المشروع بيبقى ai معايا بيكمل ليا الكلام ، بيسرع يعني من كتابه الكود ، وفي نص المشروع بيقف مره ومعتش بيكمل معايا المشروع اي هيا المشكله ؟1 نقطة
-
لا حاجة إلى ذلك، نظام التوثيق في جانغو يعتمد على موديل مستخدم واحد AUTH_USER_MODEL، ولو قمت بإنشاء 3 جداول منفصلة (جدول للمرضى، وجدول للأطباء، وجدول للممرضين) وكل واحد منهم لا يرث من الآخر، ستواجه مشاكل معقدة جداً في تسجيل الدخول، إدارة الجلسات، التصاريح والعلاقات الخارجية مع الجداول الأخرى، فمثلاً من صاحب التعليق؟ هل هو طبيب أم مريض؟ وما قمت بفعله يسمى نمط Profile Pattern، بحيث تحتفظ بالبيانات المشتركة وهي الاسم، الايميل وكلمة المرور في CustomUser، والبيانات الخاصة في جداول مرتبطة. لكن، لكي تكتمل الصورة وتعمل معك في الـ Admin بشكل احترافي كما طلبت، تحتاج إلى ترتيب ملف admin.py واستخدام الـ Signals لضمان إنشاء البروفايل. لذا عندما يقوم المدير بإضافة مستخدم وتحديد دوره كطبيب، نريد أن يتم إنشاء DoctorProfile فارغ تلقائيًا حتى لا يحدث خطأ، أي في ملف signals.py أو أسفل models.py أضف التالي: from django.db.models.signals import post_save from django.dispatch import receiver from .models import CustomUser, UserRole, DoctorProfile, NurseProfile, City @receiver(post_save, sender=CustomUser) def create_user_profile(sender, instance, created, **kwargs): if created: if instance.user_role == UserRole.DOCTOR: DoctorProfile.objects.create(user=instance, license_number="TBD", specialization="General") elif instance.user_role == UserRole.NURSE: NurseProfile.objects.create(user=instance, license_number="TBD") وذكرت أن المدير سيضيفهم بنفسه، وتريد فصلهم وصلاحيات مختلفة، لذا سنستخدم تقنية Proxy Models أي موديل وكيل من خلال إنشاء كلاس وهمي في اسمه DoctorUser وهو ليس بجدول جديد في قاعدة البيانات، بل قناع لجدول CustomUser. مع Inlines في ملف admin.py لدمج الحقول في صفحة واحدة وهي طريقة في Django Admin تسمح بوضع نموذج داخل نموذج آخر في نفس الصفحة. ليصبح في القائمة الجانبية للأدمن Doctors, Nurses, Patients بشكل منفصل، وعند الدخول لإضافة طبيب، ستظهر حقول المستخدم و حقول الطبيب (السعر، التخصص) في نفس الصفحة. from django.contrib import admin from django.contrib.auth.admin import UserAdmin from .models import CustomUser, DoctorProfile, NurseProfile, UserRole class DoctorProfileInline(admin.StackedInline): model = DoctorProfile can_delete = False verbose_name_plural = 'Doctor Profile' class NurseProfileInline(admin.StackedInline): model = NurseProfile can_delete = False verbose_name_plural = 'Nurse Profile' class CustomUserAdmin(UserAdmin): model = CustomUser list_display = ['username', 'email', 'user_role', 'is_staff'] fieldsets = UserAdmin.fieldsets + ( ('Extra Fields', {'fields': ('user_role', 'city', 'phone', 'date_of_birth', 'image')}), ) add_fieldsets = UserAdmin.add_fieldsets + ( ('Extra Fields', {'fields': ('user_role', 'city', 'phone', 'date_of_birth', 'image')}), ) class DoctorUser(CustomUser): class Meta: proxy = True verbose_name = 'Doctor' verbose_name_plural = 'Doctors' class NurseUser(CustomUser): class Meta: proxy = True verbose_name = 'Nurse' verbose_name_plural = 'Nurses' class DoctorUserAdmin(CustomUserAdmin): inlines = [DoctorProfileInline] def get_queryset(self, request): return super().get_queryset(request).filter(user_role=UserRole.DOCTOR) def save_model(self, request, obj, form, change): obj.user_role = UserRole.DOCTOR super().save_model(request, obj, form, change) class NurseUserAdmin(CustomUserAdmin): inlines = [NurseProfileInline] def get_queryset(self, request): return super().get_queryset(request).filter(user_role=UserRole.NURSE) def save_model(self, request, obj, form, change): obj.user_role = UserRole.NURSE super().save_model(request, obj, form, change) admin.site.register(CustomUser, CustomUserAdmin) admin.site.register(DoctorUser, DoctorUserAdmin) admin.site.register(NurseUser, NurseUserAdmin)1 نقطة
-
تم إزالة jQuery بالفعل في التحديث الذي تم على الدورة في شهر سبتمبر الماضي، حيث حدثنا وحدة إنشاء مشروع شخصي في مسار أساسيات تطوير الويب في دورة تطوير واجهات المستخدم ليواكب أحدث الإصدارات والتقنيات. يشمل التحديث 10 دروس موزعة على ساعتين وربع. حدثنا الشرح ليكون أكثر سلاسة وسهولة، وحللنا جميع المشاكل التي كان الطلاب يقعون فيها سابقًا، مما جعل التجربة التعليمية أوضح وأكثر فاعلية. كما استبدلنا مكتبة jQuery بجافا سكريبت الخالصة، وذلك لأن جافا سكريبت الحديثة أصبحت توفر نفس المزايا وأكثر دون الحاجة إلى تحميل مكتبات إضافية، وهو ما يجعل الكود أخف وأسرع، ويمنح الطلاب فرصة لبناء أساس قوي في لغة أساسية يحتاجونها في كل مشروع احترافي. وبخصوص react وعدم تضمينها في دورة تطوير واجهات المستخدم، السبب هو أن الدورة موجهة لتعلم أساسيات الواجهة الأمامية من خلال تعلم اللغات الأساسية التي يعتمد عليها أي مكتبة أو إطار للواجهة الأمامية وهو HTML, CSS, JS. وتعلم تلك اللغات في البداية واجب وضروري، وبدونها ستعاني في فهم ما يدور في الكود الخاص بك عند تعلم تلك المكتبات والإطارات، وأيضًا ستواجه صعوبة في حل المشكلات التي تواجهك وأيضًا تخصيص مشروعك بالشكل الذي ترغب به. ولتعلم React.js الأمر يحتاج إلى فرد مساحة في دورة مختلفة تمامًا، والدورة لن تكون للمبتدئين في الواجهة الأمامية، فأنت بحاجة إلى تعلم اللغات الأساسية كما ذكرت لتفهم ما يحدث وما فائدة ما تتعلمه وتكتبته. ولذلك ستجد أنه تم تخصيص دورة تطوير التطبيقات باستخدام لغة JavaScript من أجل تعلم مكتبة React وإطارات جافاسكريبت الأخرى مثل React Native لتطوير تطبيقات الهاتف وأيضًا Ionic ثم ستتعلم Electron.js لتطوير برامج سطح المكتب. وأيضًا يوجد شرح لإطار Next.js وهو هام جدًا بعد تعلم React من أجل التصيير من جهة الخادم Server-side Rendering. وجميع المسارات الأولى من الدورات الأخرى متاحة لك، وتستطيع الإطلاع عليها فمثلاً في دورة تطوير التطبيقات باستخدام لغة JavaScript المسار الأول هو أساسيات لغة JavaScript وأنصحك بالإطلاع عليه لتعلم المزيد عن جافاسكريبت بجانب ما درسته في دورة تطوير واجهة المستخدم.1 نقطة
-
قبل فترة قابلت في ال Technical Interview في إحدى الشركات... حكيت فيه عن تجاربي العملية وأثناء الحديث تكلمت عن أنني أيضا أثناء مسيرتي في إحدى الشركات التي اشتغلت فيها كنت المبرمج الأساسي وعملت Interviews ك Interviewer للمبرمجين المبتدئين وأنها كانت مثيرة للإهتمام بالنسبة لي (لكي أظهر عنده كتنين في المجال)... سألوني مباشرة: هل لقيتم الشخص المناسب؟ قلت: كانت صعبة قليلا أن تنقي الشخص المناسب، استغرق الموضوع وقتا... سألوني سؤال مفاجئ: كيف تحدد الشخص المناسب ك Interviewer؟ تكلمت مرتبكا كلام طويل... وأخطأت فيه عندما قلت: وربما أيضا عن طريق فهمه مثلا متى نستخدم كلا من التقنيات... مثلا متى وفي أي حالة نستخدم: ال React أو Vue... حينها سألوني: ومتى أنت تستخدم React أو Vue في أي حالة؟ أدركت أنني تورطت... والآن في خاطري سؤال: ما ذا كان علي أن أجيب على سؤال: "كيف تحدد الشخص المناسب ك Interviewer؟"1 نقطة
-
سؤالك غير صحيح، ما يجب أن تسأل عنه هو هل ما قمت به صحيح أم لا؟ لا تحاول أبدًا ذكر أشياء لم تقم بها أو ليس لديك الخبرة الكافية بها، فذلك له تأثير معاكس تمامًا لما تريده، ما يجب إظهاره هو أنك تعلم أمور معينة بقدر معين وقادر على تعلم أمور جديدة بشكل مرن عند الحاجة. الصحيح هو أنك حاولت القيام بدور الـ Interviewer قدر الإمكان وأجريت بحث وتعلمت قدر الإمكان قبل القيام بذلك، وحاولت اختيار اختيار المُبرمج المناسب بناءًا على خبرتك الحالية ومن خلال منهجية واضحة بناءًا على بحثك وما تعلمته وليس بشكل عشوائي، بالطبع ليست كافية لكن حاولت تنفيذ المطلوب منك قدر المُستطاع. ولا تقم بذكر إجابات طويلة أبدًا، بل بشكل مباشر وواضح قدر الإمكان. ببساطة ليس شرطًا معرفة عميقة بالتقنيات بالتفصيل ولكن المهم هو وجود أساس برمجي قوي وفهم عميق للمفاهيم الأساسية اللازمة في المجال والتي سيحتاجها في عمله. أيضًا وجود خبرة ومعرفة تتناسب مع متطلبات الوظيفة، فلا يصح اختيار شخص بخبرة بسيطة وأساس قوي لمنصب Senior، حيث الخبرة العملية جراء سنوات العمل لذلك المنصب لازمة. كذلك طريقة التفكير والتحليل والمهارات الغير تقنية Soft Skills.1 نقطة
-
أنا أريد عمل سكربت بايثون يقوم بالنشر التلقائي على صفحة فيسبوك الخاصة بي ولكن تواجهني مشكلة في استخراج Access Token الخاص بالصفحة كما أنني حاولت مرة سابقة وكان ينشر على صفحتي بالفعل ولكن المنشورات كانت تظهر لي فقط وليس للعامة وكان ذلك لأن التطبيق كان في وضع التطوير والآن تواجهني مشكلة استخراج Access Token بعد أن قمت بحل المشكلة السابقة. ملحوظة : أنا أريد النشر على صفحتي الشخصية فقط وليس عمل برنامج عام لكل المستخدمين يستخدموه لينشروا على صفحاتهم1 نقطة
-
أهلاً وسهلاً ، لدي سواريه أحب أن اتحقق منهما: انا شخص افكر في الاشتراك في الدورة ، لكنني طالب ثانوي اي بشكل آخر لن استفيد من ميزة لذلك كنت افكر ، هل باشتراكي في حالتي الراهنة انا اخاطر بفرصة جيدة ؟ حسناً قلتم أنه شهادة الدورة معتمدة لكن لإي نطاق ؟ خمسات و مستقل و بعيد هي منصات تابعة لكم و بطبيعة الحال سيعتمد الشهادات هناك لكن ما قيمتها لدى الشركات الخارجية ؟1 نقطة
-
صحيح أية 4 مسارات تريدها، لكن الأهم هو تحقيق فائدة تعود عليك وليس الحصول على الشهادة فقط، فخيار الـ 4 مسارات متاح لمن لديهم خبرة ويريدون دراسة مسارات معينة فقط وليس كامل الدورة، لذا في حال كنت مبتدأ يجب دراسة الدورة بالكامل.1 نقطة
-
معناه يمكنني اتمام اساسيات تطوير الويب ثم اطر العمل CSS ثم بناء ملفات الهبوط ثم تطوير موقع شركة ثم اقدم نفسي ؟1 نقطة
-
1 نقطة
-
بعد إنهاء 4 مسارات من الدورة على الأقل، أو الدورة بالكامل عليك رفع المشاريع التي قمت بها بالدورة على حسابك في github، ثم التحدث لمركز المساعدة وإخبارهم أنك تريد التقدم للإختبار وتوفير روابط المشاريع على github. ثم الإنتظار لبعض الوقت لحين مراجعة المشاريع وسيتم الرد عليك، وتحديد موعد لإجراء مقابلة، وبها يتم: إجراء محادثة صوتيّة لمدة 30 دقيقة يطرح المدرّب عليك أسئلة متعلّقة بالدورة والأمور التي نفّذتها خلالها. يحدد لك المدرب مشروع مرتبط بما قمت به أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع إلى أسبوعين. إجراء محادثة صوتية أخرى لمدّة 30 دقيقة يناقش بها مشروعك وما نفذته وتطرح أسئلة خلالها. إن سارت على جميع الخطوات السابقة بشكل صحيح، تحصل على الشهادة أو يرشدك المدرب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد.1 نقطة
-
وعليكم السلام ورحمه الله وبركاته يجب عليك إتمام الشروط التالية حتى تستطيع التقدم للامتحان إتمام أربعة مسارات تعليمية على الأقل التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية ثم رفعها على حسابك على GitHub1 نقطة
-
لقد قمت بفعل كل شي لكن لا تظهر البيانات وهذا الخطاء يخرج لي عند اضافة طالب cursor.execute(""" ~~~~~~~~~~~~~~^^^^ INSERT INTO students (student_id, first_name, last_name, age, grade, registration_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ VALUES (?,?,?,?,?,?) ^^^^^^^^^^^^^^^^^^^^ """,student_data) ^^^^^^^^^^^^^^^^^1 نقطة
-
1 نقطة
-
وعليكم السلام ورحمة الله، يمكنك استخدام Figma مجانا عبر المتصفح من خلال إنشاء حساب على figma.com ثم تفتح المشاريع العامة أو تختار أحد القوالب الجاهزة من Figma Community بكتابة إما: "dashboard designs" أو: "web app UI kits" وذلك في شريط البحث وستجد تصاميم جاهزة لتطبيقات مثل HRMS أو AI dashboards. لاستخراج العناصر وإن كان لديك تصميم جاهز يمكنك فقط فتحه ثم المتابعة أولا تقوم بتكبير التصميم من خلال عمل zoom in واستخدام أداة "Inspect" في اللوحة اليمنى لنسخ أبعاد العناصر بدقة كال width, height, margins, padding والألوان والخطوط والمسافات ثم تقوم بنقلها مباشرة إلى CSS في مشروعك أما بخصوص الأيقونات يمكنك تصديرها ك SVG أو PNG عبر "Export". ومن المهم أن تركز على responsive breakpoints من التصميم (mobile, tablet, desktop) لتحويلها إلى components في كودك فيما بعد.1 نقطة
-
وعليكم السلام ورحمة الله، الطريقة الأمثل لتطبيق الفيديوهات هي أن تشاهد الجزء الأول بسرعة قليلا للفهم العام ثم توقف فورا واكتب الكود بنفسك من الصفر محاولا تذكر المنطق وإن استصعب عليك الأمر ارجع لثوان قليلة من الفيديو أو افتح التوثيق الرسمي مباشرة. لكن لا داعي للتسرع أو السباق نحو إنهاء الدروس بسرعة فهذا ليس الهدف الأساسي من دراسة الدورات، فالدورة متاحة مدى الحياة إضافة إلى التحديثات التي تطرأ عليها فهي ليست مرتبطة بوقت معين لإنهائها لذا أنصحك بالتركيز على فهم الدروس واستيعابها والتطبيق عليها لتستفيد أقصى استفادة من الدورة.1 نقطة
-
وعليكم السلام ورحمة الله وبركاته. ما تقوم به حاليا ممتاز وهذا الأمر سيفيدك كثيرا في التعلم فنعم الأمر سيأخذ الكثير من الوقت حينما تقوم بالبحث في التوثيق الرسمي أو على جوجل أو على المواقع المشهورة مثل stackoverflow وغيرها وهذا الأمر سيعلمك كيفية البحث عن ما تريده بسهوله وسيعطيك تلك المهارة وهي مفيدة جدا مستقبلا . وأيضا في بداية تعلمك قد يضرك الذكاء الإصطناعي فقد يعطيك معلومات خاطئة أو غير مكتملة مما يجعلك تتعلم أشياء ليست صحيحة ولكن من التوثيق الرسمي سيكون كل شئ صحيح ومتكامل مما سيجعلك تتعلم بالطريقة الصحيح . لذلك إذا كان لديك الوقت الكافي فهذه الطريقة هي الطريقة الممتازة لذلك . أما لو كان وقتك محدودا فإذا واجهتك مشكلة يمكنك السؤال عنها مباشرة أسفل الدرس وسيتم مساعدتك في أسرع وقت . الأفضل من وجهة نظري هو مشاهدة المدرب مثلا في جزء معين ومن ثم إيقاف الدرس والتطبيق وكتابة الأكواد التي قام بكتابها المدرب ويمكنك بعد الإنتهاء من المسار تماما في المشاريع العملية أن تقوم بإنشاء المشروع بنفسك من البداية لتقيم نفسك ومحاولة معرفة هل ستستطيع إنشاء المشروع دون مشكلة أم لا . ولكن لو قمت بمشاهدة الدرس بشكل كامل ومن ثم كتابة ما جاء به فستواجه صعوبة في إستذكار المنطق الخاص الذي قام به المدرب أو لو قام بإستخدام أكواد تحتاج إلى تكرار وتطبيق كثرا لحفظها مما سيجعلك تعيد الدرس مرة أخرى لإستذكارها .1 نقطة
-
ما هي آلية المذاكرة ؟ هل يجب حفظ الكودات أم إعادة كتابة كود كل درس وتطبيقه ؟ أم الاستماع بفهم تام والمراجعة المستمرة الى أن يحين طلب تمارين معينة من معلمي المادة ؟ مع جزيل الشكر1 نقطة
-
يرجى إرفاق صورة للخطأ الذي يظهر لك كما أخبرتك .لقد قمت بتجربة الكود المرفق بعد التعديل الذي وضحته لك وهو يعمل دون مشكلة.1 نقطة
-
استخدم تقنية "سلسلة التحقق" (Chain of Verification - CoVE)مع نظام RAG. صممت CoVE خصيصًا لمكافحة الهلوسة(Hallucination) في نماذج الذكاء الاصطناعي . تعمل CoVE في أربع خطوات بسيطة: الخطوة 1: توليد إجابة أولية (GENERATION OF AN INITIAL RESPONSE) يبدأ النموذج بصياغة إجابة أولية بناءً على استعلام المستخدم. في أنظمة RAG، يتم ذلك عن طريق استرداد المستندات ذات الصلة من قاعدة بيانات (مثل Vector Database) واستخدامها كأساس للإجابة. الخطوة 2: صياغة أسئلة التحقق (Formulation of Verification Questions) بناءً على الاجابة الأولية التي تم إنشاؤها، يقوم النموذج بابتكار أسئلة محددة. الهدف من الأسئلة: اختبار الدقة: التحقق من صحة الحقائق والبيانات المذكورة. اختبار العمق: تحديد ما إذا كانت هناك جوانب في الإجابة يمكن تحسينها أو تحتاج إلى تفاصيل إضافية. حيث يقرر النموذج ما الذي يحتاج إلى فحص وتدقيق. الخطوة 3: استرداد معلومات إضافية (Retrieval of Additional Information) يستخدم النموذج آلية الاسترداد (Retrieval) مرة أخرى، ولكن هذه المرة ليس للإجابة على سؤال المستخدم الأصلي، بل للإجابة على أسئلة التحقق التي صاغها بنفسه. لكل سؤال تحقق، يبحث النموذج في قاعدة البيانات عن المستندات التي تحتوي على الإجابة الدقيقة. الأهمية: إذا لم يجد النموذج دليلاً يدعم معلومة ما في إجابته الأولية، فهذا يدحض تلك المعلومة ويثبت أنها كانت خاطئة. هذه هي لحظة اكتشاف الخطأ. الخطوة 4: مراجعة الاستجابة الأولية (Revision of the Initial Response) بناءً على الأدلة الداعمة أو المتناقضة التي تم العثور عليها في الخطوة 3، يقوم النموذج بتعديل إجابته. و يكون لديه سيناريوهان: إذا كانت المعلومات دقيقة: قد يقوم النموذج بإضافة تفاصيل أو توضيحات لجعل الإجابة أكثر ثراءً وموثوقية. إذا كانت المعلومات خاطئة: يقوم النموذج بتصحيح الخطأ أو حذفه تمامًا. النتيجة النهائية: يتم إرسال الإجابة النهائية المُنقحة والمُحسَّنة إلى المستخدم. مثال: السؤال أو الاستعلام : "من هو مؤسس شركة آبل؟" الإجابة الأولية: "ستيف جوبز". صحيح جزئيًا... لكن هل هو المؤسس الوحيد؟ الخطوة 2: صياغة أسئلة التحقق — "اسأل : هل هذا دقيق؟" بعد كتابة الإجابة، لا يتوقف النموذج، بل يطرح على نفسه أسئلة صغيرة ومحددة لتقييم دقة ما كتبه مثل: "هل كان ستيف جوبز فقط مؤسس آبل؟" "هل كان هناك شركاء؟" "متى وأين تأسست الشركة؟" هذه الأسئلة ليست عامة، بل موجهة لاختبار نقاط ضعف في الإجابة. الخطوة 3: استرجاع معلومات جديدة : "ابحث عن إجابات لهذه الأسئلة" النموذج يعيد استخدام قاعدة البيانات (أو الإنترنت أو المستندات المرتبطة به) للبحث عن إجابات دقيقة لكل سؤال تحقق. إذا وجد أدلة تدعم الإجابة → يؤكد صحتها. إذا وجد أدلة تناقضها → يُعدّل الإجابة أو يحذف الجزء الخاطئ. بعد البحث: "آبل تأسست عام 1976 بواسطة ستيف جوبز، ستيف Возنياك، ورونالد واين." → إذًا، الإجابة الأولى غير كاملة! الخطوة 4: المراجعة : "عدّل الإجابة وقدم النسخة الصحيحة" النموذج يدمج كل ما تعلمه من خطوات التحقق ويُعدّل الإجابة الأولية. يضيف تفاصيل، يحذف أخطاء، ويُقدّم إجابة نهائية أكثر دقة، شاملة، وموثوقة. الإجابة النهائية: "تأسست شركة آبل عام 1976 بواسطة ثلاثة أشخاص: ستيف جوبز، ستيف Возنياك، ورونالد واين. رغم أن جوبز هو الأكثر شهرة، إلا أنه لم يكن المؤسس الوحيد." فكأنك تجيب على جميع أسئلة الامتحان، ثم تعود وتراجع كل إجاباتك للتأكد من أنك أجبت عليها بشكل صحيح قبل تسليم ورقتك. هذه بالضبط تقنية COVE ، تجعل الذكاء الاصطناعي يُراجع نفسه، ويصحح أخطاءه، ويُنتج إجابة أدق وأكثر موثوقية. يمكن توجيه النموذج لتنفيذ هذه العملية من خلال أمر (Prompt) يشبه هذا: "بالنظر إلى سؤال المستخدم حول [موضوع محدد]، قم بإنشاء استجابة أولية بناءً على المستندات المستردة. بعد ذلك، قم بصياغة أسئلة تحقق للتحقق من دقة الاستجابة. أحضر معلومات إضافية للإجابة على هذه الأسئلة. في النهاية، قم بمراجعة الاستجابة الأولية بناءً على هذا التحقق لضمان الدقة والعمق. قدم الإجابة المراجعة للمستخدم. مثال اخر: السؤال: هل كان كريستوفر كولومبوس أول من وصل إلى أمريكا؟ الخطوة 1: توليد إجابة أولية (استرجاع عام واسع) يُعتقد عمومًا أن كريستوفر كولومبوس كان أول أوروبي يصل إلى الأمريكيتين عام 1492، مما فتح الباب أمام الاستكشاف والاستعمار الأوروبي للقارة. قاد رحلته بإيعاز من ملكي إسبانيا، وهبط في جزر الكاريبي، معتقدًا أنه وصل إلى جزر الهند الشرقية. هذه إجابة مبسطة وقد تكون مضللة جزئيًا. الخطوة 2: صياغة أسئلة التحقق (نُحدد نقاط الضعف ونطرح أسئلة دقيقة) بناءً على الإجابة، نطرح الأسئلة التالية: هل كان كولومبوس أول إنسان يصل إلى أمريكا؟ هل كان أول أوروبي يصل إلى أمريكا؟ متى وصل شعب آخر (مثل الفايكينغ) إلى أمريكا؟ هل وصل السكان الأصليون من آسيا قبله؟ أين هبط كولومبوس بالضبط — وهل كان ذلك "أول اتصال" بين أوروبا والأمريكتين؟ الخطوة 3: استرجاع معلومات إضافية (البحث الدقيق لكل سؤال على حدة) نُجري استرجاعًا موجّهًا لكل سؤال: هل كان أول إنسان؟ لا. السكان الأصليون (الهنود الحمر) وصلوا إلى الأمريكتين عبر جسر بيرينغ البري من آسيا منذ 15,000–20,000 سنة قبل الميلاد. هل كان أول أوروبي؟ لا. الفايكينغ بقيادة ليف إريكْسون وصلوا إلى نيوفاوندلاند (كندا) نحو سنة 1000 م — أي قبل كولومبوس بـ500 عام. هل هناك أدلة مادية؟ نعم! تم اكتشاف موقع لينس أوكس ميدوز (L’Anse aux Meadows) في كندا عام 1960، وهو مستوطنة فايكينغ أُثبِت أنها تعود إلى 1000 م تقريبًا. هل عرف الأوروبيون عن رحلات الفايكينغ؟ لا، لأن هذه المعلومات ظلت محلية ولم تُسجّل في الخرائط الأوروبية الرئيسية، فكولومبوس لم يكن على علم بها. هل رحلة كولومبوس لها أهمية تاريخية؟ نعم، لأنها بدأت التبادل بين العالم القديم والجديد (كولومبيان إكستشينج) وفتحت باب الاستعمار الأوروبي على مصراعيه وهو ما لم يفعله الفايكينغ. الخطوة 4: مراجعة الإجابة الأولية كولومبوس لم يكن أول من وصل إلى أمريكا. السكان الأصليون سكنوا الأمريكتين منذ آلاف السنين قبله. الفايكينغ — بقيادة ليف إريكسون وصلوا إلى كندا نحو عام 1000 م، أي قبل كولومبوس بخمسة قرون، كما يُثبت ذلك موقع لينس أوكس ميدوز الأثري. ومع ذلك، فإن رحلة كولومبوس عام 1492 كانت ذات تأثير تاريخي هائل، لأنها أطلقت عصرًا جديدًا من الاستكشاف الأوروبي، الاستعمار، والتفاعل المستمر بين أوروبا والأمريكتين — وهو ما جعله المكتشف من منظور الغرب، رغم أنه لم يكن الأول فعليًا. ما الذي يُظهره هذا المثال عن COVE؟ الإجابة الأولية كانت صحيحة جزئيًا لكنها حذفت سياقًا تاريخيًا مهمًا. عبر طرح أسئلة تحقق دقيقة، كشفنا: أخطاء مطلقة ("أول من وصل"). تحيّز ثقافي خفي (إهمال شعوب غير أوروبية). حقائق علمية وأثرية تغيّر الفهم. الإجابة النهائية أصبحت أكثر دقة، عدالة، وثباتًا على الأدلة. تقنية CoVE تهدف إلى منع نوعين رئيسيين من الهلوسة: 1. هلوسة الحقائق البسيطة (Factual Hallucination) حيث يخطئ النموذج في تفاصيل واقعية يمكن التحقق منها بسهولة فآلية التحقق في CoVE فعالة جدًا في اكتشاف وتصحيح هذه الأخطاء. أمثلة: معلومات شخصية خاطئة: هلوسة: "هيلاري كلينتون ولدت في نيويورك." سؤال التحقق: "أين ولدت هيلاري كلينتون؟" التصحيح: ولدت في شيكاغو. تواريخ وأرقام غير صحيحة: هلوسة: "حدثت معركة حطين عام 1188." سؤال التحقق: "في أي عام وقعت معركة حطين؟" التصحيح: وقعت عام 1187. خلط المفاهيم: هلوسة: "ألبرت أينشتاين هو من اكتشف البنسلين." سؤال التحقق: "من هو مكتشف البنسلين؟" التصحيح: ألكسندر فلمنج. كيف تمنعها CoVE؟ من خلال توليد أسئلة تحقق مباشرة ("أين ولد...؟"، "متى حدث...؟"، "من فعل...؟")، تجبر التقنية النموذج على البحث عن إجابة دقيقة ومحددة لهذه التفاصيل، مما يكشف الخطأ بسهولة. 2. هلوسة السياق أو "التلفيق" (Contextual Hallucination) هذا النوع أكثر تعقيدًا، حيث لا تكون المعلومة خاطئة بالكامل، ولكن النموذج يضيف تفاصيل أو سياقات غير موجودة لجعل القصة تبدو أكثر ثراءً أو اكتمالاً. قد يربط بين حقيقتين لا علاقة لهما ببعضهما. أمثلة: إضافة تفاصيل غير مثبتة: هلوسة: "عندما وقع إسحاق نيوتن قانون الجاذبية، كان يأكل تفاحة حمراء لامعة سقطت من شجرة بجوار نافذة مكتبه." (الحقيقة هي قصة التفاحة نفسها مجرد حكاية شائعة، والتفاصيل الإضافية من اختراع النموذج). سؤال التحقق: "هل هناك مصدر موثوق يصف تفاصيل التفاحة التي ألهمت نيوتن؟" التصحيح: لا يوجد دليل تاريخي موثوق يدعم هذه التفاصيل. ربط أحداث لا علاقة لها ببعض: هلوسة: "تأثر ليوناردو دافنشي في رسم الموناليزا بالاضطرابات السياسية في فلورنسا، مما جعل ابتسامتها غامضة لتعكس حالة عدم اليقين في ذلك الوقت." (هذا تحليل ملفق يربط بين حدثين دون دليل). سؤال التحقق: "ما هي الأدلة التي تربط بين الاضطرابات السياسية في فلورنسا وابتسامة الموناليزا؟" التصحيح: هذا مجرد تفسير نظري وليس حقيقة تاريخية مثبتة. كيف تمنعها CoVE؟ أسئلة التحقق هنا تكون أكثر عمقًا ("ما هو الدليل على...؟"، "هل يوجد مصدر يدعم هذا الادعاء؟"). هذا يجبر النموذج على البحث عن علاقات سببية وأدلة داعمة، وعندما لا يجدها، يدرك أن التفاصيل التي أضافها كانت مجرد "تلفيق" ويقوم بإزالتها أو تعديلها. الخلاصة: تعمل "سلسلة التحقق" كشبكة أمان من مستويين: المستوى الأول: تصطاد الأخطاء الواقعية الواضحة. المستوى الثاني: تكشف التفاصيل المُختلقة والروابط الوهمية التي يضيفها النموذج لتبدو إجابته أكثر إقناعًا. بهذه الطريقة، تزيد CoVE من موثوقية النموذج بشكل كبير وتجعله مصدرًا أكثر أمانًا للمعلومات.1 نقطة
-
هل يمكنني التحكم بالـ"controls" للعنصرين audio وvideo في لغة html؟ أي كيف يمكنني إضافة المزيد من عناصر التحكم وليس التي توفيرها controls فقط.1 نقطة
-
نعم يمكنك ذلك ولكن لا يتم من خلال الـHTML وحده، بل عبر الجمع بين HTMLو+ JavaScript، في العادة عند استخدام السمة controls يتم عرض أزرار التشغيل والإيقاف ومستوى الصوت والتقديم التلقائي حسب المتصفح، لكن إذا أردت إضافة عناصر تحكم مخصصة كزر لتغيير السرعة، التكرار، الانتقال لوقت معين، أو حتى إنشاء واجهة كاملة خاصة بك، فعليك إخفاء controls الافتراضية، وإنشاء أزرار أو عناصر UI يدوية والتحكم بها عبر API الوسائط في JavaScript مثل، currentTime, volume, playbackRate وغيرها، و بهذه الطريقة يمكنك بناء مشغل صوت وفيديو كامل بواجهة وتصميم مخصّصين يلبيان الوظائف التي تحتاجها تماما، سواء كانت بسيطة أو احترافية.1 نقطة
-
1 نقطة
-
1 نقطة
-
وعليكم السلام ورحمة الله، لتقليل الهلوسة بفعالية أنصحك باستخدام Retrieval-Augmented Generation (RAG) لتزويد النموذج بمصادر موثوقة ثم اكتب تعليمات واضحة ومحددة تطلب من النموذج الاعتماد على المعلومات المقدمة فقط والاعتراف بعدم المعرفة كما يمكنك التقليل من ال top_p إلى 0.1-0.3 بدلا من Temperature فقط. وأيضا استخدم presence_penalty وfrequency_penalty لتقليل التكرار والمعلومات المختلقة. وليس هذا فقط لانه توجد حلول أخرى كوضع قيود صريحة في البرومبت مثل "لا تخمن" أو "قل 'لا أعرف' إذا كنت غير متأكد" وهذه الطرق مجتمعة أكثر فعالية من Temperature وحده.1 نقطة
-
وعليكم السلام ورحمة الله تعالى وبركاته، تقليل هلوسة النموذج لا يعتمد فقط على Temperature فهذا عامل صغير أما الطريقة الأكثر فعالية وبشكل مباشر هي إعطاء النموذج سياقا واضحا وتعليمات دقيقة ومصادر محددة فكلما كان سؤالك عاما أو مفتوحا زادت احتمالية الهلوسة لذلك يمكنك استخدام أسلوب Prompting منظم مثل: Role + Task + Constraints + Examples هذه الأساليب تقلل الهلوسة أكثر بكثير من تغيير ال Temperature لأنها تجعل النموذج يركز على المعلومات الموجودة بدل أن يخترع تفاصيل من عنده.1 نقطة
-
وعليكم السلام ورحمة الله وبركاته. تقليل الـ Temperature وحده لا يكفي (كما لاحظت أنت) ولكن نحتاج لطرق أفضل وأكثر تأثيراً لتقليل الهلوسة مثل استخدام تقنية ال RAG فبدلاً من أن تطلب من النموذج أن يجيب من ذاكرته (التي قد تكون غير دقيقة)، تعطيه المعلومات الصحيحة . أيضاً هندسة الأوامر Prompt Engineering تمكنك من تقليل الهلوسة بشكل كبير1 نقطة
-
السلام عليكم ورحمة الله، في الأكاديمية المحتوى المعروض يكون من خلال الفيديوهات التعليمية المرفقة بمسارات التطبيقات العملية وفي المسارات التي تحتاج إلى ملفات مصدرية ستجدها في درس المدخل أو المقدمة عند بداية المسار أين يمكنك تحميل المشروع النهائي والاطلاع عليه. أما الملخصات فهنا نشجع الطالب على إعداد الملخصات بنفسه، فالهدف ليس حفظ ما يتمّ تعليمه بل فهمه والتطبيق عليه بشكل صحيح، كما أنه مع التعلم والتطبيق المستمرّين ستتمكن من تذكر الأوامر والمفاهيم أثناء البرمجة ويمكنك الرجوع إلى التوثيقات الرسمية في حال نسيت أيّ شيء من هنا: موسوعة حسوب1 نقطة
-
في الوقت الحالي لا تتوفر مُلخصات للدروس، تستطيع الإعتماد على موسوعة حسوب كمرجع، وتستطيع الاستفسار أسفل الدروس في التعليقات عما تحتاجه وسيتم توضيحه لك. الملفات المتوفرة هي ملفات المشروع التي سنعمل عليه خلال المسار، وتستطيع تحميل ذلك من خلال درس المقدمة أو المدخل في بداية المسار. عامًة كل شخص له أسلوب يُناسبه في الدراسة، لكن المهم هو تجنب المشاهدة السلبية وتخصيص وقت أكبر للتطبيق العملي، فالبرمجة عبارة عن تفكير منطقي لحل مشكلة ثم تنفيذ ذلك من خلال كتابة الكود. والبعض يُفضل كتابة مُلخصات لكل شيء، لكن لا أنصحك بذلك، اكتفي فقط بكتابة ملاحظات ومُلخصات ورسومات للأمور النظرية أو معلومة معينة تريد الإحتفاظ بها للعودة إليها للمراجعة. بينما البرمجة نفسها اكتفي بالتطبيق العملي فهو الأهم وبدونه فلا معنى للمُلخصات النظرية مهما كتبت، ببساطة لن تستطيع قيادة سيارة بمشاهدة فيديو صحيح؟1 نقطة
-
لا حاجة إذن إلى استخدام PHPMailer، فما تحتاجه هو الإعتماد على Telegram Bot API وإرسال محتوى الرسالة إلى البوت الخاص بك. أي إرسال الـ data الخاصة بالنموذج إلى الـ API التالي: $url = "https://api.telegram.org/bot{$botToken}/sendMessage"; بالطبع botToken هو متغير عليك إنشائه ووضع قيمة التوكن الخاصة بالبوت الذي قمت بإنشائه على تليجيرام، وستحتاج أيضًا إلى إرسال الـ chatId الخاص بالبوت مع البيانات في جسم الطلب body. وبالطبع عليك تهيئة نص الرسالة ومعالجته قبل إرساله إلى هاتفك، ومعالجة الأخطاء الواردة، كالتالي: <?php header('Content-Type: application/json'); define('BOT_TOKEN', 'هنا'); // ضع التوكن هنا define('CHAT_ID', 'هنا'); // ضع معرف الشات هنا if ($_SERVER['REQUEST_METHOD'] !== 'POST') { http_response_code(405); echo json_encode(['ok' => false, 'message' => 'يجب استخدام طريقة POST فقط']); exit; } $errors = []; $name = trim($_POST['name'] ?? ''); $email = trim($_POST['email'] ?? ''); $message = trim($_POST['message'] ?? ''); if (empty($name)) { $errors[] = 'حقل الاسم مطلوب.'; } if (empty($email)) { $errors[] = 'حقل البريد الإلكتروني مطلوب.'; } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $errors[] = 'صيغة البريد الإلكتروني غير صحيحة.'; } if (empty($message)) { $errors[] = 'حقل الرسالة مطلوب.'; } if (!empty($errors)) { http_response_code(400); echo json_encode(['ok' => false, 'errors' => $errors]); exit; } $safe_name = htmlspecialchars($name, ENT_QUOTES, 'UTF-8'); $safe_email = htmlspecialchars($email, ENT_QUOTES, 'UTF-8'); $safe_message = htmlspecialchars($message, ENT_QUOTES, 'UTF-8'); $text = "<b>📩 رسالة جديدة من موقعك</b>\n\n"; $text .= "<b>👤 الاسم:</b> " . $safe_name . "\n"; $text .= "<b>📧 البريد:</b> " . $safe_email . "\n"; $text .= "<b>💬 الرسالة:</b>\n" . $safe_message; $url = "https://api.telegram.org/bot" . BOT_TOKEN . "/sendMessage"; $data = [ 'chat_id' => CHAT_ID, 'text' => $text, 'parse_mode' => 'HTML' ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); $response = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); $curl_error = curl_error($ch); curl_close($ch); if ($curl_error) { http_response_code(500); echo json_encode(['ok' => false, 'message' => 'فشل الاتصال بـ cURL: ' . $curl_error]); } elseif ($http_code !== 200) { http_response_code(500); echo json_encode(['ok' => false, 'message' => 'واجهة التلغرام أرجعت خطأ.', 'response' => json_decode($response)]); } else { $telegramResponse = json_decode($response, true); if (isset($telegramResponse['ok']) && $telegramResponse['ok'] === true) { http_response_code(200); echo json_encode(['ok' => true, 'message' => 'تم إرسال الرسالة بنجاح!']); } else { http_response_code(500); echo json_encode(['ok' => false, 'message' => 'فشل إرسال الرسالة حسب رد التلغرام.', 'response' => $telegramResponse]); } } ?>1 نقطة
