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

Mustafa Suleiman

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

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

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

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

    289

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

  1. ستحتاج أولاً إلى أساسيات HTML, CSS, JS ثم إلى التركيز على الأساسيات في PHP: المتغيرات أنواع البيانات المعاملات المنطقية والرياضية الجمل الشرطية وحلقات التكرار الدوال التعامل مع النماذج html forms كيفية تنفيذ عمليات CRUD ثم تعلم OOP ثم تعلم الطرق السحرية magic methods في PHP حيث يتم استخدامها بكثرة في لارافل ومن خلال ستتمكن من فهم ما يدور في الخلفية. ثم فهم نمط MVC وطبيعة عمله والفائدة منه. ثم تعلم أساسيات SQL والـ ORM مثل MySQL، وكيفية التعامل مع قواعد البيانات من خلال PHP وكيفية تصميم النماذج models لقواعد البيانات. ثم تعلم كيف تقوم بتنفيذ Routing باستخدام PHP. بعد ذلك تستطيع البدء بتعلم لارافل من خلال كورس مُكتمل وليس دروس قصيرة.
  2. هل يظهر أخطاء في google console تفقد الأخطاء الخاصة بالصفحات ال none indexed وسبب الخطأ وهل يوجد أخطاء أخرى تتعلق بال index وهل الموقع جديد ام جديد وهل المقالات جديدة ام قديمة
  3. لاحظ الإعدادات يوجد حقل باسم index file، عليك به كتابة اسم الملف الرئيسي للمشروع لديك، وبشكل إفتراضي هو index.php يمكنك إنشاء ملف بذلك الاسم، أو تغيير الاسم في حقل index file إلى اسم الملف الرئيسي لديك.
  4. ذلك مذكور في التعليق من البداية يبدوا أنك لم تنتبه إليه:
  5. حاول تغيير اسم ملف php.ini-development إلى php.ini والذي ستجده في المسار التالي: zeffa\.config\herd\bin\<version>\php.ini حيث أنّ zeffa هو مجلد المستخدم لديك في قرص الـ C في مجلد users. وقبل التعديل تأكد من إيقاف جميع الخدمات في herd كالتالي: ثم قم بإعادة التشغيل من منفذ الأوامر: herd restart أو من خلال الواجهة بالضغط على restart أو start all.
  6. تعتمد مكتبة NumPy على مصفوفات متجانسة لتخزين البيانات، مما يعني أن جميع العناصر في المصفوفة يجب أن تكون من نفس النوع، ونوع البيانات المُستخدم لتخزين قوى 2 هو العدد العشري ذو الدقة المزدوجة (float64). على الرغم من أن ذلك النوع من البيانات يمكنه تمثيل أرقام كبيرة، إلا أن له دقة محدودة، مع ازدياد قيمة n، تصبح قوى 2 كبيرة جدًا لدرجة تتجاوز دقة تمثيلها كأعداد عشرية ذوات دقة مزدوجة. وعندما تفقد الأرقام دقتها، يتم تقريبها إلى أقرب قيمة ممكنة ضمن نطاق التمثيل، ولديك يتم تقريب قوى 2 الكبيرة جدًا إلى الصفر. إذاً، عليك استخدام نوع بيانات العدد الصحيح ذي الدقة العالية (int64) لتخزين قوى 2 إذا كانت قيمتها ضمن نطاق تمثيله، لكن أيضًا الحل أحيانًا غير مناسب لجميع الحالات، خاصةً مع قيم n كبيرة جدًا. أنصحك بالإعتماد على مكتبة gmpy2 التي توفر دقة حسابية أعلى من مكتبة NumP وتسمح بحساب قوى 2 بدقة أكبر. أو استخدام بايثون فقط فاللغة قادرة على تنفيذ ما تريد.
  7. بالطبع سواء عملت كمستقل أو في شركة Full-time، لكن عليك عرض ذلك ضمن مهاراتك بشكل إحترافي، بذكر ما الفائدة التي ستعود على العميل من تلك المهارات ولماذا هي مهمة من خلال شرح بسيط وسهل ومختصر. بالنسبة للشركة يكفي ذكر ذلك في الـ CV، من خلال سرد المهارات وما قمت به ضمن ذلك المجال، وأثناء مقابلة العمل عليك توضيح ذلك بشكل عملي من خلال طريقة CAR والتي تعني Context, Action, Result أو سياق ( سرد حدث أو تحدي أو مشكلة)، ثم فعل قمت به ثم أدى ذلك إلى نتيجة معينة. لكن عليك أن تكون واقعي وأن تطرح راتب متوقع بفارق ليس بالكبير عن متوسط الرواتب في سوق العمل الذي تستهدفه، بحيث تتوقع زيادة راتبك بنسبة 20% إلى 50% وكزيادة 40% أراها جيدة بناءًا على كلامك.
  8. البرنامج ليس بحاجة إلى لغة C++، الأفضل إطار .NET بلغة c# حيث ستجد نسبة جيدة من المستقلين متخصصين في ذلك الإطار وستتمكن من تطوير البرنامج بتكلفة أقل نسبيًا وفي وقت أقل.
  9. PHP ليست اللغة الأنسب لبرمجة تطبيق لسطح المكتب، بل عليك بإطار .NET الذي يعتمد على لغة C# أو لغة C++ وهي اللغة الأفضل لبناء تطبيقات سطح المكتب التي بحاجة إلى سرعة في الأداء. وعامًة لتحويل لتحويل مشروع لارافل إلى تطبيق سطح مكتب ممكن من خلال مكتبة PHP Desktop والفكرة الخاصة بها هي تشغيل المشروع من خلال محرك chromium أي تشغيل التطبيق في واجهة تشبه تطبيقات سطح المكتب لكنها تعتمد على المحرك الخاص بالمتصفح، فكر بالأمر على أنه مثل إطار Electrone.js الخاص بجافاسكريبت. ستجد تفصيل هنا:
  10. ذلك هو المشروع بالتعديلات التي أخبرتك بها، مع تقليل حجم صورة الهاتف إلى 50%. وتعديل تنسيق الفيديو إلى: section#Home video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -100; } project-web.rar
  11. من صفحة آخر التحديثات هنا: https://academy.hsoub.com/release-notes/
  12. بخصوص التدريب، نحن الآن على أعتاب الصيف وبه ستجد summer internships وقد بدأت الآن، على مواقع التوظيف ابحث عن Summer internship أو summer training وستجد فرص مختلفة سواء في بلدك أو عن بُعد remote. ويمكنك السؤال في المجموعات التي تهتم بالبرمجة في بلدك عن فرص Summer internship، لكن عليك تجهيز الـ CV الخاص بك وتنسيقه بشكل جيد وبسيط ويمكنك الاستفادة من ميزة "بعد إتمامك للدورة سيتم الإطّلاع على سيرتك الذاتية من قبل المختصّين لدينا وتقديم ارشادات مخصّصة لك لتحسينها وكذلك على ملفّك الشخصي في مواقع العمل الحر." عليك توفير الـ CV وإرساله لمركز المساعدة للإطلاع عليه.
  13. كل فترة يتم إضافة دورات إلى الأكاديمية، لكن ذلك بناءًا على معايير مختلفة مثل حاجة سوق العمل إلى تلك المهارات وهل هي مطلوبة في الوقت الحالي وما هي النسبة، أيضًا نسبة المهتمين بالإشتراك بالدورة، وأمور مختلفة أخرى مثل توافق الدورة مع الدورات الأخرى في الأكاديمية. لذا، لا أعدك بأن الدورة سيتم إضافتها لكن سيتم النظر في ذلك وتنفيذ الدورات حسب الأولوية، يمكنك متابعة آخر التطورات في صفحة آخر التحديثات. حاليًا الدورة التي بها يمكنك تعلم تطوير تطبيقات الهواتف، هي دورة جافاسكريبت من خلال React Native.
  14. حاول إذن تحديد خيار base في إعدادات vite في ملف vite.config: export default defineConfig({ base:'./', }); بحيث تصبح مسارات الملفات نسبية.
  15. سيكون كالتالي أيضًا: import { HashRouter } from 'react-router-dom'; import App from './App'; const Router = () => { return ( <HashRouter basename={'admin'}> <Routes> <Route path="/" element={<App />} /> </Routes> </HashRouter> ); }; export default Router;
  16. في ملف package.json قم بإضافة عنوان الصفحة الرئيسية للمشروع من خلال خاصية homepage: "homepage": "https://wesamelnagah.com/admin/" ثم قم بتحديث المسارات وتحديد basename وذلك مثال للإصدار 6 من react-router: import { BrowserRouter } from 'react-router-dom'; import App from './App'; const Router = () => { return ( <BrowserRouter basename={'admin'}> <Routes> <Route path="/" element={<App />} /> </Routes> </BrowserRouter> ); }; export default Router;
  17. Apex منصة قوية لتطوير تطبيقات الويب القائمة على Salesforce ومثل أي منصة برمجية، فإنها عرضة للثغرات الأمنية التي يمكن أن تعرض البيانات والأنظمة للخطر، حتى GitHub بها ثغرة حاليًا تستخدم لنشر Malware ويتم العمل على حلها. وأنواع الثغرات الأمنية الشائعة في تطبيقات Apex، هي كالتالي: حقن SQL والتي تحدث عندما يتمكن المهاجم من إدخال تعليمات برمجية SQL ضارة في طلبات قاعدة البيانات مثل البيانات التي يتم إرسالها من خلال نموذج form، مما يسمح له بالوصول إلى البيانات الحساسة أو تعديلها أو حذفها. التنفيذ التعسفي للأوامرACE ويحدث من خلال تمكن المهاجم من إرسال تعليمات برمجية ضارة إلى التطبيق، مما يسمح له بتنفيذ تلك التعليمات على خادم Salesforce. التقاط Cross-Site Scripting (XSS) وسببها هو إدخال نصوص JavaScript ضارة في صفحات الويب، مما يسمح بسرقة بيانات المستخدم أو التحكم في متصفح المستخدم. التصريح غير المصرح به بالوصول إلى البيانات وتحدث الثغرة عندما يتمكن المستخدم من الوصول إلى البيانات التي ليس لديه حق الوصول إليها.
  18. البداية تكون بمشاركات صغيرة في مشاريع مفتوحة المصدر حيث ستجد مشاكل Issues بها وسم tag باسم good first issue: ثم انتقل إلى مشروع أكبر إن واتتك الفرصة، وعامًة ستجد في المواقع التالية فرص جيدة للمشاركة بالمشاريع: https://goodfirstissue.dev/ https://forgoodfirstissue.github.com/ وعامًة لتطوير مستواك، قم بقراءة الكود الخاص بمكتبة صغيرة مثلاً وتفقد كيف تم تطويرها وطريقة كتابة الكود، ثم قم بقراءة كود أكبر وهكذا.
  19. لم يتم ذكر حجم المشروع وهل هو بحاجة إلى مكتبة إو إطار للواجهة الأمامية أم لا؟ حيث يمكن توليد الواجهة الأمامية من خلال لارافل وبوتستراب وبذلك يتم استخدام لغات وتقنيات أقل. ومثلاً للحصول على ميزة حديث واجهة المستخدم ديناميكيًا دون الحاجة إلى إعادة تحميل الصفحة، تستطيعي استخدام إطار Laravel Livewire.
  20. لا مشكلة في دورة الذكاء الاصطناعي تم مراعاة ذلك، حيث يتم الإفتراض أنه لا يوجد أي خبرة برمجية مسبقًا ويتم البدء من الصفر وذلك مذكور في صفحة الدورة: https://academy.hsoub.com/learn/artificial-intelligence/
  21. ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
  22. ستعتمد على الخوارزميات الموجودة التي تم تطويرها واختبارها من قبل الآخرين. مثل خوارزميات التعلم العميق الشائعة مثل شبكات ResNet و Transformer، متاحة في مكتبات مثل TensorFlow و PyTorch. وستبقى كذلك، وفي مراحل متقدمة من مسيرتك قد تتمكن من التطوير على خوارزمية موجودة، أو العمل على تطوير خوارزمية جديدة مع فريق عمل لكن ذلك ليس بالهين لكون الأمر يتطلب فهم عميق للرياضيات وعلوم الحاسوب. وبخصوص الرياضيات ستجد تفصيل هنا: عامًة تصميم خوارزميات جديدة يعتمد على نماذج رياضية معقدة تُشتق من مجالات مثل الجبر والحساب التفاضلي والتكامل ونظرية الأعداد. حيث يتم ذلك باستخدام طرق رياضية صارمة مثل الإثباتات الرياضية وتحليل التعقيد ليضمن إثبات صحة الخوارزميات أنها تعمل بشكل صحيح وتُنتج النتائج المتوقعة. ولتحسين أداء الخوارزميات تُستخدم تقنيات رياضية مثل التحسين والتقريب، وتهدف إلى زيادة كفاءة الخوارزميات وتقليل وقت تشغيلها.
  23. بالطبع ذلك حقك بلا شك، أرجو إذن الإنتظار لبعض الوقت وسيتم الرد عليك لا تقلق بخصوص الرد.
  24. عذرًا على أي مشكلة واجهتها خلال تواجدك بالأكاديمية، أتفهم شعورك وما مررت به، لكن من أجل مصلحتك أنت عليك تحديد المجال الذي تريد التخصص به والمطلوب في سوق العمل لديك أو الذي تريد العمل به أيًا كان هو، فلا يتم تحديد المجال بناءًا على شغفك أو حبك للمجال، فذلك أمرًا آخر، وبعض المجالات تحتاج إلى وقت أطول لكي تصبح مؤهل لسوق العمل مقارنًة بمجال آخر. لذا عليك تحديد الوقت المتاح لك بشكل واقعي وتحديد ما الذي تريده بعد إجراء بحث لبعض الوقت. وعامًة القرار راجع لك، وما تريده تستطيع إخباره لمركز المساعدة وسيتم مساعدتك به ولا تقلق بخصوص الرد، فذلك يكون بسبب بعض الضغط، أرجو الإنتظار.
  25. في حال كنت ستستخدم المكتبة في مشروع جافاسكريبت والمكتبة تدعم مشاريع جافاسكريبت النقية وليس Node.js فقط، إذن تستطيع تحميل ملفات المكتبة مباشرًة واستخدامها في مشروع دونّ الحاجة إلى استخدام npm. وبخصوص الخطوط، نستخدم CSS لأن الأمر متعلق بالتنسيق وبالتالي لغة CSS هي المسؤولة عن ذلك في المتصفح، وحتى إن استخدمت مكتبة فسيتم تحويل الكود الخاص بها إلى أكواد CSS، إذن ما الداعي إلى ذلك؟ عليك الإعتماد على خصائص CSS مثل font-family و font-size و font-weight و font-style لتحديد الخط وحجمه ووزنه وأسلوبه. p { font-family: Arial, sans-serif; /* تحدد عائلة الخطوط */ font-size: 16px; /* تحدد حجم الخط */ font-weight: bold; /* تحدد وزن الخط */ font-style: italic; /* تحدد أسلوب الخط */ } وفي React عليك تحميل الخط من google fonts مثلاً ووضعه في مجلد fonts في مجلد assests ، ثم استيراده كالتالي في المكون الرئيسي: import './fonts/Goldman/Goldman-Bold.ttf'; ثم في ملف CSS الرئيسي، استخدم الخط كالتالي: @font-face { font-family: "GoldmanBold"; src: local("GoldmanBold"), url("./fonts/Goldman/Goldman-Bold.ttf") format("truetype"); font-weight: bold; } وبعد ذلك في باقي تطبيقك تستطيع استخدام الخط من خلال خاصية font-family ثم كتابة اسم الخط كالتالي: .main { font-family: "GoldmanBold"; }
×
×
  • أضف...