-
المساهمات
5884 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
71
آخر يوم ربح فيه محمد عاطف17 هو أبريل 17
محمد عاطف17 حاصل على أكثر محتوى إعجابًا!
آخر الزوار
لوحة آخر الزوار معطلة ولن تظهر للأعضاء
إنجازات محمد عاطف17
-
ستحتاج بالطبع إلى أساسيات في الرياضيات حيث الذكاء الإصطناعي يعتمد بشكل أساسي على الرياضيات . و ليس المقصود من تعلم الجبر الخطي Linear Algebra أن تكون عالمًا متخصصًا فيه. ولكن باختصار، لابد من وجود أساسيات الجبر الخطي مثل : المصفوفات والعمليات على المصفوفات ولابد أن تعرف قواعد كل عملية، لأنه بالتأكيد لا يمكن الحصول على قيمة المتغير c في المثال الذي أعطيته دون أن تعرف كيف يتم حسابها، كذلك معرفة بالمعادلات الرياضية من الدرجات المختلفة وكذلك التمثيل البياني وفهم المصطلحات الخاصة به،والمتجهات والانحدار و يجب دراسة هذه المواضيع حتى تفهم ما يدور خلف الكواليس وتستطيع تحسين النتائج فيما بعد. وإضافة إلى الجبر الخطي: التفاضل والتكامل حساب المثلثات الإحصاء الوصفية ويمكنك قراءة الإجابة التالية لمعرفة ما الواجب عليه معرفته قبل البدء في الذكاء الإصطناعي :
-
وعليكم السلام ورحمة الله وبركاته. لنشرح أولا معني الدالة النقية (Pure Function) وهي الدالة التي تأخذ معاملات وتقوم بإعادة ناتج فقط ولا تقوم بالتأثير على أي كود أو متغيرات خارجها ولا تتأثر بأى شئ خارجها. إذا ما هو التأثير الجانبي (Side Effect) هو أى شئ يحدث خارج نطاق الدالة مثل : تغيير قيمة متغير خارج الدالة. طباعة شئ ما . كتابة أو قراءة ملف. إرسال بيانات للخادم . تغيير حالة (State) الكود لديك. لنأخذ مثال على دالة نقية : def add(x, y): return x + y هنا الدالة السابقة نقية حيث تأخد x و y وتعيد مجموعهم. ولا تقوم بتغير أى شئ في الكود وكل مرة تقوم بإستدعاءها بنفس المدخلات ستعيد لك نفس الناتج. مثال على دالة ذات تأثير جانبي (Side Effect) : result = 0 def add_and_save(x, y): global result result = x + y هي دالة غير نقية (non-pure ) حيث لها تأثير جانبي وهو تغير قيمة متغير خارجي اسمه result.
- 4 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. لا داعي للقلق فهذا أمر طبيعي ويحدث مع الجميع وليس أنت فقط. فعند التطبيق لأول مرة ستشعر بالنسيان وعدم تمكنك من تطبيق ما قمت بتعلمه . وهذا الأمر يحدث بسبب إما أنك لم تقم بالتطبيق جيدا مع المدرب أثناء مشاهدة الدروس أو أنك لم تفهم الأساسيات بشكل كامل . ولهذا ينبغي عليك إذا كنت تقوم بتخطي الدروس دون فهمها بشكل كامل أن تقوم بإعادة الدروس سريعا للتأكد من الفهم بشكل كامل . وأيضا ينبغي عليك التطبيق كثيرا على كل درس حتى تستطيع تنفيذ أى كود بنفسك دون الحاجة لنسخ أكواد أو إنتظار المدرب لحله . ويمكنك ممارسة ال css من خلال الألعاب والتحديات مثل موقع CSSBattle بحيث تستخدم مهارات CSS الخاصة بك لتكرار الأهداف بأصغر كود ممكن ومن هذه المواقع : CSSBattle Guess CSS! codingfantasy ويمكنك قراءة النصائح التالية لمشكلة النسيان التي تواجهك :
-
الأمر ليس بسيطا وستحتاج إلى كثير من الإختبار لضمان دائما من ان الموقع محصن ضد الثغرات سواء في الكود المكتوب لديك في الموقع أو سواء في المكتبات المستخدمة و أيضا الإنتباه إلى أشهر الثغرات الموجودة. أولا يجب عليك دائما التحقق من البيانات التي تأخذها من المستخدم ولا تقوم أبدا بالإعتماد على الواجهة الأمامية (frontend) للتحقق حيث يمكن بسهولة التلاعب بها وتعطيلها . ولهذا ينبغي أن يكون تركيزك منصب بشكل كامل على الواجهة الخلفية (backend) في التحقق . فمثلا عند تنفيذ طلب شراء تأكد دائمًا في ال backend من أن السعر صحيح ولا تعتمد على الواجهة الأمامية حيث من الممكن أن يقوم المستخدم بإدخال رقم سالب . وإذا لم تتحقق وقمت بطرح الرصيد من هذا الرقم ستجد أنه سالب في سالب بموجب وهنا تجد أن الرصيد يتم إضافته وليس الخصم منه . لهذا التحقق دائما في ال backend مهم . وأيضا تحقق من الصلاحيات دائما . وينبغي عليك إدارة الصلاحيات بشكل دقيق من حيث إستخدم نظام Django’s permissions و groups لتنظيم الصلاحيات والوصول إلى الخصائص الموجودة في موقعك . فمثلا لا يمكن للمستخدم حذف رصيد أو إضافة رصيد ويجب أن تكون تلك الصلاحية للأدمن فقط . وبخصوص التلاعب في قواعد البيانات لا ينبغي أن تثق بأي مدخلات من المستخدم حيث تعامل مع جميع المستخدمين على أنهم مخترقين ولهذا يجب استخدام ال ORM الخاص بـ Django بدلا من تنفيذ استعلامات SQL مباشرة وذلك لمنع الثغرة الشهيرة وهي "SQL Injection" والتي تسمح للمستخدم بالتلاعب بقاعدة البيانات من خلال إدخال إستعلام SQL في المدخلات . أيضا تأكد من إستخدامك ل {% csrf_token %} في ال forms عند إرسال الطلبات وذلك لمنع الهجمات والثغرة الشهيرة "Cross-site request forgery" والتي تسمح للمستخدمين من إرسال طلبات من خلال موقع أخر إلى موقعك. أيضا تأكد من إستخدامك لمتغيرات البيئة "environment variables" وذلك لحفظ المعلومات الحساسة ولا تقوم بحفظها في الكود وذلك منعا لتسريب تلك البيانات الحساسة إذا تم الوصول إلى الكود في أى وقت من قبل أشخاص أخرين. وأيضا سيتوجب عليك دائما التأكد من تحديث المكتبات المستخدمة إذا كان يوجد بها أى ثغرات أمنية وذلك لمنع أى شخص من إستغلال تلك الثغرات.
- 2 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. في Kaggle Notebook أو أي بيئة Jupyter Notebook عموما الدالة cv2.imshow() لا تعمل بالشكل الصحيح أو المتوقع كما تعمل على جهازك المحلي وذلك لأنها مصممة لفتح نافذة واجهة رسومية GUI وهذا الأمر غير مدعوم في واجهات Kaggle أو Google Colab. ويمكنك إستخدام matplotlib بدلا منها لتحقيق ذلك وطباعة الصور . وإليك التالي لكيفية القيام بذلك : https://www.kaggle.com/discussions/questions-and-answers/275552 وهذا الدرس من kaggle لكيفية التعامل مع مكتبة OpenCV وستجد فيه أنه يخبرك أن imshow تحدث خطأ ولا تعمل : https://www.kaggle.com/code/gauravduttakiit/getting-started-with-opencv
- 4 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. هذا يعتمد على ما ستقوم به الدالة . هل ستقوم فقط بقراءة ملف وإعادة محتوياته ؟ أم ستقوم بتنفيذ كود أخر بجانب قراءة الملف . إذا كان فقط ستقوم بقراءة الملف فهنا إنشاء دالة جديدة ليس جيدا وستقوم بكتابة أكواد أكثر دون الحاجة لها . فإليك الكود مثلا بدون دالة : import pandas as pd df1 = pd.read_csv('file1.csv') df2 = pd.read_csv('file2.csv') df3 = pd.read_csv('file3.csv') وهذا هو الكود حين إنشاء دالة : import pandas as pd def load_csv(path): return pd.read_csv(path) df1 = load_csv('file1.csv') df2 = load_csv('file2.csv') df3 = load_csv('file3.csv') لاحظ كيف أنك قمت بزيادة أكواد فقط لإنشاء دالة لا حاجة لها . ولكن لو أردت تنفيذ أكواد أخرى بجانب قراءة الملف مثلا تريد التحقق من الأخطاء فيمكنك بالفعل إنشاء دالة وحينها ستكون أفضل : import pandas as pd def load_csv(path): try: return pd.read_csv(path, encoding='utf-8') except Exception as e: print(f"Error loading {path}: {e}") return None df1 = load_csv('file1.csv') df2 = load_csv('file2.csv') df3 = load_csv('file3.csv') هنا سيكون الكود أقل بالطبع وأفضل . ويمكنك أيضا إستخدام حلقة تكرار for إذا كنت مثلا تريد فتح الملفات في مجلد ما . فبدلا من كتابة المسار يدويا يمكنك إستخدام for للتكرار على ملفات المجلد مباشرة .
- 4 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. يرجى تجربة تحميل الملفات على جهازك محليا حيث يبدوا أن المكتبة xhtml2pdf أو بايثون لا يقومان بإرسال الطلب الخاص بالخط في ملف html. لذلك يرجى تحميل ملف الخط محليا ووضعه في مشروعك وفي ملف html يرجى إستخدام التالي: <style> @font-face { font-family: "Noto Sans Arabic"; src: url("/static/fonts/NotoSansArabic-Regular.ttf"); } .font { font-family: "Noto Sans Arabic", sans-serif; direction: rtl; text-align: right; font-size: 18px; } </style> بعد تحميل الخط وتنفيذ التعديل السابق يرجى إعادة تشغيل المشروع والمحاولة مرة أخرى.
-
أعتقد لن تستطيع العثور عليه هناك حيث أنه لن يكون البيع بشكل قانوني لأن الشخص ليس هو مالك الكتاب نفسه . ولكن من الممكن أن تجد نسخ مستعملة ويتم إعادة بيعها هناك ومن الممكن بشكل كبير أن تجده مع أشخاص يريدون إعادة بيعه . توجد العديد من المواقع التي تبيعه كنسخة إلكترونية pdf يمكنك البحث عنه على google books مثلا وغالبا ستجده.
- 4 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. إن هيكل البياناتHash Table بيستخدم طريقة فريدة لتنظيم البيانات في الذاكرة وحفظها بحيث يستطيع الوصول لأي عنصر بسرعة كبيرة في وقت ثابت O(1). حيث يبدأ ال Hash Table أولا بتخصيص مصفوفة (Array) في الذاكرة وكل حقل في المصفوفة يتم تخزين قيمة معينة فيه. وحجم المصفوفة يتحدد بشكل مبدأى ويمكن تكبيره عند الحاجة. بعد ذلك يتم إستخدام ما يسمى دالة التقطيع Hash Functions حيث تأخذ الدالة key الذي تريد حفظه وتقوم بتحويل المفتاح لرقم وهذا الرقم هو الindex الخاص بالمصفوفة الذي سيتم حفظ تلك القيمة فيه. وتوجد العديد من الأمور التي تقوم بها تلك الخوارزمية لتنفيذ ذلك الأمر منها التعامل مع التصادمات (Collisions) والتي تحدث في دالة ال hash والتي تعيد عدة قيم نفس ال index للمصفوفة مما يسبب مشكلة . ويمكنك قراءة التالي لمزيد من التفاصيل : https://wiki.hsoub.com/Algorithms/hashing#.D8.AC.D8.AF.D9.88.D9.84_.D8.A7.D9.84.D8.AA.D9.82.D8.B7.D9.8A.D8.B9
- 3 اجابة
-
- 1
-
-
محمد كمال9 بدأ بمتابعة محمد عاطف17
-
هل الإضافات جميعها لا تعمل معك ؟ أعتقد أنك لا تقوم بتثبيتها بالشكل الصحيح . يرجى فتح vs code والذهاب إلى الإضافات والبحث عن css flex code والضغط على install : تأكد بعد ذلك من فتح ملف css أو sass حيث هذه الإضافة لا تدعم inline css كما يظهر في الوصف أى التنسيقات الموجودة في كود html . وتأكد من إعادة تشغيل vs code بعد ذلك.
- 3 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. هذا الأمر ليس مقياس حقيقي . بل هو مثل دعابة أو مزحه . حيث إنه مقياس فكاهي وهو يشير إلى عدد المرات التي تحدث للمطور صدمة أو ارتباك أو عدم فهم شئ ما أثناء مراجعة الكود. ولهذا فهو ليس مقياس معتمد حقيقي . ولكن المقايس الحقيقية هي في ال clean code أو الكود النظيف ويمكنك قراءة التالي لمزيد من التفاصيل حول الكود النظيف :
- 3 اجابة
-
- 1
-
-
نعم يرجى إستخدام ووضع الكود في ملف htaccess الرئيسي للموقع . والتأكد من وضع الكود في بداية الملف.
-
وعيلكم السلام ورحمة الله وبركاته. ستجد هنا تفصيل بخصوص الـ Roadmap اللازمة لذلك المجال: https://github.com/h9-tect/AI-Roadmaps/blob/main/robotics-ai-roadmap.md وأيضًا ستجد هنا العديد من ال roadmaps لمجالات ال AI الأخرى التي من الممكن أن تحتاج إليها: https://github.com/h9-tect/AI-Roadmaps/tree/main ويمكنك قراءة الإجابات التالية على السؤال التالي لمزيد من التفاصيل :
- 2 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. إن الأمر git clone هو واحد من أوامر Git وهو يستخدم لنسخ أو "استنساخ" مستودع (repository) موجود على الإنترنت أو على جهاز آخر إلى جهازك المحلي. أى كما أنك تقوم بنسخ مشروع من على الإنترنت على جهازك . يمكنك قراءة تفاصيل أكثر من خلال التالي:
- 6 اجابة
-
- 2
-
-
يبدوا أن الأمر إختلط عليك أو أن المسميات بها مشكلة . إن الدورة الواحدة مثال لدورة "تطوير التطبيقات باستخدام JavaScript" . هذه الدورة تنقسم إلى عدة مسارات . والمسار نفسه ينقسم إلى عدة وحدات . وللتقدم للإختبار يجب على الأقل الإنتهاء من 4 مسارات كاملة وتنفيذ المشاريع والأكواد التي تمت في تلك المسارات ورفعها على github لتسليمها قبل الدخول للإختبار . وللتقدم للإختبار تأكد من إنهاء 4 مسارات على الأقل ومن ثم التحدث إلى مركز الدعم : https://support.academy.hsoub.com/conversations