اذهب إلى المحتوى

لوحة المتصدرين

  1. عبد اللطيف ايمش2

    • نقاط

      6

    • المساهمات

      23


  2. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      6

    • المساهمات

      13209


  3. عبدالباسط ابراهيم

    • نقاط

      4

    • المساهمات

      4894


  4. محمود سعداوي2

    محمود سعداوي2

    الأعضاء


    • نقاط

      2

    • المساهمات

      604


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 09/19/23 في كل الموقع

  1. السلام عليكم. لجلب البيانات من قاعدة البيانات قمت بالكود التالي useEffect(() => { const getUser = async() => { await axios.get('/api/auth') .then(res => console.log(res.data)) .catch(err => console.log(err, "err")) } getUser() }, []) package.json "proxy": "http://127.0.0.1:3001" في جهة الخادم authCtr.js const getCurrentUser = async(req, res) => { try { const user = await User.findById(req.user.id).select('-password'); res.json(user) } catch (error) { console.log(error) res.status(500).send("Server error"); } } authRoute.js // /api/auth router.get('/', protect, getCurrentUser) server.js app.use('/api/auth', require('./routes/authRoute')) الدالة protect const jwt = require("jsonwebtoken") const protect = (req, res, next) => { // Get token from header const token = req.header('x-auth-token') // Check if no token if (!token) { return res.status(401).json({msg: 'No token, authorization denied!'}) } // Verify token try { const decoded = jwt.verify(token, process.env.JWT_SECRET) req.user = decoded.user next() } catch (err) { res.status(401).json({msg: 'Token is not valid'}) } } module.exports = protect عند إستخدام postman لا توجد مشاكل لكن في طرف العميل تظهر رسالة الخطأ التالية شكرا على المساعدة
    1 نقطة
  2. محتاج تدريب مجانى بدون اجر تدريب مثل العمل و ليس دورة فانا بالفعل طالب فى الأكاديمية على ديجانجو بعض الوقت فهل ممكن اكاديمية حسوب توفر هذا التدريب
    1 نقطة
  3. مرحباً لدي خبرة جيدة في العمل على وورد بريس ولكن احتاج لمعرفة بعض التفاصيل اذا اردت اضافة كود html ومعه JS ما هي افضل طريقة لادراجه ؟ هل الافضل اضافة html element كقطعة ضمن المحرر أو اضافته ضمن محرر الملفات , بشكل عام اريد تزويدي بفكرة عن كيفية التعامل مع محرر ملفات الووردبريس شاكر لكم
    1 نقطة
  4. لو مثلا اريد ان ابرمج موقع و انا فرونت اند و لست باك اند واريد ان اضع وسائل الدفع يدفع منها الزائر ما سبيل الى ذلك دون الاستعانة بل باك اند وايضا هل استطيع انا ابرمج متجر الكتروني متكامل دون الاستعانة بباك اند ونشره عا الانترنت
    1 نقطة
  5. السلام عليكم ورحمه الله وبركاته في الفيديو المرفق عندما اضغط على الايقونة او link كلٍ على حدة الpanel تفتح و تغلق بشكل طبيعي لكن عندما انتقل الى link او ايقونة اخرى فتحتاج double click او ضغطتين حتى تفتح ما حل هذه المشكلة؟ CCED - Google Chrome 2023-09-18 17-16-48.mp4
    1 نقطة
  6. يحدثنا وليد عن أن اكتساب مهارة التعلّم الذاتي وجعلها جزءًا من روتينك اليومي أهم ما يمكن لطالب هندسة البرمجيات أن يتقنه، خصوصًا وأن مجالات التكنولوجيا في تطور سريع ومليء بالمنافسة، فكيف أتقن وليد هذه المهارة وكيف ساعدته في الحصول على عمله الحالي، وماذا يمكن أن تتعلم منه؟ في هذه السلسلة وثقنا قصص مجموعة من المطورين من طلاب أكاديمية حسوب كانوا مثلك تمامًا في يوم من الأيام، بعضهم كان مترددًا بشأن قدرته في أن يكون مطورًا من الأساس، وبعضهم كانت لديه مخاوف حول تمكّنه من المنافسة في هذا المجال سريع التطور، ومنهم من كانوا طلابًا في هندسة الحاسوب تنقصهم الخبرة العملية، لكنهم جميعًا في لحظة ما، قرروا بذل جهود حقيقية في التعلّم فحصدوا ثمارها. مرحبًا وليد، حدثنا قليلًا عنك؟ أنا وليد الفيفي مواليد 1996، نشأت في قرية صغيرة اسمها؛ الفيفاء وهي قرية بعيدة كل البعد عن الإنترنت والبرمجة والتكنولوجيا، درست هندسة البرمجيات في جامعة الملك فهد للبترول والمعادن وأعمل حاليًا مهندس برمجيات في مؤسسة حراج. نشأ حبي للبرمجة في السنة التحضيرية للجامعة، كنت وقتها في حيرة بين تخصصي الطيران والحاسب. لكن دعيني أقول إن الظروف هي ما قادتني للحاسب، ربما بحكم اعتيادي الجلوس أمام الحاسوب لفترة طويلة. هذا إضافة إلي تميزي الواضح في مواد الحاسب التي تفوقت فيها كثيرًا موازنة بغيرها من المواد في تلك السنة التحضيرية، ومن هنا بدأت أبحث عن هذا التخصص أكثر إلى أن أحببته. وعندما بدأت أتعلم التطوير في 2018 وجدت نفسي جدًا في هذا المجال، وشعرت بمتعة كبيرة في كتابة البرمجيات ومشاهدة نتائجها، لذلك على عكس الشائع فأنا لا أرى أن الشغف يلزم أن يكون معك من البداية، فمن خلال تجربتي رأيت بأنه كلما تعلمت وصرت أفضل فيما تهتم به ستحبه أكثر، فأصبحت كلما تعمقت ودرست أكثر عن علوم الحاسب وأنماط التصميم وغيرها من الموضوعات ذات الصلة أدرك كم أنني أحب هذا المجال. لماذا لجأت إلى التعلم الذاتي، وكيف كنت توفق بين الدراسة الجامعية والدراسة الذاتية؟ من دون أي شك، في تخصص هندسة البرمجيات أو هندسة الحاسب، لا بد من أن يكون لديك مسار للتعلّم الذاتي. فالجامعة ممكن أن تعطيك وتعلمك، لكن في النهاية إن أردت أن تكون متفوقًا ولك أفضلية في هذا المجال فحتمًا لا بد من أن تتعلم بنفسك حتى تتمكن من المنافسة. وصراحة، من الأمور التي أندم عليها هي السنوات الأولى في الجامعة إذ كنت أعتمد على الجامعة باعتبارها مصدرًا وحيدًا للتعلم وهذا ما اتضحت لي أنه خطأ. وابتداء من السنة الثالثة كنت أخصص كل يوم ساعتين إلى ثلاث ساعات للدراسة، وإن لم أستطع تكون ساعة واحدة على الأقل، وتكون هذه الفترة في الصباح دائمًا، وكنت ألزم نفسي بأن أنهي الدورة أو المصدر الذي أتعلم منه من ألفه إلى يائه. وصحيح كانت تأتيني أيامًا أكون مشغولًا فيها، لكني لم أكن لأفرط في هذه الساعة أبدًا. ما هي الطريقة الأمثل من وجهة نظرك لتدارس البرمجة؟ أرى أن التعلم الذاتي هو الطريقة الأمثل ولا بد وأن ترافق أي طالب لعلوم الحاسب والبرمجة من أول سنة له في الجامعة، لأن هذا سيعطيك أفضلية كبيرة جدًا، وأفهم أنه قد يكون صعبًا عليك في البداية أن تحدد المسار البرمجي الذي ستمضي فيه مستقبلًا، لكن لا تجعل ذلك عائقًا عن التعلّم، فلا يهم معرفة التخصص أكثر من أهمية تعلم مهارة التعلّم الذاتي نفسها وأن تكون جزءًا من حياتك وروتينك اليومي لا تتنازل عنه. وأصعب شيء في التعلم الذاتي هو الانضباط والالتزام بالتعلّم، فأنا مثلًا قبل 4 سنوات من الآن ما كان عندي القدر المطلوب من الانضباط. لكني بعدما بدأت في دراسة تخصصي وجدت أن الالتزام تجاه ما أتعلمه أصبح أيسر، فكنت أخصص ساعتين إلى ثلاث ساعات يوميًا للبحث عن الأشياء التي أود تعلمها من مواقع أو دورات أو توثيقات أو أُطر عمل وجميعها من مواقع أجنبية إذ كانت هي وجهتي الأولى التي أبحث فيها وبعدما تعمقت أكثر اتجهت إلى أكاديمية حسوب. ومما أنصح به الطلاب أيضًا، هو التفكير في العمل الحر أو حتى العمل بدوام جزئي ما استطاع إلى ذلك سبيلًا، وأقله البحث عن فرص تدريبية سواء أكانت مدفوعة أو لا؛ فالمهم هنا هو تحصيل خبرة عملية، وهذه النصائح استفدت من بعضها وقصرت في بعضها لكنني أتلمس بنفسي الفوائد الشخصية التي عادت على من جربها جميعها. وشيء أخير أحب أن أضيفه، هو ربما من المفيد السعي للحصول على بعض الشهادات الموثوقة في مجالات إدارة تطوير المنتجات ومنهجية الـ Agile scrum ومجال هياكل البيانات والخوارزميات وغيرها من المجالات المهمة في علوم الحاسب. ما هي التحديات التي واجهتك في أثناء التعلم، وكيف تغلبت عليها؟ أكبر تحدي واجهته وأتوقع أنه ربما يواجه الكثيرين في هذا المجال هو عدم تأكدهم من أن هذا المسار الذي يدرسونه هو ما يريدونه حقًا، إضافة إلى شكوكهم بشأن قدرتهم على النجاح فيه، وهذا عائد إلى أن مجالات التكنولوجيا صعبة وبها تحديات كبيرة وهي كذلك سريعة التطور، فما ستتعلمه اليوم ستجده فاقد الصلاحية بعد سنتين أو ثلاث. فأنا مثلًا كانت بدايتي بتعلّم تطوير الأندرويد وتعلمته لمدة سنة، ثم غيرت المسار بعدها لأنه لم يستهويني العمل به وعرفت أنني لست بقادر على الاستمرار فيه، والأمر نفسه كان عندما بدأت تعلّم تطوير الويب، وأريد أن أقول هنا إن الفضل يرجع إلى أكاديمية حسوب أنها حددت لي المنهج الذي ينبغي أن أمضي وفقه ومن دونها كان من الممكن جدًا أن أتشتت بالتقنيات الكثيرة الموجودة في الويب. والتحدي الثاني يتمثل في المنافسة الكبيرة جدًا في تخصص البرمجة، فمن الصعب لأي شخص مبتدئ فيه أن يحافظ على تنافسيته وتميزهم فيه وتنسحب هذه الصعوبة على أصحاب الخبرة أيضًا. كيف سمعت عن أكاديمية حسوب وما تقييمك لتجربة التعلم معها؟ منذ زمن وأنا أتابع النقاشات على حسوب I/O وكنت نشطًا على هذه المنصة، ومن هناك تعرفت على حسوب ومنها أكاديمية حسوب ودوراتها. ولم أكن مهتمًا بالدورات حتى وجدت دورة تطوير التطبيقات بلغة جافاسكربت إذ كنت مهتمًا بهذه اللغة في هذه الفترة، وتقريبًا كنت أول المشتركين فيها بعدما أعلنوا عنها. وعمومًا تجربتي مع أكاديمية حسوب تجربة مثمرة، وأفضل شيء فيها هو جودة المحتوى وهذا يشمل تسجيل الفيديو من صوت وصورة، وكذلك تشمل هذه الجودة طريقة الشرح والتعمق والتفصيل فيه، وكذلك من جهة المدربين فأغلبهم أسلوبهم ممتاز في الشرح. وأكثر الأشياء المحببة لدي في الدورة كان قسم التعليقات فقد استفدت منه كثيرًا، فكنت كثير السؤال وأجد أن الإجابات تأتيني في غضون ساعات قليلة وتكون واضحة. والشيء الجميل هو أن المحتوى باللغة العربية وهنا أقصد اتسامه بالجودة مع ذلك، وأنا أعلم أنه ثمة الكثير من المحتوى المنشور على الإنترنت باللغة العربية لكن أغلبه ليس على مستوى الجودة الذي يجعلك تثق به في التعلّم تحديدًا لشخص مثلي كان معتادًا على المصادر الأجنبية. وأشير أخيرًا إلى حجم الاهتمام والدعم المقدم للطلاب خصوصًا بعد التخرج وإنجاز متطلبات الدورة، فهذا الاهتمام من الأشياء التي تشكر عليها الأكاديمية، وما زلت أذكر وأقدر المقابلة التي أجريت معي وأمدوني فيها بمجموعة نصائح مهمة حول التطوير المهني وكيفية استغلال مهاراتي في سوق العمل. لذلك فأنا ممتن جدًا لاستثماري في الدورة. كيف ساعدتك دورة جافاسكربت التي حصلت عليها في أعمالك الحالية؟ أعمل حاليًا مطور ويب في مؤسسة موقع حراج، وهو بالضبط التخصص الذي درسته في أكاديمية حسوب. فأنا أعمل بجافاسكربت و React وغيرها، فقطعًا ما درسته في أكاديمية حسوب إلى الآن يساعدني في عملي، بطبيعة الحال أنا طورت عليه وتعلم مهارات أكثر مثل TypeScript و Next.js. وما يجدر الإشارة إليه هنا أن أهم شيء تحصل عليه عندما تتعلم مع أكاديمية لها منهج محدد مثل أكاديمية حسوب هو الدعم الذي يحصل عليه الطالب، لأنك عندما تتعلم شيئًا جديدًا ستكون لديك الكثير والكثير من الأسئلة لتفهمه وهذا متوفر بطريقة رائعة في حسوب. كذلك ستحصل على شهادة وضمان للحصول على عمل في أقل من 6 أشهر أو أن تستعيد استثمارك وهذا أكثر شيء جذبني إلى الدورة لأنك ما تبغى تتعلم وتتعمق في شيء دونما القدرة على توظيف هذه المهارات في عمل حقيقي. ما الذي كنت تتمنى معرفته أو تصحيحه في خلال رحلتك السابقة؟ كنت لأكون أكثر حرصًا وتركيزًا في رحلة التعلم تحديدًا في أول سنتين لي في الجامعة. وكنت سأختار أن ألتزم التعلم في مسار واحد من أوله إلى آخره دونما التشتت في تعلم تقنيات كثيرة في وقت واحد. وأكثر ما أنصح به أي طالب أن يتعلم باستمرار، فكلما عودت نفسك على حل المشكلات البرمجية أكثر صار عندك عقلية حل المشكلات، وهذا بطبيعة الحال سينمي لديك مهارة التفكير المنطقي، وستتمكن من التعامل بمرونة وكفاءة مع المشكلات التي ستقابلك في المستقبل. وفوق ذلك أذكر أهمية الصبر، لأن هذا المجال ليس بالسهل، لكن إن صبرت عليه وتعلمته بإتقان فسيعطيك أفضل مما أعطيته. كيف حصلت على أول عمل في البرمجة؟ أهم شيء بالنسبة لي في هذه الرحلة الطويلة هو التوظيف، يعني أنا هدفي الأساسي من التعلّم كان في الحصول على وظيفة ذات مردود جيد. وبعد تخرجي من دورة أكاديمية حسوب بشهر ونصف تقريبًا حصلت على فرصة تدريب صيفي في أحد شركات البرمجة المحلية. وفي الوقت نفسه كنت بدأت رحلة البحث عن وظيفة وأنا بعد في الجامعة. ووقتها كان ثمة طلب في السوق على خريجي جامعة الملك فهد وهذا أعطاني ميزة تنافسية على أقراني. وأنا أعتبر نفسي محظوظًا في الحصول على وظيفتي الحالي فبعد شهر واحد من تخرجي حصلت عليها. لكن جدير بالذكر هنا الإشارة إلى أنني كنت أداوم على تحديث سيرتي الذاتية باستمرار وأقدم في العديد من الوظائف قبل 6 أشهر من تخرجي. وكنت أراجع سيرتي الذاتية مع خبراء لكي يعطوني نصائح حولها، وكذلك عملت على عدة مشاريع لإضافتها كسابقة أعمال لي. ومن النصائح العملية والمفيدة عندما تتقدم إلى وظائف معينة هي أن تذاكر الوصف الوظيفي للشركات أو الوظائف التي تود العمل بها وتبدأ بتعلم المهارات التي يطلبونها وتنجز مشروعات بها وتضيفها إلى سيرتك الذاتية.
    1 نقطة
  7. التفكير بمنطق سليم في حل المشكلات والتخطيط الجيد قبل القيام بأي مهمة هو أحد أهم المهارات التي حدثتنا لانا عن اكتسابها بعدما درست البرمجة، وهي ذاتها المهارة التي مكنتها من الحصول على وظيفة بعقد ثابت في شركة أمنية للاتصالات، فكيف فعلت ذلك؟! في هذه السلسلة وثقنا قصص مجموعة من المطورين من طلاب أكاديمية حسوب كانوا مثلك تمامًا في يوم من الأيام، بعضهم كان مترددًا بشأن قدرته في أن يكون مطورًا من الأساس، وبعضهم كانت لديه مخاوف حول تمكّنه من المنافسة في هذا المجال سريع التطور، ومنهم من كانوا طلابًا في هندسة الحاسوب تنقصهم الخبرة العملية، لكنهم جميعًا في لحظة ما، قرروا بذل جهود حقيقية في التعلّم فحصدوا ثمارها. مرحبًا لانا، حدثينا قليلًا عنك؟ أنا لانا عبد الرازق من الأردن، أحب مجالات الهندسة عمومًا، لكني لم أحسم قراري في أن أتخصص في هندسة الحاسوب في البداية، لكن كما تعلمون نحن في عالم محاط بالتقنية من كل جانب، وفي الوقت الذي تتهدد فيه تخصصات كثيرة بالركود، تظل البرمجة وهندسة الحاسوب أكثر المجالات التي لها مستقبل وفرص كبيرة للعمل، لذلك اخترت هذا المجال لتخصصي الجامعي، وقد تخرجت في عام 2021 في جامعة البلقاء التطبيقية بمعدل جيد جدًا. وبعد تخرجي بشهر، قدمت في دورات أكاديمية حسوب وحضرت 3 دورات فيها، وبعد مرور 6 أشهر، حصلت على وظيفة بعقد ثابت في شركة أمنية للاتصالات. لماذا اتجهتي إلى التعلم في دورات خارجية بالنظر إلى أن تخصصك الجامعي في هندسة الحاسوب؟ المواد التي كنت أدرسها بالجامعة كانت تتقاطع مع تخصصات هندسة أخرى مثل الكهرباء والاتصالات والشبكات، فلم يكن ثمة تركيز كبير على تعليم البرمجة، لذلك قررت أنه ينبغي أن أبحث عن طريقة تمكنني من دراستها باحتراف. وكنت أسمع عن أكاديمية حسوب من أيام الجامعة، ووجدت إعلانًا على يوتيوب للتقديم في دوراتها فتقدمت إليها. وأحب أن أؤكد؛ أنا لست من الأشخاص الذين سيبالغون في التقييم السلبي للجامعات ويقولون إن الجامعات بلا فائدة حقيقية، فبغض النظر عن أي عوامل أخرى، إلا أن المعلومات التي حصّلتها في الجامعة كونت جزءًا لا بأس به من معرفتي بهذا المجال، خصوصًا لو تحدثنا عن تعلم طريقة التفكير في الحلول والمشكلات والمنطق البرمجي نفسه. لكن في الوقت نفسه، يكتشف المرء بعد التخرج أن سوق العمل في البرمجة مختلف تمامًا عن بيئة الجامعة، فالدورات الخارجية بخلاف الجامعة تعطيك معرفة أكثر تخصصًا في المجالات التي تود العمل بها، لذلك أنا مؤمنة أن الدورات البرمجية مهمة لكل طالب في هندسة الحاسوب؛ وذلك لكي تعزز من فرصه في الحصول على عمل في المستقبل، خصوصًا أنه في البرمجة من المهم جدًا أن تُظهر لجهات التوظيف أنك تجيد التعلم الذاتي وأنك بذلت جهودًا حقيقيةً في التطوير من مهاراتك وأنك على اطلاع بأحدث الممارسات، وهو ما ستجده في الدورات دون الجامعة التي تكون المعلومات فيها أكثر عمومية ولا تواكب السرعة في هذا المجال. بماذا تصفين تجربة التعلّم مع أكاديمية حسوب؟ صراحة دورات أكاديمية حسوب كان بالنسبة لي «إشي كتير فخم»، وأكثر ما أفادتني به أنها قدمت لي طريقًا واضحًا ومنظمًا ومتدرجًا لتعلم المهارات التي أردت تعلمها، فأنا شخصية تحب أن تتعلم الكثير من الأشياء الجديدة، لكني لا أعرف من أين أبدأ، فأمكث مكاني لا أفعل شيئًا. يعني كنت في حاجة كبيرة لمن يساعدني في الخطوة الأولى؛ تلك الخطوة التي توضح لي من أين أبدأ وكيف أتابع وكيف أتوسع، وهو ما ساعدتني به كثيرًا دورات الأكاديمية، إذ تجد أن الدورات منظمة والفيديوهات مرتبة بطريقة متسلسلة، بحيث كل معلومة تحصل عليها في أول فيديو مثلًا ستفيدك في الفيديو الذي يليه وهلم جرًا، وهذا سيدفعك إلى هضم المعلومات واستيعابها بسرعة من دون تشتت. وأحد أكثر الأشياء الرائعة في الأكاديمية، هي عنايتهم بالتطبيق العملي لما ندرسه، إذ ستلاحظ أنهم في الامتحانات ومشاريع التخرج النهائية يهتمون جدًا بتدريبك على البحث عن حلول المشكلات بنفسك من دون الحاجة إلى مساعدة منهم حتي يتأكدوا تمامًا من أنك فهمت الدورات فعلًا وليس مجرد اجتياز للامتحان والسلام، وهذه من الأمور الرائعة جدًا. أنا الآن في بيئة العمل، وأقول لكم لن تجدوا من يساعدكم إن لم تكونوا قادرين على مساعدة أنفسكم! كذلك من الأشياء المميزة في أكاديمية حسوب هو وجود متابعة تتسم بالمرونة، فالمتابعة كانت مهمة لكي ألتزم بإتمام الدورات، لكنها سمحت لي في الوقت نفسه باختيار توقيت الدراسة ومكانها، فلم أكن مقيدةً بوقت معين وهذا من الأمور التي أشعرتني براحة نفسية كبيرة. ما هي التحديات التي واجهتكِ في أثناء التعلم، وكيف تغلبت عليها؟ أبرز التحديات التي واجهتني في أثناء تعلم البرمجة هي أنني لم أكن أحب البرمجة أصلًا 🙂 فكنت أشعر أنها صعبة عليّ وأنني لن أفلح فيها.. ثم جلست مع نفسي، وأخذت أحدثها أن المهارات المكتسبة تأتي بالتعلّم والاجتهاد وطردت كل تلك الهواجس التي كانت تحبط من عزيمتي وتشكك في قدرتي على التفوق فيها؛ ففي النهاية بإمكان أي إنسان أن يتعلم ما يشاء من المهارات المكتسبة والأمر عائد فقط إلى بذل الجهد والوقت في التعلّم، إضافةً إلى أنه لا بأس من التجربة. بعدما جلست مع نفسي وأخذت قراري بتعلم البرمجة وبحثت عن أكاديمية حسوب، تيسرت أموري بعدها في هذا المجال، فإن لم تنجح هذه التجربة معك، فهذا ليس سببًا أيضًا لكي تيأس ففي الحياة آلاف الأشياء والمهارات الأخرى التي بإمكانك تعلمها. التحدي الثاني الذي كنت أواجهه هو مشكلة البدايات، مع ذلك تعلمت أنه قبل البدء في كتابة الشيفرات يجب علي العمل على التنظيم الجيد لما سأعمل عليه في أي مهمة، وتقسيمها على مراحل وخطوات، ولا شك أنني كنت أصل إلى مرحلة أشد فيها شعري عندما أجد عطبًا ما في الشيفرة فيتعطل عملها، لكن بمجرد ما تعمل الشيفرة وتظهر النتائج التي تريدها فستختبر شعورًا جميلًا لا مثيل له في الحياة. كيف وجدت الوقت للتعلم، احكي لي عن روتينك اليومي أيام الدراسة؟ اشتركت في دورات الأكاديمية بعد تخرجي، وكان روتيني اليومي غير واضح، لكن الدورة ساعدتني على تنظيم حياتي، فقد أصبحت أنظم مواعيد نومي ومواعيد خروجي وغير ذلك. واخترت للدراسة الأوقات التي يكون المنزل فيها هادئًا وهي عادةً ساعات الصباح الباكر. فكنت أحيانًا أدرس 4 أو 5 ساعات في الصباح بلا انقطاع إلى الظهر، وكان معياري هنا ليس الوقت أو الساعات وإنما ما حددته لنفسي من دروس وموضوعات لإنجازها في هذا اليوم. وفي اليوم التالي، وقبل البدء في الدراسة كنت أطّلع سريعًا على ما درسته بالأمس من خلال الملخّصات التي كنت أعدها في أثناء متابعة الشروحات، إذ لم أكن أعتمد فقط على مشاهدة الفيديو، بل كان لا بد لي من أن تلخيص معلوماته كتابيًا، وقد ساعدتني هذه التلخيصات واختصرت عليّ الكثير من الأوقات، فلم أكن بحاجة إلى إعادة مشاهدة الفيديوهات إلا إن تعذر عليّ استيعاب بعض المعلومات التي لخصتها ابتداءً. وهكذا في كل موضوع مترابط، كنت أرجع إلى الأوراق التي لخصت فيها الفيديوهات ذات الصلة من الدورات والدروس السابقة حتى أُلِم بالموضوع من عدة جوانب قبل أن أتابع مذاكرة الموضوعات الجديدة. الأمر الآخر والمهم هو عدم الاستهانة بالتطبيق مهما اعتقدت أن الفيديو سهل، فأول ما يبدأ المدرب بكتابة الشيفرة لا بد من أن تمارس ما فعله بنفسك، فكتابة الشيفرات تحتاج إلى سرعة وهذا السرعة لن تأتي إلا بطول ممارسة. ما الذي كنت تتمنين معرفته أو تصحيحه في خلال رحلتك السابقة؟ لو عاد بي الزمن إلى الوراء، لكنت أوليت اهتمامًا أكبر في إنجاز دورة جافاسكربت وهي كانت آخر دورة درستها مع الأكاديمية، ولكنت ضغطت نفسي لكي أنتهي منها سريعًا، فالدراسة بجانب العمل لدوام كامل تحتاج إلى طاقة تنظيمية هائلة، لذلك استغلال أوقات الفراغ التي كانت لدي قبل العمل النظامي من الأشياء التي وددت لو كنت أحسنت استغلالها. كيف كانت المقابلة النهائية والعمل على مشروع التخرج؟ كنت خائفةً جدًا من المقابلة، فقد كنت أخشى ألا أنجح في الدورة، لكن في الحقيقة المقابلة لا تستدعي أن تكون متوترًا، ففي النهاية هم لن يسألوك عن أشياء غريبة وإنما سيتم سؤالك عما درسته في الدورة، هذا إلى جانب أنهم يعرفون عن توترك هذا وسيستوعبونه تمامًا في الدقائق الأولى من المقابلة؛ أما عن مشروع التخرج فتتسم مرحلة المراجعة فيه بمرونة شديدة، حيث سيقومون بتوجيهك لتصحيح بعض الأخطاء فيما نفذته وسيعطونك مساحةً من الوقت لكي تعدّل فيه قبل أن تعرف النتيجة النهائية باجتياز الدورة أو لا. كيف حصلت على وظيفتكِ الحالية، وكيف ساعدتك دورات الأكاديمية في تقوية فرصك الوظيفية؟ حصلت على فرصة لعقد مقابلة وظيفية كمهندسة بيانات في شركة أمنية للاتصالات عن طريق نقابة المهندسين، فهي ترسل لبعض خريجي الجامعات الفرص الوظيفية في شركات متعددة، وبعدما نجحت في امتحانات اختبار القدرات، تواصل معي أحد من الموارد البشرية من شركة أمنية وأرسل لي امتحانًا عبر البريد الإلكتروني وكان زمنه يومين، وبعدما أرسلت الإجابات، أرسلوا لي بموعد لعقد المقابلة الأولى وتبعته مقابلة ثانية. سؤال أساسي في أي مقابلة عمل وهو ما الذي فعلتيه بعد التخرج؛ فكانت دورات أكاديمية حسوب جواب كافٍ للدلالة على أنني كنت أعمل على تطوير نفسي وهي من الأمور التي يبحث عنها الموظِفون في أي مرشح. إضافةً إلى ذلك، ساعدتني الدورات كثيرًا في جعلي إنسانة تفكر بمنطقية، فقد علمتني كيف أفكر في المشكلات وكيف أبحث عن الحلول، وهذا بالمناسبة يشمل كل المشكلات التي أواجهها في حياتي، فقد أصبحت قادرة على التفكير بتسلسل منطقي وأبحث بدأب عن الحلول.
    1 نقطة
  8. كثيرة هي الأشياء التي قد نندم عليها في حياتنا، لكن لحسن الحظ، تعلمنا الحياة أنه لا يضيع جهد المجتهد حتى لو تأخر. قصة اليوم لعلي يعقوب من الأردن درس نظم ومعلومات حاسوبية، لكنه تعثر في إيجاد وظيفة في مجاله لنقص الخبرة، إلى أن بدأ رحلة من التعلّم الجاد عمرها 6 أشهر حصد خلالها الخبرات العملية اللازمة لسوق العمل وأصبح الآن مهندسًا للبرمجيات في سلطة وادي الأردن. في هذه السلسلة وثقنا قصص مجموعة من المطورين من طلاب أكاديمية حسوب كانوا مثلك تمامًا في يوم من الأيام، بعضهم كان مترددًا بشأن قدرته في أن يكون مطورًا من الأساس، وبعضهم كانت لديه مخاوف حول تمكّنه من المنافسة في هذا المجال سريع التطور، ومنهم من كانوا طلابًا في هندسة الحاسوب تنقصهم الخبرة العملية، لكنهم جميعًا في لحظة ما، قرروا بذل جهود حقيقية في التعلّم فحصدوا ثمارها. مرحبًا علي، كيف حالك، أرجو أن تعطينا لمحة سريعة عنك؟ أنا علي يعقوب من الأردن، عمري 26 سنة، درست في جامعة اليرموك تخصص نظم ومعلومات حاسوبية، تخرجت في 2019. وفي الفترة بين 2019 لـ 2021 كنت أعمل في وظائف عدة أولها الكول سنتر وليس آخرها العمل في المحال التجارية. انضممت للدراسة في أكاديمية حسوب بعدما شاهدت إعلانا عن منحة لتعلم البرمجة في 6 أشهر لتصبح بعدها مطور full-stack. بحثت عن الأكاديمية على جوجل وعرفت أنها أكاديمية موثوقة وذات سمعة حسنة في تعليم البرمجة. وبعد رحلة تعلّم امتدت لـ 6 أشهر أعمل الآن مهندسا للبرمجيات مع سلطة وادي الأردن. لماذا لم تبدأ في البحث عن وظائف تتقاطع مع دراستك لعلوم الحاسب؟ لم أوفق في الحصول على وظائف في مجال البرمجة لعدم امتلاكي للخبرة العملية على دراستي الجامعية، وفي تلك المرحلة، لم يكن عندي رفاهية انتظار الوظيفة الأفضل فظروفي المادية أجبرتني على العمل في الوظائف المتاحة فكنت أعمل أكثر من 12 ساعة في اليوم، لكني سرعان ما شعرت أن هذه الوظائف لا تناسبني. فبدأت بالبحث عن طريقة تمكنني من تحصيل الخبرة العملية في البرمجة لأن ما درسته في الكلية كان عبارة عن معلومات نظرية ينقصها الخبرة العملية والممارسة على الأرض. وفي عام 2021 وأنا أتصفح إحدى مواقع التواصل الاجتماعي، وجدت منشورًا عن منحة من البنك الدولي بالتعاون مع أكاديمية حسوب لتخريج مطور full- stack، فتقدمت إلى المنحة والحمد لله قبلت فيها. ما الذي وجدته في أكاديمية حسوب ولم تجده في الجامعة؟ 10% فقط من الأشياء التي درستها في الجامعة وجدتها في دورات الأكاديمية، أما التسعين في المئة الآخرين فكانت كلها معلومات جديدة. لذلك عندما يستشيرني أحد من أصدقائي أو معارفي عن مجال دراستي فأقول لهم إن الجامعة تعطيكم 10% مما تحتاجه في سوق العمل في البرمجة وربما أقل من هذه النسبة. صحيح أنه قد تجد بعض الأساتذة المميزين لكن في النهاية الجامعة تعطيك معلومات نظرية ولكي تكون هذه المعلومات ذات قيمة فلا بد من أن تعكسها على الواقع، وهذا يعني العمل في مشروعات حقيقية. فإن أردت أن تتعلم لغة PHP أو أي لغة أخرى من ألفها إلى يائها مع مشاريع تطبيقة وغير ذلك.. فلن تجد ذلك في الجامعة، ما ستحصل عليه هو لمحات عنها وتطبيقات وأمثلة بسيطة. لماذا اتجهت إلى الاتحاق بأكاديمية حسوب ولم تكتف بتعلم البرمجة ذاتيًا؟ لأكون صريحًا معك، تعلم البرمجة ذاتيًا يحتاج إلى إرادة قوية جدًا، وقد يصاب الإنسان فيها بالملل سريعًا، كذلك ربما قد تتعثر كثيرًا في إيجاد أفكار لمشاريع تعمل عليها. إضافة إلى غياب عامل الالتزام والمتابعة من مدربين محترفين بخلاف الدراسة مع أكاديمية حسوب فعنصر الالتزام معها يزداد، هذا غير المزايا الأخرى مثل شهادات الخبرة التي تقدمها لمن يجتازون الامتحانات وكذلك المشاريع التطبيقية التي ستنجزها معهم. وأكثر شيء حمسني وشجعني كثيرًا للالتحاق بها هو أن الدراسة في الأكاديمية ليست مقيدةً بزمن معين، فالدروس مسجلة ويمكنني الاستماع إليها في الأوقات التي تناسبني، وهذا مكنني من العمل والدراسة في آن واحد. وأكثر الأشياء إغراء في تلك المنحة كان أنه بعد 6 أشهر سأكون مطور full-stack، يعني وأخيرًا سأتمكن من العمل في الوظائف التي تتناسب مع ما درست. ومع ذلك فالتعلم الذاتي لا شك مهم جدًا، وهي مرحلة ضرورية حتى وأنت تتعلم مع أكاديمية حسوب. فعن نفسي؛ كنت أبحث عن مشاريع برمجية يمكن تطبيقها على الإنترنت وأرى من خلال ما أتعلمه مع الأكاديمية هل سأستطيع تنفيذها أو لا. وكذلك بعض الموضوعات التي كنت لا أفهمها تمامًا أبحث عنها في شروحات يوتيوب وجوجل. ما التحديات التي واجهتك في أثناء التعلم، وكيف تغلبت عليها؟ أول تحدي واجهته هو الوقت، لكن بفضل الله أولًا، مكنتني أكاديمية حسوب من تجاوزه، وأؤكد هنا أني لا أجامل، فبسبب أن الدروس مسجلة، كنت بعد العودة من العمل أدرس في اليوم من 4 إلى 5 ساعات بحسب نشاطي وتركيزي في هذا اليوم. وكنت أزيد زمن الدراسة في أيام الإجازة، بعض الأيام كنت لا أستطيع الدراسة فيها، لكن ألزمت نفسي بالتعويض. والتحدي الثاني الذي واجهته هو كيفية البدء في مجال البرمجة، يعني كيف يمكن أن أبدأ مشروعًا برمجيًا من الصفر إلى كتابة آخر شيفرة فيه. ومن التحديات الأخرى التي واجهتها هي طريقة البحث على الإنترنت، فكنت قبل الدورات لا أعرف كيف أصيغ العبارة التي أبحث بها عن المشكلات البرمجية التي أواجهها، لكن في أثناء الدورات تعلمت كيف أعبر بطريقة مناسبة ومختصرة عن المشكلة لكي أصل إلى النتائج المطلوبة. وتحدي أخير تجاوزته، وهو القدرة على التغلب على الخوف والقلق في أثناء مقابلات العمل. فمثلًا لو سُئلت في إحدى المقابلات الوظيفية سؤالًا لا أعرفه كنت أصاب بالارتباك والتوتر ولا أعرف كيف أجيب، لكن بعد اجتيازي للدورات أصبحت أكثر شجاعةً وثقة في نفسي، فأنا الآن أمتلك المعرفة وكذلك أمتلك الخبرة بالمشروعات التي طورتها. كيف وجدت الوقت للتعلم بالنظر إلى أنك كنت تعمل في دوام كامل؟ كنت أتخير الأوقات التي أكون مستعدًا فيها للتعلم، فلم أكن أضغط نفسي بوقت محدد، لأن الدراسة وأنت مضغوط لن تحقق منها الاستفادة والفهم المطلوب. الأمر الآخر الذي كنت أنتهجه في أثناء الدراسة هو تطبيق كل كلمة يذكرها المحاضر مع التدوين والتلخيص، وقبل ذلك لا بد من أن تتأكد من أنك تفهم تمامًا ما تشاهده. وهذا الأمر حاسم عندما تبدأ في العمل على مشروع التخرج لأنه لا يكون متماثلًا مع ما درسته، فلو لم تكن فاهم وواعي بكيفية كتابة الشيفرة واستخداماتها في الدروس السابقة لن تتمكن من العمل عليه. ما الذي كنت تتمنى معرفته أو تصحيحه في خلال رحلتك السابقة؟ أكثر سؤال شكل لي إحراجًا كبيرًا في حياتي المهنية، كان عندما يسألني أحد في مقابلات التوظيف عن فترة السنتين بعد التخرج؛ تلك الهوة الفارغة في سيرتي المهنية من 2019 إلى 2021، ولم يكن عندي جواب له. وفي الحقيقة أشعر بالندم على الوقت الذي أضعته، يعني لسنتين كاملتين لم أتعلم أي شيء في البرمجة، صحيح كانت ظروف عملي لـ 12 ساعة في اليوم تمنعني من التفكير في سُبل للدراسة، لكنني أدركت متأخرًا أن ظروف عملي لم تشكل عائق حقيقًا عندما بدأت الدراسة مع أكاديمية حسوب، فلو كنت أدرس ساعتين كل يوم في خلال هاتين السنتين لوصلت أسرع. فلو عاد بي الزمن إلى الوراء لم أكن لأضيع هذا الوقت دون تعلّم. ما الذي يميز الدورات في الأكاديمية عن غيرها؟ تجربة التعلم من أكاديمية حسوب بالنسبة لي تجربة رائعة جدًا، وهنا أقول إن كنت تدرس البرمجة لكنك صفر في الخبرة العملية، فأكاديمية حسوب ستعطيك هذه الخبرة، فأنا استفدت استفادة هائلة من حجم التطبيقات العملية في الدورات. لذلك تأكد أنك ستخرج من هذه الدورات وأنت على معرفة تامة بموضوعاتها، وقد ساعدتني المشروعات التي نفذتها مع الأكاديمية في حصولي على عملي الحالي. وأكثر ما أعجبني أسلوبهم في الشرح، فأولوية المدربين هي إيصال المعلومات بطريقة مبسطة ويسيرة وهي تناسب أي طالب لا يمتلك أي خبرة أو معرفة مسبقة بموضوعات الدورات. وكذلك لا داعي للقلق إن كان مستواك في اللغة الإنجليزية ضعيفًا فالشرح كله باللغة العربية. ولم يقصر المدربون أبدًا في الشرح، فكانوا يوضحون كل التفاصيل التي تطرأ على بالك، فالله يعطيهم ألف عافية. كيف كانت المقابلة السابقة للحصول على الشهادة؟ بعد إتمام الدورة والتطبيق على الدروس، يعقد معك أحد المدربين مقابلة شخصية، وحقيقة هذه المقابلات قريبة جدًا من مقابلات العمل، فلا يتركون سؤالا متعلقا بالدورة إلا ويسألوه. لذلك إن كنت طالبًا في الأكاديمية أو تنوي الالتحاق بإحدى دوراتها؛ فأدعوك ألا تستهين بالمقابلة أبدًا. استغرقت المقابلة معي نحو ساعة، سُئلت فيها أسئلة عامة وأخرى في غاية الدقة لكي يتمكن المدرب من تقييم فهمي لما درست والتعرف على مستواي بالتحديد، وبعد اجتياز المقابلة، يرسلون لي تفاصيل مشروع التخرج الذي سأعمل عليه مع موعد محدد لإنجازه. وبعد تسليمه، يقيّمون المشروع ويرسلون الملاحظات عليه، ويطلبون منك تصحيح الأخطاء بنفسك، دونما تحديد نوع المشكلة، يعني يقولون لك إن ثمة مشكلة في هذه الجزئية أو تلك الصفحة صححها، ويكون دورك هنا أن تتعرف على هذه المشكلة وتصححها بنفسك. فالجميل هنا أنك تعرف خطأك بنفسك وفي الوقت نفسه تجد من ينبهك لوجود الخطأ ابتداءً. وبعدما تصحح كل الأخطاء ويُقبل المشروع يرسلون لك الشهادة بعد نحو أسبوع. كيف حصلت على عملك الحالي؟ أول عمل عملت عليه كان على خمسات، حيث كنت أقدم خدمة تطوير صفحات هبوط، وبعدما تخرجت من الأكاديمية تمكنت أخيرًا من عمل C.V (مرتب) وقوي، أضفت فيه المهارات والخبرات وكذلك المشروعات التي أنجزتها مع أكاديمية حسوب، وشاركته معهم لكي آخذ ملاحظاتهم عنه، وأشاروا إليّ بتعديل بعض الأشياء فيه لكنهم أثنوا عليه إجمالًا، ثم شاركت سيرتي المهنية مع عدد من الشركات وبدأت أحصل أخيرًا على تجاوب من بعضها ودعوات لمقابلات وظيفية. فتبقى لحصولي على الوظيفة توفيق الله لي. وبحمد الله في الوقت الحالي أعمل مبرمجًا في مجال تحليل البيانات مع سلطة وادي الأردن على مشروع مشترك مع يوسيد. ما النصيحة الأخيرة التي تحب أن تنصح بها الطلاب الذين يقرؤون هذه القصة الآن؟ لا تتأخر ولا لحظة واحدة في تعلّم البرمجة، إذا كنت تحب هذا المجال ومقتنعًا به فابدأ الآن، وإن كنت تواجه مشكلات تؤخرك عن البدء، فتأكد أنها ليست حاجزًا يمنعك من التعلّم، عافر.. فلن تجد النجاح في يوم ليلة.. ممكن بعد 3 أشهر أو بعد 3 سنوات، ولكي تصل إلى النجاح فلا بد أن تكون مثابرًا تحاول مرة واثنتين إلى أن تصل!
    1 نقطة
  9. رغم أن أكثر الوظائف طلبًا حول العالم في وقتنا الحالي هي من فروع البرمجة والتخصصات الناتجة عنها، إلا أنها لا تعتمد في تعيين الأشخاص بتلك الوظائف على الدراسات الجامعية وشهاداتها حصرًا كغيرها من الوظائف الأساسية! فأيًا كان تخصصك أو شهادتك الجامعية، بإمكانك إن أردت أن تبدأ مسارًا مهنيًا من الصفر ودون سابق خبرة في مجال البرمجة أن تبدأ بتعلمها بنفسك خارج الإطار الجامعي، لتحصل بعدها على فرص العمل الفعلية دون الحاجة إلى شهادة جامعية بها. ورغم الحماس وطاقة الأمل الكبيرة التي قد تراودك الآن، فالجدير بالذكر أن تدرك أيضًا أن هذه الحرية وما تقدمه من فرص كبيرة للرخاء والثراء لها ثمن. في هذه السلسلة وثقنا قصص مجموعة من المطورين من طلاب أكاديمية حسوب كانوا مثلك تمامًا في يوم من الأيام، بعضهم كان مترددًا بشأن قدرته في أن يكون مطورًا من الأساس، وبعضهم كانت لديه مخاوف حول تمكّنه من المنافسة في هذا المجال سريع التطور، ومنهم من كانوا طلابًا في هندسة الحاسوب تنقصهم الخبرة العملية، لكنهم جميعًا في لحظة ما، قرروا بذل جهود حقيقية في التعلّم فحصدوا ثمارها. قصة اليوم من المغرب، يرويها لنا صاحبها عبد الواحد الحدادي الذي أصبح مطورًا لمواقع الويب بعد حصوله على دورة تطوير واجهات المستخدم من أكاديمية حسوب. يعمل الحدادي في الوقت الحالي مطور واجهات أمامية لمواقع الويب، وقد أنجز حتى الآن أكثر من 29 مشروعًا على موقع مستقل، إضافةً إلى بيعه عددًا كبيرًا من الخدمات على منصة خمسات. مرحبًا عبد الواحد، حدثنا قليلًا عنك؟ أنا عبد الواحد الحدادي من مواليد 1999 ميلادية بمدينة زاكورة جنوبي المغرب، حاصل على شهادة البكالوريا في الآداب والعلوم الإنسانية، ثم حصلت على الإجازة العالية في جامعة الحسن الثاني بالدار البيضاء في شعبة الدراسات الإسلامية؛ وفي عام التخرج نفسه حصلت على شهادة إتمام وإتقان دورة تطوير واجهات المستخدم المقدمة من أكاديمية حسوب. حاليًا أسكن في مدينة الدار البيضاء وأهتم بالتصميم الجرافيكي وتصميم الويب، وأطور مهاراتي في هذا المجال عبر دورات أكاديمية حسوب الأخرى وغيرها من مصادر التعلّم الذاتي. ما الذي جعلك تتجه لتعلم البرمجة عمومًا وتعلم تطوير واجهات المستخدم على وجه الخصوص؟ اهتمامي بالبرمجة والتطوير بدأ في العام 2020 عندما اختبر العالم جائحة كورونا. في هذه السنة، لم أستطع متابعة الدروس في الجامعة، إذ توقفنا في شهر مارس، وكان الموعد المقرر للامتحانات في شهر سبتمبر، وهذه مدة كبيرة جدًا، أتاحت لي وقت فراغ عريض أردت استغلاله في البدء في العمل الحر. وبدايتي الأولى كانت على منصة خمسات، حيث كنت أقدم خدمات كتابة مقالات في مجال العلوم الشرعية التي هي جزء من تخصصي الدراسي، لكن بعد فترة من الزمن، وجدت أن كثيرًا من الطلبات على خمسات متعلقة بالتصميم والبرمجة. ومع أن هنالك كثير من خدمات الكتابة على المنصة والتي تتساوى كثرة العرض مع الطلب عليها، إلا أن طلبات خدمات التصميم والبرمجة أيضًا عليها طلب كثير، لكن بالمقابل العرض المتوفر بها متوسطٌ أو قليل عما هو في خدمات الكتابة. عند هذه المرحلة، بدأت البحث عن البرمجة والتصميم عبر يوتيوب، إذ لم تكن لدي أي خلفية عن هذه المجالات، وفي أثناء بحثي، وقعت عيني على إعلان لإحدى دورات أكاديمية حسوب، ثم دخلت على موقع الأكاديمية ووجدت فيها دورات متعددة، وأجمل ما وجدته أن الدورات باللغة العربية، فلم أكن أحسن اللغات الأجنبية وقتها وكنت لا أزال مبتدئًا في هذا المجال فأحببت أن أتعلمه بلغتي التي أعرفها. بالنسبة للدورة التي لفتت انتباهي، كانت دورة تطوير واجهات المستخدم، فكما ذكرت أنني كنت أبحث عن طريق لتعلم البرمجة والتصميم، لذلك كانت بدايتي بها، فقررت أن أعمل قليلًا حتى أوفّر مبلغها، وبعد أن حصّلته اشتريت الدورة. ما الشيء المختلف في تجربة التعلم الذي وجدته عندما بدأت في دورة أكاديمية حسوب؟ كانت لي تجارب في تعلم البرمجة عبر يوتيوب قبل الاشتراك في دورة أكاديمية حسوب، فقد كنت أشاهد فيديوهات أسامة الزيرو على يوتيوب، لكني صراحة لم أستوعب كثيرا مما يشرح بسبب أنك لا تجد من يقدم لك المساعدة عندما تقع في أي خطأ، وكمبتدئ لن أستطيع البحث في جوجل عن كل خطأ أقع فيه، بل أحتاج في المراحل الأولى إلى توجيه من محترفين في هذا المجال دون أن أتيه في نتائج جوجل المتعددة التي تسبب الحيرة أكثر من تقديمها الحل. وفي أثناء بحثي أيضًا تعرفت على منصة يودمي، ووجدت فيها دورات تقدم باللغة العربية لكنهم كانوا يقتصرون على بعض اللهجات المحلية للدول العربية وهذا ما قلل من نسبة استيعابي لبعض الأمور في هذه الدورات. فكان أول ما لفتني في دورات أكاديمية حسوب أنها باللغة العربية الفصحى، إضافةً إلى أنك ستجد فريقًا متكاملًا من المدربين والمدرسين يتابعون معك ويوجهونك ويصححون أخطاءك ويشجعونك على المتابعة والتعلم بنفسك، ومن هنا بدأت التعلم مع الأكاديمية وأستمر معها إلى ما لا نهاية إن شاء الله. كيف وجدت الوقت للتعلم، وما هي أفضل وصفة للتعلّم حسب تجربتك؟ ترافقت دراستي في أكاديمية حسوب التحضير للاختبارات النهائية للجامعة، فكان يومي مقسمًا إلى قسمين؛ فترة الصباح وفترة المساء. وفترة الصباح هى الوقت الذي يلي الفجر مباشرة إلى العاشرة صباحًا، فكنت أخصصها لمراجعة دروسي الجامعية والتحضير لمشروع التخرج، وهي الفترة المفضلة عندي إذ يكون الدماغ نشطًا والذهن فارغًا. وبعد وجبة الفطور، ابتداءً من الساعة الحادية عشر، كنت أدرس مع الأكاديمية لنحو ساعتين ونصف. والجزء الذي راجعته في هاتين الساعتين أعيد تطبيقه مساءً؛ تحديدًا من بعد صلاة العصر إلى السابعة وقت الزوال. وطبعًا فترة التطبيق هذه كنت لا أتنازل عنها أبدًا، لأن دراسة البرمجة دون تطبيق لا معنى لها! وفي أثناء التطبيق كنت منتبهًا إلى ألا أعود إلى مصادر الأكاديمية لأربي في نفسي حس المسؤولية والقدرة على الاستقلال بالبحث عند الوقوع في الخطأ، وهذه المهارة حصّلتها بطبيعة الحال بعد فترة، فلا مفر من السؤال والتوجيه في البدايات. وهذا المعنى كان ينميه ويدفعنا إليه الأساتذة في الأكاديمية، فكانوا دائمًا يقولون: السر في تعلم البرمجة البحث عن الحلول وعلاج الأخطاء بنفسك. وبهذا كانت مجمل ساعات الدراسة 5 ساعات يوميًا، وقد أخذت عهدًا على نفسي ألا أنقص من هذه الساعات أو أزيد عليها، إلى أن أنهيت الدورة وحصلت على الشهادة في غضون 3 أشهر. ما هي التحديات التي واجهتك في أثناء التعلم، وكيف تغلبت عليها؟ التحدي الأول الذي كنت أواجهه متعلقٌ باستقرار الإنترنت في المنطقة التي أسكن فيها، ففيديوهات الأكاديمية بجودة مرتفعة، وهو ما أدى إلى بطء في تشغليها فكانت تنقطع بعد كل جملة، وهو ما يعني انقطاع وصول معناها لدي، فكنت اضطر إلى إعادة الفيديو أكثر من مرة. فكان الحل عندي هو الخروج من المنزل والدراسة في مكان يستقطب الإشارة على وجه أفضل، وإن تعذر عليّ الخروج من المنزل خفضت جودة الفيديوهات قليلًا كحل أخير. أما التحدي الثاني فيتمثل في المشكلات البرمجية التي كنت أواجهها في أثناء كتابة الشيفرات، ففي البداية كنت لا أكتب سطرًا برمجيًا واحدًا إلا وبه خطأ! مع أنني كنت أتابع مع المدرب لحظة بلحظة، لا أعرف ما السبب في ذلك صراحة وهل يقع للجميع بالبداية أم لا. لكن بفضل الله وبفضل تشجيع الأساتذة وتحفيزهم تجاوزت هذه المشكلة سريعًا، إذ كانوا يبينون لي مواضع الغلط ويطلبون مني الاستماع جيدًا قبل البدء بكتابة الشيفرة والتركيز على أشياء بعينها لتجنب الوقوع في مثله مستقبلًا، وهذه النصائح كنت أدوّنها جميعها وأبذل وسعي للالتزام بها. لو عاد بك الزمن إلى الوراء قليلًا، ما الذي كنت تتمنى معرفته أو تصحيحه في خلال رحلتك السابقة؟ الأشياء التي يمكن أن أنصح به غيري ممن يريد البدء في المسار نفسه، هو الاستعانة بجوجل لاستيضاح كل ما يقف أمامه، فلو شرح المدرس شيئًا لم تستوعبه تمامًا فيمكنك الرجوع إلى موقع مثل موزيلا إم دي إن من أجل أن تفهم وظيفة هذا الرمز في محرر الشيفرات، وطبعًا أنصح بالرجوع إلى موسوعة حسوب ففيها معلومات كافية ووافية في هذه المسألة. كما أنني أميل قبل البدء في تعلم تطوير واجهات المستخدم إلى دراسة فيجما Figma وأدوبي إكس دي Adobe XD لأن تصميم موقع الويب يكون على مراحل تبدأ بالتخطيط والرسم وصولًا إلى مرحلة التطوير، ودائمًا تكون النتيجة النهاية أفضل إن مررت بهذه المراحل جميعها قبل البدء في تطوير واجهات المستخدم مباشرة. كيف حصلت على أول عمل لك في البرمجة؟ بعد أن حصلت على شهادة دورة تطوير واجهات المستخدم من الأكاديمية، قامت إدارة مستقل مشكورة بوضع وسام (حاصل على الشهادة) في حسابي فبدأت أقدم عروضًا على المشروعات التي تتعلق بما درست، وفي هذه الأثناء كنت أقدم خدمات لبناء صفحات هبوط على منصة خمسات التي كنت أعمل عليها سابقًا. وبعد أن تطورت مهاراتي قليلًا، أذكر أن أول مشروع لي على مستقل كان لعميل من المملكة العربية السعودية طلب تصميم موقع لبرنامج تخطيط موارد المؤسسة، وكان لدي بطبيعة الحال قليل من التخوف؛ يعني في النهاية هذا أول مشروع سأتكسب منه لمجال درسته حديثًا، لكنني أعطيت المشروع الوقت الكافي من العمل، وكل صفحة أصممها كنت أرسلها إلى العميل لكي أحصل على موافقته ولكي أدوّن ملاحظاته وأطبقها، وصراحة كان المشروع سهلًا جدًا بالنسبة لي فأنا كنت قد عملت على 10 مشروعات متنوعة بعضها كان من التطبيقات الخاصة بالدورة وبعضها كان باجتهاد مني لتطوير قدراتي. وبعد أسبوع أو 10 أيام أرسلت للعميل الملفات الخاصة بالموقع، وبعد يوم أو يومين استلم المشروع وأعطاني تقييمًا جميلًا.. في هذه اللحظة؛ راودني شعورٌ لا مثيل له، فقد درست لمدة 3 أشهر داخل الأكاديمية وبعدها بفترة وجيزة حصلت على مشاريع وتعرفت على الكثير من العملاء، وهذا الشعور بالنجاح شعور مرضي جدًا ويستحق كل التعب الذي بذلته. بم تنصح المطورين الجدد من المستقلين للحصول على مشروعهم الأول؟ السر في الحصول على مشاريع على موقع مستقل هو في معرض الأعمال لأنه الذي يعطي الصورة المعبرة عنك وعن جدارتك بالعمل على هذا المشروع أو غيره، فكما يقولون: أعمالك من تتحدث عنك. وليس معنى هذا كثرة الأعمال وإنما جودتها. وأنصحك ألا تقدم عرضًا على مشروعٍ لم تقرأه جيدًا، وعند كتابة العرض وضح ما يلي: مهاراتك التي تؤهلك للتقديم على هذا المشروع. أعد صياغة متطلبات المشروع بالتفصيل في عرضك لتظهر لصاحب المشروع اهتمامك بما يطلب ووعيك به. كيف تطور من مهاراتك البرمجية في الوقت الحالي؟ حاليًا أدرس جافاسكربت وأتعلم مهارات الـ Sass والـ CSS والتحريك، وتعلمت الووردبريس أيضًا، وعندما أردت تعلمه، اشتريت مجددًا من أكاديمية حسوب دورة PHP لأن ووردبريس مبني باستخدام هذه اللغة. ما الهدف الذي تسعى إلى تحقيقه في المستقبل بعد أن أصبحت مصمم ويب مستقل؟ أنا أدور بين المهارات الثلاثة؛ التدوين والتصميم والتطوير والمشترك بينهم هو الكتابة، فأي شيء تعمل على تصميمه أو تطويره ستحتاج بالنهاية إلى محتوى له. مع ذلك، هدفي الأساسي هو أن أصبح مدرسًا لطلاب الثانوية في تخصصي، وكما تعلمون، التدريس هذه الأيام يعني أن تكون قادرًا على استخدام التكنولوجيا في توصيل المعلومة وفي التعليم عمومًا، لذا فمهاراتي في التصميم والبرمجة ستجعل مني مدرسًا أفضل ولن يضيع الوقت الذي بذلته في تعلمهما والعمل بهما؛ فبناء درس معين لطلاب الثانوية يتطلب الخروج عن الإطار التقليدي المعتاد، ولهذا سأستعين بهذه المهارات لكي أصنع طريقةً فريدةً ولائقةً بالطلاب الذين أدرّسهم. هذا إلى جانب عملي الحر، فبجانب عملي في مستقل وخمسات فأنا أعمل مستقلًا مع إحدى الشركات هنا بالمغرب.
    1 نقطة
  10. ليس من الضروري أن تكون فكرة البدء في تعلم البرمجة مخططًا لها دائمًا، فقد تكون رغبة دفينة حفزتها بعض الظروف وتوافرت لها فرصة مناسبة، كأن ينشأ لديك فضول في التعرف على أهم مجال للعمل في هذا العصر، فتمتلك بناءً على ذلك دافعًا كافيًا لبذل الجهد في تعلمها. في هذه السلسلة وثقنا قصص مجموعة من المطورين من طلاب أكاديمية حسوب كانوا مثلك تمامًا في يوم من الأيام، بعضهم كان مترددًا بشأن قدرته في أن يكون مطورًا من الأساس، وبعضهم كانت لديه مخاوف حول تمكّنه من المنافسة في هذا المجال سريع التطور، ومنهم من كانوا طلابًا في هندسة الحاسوب تنقصهم الخبرة العملية، لكنهم جميعًا في لحظة ما، قرروا بذل جهود حقيقية في التعلّم فحصدوا ثمارها. قصة اليوم لعائشة ذكي، شابة يمنية تقيم بالأردن، حصلت على منحة البنك الدولي بالتعاون مع أكاديمية حسوب لكي تصبح مطور full-stack عبر دراسة دورة علوم الحاسوب، ودورة تطوير واجهات المستخدم، ودورة تطوير التطبيقات بلغة جافاسكربت، المقدمة كلها من أكاديمية حسوب؛ وذلك في مدة قدرها 6 أشهر. مرحبًا عائشة، عرفينا بنفسك؟ أنا عائشة من اليمن وأقيم بالأردن، بعدما حصلت على بكالوريس في تخصص التغذية الصحية، وجدت بعض المعيقات في العمل لكوني مغتربة، والتخصصات الصحية بالعموم تكون عليها تعقيدات عند العمل بها في الدول الأخرى. فمثلًا إن أردتُ العمل في عيادة، فلن يتم إعطائي رخصة المزاولة إلا إن كنت حاصلة على الجنسية، فاكتشفت بعد التخرج أنه للأسف لا يمكنني العمل في مجال دراستي. وبينما أنا جالسة في البيت، وجدت إعلانًا عن منحة للدراسة مجانًا مع أكاديمية حسوب، فتقدمت إلى المنحة من دون أمل كبير في الحصول عليها. وها أنا الآن بعد 6 أشهر من إتمامها تمكنت من العمل بما تعلمت حديثًا. ما الذي جعلك تتجهين لتعلم البرمجة دون غيرها؟ لم يجمعني بالحاسوب أي اهتمام سابق، بل لم أكن أفهم بالحاسوب كثيرًا، يعني أوضح مثال لذلك أنني لم أكن أستطيع التفريق بين الجيجا والميجا وهذه المساحات التخزينية، لكن عندما بدأت دورة علوم الحاسوب، اكتشفت أن عالم الحاسوب سهل بخلاف توقعاتي -المبالغ بها- عن الصعوبة والغموض الذي يكتنفه. كذلك منذ زمن وأنا أحب التصميم والرسم كثيرًا، ولدي مهارة في الأعمال اليدوية من الصوف وغير ذلك، وأحب أن أتخيل الأشياء ابتداءً ثم أصممها وصولًا للشكل النهائي، لذلك شعرت أن هذه المهارة تناسبني. إضافة لهذا، كانت عندي رغبة لتعلم البرمجة لكي أكشف الغموض الذي يلف عالم الحاسوب والتكنولوجيا، خصوصًا مع أهمية البرمجة في عصرنا هذا. والأهم من كل ما سبق، أنه كان عندي وقت الفراغ الذي سمح لي بالتعلّم، فأنا من الأشخاص الذين يحبون تعلم أشياء جديدة على الدوام ولدي قدرة على التعلم السريع، فأردت أن أفعل شيئًا بدل أن أجلس في المنزل أندب حظي العاثر وعمري الذي ضاع في دراسة شيء لن أتمكن من العمل به. وصدقًا، عندما عبأت الطلب للحصول على المنحة عبأته بلا اكتراث، لكن سبحان الله «زبطت» معي هذه المرة وبدأت في التعلّم مع أكاديمية حسوب. ما التحديات التي واجهتك في أثناء التعلم، وكيف تغلبت عليها؟ أول تحدي واجهته أنه لم تكن لدي أي خلفية سابقة عن البرمجة، والتحدي الثاني كان في المصطلحات وحفظها، ووجدت صعوبة كبيرة في تعلّم لغة جافاسكربت، لكن ربما ما خفف صعوبة هذه الرحلة قليلًا أن الدورة الأولى كنا نتدرب في أول مسار فيها على برنامج سكراتش وهو برنامج سهل جدًا، فلما انتقلت على الجافاسكربت شعرت بأن هناك نقلة نوعية فعلًا. إحدى التحديات التي واجهتها أيضًا هي أنني أنسى بسرعة، فمع أن الله حباني قدرة على تعلم العديد من الأشياء الجديدة بسرعة أجدني للأسف أنسى المعلومات بالسرعة نفسها، وهذا يتطلب مني العودة إلى الاستذكار كل حين وحين، وعندما سألت الأساتذة في التعليقات عن مشكلتي هذه فأخبروني أن علاج النسيان هو التطبيق؛ فعلى قدر التطبيق ستستقر المعلومات في الذهن. أشير أيضًا إلى تحدي الوقت، لأن المنحة كانت تعني الانتهاء من 3 دورات في مدة 6 أشهر، لكن الدورة الأولى أخذت مني وقتًا طويلًا لإنجازها نظرًا لأني كنت بخلفية صفرية عن هذا المجال، فمثّل لي الوقت حينها أحد التحديات، لكن كل هذه التحديات كانت تهون لمّا تبدأ بتطوير موقع مثلًا من الصفر وتريه لأهلك وأصدقائك، بالتأكيد هذا الإنجاز يحقق شعورًا كبيرًا بالسعادة والانبساط. صحيح أخذت مني الدورة كل هذه الوقت لكني في النهاية خرجت منها وأنا قادرة على إنشاء موقع من الألف إلى الياء! ما هي الطريقة الأمثل من وجهة نظرك لتدارس البرمجة؟ أنا من النوع الذي يحب أن يتعلم في المساء، يعني أنتظر إلى أن يخلد أهلي للنوم حتى أفتح اللاب وأبدأ الدراسة وأستمر في الدراسة إلى ما بعد صلاة الفجر، وفي الحقيقة وقت الفجر هو أفضل وقت للاستذكار وتزيد فيه كمية الدروس التي أنجزها مقارنةً مع غيره من الأوقات. أما عن طريقة المذاكرة نفسها، فكنت أشاهد الفيديو كاملًا مع تدوين بعض الملاحظات حول طريقة التطبيق، ثم بعد ذلك أشرع بالتطبيق استرشادًا بما كتبت من ملاحظات. وهذه الملاحظات عبارة عن أهم النقاط التي تحدث عنها المدرب أو الأشياء الطفيفة التي ستؤثر في كتابة الشيفرة، مثل ترك مسافة بين كلمة ورمز معين وهكذا، وفي حال نسيت أمرًا معينًا أو اكتشفت مع التطبيق أنني لم أفهمه، أعود مجددًا إلى الفيديو، وأعيد التطبيق أكثر من مرة. جنبًا إلى جنب، كنت ألجأ للبحث على الإنترنت للاستزادة في بعض الأجزاء، وأحيانًا يطلب منا المدرب هذا الأمر بنفسه، فيطلب منا مثلًا أن نبحث ونقرأ عن خاصية أو وسم ما من موسوعة حسوب، وبعض الفيديوهات يكون الغرض منها أن يعطيك المدرب ما سيفيدك في هذه المرحلة مع الأخذ بالحسبان أنك مبتدئة، فإن لم أشعر أنني هضمت هذه الجزئية جيدًا كنت أذهب إلى موسوعة حسوب فأجد أمثلة أكثر ومعلومات أكثر توسعًا بشأنها. في بعض الأحيان قد أشعر أنني تهت أكثر وفي أحيان كثيرة تفيدني هذه المعلومات فيما سآتي على دراسته مستقبلًا. ما الذي كنت تتمنين معرفته أو تصحيحه في خلال رحلتك السابقة؟ كنت لأحاول أن أستفيد وأستغل وقتي أكثر، كذلك من أكثر الأشياء التي أثرت عليّ سلبًا أنني لم آخذ الدورات بصفة متعاقبة فلا أنقطع عن التعلّم مهما حصل، صحيح أن توقفي كان لظروف قاهرة بوفاة والدتي. لكن ما أستطيع أن أنصح به غيري هو ألا يأخذ فاصلًا كبيرا في رحلة التعلّم. هذا المجال جميل جدًا ومن الجميل تعلمه بسرعة. ما أكثر ما أعجبك في رحلة التعلّم مع أكاديمية حسوب؟ محتوى الأكاديمية شامل، يعني أنا بعدما أنهيت الدورات أحببت أن أتوسع بالدراسة مع مؤسسات أخرى، فوجدت أن طريقة الشرح والمحتوى المعروض في غير الأكاديمية ضحل وسطحي جدًا، فاضطرت لأخذ عدة دورات لكي تتوازى مع دورة واحدة مما تقدمه أكاديمية حسوب. الأمر الآخر الذي يميز الأكاديمية هو أن محتواها باللغة العربية، لذلك لن تستغرق وقتًا في البحث عن المصطلحات الأجنبية وترجمتها لأنك عرفت المصطلح وترجمته في الأكاديمية، وهذا أمر موفر جدًا لوقت التعلّم فلن تضيّع وقتك ذهابًا وإيابًا في البحث عن مصطلح ما. أما عن المدربين أنفسهم فالأمر الجميل أنهم متنوعون، يعني تجد في كل دورة أكثر من مدرب، ولكل مسار مدرب معين، فلو لم تسترح تمامًا مع أسلوب مدرب ما، سوف يكون لديك إمكانية التعلّم مع غيره من المسار الثاني. والأمر نفسه في قسم التعليقات على كل فيديو، فستجد العشرات من المدربين الذين يجاوبون عن الأسئلة وسيجيبك آخر إن لم تفهم من الأول، فهم حريصون جدًا على بذل كل جهودهم حتى تفهم المعلومات تمامًا وأنا ممتنة لهم جميعهم واستفدت منهم كلهم. أما عن تجربة التعلّم الافتراضية، فأكثر ما أعجبني فيها أنك تتحكم في وقت أخذ المعلومات ومقدار ترددها عليك، يعني في الحياة الواقعية لو لم تستوعب معلومة ما، فيمكن أن تطلب من المدرب أن يُعِيدها لك مرة لكن لن تتمكن من هذا الطلب أكثر من مرة، بخلاف الفيديو المسجل فلك أن تشاهده قدر حاجتك وزيادة. وكذلك أجد أن تجربة التعلم عبر الإنترنت تعينك على توسيع مداركك أكثر، فلك أن تُوقف الفيديو في أي مرحلة ثم تبحث عن معلومات إضافية وتعود إلى ما توقفت عنده للمتابعة، يعني أنا عن نفسي أحببت تجربة الدورات عبر الإنترنت أكثر من تجربة التعلّم التقليدية. ماذا عن مشروع التخرج والمقابلة النهائية والامتحان؟ أعجبني فكرة وجود امتحان مع نهاية الدورة، لأنه إذا وضعت هذا الأمر ببالك وأنت تدرس ستكون جادًا أكثر مع نفسك في التعلم وفي الانتظام بالدراسة، ويعطيك تحفيزًا أكبر على التغلب على الصعوبات التي تواجهك وبذل وقت أكبر في الفهم. مع ذلك، كنت خائفة جدًا من فكرة الامتحان الشفوي، لكن بالتجربة وجدتها ربما أفضل، والأسئلة إن جهزت نفسك جيدًا للمقابلة فلن تجدها صعبة، أما عن مشروع التخرج فهو تجربة ممتازة لكي تقيّم نفسك وتعرف هل ستكون قادرًا على الاستقلال بالعمل والاستفادة مما تعلمت أو لا، وستزيد ثقتك بنفسك كثيرًا بعدها. احكي لنا عن أول عمل حصلت عليه بعد إتمام الدورات؟ حصلت على أول عمل بمجرد ما أنهيت دورة تطوير واجهات المستخدم، وكان العمل عن طريق أخي، فهو يعمل مصمم جرافيك فدائمًا لديه عملاء يحتاجون لمن يصمم ويطور لهم مواقعهم الإلكترونية، فعملت مع بعضهم على تصميم بعض الصفحات لمنتجاتهم. وكان تجربة أول عمل تنطوي على كثير من الخوف، فبطبيعة الحال تظل المشروعات التي نفذتها في الأكاديمية تخضع للتقييم من المدربين، لكن في العمل الفعلي أنت وحدك مسؤول عن اكتشاف الأخطاء وعلاجها. وأنا مثلًا بعدما أنهيت العمل على إحدى الصفحات أرسلتها إلى إحدى المدربات على الأكاديمية أسألها إن كان ثمة أخطاء فيها، والحمد لله لم يكن بها أخطاء فسلمت المشروع للعميل. لكن بمجرد ما تتم العمل على أول مشروع ستكون واثقًا في تنفيذ بقية المشروعات الأخرى ويقل مستوى الخوف تمامًا.
    1 نقطة
  11. لا تمكنك البرمجة من الحصول على وظيفة بدخل مجزي فحسب، بل قد تكون البوابة الأمثل لمن يبحث عن تغيير مساره المهني بسرعة. في قصة اليوم تروي لنا زينب عبد النبي قصتها مع تعلم البرمجة وكيف تمكنت من العمل في الوظيفة التي تريد في نهاية المطاف. في هذه السلسلة وثقنا قصص مجموعة من المطورين من طلاب أكاديمية حسوب كانوا مثلك تمامًا في يوم من الأيام، بعضهم كان مترددًا بشأن قدرته في أن يكون مطورًا من الأساس، وبعضهم كانت لديه مخاوف حول تمكّنه من المنافسة في هذا المجال سريع التطور، ومنهم من كانوا طلابًا في هندسة الحاسوب تنقصهم الخبرة العملية، لكنهم جميعًا في لحظة ما، قرروا بذل جهود حقيقية في التعلّم فحصدوا ثمارها. عرفينا بنفسك يا زينب؟ أنا زينب عبد النبي، عمري 22 سنة، درست رياضيات بالجامعة اللبنانية، لكني لم أحب هذا المجال كثيرًا ولم أكن متحمسة لمهنة التدريس وهي الوظيفة المتوقعة لهذا التخصص. في المقابل، وجدتني أكثر في مواد البرمجة التي كنا ندرسها في المقررات الجامعية، فقررت أن أتعمق في دراستها. وجاءت كورونا وقتها ووجدت إعلانًا لمنحة لتعلّم البرمجة مع أكاديمية حسوب فتقدمت إليها، ثم بدأت الدراسة، وبعدما أنهيت الدورات شرعت في العمل على مشاريع برمجية على موقع مستقل، ولم أتوقف عن التعلم في أثناء العمل الحر إلى أن جائتني فرصة العمل مطور واجهات خلفية في شركة موديلر CX. لماذا اتجهتي إلى دراسة البرمجة دون غيرها؟ يعجبني المنطق البرمجي ومعرفة كيفية عمل الحاسب الآلي، وأكثر ما يعجبني فيها هو حجم الاستخدامات الكبيرة والمتنوعة التي نحتاج البرمجة فيها. تجذبني فكرة أن جزءًا كبيرًا من تطوّر العالم حاليًا قائم على البرمجة؛ لذا فتعلمي لها يعني أنني سأكون من المساهمين في عملية التطوير. وطبعًا لو وضعنا كل هذه الميزات في مقابل مهنة التدريس والتي هي التطور الطبيعي لمجال دراستي، فبالتأكيد سأفضل ما أنا عليه الآن. كيف عرفتي بأكاديمية حسوب، وكيف تقيّمين التعلّم عبرها؟ لم تكن لدي أي تجارب سابقة في تعلم البرمجة قبل أكاديمية حسوب، أذكر أنه ظهر لي إعلان على فيسبوك بخصوص منحة لتعلم البرمجة بالتعاون مع البنك الدولي، وكنت قد سمعت عن أكاديمية حسوب من قبل على يوتيوب، فلما جاءت الفرصة للحصول على الدورات عبر منحة -إذ لم أكن أملك ثمنها في ذلك الوقت- تقدمت إليها فورًا. وحقيقةً بدء تعلم البرمجة مع أكاديمية حسوب جعل منها بدايةً مميزةً جدًا وحببني في البرمجة أكثر، لأن الدورات شاملة ومتدرجة، وباللغة العربية. وإلى الآن ما زلت أتذكر كل ما تعلمته في دورة جافاسكربت وأطبقه في عملي الحالي، فالدراسة في أكاديمية حسوب كانت بمثابة تجربة عملية لما عليه سوق العمل على الحقيقة، وقد أفادتني المشروعات التي نفذتها في الدورات في بناء سيرة ذاتية قوية ساعدتني في الحصول على وظيفتي الحالية. ولعل أكثر ما يميزهم هو المتابعة، يعني أنا من الناس الذين يحتاجون إلى تشجيع مستمر، وأحسب أنه لولا المتابعة التي حصلت عليها لما كنت أكملت الدورات إلى نهايتها. ما التحديات التي واجهتينها في تعلم البرمجة؟ البرمجة على خلاف كثير من العلوم الأخرى لا يحصل تعلمها سوى بالتجربة والخطأ، فالأمر لا يتم بحفظ مجموعة من الشيفرات ثم تطبيقها، بل لا بد من أن تجرب بنفسك ثم لن تعمل معك الشيفرة من أول مرة، فتعود لتجرب مرة أخرى، وتجدها لا تعمل أيضًا فتجرب للمرة الثالثة فلا تعمل معك. هذه العملية من المحاولة والخطأ قد تصيبك بالإحباط قليلًا لكن بعد كثير من البحث والتجارب وتصحيح الأخطاء ستعمل معك في النهاية وستُسر وقتها. وأنا شخصيًا أحب هذا النوع من التحديات وكلما أتجاوز أحدها أشعر بكثير من الثقة في نفسي، لكن الأمر في كل الأحوال يحتاج إلى صبر كبير بلا شك. إحدى التحديات التي واجهتها أيضًا هو موضوع تنظيم الوقت، إذ كنت أعمل في فترة تعلّمي وكان الأمر ضاغط جدًا عليّ. حينها استعملت أكثر من أداة لتتبع الوقت ومن ضمنها أداة أنا وتمكنت من متابعة المهام وترتيب الأولويات فتيسرت الأمور بعدها بفضل الله. ما هي أفضل وصفة للتعلم من وجهة نظرك؟ كنت أخصص ساعات الصباح الأولى من بعد الفطور للدراسة فكنت أشاهد الفديوهات وأطبق ما فيها ثم أبحث عما أريد استيضاحه أكثر وهذا كان يأخذ معي وقتًا طويلًا، ففيديو من 10 دقائق قد يستغرق معي النهار كله. فلم أكن أُتم مشاهدة أي فيديو إلا بعد أن أستوعب أنني فهمته تمامًا وطبقت ما فيه. وطريقتي كانت تبدأ بمشاهدة الفيديو كاملًا وفهم موضوعه وكتابة ملاحظات حوله، ثم مشاهدته مرة ثانية مع التطبيق وكنت أتعمد ألا أنقل الأكواد نفسها في أثناء التطبيق، وبعد كتابة الشيفرات قد تظهر معي بعض الأخطاء، فكنت أجري بحثًا عن الحلول ثم أعود للتطبيق وهكذا. ومن بعد الساعة الثالثة عصرًا، ومع نهاية دوام المدرسة كان يأتي إليّ بعض طلاب المدراس إذ كنت أقدم لهم دروس خصوصية. وبعد انتهاء العمل كنت أعود لدراسة البرمجة مساءً في نحو ساعتين أو ثلاثة. طبعًا لم تكن فترة الدراسة متصلة دائمًا، فقد كنت أخصص بعض الوقت للاستراحة. احكي لنا عن مشروع التخرج والمقابلة النهائية والامتحان؟ المقابلة والمشروع كانا يسيران من وجهة نظري، لكن لا بد من المراجعة قبلهما، فأنا مررت على الفيديوهات قبل المقابلة، وراجعت الملاحظات التي دونتها في أثناء الدراسة، فكما تعرفين في البرمجة لا تحتاجين إلى الحفظ، لذلك من الضروري من وقت لآخر مراجعة المعلومات؛ فالشيفرات المحفوظة في الذاكرة هي الشائعة وما كثر استخدامه أما ما دون ذلك فيلزمه بحث مسبق. وبالنسبة لمشروع التخرج فكان سهلًا كذلك؛ يعني طالما أنك فهمت محتوى الفيديوهات جيدًا وطبقت عليه فلن تواجه مشكلات كثيرة في العمل على المشروع. ما الذي كنت تتمنين معرفته أو تصحيحه في خلال رحلتك السابقة؟ مرت فترة عليّ في أثناء الدراسة كنت مضغوطة جدًا بالوقت، فكنت أكتب الشيفرات كما هي دون أن أفهم تمامًا المنطق ورائها ودون أن أفكر في طرائق أخرى لأداء الوظيفة نفسها، لكني الآن وددت لو أنني أعطيتها الوقت الكافي وتعمقت أكثر في فهمها، لأن فهم المنطق وراء كل سطر برمجي تكتبه هو الذي سيمكّنك من حل المشكلات التي تواجهك في المستقبل أو التفكير في حلول أفضل وأسرع للحصول على النتيجة نفسها. احكي لنا عن أول مشروع أنجزتينه على موقع مستقل، وبماذا تنصحين المطورين الجدد على مستقل؟ على عكس الشائع ربما، عندما قدمت أول عرض لي على مستقل، كنت خائفة جدًا أن يتم قبول عرضي وأستلم المشروع ثم لا أكون قادرة على تسليمه للعميل مثلما أراد. تواصل معي صاحب المشروع وشارك معي تفاصيل العمل واتفقنا على كيفية التنفيذ، وكان المشروع عبارة عن تعديل على ملف CSS لمتجره الإلكتروني على منصة زد، وهذا المشروع علمني الكثير وزاد مهارتي في لغة CSS. وبعد انتهاء المشروع أعطني العميل تقييمًا كاملًا. فنصيحتي للمستقلين الجدد هي الصبر، لأنه حتى لو أعددت ملفك الشخصي جيدًا وأضفت معرضًا للأعمال فسيكون صعبًا أن تحصل على أول مشروع من دون تقييمات لعملاء سابقين، لكن بعد أول مشروع تكون الأمور أيسر وستحظى عروضك بالقبول من كثير من أصحاب المشاريع. يعني أنا الآن ومع أنني لا أعمل بتركيز على مستقل تأتيني الكثير من الدعوات من أصحاب المشاريع وقد قام صاحب مشروعي الأول بدعوتي إلى مشروع ثانٍ. وقبل ذلك ينبغي أن تتأكد من أنك تحب البرمجة فعلًا وتريد العمل بها، وتشعر بالسعادة وأن تعمل وتكتب الأكواد، لأن هذا هو الأمر الوحيد الذي سيبقي على دافعيتك ورغبتك وصبرك تجاه التعلّم وفي أثناء العمل. كيف حصلت على وظيفتك الحالية؟ بعدما أنهيت الدورات مع أكاديمية حسوب عملت على ملء سيرتي المهنية بالمشروعات والدورات التي أتممتها ووضعت اللغات والتقنيات التي تعلمتها، وقدمت سيرتي الذاتية في أكثر من مكان من خلال منصة لينكدإن ثم جاءني بريد لعقد مقابلة مع شركة موديلرCX وهي متخصصة في تقديم تجارب تسويق تفاعلية عبر تقنية الـ 3D Configuration لأصحاب المتاجر الإلكترونية، وبعدما حضرت المقابلة الأولى قاموا بتكليفي بالعمل على مشروع معين، وبعدما أنجزته عقدوا معي مقابلة ثانية شرحت فيها كيف عملت على المشروع ولحق ذلك اجتماع ثالث مع المدير ومن ثم توظفت فيها وأعمل حاليًا مطور واجهات خلفية.
    1 نقطة
  12. ازاي اقدر احط فيديو في موقع React واخفي عنصر ال video src زي نظام اكادميه حاسوب في الفيديوهات ولو فيه طريقه مع الصور برده عشان امنع المستخدم من تنزيل الفيديو
    1 نقطة
  13. تم الحديث عن ذلك بشكل مفصل في النقاش التالي: وبإختصار قم بتخزين الفيديوهات والصور على خوادم آمنة ومحمية مثل Vimeo ويمكنك استخدام خدمات التخزين السحابي مثل Amazon S3 أو Google Cloud Storage وضبط الصلاحيات بحيث يكون الوصول إلى الملفات مقيدًا. وتستطيع تشفير ملفات الفيديو باستخدام تقنيات التشفير المتاحة في خوادم الوسائط الخاصة بك أو استخدام DRM (إدارة الحقوق الرقمية) للفيديوهات إذا كان ذلك ضروريًا.
    1 نقطة
  14. 1- الحل البديهي هو استخدام تقنية pagination لعرض المنتجات بشكل متتالي، وتسمح لك بتقسيم المنتجات إلى صفحات، بحيث يتم تحميل كل صفحة عند الحاجة إليها، وتستطيع استخدام تقنية pagination مع أي قاعدة بيانات، بما في ذلك MongoDB. وإليك مثال على كيفية استخدام تقنية pagination لعرض المنتجات في Node.js: const express = require("express"); const mongodb = require("mongodb"); const app = express(); // Connect to the database const db = mongodb.connect("mongodb://localhost:27017/products"); // Get all products const products = db.collection("products").find().toArray(); // Create a paginator const paginator = new Paginator(products, 10); // Get the next page of products const nextPage = paginator.next(); // Render the products app.get("/products", (req, res) => { res.send(nextPage); }); app.listen(3000); 2- هناك خيار آخر وهو استخدام cursors لعرض المنتجات بشكل متتالي، وتسمح لك تلك التقنية بتصفح مجموعة من البيانات دون تحميلها بالكامل في الذاكرة، وبالطبع تستطيع استخدام cursors مع MongoDB. مثال: const express = require("express"); const mongodb = require("mongodb"); const app = express(); // Connect to the database const db = mongodb.connect("mongodb://localhost:27017/products"); // Get all products const cursor = db.collection("products").find(); // Iterate over the products cursor.forEach((product) => { console.log(product); }); app.listen(3000); ويمكنك استخدام تقنية cursors لعرض المنتجات بشكل متتالي عن طريق استخدام دالة next() للتقدم إلى المنتج التالي. 3- وكحل آخر استخدم sharding لتوزيع البيانات على عدة خوادم، و سيساعد ذلك في تقليل وقت جلب البيانات من قاعدة البيانات. مثال: const express = require("express"); const mongodb = require("mongodb"); const app = express(); // Connect to the database const db = mongodb.connect("mongodb://localhost:27017/products"); // Shard the database const sharding = new Sharding(db); // Get all products const products = sharding.collection("products").find().toArray(); // Render the products app.get("/products", (req, res) => { res.send(products); }); app.listen(3000); والفكرية هي تقسيم مجموعة البيانات إلى عدة أجزاء يتم تخزينها على خوادم مختلفة، مما يساعد في تقليل وقت جلب البيانات من قاعدة البيانات. بالإضافة إلى تحسين أداء قاعدة البيانات عن طريق تحسين خوارزميات البحث والفرز وتحسين بنية البيانات.
    1 نقطة
  15. useEffect(() => { console.log("Hello World") }, []) عندما اقوم بفتح الكونسل ارى انه قد كرر الجملة مرتين وكذلك const [name, SetName] = useState("Ali"); useEffect(() => { console.log("Hello World") }, [name]) اليس من المفترض ان يتم تنفيذ الامر عن تحديث المتغير لماذا يقوم بتنفيذ الامر مرتين عند تشغيل الموقع
    1 نقطة
  16. تقصد في المرة الأولى عند فتح التطبيق بدون أي تحديث للحالة state أو الإعتماديات الخاصة بالخطاف useEffect؟ في حال كان الأمر كذلك، فهو بسبب وضع StrictMode وما يفعله هو 3 أشياء أثناء تطوير المشروع: يعيد عرض مكوناتك مرة أخرى Re-renders للعثور على الأخطاء الناتجة عن إعادة العرض غير النقي (التأثيرات الجانبية). يعيد تشغيل تأثيرات مكوناتك مرة أخرى للعثور على الأخطاء الناجمة عن عدم وجود دالة تنظيف مناسبة. يتحقق من مكوناتك مما إذا كان يتم استخدام واجهات برمجة التطبيقات القديمة deprecated APIs. وبالتالي يتم طباعة الرسالة مرتين في الكونسول، ومن المفترض أن تجد ذلك الوضوع مفعل في مشروعك في ملف index.js أو app.js كالتالي: const root = ReactDOM.createRoot( document.getElementById('root'), ); root.render( <React.StrictMode> <App /> </React.StrictMode>, ); وفي حال تعطيله قم بإزالة StrictMode ليصبح الكود كالتالي: const root = ReactDOM.createRoot( document.getElementById('root'), ); root.render( <App />, );
    1 نقطة
  17. هل حاولت إضافة رمز التوثيق إلى الطلب؟ عن طريق إضافة حقل Authorization كالتالي: useEffect(() => { const getUser = async() => { const token = localStorage.getItem("token"); const headers = { "Authorization": `Bearer ${token}` }; await axios.get('/api/auth', { headers }) .then(res => console.log(res.data)) .catch(err => console.log(err, "err")) } getUser() }, []) أيضًا تأكد من التالي: العنوان الموجه (proxy) في ملف package.json الخاص بمشروع ReactJS يشير إلى الخادم الصحيح أي التأكد من أن الخادم Node.js يعمل على الميناء 3001 وأن العنوان الذي تم تحديده في package.json هو الصحيح. الخادم Node.js يقوم بالتصريح بشكل صحيح بالمسار '/api/auth'، وهذا مهم لأنه يجب أن يتطابق مع المسار الذي تم استدعاءه من مشروع ReactJS. تأكد من أن الرمز المرسل في رأس الطلب من مشروع ReactJS (x-auth-token) هو الرمز الصحيح ويتطابق مع الرمز الذي تم إنشاؤه عند تسجيل الدخول. قم بتصحيح أي مشكلات محتملة في وظيفة protect وتأكد من أنها تقوم بإصدار رمز المصادقة (Token) بشكل صحيح وأنها تستجيب للطلبات بالشكل الصحيح.
    1 نقطة
  18. تفعيل البيئه الافتراضيه المكتبات المثبته على النظام الافتراضي مع العلم لم اقم بتثبيت اي مكتبه بعد
    1 نقطة
  19. CCED - Google Chrome 2023-09-19 14-13-07.mp4 شكرا لكما عبد الباسط و سمير عبود على مساعدتي و على التعليق قمت بعمل متغير لحفظ ال active panel حتى تفتح و تغلق بشكل جيد ولا تسبب مشكلة عند تبديل الروابط حيث انها لا تغلق حتى اضغط مرتين لكن تبقى امر بسيط و هو اريد عندما اغير من link الى link آخر اريد اضفاء transition الاغلاق و الفتح حيث انني لم استطع تنفيذها اي اريد مثلما اضغط و اغلق الpanel لوحده (حيث تظهر الpanel من خارج الجانب الايسر الى الجانب الايمن) اريد هذا الtransiton عندما انتقل من رابط الى رابط و الpanel مفتوحة @سمير عبود @عبدالباسط ابراهيم
    1 نقطة
  20. اعتذر عن فهم السؤال بطريقة سهله ... يمكن استخدام الاتي لتحقيق المطلوب {% if user.is_authenticated %} <div class="dropdown"> <button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" ariahaspopup="true" aria-expanded="false"> {{ user.username }} <span class="caret"></span> </button> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a class="dropdown-item" href="{% url 'profile' %}">profile</a> <div class="dropdown-submenu"> <a class="dropdown-item dropdown-toggle" href="#">language</a> <ul class="dropdown-menu"> <a class="dropdown-item" href="#">Item 1</a> <a class="dropdown-item" href="#">Item 2</a> </ul> </div> <a class="dropdown-item" href="{% url 'logout' %}">logout</a> </div> </div> {% else %} <div class="col-lg-6 d-flex align-items-center justify-content-end"> <a class="btn btn-dark py-2 px-4 d-none d-lg-block" href="#">{% trans 'Join Now' %}</a> <a class="btn btn-outline-primary py-2 px-4 ml-2 d-none d-lg-block" href="{% url 'login' %}">{% trans 'Login' %}</a> </div> {% endif %} تم استخدام الصنف "dropdown-submenu" لإنشاء العناصر الفرعية للقائمة المنسدلة, يتم ضبط هذه العناصر كعناصر فرعية متداخلة داخل عنصر فرعي آخر. تأكد من تضمين ملفات Bootstrap و javascript Bootstrap اللازمة وتوفيرها في المسار الصحيح. وهذه الصورة توضح الذي طلبته
    1 نقطة
  21. أعتقد أن السبب في هذا السلوك هو استخدام ال toggle في الجزء الثاني من ال addEventListener لذلك حاول تغيير الدالة toggle إلى classList.add وقم بحفظ التعديلات والإطلاع على النتيجة وإن لم تعمل كما تريد يفضل رفع ملفات المشروع
    1 نقطة
  22. أعتقد أنك تتحدث عن الحالة التي يكون فيها أحد ال panels مفتوح، فتضطر إلى الضغط مرتين في أول مرة يتم إغلاق ال panel المفتوح و في المرة الثانية لفتح ال panel المعني. في هذه الحالة تحتاج عند الضغط ضمان غلق كل ال panels ما عدا العُنصر المعني تتركه على حالته و تقوم بتبديل حالته بوحده إن كان ظاهر تُخفيه إن كان مخفي تُظهره، لست مُلم بكافة العناصر التي لديك في الهيكلية لذلك المثال البسيط التالي مشابه للحالة التي تريد تطبيقها: Html: <ul> <li class="link" data-href="para1">Link 1</li> <li class="link" data-href="para2">Link 2</li> <li class="link" data-href="para3">Link 3</li> </ul> <div class="content"> <p class="para d-none" id="para1">Content 1</p> <p class="para d-none" id="para2">Content 2</p> <p class="para d-none" id="para3">Content 3</p> </div> لدي 3 عناصر li و 3 عناصر p و كل عُنصر li مرتبط مع فقرة، إفتراضياً كل الفقرات مخفية، عند الضغط على li يتم إظهار و إخفاء عُنصر الفقرة المرتبط به و هذا كود الجافاسكربت: var links = document.querySelectorAll('.link') links.forEach(function(link) { link.addEventListener('click', function(event) { var targetElId = this.getAttribute('data-href') var relatedPara = document.getElementById(targetElId) // ensure hide all paragraph except the current one document.querySelectorAll('.para').forEach(function(p) { if(p.getAttribute('id') != targetElId) { p.classList.add('d-none') } }) // toggle related paragraph relatedPara.classList.toggle('d-none') }) }) المثال موجود على Codepen للتجربة: https://codepen.io/SamirAbboud/full/ExGbgBK
    1 نقطة
  23. بما أنك لا تعرفين الجواب فالجواب هو c++، استعمال لغة السي يتم في حالات خاصة جداً و يجب أن يكون الشخص خبيراً جداً ليقوم بذلك، ما عدا ذلك قومي باستعمال c++، حيث يمكنك اعتبارها تطوير للغة السي. لغة السي قد تحتاجين لها للتعامل مع الهاردوير في حالات خاصة، و لكن غالباً c++ تكفي لذلك. أيضاً لغة السي أصبحت قديمة و مشاكلها كثيرة.
    1 نقطة
  24. مرحبا, هذا السؤال تتحدد إجابته بالاعتماد على عدة عوامل، مثل المشروع المحدد وسرعة الأداء وسهولة كتابة الأكواد . - المشروع المحدد: إذا كان لديك مشروع بسيط وصغير، فقد يكون من الأفضل استخدام لغة C نظرًا لبساطتها وسهولة التعامل معها. ومع ذلك، إذا كان لديك مشروع أكبر وأكثر تعقيدًا، فقد يكون من الأفضل استخدام لغة C++ نظرًا لقدرتها على التوسع والتخصيص وإدارة المشاريع الضخمة. - سرعة الأداء: على الرغم من أن لغة C تعتبر سريعة في تنفيذ الأكواد، إلا أن لغة C++ قد تكون أسرع في بعض الحالات نظرًا لإمكانية استخدام تقنيات مثل التنفيذ الخطي للتوابع (inline) وتحسين استخدام الذاكرة. - سهولة كتابة الأكواد: لغة C تعتبر أكثر بساطة في كتابة الأكواد وفهمها، بينما لغة C++ قد تكون أكثر تعقيدًا نظرًا للميزات الإضافية التي تقدمها مثل الكائنات والتعامل مع الذاكرة المباشرة. بشكل عام، يمكن القول أن لغة C++ توفر مزايا إضافية مقارنة بلغة C في الأداء والتوسع والتخصيص، ولكنها قد تكون أكثر تعقيدًا في بعض الحالات. يجب اختيار اللغة المناسبة وفقًا لمتطلبات المشروع والخبرة والمهارات المتاحة التي تمتلكها في كل منهما.
    1 نقطة
  25. اختيار استخدام لغة "C" أو "C++" يعتمد على حاجتك ومتطلبات المشروع الذي تعمل عليه. إليك بعض النقاط التي يمكن أن تساعدك في اتخاذ القرار: عند استخدام لغة البرمجة C أنظمة التشغيل: تم إنشاء لغة C للاستخدام مع نظام التشغيل UNIX، ولا تزال مفيدة في مجال أنظمة التشغيل حتى اليوم. لذلك، يعتبر تعلم لغة C خيارًا جيدًا إذا كنت ترغب في تعلم أنظمة التشغيل وتجربة العمل على طبقة نظام التشغيل. تعتمد لينكس بشكل كبير على لغة C، وقد يتطلب تعلم برمجة لينكس معرفة بلغة C. تعتبر لغة C خيارًا شائعًا للاستخدام في الأجهزة المدمجة. حيث يحتاج الأجهزة المدمجة إلى نظام حوسبة محدد الغرض للعمل كوحدة مستقلة. النواة والمشغلات (Drivers): باعتبارها لغة متوسطة المستوى، تعتبر لغة C خيارًا رائدًا للاستخدام في البرمجة على مستوى منخفض لكتابة النصوص البرمجية للنواة والمشغلات. وهذا ليس مفاجئًا نظرًا لأن النواة والمشغلات يعملان على جوانب من النظام. بالمقارنة مع C++, تعتبر لغة C أبسط وأسرع لغة برمجة. اللغة C هي تقليدية ولا تدعم الفصائل والكائنات، مما يعني أنها تحتوي على وظائف أقل من C++. وهذا يتيح لك قضاء وقت أطول في التركيز على ما يمكنك القيام به باستخدام مكتبات C، خاصة على مستوى نظام التشغيل. مع وجود C++ الذي يستند إلى لغة C، سيجعل تعلم اللغة C تعلم اللغة C++ أسهل في المستقبل. كان C++ يعرف في الأصل بـ "C مع فصائل". عند استخدام لغة البرمجة C++: الألعاب: تعتبر C++ قوة سائدة في ألعاب الفيديو. إنها أقرب إلى الأجهزة بالمقارنة مع معظم اللغات الأخرى و، نتيجة لذلك، يمكنها التلاعب بالموارد بسهولة. تبرز C++ في السرعة، مما يتيح لها التغلب على تعقيدات الألعاب ثلاثية الأبعاد والشبكات المتعددة الطبقات. الرسومات: تتميز اللغة أيضًا في مجال الرسومات ورؤية الحاسوب. نظرًا لأن هذه المهام تتطلب قوة حسابية كبيرة، فإن C++ هي الخيار الأفضل للبرمجة. يمكنها توفير السرعة والكفاءة اللازمة لعرض الرسومات على الشاشة. متصفحات الويب: تستخدم C++ على نطاق واسع في العديد من متصفحات الويب الحديثة مثل Chrome وFirefox وSafari. تعتمد متصفحات الويب على اللغة بشكل خاص لمحركات العرض الخاصة بها. توفر C++ السرعة التي تحتاجها متصفحات الويب لعرض المحتوى بسرعة كافية. أسباب أخرى لاستخدام C++: بالمقارنة مع C، يحتوي C++ على مكتبات ووظائف أكثر بكثير يمكن استخدامها. إذا كنت تعمل على برمجيات معقدة، فإن C++ هي الخيار الأفضل لأن لديك المزيد من المكتبات التي يمكنك الاعتماد عليها.
    1 نقطة
  26. لغة سي بلس بلس (C++) لها أهمية كبيرة في مجالي الـAI وأمن المعلومات للأسباب التالية: تتميز C++ بالسرعة بفضل أنها لغة مختلطة تدعم البرمجة المتعددة والوصول المباشر للمعالج. مما يجعلها مثالية لتطبيقات AI مثل deep learning. ميزة مهمة في مجال أمن المعلومات حيث تستخدم C++ في برمجة نظم التشغيل وتطبيقات أمنية حرجة. توفر مكتبات قوية مثل OpenCV (للرؤية الحاسوبية) وCaffe وTensorFlow (للـAI) تعزز من قدراتها. ولكن ربما تجد python منتشره بشكل أكبر في ال AI أو أمن المعلومات وذلك لأنه ليس هناك حاجة للغة قوية لبرمجة الذكاء الاصطناعي. يستخدم معظم المطورين مكتبات مثل Keras وTorch وCaffe وWatson وTensorFlow وغيرها. تلك المكتبات على مستوى منخفض مُحسنة بشكل كبير وتتعامل مع جميع المهام الصعبة. تم بناؤها باستخدام لغات عالية الأداء مثل C و C++. بينما البايثون مستخدمة فقط للمهام على مستوى عالٍ مثل وصف طبقات الشبكة العصبية، وتحميل البيانات، وتشغيل المعالجة، وعرض النتائج. استخدام C++ للمهام على مستوى عالٍ بدلاً من البايثون لن يوفر تحسينًا في الأداء يذكر، ولكن سيكون أصعب بالنسبة لغير المطورين حيث يتطلب الاهتمام بإدارة الذاكرة. بالإضافة إلى ذلك، قد لا يكون لدى العديد من أشخاص الذكاء الاصطناعي خلفية قوية في البرمجة أو علوم الحاسوب. مثال آخر مماثل هو تطوير الألعاب، حيث يتم برمجة المحرك باستخدام C/C++، وغالبًا ما يتم كتابة منطق اللعبة بلغة ذات مستوى أعلى. بالنسبة للسؤال لماذا توجد لغة سريعة عن غيرها مثل ++c ؟ يمكنك قراءة الإجابات التالية
    1 نقطة
  27. لغة C++ لها أهمية كبيرة في مجالي الذكاء الاصطناعي (AI) وأمن المعلومات (Information Security) على النحو التالي:- لغة C++ معروفة بأدائها العالي، وهذا يجعلها مثالية لتطبيقات AI التي تتطلب معالجة كبيرة للبيانات والحسابات المعقدة. في AI، تحتاج النماذج العميقة والخوارزميات المعقدة إلى أداء عالي لمعالجة مجموعات البيانات الكبيرة والتعامل مع العمليات الحسابية المعقدة بفعالية. C++ تسمح للمطورين بالتحكم الكامل في إدارة الذاكرة، مما يسمح بتحسين أداء تطبيقات AI وضمان عدم وجود تسريبات ذاكرة أو مشاكل أمان. هناك العديد من المكتبات والإطارات (Frameworks) المتاحة باللغة C++ التي تمكن مطوري AI من بناء وتطوير نماذج AI متقدمة بسهولة، مثل OpenCV و TensorFlow. C++ توفر مستوى عالي من السيطرة على تعامل المعلومات والبيانات، وهذا مهم في مجال أمن المعلومات حيث يجب ضمان عدم تسريب المعلومات أو استخدامها بطرق غير مصرح بها. في مجال AI وأمن المعلومات، قد تكون هناك حاجة لأداء عالي واستخدام المعالجة الموازية والبرمجة منخفضة المستوى، وهذا يعتبر نقطة قوة لـ C++. بالنسبة لمقارنة C++ بـ Python في مجال AI وأمن المعلومات، يمكن القول أنهما يتممان بعضهما البعض بدلاً من منافسة. Python تستخدم على نطاق واسع في تطوير تطبيقات AI بسبب سهولة الاستخدام والتعلم، ولكن C++ تأتي بفوائد أداء أعلى وتحكم أعمق في الموارد والذاكرة. أما بالنسبة لسرعة C++، فهذا يعود إلى تصميمها وطريقة تنفيذها. إنها تتيح للمطورين التحكم الكامل في الذاكرة وتقديم تعليمات برمجية على مستوى منخفض، مما يسمح بتحسين الأداء وتحقيق سرعة أعلى في التنفيذ.
    1 نقطة
  28. كحل و توجه بسيط تستطيع إنشاء حقل (is_admin) في جدول المستخدمين لتمييز المُستخدم العادي عن المستخدم المُشرف، تقوم بتحديد الحقل بالقيمة 0 إفتراضياً و هذا يعني أنه مستخدم عادي و عندما تكون قيمة الحقل 1 مثلاً فذلك يعني أن المُستخدم مُشرف. تُنشئ صفحة لا يستطيع الوصول لها إلا المشرفين، و تضمن ذلك من خلال الحقل is_admin، تجلب كافة المنشورات و تعرضها في الصفحة. بخصوص المنشورات أيضاً تضع حقل approved في جدول المنشورات و تضع له قيمة إفتراضية 0 أي غير مقبول، و عند تعديل الحقل إلى 1 يُصبح مقبول، و تقوم بإتاحة ذلك في صفحة الأدمن التي أنشأتها، و تضيف الوظائف التي تريدها كالتعديل و الحذف و ما إلى ذلك. في صفحة عرض المنشورات العامة تقوم فقط بعرض المنشورات المقبولة (أي المنشورات التي تملك القيمة 1 في الحقل approved) تقوم بربط نموذج المنشورات بنموذج المستخدمين عبر علاقة من خلال مفتاح ثانوي user_id في جدول المنشورات. هذا بشكل مُختصر، إن أردت يُمكنك الإستفسار أكثر عن النقاط التي لم تفهمها و سنوضحها لك.
    1 نقطة
  29. إليك الخطوات المطلوبة لإضافة ميزة الموافقة على المنشورات قبل نشرها في لارافيل حاول تطبيق هذه الخطوات وإذا واجهت اي مشكلة قم بطرح المشكلة وسيتم مساعدتك: قم بإنشاء جدول في قاعدة البيانات لتخزين المنشورات المقدمة من المستخدمين. يجب أن يحتوي الجدول على حقول مثل "المحتوى" و "حالة الموافقة" و "تاريخ الإنشاء" وغيرها حسب الاحتياجات. قم بإنشاء نموذج في Laravel يمثل الجدول الذي تم إنشاؤه في الخطوة الأولى. يمكنك استخدام نموذج Artisan لإنشاء النموذج بسهولة. قم بإنشاء عرض (view) يتيح للمستخدم إدخال المنشور الذي يرغب في إضافته. يمكنك استخدام نموذج (Form) لجمع بيانات المنشور. في وحدة التحكم (Controller) المسؤولة عن حفظ المنشورات، قم بتحقق من المنشور المقدم من المستخدم واتخاذ الإجراء المناسب. يمكنك تحديد حالة الموافقة إلى "قيد المراجعة" في البداية. عندما يتم حفظ المنشور، قم بإرسال إشعار إلى الإداري لإعلامه بوجود منشور بحاجة إلى المراجعة. يمكنك استخدام البريد الإلكتروني أو رسائل النظام أو أي وسيلة أخرى لإرسال الإشعار. قم بإنشاء صفحة خاصة بالإداري لعرض المنشورات التي تحتاج إلى المراجعة. يمكنك استخدام عرض (view) ووحدة التحكم (controller) لاستعراض المنشورات وتحديث حالتها. بناءً على مراجعة الإداري، يمكن للإداري الموافقة على المنشور كما هو، أو إجراء التعديلات اللازمة ومن ثم الموافقة عليه. يمكن تحديث حالة الموافقة في قاعدة البيانات وإعلام المستخدم بالقرار.
    1 نقطة
  30. يمكنك استخدام إطار العمل Laravel لبناء نظام تطبيق يتيح للمستخدمين إضافة منشورات ويتيح للمشرفين الموافقة عليها أو التعديل عليها. يمكنك إنشاء نموذج Laravel للمنشور يحتوي على الحقول اللازمة مثل العنوان والمحتوى وحالة الموافقة. يمكنك تعيين حقل "حالة الموافقة" إلى القيمة الافتراضية التي تحدد ما إذا كان المنشور موافق عليه أم لا. يمكنك إنشاء واجهة مستخدم تسمح للمستخدمين بإضافة منشوراتهم وحفظها في قاعدة البيانات. يمكنك إنشاء صفحة خاصة للمشرفين تعرض المنشورات التي تم إضافتها بواسطة المستخدمين ولم يتم الموافقة عليها بعد. يمكنك استخدام عمليات البحث في نموذج Laravel لاستعراض هذه المنشورات. يمكنك إضافة وظيفة تحرير وموافقة المنشورات للمشرفين. عند تحرير المنشور، يمكنك تحديث حالة الموافقة إلى "تمت الموافقة" وحفظ التغييرات في قاعدة البيانات. بعد قبول أو تعديل المنشور، يمكنك إرسال إشعار أو رسالة إلى المستخدم الذي أضاف المنشور لإعلامه بالتغييرات والموافقة على منشوره أو توجيهه إلى تعديله.
    1 نقطة
  31. من أجل مساعدتك بشكل أفضل، يرجى تقديم مزيد من التفاصيل حول الخطأ الذي تواجهه أثناء محاولة تثبيت مكتبة في مشروع React Native. يمكنك تقديم المعلومات التالية: 1. الأمر الذي تستخدمه لتثبيت المكتبة. 2. رسالة الخطأ التي تظهر عند محاولة التثبيت. 3. نسخة مشروع React Native الذي تعمل عليه (مثل React Native 0.63، 0.64، إلخ). 4. نوع نظام التشغيل الذي تستخدمه (Windows، macOS، Linux). 5. أي معلومات إضافية قد تعتقد أنها ذات صلة. هناك بعض الخطوات العامة التي يمكن أن تساعد في حل مشكلة تثبيت المكتبات في مشروع React Native عندما تواجه مشاكل. إليك بعض الخطوات التي يمكنك اتخاذها: 1. تحديث npm أو Yarn: تأكد من أن لديك أحدث إصدار من npm أو Yarn. يمكنك تحديث npm باستخدام الأمر npm install -g npm وتحديث Yarn باستخدام npm install -g yarn 2. حذف مجلد node_modules وملف package-lock.json (أو yarn.lock): ومن ثم قم بتشغيل الأمر `npm install` أو `yarn` مرة أخرى لإعادة تثبيت المكتبات. 3. استخدام بروكسي أو VPN: في بعض الحالات، قد يكون هناك قيود على الاتصال بمستودعات npm أو Yarn. يمكنك استخدام بروكسي أو VPN لتجاوز هذه القيود. 4. التحقق من مشكلات الشبكة: تأكد من أن لديك اتصال إنترنت جيد وأن ليس هناك مشاكل تمنع التنزيل. 5. التحقق من تحديثات المكتبة: تأكد من أن المكتبة التي تحاول تثبيتها متوافقة مع إصدار مشروع React Native الذي تستخدمه.
    1 نقطة
  32. أشرت أن تثبيتك لأي مكتبة ينتهي بخطأ وهذا أمر له إحتمالات عديدة نذكر منها: أنت تكتب أمر تثبيت خاطيء فيظهر لك أن الأمر غير معرف comand not found أن تكتب الأمر الصحيح لكنك لست في مسار المشروع الرئيسي حيث يتواجد ملف package.json التي يتم تعريف الحزم فيه. أن يكون ملف package.json تالفاً أو يحتوي على أخطاء في ال syntax وهو أمر شائع الحدوث وعند محاولة تنفيذ أمر التثبيت يظهر لك syntax error.
    1 نقطة
  33. ما هو الخطأ الذي يظهر لك، يجب تحديد الخطأ لحل المشكلة، وربما لديك تعارض في إصدارات الحزم conflict peer dependencies ولحل المشكلة، عليك باستخدام مؤشر أو --legacy-peer-deps عند التثبيت أي كالتالي: npm i --legacy-peer-deps والسبب أنه بعض الأحيان، يكون من الصعب تثبيت حزم معينة بسبب تبعيات النظائر القديمة، وقد يحدث ذلك عندما تكون الحزمة الأصلية معتمدة على نسخة محددة من حزمة، ولكن نسخة أحدث من تلك الحزمة مثبتة بالفعل ويتعارض ذلك مع التبعية. ومن الأفضل استخدام الحزم المتوافقة مع بعضها، من خلال تحديث الحزم من خلال تشغيل حزمة npm-check-updates بالأمر التالي: npx npm-check-updates وسيتم تحديث إصدارات الحزم في ملف package.json والآن عليك بالتثبيت من خلال الأمر npm i. ولكن انتبه إلى أن تحديث الحزم إلى آخر إصدار قد يتعارض مع الكود الخاص بمشروعك في حال كانت الإصدارات الجديدة تتطلب تعديل على الكود.
    1 نقطة
  34. كلًا من NPM و PNPM يقوم بإدارة وتحميل الحزم الخاصة بـ Node.js ولكن بطرق مختلفة، فبداية من الإصدار 3 في NPM أصبح يتم تحميل الحزم وتخزينها في مجلد node_modules على شكل flattened dependency tree أي أن كل حزمة يكون لها مجلد خاص بها منفصل عن باقي الحزم بالكامل، وبالتالي يمكن لأكثر من مكتبة أن تستعمل نفس الحزمة بدون الحاجة لتحميل الحزمة مرتين (مرة لكل مكتبة) في المشروع الواحد، وبالتالي هذا الأمر يوفر في المساحة المستخدمه لتخزين الحزم والمكتبات في المشروع، ولكن بالنسبة لمشروع آخر فيجب أن يتم تحميل الحزم مرة أخرى وتخزينها في مجلد node_modules جديد خاص بالمشروع الثاني، وهذا الأمر يسبب في بطء عملية تحميل وتثبيت الحزم وخصوصًا إن كنت تعمل على مشاريع متعددة. على الجانب الآخر يستعمل PNPM طريقة مختلفة لتثبيت الحزم، حيث يتم تثبيت الحزم والمكتبات في مكان عام (على القرص C على سبيل المثال) ثم يتم عمل إختصار (hard linking and symbolic linking) لمجلد الحزمة في مجلد node_modules الخاص بالمشروع، وبالتالي لا يتم تحميل وتثبيت الحزمة إلا مرة واحدة ثم يتم إستعمالها في كل المشاريع المختلفة بدون مشكلة. هنا مثال لكيف سيبدو مجلد node_modules في حالة تم إستعمال PNPM، حيث ستجد أن المجلد الخاص بكل حزمة يشير إلى مجلد بنفس الاسم ولكن في مكان مختلف (داخل مجلد التثبيت العام والذي يشار إليه في الشكل التالي بـ <store>): node_modules └── .pnpm ├── bar@1.0.0 │ └── node_modules │ └── bar -> <store>/bar │ ├── index.js │ └── package.json └── foo@1.0.0 └── node_modules └── foo -> <store>/foo ├── index.js └── package.json يمكنك تثبيت PNPM من خلال الأمر التالي: npm install -g pnpm ويمكنك أن تستخدمه لتثبيت الحزم أو حذفها أو تحديثها من خلال الأوامر: pnpm add <pkg> pnpm remove <pkg> pnpm up <pkg>
    1 نقطة
  35. مجلد المشروع لا يوجد به مجلد الخادم، بل مجلد الـ client مكرر مرتين ولكن بداخل مجلد server
    0 نقاط
×
×
  • أضف...