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

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

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

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

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

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

    11

كل منشورات العضو عبدالباسط ابراهيم

  1. أعتقد أنك تقصد قبل تعلم مجال ال frontend تحتاج لتعلم أساسيات علوم الحاسوب من خلال لغة Dart او لغة python إذا كنت تريد تعلم أساسيات علوم الحاسوب أولاً يفضل تعلم ذلك من خلال لغة python حيث أن هذه اللغة ستفيدك لاحقاً لتعلم ال backend إذا أردت ذلك حيث تستخدم ال python في مجال ال backend بشكل كبير مع إطار العمل Django وهذا هو الإختيار الأفضل قبل الدخول مباشرة في مجال ال frontend ( ليس هناك مشكلة في الدخول في هذا المجال بدون خبرة في البرمجة) ولكن دائماً قبل الدخول في مجال في مجال البرمجة الأفضل هو دراسة أساسيات علوم الحاسوب ويمكنك الإطلاع على الدورة التالية بأكاديمية حسوب
  2. المشكلة هنا أن الحالة لا تعود مخزنة عند تحديث الصفحة، لذلك يختفي الإعجاب. إرسال الحالة الحالية للإعجاب (like) من الباك إند عند تحميل الصفحة، بحيث تستقبلها الصفحة وتضبط الحالة. كما في التعليق السابق تخزين الحالة على الكلاينت محليا باستخدام localStorage أو sessionStorage. مثال تطبيق localStorage: // Save state localStorage.setItem('like', true); // Get state on load const like = localStorage.getItem('like'); هذا سيحتفظ بالحالة حتى بعد تحديث الصفحة. يمكن أيضا إضافة التوكن لتأكيد المستخدم.
  3. بالإضافة للإقتراحات السابقة يمكنك التفكير في الحلول التالية استخدم قاعدة بيانات لتخزين معلومات العملاء والاشتراكات بدلاً من استخدام العداد المحلي. يمكنك استخدام MongoDB التي ذكرتها لتخزين معلومات العملاء والتحقق من حالة الاشتراكات. كما في التعليقات السابقة بدلاً من استخدام node-cron في نفس الخادم الذي يستضيف موقعك، يمكنك استخدام خدمة خادم مجدولة مثل cron-job.org أو AWS Lambda أو Google Cloud Functions. ستقوم هذه الخدمات بتنفيذ وظائفك المجدولة بشكل مستقل عن الخادم الرئيسي، مما يساعد في تحسين أداء الموقع وتقليل الأعباء على الخادم الرئيسي. قم بإنشاء واجهة برمجة التطبيق للتحقق من حالة الاشتراكات وتحديثها. يمكن للعملاء الاشتراك وإلغاء الاشتراك عبر هذه الواجهة، وبذلك يتم تحديث الحالة مباشرة في قاعدة البيانات بدلاً من الاعتماد على وظيفة مجدولة للتحقق من الحالة. يفضل استخدام تقنيات الإشعار في الوقت الحقيقي مثل WebSocket أو Server-Sent Events لإبلاغ العملاء بتحديثات الاشتراكات على الفور، بدلاً من الانتظار حتى تنفيذ وظيفة مجدولة.
  4. بالنسبة للسؤال الأول والثاني هي أسئلة خاصة بفريق التوظيف ولا يمكنك الحصول على إجابة ثابتة حيث تكون حسب متطلبات الوظيفة ولكن أعتقد أنه في العديد من الوظائف لا تحتاج بكالوريوس بالنسبة للوظائف المتاحة يمكنك زيارة صفحة حسوب على موقع بعيد للإطلاع على الوظائف المتاحة بالنسبة للتعلم في أكاديمية حسوب فيجب عليك تحديد المجال الذي تريد دراسته حيث يوجد دورات في مختلف مجالات البرمجة لذلك قم بقراءة المقالة التالية لتحديد المجال بعد ذلك قم بالإطلاع على الدورة التي تناسبك من هذا الرابط وسعر الدورة الكاملة هو 290 دولار
  5. دورة علوم الحاسوب دورة تأسيسية تؤهلك لتعلم مجالات أخرى، أي أنها مدخل لعلوم الحاسوب بشكل عام وبجميع تخصصاته، لكنك ستحتاج إلى التخصص في مجال معين وتم الإجابة على سؤالك من قبل في أسئلة مشابهه يمكنك الإطلاع عليها وبالنسبة للسؤال التالي يمكنك قراءة الإجابات التالية
  6. بالإضافة للشرح السابق المفصل يمكننا توضيح عمل هذه الدالة من خلال مثال بسيط آخر my_list = [1, 2, 3, 4] my_list.append(5) print(my_list) في هذا المثال، لدينا قائمة تحتوي على الأرقام 1 و 2 و 3 و 4. باستخدام الدالة append()، نقوم بإضافة العنصر 5 إلى نهاية القائمة. بعد ذلك، نستخدم دالة print() لطباعة القائمة المحدثة. النتيجة المتوقعة هي: [1, 2, 3, 4, 5]
  7. بالنسبة ل كيف اذاكر بطريقه فعاله لاني بدات انسى الأشياء اللي بتعلمها . فيجب عليك التطبيق دائماً على ما تعلمته حيث من الطبيعي عند الإبتعاد عن التطبيق وبناء المشاريع أن تنسى بعض المعلومات لذلك يجب إتباع الخطوات التالية قم بتطبيق المهارات التي تعلمتها عن طريق العمل على مشاريع عملية. يمكنك إنشاء مواقع وتطبيقات صغيرة بناءً على المفاهيم التي تعلمتها. قم ببناء محفظة تحتوي على أعمالك واستخدمها لعرض مهاراتك للعملاء المحتملين.كما أن يفضل بناء مشاريع مختلفة ومتنوعة حتى تستطيع تطبيق جميع المفاهيم التي تعلمتها أو لمحاولة تعلم تقنيات جديدة بالنسبة ل كيف اجد عمل علي مستقل . فهناك بعض النصائح والتي تعتبر خطوات يجب أن تتبعها يجب عليك بناء portfolio يحتوي علي الأعمال التي قمت بها سابقاً ولا يشترط أن تكون لعملاء كما يجب توضيح المهارات التي تتقنها بشكل مناسب انضم إلى منتديات ومجموعات للمطورين والمصممين عبر الإنترنت. قم بالمشاركة في المحادثات وطرح الأسئلة وتبادل الخبرات. قد يكون هناك فرص للعمل المستقل أو التعاون مع الآخرين على مشاريع. محاولة تعلم فن التسويق وتعلم كيفية كتابة العروض للمشاريع سيساعد ذلك في الحصول على أول عمل لك بدلاً من التكرار يفضل الإطلاع على الإجابات التالية التي تناقش نفس المشكلة
  8. تغيير من Livewire إلى Vue مع Inertia قد يكون خيارًا جيدًا حيث Vue يعتبر إطار عمل JavaScript قويًا وسريعًا، وبالتالي قد يتمتع بأداء أفضل من Livewire في العمليات البسيطة مثل إنشاء العداد التفاعلي. قد يكون لديك تحسين في سرعة استجابة وتجربة المستخدم. باستخدام Vue مع Inertia، يمكنك الاستفادة من المزايا التفاعلية القوية التي يوفرها Vue. يمكنك إنشاء واجهات مستخدم ديناميكية ومتقدمة بسهولة، مثل تحديث جزء من الصفحة بدون إعادة تحميل الصفحة بأكملها.ويعتبر هذه الأفضلية المهمة بالنسبة ل vue باستخدام Inertia، يمكنك تقسيم العمل بين الجانب الخادم (Server-side) والجانب العميل (Client-side) بشكل أفضل. يقوم Livewire بتوليد HTML على الخادم وإرساله إلى العميل، في حين يستخدم Vue مع Inertia نهجًا أكثر فصلاً بين الجانبين، مما يسمح بفصل الاهتمامات وتطوير أكثر مرونة. ربما يكون العمل ب Livewire أبسط وأسهل في الإنجاز من ال vue
  9. بالإضافة للتعليق السابق والإجابة الوافية من قبل سمير ولكن هذه الأسئلة تم طرحها من قبل العديد من المرات لذلك يمكنكي الإطلاع على إجابات أسئلتك من خلال الإجابات التالية
  10. تواجه مشكلة شائعة عند التعامل مع كميات كبيرة من البيانات، وهي جلب جميع البيانات في نفس الوقت من قاعدة البيانات. إليك بعض الحلول: التقسيم إلى صفحات (Pagination) اجلب البيانات بشكل مقسم إلى صفحات، مثلاً 10 منتجات في كل صفحة أضف خيارات للمستخدم للتنقل بين الصفحات حمل بيانات الصفحة الحالية فقط عند طلبها التحميل التدريجي (Lazy Loading) أظهر عدد محدود من المنتجات في البداية، مثلاً 10 منتجات أضف خيار "تحميل المزيد" يقوم بجلب 10 إضافية عند الطلب يوفر تجربة أسرع بتحميل أجزاء صغيرة من البيانات استخدام Query Parameters لتحديد عدد العناصر والصفحة مثل limit=10&page=2 كما في التعليق السابق . الحلول السابقة تحتاج شرح مطول لذلك قم بالبحث عن المصطلحات السابقة وحاول تطبيقها وستشاهد الفرق
  11. ليس هناك أي مشكلة يمكنك التحدث مع فريق الدعم كما في التعليق الأول وسيتم حل هذه المشكلة
  12. يمكنك استخدام مكتبة `pandas` في Python لمعالجة ملفات Excel واستخراج البيانات المطلوبة. هنا هو مثال لكيفية القيام بذلك: import pandas as pd # قراءة ملف Excel df = pd.read_excel('C:/data/dtset.xlsx') # استخراج الأرقام من العمود الأول df['أول خمسة'] = df['column 1'].str.extract(r'(\d{5})', expand=False) df['ثاني خمسة'] = df['column 1'].str.extract(r'\d{5}(\d{5})', expand=False) df['ثالث خمسة'] = df['column 1'].str.extract(r'\d{10}(\d{5})', expand=False) # حفظ التعديلات في ملف Excel جديد df.to_excel('C:/data/new.xlsx', index=False) في هذا المثال، نستخدم `read_excel` لقراءة الملف 'C:/data/dtset.xlsx' ونخزنه في DataFrame يسمى `df`. ثم نستخدم `str.extract` لاستخراج الأرقام من العمود الأول باستخدام تعبيرات منتظمة. تم إنشاء ثلاثة أعمدة جديدة في DataFrame (`أول خمسة`، `ثاني خمسة`، و`ثالث خمسة`) وتم ملؤها بالأرقام المستخرجة. أخيرًا، يتم استخدام `to_excel` لحفظ التعديلات في ملف Excel جديد 'C:/data/new.xlsx' بدون تضمين الفهرس.
  13. يمكنك القيام بذلك عن طريق إضافة العنصر التالي في الجزء الرأسي (Head) من صفحة HTML: <link rel="icon" href="path/to/your/favicon.ico" type="image/x-icon"> يجب عليك تغيير "path/to/your/favicon.ico" إلى المسار الصحيح لملف Favicon الخاص بموقعك بالنسبة للوصف (Description)، يمكنك استخدام العنصر التعريف (Meta) كما ذكرت في الإجابة السابقة: <meta name="description" content="وصف موقعك هنا"> تأكد من وضع العنصرين (Favicon وDescription) داخل العنصر الرأسي (Head) لصفحة HTML الخاصة بموقعك.
  14. بالإضافة للنصائح القيمة في التعليقات السابقة إليك بعض النصائح للدراسة بشكل فعال: ركز أولاً على فهم المفاهيم الأساسية والمبادئ . حاول تطبيق ما تتعلمه عمليًا من خلال كتابة الأكواد وتجريبها، وليس فقط مشاهدة الآخرين. الممارسة مهمة جدًا. استخدم مشاريع بسيطة لتطبيق ما تتعلمه بدلاً من الأمثلة النظرية. إقرأ المستندات والتوثيق الرسمي للغة بعد اكتسابك للأساسيات لفهم التفاصيل. شارك في منتديات ومجتمعات المطورين لحل المشكلات وطرح الأسئلة. حافظ على ممارسة منتظمة لترسيخ ما تتعلمه. ركز على فهم وحل المشكلات بالكود أكثر من مجرد حفظ الأوامر. ويمكنك أيضاً الإطلاع على الإجابات التالية
  15. يعد فهم التعليمات البرمجية التي كتبها الآخرون مهارة مهمة لمطوري البرامج، حيث أنها تمكنك من الحفاظ على التعليمات البرمجية الموجودة وتحسينها، والتعاون بشكل فعال مع المطورين الآخرين. فيما يلي بعض الخطوات التي يمكنك اتخاذها لمعرفة كيفية فهم التعليمات البرمجية المكتوبة بواسطة الآخرين: اقرأ الكود بعناية: قد يبدو هذا واضحًا، لكن من المهم أن تأخذ وقتك وتقرأ الكود سطرًا بسطر. انتبه إلى أسماء المتغيرات، والوظائف، ومنطق الكود. ابحث عن التعليقات: غالبًا ما تستخدم التعليقات لشرح ما يفعله الكود. إذا كانت هناك تعليقات، فاقرأها بعناية. حاول تقسيم الكود إلى أجزاء أصغر: لا تحاول فهم الكود بالكامل دفعة واحدة. بدلاً من ذلك، حاول تقسيمه إلى أجزاء أصغر وأكثر قابلية للإدارة. قم بتجربة الكود واختباره وقم بتعديل المدخلات والمعلمات لمعرفة كيفية استجابة الكود. سيعطيك هذا فهمًا أفضل لكيفية عمل الكود
  16. الطريقة الوحيدة للإستقبال من Payoneer هي عن طريق بطاقة بنكية أو حساب بنكي أمريكي بالنسبة للطريقة الأولى وهي عن طريق بطاقة بنكية لا تعمل معك كما قلت لذلك الطريقة الوحيدة هو ربط حساب أمريكي وهو مايوفره لك Payoneer (لا يمكنك التحويل من paypal إلى Payoneer مباشرة من خلال البريد الإلكتروني أو العكس) ولكن يجب عليك استخراج بيانات حساب أمريكي من نوع Community Federal Savings Bank بالتحديد وعند الحصول على بيانات Community Federal Savings Bank يمكنك الدخول إلى paypal ثم ربط حساب امريكي وإضافة البيانات التي حصلت عليها من payoneer بعدها يمكنك السحب بدون أي مشكلة الطريقة السابقة هي الطريقة الوحيدة للسحب من PayPal الى Payoneer في الدول العربية والعديد من الدول الأخرى
  17. أولاً أعتقد أنه يمكنك عدم الإكمال في الدورة واسترداد المبلغ بدون أي مشكلة مع توضيح المشكلة من خلال فريق الدعم كما أخبرك عدنان ولكن يجب أن تعرف ان من الطبيعي أن تواجه بعض الصعوبات في فهم دورة تعليمية للبرمجة، خاصة إذا كنت مبتدئًا.ومن المميز أنه يوجد فريق كامل لمساعدة والرد على استفساراتك بشكل مستمر تعلم البرمجة قد يستغرق وقتًا وجهدًا. استمر في المحاولة ولا تتراجع. قم بتحديد أهداف صغيرة وتقسيم المفاهيم إلى أجزاء أصغر لتسهيل الفهم والتقدم خطوة بخطوة.
  18. بالنسبة لمسألة الربط بين مجال تخصصك كمبرمج Frontend وبين عمل زميلك على Unreal Engine وBlueprints، فأقترح عليك الآتي: ركز أولاً على تعلم مسارك البرمجي بتركيز واجتهاد، فهذا سيفيدك في مجال تخصصك.ولا تهتم بمحاولة المساعدة حتى تثبت جدوى تعلمك للبرمجة فكما تعلم فهذا مجال مختلف عما تتعلمه تماماً في نفس الوقت، يمكنك دراسة أساسيات Unreal Engine أو التصميم على 3D max إذا كان متاح لك الوقت عرض مساعدة زميلك في جوانب محددة مثل إنشاء نماذج 3D بسيطة للمحاكاة أو تصميم واجهة مستخدم تفاعلية باستخدام مهارات الفرونت إند. التواصل مع زميلك: قم بمناقشة زميلك وتحديد كيف يمكنك مساعدته بشكل أفضل. استفسر عن الجوانب التي يعاني فيها والمجالات التي يحتاج إليك فيها. قد يكون بإمكانك المساهمة في تطوير أدوات إضافية وفوق كل شيء، تحلى بالصبر واجتهد في تعلم مجال تخصصك، فالنجاح يأتي بالتدرج والاجتهاد.
  19. إذا كنت ترغب في معرفة كيفية الوصول إلى الكلمات الرئيسية في لغة البرمجة Python، فإليك بعض الطرق التي يمكنك استخدامها: الوثائق الرسمية لبايثون : يعتبر الاطلاع على الوثائق الرسمية للغة هو أفضل مصدر للحصول على معلومات موثوقة وشاملة. يمكنك زيارة موقع python.org والاطلاع على وثائق Python الرسمية التي تحتوي على جميع الكلمات الرئيسية والدوال والتعليمات البرمجية الأخرى. كما يمكنك الإطلاع على الوثائق الموجودة بأكاديمية حسوب وهي باللغة العربية وتغطي جميع جوانب اللغة البرمجية من خلال هذا الرابط
  20. يمكنك محاولة تنفيذ المحاولات التالية تحميل النماذج مباشرة على الموقع تحت شكل ملفات صور/فيديوهات. أعتقد أنه بعد ععرض النموذج كصورة يمكنك إضافة رابط لهذا العمل إنشاء مقطع فيديو قصير يعرض عينات العمل ثم رفعه مباشرة على الموقع. الهدف عدم استخدام روابط خارجية وإظهار النماذج بشكل مباشر على الموقع.
  21. الفكرة العامة لتنفيذ ماتريد هي كالتالي قم بتعديل جدول المنشورات في قاعدة البيانات الخاصة بك وأضف حقلًا جديدًا يحمل اسم "admin_approval" (أو اسمًا مناسبًا آخر)، واجعل القيمة الافتراضية لهذا الحقل تكون "معلقة" أو أي قيمة تعبر عن حالة عدم الموافقة. قم بإنشاء صفحة في لوحة التحكم تعرض المنشورات المعلقة وتسمح للمديرين بتحقيق الموافقة أو الرفض. يمكنك استخدام مكونات HTML وCSS وJavaScript لتصميم وتنفيذ هذه الصفحة وتوصيلها بقاعدة البيانات لعرض المنشورات المعلقة. عندما يقوم المدير بتحقيق الموافقة أو الرفض على منشور معيّن، قم بتحديث قيمة حقل "موافقة الإدارة" في قاعدة البيانات بناءً على قرار المدير. يمكنك استخدام اللغة الخاصة بإطار العمل Laravel مثل PHP لتنفيذ هذه العملية. بعد تحقيق الموافقة أو الرفض، يمكنك استخدام مكتبة Laravel Notifications لإرسال إشعار إلى الكاتب الأصلي للمنشور بناءً على النتيجة. يمكنك تخصيص النص الذي يتم إرساله في الإشعار بناءً على نتيجة الموافقة أو الرفض. كما يمكنك استخدام حزم إضافية أخرى في Laravel لتبسيط وتسهيل هذه العمليات، مثل حزمة "Laravel Admin Panel" التي توفر واجهة إدارة قوية وميزات متقدمة جاهزة للاستخدام.
  22. لا يوجد مجال يضمن العوائد بسهولة بدون جهد وتعلم. لا يمكنك الحصول على عوائد ممتازة بدون تعلم وتطوير نفسك في المجال الذي تعمل فيه. قد يكون ذلك من خلال اكتساب مهارات جديدة، حضور دورات تدريبية، قراءة الكتب والموارد المتعلقة بمجالك، وممارسة مستمرة. يجب أن تكون مستعدًا للاستثمار في تطوير مهاراتك ومعرفتك والبقاء على اطلاع دائم بأحدث التطورات في المجال الذي تعمل فيه. حيث للتحقيق النجاح في أي مجال، يتطلب الأمر جهدًا حقيقيًا. سواء كنت تقوم ببناء عملك الخاص أو تعمل كمستقل، فإن الجهد المستمر والملتزم هو مفتاح النجاح. يجب أن تستثمر الوقت والطاقة لتعلم المهارات اللازمة وبناء سمعتك وتطوير علاقات عملاء والعمل بجد لتحقيق نتائج إيجابية. وللحصول على فكرة عامة عن المجالات المطلوبة قم بقراءة المقالات 10 مهن هي الأكثر طلبًا في المستقبل 28 وظيفة من وظائف العمل الحر الأكثر طلبًا
  23. هناك بدائل أكثر قوة واحترافية: CodeMirror: من أقوى محررات الكود المصدرة مفتوحة المصدر، تدعم لغات متعددة وتنسيق تلوين الكود. Ace Editor: محرر قوي آخر مفتوح المصدر يشبه Sublime Text وتنسيقاته. Monaco Editor: المحرر الذي يستخدمه كل من VS Code و Azure Data Studio، يقدم تجربة قريبة من VS Code. Draft.js: مكتبة رائعة لبناء محرر نصوص/HTML بجافاسكربت عالي الأداء. هذه البدائل تدعم أغلب ميزات محررات الكود الاحترافية مع إمكانية التخصيص. جرب CodeMirror أو Ace أعتقد ستناسبك أكثر من prism-live.js.
  24. يوجد عدة طرق لإضافة الإشعارات التي تنبه المستخدمين بالمحتوى الجديد في الموقع باستخدام Node.js وMongoDB: WebSockets - تسمح بالاتصال المستمر بين الخادم والمتصفح لإرسال البيانات في الوقت الفعلي. تحتاج إلى مكتبة مثل Socket.IO. Server-Sent Events (SSE) - تسمح بالاتصال أحادي الاتجاه من الخادم إلى المتصفح لإرسال التحديثات. سهلة الاستخدام في Node.js. Polling - يقوم المتصفح بطلب بيانات جديدة من الخادم بشكل منتظم. سهل التنفيذ مع AJAX ولكن أقل كفاءة. Push Notifications - إرسال إشعارات من خلال بروتوكولات مثل FCM من Firebase أو PWA. لكن تحتاج مزيد من الإعداد. WebHooks - تسمح للخادم بإشعار نقطة نهاية محددة عند حدوث تغييرات. مفيدة للتكامل مع خدمات أخرى. أوصى بـ WebSockets أو Server-Sent Events كأسهل الخيارات مع Node.js وMongoDB. ولكن تختلف التفضيلات بناءً على المتطلبات المحددة.لذلك يفضل الإطلاع على التقنيات السابقة والقراءة عنها
  25. تتبع دورات أكاديمية حسوب منهج ثابت في الشرح وله الكثير من المميزات في بداية الدورة وعند دراسة الأساسيات لا يتم التعمق في الشرح بشكل كبير كما في دورات أخرى وذلك حتى يتم شرح المفاهيم المتقدمة من خلال التطبيقات فهذه الدورات تقوم على التطبيقات العملية فعند تعلم الأساسيات ربما تواجهك بعض المشكلات مثل التي تواجهك حالياً ولكن يجب عليك متابعة التعلم والتطبيق وراء المدرب وستتضح لك فكرة القيام بمشروع كامل بمفردك وأهمية المفاهيم والمصطلحات التي تم دراستها لذلك لا تقلق من هذا الموضوع فمع التطبيق ستتغلب على هذه المشكلة أيضاً هذه الطريقة لا تجعل تمل من الأساسيات فبدلاً من تركيز الدورة في الشرح النظري يتم شرح الأساسيات التي تجعلك قادر على متابعة الشرح العملي مع المدرب
×
×
  • أضف...