-
المساهمات
19865 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
474
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
من تاريخ حصولك على الشهادة تبدأ مدة الـ 6 أشهر، فذلك مذكور في وصف الدورة. فالأمر بحاجة إلى وقت وصبر، بعد الحصول على الشهادة ستحتاج إلى العمل على تحسين مهاراتك والتعمق فيما تعلمته وتحسين معرض أعمالك. يمكنك من الآن تفقد المهارات اللازمة للوظيفة التي تريدها ثم العمل على تعلمها شيئًا فشيئًا.
-
في الشهور الأولى فذلك جيد، راقب الوضع فمن المفترض مع التحسين وإضافة محتوى جيد تزداد تلك الأرقام وإلا هناك أمر غير سليم بالموقع.
- 3 اجابة
-
- 1
-
-
أغلب أصحاب الأعمال يريدون شخص واحد لإنجاز العمل بشكل كامل، والبعض منهم لا يعلم أنه من الأفضل تقسيم المهام بين شخصين لإخراج العمل بشكل أفضل وأيضًا اختيار شخص متخصص، فالواجهة الأمامية الآن أصبحت معقدة عما سبق. لذا لا أنصحك بالقيام بذلك، الطريقة الصحيحة هي الاستعانة بشكل آخر لإتمام جزء الواجهة الأمامية مثلاً، وذكر ذلك في تفاصيل العرض أي معك فريق عمل لإنجاز المشروع على أكمل وجه وذكر السبب كما أوضحت لإخراج العمل بجودة أفضل. لكن عملية الـ Deployment هي من مهامك أنت كمطور واجهة خلفية.
-
هناك فارق كبير بين أنك نسيت المعلومة مثل طريقة كتابة الـ syntax أو اسم دالة معينة مثلاً، وبين أنك لا تستطيع التنفيذ والتطبيق العملي وغير متذكر للخواص والدوال وإمكانيات اللغة البرمجية. فالجميع ينسى لا مشكلة في ذلك، الفكرة هي أنك مستوعب وقادر على التنفيذ فور البحث عما تريده حيث أنك متذكر أن هناك أمر معين في اللغة أو الإطار يقوم بذلك وهكذا. ومع الوقت لن تحتاج للبحث عنها بسبب تكرار استخدامها، والبحث عن الأمور التي قلما تستخدمها. وعليك باستيعاب أنه يوجد ما يسمى بمنحنى النسيان وهو مفهوم يستخدم في علم النفس لوصف طريقة تغير الذاكرة مع مرور الوقت، ويعني كيفية تلاشي الذكريات مع مرور الزمن وتقليل قدرة الفرد على استعادة المعلومات التي تم تخزينها في الذاكرة. في بداية تخزين المعلومات، يكون الاسترجاع سهلًا ودقيقًا، ولكن مع مرور الوقت، يتلاشى الاسترجاع ويصبح أصعب، ويشير منحنى النسيان إلى أن هناك فترة تتلاشى خلالها المعلومات بشكل سريع في البداية، ولكن مع مرور الوقت، يصبح معدل النسيان أقل وأقل، ويتم الحفاظ على الجوهر الأساسي للمعلومات المهمة. فبعد مرور يوم واحد من التعلم، هناك انخفاض في الاسترجاع الدقيق للمعلومات، ويعتمد مدى النسيان على عوامل مثل طبيعة المعلومات ومدى تكرارها وأهميتها بالنسبة للشخص تتراوح نسبة النسيان بعد مرور يوم واحد بين 20% إلى 40% من المعلومات. وبعد 3 أيام من 50% إلى 70% وبعد مرور أسبوع ترتفع النسبة إلى 70% وحتى 90%، وذلك في حال لم تقم بإعادة تكرار ما تعلمته وذلك من خلال تنفيذ مشاريع للتطبيق على ما تعلمته وتثبيت المعلومات واستخدام ما سبق وتعلم أمور جديدة. ستجد هنا تفصيل بخصوص الحفظ والاستيعاب وطريقة دراسة الدورة بشكل صحيح:
-
تلك الاستضافة هي للمشاريع الصغيرة، وفي حال استخدام لبوابة دفع، عليك استخدام استضافة مناسبة وأرشح لك render أو fly.io وبهما باقة للاستخدام المجاني. ستجد هنا شرح لاستضافة render:
-
طالما أنك تتجه لتخصص Back-End فستحتاج إلى التركيز على SQL بشكل كبير ففي مقابلات العمل لن يتم سؤالك عن الإطار أو المكتبة التي تتعامل مع قاعدة البيانات فالإطار أو الـ ORM لن يفيدك، بل SQL، أيضًا التعمق في قواعد البيانات وكيف تعمل. فأنت مسؤول عن كتابة استعلامات لتحسين الأداء وزيادة الكفاءة وبدون فهم جيد للغة SQL وقواعد البيانات لن تتمكن من ذلك. أيضًا ستحتاج إلى الإلمام ببروتوكول HTTP وكيف يتم معالجة الطلبات من خلال الشبكات أي آلية عمل الإنترنت، وفهم الـ DNS. مع الإلمام بأساسيات نظام لينكس لأن الخوادم التي ستعمل عليها هي على ذلك النظام، لكن تستطيع إرجاء ذلك فيما بعد مثلاً.
- 3 اجابة
-
- 1
-
-
ستكون باسمك أنت، لكن يجب أن يكون اسم الحساب هنا باسمك أنت حيث سيتم التحقق من هويتك من خلال البطاقة الشخصية. بعد الإنتهاء من الدورة تستطيع التقدم للإختبار وليس قبل ذلك.
-
ما المطلوب تسجيله بالضبط؟ عامًة ستحتاج إلى تعلم أساسيات الويب وهي HTML, CSS, JS وستتمكن من إنشاء موقع لفعل ذلك. لكن لو تريد أداة بسيطة، لتجميع بيانات من الطلاب فلديك Goole forms، ومنها تستطيع إنشاء نموذج به حقول لتجميع البيانات البيانات من الطلاب وسيتم إرسالها إليها وتستطيع التعامل معها كما تريد.
-
بالطبع من خلال وكيل المستخدم User Agent، يتوفر في PHP المتغير $_SERVER['HTTP_USER_AGENT'] للحصول على سلسلة وكيل المستخدم للجهاز. وتحتوي السلسلة على معلومات حول المتصفح ونظام التشغيل ونوع الجهاز، ثم عليك تحليلها لاستخراج المعلومات التي تحتاجها، فمثلاً نستخدم الدالة get_browser() للحصول على مزيد من المعلومات حول المتصفح. <?php echo $_SERVER['HTTP_USER_AGENT'] . "\n\n"; $browser = get_browser(null, true); print_r($browser); ?> وستحصل على نتيجة مشابهة للتالي: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3 Array ( [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$ [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9* [parent] => Firefox 0.9 [platform] => WinXP [browser] => Firefox [version] => 0.9 [majorver] => 0 [minorver] => 9 [cssversion] => 2 [frames] => 1 [iframes] => 1 [tables] => 1 [cookies] => 1 [backgroundsounds] => [vbscript] => [javascript] => 1 [javaapplets] => 1 [activexcontrols] => [cdf] => [aol] => [beta] => 1 [win16] => [crawler] => [stripper] => [wap] => [netclr] => ) ستجد تفصيل هنا: https://www.php.net/manual/en/function.get-browser.php وللعلم لديك مكتبة ua-parser PHP Library تقوم بنفس الأمر بشكل أفضل. وبخصوص تحديد بلد الزائر، فستحتاج إلى الحصول على الـ IP الخاص بالزائر ثم فحصه من خلال قاعدة بيانات GeoLite2 Free Geolocation Data أو تحديد عناوين ip في ملف .htaccess ثم حظرها والأداة التالية IP2Location Firewall IP list tool توفر عناوين IP للدول وتحميل ملف .htaccess لكن هناك طريقة أسهل في لارافل، وهي من خلال مكتبة GeoIP for Laravel.
-
ما تقوم به هو تحميل بيانات من قاعدة البيانات إلى ملف CSV، ولكنك لا تقوم بتحميل الصور نفسها إلى ملف Excel. ولفعل ذلك في ملف Excel، فعليك استخدام ملف Excel_BINARY ( بصيغة xls أو xlsx ) بدلاً من ملف CSV، وستحتاج إلى استخدام مكتبة مثل PHPExcel أو Spreadsheet_Excel_Writer لكتابة الصور إلى ملف Excel أو المكتبات السابق ذكرها.
- 17 اجابة
-
- 1
-
-
لا وجود لتلك المشكلة، قمت بتصفح الموقع على متصفحين مختلفين وعلى الهاتف أيضًا ولم تظهر، عليك حذف الملفات المؤقتة للموقع من المتصفح لديك ثم قم بالتجربة مرة أخرى، اضغط على العلامة التي بجانب اسم الموقع في الهاتف ثم اختر cookies and data ثم قم بالحذف وأعد التحديث. إن استمرت احذف الكاش لتطبيق المتصفح نفسه، أو قم بتجربة متصفح آخر..
-
لا تستطيع عرض الصور مباشرة من مسار على الخادم في ملفات Excel كما تفعل في صفحات الويب، ستحتاج إلى استخدام مكتبة PHP خاصة بالتعامل مع ملفات Excel مثل PHPExcel أو PHPSpreadsheet.
- 17 اجابة
-
- 1
-
-
عليك توضيح كامل الكود الذي تستخدمه حاليًا لتفقد موضع المشكلة.
- 17 اجابة
-
- 1
-
-
إن كان المقصود جدول في صفحة ويب، فمن خلال عنصر img كالتالي: echo '<td><img src="' . $row['file'] . '" width="100" height="100"></td>'; أيضًا بالإمكان وضع الصورة داخل عنصر a لكي تصبح قابلة للنقر: echo '<td><a href="' . $row['file'] . '"><img src="' . $row['file'] . '" width="100" height="100"></a></td>'; وبإمكانك توفير رابط لتحميلها من خلال سمة download: echo "<td><a href='" . $row['file'] . "' download>تحميل الصورة</a></td>";
- 17 اجابة
-
- 1
-
-
لا علاقة للأمر بالفهرسة و100 ألف صفحة هو رقم ضخم جدًا وبالتالي توليده في فترة قصيرة يعني أن المحتوى به ضعيف، المهم هو جودة المحتوى ومدى جودة تجربة المستخدم وأيضًا النية intention من وراء عمليات البحث، فتفقد الكلمات التي انخفض بها معدل الظهور أو الزيارات وقم بالبحث عنها وتفقد ما النتائج التي تظهر لمعرفة السبب. وربما قمت بتغيير على الموقع مؤخرًا أدى إلى ذلك عليك التراجع عنه والإنتظار فترة لتعود النتائج، لكن عليك تحسين الموقع والعمل عليه خلال تلك الفترة. أيضًا معدل الظهور لا فائدة منه، المهم هي النقرات CTR، عليك تحسين العناوين والمحتوى لزيادة تلك النسبة، وأيضًا تحسين الـ Bounce Rate، وتلك أمور تستطيع معرفته من خلال google analytics و google console.
- 3 اجابة
-
- 1
-
-
بجانب تثبيت إضافة لتنسيق الكود، فإضافة Highlight Matching Tag ستسهل مهمة تحديد عنصر البداية والإغلاق بسهولة، وهي تدعم HTML و JSX وأيضًا XML, Vue, Angular, PHP. أيضًا تحديد العنصر الأب في حال الوقوف على العناصر الأبناء:
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
لا أنصحك برفع مشاريعك على GitHub pages بسبب المشاكل التي تحدث بسبب المسارات، حيث سيتعين عليك تعديل المسارات في مشروعك، فستحتاج إلى تعديل المسارات لتبدأ بـ /. أو /.. حسب المسار لذا من الأسهل لك رفع مشاريع المواقع الـ Static على Netlify، حيث ستقوم برفع المشروع من خلال رفع المجلد أو من خلال المستودع وانتهى الأمر.
- 5 اجابة
-
- 1
-
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل. أسفل صفحة الدرس مباشرًة ستجد صندوق تعليقات لو قمت بالنزول للأسفل أرجو وضع سؤالك به.
-
كلاهما دالتين لاختيار الميزات feature selection في التعلم الآلي، لكنهما يختلفان في نوع البيانات التي تعمل عليها: chi2 (chi-squared) هي لاختبار استقلالية المتغيرات الفئوية categorical variables. مثل هل هناك علاقة بين لون السيارة (أحمر، أزرق، أخضر) ونوع الوقود (بنزين، ديزل)؟ بينما f_classif (ANOVA F-value) تستخدم لاختبار استقلالية متغير مستمر continuous variable ومتغير فئوي. وكمثال، هل هناك علاقة بين عمر السيارة (متغير مستمر) ونوع الوقود (بنزين، ديزل)؟ أيضًا بخصوص الافتراضات الإحصائية، حيث chi2 تفترض أن البيانات عشوائية وأن التوزيع الطبيعي غير مطلوب، في حين f_classif تفترض أن البيانات عشوائية وأن التوزيع الطبيعي للمتغير المستمر في كل فئة من فئات المتغير الفئوي. ومن حيث مخرجات الدالة، فكلاهما يعيدان قيمة إحصائية (chi-squared statistic أو F-statistic) وقيمة p-value لكل ميزة. بالتالي استخدم chi2 في حال لديك categorical variables فقط، وتريد اختبار استقلالية المتغيرات الفئوية. واستخدم f_classif عندما يكون لديك continuous variable ومتغير فئوي categorical variable، وتريد اختبار استقلالية المتغير المستمر والمتغير الفئوي، وتتحقق افتراضات ANOVA (التوزيع الطبيعي، تجانس التباين). وهناك تقنيات أخرى لاختيار الميزات مثل mutual information و feature importance.
- 2 اجابة
-
- 1
-
-
عليك تثبيت إضافة Flutter في vscode فقط ابحث في الإضافات عن Flutter. ثم تثبيت Java 11 SDK، وإضافة ذلك لمتغيرات البيئة Environments variables في قسم system variables: بعد الضغط على new أضف JAVA_HOME في الخانة الأولى و C:\Program Files\Java\jdk-11.0.12 في الخانة الثانية ثم اضغط على ok للحفظ. ثم Environments variables أيضًا في Path اضغط عليها مرتين ثم اختر new وأضف %JAVA_HOME%\bin بعد ذلك قم بتحميل Android SDK: https://developer.android.com/studio ثم عليك إنشاء المسار التالي أي إنشاء المجلدات بنفس المسار والأسماء: C:\Android\android-sdk\cmdline-tools\latest\ وقم بفك ضغط الملف الذي قمت بتحميله في ذلك المسار أي في مجلد latest. ثم أنشيء متغيرات البيئة الخاصة بذلك في قسم System variables كما شرحت سابقًا عليك إضافة التالي في الخانة الأولى والثانية أي ستقوم بعمل new مرتين: ANDROID_HOME C:\Android\android-sdk و ANDROID_SDK_ROOT C:\Android\android-sdk وفي قسم PATH أضف التالي: %ANDROID_HOME%\cmdline-tools\latest\bin ثم في التيرمنال قم بتنفيذ: sdkmanager --update ثم الأوامر التالية أيضًا: sdkmanager emulator platform-tools sdkmanager "system-images;android-29;google_apis;x86" sdkmanager "platforms;android-29" sdkmanager "build-tools;29.0.2" ثم قم بتثبيت Flutter SDK: https://docs.flutter.dev/get-started/install/windows ثم أنشيء مشروع وليكن باسم test من خلال الأوامر التالية وافتحه في vscode من خلال أمر . code flutter create test cd test code . ثم في vscode اضغط على Ctrl+Shift+P واختر create Android emulator ولتشغيل المشروع اضغط على F5
-
يتم تسليم ملفات التصميم إلى المبرمج ويقوم هو بتصفحها على المنصة الخاصة بتلك الملفات سواء Figma أو Adobe XD، ويستطيع من خلالها معرفة الألوان والمسافات واستخراج الـ Assests أيضًا مثل الصور بالجودة الكاملة. ويتم توضيح التصميم من خلال الـ User flows أي رحلة المستخدم في الموقع أو التطبيق بدايًة من الصفحة الرئيسية أو صفحة تسجيل الدخول. بالطبع عليه هو معرفة كيفية التعامل مع تلك الملفات فهو مطور واجهة أمامية بطبيعة الحال. لتستوعب الأمر بشكل عملي ابحث على اليوتيوب عن design handover to developer. ومن الأفضل التنسيق مع المطور من البداية أي إجراء إجتماع بين المصمم والمطور لمناقشة الأمور من البداية وليس في النهاية.
-
الأخطاء التي تظهر لك صحيحة، فإضافة Pylance تقوم بفحص الكود بحثًا عن أخطاء، فتخبرك بخطأ No overloads والذي يعني أن هناك وسائط ناقصة لم يتم تمريرها للدالة أو تمرير وسائط لكن من نوع مختلف لا تتوقعه. والتحميل الزائد Overloading في بعض لغات البرمجة، المقصود به أنه يمكن أن يكون للوظائف إصدارات متعددة (تحميل زائد) تقبل أنواع بيانات مختلفة، لكن لا تدعم Python التحميل الزائد بالطريقة نفسها. حيث أنك قمت بتمرير دالة العرض edit_profile بدون استدعاء as_view() لإخبار جانغو بمعاملتها كدالة عرض، هنا: path('profile/', edit_profile, name='profile'), أيضًا تخبرك أن الخاصية project غير موجودة في الصنف Model، وذلك صحيح فهو باسم Project في ملف models أي بحرف P كبير.
- 4 اجابة
-
- 1
-
