-
المساهمات
8752 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
117
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو محمد_عاطف
-
هل تريد تكبير النص أى الخط أم ماذا؟
-
لقد قمت بإرفاق الملف لك بعد التعديل المطلوب . بعد تعديلهم لا يجب مسح الملفات ورفعها من جديد بل يجب رفع التعديلات التي تمت . بعد تعديل الملف يمكنك تنفيذ الأمر التالي لرفع التعديلات على git : git add . git commit -m "add bootstrap styles" git push ولكن إنتبه أن الأمر السابق سيتم رفع أى ملف تم تعديله . لهذا تأكد فقط من تعديل الثلاث ملفات index.html و gallery.html و CSS\style.css . gallery.html
-
أولا لو أردت أن تستخدم bootstrap فسيتوجب عليك حذف أغلب التنسيقات وتعتمد على bootstrap أفضل. ولكن لو أردت أن تستخدم bootstrap مع التنسيقات لديك فستجد صعوبة في هذا الأمر قليلا. فأولا يجب عليك إستدعاء bootstrap ولكن يجب إستدعاءه قبل تنسيقات style.css وذلك حتى تكون تنسيقاتك الأساسية لها الأولوية . ولقد قمت بإرفاق الملف لك بعد تعديله بإستخدام bootstrap وجعله متجاوب . وبما أنك تستخدم git فستظهر لك التعديلات التي قمت بإجرائها لك . إذا أردت أى شئ أخر أو يوجد مشكلة في التجاوبية يرجى إخباري. personalWebsite.zip
-
هل قمت بتثبيت إضافة "Prettier - Code formatter" ؟ يرجى التأكد من تثبيتها وهي تلك الإضافة : https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode من المفترض عند إستخدامها أن يتم تنسيقها بالشكل الصحيح حيث يتم وضع الأبناء بداخل الأباء وتنسيقها بشكل صحيح وواضح ولكن بالفعل لو كان السطر كبيرا سيتم تقسيمه إلى عدة أسطر وذلك منعا لجعل السطر طويل جدا . أيضا لاحظت أنه لديك إضافة Indent Rainbow وتلك الإضافة ممتازة حيث تقوم بتلوين كل عنصر بلون ما في الإزاحات : لاحظ كيف لكل عنصر اللون الخاص به والذي يوضح بدايته ونهايبته والعناصر الأبناء له .
-
وعليكم السلام ورحمة الله وبركاته. نعم بالتأكيد هذا الحاسوب ممتاز جدا للبرمجة ومواصفته جيدة حتى لو العمل على الذكاء الاصطناعي وهو يعتبر من الأجهزة القوية في هذا المجال. فهنا يوجد المعالج (M3 Pro) وهذا المعالج من أقوى معالجات آبل وسيمنحك أداء سريع جدا في كل مهام البرمجة مثل تشغيل الأكواد (compiling) والتعامل مع بيئات التطوير (IDEs) الكبيرة والتي تتطلب ذاكرة ومعالج قوي وأيضا يمكنك تشغيل عدة تطبيقات في نفس الوقت بسلاسة. والذاكرة العشوائية(Ram) هنا بحجم 18 جيجابايت ويعتبر ممتاز للبرمجة وسيمكنك من تشغيل المحاكيات (emulators) وقواعد البيانات ونماذج تعلم الآلة والعديد من الأدوات الأخرى في نفس الوقت دون أن تشعر بأي بطء في الجهاز. وهنا أيضا وحدة التخزين وهي من نوع SSD وتضمن سرعة فائقة في فتح البرامج والمشاريع وبحجم 512 جيجابايت يعتبر جيد في بداية تعلمك ولكن بعد ذلك قد تحتاج إلى إدارة المساحة أو استخدام وحدات تخزين خارجية إذا كانت مشاريعك أو البيانات التي تتعامل معها كبيرة الحجم. تلخيصا هذا الجهاز قادر على التعامل مع معظم مهام الذكاء الاصطناعي بكفاءة عالية وأيضا في البرمجة بشكل عام. ولكن أنصحك بمراجعة حالة الجهاز وأيضا التأكد من السعر بالنسبة للسوق لديك هل هو مناسب أم سعره مرتفع.
- 2 اجابة
-
- 1
-
-
هل تريد المراجعة أم التطبيق ؟ الأفضل إذا كنت متذكر الأساسيات والدروس السابقة التي درستها فأنصحك بالتطبيق العملي وهذا الأمر الذي سيقوم بتثبيت المعلومة لديك وإعطاءك المزيد من الخبرة . وإليك المواقع التي تقدم لك إختبارات : أما إذا أردت المراجعة فيوجد لديك موسوعة حسوب كمرجع لك، وأيضًا مقالات البرمجة التي بالأكاديمية.
-
هل تقصد عمل format أى تنسيق للكود بأكمله أم ماذا ؟ إذا كان كذلك فالزر هو ALT + SHIFT + F ويمكنك إختيارها من القائمة هنا من خلال إما تحديد العناصر التي تريد تنسيقها أو الصفحة بأكلمها من خلال الضغط بالزر الأيمن للفأرة بداخل الملف :
-
هل تقصد محاذاة العناصر ؟ أى حذف المسافات لتعين ماكن بدأ العناصر ؟ إذا كان كذلك فالزر هو SHIFT + Tab وهذا الأمر سيقوم بحذف المسافات التي قبل العنصر أى يحذف إزاحة كاملة . أما زر ال Tab فإنه يضيف إزاحة زائدة.
-
يرجى إرفاق ملف الكود وليس نسخه هكذا ليتم الحفاظ على هيكل الكود ومساعدتك بشكل أفضل. إذا كان هذا السؤال خاص بإحدى الدورات يرجى وضع سؤالك أسفل الدرس مباشرة لنستطيع مساعدتك بشكل أفضل.
-
وعليكم السلام ورحمة الله وبركاته. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
-
وعليكم السلام ورحمة الله وبركاته. إن ال (Test-Driven Development - TDD) هو أسلوب في تطوير البرمجيات يجعلك تكتب الاختبار (Test Case) الخاص بوظيفة معينة قبل أن تكتب الكود الفعلي لتلك الوظيفة فالفكرة الأساسية هي أن الاختبار هو الذي يقود عملية كتابة الكود وليس العكس. وهنا ثلاث خطوات للدورة الواحدة في ال TDD : أولا كتابة اختبار فاشل :حيث في تلك المرحلة تقوم بكتابة اختبار آلي (Automated Test) لجزء صغير من الوظيفة التي تريد إضافتها. ولأنك لم تكتب الكود الفعلي بعد فمن الطبيعي أن هذا الاختبار سيفشل عند تشغيله وهو أمر متوقع ومطلوب وهذا يضمن أن الاختبار نفسه يعمل بشكل صحيح. ثانيا كتابة الكود لتخطي الاختبار بنجاح: فهنا نكتب أقل كمية ممكنة من الكود التي تجعل الاختبار الذي قمنا بكتابته ينجح وفي هذه المرحلة لا نهتم بجودة الكود أو نظافته أو كفاءته بل الهدف الوحيد هو جعل الاختبار ينجح. ثالثا تحسين الكود : بعد أن ينجح الاختبار وأصبحت تعرف أن الوظيفة تعمل كما هو متوقع تبدأ الآن في تحسين الكود وتنظيفه. ثم بعد ذلك تكرر هذه الدورة لكل وظيفة صغيرة جديدة تريد إضافتها في برنامجك.
- 3 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. إن البيانات الضخمة (Big Data) هو مصطلح يصف الكميات الهائلة والمعقدة من البيانات التي لا يمكن معالجتها أو تحليلها باستخدام الطرق التقليدية العادية. وتتميز هذه البيانات بثلاث خصائص رئيسية تعرف بـ 3Vs: الحجم (Volume): وهنا كمية البيانات تكون كبيرة جدا . السرعة (Velocity): يتم إنتاج البيانات بسرعة عالية جدا وبشكل مستمر مثل بيانات وسائل التواصل الاجتماعي أو أجهزة الاستشعار وغيرها. التنوع (Variety): تأتي البيانات بأشكال مختلفة منها البيانات المنظمة مثل جداول قواعد البيانات وغير المنظمة مثل النصوص والصور ومقاطع الفيديو. أما إدارة البيانات الضخمة (Big Data Management) فهي عملية جمع وتخزين ومعالجة وتحليل كميات كبيرة من البيانات لضمان جودتها وأمانها وإتاحتها لاتخاذ قرارات أفضل وتتضمن هذه العملية عدة خطوات وتقنيات منها: تكامل البيانات (Data Integration) حيث يتم جمع البيانات من مصادر متعددة. تخزين البيانات (Data Storage) وهنا يتم إستخدام أنظمة تخزين تستطيع على التعامل مع الحجم الهائل والكبير للبيانات مثل أنظمة الملفات الموزعة . معالجة البيانات (Data Processing) عن طريق استخدام أدوات قوية لمعالجة هذه البيانات بسرعة وهنا يأتي دور PySpark. حوكمة البيانات (Data Governance) وهي وضع سياسات ومعايير لضمان جودة البيانات وأمانها والامتثال للقوانين. وPySpark هو واجهة برمجية (API) بلغة بايثون لمحرك Apache Spark وإطار عمل قوي ومفتوح المصدر لمعالجة البيانات الضخمة بشكل موزع وعلى نطاق واسع. فببساطة PySpark يسمح للمطورين وعلماء البيانات باستخدام لغة بايثون لكتابة أكواد يمكنها تحليل ومعالجة كميات هائلة من البيانات بسرعة فائقة عن طريق توزيع المهام على مجموعة من الأجهزة . وأهم استخداماته: تحليل البيانات الضخمة. تعلم الآلة (Machine Learning) على مجموعات بيانات كبيرة. معالجة البيانات (Streaming Data) في الوقت الفعلي. أما مستودع البيانات (Data Warehouse) هو نظام مركزي لتخزين كميات كبيرة من البيانات من مصادر متنوعة داخل المؤسسة والهدف الأساسي منه ليس إدارة العمليات اليومية بل دعم عمليات التحليل الذكي للأعمال (Business Intelligence - BI) واتخاذ القرارات الاستراتيجية ويتم تنظيم البيانات فيه بشكل يسهل عمل الاستعلامات التحليلية وإنشاء التقارير. وETL هي عملية أساسية لبناء مستودع البيانات وتتكون من ثلاث مراحل: الاستخراج (Extract): سحب البيانات من مصادر مختلفة. التحويل (Transform): تنظيف البيانات وتنسيقها وتحويلها لتكون متوافقة مع هيكل مستودع البيانات وقد تتضمن هذه المرحلة دمج البيانات وإزالة التكرار وتغيير التنسيقات. التحميل (Load): تحميل البيانات المحولة إلى مستودع البيانات (DWH) لتكون جاهزة للتحليل. أما DI (Data Integration) تكامل البيانات فهو مصطلح أشمل من ETL. وإنه يشير إلى جميع العمليات والتقنيات المستخدمة لدمج البيانات من مصادر مختلفة لتقديم رؤية موحدة وشاملة ويمكن أن يتم تكامل البيانات بعدة طرق، ويعتبر ETL أحد أشهر هذه الطرق. و أخيرا PL/SQL (Procedural Language/Structured Query Language) هي لغة برمجة إجرائية تم تطويرها بواسطة شركة أوراكل كإمتداد للغة SQL وبينما تستخدم SQL للتعامل مع البيانات تضيف PL/SQL إمكانيات برمجية مثل: المتغيرات (Variables). الحلقات التكرارية (Loops). الجمل الشرطية (IF-THEN-ELSE). معالجة الأخطاء (Exception Handling).
- 3 اجابة
-
- 1
-
-
المشكلة لديك هنا في هذا الجزء : حيث أنك تستخدم الدالة scrollBy وهذه الدالة تقوم بالتمرير بمقدار ما تريده وهنا أنت تقوم بكتابة 0 و 0 لهذا لا يتم التمرير مطلقا. أما ما تريد تنفيذه هو التمرير إلى أعلى أى الدالة scrollTo وليس scrollBy هكذا : window.scrollTo({ top: 0, left: 0, behavior: 'smooth' })
-
إن هذا الأمر بالفعل صعب وليس جميع الأشخاص لديهم تلك الموهبة وهي التصميم وتخيل وبناء التصميمات من البداية فهي موهبة مثل الرسم وغيرها ويجب تنميتها لتكون جيد في هذا الأمر. ويجب عليك معرفة أن وظيفتك ليس إنشاء تلك التصميمات بل وظيفتك هي تحويل التصميم إلى كود front end فهذه هي وظيفة ال front end أما التصميم فهو وظيفة المصمم designer و ال UX UI . لهذا إذا كنت تريد إنشاء التصاميم فتستحتاج إلى تعلم ال UX UI والأدوات الخاصة به ويمكنك قراءة التالي لمزيد من التفاصيل :
-
أصبحت الآن فيسبوك أكثر صرامة في التطبيقات الخاصة بها حاليا وليس كما كان سابقا كان لأى شخص يستطيع إنشاء تطبيق والتعامل مع المستخدمين . ولكن الآن أصبح الأمر إجباريا أن تحصل على حساب أعمال لتستطيع إنشاء نشاطك ومن خلاله تستطيع إنشاء التطبيق الذي يمكنك من بناء الكود الذي تريده . تستطيع البحث عن تطبيق تم إنشاءه قديما قبل تلك الشروط الصارمة وسيعمل معك إذا كان في وضع النشر سابقا . أما حاليا فلن تستطيع تجاوز هذا الأمر دون أن يكون معك حساب أعمال .
-
إذا نظرت إلى ال console ستجد أنه يتم طباعة وتنفيذ ال API الخاص بالتحقق مرتين وهذا هو سبب المشكلة الرئيسية . ففي أول مرة يتم تنفيذ المكون يتم إرسال التحقق مما يسبب نجاح العملية ولكن مع الإرسال الثاني يظهر الخطأ لأن بالفعل المستخدم تم التحقق من حسابه وتم حذف رمز ال token من قاعدة البيانات. وهذه المشكلة بسبب انك تعمل في وضع React الصارم (React.StrictMode) أثناء التطوير. حيث في وضع التطوير (Development Mode) يقوم React.StrictMode بعرض كل مكون مرتين (mount -> unmount -> mount) بشكل متعمد والهدف من ذلك هو مساعدتك في اكتشاف الأخطاء والآثار الجانبية (Side Effects) غير المرغوب فيها في الكود الخاص بك. ولذلك يوجد عدة حلول لديك : أولا يمكنك حذف الوضع الصارم من ملف frontend\src\main.jsx . ثانيا يمكنك حاليا عدم حذف ال token من قاعدة البيانات وذلك في وضع التطوير أما في وضع النشر production يمكنك حذفه . ثالثا يمكنك إستخدام useRef هكذا : import React, { useEffect, useRef } from "react"; import { Link, useParams } from "react-router-dom"; import { useVerifyEmail } from "../lib/queries/auth.queries"; import { AiOutlineCheckCircle, AiOutlineWarning } from "react-icons/ai"; import Spinner from "../components/loaders/Spinner"; const VerifyEmail = () => { const { userId, token } = useParams(); const { mutate, data, isError, isPending } = useVerifyEmail(); const effectRan = useRef(false); useEffect(() => { if (effectRan.current === false) { if (userId && token) { mutate({ userId, token }); } } return () => { effectRan.current = true; }; }, []); if (!effectRan.current) { return <Spinner />; } return ( <section className="flex items-center justify-center min-h-[calc(100vh-2rem)] px-4"> <div className="w-full max-w-md bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-2xl shadow-md p-6 text-center transition-all duration-300"> {isError ? ( <> <AiOutlineWarning className="text-red-500 dark:text-red-400 text-6xl mx-auto animate-pulse mb-4" /> <h1 className="text-xl font-semibold text-gray-800 dark:text-white"> Error Verifying Email </h1> <p className="text-sm text-gray-600 dark:text-gray-300 mt-2"> Please check your verification link or request a new one. </p> </> ) : ( <> <AiOutlineCheckCircle className="text-teal-600 dark:text-teal-400 text-6xl mx-auto animate-bounce mb-4" /> <h1 className="text-xl md:text-2xl font-semibold text-gray-800 dark:text-white mb-2"> {data?.message || "Email Verified Successfully!"} </h1> <Link to="/login" className="inline-block bg-teal-600 hover:bg-teal-700 text-white font-medium py-2 px-6 rounded-full transition-colors duration-300" > Login </Link> </> )} </div> </section> ); }; export default VerifyEmail;
- 12 اجابة
-
- 1
-
-
الإجابة هى يجب أن نقوم بتطبيق ال Scaling على العمود (w) فقط. فالهدف الأساسي من عملية ال Scaling مثل Standardization أو Normalization هو جعل جميع أعمدة البيانات Features في نطاق متقارب للقيم وهذا يمنع أي عمود من التأثير بشكل مفرط على أداء النموذج لمجرد أن قيمه العددية أكبر من قيم الأعمدة الأخرى. وبما أنكِ ذكرتِ أن جميع الأعمدة تم تطبيعها بالفعل ما عدا العمود (w) فهذا يعني أنها بالفعل في نطاق متقارب. لذلك: لا حاجة لإعادة المعالجة وتطبيق الـ Scaling مرة أخرى على الأعمدة التي تم تطبيعها بالفعل فهي خطوة غير ضرورية وقد تؤدي إلى نتائج غير متوقعة أو تفسد التوزيع الأصلي للبيانات الذي نتج عن التطبيع الأول. وبتطبيق الـ Scaling على العمود (w) وحده فإنكِ تجعلينه متناسق مع بقية الأعمدة وهذا هو الهدف الأساسي من العملية.
- 2 اجابة
-
- 1
-
-
هذا لأنك يجب أن تقوم بتنفيذ أمر تحويل الملفات إلى js كما وضحت لك في البداية . يمكنك تنفيذ الأمر التالي وهذا الأمر سيقوم بمشاهدة التعديلات وتحويلها مباشرة : tsc -b -w
-
لاحظ انك في ال session storage وليس local storage يرجى اتباع الخطوات في الصورة السابقة
-
المشروع يعمل المشكلة لديك في التخزين المحلي يجب حذفه كما أخبرتك . يجب الذهاب إلى تبويبة application في ادوات المطور وحذفه من خلال الزر التالي :
-
ما هي الأوامر التي تقوم بها لتشغيل المشروع ؟ حاليا المشكلة نعم لا تظهر الصور ولكن لو قمت بتنفيذ أمر tsc -b ستجد أن المشكلة قد تم حلها ولكن يجب أن يتم حذف التخزين المحلي أولا . لهذا يجب تنفيذ الأمر التالي هكذا لتحويل ملفات tsx بعد تعديلها إلى ملفات js: tsc -b
-
وعليكم السلام ورحمة الله وبركاته. إن NumPy هي مكتبة أساسية للتعامل مع المصفوفات والعمليات الرياضية عالية الكفاءة وهي مكتوبة في الأساس بلغة C ولهذا حساباتها أسرع بكثير من الحلقات العادية في بايثون حيث تقدم أدوات كثيرة جاهزة مثل: عمليات الجبر الخطي (Linear Algebra). والتحويلات الفورييه. والدوال الإحصائية. ةالتعامل مع الأعداد الكبيرة في الحجم. أى يمكننا أن نقول أنها أداة رياضية تعطيك واجهة في لغة بايثون سهلة لكنها تعمل بكود مكتبة بلغى C في الخلفية. أما Numba فهي مكتبة مختلفة ووظيفتها تسريع كود بايثون نفسه عن طريق التحويل إلى كود آلة (JIT Compilation) . وأنت تقوم بكتابة دالة عادية وتضيف decorator هكذا مثلا : from numba import jit @jit(nopython=True) def add(x, y): return x + y والنتيجة أن الكود يتحول عند التشغيل إلى لغة منخفضة المستوى (Assembly) ويصبح قريب في الأداء من لغة C . وهو مفيد عندما تكتب حلقات for أو عمليات متكررة معقدة لا يمكن أن تكتبها كلها بدوال NumPy الجاهزة. إذا يمكننا التخليص بأن NumPy هي مكتبة رياضية جاهزة تعطيك دوال وأدوات أما Numba فهو مسرع يحول كود بايثون البطيء إلى كود سريع
- 4 اجابة
-
- 1
-
-
إذا أردت تنزيل ويندوز 10 فلا مشكلة في ذلك فلن يتوقف عن العمل بعد شهر اكتوبر من العام الحالي ولكن الدعم سيتوقف عنه أى لن تحصل على أى تحديثات من النظام سواء للأمان أو غيرها لهذا إذا لم يكن هذا الأمر مهما لك فيمكنك تنزيله دون أى مشكلة. ولكن الأفضل التحويل لإصدار 11 ولمعرفة كيفية تنزيله وتثبيته والتحقق من ما إذا كان جهازك يدعمه أم لا يمكنك قراءة المقال التالي :
-
النسيان أمر طبيعي جدا لا مشكلة في ذلك ولكن الأهم هو أن تكون قد قمت بالتطبيق جيدا ودراسة الدروس بشكل جيد ومع التطبيق كثيرا ستجد حل لمشكلة النسيان تلك . وإليك المزيد من النصائح التالية :
-
أولا بعد الإنتهاء من دورة تطوير واجهات المستخدم والحصول على الشهادة وكنت قد قمت بالفعل بالتطبيق وإنشاء المشاريع مع نفسك فنعم ستكون مؤهلا بالفعل للحصول على وظيفة سواء من خلال العمل في شركة أو من خلال الحصول على وظائف من العمل الحر . وفي الأكاديمية هناك ضمان إسترداد أموال إذا لم تحصل على وظيفة خلالهم . ولا أريدك أن تشعر بالإحباط ولكن مجال البرمجة ليس سهل وحاليا إزداد صعوبة لذا على الأقل ستحتاج 6 أشهر قبل البحث عن عمل حسب مستواك. ودورة تطوير واجهات المستخدم مخصصة لتخصص الـ Front-End أي الواجهة الأمامية وعلى منصات العمل الحر ستجد مشاريع كثيرة تتطلب HTML, CSS, JS وبوتستراب وjQuery ولكن هناك منافسة شديدة في هذا المجال. ولكن أيضا مجال الواجهة الأمامية أعقد من ذلك حيث سيتطلب منك على الأقل تعلم إطار أو مكتبة مثل React و Vue.js و Angular لتستطيع المنافسة بشكل جيد في هذا الأمر فمن خلالهم ستتمكن من بناء واجهة ديناميكية أكثر تعقيدًا، وذلك ما تتطلبه الشركات. وبعد الإختبار والإنتهاء من الدورة سيتم توجيهك خلال الـ 6 أشهر التالية. أما بخصوص الرواتب يمكنك فتح موقع مستقل ومواقع العمل الحر والنظر إلى المشاريع ومدى أسعارها المتفاوت بناء على الخبرة ولكن لو إستطعت المنافسة وقمت بتحسين حسابك وقاعدة عملائك فعلى الأقل ستقوم بإدخال 1000 دولار شهريا بناء على مستواك وسيزداد هذا المبلغ مع المشاريع التي ستقوم بها.
- 4 اجابة
-
- 1
-