-
المساهمات
13209 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
365
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
في البداية نقوم تهيئة المتغيرات: numbers: يخزن قائمة الأرقام. seen: هو قاموس فارغ سيتم استخدامه لتتبع الأرقام التي تم رؤيتها بالفعل. dups: هي قائمة فارغة ستخزن الأرقام المكررة التي تم العثور عليها. بعد ذلك نقوم باستخدام حلقة التكرار for للتكرار على الأرقام، من أجل تعداد كل رقم في قائمة numbers باستخدام حلقة for كالتالي: داخل الحلقة، نستخدم حلقة شرطية if، للتحقق مما إذا كان الرقم الحالي موجودًا بالفعل في قاموس seen. وفي حال كان الرقم غير موجود، فسيتم إضافته إلى قاموس seen بقيمة 1، بمعنى أن الرقم قد شوهد مرة واحدة. وإن كان الرقم موجودًا بالفعل في قاموس seen، يتحقق الكود مما إذا كانت القيمة المرتبطة بالرقم تساوي 1. وإن كانت القيمة 1، فذلك يعني أن الرقم قد شوهد مرة واحدة فقط من قبل، وهنا نقوم بزيادة القيمة إلى 2 وإضافة الرقم إلى قائمة dups، مما يعني أن الرقم قد شوهد الآن مرتين وهو بالتالي مكرر. بعد تكرار جميع الأرقام، ستحتوي قائمة dups على جميع الأرقام المكررة التي تم العثور عليها في القائمة الأصلية، ونقوم بطباعتها. وأرجو طرح السؤال أسفل الدرس وليس هنا لمساعدتك بشكل أفضل، فقسم أسئلة البرمجة هو للأسئلة العامة الغير متعلقة بالدورة.
-
أرجو طرح السؤال أسفل فيديو الدرس لمساعدتك بشكل أفضل. نستخدم الحرف "f" كبادئة لتحديد (f-string)، والنصوص المنسقة هي وسيلة لتضمين قيم المتغيرات داخل سلاسل النصوص بطريقة سهلة وواضحة دون الحاجة إلى استخدام أوامر تكوين معقدة. أي تستطيع استخدام f-string لإدراج قيمة متغير داخل نص بالشكل التالي: name = "أحمد" age = 25 # استخدام f-string لإدراج قيم المتغيرات في سلسلة نصية sentence = f"اسمي {name} وعمري {age} سنة." # طباعة النص المنشأ باستخدام f-string print(sentence) لاحظ دمج قيمة المتغير name في النص "اسمي {name}" وقيمة المتغير age في النص "عمري {age} سنة." بشكل مباشر. والعلامات المنسقة (f-strings)، هي طريقة جديدة متوفرة في Python 3.6 والإصدارات الأحدث. وتدعم f-strings مجموعة متنوعة من المعاملات لتنسيق البيانات داخل سلاسل، مثل معامل ".format()" لتنسيق البيانات بالطريقة التي تريدها، كالتالي: number = 12345.6789 print(f"The number is {number:.2f}.") والنتيجة هي: The number is 12,345.68. لاحظ تم تنسيق الرقم.
-
أنت على حق فذلك هو الشائع 1 تعني True و0 تعني Flase. لكن هنا يتم استخدام مفهوم آخر، ويعني أن 0 لم يحدث مشكلة بينما 1 تعني حدوث مشكلة ولم يتم العثور. ولتبسيط الأمر تخيل أن البرنامج يسألك "هل حدث مشكلة؟" وأنت تخبره لا لم يحدث مشكلة 0 لا يوجد مشكلة، حيث أنه أحيانًا ستجد في الدوال المدمجة في لغات البرمجة تقوم بإعادة -1 بدلاً من 0 في حال لم يتم العثور على أمر معين أي حدوث مشكلة. وفي حال حدوث مشكلة نخبره نعم 1 حدث مشكلة. لكن تلك الطريقة محيرة وأتفهم ذلك، لذا تجاهل ذلك واعتمد على الطريقة الشائعة وهي 1 تعني True و0 تعني Flase. ولمعلوماتك في C لا يوجد قيمة boolean لذلك نعتمد على الـ 0 و 1.
- 3 اجابة
-
- 1
-
بالطبع أرسل لي الـ address الخاص بـ AnyDesk على الخاص
- 8 اجابة
-
- 1
-
ما هي المهارات التي تعلمتها أو سوق العمل الذي تستهدفه هل تريد العمل في شركة أم منصات العمل الحر أم تريد العمل عن بُعد؟
-
أرجو منك استخدام متصفح آخر لم تقم بتسجيل الدخول منه وتفقد هل تتمكن من تفقد الدورات؟ وفي حال كانت المشكلة من المتصفح حاول إعادة تعيين التطبيق من خلال التوجه للتطبيقات من إعدادات الهاتف ثم البحث عن تطبيق جوجل كروم ثم عرض بيانات التخزين للتطبيق وحذف الـ Data أو البيانات. في حال استمرت المشكلة حاول إعادة تشغيل الراوتر الخاص بك ولكن اتركه لمدة 10 دقائق ثم أعد التشغيل مرة أخرى لتغيير الـ IP العام.
- 8 اجابة
-
- 1
-
من أفضل الطرق هو استخدام إضافة wappalyzer حيث تدعم أغلب الإطارات والمكتبات الشهيرة وأيضًا لغات البرمجة. أيضًا يوجد إضافة أخرى استخدمها باسم whatruns تخبرك بإصدارات اللغات والسيرفرات المستخدمة بالإضافة إلى مميزات wappalyzer لكن ليس بنفس قوة اكتشافات للمكتبات والإطارات المستخدمة، استخدم كلاهما وستحصل على معلومات جيدة.
- 4 اجابة
-
- 1
-
الأسئلة الإختبارية لا يتم الإجابة عليها بشكل مباشر، عليك رسم مخطط نشاط وهو مشابه لخرائط التدفق flow charts، لنظام ترقية ونقل الموظفين ويمكنك الرسم من خلال الأدوات التالية: Microsoft Visio Lucidchart Draw.io مع الأخذ في الإعتبار النقاط التالية: بداية العام: يقوم المدير بتفعيل نظام الترقية. يُخطر النظام الموظف بإدخال الأهداف. وضع الأهداف: يقوم الموظف بإدخال أهدافه للعام. يقوم المدير بإدخال التوقعات للموظف. مراجعة الأهداف: يقوم المدير بمراجعة الأهداف. إذا كانت الأهداف مرضية، يقوم المدير بتأكيدها. إذا كانت الأهداف غير مرضية، يقوم المدير بإبلاغ الموظف بتحديثها. إدخال الإنجازات: يقوم الموظف بإدخال إنجازاته في العام الحالي. كتابة المراجعة: يقوم المدير بكتابة مراجعة للموظف. تقييم الأداء: يدخل المدير نسبة تقييم الأداء (0-100%). التحقق من أهلية الترقية: إذا كان التقييم >= 80% ولم يتلق الموظف ترقية في السنوات الثلاث الماضية، فيمكنه التقدم للترقية. إذا كان التقييم = 100% وكان الموظف قد تلقى ترقية في السنوات الثلاث الماضية، فيمكنه التقدم للترقية. تقديم طلب الترقية (اختياري): إذا اختار الموظف التقدم للترقية، يقوم بإرسال طلب الترقية إلى المدير. التحقق من توصية الفصل: إذا كان التقييم < 50%، يوصي المدير بالفصل. قرار المدير العام: يوافق المدير العام أو يرفض طلب الترقية. إبلاغ الموظف بالقرار: يتم إبلاغ الموظف بالقرار. الممرات البديلة: انسحاب الموظف من الطلب، حيث يمكن للموظف سحب طلب الترقية في أي وقت قبل موافقة المدير العام. تستمر حلقة المراجعة حتى تصبح الأهداف مرضية.
-
أرجو طرح السؤال أسفل فيديو الدورة لمساعدتك بشكل أفضل. عليك أولاً تثبيت bootstrap من خلال npm. وعندم استخدام Laravel Mix، يتم تحزيم Bootstrap عن طريق ملفات SCSS لاحظ التالي: mix.js('resources/js/app.js', 'public/js') .sass('resources/sass/app.scss', 'public/css') .browserSync('myprojects.test'); لاحظ تحزيم ملف app.scss، والذي نستورد به ملفات bootstrap. وفي vite أنت بحاجة إلى تكوين الإعدادات المناسبة لتحزيم ملف app.scss، لذلك سنقوم بالتالي، نتوجه إلى ملف vite.config.js وكتابة التالي: import { defineConfig } from "vite"; import laravel from "laravel-vite-plugin"; import path from 'path'; export default defineConfig({ plugins: [ laravel({ input: ["resources/sass/app.scss", "resources/js/app.js"], refresh: true, }), ], resolve: { alias: { "~bootstrap": path.resolve(__dirname, "node_modules/bootstrap"), }, }, }); لاحظ أنني أضفت كائن resolve لكي نقوم بتعريف مسار مجلد bootstrap أي نقوم بتعريف ~bootstrap عندم نقوم بكتابتها في ملف app.scss بدلاً من كتابة المسار الكامل وقمنا بتعريف المسار في vite.config.js. واستردت أيضًا وحدة path في السطر import path from 'path' وهي خاصة بـ Node.js من أجل تعريف المسار بواسطة path.resolve. ونتأكد من استيراد بوتستراب في app.scss كالتالي: @import "~bootstrap/scss/bootstrap"; بعد ذلك نتوجه للملف الرئيسي لديك وهو layout.blade.php أو app.blade أيًا كان، ونقوم بتضمين ملفات التنسيقات وملفات جافاسكريبت في عنصر head كالتالي: @vite(['resources/sass/app.scss', 'resources/js/app.js']) ونحذف أي استيرادات خاصة ببوتستراب وpopper من خلال CDN في نفس الملف مثل الكود التالي: <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.min.js" integrity="sha384-BBtl+eGJRgqQAUMxJ7pMwbEyER4l1g+O15P+16Ep7Q9Q+zqX6gSbd85u4mG4QzX+" crossorigin="anonymous"></script> أيضًا حذف أي استيراد لملفات تنسيقات لا نريده في ذلك الملف مثل السطر التالي نقوم بحذفه: <link rel="stylesheet" href="../../css/app.css"> بعد ذلك نستورد ملفات جافاسكريبت الخاصة ببوتستراب، وأين نفعل ذلك؟ إما في ملف app.js في مجلد js أو ملف bootstrap.js في نفس المجلد. وسأقوم بالاستيراد في ملف bootstrap، حيث سأقوم باستيراد ملف bootstrap.bundle.js والذي يتضمن كود جافاسكريبت الخاص ببوتستراب وأيضًا مكتبة popper، بكتابة السطر التالي: import 'bootstrap/dist/js/bootstrap.bundle'; ولا تنسى تشغيل أمر npm run dev. بالطبع تستطيع، في ملف app.css في مجلد css لديك في المشروع، قم بإضافة التالي: @import "bootstrap/dist/css/bootstrap.min.css"; بعد ذلك يجب تحديد اسم المجلد والملف الذي تريد تحزيمه في vite لذلك سنقوم بتعديل المسار في vite.config.js ليصبح: import { defineConfig } from "vite"; import laravel from "laravel-vite-plugin"; export default defineConfig({ plugins: [ laravel({ input: ["resources/css/app.css", "resources/js/app.js"], refresh: true, }), ] }); ثم في الملف الرئيسي في مشروعك ضع: @vite(['resources/css/app.css', 'resources/js/app.js']) والفكرة من استخدام SASS بدلاً من CSS هو أنك تستطيع التعديل على تنسيقات بوتستراب بتنسيقات خاصة بك أي التعديل على كود المكتبة.
-
من الجيد البداية بموقع codewars، ثم الإنتقال لموقع Leetcode حيث يعتبر هو الأشهر فيما يتعلق بالمسائل البرمجية للتأهيل لمقابلات العمل. وستجد قائمة كاملة هنا: وأيضًا سيفيدك قراءة التالي:
- 4 اجابة
-
- 1
-
لا مشكلة في ذلك، طالما أنك قمتي بكتابته بنفسك ذلك هو المهم، والشهادة هي موثوقية ليس أكثر، لكن ليست ضرورية، فإن تعلمتي مجال معين بشكل ذاتي وتطورتي فيه واكتسبتي خبرة كافية تودي طرحها بكتاب، فلا مشكلة في ذلك. أي الفكرة من شراء الكتاب هو أن يقدم إفادة للقاريء وليس مجرد حبر على ورق، سواء نقل خبرات أو شرح تعلم أمرًا ما بشكل مفصل وسهل، أو تجميع لخبرات أشخاص آخرين في كتاب أو معلومات في مكانِ واحد.
- 9 اجابة
-
- 1
-
تفقد إصدار بايثون الذي تستخدمه، ثم استخدام إصدار Pillow متوافق معه وستجد قائمة بالتوافقية هنا: https://pillow.readthedocs.io/en/latest/installation.html وتستطيع تثبيت إصدار معين من خلال الأمر التالي أو تعديل ملف requirements.txt: pip install pillow==8.0.0 أو يمكنك خفض إصدار بايثون downgrade في الاستضافة. وإن استمرت المشكلة حاول حل الأمر من خلال التالي: pip install --upgrade pip setuptools wheel ثم حاول التثبيت مجددًا. في حال استمرت المشكلة حاول تنفيذ التالي: sudo apt-get install python3-dev python3-pip وإن استمرت حاول التالي: pip install --only-binary Pillow Pillow
-
الحزمة هي package java.awt.geom وتحتوي على class Point2D، وتلك هي الفئة الأساسية لجميع الكائنات التي تخزن إحداثيات ثنائية الأبعاد. وتوفر الفئة مجموعة من الأساليب لمعالجة نقاط ثنائية الأبعاد، مثل حساب المسافة بين نقطتين وتحديد ما إذا كانت النقطة داخل شكل هندسي. باستطاعتك أيضًا استخدام الفئة javafx.geometry.Point2D لتمثيل نقاط ثنائية الأبعاد، وتلك الفئة متشابهة مع الفئة java.awt.geom.Point2D، ولكنها توفر بعض الميزات الإضافية، مثل دعم تنسيقات النقاط المعقدة. وإليك مثال على استعمال الفئة java.awt.geom.Point2D: import java.awt.geom.Point2D; public class Point2DExample { public static void main(String[] args) { Point2D point1 = new Point2D.Double(10, 20); Point2D point2 = new Point2D.Double(30, 40); System.out.println("Distance between points: " + point1.distance(point2)); if (point1.contains(point2)) { System.out.println("Point 2 is inside point 1"); } else { System.out.println("Point 2 is not inside point 1"); } } }
-
أرجو التعليق أسفل فيديو الدورة لمساعدتك بشكل أفضل. ويجب تفعيل مترجم بايثون في منفذ الأوامر وذلك يعرف باسم REPL لأي لغة برمجة، من أجل التمكن من ترجمة الأكواد التي ستكتبيها بعد ذلك في منفذ الأوامر (ألشاشة السوداء)، فحاليًا دالة input() لا معنى لها أو حتى أي كود بايثون، ولتفعيل مترجم بايثون نكتب التالي في منفذ الأوامر: python أو py ثم بعد ذلك نكتب أكواد بايثون التي نريدها.
-
من أجل تقليل التكلفة، يمكنك تعلم لغة جافاسكريبت، واستخدام الإطارات المختلفة الخاصة بها، فالسطح المكتب يوجد إطار electrone.js الذي يمكنك من تطوير تطبيقات لسطح المكتب. وللهواتف يوجد إطار React Native الذي يمكنك من إنشاء تطبيق لمنصة أندرويد وiOS. وبالطبع للواجهة الخلفية Back-End والتعامل مع قواعد البيانات ستستخدم Node.js. أيضًا إذا أردت إنشاء موقع على الويب تستطيع ذلك من خلال React.js. وهناك خيار آخر وهو تعلم لغة C#، ثم استخدام إطار .NET واستخدامه لإنشاء برنامج سطح المكتب وتطبيقات الهاتف.
-
لا مشكلة في ذلك، تستطيع التقدم للإختبار من خلال إنهاء 4 مسارات فقط في الدورة، لكن المهم عند تعلم لغة برمجية هي الأساسيات وليس الإطارات والمكتبات، لذا لا أنصحك بتجاوز التطبيقات على بايثون من أجل توظيف ما تعلمته أو تعلم المزيد عن بايثون. الشهادة لن تفيدك بشيء سوى دليل على أنك أتممت الدورة بالفعل وليس مجرد مشاهدة فقط واستخدامها في بناء حسابك على مواقع التوظيف مثل LinkedIn، لكن عليك أن تسأل نفسك هل حققت استفادة بالفعل واستوعبت ما تم شرحه؟
- 2 اجابة
-
- 1
-
عليك إنشاء بيئة إفتراضية من أجل أن تتمكن من تثبيت الحزم التي تريدها، من خلال لوحة التحكم cPanel اختر Setup Python App ثم اتبع الخطوات اللازمة والمشروحة هنا: https://www.namecheap.com/support/knowledgebase/article.aspx/10048/2182/how-to-work-with-python-app/ بعد ذلك ستجد أمر عليك نسخه ثم تنفيذه في التيرمنال من أجل تفعيل البيئة الإفتراضية وتتمكن من تثبيت الحزم: ابحث على اليوتيوب عن Deploy Django Application In CPANEL
-
تلك ليست الطريقة الصحيحة، ما نريده هو الترتيب من الأصغر للأكبر، ابحث عن ذلك لكي تستفيد، ابحث على اليوتيوب عن "شرح ترتيب المصفوفة جافاسكريبت"
- 3 اجابة
-
- 1
-
ما قمت به صحيح، وما أنت بحاجة إليه الآن من اجل ترتيب المصفوفة، هو ترتيبها من الأصغر للأكبر، سأقدم لك طرف الخيط، ما هي الدالة المسؤولة عن الترتيب بالنسبة للمصفوفات في جافاسكريبت؟
- 3 اجابة
-
- 1
-
أرجو التعليق أسفل فيديو الدورة لمساعدتك بشكل أفضل. لاحظ أن لديك خطأ يخبرك، بأن console.loge ليست دالة وذلك صحيح، حيث أنك تكتبت loge بدلاً من log لذلك عليك تعديل ذلك في الكود لديك ليصبح: console.log('table one created')