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

Mustafa Suleiman

الأعضاء
  • المساهمات

    9647
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    296

كل منشورات العضو Mustafa Suleiman

  1. سيتم الرد عليك بلا شك عزيزي، أرجو منك الإنتظار قليلاً ولا تقلق أبدًا بخصوص ذلك، وبعد 24 ساعة إذا لم يتم الرد، قم بالتواصل مرة أخرى.
  2. أرجو منك طرح السؤال أسفل فيديو الدورة الخاص به لنتمكن من مساعدتك، وطرح الأسئلة العامة الغير خاصة بالدورات هنا في قسم أسئلة البرمجة. وأيضًا توضيح ما الذي تتوقعه من الكود بالضبط. وعلى أي حال، إليك شرح الكود الخاص بك: وهو عبارة عن برنامج بسيط يتم استخدامه لإيجاد مجموع أرقام معينة وإضافة كل مجموع إلى قائمة جديدة. يتم تعريف قائمة من الأرقام بمسمى "numbers" وتحتوي على الأرقام [2, 5, 3, 1, 4]. تعريف قائمة فارغة جديدة بمسمى "empty". تعريف متغير بمسمى "result" بقيمة صفر، وسيتم استخدامه لحساب مجموع الأرقام. استخدام حلقة تكرار "for" لتمرير عبر كل عنصر في قائمة الأرقام. في كل مرة تتم فيها مرور حلقة التكرار عبر عنصر من الأرقام، يتم إضافة القيمة الحالية إلى المتغير "result". بعد ذلك، يتم إضافة المجموع الحالي (أي "result") إلى قائمة "empty". في النهاية، يتم طباعة مجموع الأرقام النهائي الذي تم حسابه وتخزينه في المتغير "result"، والذي هو 15 في هذه الحالة. بالتالي، يتم إنشاء قائمة جديدة باستخدام "empty" تحتوي على مجموع الأرقام المتراكم، حيث ستكون القائمة تحتوي على القيم [2, 7, 10, 11, 15].
  3. من الأفضل تخزين البيانات في صورة Lowercase من البداية في قاعدة البيانات.، ثم البحث عنها لحل لتلك المشكلة، أي سنبحث عن البيانات بعد أن قمنا بتخزينها في صورة حروف صغيرة: String nameCountryLower = NameContry.toLowerCase(); FirebaseFirestore.instance .collection('my_collection') .where('Country', isEqualTo: nameCountryLower) .get() .then((querySnapshot) { // يمكنك استخدام querySnapshot.docs للوصول إلى النتائج // ... }); أو استخدام أدوات أخرى للبحث في قاعدة البيانات وقد تم ذكرها في الرابط التالي: https://firebase.google.com/docs/firestore/solutions/search وهناك حل آخر: من خلال تحويل الاستعلام البحثي إلى مجموعة من القيم المتغيرة (variations) والتي يتم البحث عنها جميعها في الحقل الذي يراد البحث عنه. مثا: إذا كان البحث هو "oman" ، فسيتم تحويله إلى مجموعة ["oman"، "OMAN"، "Oman"] والتي تشمل جميع الحالات الممكنة لهذا الاستعلام بغض النظر عن حجم الأحرف. ثم يتم إجراء استعلام "in" حيث يتم البحث عن جميع هذه القيم المتغيرة في الحقل الذي يراد البحث عنه. يدعم استعلام "in" ما يصل إلى 10 مساواة (==) بين القيم مع عامل التشغيل "OR" اللوجيكي. وبهذا يمكن الاحتفاظ بحقل واحد فقط "name" والبحث فيه باستخدام التغييرات المحتملة عليه. List<String> variations = ["oman", "OMAN", "Oman"]; // TODO: write a function that converts the query string into this kind of Array QuerySnapshot search = await FirebaseFirestore.instance.collection("users").where("name", whereIn: variations).get(); وهنا يتم استخدام متغير القائمة (List) بدلاً من مصفوفة (Array) وكذلك الاستعلام البحثي whereIn بدلاً من "in"، وبعد ذلك يتم استخدام الدالة get() للحصول على نتائج الاستعلام.
  4. استخدم الدالة with في الاستعلام لجلب جميع الأحداث مع علاقتها بالكليات، ثم استخدام حلقة foreach للحصول على اسم الكلية لكل حدث. مثال: $events = Event::with('FaNa')->get(); foreach ($events as $event) { $facultyName = $event->FaNa->Faculty_Name; // القيام بالعمليات المطلوبة باستخدام اسم الكلية } ستحصل على مصفوفة $events تحتوي على جميع الأحداث وعلاقتها بالكليات، وستتمكن من الوصول إلى اسم الكلية لكل حدث باستخدام $event->FaNa->Faculty_Name.
  5. مرحبًا @Abdraouf Laifa أرجو منك مراجعة النقاش التالي وقد تم الإجابة على سؤالك به وحل المشكلة.
  6. حاول استخدام حلقة foreach() للتكرار على جميع العناصر في مصفوفة الكليات (faculties) وإنشاء قائمة منسدلة (dropdown list) تحتوي على جميع الكليات المتاحة. و استخدام هذه القائمة المنسدلة للسماح للمستخدمين بتحديد الكلية التي يرغبون في إضافة البيانات الخاصة بهم. اليك كود يعرض قائمة المنسدلة لجميع الكليات: {!! Form::open(['route' => 'route_name', 'method' => 'post']) !!} {!! Form::label('Faculty', 'Select a Faculty') !!} {!! Form::select('Faculty_ID', $faculties->pluck('Faculty_Name', 'Faculty_ID')) !!} {!! Form::submit('Submit') !!} {!! Form::close() !!} يتم فتح نموذج HTML باستخدام {!! Form::open() !!} وتحديد عنوان URL الذي يرسل إليه النموذج باستخدام مفتاح الخاصية 'route'، أيضًا تحديد طريقة الإرسال باستخدام مفتاح الخاصية 'method'. بعد ذلك، إنشاء تسمية لعنصر الاختيار المنسدل باستخدام {!! Form::label() !!}. ثم، إنشاء عنصر الاختيار المنسدل باستخدام {!! Form::select() !!}، حيث يتم تمرير قيمة 'Faculty_ID' كاسم لعنصر الاختيار المنسدل ومصفوفة الكليات ($faculties) كقيمة للخيارات المتاحة في عنصر الاختيار المنسدل. واستخدام دالة pluck() لاستخراج اسم الكلية كنص من مصفوفة الكليات، وكذلك استخراج قيمة Faculty_ID كقيمة للخيارات في عنصر الاختيار المنسدل. أخيرًا، إنشاء زر Submit باستخدام {!! Form::submit() !!}، وإغلاق النموذج باستخدام {!! Form::close() !!}.
  7. تستطيع استخدام الدالة foreach() لتكرار على جميع العناصر الموجودة في مصفوفة Array أو في قائمة Collection في Laravel. و دالة foreach() متاحة في لغة البرمجة PHP التي يعتمد عليها Laravel. مثال: $array = array('item1', 'item2', 'item3'); foreach ($array as $item) { echo $item; } وبالإمكان استخدام الدالة foreach() لاسترجاع جميع العناصر في قائمة Collection في Laravel كما يلي: $collection = collect(['item1', 'item2', 'item3']); foreach ($collection as $item) { echo $item; } وبذلك تستطيع التكرار على جميع العناصر في مصفوفة Array أو في قائمة Collection في Laravel والقيام بالعمليات التي تريدها على كل عنصر.
  8. ربما قام شخص ما بمحاولة تسجيل الدخول عدة مرات، ولذلك تم إغلاق حسابك لحمايته. والحل الذي أمامك الآن هو تسجيل الدخول من أحد الأجهزة التي تم التعرف عليها مسبقًأ قبل غلق الحساب، سواء هاتفك أو حاسوبك. وإذا استمرت المشكلة، سيتعين عليك إثبات ملكيتك للحساب، وتسطيع ذلك من الضغط على الرابط التالي: https://facebook.com/login/identify ثم قم بالبحث عن حسابك بواسطة الإيميل أو رقم الهاتف. وأيضًا يجب أن يكون جهاز تم تسجيل الدخول منه من قبل، ثم اتبع خطوات إعادة تعيين كلمة السر الخاصة بحسابك. وإذا استمرت المشكلة ولم تتمكن من إعادة تعيين كلمة السر، قم بإرسال طلب مراجعة لحسابك عبر الرابط التالي: https://web.facebook.com/help/contact/260749603972907 أيضًأ تستطيع استعادة حساب Facebook الخاص بك باستخدام حساب صديق أو عائلة: قم بالدخول إلى حساب Facebook لصديق أو عضو عائلتك عن طريق استخدام حاسوب. ابحث عن حساب Facebook الخاص بك الذي تريد استعادته. انقر فوق زر "المزيد" تحت الصورة الغلاف. حدد "البحث عن الدعم أو الإبلاغ عن الحساب". حدد "شيء آخر" ثم انقر على "التالي". انقر على "استعادة هذا الحساب" واتبع الخطوات الإضافية التي ستظهر على الشاشة لإثبات هويتك وإثبات أنك صاحب الحساب.
  9. إضافة إلى ما ذكره محمد، يمكن أن تكون الأرقام Double Precision أكثر دقة من الأرقام ذات الدقة المفردة، لأنها تستخدم 64 بتًا لتمثيل الرقم بدلاً من 32 بتًا. وهذا يعني أن الأرقام Double Precision يمكن أن تمثل قيم أكبر وأصغر من الأرقام ذات الدقة المفردة، وتسمح بإجراء العمليات الحسابية الأكثر دقة. وفيما يتعلق بأنواع الأرقام في JavaScript، فإن اللغة توفر ثلاثة أنواع أساسية للأرقام: الأعداد الصحيحة (integers) والأعداد العشرية (floating-point numbers) و NaN (Not a Number). ويتم تمثيل الأعداد العشرية في JavaScript باستخدام Double Precision، حيث يتم تخزينها باستخدام 64 بتًا، كما يمكن استخدام الأعداد العشرية في JavaScript لتمثيل الأعداد الصحيحة بسبب نطاقها الأكبر. أما بالنسبة لـ Syntactic Sugar في JavaScript، فهناك العديد من الأمثلة على ذلك، مثل استخدام "arrow functions" بدلاً من الدوال العادية و "template literals" بدلاً من السلاسل النصية المعتادة. هناك العديد من أمثلة Syntactic Sugar في JavaScript، وهنا مثال بسيط: بدلاً من استخدام الدالة العادية: function add(x, y) { return x + y; } يمكن استخدام الـ arrow function: const add = (x, y) => x + y; وبهذا يتم تبسيط كتابة الدالة وجعلها أكثر وضوحًا وسهولة للفهم.
  10. بالنسبة لخلط جميع الأعمدة دفعًة واحدة: انقر بزر الماوس الأيمن على رأس الجدول (الصندوق الأعلى الأيسر) لتحديد جميع الأعمدة، كما في الصورة التالية: 2- قم بإختيار Sort أو ترتيب 3- بعد ذلك إختر ترتيب مخصص Custom sort 4- الآن ستظهر لك نافذة اضغط على options واختر sort left to right أو ترتيب من اليسار إلى اليمين، ثم إضغط Ok. 5- قم بإختيار الترتيب على حسب ما تريده، مثلاً إختر الترتيب بالصف الأول sort by ويمكنك تعديل باقي الخيارات بما يتناسب مع ما تريده. 6- انقر فوق "موافق" لتأكيد الخلط.
  11. الوظائف الخاصة بمكتبة React تتطلب خبرة سنة أو إلى سنتين على الأقل، وذلك بسبب أن استخدام React ليس سهل وتحتاج إلى خبرة فعلاً ووقت لتتمكن من تنفيذ مشروع بمفردك، أي عليك ببناء 3 مشاريع بواسطة React على الأقل. ولكن إذا أردت التوظيف باستخدام React عليك بتعلم إما node.js أو PHP وأنا أنصحك بتعلم PHP في البداية، حيث أنها ستفتح أمامك المجال لتعلم إطار لارافيل وأيضًا وورد بريس، وكلاهما مطلوبان بشدة في سوق العمل. وحاليًا يتم استخدام Next.js بشكل كبير، ولا غنى عنها لمطور React ويتم طلبها بكثرة في الوظائف. أما Vue.js فاستخدامها أسهل، وستجد وظائف بالنسبة لمستوى Junior، وأيضًا ستحتاج إلى تعلم Nuxt. ونفس الأمر بالنسبة لإطار Angualr وهو ليس سهل لكن بسبب كونه إطار عمل وليس مكتبة ، فستجد أنك تتبع خطوات وقواعد وأدوات محددة، مما يسهل عليك الأمر كمبتدأ ويقلل من الأخطاء، وستجد وظائف تقبل مستوى Junior. ولكن نصيحتي إليك هي برؤية ما هو المطلوب في سوق العمل لديك والتوجه إلى تعلم تلك المهارات، فهل المطلوب هو Angular قمت بتعلم الإطار، هل المطلوب Vue.js مع PHP ولارافيل عليك بتعلم ذلك. هل المطلوب Angular و .net إذًا عليك بتعلم ذلك. وعليك بتحديد ما الذي تريده، هل تريد العمل على مواقع العمل الحر العربية، إذًا عليك بتعلم PHP ولارافيل وورد بريس، أما مواقع العمل الحر الأجنبية يمكنك العمل فيها بأي لغة أو مكتبة أو إطار شهير، حيث ستجد فرص بلا شك. أما السوق المحلي لديك في بلدك، فعليك باستكشاف ماهي المهارات المطلوبة من خلال مواقع مثل LinkedIn وغيرها حسب ما يتم استخدامه في بلدك، وقم بفلترة الوظائف بمستوى Junior أو Entry Level. وعليك بمعرفة أن فترة الحصول على وظيفة قد تتراوح ما بين 3 أشهر إلى 6 أشهر بعد الإنتهاء من المسار البرمجي الذي قررت تعلمه، ولا تصاب بالإحباط عزيزي جراء ذلك. ودعني أخبرك شيئًا يجهله الكثير، وهو أن فترة التدريب والتعلم ليست فترة خبرة، بل الخبرة تأتي بعد تلك الفترة من خلال التطبيق وبناء المشاريع، أي أن ليس لديك خبرة 6 أشهر (فترة التعلم ) بل ما يأتي بعد ذلك هي الخبرة. ولا تقم بتعلم جميع المهارات واللغات والإطارات، بل عليك بتحديد ما تريده جيدًا من خلال سوق العمل الذي تريد العمل به، ثم التركيز بشدة على تعلم تلك المهارات لتحصل على وظيفة أو تستطيع الحصول على مشروع على مواقع العمل الحر. بعد ذلك، تستطيع تعلم ما تشاء، لكن هناك أولويات عليك بتحديدها.
  12. حاول استخدام الدالة toLowerCase() لتحويل قيمة NameContry إلى حروف صغيرة، ثم استخدام هذه القيمة في استعلام Firestore. مثال: .where('Country', isEqualTo: NameContry.toLowerCase()) بهذا الشكل، سيتم تحويل قيمة NameContry إلى حروف صغيرة ومقارنتها مع قيمة الحقل "Country" في Firestore، بحيث لن يتم الاهتمام بحالة الأحرف. وبذلك تستطيع البحث عن السجلات التي تحتوي على الدولة بغض النظر عن حالة الأحرف الموجودة في NameContry.
  13. العفو أخي عبده، لكن أرجو منك وضع الكود بشكل نصي من خلال علامة <> عند إضافة السؤال لأتمكن من مساعدتك، وإخباري ما المشكلة التي تواجهك بالضبط وماذا تتوقع من الكود.
  14. تستطيع استخدام خاصية "fill" في النموذج Laravel، حيث يمكن تحديد الحقول التي يجب تعديلها وترك الحقول الأخرى بدون تعديل. مثلاً، إذا كان لديك نموذج يحتوي على حقول "title" و "description" و "image" ، وتحتاج إلى تعديل "title" و "description" فقط دون تغيير الصورة، يمكنك القيام بذلك كما يلي: public function update(Request $request, $id) { $post = Post::findOrFail($id); $post->fill($request->only('title', 'description')); $post->save(); return redirect()->back(); } تم استخدام الدالة "fill" لتحديد الحقول "title" و "description" فقط وترك حقل الصورة دون تغيير، واستخدام الدالة "only" لتحديد الحقول المطلوبة فقط للتحديث. وبذلك سيتم الاحتفاظ بالصورة القديمة في الحقل "image" دون الحاجة إلى إعادة تحميلها.
  15. توفر مكتبة Laravel Spatie وظيفة لتحويل السلسلة النصية إلى مصفوفة: use Spatie\Translatable\HasTranslations; class YourModel extends Model { use HasTranslations; public $translatable = ['value']; public function getValueAttribute($value) { $translatedValue = $this->getTranslations('value'); $numericValue = $this->id; return [ 'value' => $translatedValue, 'numeric_value' => $numericValue, ]; } } من خلال إضافة خاصية "translatable" إلى النموذج لتحديد الحقل المترجم، ثم استخدام الدالة "getTranslations" لاستخراج القيمة المترجمة للحقل، يتم إضافة القيمة العددية للحقل كقيمة رقمية. يمكنك الآن استخدام خاصية "value" و "numeric_value" لعرض القيم المترجمة والقيم الرقمية على التوالي.
  16. بالرغم من أن React وEmotion وNext.js وStoryblok تعتبر تقنيات وأدوات تطوير وإدارة المواقع الشائعة والمفضلة لإنشاء مثل تلك المواقع، إلا أن استخدام بايثون أيضًا ممكن بالطبع. وستحتاج استخدام إطار عمل Django، الذي يتميز بكونه سهل الاستخدام وقوي وشامل لإنشاء تطبيقات الويب. وبعد تثبيت Django، تستطيع استخدام المكتبات الإضافية لإنشاء ميزات مثل معالجة الدفعات (Stripe) وإدارة العلاقات مع العملاء (Salesforce و HubSpot) وتضمين معلومات سياحية (TripAdvisor API و Amadeus و Sabre و Travelport). بالإضافة إلى ذلك، بالإمكان استخدام مكتبات Python الأخرى لإنشاء ميزات مثل معالجة الصور وإدارة البريد الإلكتروني والبحث عن المواقع السياحية.
  17. السوق حاليًا متشبع بمطوري الـ Front-End وبعد 5 سنوات لا أحد يجزم أن الطلب سيقل، لكن المهام التي سيمكن لشخص الواحد يستخدم الذكاء الاصطناعي القيام بها ستزيد بالتأكيد مما يعني أن الطلب سيقل، بسبب قدرة شخص واحد على القيام بمهام شخصين مثلاً. وذلك قياسًا على التطور الذي يشهده الذكاء الاصطناعي حاليًا، فالأمر طبيعي جدًا، إذا نظرت للماضي تنبأت بالمستقبل أو دعنا نقول استعديت له، وقد ذكرت لك من قبل أن مجال الـ Front-End هو الأكتر تأثيرًا بسبب حجم التطور والأدوات التي تحاول إنشاء الواجهة بأقل وقت ومجهود وكود يذكر. ومع الوقت سنصل لتلك المرحلة بلا شك، لكن فترة 5 سنوات لا أحد يعلم ما سيحدث خلالها، وما يمكنك فعله هو أن تصبح مبرمج بحق، أي تعلم الأساسيات جيدًا وتعمق في مجالك ولا تتعلم قشور البرمجة فيتم استبدالك. وأرجو أن تسمع مني تلك النصيحة، الخوف الذي لديك في البداية هو طبيعي جدًا ولدى الجميع، وذلك بسبب شيء واحد واسمح لي بقوله وهو الجهل بمجال البرمجة، فبعد أن تتعلم وتستوعب ما يمكن للذكاء الاصطناعي فعله وحدوده ومدى تأثيره وتأثيرك أنت، وتعلم كيف يتم إنشاء الـ Ai، سيرتاح بالك وتعلم ما يجب عليه فعله وتعلمه. وحاليًا أنصحك بتعلم جافاسكريبت، وليس بايثون، ودائمًا ما أنصح الجميع في البداية بتعلم HTML, CSS, JS بسبب سهولتهم وبسبب أنك ستحتاجهم في أغلب المجالات وأيضًا بتعلمهم تفتح عينيك على عالم البرمجة بشكل واسع. وأنصحك بقراءة النقاشات التالية:
  18. إذا قمت بإختيار الدورتين أثناء الإشتراك كما في الصورة التالية وقمت بالدفع. وتوجهت إلى الدورات الخاصة بك، وستجد شرح كامل عن كيفية الوصول لدوراتك في الشرح التالي: كيف أصل للدورات التي اشتركت بها وفي حال لم تجد الدورة الثانية، فأرجو منك التحدث إلى مركز المساعدة الخاص بأكاديمية حسوب وسيتم إضافة الدورة لك، ولا تقلق.
  19. لا تفعل ذلك أبدًا، التزم بالجامعة عزيزي، وأنهي فترة الأربع سنوات بخير، ولا تشغل بالك أبدًا بعدد المبرمجين، فالجميع يرزقون والله تكفل بذلك، فاشغل نفسك بالإجتهاد ولا تنظر أبدًا إلى الآخرين. ذلك فخ يقع فيه الكثيرين، ففي البدايات يريد عقد عمل وسيارة وحساب بنكي، قبل أن يتعلم البرمجة، فلا تكن أنت منهم. وسوق العمل بحاجة إلى مبرمجين محترفين بحق، حيث أن المشاريع تبحث عن مبرمجين ولا تجد من يقوم بها، بسبب سوء مستوى أغلب المبرمجين في عالمنا العربي وإتجاه المحترفين للعمل في الخارج في الدول الأجنبية. لذلك تحلى بالصبر ولا تستعجل ولا تنظر لحصاد الآخرين، فقد قاموا بالإجتهاد لسنوات وتلك هي فترة الحصاد لهم. قم بالدراسة بجانب الكلية ولا تعتمد عليها أبدًا في أن تصبح مبرمج، بل اتخذها عامل مساعد واستفد بتلك الفترة في تحفيذك وكون علاقات وحاول التدرب في الشركات بعد الإنتهاء من تعلم لغة أو مسار تدريبي.
  20. التخصص في مجال الذكاء الاصطناعي أم دراسة البرمجة في كلية حاسبات ومعلومات كلا المجالين ستحتاج فيهما إلى كتابة الكود، ومجال الذكاء الاصطناعي أشد تعقيدًا، وأيضًا فرص العمل متوفرة في الخارج وليس في أغلب الدول العربية، لذلك إذا كنت مستعد للسفر إلى الخارج فقم بالتخصص في مجال الـ Ai. حيث أنه مجال واعد وله مستقبل في السنوات القادمة، فأغلب الشركات الآن تتجه إلى استخدام الـ Ai بمختلف أشكاله، وتتسابق في إطلاق الأدوات والمنصات الخاصة بها التي تستخدم الذكاء الاصطناعي. وإذا كنت تفضل العمل في السوق المحلي أو الدول العربية، فأنصحك بدراسة البرمجة في كلية علوم الحاسب. أي الأمر يتوقف على ظروفك الشخصية والمادية والوقت المتوفر لك. فترة الخدمة العسكرية وتأثيرها على الوظيفة الأمر شر لابد منه، ولا أنصحك أبدًا بالتهرب من الخدمة العسكرية، قم بتأدية الخدمة لمدة سنة وخلال تلك السنة عليك بدراسة البرمجة والتطبيق في فترة الأجازات إذا استطعت. وهون عليك الأمر، فالجميع مر بتلك الفترة، وأعرف البعض قد عمل بشركات وهو طالب لكن بمستوى يستحق التوظيف حيث أنه قد كان درس البرمجة لمدة عام أو عامين وقام بمشاريع، لذلك في السنة الثالثة قام بالعمل في شركة. ثم دخل الجيش وعاد للعمل مرة أخرى بعد الإنتهاء من الخدمة. أي لا مشكلة في العمل لكونك طالب، لكن يجب توافر المهارات المطلوبة ومعرض أعمال به 3 مشاريع حقيقية على الأقل لتتمكن من الحصول على وظيفة، أو يمكنك العمل على مواقع العمل الحر كمستقل. لكن بعض الشركات الكبيرة تتطلب أن تكون قد أديت الخدمة وحصلت على الشهادة الجامعية لذلك ليس جميع الشركات توظف طلاب. تطوير مستواك في البرمجة والحفاظ على العملاء أولاً، من الصعب الحفاظ على العملاء في حالة تأدية الخدمة العسكرية، إلا إذا وافق العميل بذلك، وأثناء فترة الإجازات يمكنك العمل على المشروع الخاص به. أي أنك لست حر نفسك أثناء فترة الخدمة العسكرية، لذلك لا تلتزم وتعطي كلمة بنسبة 100%. أما بالنسبة لتطوير مستواك، فهناك حلان إما القراءة من خلال الكتب في المجال الخاص بك أو اللغات التي اخترتها وتعمل بها، أو مشاهدة دورات وكورسات على الهاتف المحمول أثناء أوقات فراغك في الخدمة إذا تم السماح بالهاتف والأغلب يستطيع أخذ هاتفه معه بشكل ودي. فإذا كنت في بداية تعلم البرمجة، فهناك الكثير مما يمكن تعلمه، عليك بتحديد مسار Roadmap ورؤية ما الذي تحتاج إلى تعلمه أو زيادة مستواك به.
  21. أهلا فاطمة، إذا قمتي بالتقدم للإختبار وتم الإنتهاء وإعتماد النتيجة الخاصة بك، فسوف يتم إرسال الشهادة الورقية إلى عنوانك في بلدك (ماعدا الدول التي بها حروب) وتترواح مدة الشحن من أسبوع إلى شهر. بينما تتوافر شهادة إلكترونية لها رابط خاص بك على موقع أكاديمية حسوب، أي رابطها يحوي كلمة academy.hsoub، ويمكنك إضافتها على مواقع التوظيف مثل LinkedIn. وإذا كنتي ما زلتي لم تتقدمي للإختبار، فأرجو منك قراءة النقاشات التالية، فستجدي بها كافة الإجابات على أسئلتك.
  22. أنت في سن صغير، ولا تستعجل أبدًا، بل امشي بخطى ثابتة، فذلك أفضل لك وسيحميك من التخبط والتشتت. في أي بلد داخل عالمنا، الشهادة الجامعية مهمة جدًا، وفي عالمنا العربي أشد أهمية، لذلك ركز على الشهادة أولاً والتخرج بدرجة مرتفعة قد تفتح لك أبواب خير كثيرة مغلقة. بعد ذلك، ستمتلك كل الوقت في العالم لتعلم البرمجة، ولا أحد سيمنعك من ذلك، لكن هناك أمور مقيدة بوقت مثل الجامعة، حيث يجب الإلتزام بالدراسة في وقتها، وإلا ستتأخر في الدراسة والبرمجة معًا. ولا تكتفي بالشهادة الجامعية، فعليك بالدراسة خارجها أيضًا وزيادة مهاراتك بما يتناسب مع سوق العمل، فالشهادة الجامعية في أغلب البلدان العربية لن تؤهلك لسوق العمل، وسيتوجب عليك أنت التعلم واكتساب الخبرة. وبالطبع من قام بالدراسة بشكل أكاديمي في كلية علوم الحاسب، وقام بتعلم البرمجة جنبًا إلى جنب مع الكلية، فسيتفوق على المبرمجين الآخرين خارج الكلية ولكن ليس جميعهم، فالمواد متاحة للجميع على الإنترنت، والذي يتفوق هو الذي يجتهد أكثر. لكن هي شهادة ضمان على أنك درست علوم الحاسب وتم إختبارك على مدار 4 سنوات، ودرست قواعد بيانات، خوارزميات، هياكل بيانات، ولغات برمجة قوية مثل جافا و C++ وعلوم أخرى. وأيضًا ستحيط نفسك بأشخاص لهم نفس الهدف في كلية علوم الحاسب وستكون صداقات وعلاقات معهم، وذلك سيدفعك أنت أيضًا إلى تحقيق نفس الهدف بنسبة كبيرة، وهو أمر هام جدًا يفتقده الكثير خارج جامعة حاسبات ومعلومات. وأنصحك بقراءة النقاش التالي:
  23. دعني أوضح لك أمرًا، عاجلاً أم أجلاً سيتعين عليك استخدام الذكاء الاصطناعي وإلا سيتم استبدالك، وليس العكس أي الذكاء الاصطناعي لن يقوم باستبدالك كمبرمج ولكن بشرط سيتم توضيحه لاحقًا. لماذا؟ لأن ذلك هو التطور الطبيعي، فكلما ظهرت أدوات متطورة لتسهيل عمل المبرمجين أو أي في أي مجال آخر، سيتوجب عليك تعلمها لتسريع وتيرة عملك وزيادة إنتاجيتك. حيث أن ذلك هو المطلوب منك في سوق العمل، فإن قام شخص آخر باستخدام الأداة وتفوق عليك رغم أنكم في نفس المستوى من المهارة، سيتم استبدالك بلا شك. وأيضًا إذا كانت مستوى مهاراتك في البرمجة سطحية، فسيتم استبدالك بلا شك مع تقدم مستوى الذكاء الاصطناعي بوتيرة مرعبة. وفي رأي أول المجالات التي ستتأثر في البرمجة، هي الواجهة الأمامية Front-End، وقد يحصل ذلك بعد 5 سنوات من الآن أو أقل فلا أحد يعلم. ولكن هل ذلك يعني أن مطوري الـ Front-End سيندثرون؟ لا، بالطبع ستحتاج إلى مطور يستخدم الذكاء الاصطناعي ويقوم بتوليد الواجهة الأمامية والتعديل على الأكواد والتأكد من عملها بشكل سليم. أي سيقوم شخص بمهمة شخصين أو ثلاث. لذلك عليك بزيادة مهاراتك في البرمجة والتعمق في التخصص الخاص بك، وتعلم الواجهة الخلفية أيضًا Back-End أي زيادة مهاراتك وبذلك ستصبح شخص Generalist قادر على تنفيذ أي شيء بمساعدة الذكاء الاصطناعي. أي ستمتلك قوة لا يمتلكها غيرك الذي قرر التخصص في مجال محدد، ولكن حاليًا التخصص أفضل، فأنا أتحدث عما قد يحدث بعد 5 سنوات من الآن. وحاليًا كما ترى، الذكاء الاصطناعي هيمن بشكل كبير على مجال الجرافيك من خلال الذكاء الاصطناعي الذي يدعى Midjourney وأطلقت أدوبي Firefly، حيث يتم توليد الصور في ثوانٍ. لذلك يجب زياة مهاراتك في التخصص الخاص بك، وأيضًا تعلم مهارة صعبة ومعقدة ولن يؤتمن في أدائها على الذكاء الاصطناعي، مثل الواجهة الخلفية Back-End.
  24. للتعامل مع الـ JSON في Laravel، يجب استخدام ميزة Eloquent ORM التي تدعم الكثير من العمليات على البيانات بما في ذلك استرجاع البيانات المخزنة على شكل JSON وتحويلها إلى صيغ أخرى. في هذه الحالة، يمكن استخدام دالة json_decode() لتحويل النص المخزن في الحقل إلى صيغة مصفوفة، ومن ثم الوصول إلى القيم بحسب اللغة المحددة. وقبل الشروع في الكود، يجب التأكد من توفر حزمة "illuminate/support" و"illuminate/database"، وإذا لم تكن مثبتة، يمكن تثبيتها عبر Composer باستخدام الأمر التالي: composer require illuminate/support illuminate/database بعد ذلك، يمكن إنشاء نموذج لجدول قاعدة البيانات الخاص بنا باستخدام الأمر التالي: php artisan make:model MyModel -m ثم يجب تعديل الحقل في ملف الـ Migration بالشكل التالي: $table->json('my_field'); ويمكن الآن إضافة بعض الدوال في نموذج الـ Model الخاص بنا لتنفيذ المهمة المطلوبة، ويمكن العثور على النموذج في المسار التالي app/Models/MyModel.php. حيث يجب إضافة الدوال التالية في النموذج: <?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class MyModel extends Model { protected $fillable = ['my_field']; public function getValueByLanguage($language) { $data = json_decode($this->my_field, true); if (isset($data[$language])) { return $data[$language]; } return null; } } ويحتوي النموذج السابق على دالة getValueByLanguage() التي تستخدم دالة json_decode() لتحويل الحقل إلى صيغة مصفوف، ويمكن استخدام هذه الدالة للاسترجاع القيم بحسب اللغة المحددة. إذا كانت اللغة متوفرة، فسيتم إرجاع القيمة المقابلة، وإلا سيتم إرجاع null.
  25. الموقع الذي تريد إنشاء مثله، يستخدم التقنيات التالية: React Emotion Next.js أنصح باستخدامها إذا كنت تريد تحسين الـ SEO node.js Storyblok بالنسبة لإدارة المحتوى وتستطيع استخدام Strapi أيضًا بدلاً منه وهناك بعض الأدوات التي يمكنك الاستفادة منها في موقعك: 1- Stripe هو مزود خدمة المدفوعات الإلكترونية، ويمكن استخدامه لتوفير مجموعة متنوعة من خيارات الدفع على الموقع، بما في ذلك بطاقات الائتمان والتحويلات المصرفية والدفع النقدي. 2- Salesforce يمكن استخدام Salesforce لإدارة الحجوزات والطلبات والمعاملات التجارية الأخرى، ويوفر أدوات قوية لإدارة العملاء وتتبع المبيعات وتحليل البيانات. 3- HubSpot تستطيع استخدام HubSpot لتحسين تجربة المستخدم وزيادة الإيرادات، ويوفر أدوات لتحسين محركات البحث وتحسين التسويق الرقمي وإدارة العلاقات مع العملاء. 4- TripAdvisor API TripAdvisor API يوفر الوصول إلى مجموعة واسعة من المعلومات حول المواقع السياحية. 5- الـ APIs السياحية هناك العديد من الـ APIs السياحية المتوافرة مثل Amadeus و Sabre و Travelport للحصول على معلومات حول الرحلات والحجوزات والأسعار والتوفر، وتكون هذه المعلومات مفيدة جدًا لتطوير موقع سياحي قوي وشامل.
×
×
  • أضف...