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

عمار معلا

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

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

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

  • عدد الأيام التي تصدر بها

    3

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

  1. أتصور أنك تقصدين حل مشكلة اللغة العربية في entry خاصة tkinter في python، يمكنك حل المشكلة عبر استخدام الخط arial أو Times New Roman الذي يدعم اللغة العربية، يتم تعيين خاصية "font" للواجهة أو لعناصر واجهة المستخدم الخاصة بك بالشكل التالي:python from tkinter import * root = Tk() entry = Entry(root, font=("Arial", 12)) entry.pack() root.mainloop() يمكن إيضا تغيير الخط وحجم الخط كما تريدين، في حال تنفيذ الكود السابق سوف يظهر الاتي
  2. لا يوجد لغة برمجة قوية ولغة برمجة ضعيفة، كل برمجة مميزة في مجال ما مثلا لغة بايثون لا يوجد لها منافس ابدا في مجال الذكاء الصنعي وذلك بسبب عدد الاشخاص الذين يعملون في المشاريع المفتوحة ودعم المصدر المفتوح وكذلك توفر إطارات خاصة بعمليات تدريب نماذج الذكاء الصنعي مثل tensorflow أو keras أو pytorch وهذا يجعلها متقدمة على غيرها في مجال الذكاء الصنعي كذلك تدعم تقنيات الويب من خلال django وغيرها الكثير لكن مثلا لغة c++ تعتبر الافضل في برمجة المتحكمات والحساسات الدقيقة لأنه في هذه الحالة مثلا أنت بحاجة رد فعل سريع وخاصة على مستوى الطائرات الحربية عند الدخول في مناورات حربية أو السيارات في الأماكن المزدحمة كل هذه التطبيقات بحاجة إلى اتخاذ قرار سريع في الزمن الحقيقي ولذلك تعتبر لغة c++ الأفضل هنا لأنها الأسرع وهكذا من أجل كل لغة برمجة لها ميزة تختص بها، وكذلك اختيار اللغة يقع على نوع المجال الذي اردت العمل به
  3. وعليكم السلام محمد، تستطيع طرح الأسئلة العامة كما تشاء هنا في قسم أسئلة البرمجة وطرح الأسئلة المتعلق بالدورة أسفل فيديو الدورة. بخصوص سؤالك، أكيد سوف يتم التعمق في js html css من خلال شرح الأساسيات وتنفيذ المشاريع، و بعد إتمام الدورة وإجتياز الإختبار والحصول على الشهادة سيتم توجيهك من أجل تحسين مهارات بما يتناسب مع سوق العمل وأيضًا خدمة كتابة السيرة الذاتية مجانًا. ولكن يجب توضيح أمر هام، أنت بحاجة إلى تعلم مهارات أخرى بجانب html js css لأنه في سوق العمل يكون من ضمن المهارات المطلوبة هو العمل على أحد الأطر الشهيرة الخاصة بالواجهة الأمامية مثل React أو angluar
  4. عندما تريد العمل على مشاريع خاصة بالتشات بوت أو دردشة، على عكس التطبيقات التي تعلمتها في django والقائمة على طلب ثم تنفيذ الطلب ورد نتيجة الطلب ، يجب أن تعمل مع django channels الفكرة قائمة من أن المحادثة قائمه على ارسال رسائل أو ملفات أو صور في التوقيت الحقيقي فيجب التعامل مع django channels لكي يتم فتح اتصال دائم مع السيرفر وتلقي الرسائل وارسالها ثم بعد اغلاق التطبيق يتم اغلاق الاتصال وعند فتح التطبيق يتم انشاء اتصال دائم وهكذا، في المقال التالي تستطيع تهيئة ما تحدثت عنه سابقا والتعامل مع channels في django https://realpython.com/getting-started-with-django-channels
  5. احسنت طريقة تفكيرك صحيحة 100% حيث قمت بالمرور على كل سطر وطبعت عدد من النجوم يطابق رقم كل سطر، في البرمجة أو الرياضيات يمكن حل السؤال بألف طريقة تستطيع اختيار الطريقة التي تناسبك في الحل، وطبعا قد اخترت حل أفضل من حل الأستاذ هذا جيد ولكن نرجو منك أن تقوم بترك اسئلتك في أسفل الفيديو الذي شاهدته لكي يستفيد جميع الطلبة من طريقتك في الحل ويقوموا بتحسين حلولهم مثلك في حين تستطيع الأسئلة الخارجة عن الدروس في قسم الأسئلة عامة و يمكنك أن تسائل عن إي شيء تريده سواء في البرمجة أو إي مجال أخر
  6. يجب عليك أن تقوم بتثبيت مكتبة matplotlib لكي يعمل الكود الذي أرفقته في الصورة لتثبيت matplotlib وجعله يعمل مع FuncAnimation، يمكنك استخدام الأمر التالي في واجهة الأوامر: pip install matplotlib
  7. يوجد طريقة للتحويل بين النظام السداسي والثماني بالاعتماد على قاعدة base، بالنسبة للثماني يتم في البداية تحويل الرقم وفق قاعدة base كالاتي قاعدة base عندما يكون لدينا نظام ما وليكن النظام الثماني نقوم بضرب خانات العدد بالعدد 8 مرفوعا للاس (رقم الخانة) حيث الاحاد 0 والعشرات 1 والمئات 2 والالاف 3 وهكذا من أجل كل خانة تالية نضيف 1 ثم بعد ذلك نقوم بجمع النواتج في نتيجة واحدة ولنفترض لدينا العدد 135 ولنطبق قاعدة base 5 * 8^0 + 3 * 8^1 + 1* 8^2 يساوي 5+ 24 + 64= 93 بعد ذلك نقوم بتقسيم العدد الناتج على رقم النظام الذي نحول العدد إليه وهو هنا النظام السداسي إذا سوف نقسم على 1و في كل عملية تقسيم نسجل الباقي ونحوله إلى مقابله في السداسي حيث 0 إلى 9 تبقى كما هي في حين من 10 ل 15 تكون من A إلى F وننتهي من ذلك عندما يصبح الناتج 0 ، لنطبق على الناتج السابق 93 93 \ 16 = 5 والباقي 13 -> D 5\ 16 = 0 لأننا لا نستطيع تقسيم 5 على 16 ويكون الباقي 5 حيث كما ذكرنا الاعداد من 0 إلى 9 تبقى كما هي اذا 5 -> 5 انتهى التقسيم لأن الناتج السابق 0 بعد ذلك نقوم بدمج نواتج الباقي السابقة من الأسفل للأعلى وحسب المثال يوجد في الأسفل 5 ثم أعلاه D بالتالي جواب التحويل الكامل 5D بالنسبة للتحويل من السداسي للثماني بنفس الخطوات السابقة ولكن يكون ضرب الخانات بالعدد 16 مع مراعاة الأرقام تحويل كل حرف مثل A إلى 10 و B إلى 11 و C إلى 12 و D إلى 13 و E إلى 14 و F إلى 15 ولنأخذ المثال 5D نطبق قاعدة Base كالاتي D * 16^0 + 5 *16^1 يساوي 13 * 16^0 + 5 *16^1 عوضنا مكان D=13 بالتالي يصبح الناتج 13 + 80 = 93 نقوم بالتقسيم على رقم النظام الذي نحول العدد له وهو هنا 8 93 \ 8 = 11 والباقي 5 11 \ 8 = 1 والباقي 3 1 \ 8 = 0 لأننا لا نستطيع تقسيم 0 على 8 ويكون الباقي 1 انتهى التقسيم لأن الناتج السابق 0 نقوم بدمج النواتج كما فعلنا سابقا من الأسفل إلى الأعلى بالتالي 1 ثم 3 ثم 5 بالتالي الجواب 135 وهو ناتج التحويل ولكن طريقة التحويل الأفضل والأسرع هي التحويل إلى الثنائي ثم بعد ذلك إلى النظام السادس عشر أو النظام الثماني - التحويل من النظام السداسي عشر إلى النظام الثماني لتحويل أي عدد من النظام السداسي عشر إلى النظام الثماني: نقوم أولاً بتحويله إلى النظام الثنائي وذلك باستبدال كل رقم من أرقام العدد السداسي عشر إلى مكافئه الثنائي المكون من أربعة خانات، وبعد ضم الأرقام الثنائية إلى بعضها نقوم مرة أخرى بتقسيمها إلى مجموعات من ثلاثة خانات ونستبدل جميع مجموعة برقم ثماني وبذلك نكون قد حصلنا على العدد الثماني المطلوب. مثال : حول العدد السداسي إلى مكافئه الثماني B51.DF2 نقوم بتحويل العدد السداسي عشر إلى مكافئه الثنائي فنجد أنه يساوي 101101010001,110111110010 ثم نعيد تقسيم العدد الثنائي إلى مجموعات جميع منها يتكون من ثلاثة خانات ثنائية ثم نخط العدد الثماني المكافئ لكل مجموعة ينتج لنا العدد 5521,6762 هو عدد ثماني - التحويل من النظام الثماني إلى السداسي عشر لتحويل أي عدد ثماني إلى النظام السداسي عشر: نقوم أولاً بتحويله من الثماني إلى الثنائي، ثم نقسم العدد الثنائي الناتج إلى مجموعات جميع منها يتكون من أربعة خانات، ونقوم باستبدال جميع مجموعة منها بما يكافؤها في النظام السداسي عشر. مثال: حول العدد الثماني التالي إلى مكافئه السداسي عشري : 163,45 1 -> 001 6 -> 110 3 -> 011 4 -> 100 5 -> 101 ثم نضمه إلى أربعة خانات نبدأ من قبل الفاصلة أي مع العدد ثلاثة أي 011 ونأخد رقم من آخر خانة للذي قبله فيصبح 0011 0011 -> 3 0111 -> 7 0 نحوله إلى 0000 0000 -> 0 فيكون الناتج قبل الفاصلة هو073 الصفر لا داعي له فيكون 73 الرقم الذي بعد الفاصلة نبدأ فيه من الرقم أربعة أي من الرقم 100 ونأخذ الرقم الذي بعده فيصبح 1001 1001 -> 9 01 نحوله إلى 0100 0100 -> 4 فيكون الناتج بعد الفاصلة هو94 فيصبح الناتج الكلي في النظام السداسي عشري : 73,94
  8. يوجد لديك العديد من الأخطاء في تابع login في views، في البداية أنت تقوم بتسمية الدالة login وضمن التابع تقوم باستخدام login كاسم للform لذلك يجب عليك تصحيح جميع المتحولات ضمن جسم التابع login إلى اسم اخر وليكن form يمكنك ارسال message error مع الكائن form دون الحاجة لوضعها في قاموس اخر الدالة login تأخذ متحول الاول request والثاني user الذي يحوي username ,password بدلا من وضع login يجب وضع الدالة authenticate للتحقق من تسجيل المستخدم ثم استخدام login لتسجيل الدخول في حال كان يوجد حساب لهذا المستخدم التصحيحات في الكود التالي from django.shortcuts import render,redirect from .forms import LoginForm from django.contrib import auth # Create your views here. def login(request): if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data['username'] password = form.cleaned_data['password'] user = auth.authenticate(request, username=username,password=password) if user is not None : auth.login(request, user) # return redirect('home') else: error_message = 'معلومات الدخول خاطئة' else: error_message = 'معلومات الدخول خاطئة' else: form = LoginForm() error_message = None return render(request,'login.html',{'form':form, 'error_message':error_message})
  9. من الممكن أن تقوم باستخدام مسار خاطئ للصورة التي تقوم بحذفها، تأكد من وجود الصورة التي تقوم بحذفها وأن مسار الصورة صحيح imagePath="/مسار الصورة الصحيح/" fs.unlinkSync(imagePath) غير مكان imagePath إلى مسار الصورة الصحيح على جهازك
  10. لا يوجد دورة خاصة جدا بالتجارة الالكترونية لكن الدورة الاقرب إلى ذلك هي إدارة المنتجات.. في حال كان لديك فكرة المنتج ستساعدك هذه الدورة في تحويل هذه الفكرة إلى تطبيق قابل للاستخدام من المستخدمين حتى لو لم يكن خبرة تقنية أو برمجية في مجال الفكرة التي تدور في بالك ولكن ستعلمك هذه الدورة كيف تخطط وتقوم بتوظيف الاشخاص المناسبين للقيام بالمهام البرمجية بدلا منك وتهتم انت بالجانب التخطيطي وتحليل السوق الخاص بالفكرة والمنافسين في حال كانت الفكرة مطروحة سابقا، تستطيع حضور برومو للدورة من هنا
  11. يوجد لديك العدد من الاخطاء، في البداية انت تقوم بحفظ ملف python في اللاحقة txt فلذلك لا ينفذ البرنامج قم بحفظه ب ss.py ثم قم بتشغيله عند تشغيله سوف يظهر لك عدة اخطاء مثل search_box = tk.Entry(window, font=("Arial", 14)) search_box.pack(pady=20) # إضافة زر البحث search_button = tk.Button(window, text="Search", font=("Arial", 14), command=search) #هنا عند التعليق "هنا" يجب أن يكون command يساوي search_box بحسب الكود الخاص بك ، التصحيح search_button = tk.Button(window, text="Search", font=("Arial", 14), command=search_box) بعد تصحيح هذا الخطأ وتنفيذ الملف في terminal سوف يظهر الاتي الكود بدء بالعمل، كذلك يوجد خاطئين أخرين متعلقة بالأسطر التالية حيث يجب تعريف التوابع في نفس الملف أو استدعائها من الملف التي تم تعريف هذه التوابع فيه # إضافة المستندات إلى شجرة بحث ثنائية tree = add_documents_to_tree(documents) # بحث عن الكلمات المطابقة في شجرة بحث ثنائية matching_words = search_tree(tree, query)
  12. وعليكم السلام غيث، ما يحدث أنك تستخدم login كاسم object وهي كلمة محجوزة يجب أن تقوم باستخدام اسماء اخرى ك form أو إي اسم أخر ليس محجوز باللغة و التغير يتم في هذه الملفات، في البداية login.html <title>Login</title> <form method="post"> {% csrf_token %} {{ form }} <button type="submit">تسجيل الدخول</button> </form> {% if error_message %} <p style="color: red;">{{ error_message }}</p> {% endif %} ثم ملف views.p def login_view(request): if request.method == 'POST': login = LoginForm(request.POST) if login.is_valid(): username = login.cleaned_data['username'] password = login.cleaned_data['password'] user = authenticate(request, username=username, password=password) if user is not None: login(request, user) return redirect('home') else: error_message = 'معلومات الدخول غير صحيحة' else: error_message = 'معلومات الدخول غير صحيحة' else: form = LoginForm() error_message = None login = LoginForm() return render(request, 'registration/login.html', {'form': form, 'error_message': error_message}) أعد تغيير الملفات وسوف يعمل لديك
  13. لا انصحك بتعلم full stack web دفعه واحدة لكي تحصل على عمل في مواقع العمل الحر مثل مستقل أو خمسات تعلم مثلا مجال front أو back ثم قم بتعلم احدها وجرب بعدها بالحصول على عمل، في حال تعلمك لمجال back end أو front end أو full stack فيجب عليك البدء بأساسيات المجال وهي html css javascript ثم بعد ذلك في حال تخصصك: مجال front end : تعلم إطار React js أو Vue js أو Angluer js أول اثنين الاعلى طلبا في سوق العمل الحالي مجال back end: تعلم إطار laraval أو nodejs أو Django وجميعها الاعلى طلبا في سوق العمل الحالي full stack: تستطيع الدمج بين إطار عمل من مجال front و إطار عمل أخر من back مثل react + django أو laraval + vuejs بالإضافة في حال backend يجب أن تكون على معرفة بالتعامل مع قواعد البيانات PostgreSQL أو MongoDB اذا احترت في الاختيار ادخل إلى مستقل مثلا وقم ببحث بسيط عن احد الأطر وتحدد ماذا تريد
  14. اذا كنت تقصد api خاصه بعمليات الدفع والشراء لتقوم ببيع مفاتيح الألعاب، وتقوم بربطه ببوت تلغرام ن انصحك باستخدام stripe تستطيع أن تقوم بدمجه في الكود الخاص بك باستخدام بايثون ما يميز stripe أنه منتشر في جميع أنحاء العالم ويوفر طريقة امنه لعمليات البيع والشراء من خلال توفير مفاتيح خاصة بالتجريب ومرحلة الانتاج، تستطيع أنشاء حساب من هنا وتثبيت stripe يتم عبر الاتي pip install stripe وستجد بعد تأكيد الحساب المفاتيح التي تحدثت هنا كالصورة التالية أما عن طريقة كتابة الأكواد الخاص ب stripe ستجدها في الرابط التالي https://stripe.com/docs/api?lang=python
  15. لا تستطيع إيجاد دورة في أي مكان تغطي كل شيء بخصوص git و github ولكن يوجد في الأكاديمية مجموعة من المقالات وبعض الدورات كفصل ضمن الدورة و التي تغطي كل ما تحتاجه لتستخدم git & github كمبرمج محترف، عند عملك في شركة في البداية أنت فقط بحاجة معرفة الاساسيات والتدرب عليها عبر مشاريعك مثل: كيفية أنشاء مشروع وإضافة الملفات عليه وكذلك وضع اسم للتغيير في كل مرة يتم فيها تغيير ملفات المشروع وسوف تمر بالمصطلحات التالية repo الذي يمثل اسم المشروع، add خاصة بإضافة الملفات، commit وضع اسم للتغييرات الجديدة أنشاء فرع من المشروع الأصلي لتطوير ميزة معينة ثم دمجها مع الفرع الأصلي للمشروع وحل التعارض بين الأفرع المختلفة وسوف تمر بالمصطلحات branch الذي يعني فرع، merge للقيام بعملية الدمج، master أو main اسم الفرع الأصلي، أسماء الأفرع الأخرى اختيارية يوجد إيضا العديد من العمليات التي لا تستطيع فهمها في مستواك الحالي وتحتاج للدخول في github & git ويمكنك البدء من هنا وتستطيع الوصول إلى المقالات من هنا
  16. وعليكم السلام، شهادة cs50 مهمة لسبب واحد أنها توضعك على بداية الطريق بشكل جيد، ولكن ليس لأجل العمل كل الشركات في هذا العالم تتجه إلى توظيف الأشخاص الذين يمتلكون المهارة وليس الشهادات وهذا حسب اعتراف أكبر الشركات العالمية مثل Google و Facebook، لذلك يجب عليك بعد أن تحصل على هذه الشهادة أن تقوم بالتركيز على موضوع ما مثل أن تكون مبرمج ويب محترف من ناحية Backend كمثال ثم تقوم بالبحث عن اللغات التي نستطيع بها برمجة backend ولتكن nodejs أو django ثم بعد اختيارك لأحدها تقوم ببناء مشروع تلو الأخر وكل مشروع تقوم ببناء تقوم بإضافته إلى حسابك على Github وهكذا تصبح فرصتك في العمل أكبر بسبب وجود حساب github قوي وتستطيع الشركات التعرف على طريقة كتابتك للكود والتفكير به ضمن هذا الحساب وهذا الحساب يجب أن تضعه ضمن السيرة الذاتية عند التقديم إلى وظيفة ما.
  17. أن استخدام github غير محدود تستطيع أن ترفع عليه ما تشاء من المشاريع البرمجية ولكن 2000 دقيقة خاصة بخدمة github actions حيث بدلا من أن تقوم بتجريب الكود الخاص بك فقط على جهازك تستطيع التحقق من الكود على سيرفر تقدمه github لك مجانا ولكن بشكل محدود هو 2000 دقيقة لكي تقوم بتجريب كودك يجب عليك أن تقوم بوضع مجلد بالاسم .github ثم ضمنه يوجد مجلد اخر بالاسم workflow ثم بعد ذلك ملف yaml يجب عليك أن تبحث كيف تقوم بكتابة التعليمات ضمن ملف yaml فهو يستخدم لتنفيذ أوامر لكي تجرب تطبيقك مثل أن يقوم في البداية بتنزيل حزم المكتبات ثم يقوم بتشغيل التطبيق وتنفيذ أوامر عليه مثلا لو كان لديك سكربت بايثون وليكن بالاسم test.py لإظهار صورة ما تحتاج مكتبة cv2 للتعامل مع الصور فمثلا في ملف yaml تستطيع كتابة أولا تنزيل المكتبة cv2 ثم تشغيل السكربت هذا السكربت فقط مهمته فتح الصورة وإظهارها في consle وهكذا تستطيع كتابة تعليمات تسلسلية من أجل تطبيقك سواء كان front أو back أو إي تطبيق أخر الفائدة المحققة من ذلك هو تجربة عمل كودك على سيرفر منفصل لتحقق من أنك قمت بتضمين جميع الحزم والتبيعات وهنا يأتي دور 2000 دقيقة حيث يمكنك أن تقوم بالتجريب على هذا السيرفر مدة 2000 دقيقة فقط ثم الشهر التالي 2000 وهكذا
  18. مشكلتك متعلقة بأن الوظيفة image في PIL تستخدم لقراءة الصورة الموجودة على جهازك وليس من خلال رابط على الانترنت ولكن لتحل هذه المشكلة ولتقوم بقراءة الصورة بشكل صحيح يجب عليك أن تقوم بالحصول على الصورة من خلال الرابط ويتم ذلك عبر مكتبة requests تستطيع استخدام التابع get المعرف فيها وتزويده بالرابط الخاص بالصورة ثم بعد ذلك حفظ الصورة باستخدام الوظيفة write مع تغيير مسار التخزين output_image كيفما تريد ثم بعد ذلك تستطيع فتح الصورة باستخدام الوظيفة open في image import requests from PIL import Image import pytesseract # تنزيل الصورة import requests url_image = 'https://2.bp.blogspot.com/--I_lNobSfMk/V8MKPK9wDLI/AAAAAAAAY1Q/cyzstRG2EWoobUk0D3xNvojqwYFIeY1NwCLcB/s1600/kalam-hob-english%2B%25282%2529.jpg' output_image = '/path/image.jpg' response = requests.get(url_image) with open(output_image, 'wb') as file: file.write(response.content) image = Image.open(output_image) لا تنسى تغيير output_image حسب حاجتك وبعد ذلك تستطيع التعامل مع الصورة وتطبيق العمليات عليها
  19. في حال عملك على مشاريع يوجد فيها داتا ثابته كالجداول مثل بيانات فنادق مستشفيات ..الخ فالأفضل في هذه الحالة النماذج الخاصة بأشجار القرار Decision Tree والغابات العشوائية Random Forest فهي سوف تعطيك الدقة الأفضل وهذه النماذج موجودة في المكتبات التالية sklearn xgboost catboost lightgbm وجميعها مكتبات مميزة عند تدريبها على داتا ثابتة كالجداول في حين لم يكن لدينا داتا ثابته كالصور والنصوص والصوت والفيديو الخيار الأفضل هو استخدام الشبكات العصبونية مثل rnn cnn lstm وغيرها الكثير وفي هذا السياق أفضل المكتبات هي tensorflow keras pytorch مع ملاحظة أن keras مبنية فوق tensorflow وليست منفصلة عنها
  20. الأمر معقد بسبب الحاجة إلى معرفة العديد من المواضيع لحل هذه المشكلة في البداية : أنت بحاجة إلى معرفة بمبادئ الذكاء الصنعي ومن ضمنها الرؤية الحاسوبية بعد ذلك عند الدخول إلى هذا الموقع أو إي موقع يضع اختبار لكي يتم التأكد "أنك لست روبوت" فأنت بحاجة إلى أن تقوم ب screenshot للاختبار وحفظ الصورة ويتم ذلك باستخدام مكتبة pyscreenshot مثلا معالجة هذه الصورة وبناء نموذج ذكاء صنعي للتعرف على الحروف في الصورة يحول كل حرف رقمي في الصورة إلى محرف نصي يتم معالجة الصورة باستخدام مكتبة opencv للتعامل مع الصور وتستطيع حتى حل بعض الاختبارات باستخدام هذ المكتبة ولكن ليس معظمها في حال عدم حل مجمل الاختبارات أنت بحاجة إلى بناء نموذج كما تحدثنا للتعرف على المحارف واذا لم يكن لديك معرفة في بناء النماذج تستطيع أن تحل هذه المشكلة بنسبة كبيرة باستخدام مكتبة pytesseract ocr المتخصصة بقراءة المحارف في الصورة ثم بعد ذلك تقوم بإدخال النتيجة وأرسال الطلب طبعا العملية معقدة تستطيع الاستفادة من هذا repo فهو قريب لما تريد
  21. أتفهم ضياعك ..لا تخف كلنا شعرنا بالضياع في هذه المرحلة، ولكن كنصيحة مفيدة لك لتتعلم أفضل... يجب عليك أن لا تقوم بتحديد مدة في اليوم بالتعلم مثل ساعتين أو ثلاث.. الخ ، لأنه في حال لم تحقق ساعتين أو ثلاث في اليوم فهذا سوف يجعلك تشعر أنك تتأخر في عملية التعلم. أهم فكرة عند تعلمك البرمجة هي أن لا تلتزم بالكمية يجب أن تلتزم باستمرارية التعلم حتى لو تعلمت في اليوم 10 دقائق، المهم هو أن لا تنقطع عن عملية التعلم لأن البرمجة بحاجة إلى فترة مستمرة وليست متقطعة لفترات طويلة.. أي أن تقوم بالدراسة لمدة 30 دقيقة في اليوم لمدة شهرين أفضل من أن تدرس ساعتين في اليوم لمدة شهر ثم تنقطع شهر أخر كذلك البرمجة تحتاج إلى الممارسة الدائمة للوصول إلى النتيجة المرجوة و لا تخف من الأخطاء، الأخطاء هي ما ستجعلك مبرمج أفضل لأنه عند ظهور خطأ وحله من قبلك ستتعلم شيء جديد وهكذا إلى أن تصبح أفضل وأفضل مع مرور الوقت لا تنسى حتى المبرمجين المحترفين قد واجهوا مرحلة الضياع هذه بالتمرين أكثر وكتابة الأكواد
  22. اذ لم تجدي طلبك على الانترنت، تستطيعي القيام بتكوين سيرفرات على جهازك ويتم ذلك بطريقتين: استخدام بيئات افتراضية vm على جهازك يمكن ذلك عبر تثبيت إي برنامج خاص بالبيئة الافتراضية مثل Oracle VM VirtualBox ثم بعد ذلك تفعيل سيرفر خاصة بالكاميرا وتخزين اللقطات ووضعها في database وسيرفر خاص بعملية التدريب وسيرفر خاص بعملية أطلاق النموذج إلى الويب عبر إي إطار عمل مثل flask django وتستطيعي تخصصين 1 cpu و 2 RAM لكل منها. استخدام docker وتفعيل نفس السيرفرات في الطريقة الأولى ولكن على شكل Containers كل منها يعتبر سيرفر ويأخذ فقط ما يحتاج من resourse عند الحاجة على عكس الطريقة الأولى التي يعتبر حجز الموارد ثابت ومنفصل عن إي vm أخرى، يمكنك التعرف على docker من خلال المقالة التالية
  23. الأفضل أولا هو أن تبدأ بتعلم بايثون ثم أساسيات التعلم الالي والتدرب على بناء النماذج من الصفر باستخدام المكتبات numpy matplotlib pandas ثم تعلم أساسيات التعلم العميق الخاص بالشبكات CNN,RNN,LSTM وفهم بنية كل شبكة والتطبيق العملي على هذه الشبكات باستخدام keras, tensorflow ثم بعد تعمقك في CNN ستصل إلى أن mobilenet مبنية من عدة شبكات CNN ولا داعي لبنائها من الصفر لأن بذلك سوف تضيع عمل الاخرين بالمجال لأنه يمكنك الاستفادة من النماذج المدربة عبر ما يعرف بنقل التعلم "transfer learning" وهو يشير إلى الاستفادة من النماذج المدربة مسبقا واستخدامها في التدريب على الداتا الموجودة لديك وبالتالي سوف توفر الوقت ووقت عملية التدريب حتى أنك سوف تحصل على دقة أعلى تسمح للنموذج بإعطاء نتيجة صحيحة أكثر فيما لو قمت ببناء mobilenet من الصفر سوف تستهلك وقت أطول والتدريب سيأخذ وقت طويل وكذلك من الممكن أن لا يتوفر لديك GPU لعملية تدريب مرنة كذلك من الممكن أن تكون نتيجة النموذج سيئة
  24. انا كذلك مثلك، عندما قمت بأول عمل لي على مستقل، سألت نفسي كيف سأقوم بسحب الأموال أو شحن الحساب في مستقل أو خمسات أ.. قمت ببحث على فيسبوك عن مجموعات الفريلانس السورية الخاصة بخمسات ومستقل ووجدت أكثر من غروب يضم الفريلانس السوريين ثم قمت ببحث ضمن الغروب عن كلمات مثل شحن أو سحب من مستقل أو خمسات ثم وجدت العديد من الأشخاص الذين يقومون بهذه العمليات ويمكن الثقة بتقديم هذه الخدمات من خلال تعامل الأشخاص معهم..تستطيع تطبيق نفس عملية البحث وسوف تجد المطلوب إن شاء الله
  25. من الممكن أن يكون الباحث يقوم بالأمرين باحث ومطور ولكن يكمن الفرق الأساسي في أن الباحث يستطيع تحليل ومناقشة الأوراق البحثية الموجودة في المجال وكذلك حل مشكلة جديدة بالاعتماد على أبحاث سابقة ونشر أوراق بحثية في مجلات عملية محكمة مثل springer أما المطور يعمل تحت الباحث ويقوم بتنفيذ ما يتطلب الأمر للوصول إلى النتيجة المرجوة تحت إشراف الباحث يقوم ببناء نماذج التعلم الالي مثل باستخدام keras tensorflow، وأدوات مراقبة مثل tensorboard..يستطيع إيضا النقاش مع الباحث في أمور تتعلق بتطوير النماذج وقراءة الورقة البحثية بالنسبة لكي تكون باحث يجب أن تكون ملم بالبحث العلمي وكذلك قراءة وتحليل الأوراق البحثية وكذلك العمل على حل مشاكل ونشر أوراق بحثية في مجالك. بالنسبة لكي تكون مطور يجب أن تكون ملم ببايثون واهم الاطر لبناء النماذج مثل keras tensorflow وتستطيع أن تقوم بكتابة كود من خلال قراءتك لورقة بحثيه وفهم النموذج التي تعمل عليه ثم تحويله إلى كود يحقق المطلوب.
×
×
  • أضف...