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

Mustafa Suleiman

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

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

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

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

    489

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

  1. المطلوب هو كتابة دالة جافاسكريبت تُسمى getPathwayProjectDe تستقبل عدة مدخلات تصف مشروعًا رياضيًا، ثم تُعيد كائنًا مُنسقًا يحتوي على هذه المعلومات. المدخلات هي: name: اسم المشروع (مثلًا، "المسار الرياضي"). goals : مصفوفة من السلاسل النصية تصف أهداف المشروع. activities: مصفوفة من السلاسل النصية تُدرج الأنشطة المُقدمة. geographical_details: كائن يحتوي على تفاصيل الموقع الجغرافي للمشروع (من المحتمل أن يحتوي على خصائص مثل start و end). related_initiatives: مصفوفة من السلاسل النصية تُسمي المبادرات ذات الصلة (مثلًا، "رؤية 2030"). يجب أن تُعيد الدالة كائنًا واحدًا يُنظم كل تلك المعلومات بشكل مُرتب، والمثال المُقدم يُظهر كيف يُستخدم المدخل description (الذي ليس مدخلًا مباشرًا ولكنه مُشتق من المدخلات الأخرى) لإنشاء المخرجات. حاول التفكير في الأمر وتقسيم المشكلة إلى أجزاء والعمل على حلها، وأخبرني إن واجهت صعوبة والكود الذي توصلت إليه
  2. في البرمجة بشكل عام هي دالة داخل كائن أو كلاس ونستدعيها من خلال النقطة . بعد اسم الكلاس أو الكائن. في بايثون، الـ method هي دالة function مرتبطة بـ مُثيل instance (نسخة من الكلاس) من class، أي تعيش داخل كلاس وتعمل على بيانات ذلك المُثيل، ونستخدمها للتفاعل مع خصائص attributesومُثيلات الكلاس. الفرق الرئيسي بين الدالة العادية والميثود هو أن الميثود تستقبل مُثيل الفئة كمعامل ضمني (implicit argument) يُسمى بشكل شائع باسم self وهو يُشير إلى المُثيل الذي تُستدعى عليه الميثود. class Dog: def __init__(self, name, breed): self.name = name self.breed = breed def bark(self): print("Woof! My name is", self.name) def describe(self): print(f"I am a {self.breed} named {self.name}") my_dog = Dog("Buddy", "Golden Retriever") my_dog.bark() my_dog.describe() __init__ هو مُنشئ constructor وهي ميثود خاصة لتهيئة مُثيلات الكلاس عند إنشائها. bark و describe هما ميثودان تُنفذان على مُثيل my_dog، لاحظ كيف يستخدمان self للوصول إلى خصائص المُثيل (self.name, self.breed).
  3. ما كتبته غير صحيح، فما يظهر هو كلاس أي كالتالي عند حل المسألة: class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ و twosum هي ميثود بداخل الكلاس لحل المسألة مباشرًة تفقد المسألة هنا: https://leetcode.com/problems/two-sum/
  4. لن تحتاج إلى دفع أي شيء سوى اشتراك الدورة فقط. بخصوص مجال تخصص مدير المنتج أو product manager، فستتعلم بالدورة أساسيات إدارة تطوير المنتجات، حيث ستتعرف على المنتجات الرقمية ومنهجيات إدارتها، وكيفية دراسة السوق وتحليل المنافسين ومتطلبات العملاء، وستأخذ فكرة عامة عن مراحل التصميم والتطوير والإطلاق. وستتعلم كيفية توظيف فريق من المصممين لتصميم الهوية البصرية والواجهات الأمامية، وفريق من المبرمجين لبرمجة الواجهات الأمامية frontend والخلفية backend والجوال؛ بتطبيق عملي على مشاريع حقيقية نبنيها. وكتابة ملف المواصفات التقنية للمنتج، وميزاته وتحديد الأولويات، وكيفية كتابة حالات الاستخدام Use cases وقصص المستخدمين User stories. وسنعمق في المفاهيم التي بنيت عليها أجايل، وسنتعرف على إطار العمل سكرام ونطبق عمليًا. وستجد تفصيل هنا بخصوص ذلك التخصص: عليك البحث على مواقع التوظيف الخاصة بسوق العمل الذي تريد العمل به، باسم الوظيفة وهو product manager ثم تفقد المهارات المطلوبة واعمل على تعلمها
  5. عليكِ استخدام ترميز UTF-8 لنقم بتجربة الحلول التالية بالترتيب: في بداية ملف to_excell.php، أضيفي السطر التالي: header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8'); فذلك يحدد ترميز UTF-8 لملف Excel. 2- بدلاً من setCellValueByColumnAndRow, استخدمي setCellValueExplicit مع تحديد نوع البيانات كـ DataType::TYPE_STRING وذلك لضمان كتابة النصوص العربية بشكل صحيح، ويجب أيضاً تحديد الترميز صراحةً: use PhpOffice\PhpSpreadsheet\Cell\DataType; // داخل الحلقة while $sheet->setCellValueExplicit($col, $rowNumber, $value, DataType::TYPE_STRING); 3- تأكدي من أن ملف to_excell.php نفسه مُحفظ باستخدام ترميز UTF-8 بدون BOM (Byte Order Mark). تستطيعي تفقد ذلك باستخدام محرر نصوص يدعم ترميز الأحرف مثل Notepad++ أو Sublime Text. 4- تحويل النصوص العربية إلى UTF-8 قبل كتابتها في ملف Excel باستخدام دالة mb_convert_encoding: $value = mb_convert_encoding($value, 'UTF-8', 'auto'); $sheet->setCellValueExplicit($col, $rowNumber, $value, DataType::TYPE_STRING); 5- حفظ ملف Excel بترميز UTF-8 $writer->save('php://output', 'UTF-8');
  6. حاليًا عليك إعادة تشغيل الحاسوب فأحيانًا هناك ملفات مؤقتة تسبب المشكلة أو مشاكل في الذاكرة العشوائية، إن لم يتم حل المشكلة عليك إعادة تثبيت البرنامج.
  7. توقع فترة تتراوح ما بين أسبوع إلى شهر للمراجعة، لذا لا حاجة للاستعجال طالما قمت بمراجعة التطبيق بنفسك وتفقدت شروط منصة جوجل بلاي وطبقتها في تطبيقك. https://play.google/developer-content-policy/ https://support.google.com/googleplay/android-developer/answer/15225428?hl=en
  8. ما هو الخطأ الذي يظهر؟ وهل قمت بإعادة تشغيل الحاسوب وتفقد هل تم حل المشكلة أم لا؟ يمكنك تفقد هل البرنامج ما زال يعمل أم لا من خلال task manager في الويندوز وإن كان ما زال يعمل قم بالضغط عليه بزر الفأرة الأيمن ثم اختر end task ثم قم بتشغيله مجددًا.
  9. كبداية أنصحك بالتدرب على flexbox وGrid من خلال المواقع التالية: https://flexboxfroggy.com/ https://cssgridgarden.com/ وذلك موقع مساعد لك لفهم خواص الـ Flexbox: https://flexbox.malven.co/ نفس الأمر بخصوص الـ Grid: https://grid.malven.co/ بعد ذلك عليك بالتطبيق على تصاميم والموقع الأشهر لذلك هو Frontend Mentor حيث يقدم تحديات تصميم واجهات مستخدم جديدة كل أسبوع، وأيضًا لو أردت يوفر ملفات Figma لتحميلها والبدء في العمل عليها. والموقع الأقرب له هو https://www.dailyui.co فخلال 100 يوم يتم تقديم تحديات لك لتنفيذها، والأمر محفز فعلاً. أيضًا المواقع التالية: https://flukeout.github.io/ https://cssbattle.dev/ ولا عليك إن واجهت صعوبة في البداية، مع الوقت والتدريب ستتحسن، وتستطيع السؤال للمساعدة.
  10. تلك مشكلة قائمة بالفعل في المكتبة بسبب التحديثات التي يجريها يوتيوب، حاليًا قم بتعديل الكود كالتالي: yt = YouTube( url, 'MWEB' ) إن لم يعمل اكتب WEB_CREATOR بدلاً من MWEB
  11. لتوضيح معنى الشهادة، فشهادة جوجل للمحترفين في تحليل البيانات (Google Data Analytics Professional Certificate) وشهادة جوجل للمحترفين في تحليل البيانات المتقدم (Google Advanced Data Analytics Professional Certificate) الفرق ينهما يكمن في مستوى الصعوبة والخبرة المطلوبة، بالإضافة إلى المهارات المكتسبة. Google Data Analytics Professional Certificate هي شهادة للمبتدئين. تُركز على أساسيات تحليل البيانات، وتُعلم المشاركين كيفية استخدام أدوات مثل Sheets و SQL لجمع البيانات وتنظيفها وتحليلها وتفسيرها، وهي مناسبة لمن ليس لديهم خبرة سابقة في تحليل البيانات أو يمتلكون خبرة قليلة. Google Advanced Data Analytics Professional Certificate تلك شهادة متقدمة وتتطلب معرفة مسبقة بتحليل البيانات، وتُبني على أساسيات الشهادة السابقة، وتُغطي مواضيع أكثر تعقيدًا مثل نماذج التنبؤ، والتحليل الإحصائي المتقدم، وتقنيات تعلم الآلة (Machine Learning) الأساسية، وتشمل استخدام أدوات أكثر تخصصًا مثل R أو Python أو BigQuery.
  12. بخصوص الشبكات والتعمق بها فليس مطلوب منك دراسة ذلك في حال أنك تعمل في مجال البرمجة، فذلك مجال مختلف، ما أنت بحاجة إليه هو الأساسيات بمعنى فهم كيفية عمل بروتوكولات و HTTPS، HTTP والطرق الخاصة بها (GET, POST, PUT, DELETE) وكيفية استخدامها في طلبات HTTP. وكيفية توجيه الطلبات من المتصفح إلى الخادم، وكيفية التعامل مع الأمان مثل SSL/TLS. وأساسيات بروتوكولات الشبكات مثل TCP/IP, HTTP, HTTPS, FTP, SMTP, DNS، عليك فهم وظيفة كل بروتوكول وكيفية عمله. واستيعاب كيفية عمل عناوين IP (IPv4 و IPv6)، وكيفية استخدامها لتحديد أجهزة الكمبيوتر على الشبكة، وكيفية اتصال التطبيقات بالخوادم، وكيفية التعامل مع مشاكل الشبكة مثل الاتصال المنخفض أو انقطاع الاتصال.
  13. ما هو حجم الرامات لديك، تفقد الاستهلاك عند فتح المحاكي، وقم بتجربة حذف المحاكي AVD ثم إعادة إنشاءه من جديد وخصص له 2 جيجابايت رامات على الأقل. أيضًا حاول تحديث كرت الشاشة لديك، إن استمرت المشكلة توجه إلى Device Manager في أندرويد ستوديو واضغط على الثلاث نقاط ثم اختر cold boot the emulator، وإن استمرت المشكلة توجه لنفس القائمة مرة أخرى واختر wipe لحذف البيانات ثم cold boot the emulator.
  14. اضغط على Enroll for free في صفحة الكورس ثم اختر Full Course, No Certificate لدراسة الكورس بدون شهادة. للحصول عليها تستطيع الدفع مقابلها.
  15. الدفع بالدولار بالطبع، وما يظهر لك هو حساب Coursera plus أي إشتراك للوصول لجميع الدورات المدفوعة والحصول على شهادة، حيث أنّ الشهادة يجب أن تدفع مقابلها في حال كانت الدورة مجانية، لذا تستطيع عدم الإشتراك اضغط على Enroll for free في صفحة الكورس ثم اختر Full Course, No Certificate لدراسة الكورس بدون شهادة.
  16. لا تستطيع العمل بالشركات أو مواقع العمل الحر في حال كان عمرك أقل من 18 وذلك لأسباب قانونية، عند الوصول لذلك السن تستطيع العمل كما تشاء، بالتالي عليك تجهيز نفسك وإعدادها بالمهارات المطلوبة في سوق العمل لحين الوصول لذلك السن. وفي حال وصلت بالفعل لـ 18، فتستطيع العمل عن بُعد مع الشركات أو على مواقع العمل الحر، لكن للعمل بداخل شركة أي المقر نفسه ستحتاج إلى شهادة جامعية أيًا كانت وليس شرط أن تكون متعلقة بالبرمجة، أي يجب أن تكون قد تخرجت من الجامعة. وبالطبع الأمر ليس حكرًا على مواقع العمل الحر، فتستطيع العمل خارجها من خلال عرض مهاراتك في الجروبات المختصة أو المهتمة بها مثلاً.
  17. تستطيع السؤال متى أردت أسفل كل درس عن تمارين حول الدرس ثم في نهاية كل مسار السؤال عن تمارين حول المسار بالكامل أو فكرة مشروع مثلاً للتطبيق على المسار، وسيتم توفيرها لك. يوجد مشاريع كاملة للتطبيق على المسارات السابقة في كل دورة
  18. بالطبع باديء الأمر لغة برمجة، والمستخدم في تحليل البيانات هما بايثون و R، لديك أيضًا لغة الاستعلام الخاصة بقواعد البيانات وهي SQL. ثم عليك فهم كيفية الوصول إلى البيانات، واستخراجها، وتنظيمها من قواعد بيانات مختلفة (مثل MySQL، PostgreSQL، MongoDB). ثم إتقان استخدام برامج مثل Excel، Tableau، Power BI، SPSS، SAS، وتلك الأدوات تساعد في عرض البيانات وتفسيرها بشكل مرئي. ثم فهم المفاهيم الإحصائية الأساسية مثل المتوسط، الانحراف المعياري، الاختبارات الإحصائية، والانحدار. هذا ضروري لتفسير النتائج بشكل صحيح. ثم تعلم أساسيات تعلم الآلة وتطبيقاته في تحليل البيانات، مثل تصنيف البيانات، التنبؤ، وتجميعها. ليس شرطًا دائمًا، لكنه يعتبر ميزة كبيرة. بعد ذلك تعلم مهارة استخراج البيانات Data Mining، أي القدرة على استخراج المعلومات القيّمة من مجموعات البيانات الضخمة. ثم تنظيف البيانات، حيث ستتعامل مع بيانات غير المكتملة أو غير متناسقة، وتنظيفها وإعدادها للتحليل أمر ضروري. بعد ذلك عليك تعلم الـ Storytelling بمعنى تصبح قادر على تقديم النتائج بطريقة واضحة ومفهومة، باستخدام الرسوم البيانية والتقارير لأصحاب الشأن.
  19. مستوى الدورة هو Beginner level لذا ستتعلم R بها
  20. أولاً لا تستعجل فتصاب بالإحباط بالفعل، الأمر بحاجة إلى وقت وصبر، ومجال البرمجة ليس سهل، لذا على الأقل 6 أشهر قبل البحث عن عمل وفي رأي سنة وليس 6 أشهر حسب مستواك. عند تعلم مسار برمجي بالطبع عليك تحديد ما الوظيفة التي تريدها من أجل تحديد المهارات اللازمة لتلك الوظيفة، ودورة تطوير واجهات المستخدم مخصصة لتخصص الـ Front-End أي الواجهة الأمامية، وعلى منصات العمل الحر ستجد مشاريع تتطلب HTML, CSS, JS وبوتستراب وjQuery، لكن مجال الواجهة الأمامية أعقد من ذلك، حيث يتطلب على الأقل تعلم إطار أو مكتبة مثل React و Vue.js و Angular. من خلالهم ستتمكن من بناء واجهة ديناميكية أكثر تعقيدًا، وذلك ما تتطلبه الشركات. عليك الإنتظار لحين الإنتهاء من الدورة ثم تفقد المشاريع على مستقل مثلاً، ثم تعلم مهارات إضافية بجانب الدورة لتمييز نفسك عن الغالبية وأول ما ستتعلمه هو React أو حسب الإطار المطلوب بكثرة في سوق العمل لديك أو المشاريع على مستقل، أي حسب سوق العمل الذي تستهدفه. بعد الإختبار والإنتهاء من الدورة سيتم توجيهك خلال الـ 6 أشهر التالية.
  21. حسب مستوى الدورة التي تتحدث عنها، فأنت لم تذكر ما هي؟ عامًة إن كانت لمستوى متوسط أو متقدم فيعني أنك بحاجة إلى تعلم لغة R أولاً، أما إن كانت للمبتئدين فسيتم شرح لغة R بها بالتأكيد.
  22. أثناء تثبيت Postgres هل قمت بكتابة باسورد؟ عليك كتابته وليس الباسورد الخاص بـ pgAdmin فذلك هو ال Master password للوصول لسيرفرات قاعدة البيانات وليس باسورد قاعدة البيانات نفسها، في حال قمت بكتابة نفس الباسورد فلا مشكلة. المستخدم الإفتراضي لقاعدة البيانات هو postgres عليك كتابة كلمة المرور التي قمت بتحديدها. إن لم تتذكرها، قم بكتابة التالي في psql لتعيين كلمة مرور: ALTER USER postgres WITH PASSWORD 'admin' تستطيع تعديل admin إلى كلمة تريدها. بعد ذلك قم بإعادة تشغيل Postgres من خلال تنفيذ التالي في CMD أو أي منفذ أوامر وليس من خلال PSQL: net stop postgresql net start postgresql
  23. الكود محسن بشكل كبير من حيث الأمان لأنك قمت بتضمين حماية CSRF واستخدام الاستعلامات المعلمة لمنع حقن SQL، وبالطبع هناك مجال للتحسين. الكود لا يتحقق هل اسم المستخدم موجودًا بالفعل في قاعدة البيانات، فيجب منع اسم المستخدم المكرر، أضف منطق لذلك قبل INSERT. أيضًأ أنت تتحقق من إدخال المستخدم، لكن لا تتحقق من إدخال التوكن، عليك إضافة تحقق إدخال التوكن. وبينما يتم فرض الحد الأدنى للطول، ضع في اعتبارك إضافة عمليات تحقق أكثر قوة لكلمة المرور، فهناك مكتبات لذلك للتحقق من وجود مزيج من الأحرف الكبيرة والصغيرة والأرقام والرموز، أو تستطيع إنشاء دالة مخصصة بنفسك. بخصوص توليد توكن عشوائي، من الأفضل استخدام طريقة أكثر أماناً مثل random_bytes(32) وتخزينها في متغير جلسة session أمن. ومن المستحسن استخدام filter_var لتنظيف اسم المستخدم قبل استخدامه في الاستعلام، فذلك يساعد في منع الأحرف غير المتوقعة من التسبب في مشاكل، حتى لو مرت بعمليات التحقق. $username = trim(filter_var($_POST['username'], FILTER_SANITIZE_STRING)); ولا يتم تهريب الـ output بشكل صحيح، اعتمد على htmlspecialchars() مع flag باسم ENT_QUOTES لتهريب المخرج، وذلك لمنع هجمات XSS. <input type="hidden" name="token" value="<?= htmlspecialchars($_SESSION['token'], ENT_QUOTES, 'UTF-8') ?>">
  24. أولاً، عليك فهم المطلوب، وهو كتابة دال تستقبل مصفوفة من الأعداد الصحيحة وعدد صحيح (الهدف) كمدخلات، وترجع مصفوفة من مؤشرات (مواقع) العددين في المصفوفة التي مجموعهما يساوي الهدف، ويجب أن تعمل الدالة بكفاءة، خاصةً مع مدخلات كبيرة. أي المسألة تتطلب منك إيجاد مؤشرات (مواقع) رقمين في مصفوفة (nums) بحيث يكون مجموعهما مساوياً لقيمة معينة (target). في أي مشكلة برمجية لا تقم بالتفكير بها ككل، بل نعمل على تقسيم المطلوب إلى أجزاء ثم نعمل على تنفيذها وربطها ببعضها البعض. هناك عدة طرق لحل المسألة، لكن أبسطها وأكثرها شيوعاً هي استخدام حلقة متداخلة nested loop. حاول أولاً حل المسائل من خلال Codewars فهو أبسط وأسهل في البداية.
  25. لا يتوفر في الأكاديمية دورة حول برنامج PRORAt، ستجد على اليوتيوب شروحات له، لكن البرنامج قديم جدًا ولم يعد صالح. ستجد هنا مصادر لتعلم الـ Ethical Hacking أوالهاكر الأخلاقي.
×
×
  • أضف...