-
المساهمات
9822 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
154
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو محمد عاطف25
-
الخطأ أنك لم تقم بإنشاء الكود الخاص بفتح وغلق ال nav . هل تريد إستخدام bootstrap أم تقوم بإنشاء كل شئ بشكل يدوي بنفسك ؟ إذا كنت تريد إستخدام bootstrap فيجب أن يكون الهيكل لديك متوافق لما لدى bootstrap هكذا : https://getbootstrap.com/docs/5.3/components/navbar/ أما إذا أردت أن يكون بشكل يدوى فيجب كتابة كود javascript يقوم بهذا الأمر . وإليك الكود بعد التعديل ليتم إستخدام هيكل bootstrap لل nav index.html style.css
-
إن المشكلة الأساسية بالفعل في جداول التجزئة (Hash Tables) هي الاصطدامات (Collisions) وأنت محق تماما والطريقة التي استخدمتها في الكود الخاص بك هي مثال جيد للتعليم مثلا والتطبيقات البسيطة ولكنها غير فعالة في التطبيقات الحقيقية لنفس السبب الذي ذكرته وهو أن الكلمات التي تبدأ بنفس الحرف ستتكدس في نفس القائمة المتصلة (Linked List) مما يبطئ البحث بشكل كبير. والآن لنجيب على أسئلتك بالترتيب . ما هي العملية التي تتم على الكلمات لإيجاد الدلو (Bucket) المناسب : هذه العملية تسمى دالة التجزئة (Hash Function) ووظيفتها هي تحويل أي مدخل في حالتنا هنا الكلمة النصية إلى رقم صحيح فريد قدر الإمكان وهذا الرقم هو الذي يحدد فهرس (index) الدلو الذي ستُخزن فيه الكلمة. دالة التجزئة التي استخدمتها بسيطة جداً: short hash = toupper(vocabulary[0]) - 'A' وهي تأخذ الحرف الأول فقط وهذا هو سبب ضعفها فدالة التجزئة الجيدة يجب أن تحقق هدفين رئيسيين: أن تأخذ كل حروف الكلمة في الحسبان بحيث إذا تغير أي حرف في الكلمة، يتغير ناتج الدالة بشكل كبير. أن توزع النواتج بشكل متساوي يجب أن توزع الكلمات على كل ال Buckets المتاحة في الجدول بشكل عشوائي ومتساوي قدر الإمكان لتجنب التكدس في أماكن معينة. وإليك مثال على دالة تجزئة أفضل (Polynomial Rolling Hash) وهذه واحدة من أشهر وأبسط الطرق الفعالة والفكرة هي إعطاء كل حرف في الكلمة وزن مختلف بناءً على موقعه فمثلا نختار رقم أولي وليكن 31 ونمر على حروف الكلمة واحدا تلو الآخر ونحسب قيمة الـ hash كالتالي: hash = (hash * 31 + character_value) % TABLE_SIZE مثال لكلمة "CS50" لنفترض أن حجم الجدول TABLE_SIZE هو 1000. C (قيمته 67): hash = (0 * 31 + 67) % 1000 = 67 S (قيمته 83): hash = (67 * 31 + 83) % 1000 = (2077 + 83) % 1000 = 2160 % 1000 = 160 5 (قيمته 53): hash = (160 * 31 + 53) % 1000 = (4960 + 53) % 1000 = 5013 % 1000 = 13 0 (قيمته 48): hash = (13 * 31 + 48) % 1000 = (403 + 48) % 1000 = 451 % 1000 = 451 إذا كلمة "CS50" سيتم تخزينها في الدلو رقم 451 لاحظ كيف أن كل حرف وموقعه أثر في النتيجة النهائية. ثانيا كيف تتم عملية تقسيم وتوسيع الجدول : هنا يأتي دور الإجابة على سؤالك الأول فالمشكلة في الكود الخاص بك ليست فقط في دالة التجزئة ولكن أيضا في حجم الجدول لديك 26 دلو فقط وهو عدد الحروف الأبجدية وهكذا إذا كان لديك قاموس يحتوي على 140,000 كلمة ففي المتوسط سيكون كل دلو يحتوي على 140,000 / 26 ≈ 5384 كلمة وهذا عدد كبير جدا. زالحل هو ببساطة زيادة عدد ال Buckets فبدلا من 26 دلو يمكننا استخدام عدد أكبر بكثير مثلا 5000 دلو أو أكثر وكلما زاد عدد ال Buckets قل احتمال حدوث الاصطدامات وبالتالي أصبحت القوائم المتصلة (Linked Lists) أقصر بكثير. ولاحظ في دالة التجزئة التي وضحتها لك سابقا الخطوة الأخيرة وهي % TABLE_SIZE (باقي القسمة على حجم الجدول) فإن هذه العملية تضمن أن ناتج الدالة hash سيكون دائما رقم صحيح يقع بين 0 و TABLE_SIZE - 1 وهو ما يمثل فهارس ال Buckets المتاحة في الجدول. إذا تلخيصا لما سبق : لجعل جدول التجزئة الخاص بك فعال لتخزين قاموس ضخم فستحتاج إلى أمرين: زيادة حجم الجدول بشكل كبير أى زيادة ال Buckets وهذا يقلل من احتمالية أن تقع كلمتان مختلفتان في نفس الدلو. استخدام دالة تجزئة قوية فدالة تأخذ كل حروف الكلمة في الحسبان لتوزيع الكلمات بشكل متساو على جميع الBuckets المتاحة. وبهاتين الطريقتين ستحافظ على القوائم المتصلة قصيرة وبالتالي يصبح زمن البحث عن أي كلمة قريبًا جدًا من الزمن الثابت O(1)، وهو الهدف الأساسي من استخدام جداول التجزئة.
- 3 اجابة
-
- 1
-
-
هذا الموقع هو موقع أكاديمية حسوب . ويتم توفير هنا دورات تعليمية للعديد من المجالات البرمجية باللغة العربية وهي أكاديمة معلومة وتخرج منها العديد من الطلاب العرب والتي تؤهلك مباشرة للعمل بعد التخرج من الدورة . وإليك الدورات المتاحة هنا على الأكاديمية : https://academy.hsoub.com/store/c1-دورات-تعليمية/ وبالإضافة إلى الدورات التعليمية توجد هنا مقالات ودروس وكتب مجانية يمكنك تصفحها وهي تخص العديد من المجالات التقنية والبرمجية . وأيضا يمكنك نشر الأسئلة هنا في العديد من الأقسام في الأكاديمية ويقوم بالإجابة عليك فريق كبير من المدربين هنا على الأكاديمية وأيضا الطلاب والأعضاء الأخرين على الأكاديمية . فهي مجتمع خاص بالعرب في الأسئلة التقنية وغيرها.
-
الأفضل رؤية الأجابات السابقة التي وضحتها لك ففيها جميع التفاصيل حول الرياضيات المطلوبة . ولكن تلخيصا أهم الفروع المطلوبة هي الاحتمالات والإحصاء، الجبر الخطي و التحليل الرياضي والتفاضل والتكامل.
- 5 اجابة
-
- 1
-
-
أولا php هي من أسهل اللغات التي يمكنك تعلمها بشكل سريع وأيضا تتوافر بها وظائف كثيرة في مجال العمل الحر ولكن توجد العديد من الملاحظات حولها . فبسبب سهولتها تجد أن أكثر الأشخاص يتعلمونها ولهذا فإن عدد العاملين بها كثير ولهذا هي ذات رواتب ضعيفة نسبيا وأيضا المنافسة فيها ستكون شديدة وصعبة لكثرة الأشخاص الذين يعملون بها . ولهذا إذا أردت أن تتعلم لغة سريعه ف php مناسبة لك ولكن يجب أن تكون قوي ومتمكن بها لتستطيع الحصول على وظيفة بسرعه . أما Node.js و Spring Boot و ASP.NET Core فهي من أشهر اللغات التي يتم العمل بها في الشركات وهي ذات رواتب كبيرة نسبيا وذلك لصعوبة تلك اللغات ويجب التمكن فيها لتستطيع العمل بها ولكن العمل الحر بها قليل وستحتاج إلى خبرة كبيرة لتحصل على عمل حر بنفسك أو يمكنك البحث عن أشخاص كفريق تعملون معا . ولكن يمكنك تعلم لغة ما وبجوارها تتعلم لغة أخرى فهذا الأمر جيد وممتاز وسيعطيك خبرة وأفضلية كبيرة ولكن سيحتاج إلى الكثير من الوقت لهذا يمكنك النظر مدى فراغك وأيضا مسؤولياتك وهل تحتاج إلى عمل في أسرع وقت أم لا . فلو كنت مشغول وتحتاج العمل سريعا في php هي الأفضل لك.
-
الدورة ليست مهتمة بشكل كبير بمجال تحليل البيانات ولكنها تضعك على المسار الصحيح وتوفر لك أساسيات تحليل البيانات . ولو أردت مسار لتعلم تحليل البيانات فيمكنك قراءة الإجابة التالية :
-
ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
-
في الدورة يتم شرح الأساسيات المطلوبة فقط في الدروس لهذا لن تحتاج إلى دراسة رياضيات خارجية لمتابعة الدروس . ولكنك بالطبع ستحتاج إلى تعلم الكثير من الرياضيات وخصوصا الجبر الخطي للتقدم في المجال وفهم التقنيات المتقدمة في المجال . وإليك الإجابات التالية لكيفية تعلم الرياضيات المتعلقة بالذكاء الإصطناعي : ولكن أغلب الكورسات هي باللغة الإنجليزية وأيضا هذا المجال يحتاج إلى لغة إنجليزية جيدة لتعلمه وحتى للعمل فيه بعد ذلك .
- 5 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. أولا إن مجال الذكاء الإصطناعي واسع جدا وستأخذ وقتا وجهدا كبيرا لدراسته بشكل جيد وحتى بعد الدراسة سيتوجب عليك التعلم دائما لما يحدث من تطوير مستمر في هذا المجال وبشكل كبير. أى أنه سيحتاج إلى أن توفر وقتا كافايا للدراسة يوميا لتستطيع التقدم فيه. لذلك إذا كنت تريد أو تحب العمل في مجال الذكاء الإصطناعي ولا تمانع من المذاكرة وتخصيص وقت لذلك والإطلاع دائما على التطويرات فيمكنك الإشتراك في دورة الذكاء الإصطناعي فهي جيدة وأيضا إذا كان لديك خبرة سابقة في الجبر الخطي وفي الإحصاء وفي الرياضيات عموما فهذا سيكون جيد ومناسب بالنسبة لك. وهي بالطبع تحتاج إلى شخص ذكي وليس بالضرورة أن يكون عبقري ولكن شخص ذكي يستطيع الفهم بشكل جيد ويتعامل مع الرياضيات وفهمها بشكل جيد لإعتماد المجال بشكل كبير على الرياضيات . أى أنه لو هناك شخص ما لا يحب الرياضيات فسيجد المجال صعب بسبب هذا الأمر. وبما أنك لديك مسؤوليات وأيضا دوام عمل وضغوطات فالأمر يعتمد عليك هل تستطيع توفير وقت ثابت يوميا للدراسة مثلا ساعتين أو أكثر ؟ وكما وضحت لك أن المجال ليس سهلا ويحتاج إلى مجهود ووقت كبير فهنا أنت الأعلم بأمورك وكيفية تنظيمك لوقتك فيمكنك بنفسك الإجابة على هذا السؤال بعد قراءة التفاصيل السابقة التي وضحتها لك. ونعم الدورة بعد إنهائها تستطيع أن تكون شخص مبتدأ في مجال الذكاء الإصطناعي وأن تعمل في شركة أو مشاريع مستقلة لك وهذا لو قمت بإتمامها وإنهائها بفهم جيد لها . وإليك ما ستتعمله في الدورة وما الذي ستؤهلك إليه من خلال الإجابة التالية :
- 5 اجابة
-
- 1
-
-
هنا في موقع الأكاديمية بخصوص إضافة دورات جديدة فالأمر يعتمد على عدة عوامل منها مدى الإحتياج لها والطلب عليها وهل محتوى الدورة مناسب لسوق العمل أم الطلب عليه ضعيف وهكذا، لذا الأمر راجع لإدارةالأكاديمية في تلك النقطة. ولكن بالنسبة للتطبيقات الموبايل فتوجد هنا دورة تطوير التطبيقات باستخدام JavaScript حيث مسارين كاملين لتطوير تطبيقات الموبايل حيث يوجد مسار تطوير تطبيق جوال باستخدام React Native و تطوير تطبيق جوال للتواصل الاجتماعي باستخدام Ionic . وسأقوم بإيصال إقتراحك لإدارة الأكاديمية لينظرو في إضافة دورة بإستخدام flutter
-
الأفضل البحث عن حل للمشكلة بنفسك أولا ولكن لو واجهت مشكلة كبيرة فيمكنك سؤال الذكاء الإصطناعي عن سببها الأساسي والبحث عن حل تلك المشكلة بعد معرفة السبب . ولكن إنتبه إلى أنه إذا تم إكتشاف أن المشروع بأكمله من خلال الذكاء الإصطناعي فهذا سيعتبر كمساعدة خارجية.
-
لا لن يكون هناك أى مساعدة من قبل المدربين لأنه سيكون مشروع تخرجك أى أنك أنت المسوؤل عنه ولا يتم السماح بأى مساعدة خارجية . وأيضا يفضل عدم إستخدام أى مساعدة خارجية فيمكنك إعتباره كعمل مستقل لديك حينها ستكون بمفردك ولن تستطيع الإعتماد على أحد سوى نفسك.
-
نعم الجهاز ممتاز ولكن هناك بعض العيوب فيه . أولا يجب عليك زيادة مساحة ال RAM حيث يجب أن تكون أقل ذاكرة مناسبة هي 16 GB ولو أكبر من ذلك سيكون أفضل للتدريب على النماذج الكبيرة . وكارت الشاشة لديه ذاكرة 4GB VRAM محدودة للنماذج كبيرة مثل GPT-like أو التدريب على مجموعات بيانات ضخمة وسيساعدك للعمل بعد الدورة ولكن ليس في الأمور المتقدمة جدا . أيضا الجهاز خفيف ورفيع لذلك مع الإستخدام المتقدم من الممكن أن يسخن كثيرا وهذا سيسبب بطئ في الأداء لذلك يمكنك البحث عن إصدار هذا الجهاز وانظر مستوى التبريد الخاص به و الحرارة التي يصل إليها عند إستعمال كارت الشاشة بأقصى قوته. وهذه هي العيوب الموجودة به يمكنك البحث عن بدائل أفضل من حيث كارت الشاشة ومن حيث سخونة الجهاز ولكن لو لم تعثر على جهاز فيمكنك الحصول على هذا الجهاز لا مشكلة ولكن يجب تكبير حجم ال RAM.
- 1 جواب
-
- 1
-
-
ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
-
دورة علوم الحاسوب توفر لك معلومات مكثفة حول مختلف مفاهيم لغات وتقنيات البرمجة وهي أساسية لزيادة معلوماتك حول مجال التقنية بشكل عام. و بانتهائك منها سيكون لديك خبرة جيّدة بدءً من الأساسيات والأفكار والمناهج النظرية مثل هندسة البرمجيات والبرمجة كائنية التوجه إلى التعامل مع أنظمة التشغيل ولغات البرمجة التي تم التطرق لها من خلال الأمثلة العملية في الدروس، وأيضاً سيكون لديك معرفة شاملة حول قواعد البيانات وطرق التعامل مع النوعين العلائقي وغير العلائقي. وفيها أيضاً مسار مخصص للدخول إلى عالم الويب والتعرّف على آلية عمل مطوري الويب في حال أحببت الانتقال إلى مجالات تطوير الويب لاحقاً لهذا إذا أردت التخصص في الواجهة الخلفية أو الأمامية فهذا المسار مهم جدا. ويمكنك قراءة الإجابة التالية لمزيد من التفاصيل حول الدورة : ولذلك فإن تلك الدورة مهمة للتأسيس عليها وفهم أساسيات الحسوب و التعامل مع الخوادم والأنظمة ولكنك لن تتخصص في مجال معين بل هي تضعك في بداية الطريق. وأنصحك بقراءة التالي لمزيد من التفاصيل : بإختصار سيتوجب عليك التخصص ودراسة مجال محدد لتستيطع الحصول على وظيفة مناسبة.
-
وعليكم السلام ورحمة الله وبركاته. إذا كنت تقصد ملخصات أو ملفات للشرح فهي غير متاحة وذلك للحفاظ على محتوى الدورة من النشر، لكن يوجد موسوعة حسوب وبها تفصيل أو مُلخص لكل ما تريد: https://wiki.hsoub.com/ وأيضا يوجد مقالات هنا على الأكاديمية كثيرة ودروس يمكنك متابعة ما تريده . وإليك ما يجب عليك حفظه لديك كملخصات خاصة بالدورة لتساعدك في المراجعة ومتابعة الدورة : أما إذا كنت تقصد الطريقة المناسبة لدراسة الدورة فإليك النصائح والإرشادات التالية :
-
نعم هذا الجهاز مناسب للدورة حاليا حبق هو مناسب للمبتدئين في هذا المجال والتعلم عموما وخاصة في المشاريع الصغيرة والمشاريع المتوسطة. حيث يمكنه تدريب شبكات عصبية صغيرة و يمكنه تشغيل واستخدام النماذج المدربة مسبقا ولكن ذات الحجم الصغير والمستخدمة في الدورة. ولكنه غير مناسب لتدريب نماذج الذكاء الاصطناعي المعقدة أو الكبيرة لهذا هو مناسب للدورة ولكن ليس بعد إنهائها . وعملية التدريب ستكون بطيئة في بعض النماذج ولكن لا مشكلة تستطيع إستخدام google colab وإستخدام الموارد المجانية التي تقدمها.
- 4 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. إن مجال الذكاء الإصطناعي ليس سهلا ولهذا ستجد في البداية صعوبة أثناء دراسته لذلك ستحتاج إلى بعض الوقت لتعتاد عليه وتستطيع فهمه ولهذا سيتوجب عليك إعادة مشاهدة الدرس أكثر من مرة حتى تتأكد من فهمه بشكل كامل ولو واجهت صعوبة في جزء معين يمكنك السؤال دائما أسفل الدرس وسيتم الإجابة عليك ومساعدتك من قبل المدربين المتاحين. وإليك النصائح التالية لكيفية مذاكرة دورة الذكاء الإصطناعي : وبعد الإنتهاء من تعلم الدورة ستحتاج إلى دراسة رياضيات متقدمة لتفيدك في هذا المجال وإليك التالي لمزيد من التفاصيل :
-
وعليكم السلام ورحمة الله وبركاته. نعم من الطبيعي أن يستغرق الكثر من الوقت حيث أن الذاكرة العشوائية RAM لديك صغيرة جدا وهي 4GB وأقل مساحة ذاكرة حاليا جيدةهي 8 جيجا. لذلك الأفضل ترقية الرامات على الأقل حتى 8 جيجا . وهذا الأكر سيسرع الجهاز قليلا ولكن لن تستطيع ترقية المكونات الأخرى مثل المعالج فهو ضعيف قليلا ولهذا أداء الجهاز سيظل بطيئا إلى حد ما.
- 4 اجابة
-
- 1
-
-
ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
- 4 اجابة
-
- 2
-
-
التردد أمر طبيعي وهو غالبا يكون بسبب إما عدم الثقة في مهاراتك أو الخوف من الإختبارات . ولكن بما أنك بالفعل قد قمت بالكثير من المشاريع وفهمت الدروس والأساسيات وتستطيع الإجابة على أى سؤال فغالبا الأمر فقط بسبب الخوف من الإختبار . لذلك أنصحك بالتقدم فلا تقلق فلا يوجد أى شئ يدعوك للقلق أو الخوف أو التردد فما هو إلا إختبار لا أكثر ولو حدثت مشكلة ما ولم تستطع الإجتياز فهذه ليست نهاية العالم بل سيقوم المدرب بتوجيهك وإخبارك بالقصور والمشاكل التي لديك لتقوم بحلها والتقدم للإختبار مرة أخرى. لهذا يجب عليك التحلي بالثقة بنفسك وعدم الخوف من الإختبار والتقدم دون أن تتردد . بالتوفيق.
- 1 جواب
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
- 1 جواب
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. أولا إن مجال ال UI و UX هو مختلف تماما عن البرمجة ومسار full-stack وهما أيضا وظيفتان مختلفتان لذلك الأفضل لك حاليا التركيز على مسار واحد لتستطيع أن تتمكن فيه وتجد فرصة عمل في أى منهما على الأقل. أما بخصوص تصميم واجهات المستخدم فهو يعتمد بشكل أكبر على برامج التصميم مثل Figma و photoshop وغيرها وأيضا يعتمد بشكل أكبر على الإبداع والتخيل . وإليك مقال عن الفرق بين ال UI و ال UX وتفاصيل أكثر حولهما : والرابط التالي يحوي العديد من المقالات بخصوص هذا الأمر : https://academy.hsoub.com/design/user-experience/
-
كيف تقوم بتشغيله ؟ وهل تستخدم mysql أم ماذا ؟
