-
المساهمات
2906 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
6
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو ياسر مسكين
-
وعليكم السلام ورحمة الله وبركاته، يمكنك تحسين مهاراتك في حل المشكلات البرمجية بأي لغة تريد وليس فقط لغة جافا سكريبت وذلك بالاعتماد على مواقع متخصصة مثل Codewars و Exercism، حيث توفر تحديات مصممة خصيصا لكل مستوى، من المبتدئ إلى المتقدم وهي تدعم العديد من اللغات. أما إذا كنت تبحث عن تحديات تقيّم حلك وتقدّم شروحات يمكنك تجربة موقع HackerRank وLeetCode فهما مثاليان لذلك، إذ يقدمان نظام تصحيح تلقائي وتحليلات مفصلة. يوجد أيضا Coderbyte وهو يتميز بجمعه بين التحديات والمقالات التعليمية يمكنك الاعتماد عليه أيضا.
- 4 اجابة
-
- 1
-
-
السلام عليكم ورحمة الله وبركاته، بالنسبة لمتطلبات اجتياز الاختبار الخاص بالشهادة فهي تشترط إتمام أربع مسارات كاملة ولا يهم هنا الترتيب. يمكنك الاطلاع عليها من هنا: الامتحان والحصول على الشهادة بما أنك متمكن من لغة جافا سكريبت فيمكنك تخطي المسار الأول والبدء من مسار: أساسيات البرمجة.
-
يمكنك ذلك بسهولة من خلال الضغط على زر Ctrl + S في لوحة المفاتيح لديك حينما تكونين داخل ملف الكود داخل VSCode أو أي محرر أكواد آخر تستخدمينه، في حال كنت تعملين على VSCode ستلاحظين زوال الدائرة البيضاء أعلى الملف عند حفظ الملف ثم يمكنك رؤية التغييرات التي تحدث بعد ذلك. وفي حال كان سؤالك متعلقا بأحد الدروس الرجاء الانتقال أسفل الدرس وإضافة سؤالك مرفقا بتفاصيل أكثر هناك في خانة التعليقات المخصصة لذلك
-
السلام عليكم ورحمة الله تعالى وبركاته، حسب ماهو مبين في الصورة فيبدو أنه تمرين لاختبار ما وحسب قوانين الأكاديمية فالأسئلة الاختبارية وأسئلة الامتحانات لا يتم الإجابة عنها هنا أرجو المحاولة بنفسك وفي حال لم تفهم أي مفهوم أو أي جزئية يمكننا شرحها لك. بالتوفيق.
-
السلام عليكم ورحمة الله وبركاته، بخصوص FormData فهي الطريقة المثلى والمعتمدة لإرسال الملفات، وطريقتك في حفظ الملفات بها صحيحة تماما لحل مشكلة فقدان الملفات عند الإلغاء. أما بخصوص استراتيجية الرفع للملفات الصغيرة والمتوسطة فالأفضل هو التجميع ثم الرفع الموحد (تحديد الملفات + زر رفع) وذلك لتقليل الضغط على الخادم وإمكانية إرسال بيانات إضافية، أما للملفات الكبيرة فالأفضل الرفع الفوري لكل ملف مع إمكانية الحذف من الخادم. وبخصوص تقنيات الإرسال فتقنية XMLHttpRequest هي تقنية قديمة ومعقدة بعض الشيء بالرغم من توفر دعمها الجيد. أنصحك باستخدام Fetch فهي الخيار الأمثل حاليا كونها حديثة وبسيطة وتدعم async/await. أما Ajax فهو مصطلح عام يشمل الطرق غير المتزامنة وليست تقنية منفصلة وإذا قصدت jQuery Ajax فهي قديمة وغير محبذة حاليا. يمكنك التوسع أكثر في الأمر من هنا:
-
الحل صحيح بشكل عام ويحقق المتطلبات الأساسية للتمرين. فقد استخدمت Random Forest كتقنية كلاسيكية والشبكة العصبية كما طلب في التمرين وطبقت مقياس MAE بشكل صحيح. بعد رؤيتي لجزء تقسيم البيانات يبدو لي أن ذلك قد تم بالطريقة المحددة. وبالنسبة للنتائج الخاصة بمعالجة البيانات هي صحيحة خاصة من خلال استخراج الميزات من التاريخ والوقت مثل الساعة ويوم الأسبوع وإضافة متغير نهاية الأسبوع لذا حسب تحليلي فالتصورات البيانية مناسبة وتساعد في فهم البيانات بشكل جيد. لكن لدي ملاحظة بسيطة بحيث أن هناك عدم اتساق في معالجة البيانات الفئوية فقد استخدمت pd.get_dummies() مرة و OneHotEncoder مرة أخرى ولم تقم بطباعة النتائج النهائية للمقارنة بين النموذجين بوضوح يمكنك أيضا تحسين أداء النماذج من خلال ضبط المعاملات واستخدام تقنيات أخرى ينصح بها.
-
السلام عليكم ورحمة الله وبركاته، بالطبع فهو حساب واحد سواء أدخلت بالهاتف من خلال المتصفح الذي في هاتفك أو من خلال الحاسوب. بالنسبة لفقدانك كلمة السر يمكنك استعادتها من خلال كتابة بريدك الإلكتروني المسجل في الأكاديمية من خلال التوجه نحو صفحة تسجيل الدخول، ثم اضغط على فقدت كلمة المرور أو من هنا: https://accounts.hsoub.com/reset_password وبعد إدخال البريد الإلكتروني لحسابك اضغط على إرسال ثم توجه إلى بريدك الإلكتروني الذي أدخلته للحصول على تعليمات استعادة كلمة المرور. ثم قم بفتح الرسالة الواردة من حسوب ثم اضغط على الزر المشار إليه ب "استعادة كلمة المرور" ثم أدخل: كلمة المرور الجديدة في المربع الأول أعد إدخال كلمة المرور الجديدة في المربع الثاني للتأكيد ثم اضغط على تغيير بعد ذلك سيتم توجيهك إلى صفحة تسجيل الدخول ويمكنك إدخال البريد الإلكتروني وكلمة المرور الجديدة لتتمكن من دخول حسابك وستظهر لك تبويبة الدورات بشكل عادي.
-
الدوال find وfindIndex في لغة جافا سكريبت وfindOne في قواعد البيانات مثل MongoDB تستخدم للبحث عن عناصر داخل مجموعة بناء على شرط معين، ولكن يجب التنويه أنّ لكل منها هدف مختلف. فدالة find تستخدم في المصفوفات وتعيد أول عنصر يطابق الشرط المحدد، مما يجعلها مناسبة عندما نريد الوصول إلى كائن أو قيمة محددة من بين عدة عناصر. أما findIndex فهي تعيد فهرس أو كما نقول موقع أول عنصر يطابق الشرط، وليس العنصر نفسه، ونستخدمها عندما نحتاج إلى معرفة موضع العنصر داخل المصفوفة مثلا لتحديثه أو حذفه. لكن من جهة أخرى نرى أن findOne تستخدم عادة مع قواعد البيانات مثل MongoDB) وترجع أول مستند (document) يطابق الشرط المعطى، وهي مفيدة للبحث عن سجل واحد فقط مثل مستخدم معيّن أو منتج حسب معرف أو اسم. مثلا هنا على سبيل المثال في: const user = users.find(u => u.id === 5); لاحظ أنه يعيد الكائن نفسه بينما هنا: users.findIndex(u => u.id === 5); سيعيد الرقم مثل 2، أي موقعه فقط بينما في MongoDB: db.users.findOne({ id: 5 }) سيعيد أول سجل يطابق هذا الشرط من قاعدة البيانات.
-
السلام عليكم ورحمة الله وبركاته، في JavaScript سابقا كانت لا توجد خاصيات وصول مثل private و public و protected كما في Java أو PHP. وجميع الخصائص والدوال في الكائنات تكون قابلة للوصول من الخارج افتراضيا لكن مع ES202 تم إدخال الحقول الخاصة (Private Fields) باستخدام الرمز # قبل اسم الخاصية مثلا نكتب: #privateProperty وهذا يجعل من الخاصية غير قابلة للوصول من خارج الكلاس لكن كما قلت لك قبل ذلك كان المطورون يستخدمون اتفاقيات تسمية مثل البدء بشرطة سفلية _property للإشارة إلى أن الخاصية "خاصة" ولكن هذا مجرد اتفاق وليس فرضا تقنيا حقيقيا.
- 5 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله تعالى وبركاته، بصراحة فإن اختيار الدورة المناسبة يحتاج لكثير من التفاصيل من المهم أولا أن ندرك أن بناء المهارات في مجال الواجهات الأمامية يمر بخطوتين أساسيتين الأولى هي التمكن من الأدوات الأساسية ك HTML، CSS، وJavaScript، إلى جانب مكتبات مثل jQuery وبيئات العمل ك Bootstrap وWebpack، وهي المهارات التي تغطيها دورة "تطوير واجهات المستخدم" وتمنحك قدرة على تنفيذ تصاميم ثابتة وتحويلها إلى صفحات تفاعلية بسيطة دون الحاجة إلى أطر حديثة. أما الخطوة الثانية فهي التعمق في تقنيات متقدمة مثل React وNext.js، والتي تركز عليها دورة "تطوير التطبيقات باستخدام JavaScript"، وتمنحك فرصة لبناء تطبيقات متكاملة أكثر تعقيدا. لذا في حال كنت في بداية الطريق، ننصح بشدة أن تبدأ بتأسيس معرفتك بالأساسيات أولا، حتى لا تواجه صعوبات لاحقا عند التعامل مع مكتبات مثل React. بخصوص الميزانية يوجد عرض جديد تم إطلاقه وهو عرض: "طوّر مهاراتك بفرصة مضاعفة" أين يمكنك الاشتراك في دورتين بسعر دورة واحدة وهذا عرض جيد ولا يأتي دائما فهو يتم عرضه على فترات فقط. يمكنك الاطلاع عليه أكثر من هنا: https://academy.hsoub.com/offers/double-skills-2025/
- 4 اجابة
-
- 1
-
-
السلام عليكم ورحمة الله وبركاته، عندما نرغب في حفظ مستخدم جديد وربط مجموعة من الصور به في Laravel فإن الخطوة الأهم هي ضمان تنفيذ العمليات بترتيب صحيح أي أن نقوم أولا بحفظ المستخدم ثم نربط الصور باستخدام المعرف (ID) الذي حصل عليه. وللقيام بذلك بطريقة فعالة، نبدأ بتعريف العلاقة بين النموذجين أي في نموذج المستخدم User.php نضيف دالة images() تخبر Laravel أن المستخدم يمتلك عدة صور، وذلك عبر علاقة hasMany كالتالي: public function images() { return $this->hasMany(Image::class, 'fk_user_id'); } أما في نموذج الصور Image.php فنعرّف علاقة عكسية باستخدام belongsTo، حتى تتمكن الصورة من معرفة المستخدم المرتبطة به: public function user() { return $this->belongsTo(User::class, 'fk_user_id'); } وبعد ضبط العلاقات ننتقل إلى تنفيذ عملية الحفظ داخل المتحكم Controller وأول ما نقوم به حينها هو التحقق من صحة البيانات القادمة من النموذج، بما في ذلك الصور، باستخدام التابع validate هكذا: $user = User::create([ 'name' => $validated['name'], 'email' => $validated['email'], 'password' => Hash::make($validated['password']), ]); ثم نتحقق ما إذا كانت هناك صور مرفقة مع الطلب فإذا وجدت، نقوم بتخزين كل صورة في مجلد مخصص باستخدام store()، ثم نربطها بالمستخدم الجديد باستخدام العلاقة images() التي عرفناها سابقا: if ($request->hasFile('images')) { foreach ($request->file('images') as $file) { $path = $file->store('user_images', 'public'); $user->images()->create([ 'path' => $path, 'original_name' => $file->getClientOriginalName(), ]); } } وأخيرا نعيد ردا يفيد بأن كل شيء تم بنجاح: return response()->json(['message' => 'User and images saved successfully']); أما في واجهة المستخدم أي في ال form فيجب التأكد من أن الحقل الخاص بالصور يقبل ملفات متعددة، وذلك باستخدام multiple مع اسم يحتوي على أقواس مربعة بهذا الشكل: <input type="file" name="images[]" multiple>
-
السلام عليكم ورحمة الله وبركاته، عندنا نفكر في تنفيذ عملية المصادقة باستخدام رقم الهاتف فإن اختيار الخدمة المناسبة لا يعتمد فقط على الشهرة، بل على التوازن بين السهولة، التكلفة، والدعم الفني لأنه توجد عدة حلول يمكننا الاعتماد عليها، وكل واحدة منها تناسب سيناريوهات معينة على حسب المشروع خاصتنا. من أبرز الخيارات وأكثرها استخداما هي Firebase Authentication وما يميزها أنها توفر حلا جاهزا للمصادقة عبر SMS سواء على الويب أو الموبايل، مع دعم مباشر لمكتبات React Native وExpo بدون الحاجة لـ eject. كما أنها مدعومة بشروحات كثيرة ومجتمع نشط، مما يجعل عملية الدمج والتصحيح أسهل بكثير لكن يجب الانتباه إلى بعض النقاط مثل اعتماد تكلفة الرسائل على مزود Google ووجود قيود في بعض الدول التي لا تدعمها Firebase، مما قد يشكل عائقا في الأسواق المحظورة أو المحدودة. يوجد أيضا Twilio والتي تقدم حلا مرنًا وأكثر احترافية فهي لا تفرض علينا منطقا جاهزا، بل تمنحنا واجهات برمجية (APIs) يمكن من خلالها إرسال الأكواد والتحقق منها يدويا وهذا يتيح بناء نظام مصادقة مخصص بالكامل في الخادم من خلال NestJS وإضافة أي منطق تحقق إضافي نريده كما أن Twilio يسمح بإرسال الرسائل بأرقام مخصصة أو حتى باسم العلامة التجارية، بشرط تقديم مستندات إثبات الهوية وتكمن قوتها في المرونة العالية، لكنها تتطلب خبرة أكبر وتكلفة قد تكون أعلى من Firebase. أما إذا كنا نبحث عن منظومة مصادقة متكاملة لإدارة المستخدمين وتدفقات الدخول المتقدمة، فإن Auth0 خيار قوي لكنه موجه أكثر للشركات أو التطبيقات ذات التعقيد العالي. هذا الأخير يدعم المصادقة عبر الهاتف من خلال Twilio أو غيره، ويوفر لوحة تحكم متقدمة، لكنه أغلى نسبيا ويحتاج إعدادات أكثر تعقيدا، مما يجعله غير مثالي لتطبيقات ناشئة أو MVPs.
- 3 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته، لا يوجد دورة منفصلة تدرس رياكت فقط إنما توجد دورة "دورة تطوير التطبيقات باستخدام JavaScript" ومن خلالها يمكنك تعلم رياكت بحيث يوجد مسار مخصص له هناك. كما يمكنك دراسته من خلال مقالات الأكاديمية من هنا: https://academy.hsoub.com/programming/javascript/react/ أو من خلال موسوعة حسوب من هنا: https://wiki.hsoub.com/React أو من خلال التوثيق الرسمي لرياكت من هنا: https://react.dev
-
هذا الشعور طبيعي أن ينتابك في البداية، وهذا حال الجميع في حالتك وليس بالأمر الذي نقلق بشأنه. فاحتراف البرمجة لا يمكن أن يأتي بين ليلة وضحاها بل هو نتيجة عمل دؤوب ومستمر. بالنسبة للمتجر الإلكتروني فيمكنك بداية المتابعة مع المدرب أثناء التطبيق العملي خطوة بخطوة، وفي حال لم تفهم أي شيء من الشرح يمكنك الإشارة هناك أسفل التعليق وسنجيبك على كل تساؤلاتك. أرجو تفادي تخطي الدروس أو المسارات فبسبب ذلك لا يكون هناك تناسق بين الدروس وقد يحدث خلل في استيعابها كاملة يمكن استشارتنا في أي وقت لتقديم المشورة الصحيحة لك. بعد فهم الدرس جيدا ومحاولة التطبيق الأولية مع المدرب، يمكنك إيقاف الفيديو لوهلة ومحاولة معاودة التطبيق بنفسك وبمفردك. وهكذا مع مرور الوقت ستمتهن هذه المهارة وتصبح تبرمج بنفسك لأنك قد فهمت جيدا ما كان يفعله المدرب منطقيا وبرمجيا.
-
السلام عليكم ورحمة الله تعالى وبركاته، صحيح أننا حاليا نقترب بشكل واضح من مرحلة تصبح فيها البرمجة مهارة تتركز أكثر على فهم الكود، تحليل المشكلات، وتوجيه الأنظمة الذكية بدلا من الاعتماد على كتابة الكود من الصفر خاصة مع تطور أدوات الذكاء الاصطناعي في الآونة الأخيرة فقد أصبحت عملية كتابة الكود آليا أكثر دقة وسرعة، مما قلل الحاجة إلى الحفظ والتفصيل اليدوي. لكن بالرغم من ذلك فإن هذا لا يعني أن البرمجة فقدت قيمتها، بل إن طبيعتها تغيرت والمهارات المطلوبة اليوم تتجه أكثر نحو: قراءة الكود وفهمه، سواء كان مكتوبًا من قبل البشر أو مولدا آليا. تحديد المشكلات بدقة وتفكيكها إلى تعليمات واضحة. تحسين الكود القائم وصيانته. التعاون مع أدوات الذكاء الاصطناعي من خلال توجيهها بطرق فعالة (prompt engineering). وبالتالي نعم ينبغي أن تتغير طريقة تعليم البرمجة لتواكب هذا التحول والتركيز يجب أن يتحول من تعليم بناء الكود خطوة بخطوة إلى: تعليم التفكير الخوارزمي وحل المشكلات. تدريب على قراءة كود فعلي وتحليله. تطوير مهارات استخدام أدوات الذكاء الاصطناعي بذكاء. بناء مشاريع واقعية تدمج هذه الأدوات في التنفيذ.
-
السلام عليكم ورحمة الله وبركاته، في الدورة تم استخدام react-scripts لإنشاء مشاريع React، وهي تعتمد على أداة التحزيم webpack، التي كانت لفترة طويلة المعيار الرئيسي لإدارة وبناء تطبيقات React وهذه الطريقة تم استخدامها لأنها كانت الأكثر شيوعا وانتشارا عند إعداد المشاريع في السابق. لكن مع تطور الأدوات والتقنية الحاصل حاليا بدأ Vite يحظى بشعبية كبيرة لأنه يوفر سرعة أكبر في بدء المشروع وتجربة تطوير أكثر سلاسة بفضل استخدام تقنيات حديثة مثل ال ES modules لكن لا داعي لتهويل الأمر لأن المفاهيم الأساسية ل React التي تعلمتها أو سيتم التطرق إليها في الدورة نفسها لا تختلف سواء استخدمت react-scripts أو Vite، لأن الاختلاف فقط في كيفية إعداد وتشغيل المشروع وليس في كتابة الكود أو بناء التطبيق.
-
السلام عليكم ورحمة الله وبركاته، عنصر <select> في HTML يستعمل لإنشاء قائمة منسدلة (dropdown list) يمكن للمستخدم منها اختيار قيمة واحدة أو أكثر عند تفعيل خاصية الاختيار المتعدد وهو يعتبر بمثابة حاوية لعناصر <option> التي تمثل الخيارات الظاهرة داخل القائمة. وعند تحديد المستخدم لأحد هذه الخيارات، ترسل قيمة الخاصية value المرتبطة به مع بيانات النموذج إلى الخادم في الحقل الذي يحمل اسم الخاصية name للعنصر <select>. كما يمكن ربطه بمعرف فريد id لتمكين التحكم بتنسيقه عبر CSS أو التفاعل معه برمجيا عبر JavaScript؛ فمثلا يمكن قراءة القيمة المختارة أو تغييرها ديناميكيا من خلال selectEl.value والاستماع لحدث change للاستجابة لاختيارات المستخدم. والمميز أنه يدعم خصائص مثل multiple للسماح باختيار عدة عناصر دفعة واحدة، وdisabled لتعطيل القائمة بأكملها، ويمكن كذلك تعطيل خيارات محددة عبر إضافة خاصية disabled إلى عنصر <option>. يمكنك التعمق أكثر من خلال الدرس في موسوعة حسوب. أو من خلال:
-
أي ربح تقصد؟ هل من خلال العمل في وظيفة تشمل مهاما متعلقة بال HTML و CSS أم العمل الحر؟ على كل حال فهذا يعتمد على المشروع الذي تنجزه فإن كانت وظيفة كان الراتب على قدر المهام التي تنجزها وفي العموم لا يتطلب خبرة كبيرة، أما من خلال العمل الحر فالاكتفاء فقط بههما لا ينصح به، من الأفضل تعلم لغة جافا سكريبت لكي تبني مواقع ديناميكية وليس ثابتة فقط ما يجعل الخيارات تتوسع أكثر بالنسبة لك وتحقق مداخيل أفضل. بعدها يمكنك تعلم إطار عمل معين كرياكت وبوتستراب والعمل من خلالهما في مشاريعك وهذا سيسهل عليك الكثير من الأمور عوض إنجاز المشاريع من خلال أكواد html و css بحتة. صحيح أنك قد تجد عملاء يرغبون في مشاريع بهذه التقنيتين فقط لكن على العموم قلت لك لا ينصح بتعلم هاتين فقط والإجابة على سؤالك تبقى نسبية، فتحقيق المداخيل من البرمجة ليس مقتصرا فقط على تعلم التقنية بل على الكفاءة، التسويق، ومعرض الأعمال وأمور كثيرة.
-
السلام عليكم ليس بالمعنى الحرفي، أولا يجب التنويه إلى أنّ رياكت هو عبارة عن مكتبة JavaScript لبناء واجهات المستخدم بشكل تفاعلي وقابل لإعادة الاستخدام، وتمرّ بخطوات متسلسلة من فهم المكوّنات (Components) وإدارة الحالة (State) إلى تحسين الأداء والاختبارات وتنظيم البنية المعمارية للمشروع. بالنسبة لتطبيق الملاحظات فأنت مطالب بفهمه وإنجازه ورفعه وهذا سيكون خطوة أساسية في مسارك التعلّمي لاحتراف رياكت، فأنت هنا وضعت إحدى اللبنات الأساسية للتعلم وهو "التطبيق العملي" وأما الاحتراف الكامل للمكتبة فيمرّ بعدة مراحل مع إنجاز مشاريع مختلفة متفاوتة الصعوبة والتعقيد حتى الوصول لدرجة الاحتراف. فمن المهم الآن أن تركز على إتقان الأساسيات من خلال إنشاء المكوّنات (Components) والتعامل مع الحالة المحلية (useState) وأيضا التفاعل مع المستخدم (event handling) ثم بعد ذلك الانتقال إلى مواضيع أكثر تعقيدا مثل: إدارة الحالة المعقدة Lazy loading و Code splitting تحسين الأداء (Memoization، useCallback، useMemo) اختبارات المكونات (Jest، React Testing Library) التنقل بين الصفحات (React Router) وغيرها من المواضيع التي تأتي مع مرور الوقت والتعلم المستمر لذا لا تستسلم فإتقانك لهذا المشروع ضروري لاستيعاب دروس الدورة وفهمها بشكل جيد.
- 4 اجابة
-
- 1
-
-
مادمت تستمتع بكتابة الأكواد من الصفر فهذه ميزة جيدة وقيمة كبيرة ولا يجب الاستهانة بها، لكونها تطور فهمك العميق للأساسيات ويقوي مهاراتك في حل المشكلات ويمنحك تحكما كاملا في كل تفصيلة من تفاصيل الكود وهذا الأسلوب يبني لديك أساسا متينا لا يمكن لأي أداة أن تعوضه خاصة إن تم صقل هذه المهارة. لكن الحقيقة أن أفضل نهج هو المزج بين الاثنين حسب السياق والهدف فعندما تتعلم مفهوما جديدا أو تريد فهم آلية عمل شيء معين، فالكتابة من الصفر أمر بالغ الأهمية أما عندما تعمل على مشروع له موعد تسليم ضيق أو تحتاج لإنجاز مهام روتينية متكررة يمكنك حينها أتمتة بعض المهام أو حتى تطوير أدوات تنفذ لك بعض المهام البسيطة كي تتفرغ لمهام أكثر تعقيدا أين تحتاج لمستك فيها.
- 8 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله تعالى وبركاته، هذا السؤال تكرر كثيرا في الآونة الأخيرة ويختلف الكثيرون في الإجابة عليه، لكن لا أعتقد أن المبرمجين الحقيقيين يولون اهتماما كبيرا لهذه المسألة وعلى الأغلب تجد هذا النقاش يأخذ منحا جديا عند بعض الفئات المهتمة بالمجال التقني والبحث فيه أما المبرمج الحقيقي فهو يواكب التطورات والتحديثات ولا ينظر إليها على أنها عائق. بالنسبة لي لا يتوقع أن يحلّ الذكاء الاصطناعي محلّ البشر بشكل كامل، إذ يظلّ عاجزا عن مُجاراة الإبداع البشريّ والحدس والقدرة على التعامل مع السّياقات المعقّدة ذات الأبعاد الأخلاقية والعاطفية. أمّا المبرمجون الحقيقيون فهم في مهمة ويطوّرون تقنياتِ الذكاء الاصطناعي لتعزيز كفاءة العمل، لا لإزاحة أنفسهم، فهو أداة وسلاح ذو حدين يسرع إنجاز المهام الروتينية وتحرّرهم للتركيز على الجوانب الإبداعية وحلّ المشكلات غير التقليدية كما أنّ تطويرَ هذه التقنيات يخلق مجالات جديدة تستدعي مهارات بشريّة متخصِّصة وجديدة هي الأخرى.
- 8 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته، أعتقد أنه ليس ضروريا أن تمتلك موقعا شخصيا بما أنك تعرض مشاريعك فقط عبر GitHub وKaggle، لكن وجود موقع أو بورتفوليو خاص بك سيتيح لك تصميم واجهة شاملة ستجمع فيه سيرتك الذاتية وروابط مشاريعك وشهاداتك وأي محتوى تفسيري أو تفاعلي تريده، مما يعزز علامتك المهنية ويمنح أصحاب العمل والعملاء المحتملين انطباعا أكثر احترافية وتنظيما. كما يتيح لك إضافة مدونة تقنية تشرح فيها خطوات تحليلاتك وتفاصيل خوارزمياتك ويوفر لك تحكما كاملا في تحديث المحتوى وحمايته عبر شهادة SSL، ويمكنك البدء مجانا باستخدام GitHub Pages أو Netlify وبناء صفحة بسيطة ثم توسيعها تدريجيا إلى موقع متكامل بحسب احتياجاتك.
- 6 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته، بما أنك في المرحلة الثانية من دورة تطوير التطبيقات باستخدام بايثون، فهذا هو الوقت الأنسب لتبدأ بتعلم أساسيات تطوير الواجهات الأمامية، مثل HTML وCSS وJavaScript. هذه المهارات لا تتطلب وقتًا طويلًا لإتقان أساسياتها، لكنها ضرورية جدًا، خصوصًا قبل أن تنتقل إلى تعلم إطار العمل Django، لأنه يعتمد بشكل مباشر على استخدام قوالب HTML لعرض المحتوى. حتى لو كنت تنوي التركيز على البرمجة الخلفية، لا يمكنك تجاهل الواجهة الأمامية تماما، لأنك ستحتاج على الأقل إلى القدرة على بناء صفحات بسيطة وتنسيقها وربطها بما يجري في الخادم (السيرفر). فهمك لهذه الأجزاء سيجعل تجربتك مع Django جيدة. أما بخصوص الدورات السريعة (Crash Courses) على يوتيوب فهي خيار جيد لمن كانت لغتك الإنجليزية جيدة كما ذكرت كما أنها لا تقدم لك تجربة عميقة في التعلم.
-
وعليكم السلام ورحمة الله وبركاته، ذلك يعرف بالأيقونة أو بال favicon ولعملها يجب أولا تحضير ملف الأيقونة ويُفضّل أن يكون باسم favicon.ico وبالحجم 16×16 بكسل أو 32×32 بكسل يمكنك أيضاً استخدام صورة بصيغة PNG (مثلاً favicon.png) بأحجام متعددة مثلا 32×32، 48×48، 64×64 ثم وضع ملف الأيقونة في مجلد المشروع وعادة يوضع الملف في جذر المجلّد الذي يحتوي على صفحة ال HTML أو في مجلد ثابت assets/images/ ثم في ملف ال HTML الرئيسي مثلا إذا كان باسم index.html أو ما شابه نضع هذا الكود داخل الوسوم <head>...</head>: <link rel="icon" href="favicon.ico" type="image/x-icon">
