-
المساهمات
5650 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
11
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو عبدالباسط ابراهيم
-
جميع الشهادات التي تصدرها أكاديميّة حسوب تصدر فقط بعد اجتياز الامتحان بنجاح. هذه ليست "شهادات إكمال" أو "شهادات حضور"، ولا يمكن الحصول عليها بالانضمام للدورة فقط، بل يجب على الطالب التطبيق عمليًا أثناء الدورة، إجراء مقابلة وإثبات قدراته. تعتبر الشهادات الأكاديمية في مجال الحاسوب مهمة في سوق العمل، حيث تعد أداة فعالة لتحسين فرصك في الحصول على فرص عمل جديدة أو ترقيات داخل الشركات. ومع ذلك، يجب الإشارة إلى أن الشهادات الأكاديمية ليست هي العامل الوحيد الذي يؤثر على فرصك في الحصول على وظيفة، بل يجب أيضًا أن تتمتع بمهارات قوية وخبرة عملية في المجال. كما أن أكاديمية حسوب ليست بجامعة حتى تحصل على إعتماد الدول والأنظمة الداخلية , ولكن يكفي أنه لا يمكنك الحصول عليها بالانضمام للدورة فقط، بل يجب على الطالب التطبيق عمليًا أثناء الدورة، إجراء مقابلة وإثبات قدراته مما يجعلها ذات قيمة
-
هل تقصد عند تعلمك من خلال دورات أكاديمية حسوب ؟ فعلًا، يمكن أن تكون رحلة تعلم البرمجة صعبة وتحتاج إلى الكثير من العمل الجاد والتركيز. ولهذا السبب، فإن العمل مع مجموعة من الأشخاص الذين يهتمون بنفس المجال يمكن أن يساعدك بشكل كبير على تحقيق أهدافك. من خلال العمل مع مجموعة من الأشخاص، يمكنك الاستفادة من تجاربهم ومعرفة ما يعانون منه، كما يمكنك طرح الأسئلة والاستفسارات التي تتبادر إلى ذهنك والتي يمكن أن تساعدك في فهم المفاهيم بشكل أفضل. وذلك ما توفره لك الأكاديمية من خلال قسم " أسئلة وأجوبة" حيث يمكنك طرح الأسئلة والاستفسارات كما أن يوجد معك فريق من المدربين للإجابة على الاستفسارات وحل المشكلات التي تواجهك و يمكنك أن تجد من يشارك في نفس المجال على مواقع التواصل الإجتماعي
-
الكود الحالي يبدو جيدًا ويعرض المفاهيم الأساسية لـ OOP بشكل جيد. ومع ذلك، قد يكون من الأفضل إضافة بعض الأمثلة العملية لتوضيح المفاهيم بشكل أفضل، وخاصةً فيما يتعلق بالـ Polymorphism و ال Encapsulation أمثلة لتوضيح المفاهيم الأساسية لـ OOP في TypeScript. مثال على الـ Encapsulation: class BankAccount { private balance: number; constructor(initialBalance: number) { this.balance = initialBalance; } public deposit(amount: number): void { this.balance += amount; } public withdraw(amount: number): void { if (amount <= this.balance) { this.balance -= amount; } else { console.log("Insufficient funds"); } } public getBalance(): number { return this.balance; } } في هذا المثال، نعرف فئة "BankAccount" التي تحتوي على خاصية "balance" كـ private وطرق "deposit" و "withdraw" و "getBalance". هذا يعني أن الـ Encapsulation يحمي خاصية الرصيد من التعديل المباشر من خارج الفئة، حيث يمكن للمستخدمين فقط استخدام الطرق المعرفة لإيداع وسحب الأموال والاستعلام عن الرصيد. مثال على الـ Polymorphism: class Animal { public makeSound(): void { console.log("The animal makes a sound"); } } class Cat extends Animal { public makeSound(): void { console.log("Meow"); } } class Dog extends Animal { public makeSound(): void { console.log("Woof"); } } في هذا المثال، نعرف فئة "Animal" التي تحتوي على طريقة "makeSound" التي تعرض رسالة على الشاشة. ثم، ننشئ فئتين أخريين "Cat" و "Dog" التي تمتدان من فئة "Animal"، ولكنهم يستخدمون Polymorphism لتعريف طريقة "makeSound" بشكل مختلف عن طريقة "makeSound" في فئة "Animal". يعني هذا أننا يمكننا استخدام الطريقة "makeSound" بطريقة مختلفة، وفقًا لنوع الحيوان الذي نريد إنشاؤه، سواء كانت "Cat" أو "Dog".
- 1 جواب
-
- 1
-
-
بالنسبة لبيع الكتب الرقمية في متجرك الإلكتروني، هناك عدة نقاط يجب مراعاتها: حقوق النشر: لا يمكنك بيع أي كتاب رقمي دون الحصول على إذن من صاحب حقوق النشر. فإذا كان الكتاب محمي بحقوق نشر، يجب التواصل مع الناشر للحصول على الإذن ببيع الكتاب الرقمي. عقود التوزيع الرقمي: بعض الناشرين يتيحون للمتاجر الإلكترونية بيع كتبهم الرقمية من خلال "عقود توزيع رقمي". تتيح هذه العقود للمتجر بيع الكتاب الرقمي مقابل جزء من العائدات. منصات الكتب الرقمية: يمكنك التعاقد مع منصات مثل بارنيز اند نوبل لعرض مجموعة من الكتب الرقمية في متجرك. حيث تقوم المنصة بالتفاوض مع أصحاب حقوق النشر لتمكين بيع الكتب. كتب مجانية أو متاحة برخصة Creative Commons: يمكنك بيع الكتب الرقمية المجانية أو التي تم نشرها تحت رخصة Creative Commons في متجرك دون الحاجة للحصول على إذن. إذن في الخلاصة، نعم يمكنك بيع الكتب الرقمية في متجرك الإلكتروني، لكن يجب مراعاة حقوق النشر والتواصل مع أصحابها للحصول على الأذونات اللازمة أو الاستعانة بمنصات خارجية. ويمكنك أيضا بيع الكتب الرقمية المجانية والمتاحة برخصة Creative Commons مباشرة.
-
نعم في مسار " مدخل علوم الحاسوب " يوجد القسم التفكير المنطقي والخوارزميات به تدريبات عملية فيعتبر مطلوب منك تطبيق هذه الخوارزميات على سكراتش مثل هذا التدريب " تدريب عملي: إنشاء الخوارزمية للعبة العصفور الطائر " ثم بعد ذلك في المسار التالي ستجد مسار تطبيقات عملية يطلب منك أيضاً تنفيذ الخوارزميات على سكراتش ويجب عليك حفظ هذه التطبيقات بالنسبة للإمتحان ليس مطلوب منك إلا إتمام على الأقل 4 مسارات للتقدم للإمتحان
-
React و Angular هما إطارات عمل JavaScript مفتوحة المصدر وتستخدم لتطوير تطبيقات الويب الحديثة، وتدعم كلا الإطارات Bootstrap في React، يمكن استخدام المكتبة react-bootstrap التي توفر مكونات Bootstrap مع تفاعلية React ولغة JSX. ويمكن استخدام Bootstrap في تصميم واجهة المستخدم في تطبيق React بسهولة باستخدام react-bootstrap. أما في Angular، فيمكن استخدام المكتبة ngx-bootstrap التي توفر مكونات Bootstrap مع إطار العمل Angular، مما يسمح بإنشاء واجهة المستخدم بشكل أسرع وأسهل. وتتيح ngx-bootstrap العديد من المكونات المتكاملة مع Angular مثل تقسيم الشاشة والنماذج والتنقل والرسوم البيانية والتقويمات وغيرها. بشكل عام، يمكن استخدام Bootstrap مع معظم إطارات العمل التي تستخدم HTML وCSS وJavaScript، وهو مفيد لتسريع تطوير تصاميم الويب وتحسين تجربة المستخدم. ويجب الاختيار بين Bootstrap والإطارات الأخرى على أساس احتياجات المشروع ومتطلباته الفنية والتصميمية. إليك بعض الإطارات الأخرى التي يمكن استخدامها مع React أو Angular: Material-UI: إطار عمل React يستخدم تصميم Material Design الذي يوفر مكونات UI مفتوحة المصدر ومتكاملة بشكل جيد مع React. Semantic UI: إطار عمل React و Angular يستخدم تصميم Semantic Design الذي يوفر مكونات UI متكاملة بشكل جيد مع كلا الإطارين. Foundation: إطار عمل CSS يستخدم لتطوير تصاميم الويب والتطبيقات، ويتضمن مكونات UI جاهزة للاستخدام مع React و Angular. Bulma: إطار عمل CSS مفتوح المصدر يستخدم لتطوير تصاميم الويب والتطبيقات، ويحتوي على مكونات UI جاهزة للاستخدام مع React و Angular. Tailwind CSS: إطار عمل CSS يستخدم لتطوير تصاميم الويب والتطبيقات، ويتضمن مكونات UI قابلة للتخصيص بشكل كبير ولا تتطلب الكثير من الشفرة الإضافية.
-
قام مصطفى بشرح المصطلحات بشكل جيد ولكن يمكن شرح كيف تعمل هذه التقنيات معًا في سياق تصفح صفحة ويب عادية. عندما تكتب عنوان صفحة ويب في شريط عنوان المتصفح الخاص بك، يبحث البرنامج عن عنوان الإنترنت المرتبط بهذه الصفحة باستخدام بروتوكول DNS (Domain Name System). بروتوكول DNS يستخدم عنوان الصفحة الذي تم إدخاله للعثور على عنوان IP (Internet Protocol) المرتبط بهذا العنوان. يتم استخدام عناوين IP لتحديد موقع الخادم الذي يستضيف صفحة الويب التي تحاول الوصول إليها. وبمجرد العثور على عنوان IP، يستخدم المتصفح بروتوكول TCP/IP لإرسال طلب للخادم الذي يستضيف الصفحة. يتم تجزئة الطلب إلى حزم صغيرة من البيانات لتسهيل عملية النقل، ويتم إرسالها إلى الخادم الذي يستضيف الصفحة المطلوبة. يتم تنسيق الطلب باستخدام بروتوكول HTTP (Hypertext Transfer Protocol)، الذي يتيح للمتصفح والخادم التواصل مع بعضهما البعض. يتلقى الخادم الطلب ويبدأ في إعداد الصفحة المطلوبة باستخدام لغات الويب المختلفة مثل HTML (Hypertext Markup Language) وCSS (Cascading Style Sheets) وJavaScript وغيرها. يتم إرسال الصفحة المكتملة إلى المتصفح الخاص بك باستخدام بروتوكول HTTP، ويتم تنسيقها وعرضها في المتصفح الخاص بك باستخدام لغات الويب المختلفة. هذه العملية تتضمن أيضًا استخدام بروتوكولات أخرى مثل HTTPS (Hypertext Transfer Protocol Secure)، الذي يتيح للمتصفح والخادم التواصل بشكل آمن عبر الإنترنت عن طريق تشفير البيانات المرسلة والمستلمة. ويتم استخدام مفاتيح التشفير والشهادات الرقمية لتأمين الاتصال بين المتصفح والخادم. بهذه الطريقة، تعمل هذه التقنيات معًا لتمكينك من الوصول إلى الموارد الرقمية عبر الإنترنت، وتسهل عملية تصفح الشبكة العنكبوتية بشكل فعال وآمن.
-
هذا الخطأ يحدث بسبب تكرار عنصر div الرئيسي .ProfileInfo لكل مستخدم يتم تجهيزه من قاعدة البيانات. يمكن أن يحدث هذا بسبب احتمالين: قد يكون هناك خطأ في البيانات المسترجعة من قاعدة البيانات، حيث يتم تكرار بعض المستخدمين في النتيجة. الخطأ محتمل في الكود حيث تم تكرار تجهيز عنصر .ProfileInfo لكل مستخدم داخل الدالة map. يمكن تصحيح هذا الخطأ بعدة طرق: التأكد من أن بيانات قاعدة البيانات صحيحة ولا تحتوي على تكرار لأي مستخدم. إذا كان الخطأ في الكود، فعليك استخدام key فريدة لكل عنصر .ProfileInfo، مثل الرقم التعريفي للمستخدم: {userData.map((user) => ( <div className='profileInfo-container' key={user._id}> ... </div> ))}
-
لا يجب أن يؤثر تعلم Flutter على معرفتك بتطوير الويب. بالعكس، يمكن أن تساعدك معرفتك بتقنية Flutter في توسيع مجالات العمل لديك وزيادة فرص العمل في مجال تطوير التطبيقات المتعددة المنصات. علاوة على ذلك، فإن تعلم Flutter يمكن أن يساعدك على تحسين مهاراتك في التصميم وتطوير واجهات المستخدم وتحسين تجربة المستخدم في التطبيقات. ولا يعني تعلم Flutter أن تترك مجال تطوير الويب، بل يمكنك الاستفادة من معرفتك السابقة وجعلها ميزة إضافية لديك في مجال تطوير التطبيقات. هل flutter أفضل بالنسبة لمطور ويب أم هناك تقنيات أخرى؟ Flutter هي تقنية تطوير تطبيقات متعددة المنصات، وهي غالبًا ما تستخدم لتطوير تطبيقات الجوال لنظامي Android و iOS. وبالتالي، فإنها ليست التقنية الأمثل بالنسبة للمطورين الذين يركزون على تطوير الويب. إذا كنت مطور ويب وترغب في تطوير تطبيقات الجوال، فإنه يمكنك استخدام تقنيات أخرى مثل React Native وIonic وXamarin وغيرها. توفر هذه التقنيات ميزات مماثلة لـ Flutter بالإضافة إلى القدرة على تطوير تطبيقات متعددة المنصات بشكل فعال. علاوة على ذلك، فإن تعلم هذه التقنيات الأخرى يمكن أن يساعدك على توسيع مهاراتك وخبرتك في مجال تطوير الويب وتطوير تطبيقات الجوال في الوقت نفسه. لذلك، يجب عليك اختيار التقنية التي تناسب احتياجاتك ومستوى خبرتك ومهاراتك، والتي تساعدك في تحقيق أهدافك في تطوير تطبيقات الجوال والويب.
-
في تعلم الآلة، تستخدم البيانات لتدريب وتحسين النماذج الرياضية والخوارزميات. وبشكل عام، كلما زاد حجم البيانات، كلما تحسن أداء النموذج، حيث يستطيع النموذج تحليل الأنماط والعلاقات المختلفة بين المتغيرات بشكل أفضل وأكثر دقة. ولكن، ليس كل البيانات هي مفيدة في تعلم الآلة. يجب أن تكون البيانات متنوعة وشاملة، حيث إذا كانت البيانات غير متنوعة وغير شاملة، فإن النموذج المدرب على هذه البيانات قد يعاني من مشكلة التحليل والتنبؤ بشكل دقيق في حالات جديدة ومختلفة. علاوة على ذلك، فإن حجم البيانات لوحده لا يكفي لتحسين أداء النظام. يجب أن تختار الخوارزمية الصحيحة وضبط معلماتها بشكل صحيح لتحقيق أفضل النتائج. وعادةً ما يتم استخدام تقنيات تعلم الآلة مثل التعلم العميق Deep Learning وشبكات العصب الاصطناعي Neural Networks لمعالجة البيانات الكبيرة وتحسين أداء النظام. وأخيرًا، من المهم أن تكون جودة البيانات عالية، حيث إذا كانت البيانات غير دقيقة أو غير متكاملة، فإن نتائج التحليل والتنبؤات ستكون غير دقيقة أيضًا. ولذلك، يتم استخدام تقنيات مثل تنظيف البيانات وتعزيزها لتحسين جودتها وزيادة دقة وفعالية النماذج الناتجة. ويعتبر البحث عن المصادر المناسبة للبيانات المفيدة والمتنوعة والجودة عاملاً هاماً في تعلم الآلة. ويتم استخدام مصادر مثل قواعد البيانات العامة والمواقع الإلكترونية ومنصات التواصل الاجتماعي والأجهزة الذكية لجمع البيانات المفيدة. وفي النهاية، يعد تعلم الآلة عملية مستمرة، حيث يتم استخدام البيانات المستمرة لتحسين النماذج وتحديثها وتطويرها. وبهذه الطريقة، يمكن للنظام الاستجابة بشكل أفضل للتحديات والمتغيرات المستمرة وتحقيق أفضل النتائج في المهام المختلفة.
- 8 اجابة
-
- 1
-
-
هل يجب على المبرمجين قراءة الكتب؟ القراءة في كتب البرمجة التي تعلمك لغات البرمجة والإطارات عادة ما تكون تضييعًا للوقت، حيث يوجد محتوى أفضل بكثير على YouTube في هذا الصدد، وتوفر المواقع محتوى أفضل من الكتب. يوجد عدد قليل جدًا من المطورين الذين يتعلمون البرمجة من الكتب، ويرجع ذلك جزئيًا إلى أن الكتب القليلة تفعل عملاً رائعًا في الحفاظ على اهتمام المتعلم. قارن ذلك بالتعلم من خلال فيديوهات تعليمية حيث يمكنك رؤية التغييرات أثناء حدوثها. عمومًا، تستغرق الكتب وقتًا طويلاً للكتابة والنشر، وبحلول الوقت الذي يصل الكتاب إلى السوق، سيتم إلغاء بعض الميزات قريبًا وسيصبح الكتاب قديمًا. صناعة هندسة البرمجيات هي صناعة سريعة التغير، مع ظهور تقنيات وإطارات جديدة تقريبًا يومياً. لقد فشلت الكتب في مواكبة هذه التغييرات. اختر أي كتاب حديث على سبيل المثال، حول إطار Angular، وسترى كم هو متخلف. بالمقابل، قامت الفيديوهات بعمل رائع في مواكبة التغييرات، ويمكن تحديث المواقع بسهولة. الكتب ليست ببساطة أفضل طريقة لتعلم البرمجة. يجب على المبرمجين عدم إضاعة الوقت في قراءة كتب تعلم إطارًا أو لغة برمجة. ومع ذلك، يجب على كل مبرمج السعي لقراءة الكتب التي تعلم المبادئ والمبادئ الأساسية للبرمجة. ليس التعلم في البرمجة حول إتقان بناء الجمل البرمجية للغات البرمجة، بل حول فهم المبادئ الأساسية لتطوير البرمجيات وحل المشكلات الحقيقية باستخدام الكود. عندما تفهم المبادئ والأسس الأساسية لتطوير البرمجيات، فمن المرجح أن تتمكن من البرمجة بأي لغة برمجية بدون صعوبة كبيرة. هناك كتب رائعة تعلم المبادئ والأسس الأساسية للبرمجة بطريقة تمنحك فهمًا أعمق لتطوير البرمجيات، هذه هي الكتب التي يجب على المبرمجين قراءتها. في الخلاصة، لا تتعب نفسك بشراء كتب البرمجة التي تركز على الإطارات ولغات البرمجة، بل اشترِ كتبًا تعلمك المبادئ والأسس الأساسية لتطوير البرمجيات - لا يمكنني التأكيد على ذلك بما فيه الكفاية.ستحصل على قيمة أكبر من الكتب التي تعلمك السبب وراء تطوير البرمجيات بدلاً من الكيفية.
-
عند استخدام Bootstrap Modal داخل عنصر ثابت (fixed)، قد لا يعمل بشكل صحيح. هذا يحدث لأن Bootstrap Modal يستخدم التموضع المطلق (absolute positioning) لعرض النموذج، وعند تضمين النموذج داخل عنصر ثابت، يتم تحديد موقع النموذج بالنسبة للعنصر الثابت بدلاً من النافذة. هذا يعني أن النموذج سيظهر في موضع خاطئ أو لن يظهر على الإطلاق. لحل هذه المشكلة، يجب وضع Bootstrap Modal خارج أي عناصر ثابتة في الصفحة، حتى يتم تحديد موقع النموذج بالنسبة للنافذة. إذا كان عليك وضع Bootstrap Modal داخل عنصر ثابت، يمكن استخدام حلول برمجية مثل تحديد موقع النموذج بشكل يدوي باستخدام JavaScript. ولتجنب هذه المشكلة بشكل عام، يجب تصميم الصفحة بحيث لا تضم أي عناصر ثابتة داخل بعضها البعض. لذلك الحل المناسب هو وضع ال model دائماً في أعلى الصفحة بعد وسم ال body مباشرة
-
ما هو GPU؟ تعني GPU معالج الرسومات. كانت GPUs مصممة في الأصل ومستخدمة للرسومات ثلاثية الأبعاد لتسريع الأشياء مثل عرض الفيديو، ولكن مع مرور الوقت، جعلت قدرتها على المعالجة الموازية منها خيارا شائعا للاستخدام في الذكاء الاصطناعي. تعمل GPUs عن طريق المعالجة الموازية، وهي القدرة على أداء العديد من المهام في وقت واحد. وهو ما يجعلها أداة مفيدة للغاية. يتيح المعالجة الموازية لـ GPUs تقسيم المشكلات المعقدة إلى آلاف أو ملايين المهام الفردية وحلها جميعًا في وقت واحد بدلاً من واحد تلو الآخر كما يتطلبها المعالج المركزي. تجعل قدرة المعالجة الموازية GPUs أداة متعددة الاستخدامات وخيارًا رائعًا لمجموعة متنوعة من الوظائف مثل الألعاب وتحرير الفيديو وتعدين العملات المشفرة / blockchain. كما تجعلها مناسبة تمامًا للذكاء الاصطناعي والتعلم الآلي، وهو نوع من تحليل البيانات الذي يتميز ببناء نماذج تحليلية بشكل تلقائي. ويرجع ذلك إلى أن المعالجات الحديثة لـ GPU تحتوي عادةً على 2500-5000 وحدة منطق حسابية (ALUs) في معالج واحد مما يمكن أن يؤدي إلى تنفيذ آلاف الضرب والجمع بشكل متزامن. يوجد شرط واحد عن GPUs وهو أنها مصممة كمعالج عام يجب أن يدعم الملايين من التطبيقات والبرامج المختلفة. لذلك، على الرغم من أن GPU يمكنها تشغيل وظائف متعددة في وقت واحد، إلا أنها تحتاج إلى الوصول إلى السجلات أو الذاكرة المشتركة لقراءة وتخزين نتائج الحساب الوسيطة. ما هو TPU؟ تعني TPU وحدة معالجة التنسورات وهي هندسة معمارية مخصصة لتطبيقات التعلم العميق أو التعلم الآلي. اخترعتها Google، وتعتبر TPUs دوائر متكاملة تطبيقية (ASIC) مصممة خصيصًا للتعامل مع الاحتياجات الحسابية للتعلم الآلي وتسريع حسابات الذكاء الاصطناعي والخوارزميات. بدأ استخدام Google لـ TPUs داخليًا في عام 2015، وفي عام 2018، أصبحت متاحة للجمهور. عندما صممت Google TPU، قامت بإنشاء هندسة معمارية مخصصة لنطاق معين. وهذا يعني أنه بدلاً من تصميم معالج عام مثل GPU أو CPU، صممت Google TPU كمعالج مصفوفة متخصص لأعباء الشبكات العصبية. من خلال تصميم TPU كمعالج مصفوفة بدلاً من معالج عام، حلت Google مشكلة الوصول إلى الذاكرة التي تبطئ GPUs وCPUs وتتطلب استخدام المزيد من قوة المعالجة. مزايا وعيوب TPUs TPUs قيمة للغاية . إن العيب الوحيد لديها هو أنها أكثر تكلفة من GPUs وCPUs. ولكن، تفوق مزايا TPUs بشكل كبير على تكلفتها العالية. TPUs هي خيار رائع لأولئك الذين يرغبون في: تسريع تطبيقات التعلم الآلي. توسيع التطبيقات بسرعة. إدارة أعباء عمل التعلم الآلي بتكلفة فعالة. البدء باستخدام نماذج مرجعية مفتوحة المصدر ومحسنة بشكل جيد. TPU مقابل GPU يعتمد الخيار الأفضل على الاحتياجات والميزانية الفردية والشركات. TPU تتفوق على GPU في الأداء بشكل عام، وتوفر نتائج أفضل في فترة زمنية أقصر. ومع ذلك، فإن TPUs غالبًا ما تكون أغلى من GPUs، وتتطلب تكلفة أعلى للاستحواذ والصيانة. GPU تعد خيارًا متعدد الاستخدامات وأكثر توافرًا وأقل تكلفة من TPUs، وتقدم أداءً جيدًا للغاية في تطبيقات الذكاء الاصطناعي والتعلم الآلي. ومع ذلك، من الممكن أن تصبح TPUs خيارًا أفضل في المستقبل في حال تم تعزيز توافرها وتخفيض تكلفتها. بشكل عام، فإن GPU هي الخيار الأكثر شيوعًا للتطبيقات العامة، بينما يفضل TPUs لتطبيقات التعلم العميق وتحليلات البيانات الكبيرة والمهام الحسابية الشديدة التطلب.
- 5 اجابة
-
- 1
-
-
يمكنك تخصيص بعض الوقت لحل المشاكل البرمجية، حيث سيكون لها فوائد كبيرة على المدى الطويل: ستزيد مهاراتك في التفكير المنطقي وحل المشاكل. ستصبح أكثر إلماماً بلغات البرمجة التي تستخدمها (جافاسكريبت وبايثون) وخوارزمياتها وبنائها. ستكتسب خبرة عملية في كتابة الكود واختباره وإصلاح الأخطاء. سيساعدك ذلك في مرحلة تطوير الواجهة الخلفية باستخدام بايثون. أوصيك بالتركيز على حل مسائل برمجية باستخدام لغة بايثون، لأنها اللغة التي ستستخدمها في المستقبل لتطوير الواجهة الخلفية. يمكنك البدء بحل بعض المسائل البسيطة على مواقع مثل HackerRank أو LeetCode لتدريب نفسك على بايثون. أما إذا كانت الطريقة السابقة تقلل من الإنتاجية والتركيز يمكنك تعلم تطوير الواجهات الأمامية حالياً
-
يجب عليك الأن تحديث الصفحة في المتصفح حتى تستطيع إظهار التعديلات التي قمت بها كما يمكنك أيضاً لتسهيل عملية البرمجة تفعيل ال auto-save في برنامج vs code عن طريق الضغط على files في أعلى يسار البرنامج وستظهر لك قائمة أختيارات قم بالضغط على auto-save ذلك بالنسبة لحفظ التعديلات على البرنامج أما بالنسبة لتحديث الموقع على المتصفح فيمكنك استخدام live-server كما في الإجابات التالية
-
Github هو موقع ويب يستخدم لتخزين الكود ومشاركته والعمل عليه بشكل تعاوني. هنا بعض الأشياء التي يمكنك فعلها مع Github: إنشاء حساب Github لتتمكن من تخزين الكود على السحابة. إنشاء مشاريع (repositories) لتنظيم الكود. إضافة كودك إلى المشاريع عن طريق "الدفع" (pushing) إلى Github. الإشراف على تغييرات الكود وتاريخها من خلال "السحب" (pulling) من Github. العمل التعاوني مع الآخرين عن طريق تمكين المساهمة في المشروع. جعل كودك عام للآخرين من خلال جعل المشروع علني. بناء سمعتك كمطور من خلال مشاريعك على Github. كما يفضل الإطلاع على المصادر التالية
-
يجب عليك فتح ملف ال HTML في متصفح Google Chrome باتباع الخطوات التالية: انتقل إلى الموقع الذي يحتوي على الملف HTML الذي تريد فتحه. انقر بزر الماوس الأيمن على الملف HTML واختر "فتح بـ" (Open with) من القائمة المنبثقة. اختر Google Chrome من القائمة المنبثقة. سيتم فتح الملف HTML في متصفح Google Chrome. بالإضافة إلى ذلك، يمكنك أيضًا فتح ملف HTML في Google Chrome بسحب وإسقاط الملف في نافذة المتصفح أو بالنقر المزدوج على الملف HTML في مستكشف الملفات الخاص بك، وسيتم فتحه تلقائيًا في متصفح Google Chrome. كما يمكنك استخدام الإضافة live-server كما في التعليق السابق
-
يبدو أن الخطأ الذي تواجهه يعود إلى مشكلة في تمرير المعاملات لدالة `write_to_excel`. تحتاج إلى تمرير مسار الملف الذي تريد فتحه كمعامل لدالة `write_to_excel`، مثل هذا: file_path = "C:\\path\\to\\file.xlsx" write_to_excel(file_path) ويتم استدعاء الدالة `write_to_excel` بمعامل `file_path`. لذلك، تحتاج إلى التأكد من تمرير قيمة لـ `file_path` عند استدعاء الدالة. وإذا كان المشكلة لا تزال مستمرة، يمكنك محاولة استخدام الأكواد التالية لفحص الأخطاء: import win32com.client as win32 def write_to_excel(file_path): try: # إنشاء نسخة من تطبيق Excel excel = win32.gencache.EnsureDispatch('Excel.Application') # فتح الملف wb = excel.Workbooks.Open(file_path) # إغلاق الملف wb.Close(SaveChanges=True) except Exception as e: print("Error: ", e) # تمرير مسار الملف كمعامل للدالة write_to_excel file_path = "C:\\path\\to\\file.xlsx" write_to_excel(file_path) يجب عدم نسيان إغلاق الملف بعد الانتهاء من استخدامه باستخدام `wb.Close(SaveChanges=True)`، حيث يتم حفظ التغييرات قبل إغلاق الملف.
- 5 اجابة
-
- 1
-
-
لا، لا يشترط تفعيل مشتريات داخل التطبيق (In-App Purchases) لكي تعمل خاصية Apple Pay في تطبيقك. Apple Pay هي طريقة للدفع تسمح للمستخدمين بإجراء مدفوعات باستخدام بطاقات ائتمان وبطاقات الخصم الخاصة بهم، ويمكن تفعيلها في التطبيقات بغض النظر عن وجود مشتريات داخل التطبيق أم لا. لتفعيل Apple Pay في تطبيقك، يجب: تسجيل حساب تطوير Apple وتسجيل تطبيقك في برنامج Apple Developer. إنشاء معرف تاجر (Merchant ID) في مركز أعضاء المطورين. هذا المعرف سيُمكّن Apple من التعرف على تطبيقك كـ "تاجر" للمشتريات. إنشاء وتنزيل شهادة توقيع الطلبات (CSR) من Keychain Access. إنشاء شهادة معالجة المدفوعات في مركز أعضاء المطورين. هذه الشهادة ستستخدم لتأمين بيانات المعاملات. تفعيل Apple Pay في القدرات في Xcode واختيار معرف التاجر الصحيح. كتابة كود تطبيق iOS لإظهار PKPaymentAuthorizationViewController للمستخدم. تكميل بروتوكول PKPaymentAuthorizationViewControllerDelegate لإكمال المعاملة عند السماح لها. وهذه الخطوات تكفي لتفعيل خاصية Apple Pay في تطبيقك بغض النظر عن وجود مشتريات داخل التطبيق أم لا. ويمكنك الإطلاع على المزيد من المعلومات من خلال هذا الرابط
-
لا يمكنك استيراد مكونات مباشرة من مشروع إلى آخر كما تفعل في الكود الموجود بالصورة. إذا كنت ترغب في الحصول على مكون قابل لإعادة الاستخدام ، أو مكتبة مكون أفضل ، فمن المحتمل أن تكون أفضل الممارسات هي إنشاء المكون الخاص بك في مشروع مختلف تنشره على npm ثم تثبيت مكتبة المكونات هذه في كلا المشروعين حيث تحتاجهما . يمكنك إتباع الخطوات الموجودة في الإجابات التالية
- 7 اجابة
-
- 1
-
-
الكود يبدو صحيحًا الآن كما في التعليق السابق، ولكن يمكن إجراء بعض التحسينات البسيطة لتحسين قابلية القراءة والصيانة، مثل: يمكن إزالة الفراغات الزائدة في بعض الأماكن لتحسين التنسيق. يمكن إعطاء العنصر الذي يحتوي على الحقول المدخلة والأزرار اسمًا أكثر وضوحًا ومعبرًا، مثل "register-form". يمكن إضافة تعليقات لشرح الكود وتوضيح الوظيفة الخاصة بكل جزء منه. يمكن إعطاء العناصر الرئيسية داخل النموذج أسماء معينة، مثل "email", "name", "password" و "cpassword"، للتعامل معها في الأكواد اللاحقة.
- 4 اجابة
-
- 1
-
-
إذا كنت لا تمتلك أي معلومات عن شبكات الحاسوب ومجال تكنولوجيا المعلومات، فيمكن البدء بالتعرف على المفاهيم الأساسية والمصطلحات والتقنيات وأنظمة التشغيل وغيرها من الموضوعات المتعلقة بهذا المجال. ويمكن العثور على العديد من الموارد المجانية والمدفوعة عبر الإنترنت، مثل الكورسات والمقالات والفيديوهات والمنتديات، التي يمكن استخدامها لتعلم هذه المواد الدراسية. وبعد ذلك، يمكن البدء بتعلم CCNA و MCSA وهما شهادتان مهمتان في مجال تكنولوجيا المعلومات. ولكن يجب أن تعلم أن هذه الشهادات تحتاج إلى دراسة وعمل كثير، وتحتاج إلى فهم جيد للمفاهيم والتقنيات المختلفة في مجال تكنولوجيا المعلومات. بالإضافة إلى ذلك، يجب أن تعمل على تطوير مهاراتك التقنية والعملية، والتي يمكن الحصول عليها من خلال العمل على مشاريع تطبيقية والعمل مع أدوات وتقنيات مختلفة في مجال تكنولوجيا المعلومات. ويجب أن تبحث عن فرص تطوعية أو تدريبية في مجال تكنولوجيا المعلومات، وتتواصل مع المحترفين في هذا المجال وتسأل عن نصائحهم وخبراتهم. ويمكن أيضًا الانضمام إلى المنتديات المختلفة والمجتمعات التقنية للتواصل مع المحترفين والمتعلمين في مجال تكنولوجيا المعلومات. بالنسبة ل CCNA و بعدها MCSA و سوف يصبحو كافيين في سيرتي الذاتيه للتقدم علي عمل او كيف ابدأ هذا الطريق؟ إذا كنت تريد العمل في مجال تكنولوجيا المعلومات، فإن الحصول على شهادات مثل CCNA و MCSA يمكن أن تكون مفيدة وتزيد من فرصك في الحصول على وظيفة. ومع ذلك، يجب الانتباه إلى أن الشهادات وحدها لن تضمن لك الحصول على وظيفة، ويجب أن تكون لديك أيضًا خبرة عملية ومهارات فنية قوية. إذا كنت ترغب في الحصول على شهادات CCNA و MCSA، فيمكنك البدء بالتعرف على المواد الدراسية المتعلقة بهذه الشهادات والتسجيل لدورات تدريبية وامتحانات الشهادات. ويوجد العديد من الموارد المجانية والمدفوعة عبر الإنترنت التي يمكن استخدامها لتعلم هذه المواد الدراسية. وبالإضافة إلى الحصول على الشهادات، يجب أن تعمل على تطوير مهاراتك التقنية والعملية، والتي يمكن الحصول عليها من خلال العمل على مشاريع تطبيقية والعمل مع أدوات وتقنيات مختلفة في مجال تكنولوجيا المعلومات. كما يجب أن تبحث عن فرص عمل في مجال تكنولوجيا المعلومات وتقدم لها، ويمكن العثور على هذه الفرص من خلال مواقع البحث عن الوظائف وشبكات التواصل الاجتماعي المختلفة. بشكل عام، يجب أن تعمل على تطوير مهاراتك والحصول على الشهادات المناسبة والبحث عن الفرص العملية في مجال تكنولوجيا المعلومات لزيادة فرصك في الحصول على وظيفة.
-
React.js و React Native هما إطار عمل شائعان لتطوير تطبيقات الويب والهاتف المحمول باستخدام لغة JavaScript. يستخدمون Virtual DOM بدلاً من DOM الحقيقي، وبالتالي يتم تحسين أداء التطبيقات بشكل كبير. ومن خلال استخدام React.js و React Native، يمكن للمطورين التركيز على إنشاء المكونات والإدارة الفعالة للحالة دون الحاجة إلى القلق بشأن التفاعل مع العناصر الفعلية في DOM. ومع ذلك، فإن فهم DOM و BOM يظل مهمًا في تطوير التطبيقات باستخدام React.js و React Native. فالمطورون يحتاجون إلى فهم كيفية التفاعل مع عناصر DOM وتحديثها وإدارتها بشكل ديناميكي، وكذلك كيفية التفاعل مع BOM لإدارة النوافذ والإطارات والمخازن المحلية وغيرها. DOM هو مخطط لعناصر الويب الأساسية مثل النص والصور والروابط والأشكال، ويستخدم المطورون React.js و React Native لتحديث وإدارة هذه العناصر دون الحاجة إلى القلق بشأن التفاعل مع عناصر DOM الفعلية. بدلاً من ذلك، يتم إنشاء Virtual DOM الذي يقوم بتحديث وإدارة DOM بشكل فعال وفي الوقت المناسب. على الرغم من ذلك، فإن المطورين لا يمكنهم تجاهل DOM تمامًا، حيث يحتاجون إلى فهم كيفية الوصول إلى عناصر DOM وتحديثها وإدارتها بشكل ديناميكي. وهذا يتطلب معرفة بلغات الويب الأساسية مثل HTML وCSS وJavaScript وAPIs المختلفة التي تتعلق بـ DOM. بالإضافة إلى ذلك، يحتاج المطورون إلى فهم BOM للتفاعل مع المستخدم وإدارة النوافذ والإطارات والمخازن المحلية وغيرها من العناصر التي تتعلق بـ BOM. وهذا يتطلب فهمًا جيدًا للغة JavaScript وAPIs المختلفة المتاحة لـ BOM. لا يمكن الاستغناء عن DOM و BOM في تطوير تطبيقات الويب والهاتف المحمول بشكل كامل، حيث إنهما يشكلان جزءًا أساسيًا من عملية بناء وتطوير التطبيقات. إذا كنت ترغب في جلب العناصر وترتيبها وتنسيقها، فيمكنك استخدام React.js و React Native لإنشاء المكونات وإدارة الحالة بشكل فعال. على سبيل المثال، يمكنك استخدام React.js لإنشاء مكونات واجهة المستخدم وإدارة حالة التطبيق. وباستخدام CSS، يمكنك تنسيق وترتيب عناصر واجهة المستخدم بسهولة. بالإضافة إلى ذلك، يمكن استخدام API مختلفة للوصول إلى البيانات والتفاعل مع الخادم. ومع ذلك، يحتاج المطورون إلى فهم DOM و BOM لإدارة عناصر الواجهة وتحديثها بشكل ديناميكي. ويمكن استخدام React.js و React Native لتحقيق ذلك بطريقة أكثر فعالية وسهولة. وبالتالي، يمكن القول إنه لا يمكن الاستغناء عن DOM و BOM بشكل كامل في تطوير تطبيقات الويب والهاتف المحمول، ولكن يمكن استخدام React.js و React Native لإدارة وتحسين العملية بشكل كبير.
- 4 اجابة
-
- 1
-
-
تتأكد أولاً إنك قمت بتخزين البيانات في ال localStorage بصيغة JSON صحيحة، باستخدام JSON.stringify ويمكن أيضاً أن يكون السبب هو أن localStorage.getItem() قد لا يعيد قيمة صالحة من JSON، مما يؤدي إلى خطأ عند JSON.parse(). يمكن أن تحدث حالات مثل: لا يوجد عنصر تخزين مؤقت باسم "data"، مما يعني أن localStorage.getItem() سيعيد null. يوجد عنصر تخزين مؤقت ولكن ليس سلسلة JSON صالحة. في كلتا الحالتين، فإن JSON.parse() لن يعمل، مما يسبب خطأً.إذا أردت معالجة هذا، فيمكنك استخدام try/catch: const [data, setData] = useState([]) try { setData(JSON.parse(localStorage.getItem("data"))) } catch { // ... } أو اختبار صلاحية السلسلة قبل التحويل: const data = localStorage.getItem("data") const parsed = JSON.stringify(data) === '{}' ? [] : JSON.parse(data) const [data, setData] = useState(parsed)
-
تصميم الدورات تتبع ترتيب معين لضمان فهم الدروس والمفاهيم بشكل صحيح وسليم. وعلى الرغم من ذلك، يمكنك بالطبع الانتقال إلى أي قسم من الدورة تريد دون الحاجة إلى اتمام قسم محدد بالكامل، كما يمكنك التركيز على الأجزاء التي تهمك أكثر. إذا تعلمت التقنيات التالية (ويجب الإطلاع على محتوى الأقسام كاملة ربما يكون بعض الدروس الجديدة بالنسبة لك) أساسيات HTML أساسيات CSS أساسيات JavaScript أساسيات jQuery أساسيات Bootstrap فيمكنك الإنتقال للمسار التالي ولكن يجب الإتباه أنه خلال دراسة المسارات السابقة يوجد أيضاً عدة تطبيقات عملية