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

Taha Khaled2

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

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

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

كل منشورات العضو Taha Khaled2

  1. مادة Mathematical Logic أساسية ومهمة جدا في علم الحاسوب بشكل عام، وفي مجالات الذكاء الاصطناعي وتعلم الآلة بشكل خاص. هذه المادة تدرس الأساليب الرياضية للتعبير عن الاستدلالات، وتشمل موضوعات مثل النظريات المنطقية، الاستدلال، نظرية البرهان، المنطق الرمزي، والمنطق الحسابي. في سياق الذكاء الاصطناعي، يمكن استخدام المنطق الرياضي في: 1. تمثيل المعرفة والاستدلال فالمنطق يسمح بتمثيل المعرفة بشكل دقيق ويوفر آليات للاستدلال بهذه المعرفة. هذا مهم في مجالات مثل الأنظمة الخبيرة والاستدلال الآلي، حيث يحتاج النظام إلى استنتاج معلومات جديدة من المعرفة المخزنة لديه. 2. تستخدم لغات البرمجة المنطقية مثل Prolog، المنطق كأساس لها، مما يجعلها مناسبة جدًا لكتابة برامج تحتاج إلى تمثيل المعرفة والاستدلال بها، وهو ما يستخدم في الذكاء الاصطناعي. 3. فهم المنطق الرياضي يساعد في تحليل الخوارزميات وإثبات صحتها، خاصة في الخوارزميات المعقدة المستخدمة في الذكاء الاصطناعي. بلاضافه فإن تعلمك للمنطق الرياضي يعتبر خطوة مهمة في التعمق في فهم وتطوير تقنيات الذكاء الاصطناعي وتعلم الآلة.
  2. بتاكيد مادة Discrete Mathematics مهمه في مجالات الذكاء الاصطناعي ولاكن ايضا مهمه في مجالات اخري كثيره و من خبرتي في دراستي لهذه الماده في اول سنه بجامعه مادة الرياضيات المتقطعة (Discrete Mathematics) تعتبر أساسية في عدة مجالات الذكاء الاصطناعي، وليس فقط في فرع معالجة اللغات الطبيعية. هذه المادة تشمل مواضيع مثل المنطق، نظرية الجرافات، الاستقرائيات، الجبر البولياني، ونظرية المجموعات، وهي توفر الأساس النظري الذي يمكن تطبيقه في تصميم الخوارزميات وتحليلها، والتي تعتبر مهارات مهمه في تعلم الآلة والذكاء الاصطناعي بشكل عام. بالنسبة لتعلم الجبر الخطي، التفاضل والتكامل، الاحتمالات والإحصاء، هذه المواد تعتبر أيضا مهمه جدًا في مجال تعلم الآلة. الجبر الخطي يستخدم في تعلم الآلة للتعامل مع البيانات ذات الأبعاد العالية، التفاضل والتكامل يستخدمان في تحسين الخوارزميات عبر تقنيات مثل الانحدار اللوجستي والشبكات العصبية، والاحتمالات والإحصاء ضروريان لفهم نماذج تعلم الآلة وتقييم أدائها. يجب أن يكون لديك فهم جيد للجبر الخطي والاحتمالات والإحصاء قبل البدء في دورة تعلم الآلة، على الرغم من أنها قد لا تكون مطلوبة مباشرة في كل جوانب تعلم الآلة، إلا أن فهمها يمكن أن يعزز من قدرتك على فهم المفاهيم النظرية وراء الخوارزميات المختلفة. كل هذه المواد تكمل بعضها البعض وتساعد في بناء فهم قوي للمفاهيم الأساسية المطلوبة في الذكاء الاصطناعي وتعلم الآلة. يفضل تعلم هذه المواد بشكل متوازي أو بترتيب الذي يتناسب مع المسار التعليمي الذي تريد اتباعه.
  3. الاتنين مهمين عند التقديم الي عمل البروتوفليو او المحفظة الخاصة بك هتساعد الشركه في التعرف على مشاريعك او أعمالك و خبراتك و مهارتك التي لديك ايضا تصميم موقعك الشخصي مهم جدا لانه يظهر هويتك الشخصية و سيساعدك في التسويق لنفسك اما البريد الإلكتروني هو وسيلة تواصل موثقة بينك وبين العميل او الشركه كثير من الشركات تعطي الاهميه و الأولوية الي البريد الإلكتروني الاحترافي في الرد عليهم لانه بيعكس مصداقيتك و يحمل اسم النطاق الخاص بك او اسم الشركه التي تمثلها
  4. بالفعل يوجد طريقه افضل يمكنك استخدام العملية المنطقية XOR (Xclusive OR) لتحقيق ذلك. في لغة البرمجة Python او اي للغه عمتا، يمكنك استخدام العملية XOR بين القيمة التي تريد اختبارها والقيمة 1 بايت، وذلك باستخدام العملية "^"، وسيتم إرجاع نتيجة العملية بصورة مختصرة. value = 0xFF # القيمة التي تريد اختبارها result = value ^ 0xFF # استخدام العملية XOR بين القيمة و١ باي 1. مثال عندما تكون القيمة 1 بايت: value = 0xFF result = value ^ 0xFF print(result) Output:0 2. مثال عندما تكون القيمة غير 1 بايت: value = 0xAB result = value ^ 0xFF print(result) Output:244 3. مثال آخر عندما تكون القيمة غير 1 بايت: value = 0x80 result = value ^ 0xFF print(result) Output:175 عندما تكون القيمة هي 1 بايت، فإن النتيجة تكون صفر. وعندما تكون القيمة غير 1 بايت، فإن النتيجة ستكون قيمة غير صفرية. يوجد طريقه ثانيه ايضا يمكنك استخدمها لمعرفة قيمة 1 بايت دون استخدام دالة if بدون الحاجة إلى تكرار العملية 256 يمكنك استخدام العمليات البتية لتحويل القيمة العددية للبايت إلى تمثيلها المطلوب دون الحاجة إلى استخدام تكرارات متعددة. على سبيل المثال، إذا أردت تحديد إذا كانت قيمة البايت تمثل عددا زوجيا أو فرديا يمكنك استخدام العملية البتية AND لفحص البت الأدنى (LSB) مباشرةً دون الحاجة إلى أي دالة if أو حلقة تكرار: byte_value = 0b10101010 # مثال على قيمة بايت is_even = not(byte_value & 1) # يعود True إذا كان العدد زوجي، وFalse إذا كان فردي العملية byte_value & 1 تقوم بإرجاع 1 إذا كان البت الأدنى 1 (أي العدد فردي) و0 إذا كان البت الأدنى 0 (أي العدد زوجي). باستخدام not، نقوم بعكس النتيجة للحصول على True للأعداد الزوجية وFalse للأعداد الفردية.
  5. خوارزمية البحث (Interpolation Search) وخوارزمية البحث الثنائي (Binary Search) هما تقنيتان للبحث داخل مصفوفات مرتبة، كل منهم له مميزات وعيوب تجعله مناسبًا لمواقف معينه في المشروع او المشكله التي تواجهها. خوارزمية البحث الثنائي (Binary Search) تقسم المصفوفة إلى نصفين بشكل متكرر للعثور على العنصر المستهدف. تعمل بشكل جيد مع البيانات المرتبة فقط. التعقيد الزمني O(log n) حيث n هو عدد العناصر في المصفوفة. مثلا يمكنك استخدامه في البحث عن كلمة في قاموس أو بحث عن رقم في دليل هاتف مرتب. خوارزمية البحث بالاستيفاء (Interpolation Search) تقوم بتقدير موقع العنصر المستهدف بناءً على قيمته وقيم العناصر الأولى والأخيرة في المصفوفة، سيؤدي إلى تحديد موقع البحث بشكل أكثر دقة في بعض الحالات. تكون فعالة بشكل خاص عندما يتم توزيع العناصر داخل المصفوفة بشكل موحد. في افضل حالتها تكون O(log log n) ولاكن يمكن أن تتدهور إلى O(n) إذا لم تكن العناصر موزعة بشكل موحد. مفيد بشكل خاص في البحث داخل قواعد بيانات الأرصاد الجوية حيث القيم مثل درجات الحرارة موزعة بشكل نسبيًا موحد عبر المجال. كيف تختار واحده منهم في حل المشكله إذا كانت البيانات موزعة بشكل موحد، فإن (Interpolation Search) يقدم أداءً أفضل بكثير من البحث الثنائي. في مجموعات البيانات الصغيرة، لا يوجد فرق في الأداء ، لكن في مجموعات البيانات الكبيرة، بطبع يؤدي استخدام الخوارزمية الأكثر كفاءة إلى تحسينات واداء قوي. يمكن للباحثين والمطورين اختبار كلا الخوارزميتين على بياناتهم الخاصة لتحديد أيهما يقدم الأداء الأفضل، مع الأخذ في الاعتبار أن البحث بالاستيفاء يتطلب توزيعًا موحدًا للقيم ليكون فعالًا. في النهايه الاختيار بين خوارزمية ا(Interpolation Search) وخوارزمية البحث الثنائي يعتمد على طبيعة البيانات والمتطلبات الخاصة للتطبيق المستخدم فيه والمشكله التي تواجههك. ساعطيك مثال عملي سيواجهك في مرحله ما يمكنه مساعدتك في كيف تختار اي منهم في حل مشكلتك لديك قاعدة بيانات ضخمة للكتب في مكتبة إلكترونية، وتحتاج إلى تطوير ميزة بحث تسمح للمستخدمين بالعثور بسرعة على كتاب معين بناءً على رقم تعريف الكتاب (ISBN). يتم تعريف أرقام ISBN بشكل يضمن ترتيبها بشكل تصاعدي وموزعة بشكل موحد تقريبًا. حل باستخدام Interpolation Search: لأن أرقام ISBN مرتبة وموزعة بشكل موحد إلى حد ما، فإن خوارزمية البحث بالاستيفاء Interpolation Search يمكن أن تقدم أداء عاليا . إنها تقدر موقع الرقم المطلوب بشكل جيد جدا بناء على قيمته، مما يقلل من عدد المقارنات اللازمة للعثور على الكتاب. المشكلة إذا كان توزيع أرقام ISBN ليس موحدا تماما في أجزاء معينة من قاعدة البيانات، قد تقل فعالية الخوارزمية وتحتاج إلى تكرار أكثر. حل باستخدام Binary Search: البحث الثنائي لا يتأثر بتوزيع القيم داخل البيانات. طالما أن البيانات مرتبة، يمكن للبحث الثنائي أن يجد العنصر المستهدف بشكل موثوق في O(log n) خطوات، مما يجعله خيارًا آمنًا وموثوقًا في معظم الحالات. المشكلة قد لا يكون البحث الثنائي سريعًا مثل البحث بالاستيفاء في حالة توزيع القيم بشكل موحد يمكنني اعطيك مشكله قد وجهتها في leetcode وتختبار نفسك بها في الحل المشكله لديك مصفوفة من الأعداد الصحيحة المرتبة تصاعديًا. كتابة برنامج بلغة C++ يقوم بالبحث عن عنصر معين في المصفوفه. إذا تم العثور على العنصر، يجب على البرنامج طباعة موقع العنصر (index) داخل المصفوفة. إذا لم يتم العثور على العنصر، يجب طباعة رسالة تفيد بذلك. المتطلبات: المصفوفة مرتبة تصاعديًا. يمكن افتراض أن المصفوفة لا تحتوي على عناصر مكررة. int arr[] = {2, 3, 4, 10, 40};
  6. ليس من الضروره حفظ كل شئ بل ركز على فهم كيفية عمل الكواد. ابدأ بقراءة الدرس وفهم المفاهيم الأساسية. طرح الأسئلة على نفسك أو اذا كنت تريد المساعده يمكنك طرح السؤال اسفل الدرس ابدأ ببرامج بسيطة ثم انتقل إلى برامج أكثر تعقيدً راجع الدرس بشكل دوري لضمان عدم نسيانك للمعلومات. قم بعمل ملخصات للنقاط المهمة في الدرس. حسن نفسك باستمرار عن طريق 1. قراءة المقالات في منصة اكاديمية حسوب يوجد العديد من المقالات التي ستساعدك طوال مشوارك في تعلم البرمجه 2. يمكنك اختبار معلوماتك عند انتهاء كل درس عن طريق اختبارت التي تقدمها اكاديمية حسوب 3. يمكنك ايضا ان تستمر في حل المشاكل عن طريق مواقع Codeforces هو موقع يختص بمسابقات البرمجة والتحديات البرمجية. يتيح الموقع للمشتركين حل مجموعة متنوعة من المشاكل البرمجية في مختلف المستويات، ومنافسة مع المبرمجين الآخرين يمكنك تحسين مهاراتك في البرمجة و حل تحديات برمجية
  7. عامل modulo هو عامل رياضي يُستخدم لإيجاد بقية قسمة عدد صحيح على آخر. مثال: 12 ÷ 10 = 1 (باقي 2) في هذا المثال، نريد إيجاد آخر رقم في 12. نقوم بقسمة 12 على 10. ناتج القسمة هو 1، والباقي هو 2. كيف يعمل %10: %10 هو نفس كتابة 10. عندما نقوم بقسمة عدد صحيح على 10، فإن الباقي هو آخر رقم في العدد. مثال بسيط يمكنك الفهم منه int N = 12; int M = 13; cout << N%10 + M%10; N%10 تعطي آخر رقم في N (2). M%10 تعطي آخر رقم في M (3). N%10 + M%10 تعطي مجموع آخر رقم هو (5).
  8. مرحبا أحمد لقد قمنا بمناقشة هذه الموضع من قريب المشكله ببساطه هي ان الحزمه تدعم انواع خطوط معينه للغه العربيه ايضا ستجدني قد ذكرت طريقه اخري لطباعة الصفحه بدون الحاجه الي استخدام اي حزمه
  9. لقد تصفحة موقعك ويوجد بعض التحسينات التي يبجب ان تتبعها المقالات تحتاج إلى تحسين من ناحية الأسلوب والوضوح المقالات قصيرة جدًا. حاول كتابة مقالات أطول وأكثر عمقًا. يجب أن يكون تصميم موقعك منظما ايضا يجب أن يكون سهل الاستخدام على الأجهزة . أضف المزيد من المعلومات والصور والفيديوهات إلى مقالاتك. تحسين الصفحات الأساسيةيجب أن يكون لديك صفحات "من نحن"، "اتصل بنا"، و"سياسة الخصوصية". ستساعدك هذه الصفحات في تعزيز مصداقية موقعك. يمكنك ايضا اضافة بعض المميزات لموقعك أضف منتديات أو أقسام تعليقات لتشجيع التفاعل بين الزوار. أضف أدوات مثل استطلاعات الرأي أو اختبارات المعرفة
  10. اساسيات اللغه من اهم الاشياء في تعلم الدوره ولاكن في حالتك هذه مشاهدة أساسيات بايثون من جديد ليست إلزامية لإكمال الدورة. إذا كنت قد تعلمت أساسيات بايثون من قبل وبنيت العديد من البرامج المتنوعة بها، فهذا يعني أن لديك فهمًا جيدًا للغة بايثون كا نصيحه وعن تجربه هتستفاد جدا من مراجعة الأساسيات بطريقه سريعه عند المراجعه للمره الثانيه ستكون لديك فهم اكثر و ستفهم الدروس بتعمق اكثر واذا كنت متردد فيمكنك التفكير في مستوى فهمك الحالي للغة البايثون. يمكنك طرح السؤالين هذه علي نفسك 1. هل تشعر بالثقة في استخدام اللغة البرمجة؟ 2. هل تواجه صعوبة في أي مفاهيم معينة؟ بعد اجابتك علي السؤالين انت سستاكد بانك ستراجع الاساسيات ام ستتخطاها يمكنك ايضا الدخول الي مواقع الاسئله حل المشكلات مثل code force او leetcode و اختبار نفسك من خلال الإجابة على أسئلة حول لغة البرمجة. هناك العديد من اختبارات البرمجة المتاحة عبر هذه المواقع.
  11. المشكله هي انك يجب اضافة SHA-1 و SHA-256 يجب اضافته في كلا النظامي android و ios اذا كنت تعمل علي Android Studio: افتح مشروعك في Android Studio. انتقل إلى File > Project Structure. حدد App > Signing. انقر فوق Generate Key. حدد نوع المفتاح الذي تريد إنشاءه (SHA-1 أو SHA-256). أدخل اسمًا للمفتاح. حدد موقعًا لحفظ المفتاح. انقر فوق OK. اذا كنت تعمل علي iOS : افتح مشروعك في Xcode. حدد Project > Targets. حدد الهدف الذي تريد إضافة المفتاح إليه. انتقل إلى General > Signing. انقر فوق + تحت Certificates, Identifiers & Profiles. حدد Add iOS Development Certificate. حدد ملف .p12 الذي يحتوي على المفتاح. أدخل كلمة مرور الملف. انقر فوق Open. ثما اخير في الفيربيز واضافة المفاتيح اليه : انتقل إلى موقع Firebase Console. حدد المشروع الذي تريد إضافة المفتاح إليه. انتقل إلى Settings > Project Overview. انقر فوق Add Firebase to your Android/iOS app. اتبع التعليمات لإضافة Firebase SDK إلى التطبيق الخاص بك. قم بتحميل ملف google json مره اخري من Firebase Console.
  12. طريقة الحذف بسيطه جدا اولا عليك الدخول الي موقع OneDrive حدد كل ملف أو مجلد تريد حذفه عن طريق تحديد الدائره الموجودة في الزاوية اليمنى العليا من الأيقونة. .انقر فوق حذف في شريط الأدوات الموجود أعلى صفحة الويب. بعد لحظات قليلة، ستتم إزالة الملف من جميع الأجهزة المرتبطة بحساب OneDrive هذا. ثانيا الحذف من التطبيق نفس الفكره افتح تطبيق OneDrive على جهاز الكمبيوتر أو الجهاز اللوحي أو الهاتف. حدد الملفات التي تريد حذفها. انقر على حذف. مساحة OneDrive هي مساحة تخزين سحابية. هذا يعني أنها موجودة على Microsoft وليس لها اي علاقه بجهاز الكمبيوتر الخاص بك. كما موضح بصوره
  13. الامر لا يتعلق بشركه محدده سواء hp او dell او mac فا جميع الشركات تتميز عن بعضها في اشياء عن الاخري اهم شئ عند اختيار الابتوب او الجهاز اللذي تعمل عليه هي موصفات هذه الجهاز ساعطيك بعض الموصفات التي اذا وجدتها باي جهاز فا من الاكيد سيعمل معك بشكل جيد جدا 1. يفضل اختيار لابتوب يحتوي على معالج متطور وقوي مثل Intel Core i7 أو AMD Ryzen 7. هذا سيساعد على تشغيل تطبيقات البرمجة بسلاسة وسرعة. 2. يجب أن تكون ذاكرة الوصول العشوائي (RAM) كبيرة بما يكفي لتشغيل برامج البرمجة وتشغيل العديد من التطبيقات والعمليات في وقت واحد. يفضل ان تكون حجم الذاكرة لا يقل عن 8 جيجابايت. 3. يُفضل استخدام تخزين SSD بدلاً من الهارد Hdd حيث يوفر سرعة قراءة وكتابة أسرع، بحيث يسهل عملية تشغيل البرامج وتحميل الملفات بسرعة. 4. يفضل اختيار لابتوب يحتوي على شاشة عالية الدقة وذات جودة عالية لتسهيل قراءة النصوص ورموز البرمجة ولتوفير تجربة مريحة للعين أثناء العمل لفترات طويلة. 5. يفضل اختيار لابتوب يحتوي على بطارية تدوم طويلاً لتسهيل العمل في أي مكان دون الحاجة للتوقف المتكرر لشحن البطارية. عن تجربه فا انا استخدم Lenovo IdeaPad 3 وياتي بهذه الموصفات ويعمل معي جيدا معالج AMD Ryzen 7. ذاكرة عشوائية RAM بسعة 12 جيجابايت. تخزين SSD بسعة 512 جيجابايت. شاشة بحجم 14 بوصة. بطارية تدوم طويلاً. نظام تشغيل Windows 10.
  14. اولا عليك اختيار مزود خدمة بوابة الدفع مثل (paypal ,stripe,paymobe) كل بوابة دفع تختلف طريقة عمل التكامل معها وتختلف ايضا في شروطها و نسبة العموله علي كل تحويل ويجب علي الانتبه لها قبل اختيار بوابة الدفع Paypal: منصة عالمية مشهورة مع قاعدة مستخدمين كبيرة. سهلة الاستخدام والتكامل مع العديد من المنصات. تدعم العديد من العملات واللغات. رسوم معالجة عالية نسبيًا. قد تواجه بعض القيود في بعض الدول. Stripe: منصة حديثة مع واجهة برمجة تطبيقات قوية. تدعم العديد من العملات واللغات. رسوم معالجة تنافسية. سهلة الاستخدام والتكامل مع العديد من المنصات. Paymob: منصة مصرية متخصصة في معالجة المدفوعات في مصر والمنطقة العربية. تدعم العديد من العملات العربية. رسوم معالجة تنافسية. سهلة الاستخدام والتكامل مع العديد من المنصات العربية. قد تواجه مشاكل في الدول خارج مصر والمنطقة العربية مثال اذا كنت تعمل مع لارافل وتريد تكامل مع stripe هي تدعم الفيزا و الماستركارد 1. يجب عليك الدخول الي المنصه وانشاء حساب 2. الاتجاه الي الاعدادت و جلب api key 3 . تبداء في التكامل مع منصتك يمكنك اتباع هذه الخطوات داخل الكنترول الخاص بك ضع هذه الداله public function stripePost(Request $request) { Stripe::setApiKey(env('STRIPE_SECRET_KEY')); try { // التحقق من صحة بيانات الطلب $validatedData = $request->validate([ 'order_id' => 'required|integer', ]); // إنشاء عملية شحن باستخدام مكتبة Stripe Charge::create([ "amount" => $request->total * 100, // تحويل المبلغ إلى سنت لاستخدامه مع Stripe "currency" => "aed", // العملة المستخدمة (درهم إماراتي) "source" => $request->stripeToken, // المعرف الفريد للبطاقة المستخدمة ]); } في الصفحه المسؤاله عن الوجهه الاماميه يمكنك وضع الحقول المسؤله عن ادخال بيانات وسيلة الدفع <!DOCTYPE html> <html> <head> </head> <body> <div class="container"> <header class="site-header"> <div class="logo-container"> <img src="{{ asset('assets/img/Logo.png') }}" alt="Khayma Logo" class="site-logo" /> </div> </header> <!-- الرسالة في حالة نجاح العملية --> @if (Session::has('success')) <div class="alert alert-success text-center"> <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a> <p>{{ Session::get('success') }}</p> </div> @endif <!-- الرسالة في حالة فشل العملية --> @if (Session::has('error')) <div class="alert alert-danger text-center"> <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a> <p>{{ Session::get('error') }}</p> </div> @endif <!-- نموذج الدفع --> <form role="form" action="{{ route('stripe.post') }}" method="post" class="require-validation" data-cc-on-file="false" data-stripe-publishable-key="{{ env('STRIPE_PUBLISHABLE_KEY') }}" id="payment-form"> @csrf <!-- حقل اسم صاحب البطاقة --> <div class='form-row row'> <div class='col-xs-12 form-group required'> <label class='control-label'>Name on Card</label> <input class='form-control' size='4' type='text'> </div> </div> <!-- حقل رقم البطاقة --> <div class='form-row row'> <div class='col-xs-12 form-group card required'> <label class='control-label'>Card Number</label> <input autocomplete='off' class='form-control card-number' size='20' type='text'> </div> </div> <!-- حقول تاريخ انتهاء الصلاحية ورمز التحقق --> <div class='form-row row'> <div class='col-xs-12 col-md-4 form-group cvc required'> <label class='control-label'>CVC</label> <input autocomplete='off' class='form-control card-cvc' placeholder='ex. 311' size='4' type='text'> </div> <div class='col-xs-12 col-md-4 form-group expiration required'> <label class='control-label'>EXP Month</label> <input class='form-control card-expiry-month' placeholder='MM' size='2' type='text'> </div> <div class='col-xs-12 col-md-4 form-group expiration required'> <label class='control-label'>EXP Year</label> <input class='form-control card-expiry-year' placeholder='YYYY' size='4' type='text'> </div> </div> <!-- حقول مخفية لتخزين معرف الطلب والمبلغ الإجمالي --> <input type="hidden" name="order_id" value="{{ $order->id }}" hidden> <input type="hidden" name="total" value="{{ $order->total }}" hidden> <!-- رسالة الخطأ --> <div class='form-row row'> <div class='col-md-12 error form-group hide'> <div class='alert-danger alert'>Please correct the errors and try again.</div> </div> </div> <!-- زر الدفع --> <div class="row"> <div class="col-xs-12"> <button type="submit">Pay Now ({{ $order->total }} AED) </button> </div> </div> </form> </div> </body> <!-- تضمين مكتبة Stripe --> <script type="text/javascript" src="https://js.stripe.com/v2/"></script> <!-- نص السكريبت للتحقق ومعالجة الدفع --> <script type="text/javascript"> $(function() { var $form = $(".require-validation"); // تفعيل التحقق عند إرسال النموذج $('form.require-validation').bind('submit', function(e) { var $form = $(".require-validation"), inputSelector = ['input[type=email]', 'input[type=password]', 'input[type=text]', 'input[type=file]', 'textarea' ].join(', '), $inputs = $form.find('.required').find(inputSelector), $errorMessage = $form.find('div.error'), valid = true; $errorMessage.addClass('hide'); $('.has-error').removeClass('has-error'); $inputs.each(function(i, el) { var $input = $(el); if ($input.val() === '') { $input.parent().addClass('has-error'); $errorMessage.removeClass('hide'); e.preventDefault(); } }); if (!$form.data('cc-on-file')) { e.preventDefault(); // تعيين مفتاح نشر Stripe وإنشاء الرمز Stripe.setPublishableKey($form.data('stripe-publishable-key')); Stripe.createToken({ number: $('.card-number').val(), cvc: $('.card-cvc').val(), exp_month: $('.card-expiry-month').val(), exp_year: $('.card-expiry-year').val() }, stripeResponseHandler); } }); // معالجة استجابة Stripe function stripeResponseHandler(status, response) { if (response.error) { $('.error') .removeClass('hide') .find('.alert') .text(response.error.message); } else { var token = response['id']; // مسح قيم الحقول وإضافة الرمز كقيمة مخفية $form.find('input[type=text]').empty(); $form.append("<input type='hidden' name='stripeToken' value='" + token + "'/>"); $form.get(0).submit(); } } }); </script> </html>
  15. بالفعل سبب حدوث الخطأ وقت التشغيل في الكود الثاني هو تجاوز سعة الذاكرة الاختلاف بين الكود الاول والثاني هو في الكود الأول يتم تحديث قيم المصفوفة arr بشكل مباشر في كل مرة يتم فيها تنفيذ حلقة for ولاكن في الكود الثاني يتم حساب القيمة الإجمالية لكل عنصر في المصفوفة arr من خلال جمع قيم العناصر السابقة. المشكله التي تتسبب في الخطاء تحدث في حالة مجموعة البيانات الكبيرة (10^7) حيث يتطلب الكود الثاني مساحة ذاكرة أكبر بكثير من الكود الأول وذلك لأن الكود الثاني يقوم بحفظ قيم جميع العناصر السابقة في المصفوفة arr بينما الكود الأول يقوم فقط بحفظ قيم العناصر التي يتم تحديثها. افضل حل للمشكله هو الحل بواسطةخوارزمية مجموعات البادئات (Prefix clustering algorithm) تعتمد خوارزمية مجموعات البادئات على حساب مجموعات العناصر المتتالية في المصفوفة. يتم تخزين مجموعات البادئات في مصفوفة جديدة. يمكن استخدام مصفوفة مجموعات البادئات لحساب القيمة الإجمالية لأي مجموعة فرعية من العناصر في المصفوفة الأصلية بكفاءة. مثال علي كيفية استخدام الاجوريزم def arrayManipulation(n, queries): # إنشاء مصفوفة مجموعات البادئات. prefix_sums = [0] * (n + 1) for i in range(1, n + 1): prefix_sums[i] = prefix_sums[i - 1] + queries[i - 1][2] # حساب القيمة القصوى لمجموع العناصر في المصفوفة. maximum = 0 for i in range(1, n + 1): # حساب القيمة الإجمالية للعناصر من 1 إلى i. total_sum = prefix_sums[i] # حساب القيمة الإجمالية للعناصر من i + 1 إلى n. remaining_sum = prefix_sums[n] - prefix_sums[i] # تحديث القيمة القصوى. maximum = max(maximum, total_sum + remaining_sum) return maximum # مثال على استخدام الدالة. n = 5 queries = [[1, 2, 100], [2, 4, 100], [3, 5, 100]] result = arrayManipulation(n, queries) print(result)
  16. يومين او ثلاثة ايام كحد اقصي هذه بتجربتي الشخصيه للتحويل لاكثر من تطبيق
  17. 1. الخطوه الاوله يجب عليك الدخول الي حسابك في جوجل كونسل هنا 2. الخطوه الثاني في القائمه علي الجانب الايمن يمكنك اختيار الاعدادات ثما نقل التطبيقات موضح بصوره 1 و 2 3.ستظهر معك الشاشه بصوره الثالثه وتطلب منك بعض البيانات لاكمال نقل التطبيق 1.حقل ادخل معرف العمليه الخاصه بك هنا 2. رقم المعرف الخاص بحساب المطور المراد نقل له التطبيق ستجده عند فتح جوجل كونسل 3. معرف العمليه الخاص بالحساب المراد نقل له التطبيق 4. سبب النقل يجب اختيار لبيع التطبيق 5. ضع اختيار لا يوجد شئ ثما في الاسفل ستجد زر اضافة تطبيق ثما اختار التطبيق اللذي تريد نقله وفي الاخر اضغط علي زر مراجعة الطلب ونقل الملكيه
  18. XHTML هي توسيع للغة HTML. لا توجد اختلافات كثيرة بين XHTML، فلغة XHTML هي في الأساس إصدار أكثر صرامة من HTML4. الاختلافات الرئيسية بين HTML و XHTML هي: تسمح HTML4 لبعض العناصر بحذف وسوم الإغلاق (end tag). تُضاف وسوم الإغلاق عند إغلاق جزء معين من النص، مثل الفقرة (p). عادة ما يتم ترميزها بخط مائل عكسي (على سبيل المثال، وسم الفتح الخاص بالفقرة هو <p>، ووسم الإغلاق هو <‎/p>). تفرض XHTML أن تتضمن جميع العناصر وسوم الإغلاق. تتيح HTML4 تداخل بعض العناصر. بخلاف XHTML. يجب وضع قيم السمات Attributes (مثل حجم الخط) في XHTML بين علامتي تنصيص ("")، حتى لو كانت رقمية. أما HTML فلا توجب ذلك. لا يمكن اختزال السمات في HTML. هناك اختلاف بسيط في طريقة التعامل مع العناصر الفارغة. انظر الي الصوره لمعرفة جميع الاختلافات بينهم
  19. قبل الدخول في تعم الامن السبراني يجب ان تعرف ما هو الامن السيبراني وما دوره ما هو مهندس الأمن السيبراني؟ تتضمن مهنة هندسة الأمن السيبراني إنشاء وإدارة الأجهزة والبرامج وسياسات الأمان التي تحمي أجهزة الكمبيوتر والشبكات والمعلومات. الغرض من مهندسي الإنترنت هو فهم الفضاء الإلكتروني من خلال الجمع بين الهندسة الكهربائية وعلوم الكمبيوتر. يقوم مهندس الأمن السيبراني بتصميم وتنفيذ حلول الشبكات الآمنة المصممة للدفاع ضد المتسللين والهجمات الإلكترونية والتهديدات المستمرة الأخرى. كما يشارك أيضًا في اختبار هذه الأنظمة ومراقبتها باستمرار، والتأكد من أن جميع دفاعات النظام محدثة وتعمل بشكل صحيح. ماذا يفعل مهندس الأمن السيبراني؟ تقييم الاحتياجات الأمنية للمنظمة ووضع أفضل الممارسات والمعايير وفقًا لذلك تصميم وتنفيذ وصيانة والإشراف على تحديث جميع الإجراءات الأمنية اللازمة لحماية بيانات المؤسسات وأنظمتها وشبكاتها الرد على كافة الخروقات الأمنية للشبكة والأنظمة المرتبطة بها استكشاف أخطاء جميع مشكلات وحوادث الشبكة والأمن وإصلاحها إجراء اختبار الاختراق بشكل روتيني اتخاذ التدابير الأمنية المناسبة لضمان الحفاظ على البنية التحتية للمنظمة والبيانات الموجودة آمنة إجراء الاختبارات والمسح لتحديد أي نقاط ضعف في الشبكة والنظام. كيف تصبح مهندس الأمن السيبراني؟ ابحث عن فرص للتدريب العملي في مجال الأمن السيبراني، مثل المشاركة في برامج التعاون بين الجامعات والشركات أو العمل كمتدرب في شركة متخصصة بالأمن السيبراني. تطوير من مشاريعك شخصية في مجال الأمن السيبراني، مثل اختبار اختراق المواقع الإلكترونية أو بناء أنظمة كشف التسلل. من المهم مواكبة أحدث التهديدات والتقنيات من خلال قراءة الكتب والمقالات وحضور المؤتمرات والندوات . يمكنك الحصول على شهادات متقدمة في مجال الأمن السيبراني، مثل شهادات Certified Information Systems Security Professional (CISSP) و Certified Ethical Hacker (CEH).
  20. ممكن مثلا لو حابب تعرف اي البرامج اللي بتستهلك موارد الجهاز بتفيدك برضو في الامان لان بعض البرامج الضاره ممكن تشتغل في الخلفيه فا متقدرش تغلق البرنامج او العمليه الا من task manger او task list بحيث يمكنك تحديد العمليه واغلاقها بالامر التالي taskkill /IM <اسم العملية>
  21. 1. يمكنك الضغط علي ايقونة الويندوز كما موضح بصوره الاولي 2. ثما ابحث عن موجهه الاوامر موضح بصور هالثانيه 3. اضغط علي موجهه الاومر ثما قم بكتابة هذه الامر tasklist موضح بصوره الثالثه
  22. المشاركه في مشاريع مفتوحة المصدر او بناء مشروع بمفردك في المجال اللذي تعمل به هيفيدك جدا كاطالب وهيعطيك مهارات وخبرات كثيره منها 1. هتقدر تطور وتحسن من مهاراتك البرمجية والتقنية. 2. عند العمل على مشاريع حقيقية هتتعلم من مطورين ذوي خبرة. 3. هتقدر تبني سجل عمل بحيث يمكنك إضافة اي مشاركة قمت بها إلى سجل عملك. 4. تسمح لك بالتواصل مع مجتمع المطورين وبناء شبكة مهنية 5. التواصل والتعلم من المطورين الآخرين وتبادل المعرفة والخبرات ده هيؤدي في الاخر الي فتح أبواب لفرص تعاون وتوظيف في المستقبل. طريقة المشاركه ابحث عن مشروع مفتوح المصدر يتناسب مع اهتماماتك ومهاراتك. يمكنك استكشاف مختلف منصات استضافة مشاريع مفتوحة المصدر مثل GitHub و GitLab ومشاريع Apache وغيرها. اي المسهمات اللي تقدر تعملها في مثل هذه المشاريع يمكنك كتابة وتحسين الشفرة المصدرية لإضافة ميزات جديدة أو إصلاح الأخطاء الموجودة. يمكنك المساهمة في عملية المراجعة والاختبار لتحسين جودة الشفرة والتأكد من أنها تلبي المعايير المطلوبة
  23. هذه الحزمه تدعم حطوط معينه للغه العربيه في الوثائق الخاصه بالحزمه من هنا في قسم Fonts & Languages ثما الدخول الي Available Fonts v6 and v7 في هذه القسم ستجد كل الخطوط التي تدعم اللغه العربيه ومنهم XBRiyaz رابط الخط هنا KFGQPC Uthman Taha Naskh رابط الخط هنا بعد استخدام اي خط منهم يجب عليك تعين الاتجاه الخاص باللغه العربيه $pdf->SetDirectionality('rtl'); يوجد طريقه اخري للطباعة بدون استخدام اي حزمه فقط كود جافاسكريبت بسيط ساعرض عليك المثال بشكل عملي لدي فاتوره بهذه الشكل كما موضح بصوره الاولي ويوجد زر بالاسفل يسمي طباعه المفترض عند الضغط عليه يتم طباعة الفاتوره بهذه الطريقه موضح في الصوره الثانيه لاضافة الزر <button class="btn btn-danger float-left mt-3 mr-2" id="print_Button" onclick="printDiv()"> <i class="mdi mdi-printer ml-1"></i>طباعه</button> الوظيفه الخاصه بزر وطباعة الفاتوره function printDiv() { var printContents = document.getElementById('print').innerHTML; var originalContents = document.body.innerHTML; document.body.innerHTML = printContents; window.print(); document.body.innerHTML = originalContents; location.reload(); }
×
×
  • أضف...