-
المساهمات
2393 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
13
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Chihab Hedidi
-
مع كل المجالات التي ذكرها الأخ مصطفى يوجد ايضا مجالين أرى أنهم مربحين و لكن القليل من يتجه لهم، لا أقول انه يتم الإعتماد عليهم كعمل رئيسي و لكن يمكنك الكسب من خلالهم بالقيام بمشاريع بسيطة الى أن تتقنهم بالشكل الجيد و هما ال webscraping و automation: من ناحية استخدام ال webscraping يمكن استخراج البيانات من عدة مواقع لتستخدمها في مجال معين، و يوجد الكثير من المشاريع في موقع مستقل الذي يطلبون فيه هذا العمل. تحتاج في هذا المجال تعلم بعض المكتبات في بايثون و أهمها مكتبة Beautiful Soup. اما من ناحية ال automation او الأتمتة، حاليا يوجد الكثير من الأعمال المتكررة في المواقع و التي تأخذ وقت في بعض الأحيان بالرغم من أنها بسيطة، في هذه الحالة نستخدم الأتمتة ليقوم السكريبت او الكود البرمجي بالقيام بالعمل بدل عن المستخدم. يمكنك الدخول الى المجال عبر مكتبة Selenuim التي أراها سهلة للتعلم و لن تستهلك منك الوقت و الجهد. https://io.hsoub.com/tech/150826-أتمتة-المهام-باستخدام-مكتبة-selenium-ولغة-البايثون
-
واجهت هذه المشكلة من قبل، الحلول تختلف من كمبيوتر لآخر، أحد الحلول التي اشتغلت معي هي تغيير طريقة التشفير لواحدة تقبل اللغة العربية و المستخدمة حاليا هي UTF-8: يمكنك تجربة الكود التالي مع التغيير البسيط الذي أحدثته لأنه اشتغل معي بهذه الطريقة: # -*- coding: UTF-8 -*- from tkinter import * from awesometkinter.bidirender import add_bidi_support # Create Object root = Tk() frame2 = Frame() frame2.pack(pady=10) address = Text(frame2,width=37,height=10) address.pack() add_bidi_support(address) #address root.mainloop()
- 3 اجابة
-
- 1
-
و يمكنك التحسين أكثر على الكود بحيث يصبح شغال مع أي رقم و ليس فقط مع الرقم 7، بحيث تضيف متغير آخر ليكون على سبيل المثال بإسم goal و تكون المقارنة بالطريقة التالية: num =int(input("Please enter a number:")) goal=7 if num==goal: print("You Won") elif num ==goal+1 or num== goal-1: print("So Close") else: print("You Lost") و يمكنك تغيير goal بأي رقم تريد.
-
من خلال تجربتي كنت دائما استخدم venv، و لكن مؤخرا وجدت انها تستهلك الكثير من حجم التخزين، حيث انهم يكون لكل مشروع بيئة افتراضية خاصة به، و إن كنت تعمل على العديد من المشاريع سيكون عليك تحميل المكتبات لكل مشروع لوحده، حتى اذا كانت هناك مكاتب مشتركة بين المشاريع سيتعين عليك تحميل عدة مرات خاصة بكل مشروع. أحد الحلول التي وجدتها هي استخدام البيئة الإفتراضية الخاصة ب anaconda و التي تكون بإسم conda مع برنامج pycharm بحيث لا تحتاج في كل مرة لإنشاء بيئة إفتراضية او إعادة تحميل نفس المكاتب، في هذه الحالة ستربح الوقت و تربح ايضا مكان للتخزين. لتثبيت Conda قم بتنزيل أحدث نسخة من Anaconda من الموقع الرسمي، بعد تثبيته و من داخل برنامج pycharm انقر على Python Interpreter في اللوحة اليمنى، ستظهر لك قائمة بالمفردات والبيئات المتاحة لـ Python. في أعلى النافذة، يمكنك اختيار Conda من القائمة المنسدلة.
-
في Express.js، يمكن استخدام الشرط الذي يحتوي على return كجزء من middleware. Middleware في Express.js هو وظيفة تأخذ ثلاثة معاملات: request (طلب), response (استجابة), و next (وظيفة للانتقال إلى middleware التالي في السلسلة). الـ return يمكن استخدامه لإيقاف تنفيذ middleware والرد على العميل مباشرة دون الحاجة للمرور إلى middleware التالي. بالنسبة للاستبدال، يمكن استخدام middleware لتنفيذ العديد من الأشياء مثل التحقق من الصلاحيات، تنقية البيانات، إعداد البيئة، وغيرها. إذا كنت بحاجة إلى تنفيذ تفاصيل محددة داخل شرط if، يمكنك استبداله بمشتق middleware واستخدامه في التطبيق بنفس الطريقة. و هذا مثال بسيط للكود: // Middleware الأصلي بشرط if function customMiddleware(req, res, next) { if (someCondition) { return res.status(403).send('تم رفض الوصول'); } next(); } // استبدله بمشتق middleware function customMiddleware(req, res, next) { // تنفيذ الشرط هنا if (someCondition) { return res.status(403).send('تم رفض الوصول'); } next(); } يعني يمكنك استبدال شرط if بمشتق middleware إذا كان هذا الشرط يناسب احتياجات تطبيقك بشكل أفضل.
- 3 اجابة
-
- 1
-
يلزم تضيف python ل PATH ايضا عشان يتم استخدام الأمر الخاص به. لإضافة Python إلى متغير PATH في نظام Windows ، يمكنك اتباع الخطوات التالية: ابدأ بفتح نافذة موجه الأوامر (Command Prompt). اكتب الأمر التالي للعثور على مكان تثبيت Python على جهاز الكمبيوتر الخاص بك: where python سيقوم هذا الأمر بعرض مسار تثبيت Python. انسخ المسار الذي تم عرضه. على سبيل المثال، قد يكون المسار شيئا مشابها لـ "C:\Users\YourUsername\AppData\Local\Programs\Python\PythonXX" حيث XX هو إصدار Python الذي تستخدمه. 4. الآن، قم بإضافة المسار إلى متغير PATH باستخدام الأمر التالي. يجب عليك استبدال <PythonPath>`بالمسار الذي نسخته في الخطوة السابقة: setx PATH "%PATH%;<PythonPath>" على سبيل المثال: setx PATH "%PATH%;C:\Users\YourUsername\AppData\Local\Programs\Python\PythonXX" بعد تشغيل الأمر أعلاه، ستحتاج إلى إعادة تشغيل نافذة موجه الأوامر أو أي تطبيق آخر تستخدم Python لتحديث متغير PATH. يجب أن يكون Python مضافا إلى متغير PATH الخاص بك، وبالتالي يمكنك تشغيل الأوامر والبرامج التي تستخدم Python من أي مكان في نظام الويندوز.
-
سيقومُ الشخص الذي يقابلك في نقطة ما من اللقاء بتقديم مشكلة/تمرين برمجي وسؤالك عن كيفيّة حلّه، أو سيطلب منك أن تشرح له كيفَ تعمل خوارزميّة ما أو ما هو مبدأ هيكل بيانات معيّن، لذا وبطبيعة الحال يجبُ أن تكونَ مستعدًّا لجميع الأسئلة الممكنة، وأن تقومَ بالتدرّب على بعض الخوارزميات الهامّة والمستخدمة بكثرة ومن أهم هذه الخوارزميات ما يلي: خوارزميات الـ Graph: Breadth First Search (BFS) Depth First Search (DFS) Dijkstra خوارزميات البرمجة الديناميكيّة (Dynamic Programming): أطول سلسلة جزئيّة مشتركة (Longest Common Subsequence) أطول سلسلة جزئيّة متزايدة (Longest Increasing Subsequence) مشكلة حقيبة الظهر 1/0 Knapsack Problem خوارزميات البحث والترتيب (Sorting & Searching Algorithms): البحث الثنائي (Binary Search) الترتيب السريع (Quick Sort) الترتيب الدمجي (Merge Sort) خوارزمية نوث-برات-نوريس (Knuth-Morris-Pratt Algorithm) هياكل البيانات (Data Structures): شجرة فنويك/ الشجرة الثنائية (Fenwick tree/ Binary Tree) الشجرة الإحصائية (Segment Tree) المخطط (Graph) جدول التجزئة (Hash Table) المكدسات والأرتال (Stacks & Queues) بالطبع، هناكَ المزيد والمزيد ولكنّني قمتُ بذكر أهمّها. المقابلات التقنية تتضمن عادة عدة مراحل تهدف إلى تقييم مهارات وقدرات المرشحين. هذه المراحل تشمل: مقابلة مباشرة عن بعد: في هذه المرحلة، يتحدث المتقدم مع ممثل من الشركة عادة مدير الفريق أو موظف من قسم الموارد البشرية. الهدف من هذه المرحلة هو التعرف على المرشح وتقديم نظرة عامة على خلفيته وتجربته. اختبار من المنزل: يُطلب من المرشح حلاً لمشكلة برمجية أو مهمة تقنية تقوم بإرسالها عادة عبر الإنترنت. يتيح هذا الاختبار للشركة تقييم مهارات البرمجة والقدرة على حل المشكلات لدى المرشح. مقابلة تقنية مباشرة: في هذه المرحلة، يتم إجراء مقابلة وجهاً لوجه في مبنى الشركة. يمكن أن تتضمن هذه المرحلة عدة مقابلات تقنية حيث يتم تقديم مشاكل برمجية وتحديات تقنية للمرشح لحلها أو شرح مفاهيم تقنية. الجوانب الرئيسية التي يتم تقييمها تشمل: الجانب التقني: يُطلب من المرشح حلاً لمشكلة برمجية أو شرح كيفية عمل تقنية أو خوارزمية معينة. يجب أن يكون المرشح على دراية بالخوارزميات والهياكل البيانية وغيرها من المفاهيم التقنية. الجانب السلوكي: يتم تقييم سلوك المرشح وقدرته على التواصل والتعامل مع الفريق. يُطلب من المرشح الإجابة عن أسئلة حول تجاربه السابقة وكيفية تعامله مع التحديات والصراعات. الجانب المنطقي: يتم تقييم قدرة المرشح على حل المشكلات والتفكير الإبداعي. يمكن أن تتضمن هذه المرحلة أسئلة تحتاج إلى تحليل منطقي واستخدام التفكير النقدي. في النهاية، بعد اجتياز مراحل المقابلات التقنية، يُخبر المرشح بالنتيجة وقد يتم تقديم عرض وظيفي إذا تم اختياره. كيف تحضر لمقابلة عمل لوظيفة مهندس برمجيات؟
-
رسالة "could not find or load main class" تعني أن نظام التشغيل لا يمكنه العثور على الصنف الرئيسي (Main Class) الذي يجب أن يتم تنفيذه عند تشغيل البرنامج. هناك العديد من الأسباب التي يمكن أن تؤدي إلى هذه المشكلة. لحل المشكلة: 1. انقر بزر الماوس الأيمن على مشروعك في مستكشف المشروع (Project Explorer). 2. انقر على الخصائص (Properties). 3. انقر على تشغيل (Run). 4. تأكد من أن الصنف الرئيسي (Main Class) هو الصنف الذي تريد أن يكون نقطة الدخول لبرنامجك. (تأكد من استخدام الاسم الكامل للصنف، على سبيل المثال mypackage.MyClass). 5. انقر على موافق (OK). 6. قم بتنظيف وبناء مشروعك (Clean and Build your project). 7. قم بتشغيل المشروع (Run Project). باستخدام هذه الخطوات، يجب أن تتمكن من تصحيح مشكلة "could not find or load main class" وتشغيل برنامجك بنجاح.
-
إذا كنت تواجه هذه المشكلة عند محاولة تشغيل الأمر "taskaty" في Visual Studio Code او command line، فهذا يشير عادة إلى أن النظام لا يعرف ماهية الأمر الذي تحاول تنفيذه. لحل هذه المشكلة، قم بالتحقق من PATH environment variable للتأكد من أنه يتضمن المجلد الذي يحتوي على البرنامج أو الأمر الذي تحاول تشغيله. إذا لم يكن هذا المجلد مدرجا في PATH، يجب عليك إضافته.
- 7 اجابة
-
- 1
-
يمكنك إنشاء تطبيق HR يخزن بيانات الموظفين في Google Sheets باستخدام لغة البرمجة Python وGoogle Sheets API. إليك مثال على كيفية البدء: قبل أن تبدأ عليك تثبيت المكتبة اللازمة، تأكد من أنك قمت بتثبيت المكتبة الخاصة بـ Google Sheets API باستخدام pip: pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib من ثم يجب إعداد مشروع Google API بالخطوات التالية: 1. قم بالانتقال إلى موقع https://console.developers.google.com/ وأنشئ مشروع جديد. 2. انقر على "مشروع" ثم "إعداد مشروع" لتمكين Google Sheets API. 3. انشئ مفتاح API وقم بتنزيله. احتفظ به بشكل آمن. الآن سنقوم بالبرمجة باستخدام Python للوصول إلى Google Sheets. يفترض أن لديك ملف JSON يحتوي على مفتاح API الذي قمت بإنشائه. import gspread from oauth2client.service_account import ServiceAccountCredentials # تكوين التفويض scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"] creds = ServiceAccountCredentials.from_json_keyfile_name("اسم_ملف_JSON.json", scope) client = gspread.authorize(creds) # اختيار وفتح ورقة العمل worksheet = client.open("اسم_ورقة_العمل").sheet1 # إضافة موظف جديد new_employee = ["اسم الموظف", "العنوان", "رقم الهاتف", "البريد الإلكتروني", "الوظيفة"] worksheet.append_row(new_employee) # قراءة البيانات data = worksheet.get_all_records() print(data) هذا الكود يمكنك من إضافة موظف جديد إلى ورقة العمل وقراءة البيانات منها. يمكنك تخصيص الأعمدة والصفوف وفقا لاحتياجاتك. تأكد من استبدال "اسم_ملف_JSON.json" بمسار ملف JSON الذي قمت بتنزيله من مشروع Google API الخاص بك، واستبدال "اسم_ورقة_العمل" باسم ورقة العمل التي تريد استخدامها.
-
حاليا لا تستطيع العمل بعمر 14 سنة في مستقل بسبب شروط الاستخدام التي يمكنك الاطلاع عليها من هنا: https://mostaql.com/p/terms بحيث يتطلب ان يكون عمر المستخدم أكبر من 18 سنة.
- 7 اجابة
-
- 1
-
المشكلة التي تواجهينها يمكن ان تكون لعدة أسباب،سأحاول طرح الحلول الممكنة لحل المشكل و تجنب هكذا مشاكل في المستقبل. تأكدي من أنك قمت بتعديل عنوان الرابط الثابت بشكل صحيح وأنه لا يحتوي على أي أخطاء أو مسافات فارغة، يجب أن يتضمن الرابط أحرفا وأرقاما فقط ومسطرة (_) أو علامات تحت السطر (-). بعد تعديل الرابط الثابت، قومي بالتحقق مما إذا كانت هناك أية روابط أو صفحات أخرى تشير إلى المقال السابق باستخدام الرابط القديم. إذا كان هناك، قم بتحديث تلك الروابط لتشير إلى الرابط الجديد. بعد ضمان أن جميع الروابط تشير إلى الرابط الجديد، قومي بالذهاب إلى لوحة تحكم بلوجر واختاري المقال الذي قمت بتعديله. ثم، قومي بالنقر على "تحرير" وتأكدي من أن الرابط الثابت الجديد تم تحديده بشكل صحيح. إذا ما زالت المشكلة قائمة، قد تحتاجين إلى تجربة إعادة بناء ملف sitemap لموقعك وتقديمه إلى محركات البحث مثل جوجل لضمان ارشفة المقال الجديد وربطه بالرابط الثابت الجديد. في حال استمرت المشكلة، يمكنك البحث يمكنك التواصل مع الدعم الفني لبلوجر ليوضحو حلهم المقترح في مثل هكذا حالات.
-
لتفعيل خدمة الدفع الإلكتروني Apple Pay في مشروع Django، ليس كافيا فقط امتلاك IBAN. Apple Pay هو خدمة تتعامل بشكل رئيسي مع بيانات البطاقة الائتمانية والخصوصية، ولذا تتطلب إعدادات معينة والامتثال لمتطلبات Apple. الخطوات العامة لتفعيل Apple Pay تشمل: التسجيل كمطور Apple: يجب أن تسجل حساب مطور على موقع Apple Developer (https://developer.apple.com/). إعداد التطبيق: يجب عليك إنشاء التطبيق الخاص بك على موقع Apple Developer وتكوينه بالمعلومات الضرورية. إعداد Apple Pay: اتبعي إرشادات Apple لإعداد Apple Pay داخل التطبيق الخاص بك. تكوين Django: يجب تكوين مشروع Django الخاص بك لدعم Apple Pay باستخدام المعلومات والمفاتيح المقدمة من Apple. تحتاجين ايضا إلى تضمين مكتبة Apple Pay JavaScript SDK في صفحتك. يُفضل تضمينها من Apple مباشرة أو عبر CDN. هذا هو مثال بسيط عن الكود: <!DOCTYPE html> <html> <head> <title>Apple Pay Example</title> <!-- تضمين مكتبة Apple Pay SDK --> <script src="https://apple.com/apple-pay/dist/js/1/checkout.js" crossorigin="anonymous"></script> </head> <body> <button id="applePayButton">Pay with Apple Pay</button> <script> // تكوين معلومات الدفع const paymentRequest = { countryCode: 'US', currencyCode: 'USD', total: { label: 'Total', amount: '10.00', }, }; // تكوين عناصر الدفع const paymentOptions = { requestPayerName: true, requestPayerEmail: true, }; const applePayButton = document.getElementById('applePayButton'); // تكوين واجهة Apple Pay const applePaySession = new ApplePaySession(1, paymentRequest); // إضافة معالج للزر applePayButton.addEventListener('click', () => { applePaySession.begin(); }); // معالج لعملية الدفع نفسها applePaySession.onpaymentauthorized = (event) => { const payment = event.payment; // هنا يمكنك إجراء المزيد من الإجراءات مثل إرسال البيانات إلى الخادم الخاص بك لإتمام الدفع // يجب التحقق من توثيق العميل ومعالجة الدفع بناءً على البيانات المستلمة. // لاحقًا سيتعين عليك تكوين المزيد من الأمور مثل إعدادات مفاتيح الوصول والإعدادات في Django. // قبول العملية applePaySession.completePayment(ApplePaySession.STATUS_SUCCESS); }; </script> </body> </html> هذا المثال يوضح كيفية تضمين زر "Pay with Apple Pay" وتكوين واجهة Apple Pay البسيطة. تذكري أن هذا مجرد مثال بسيط وتحتاجين إلى المزيد من العمل لتكوين الأمور بشكل كامل ومتكامل داخل مشروع Django الخاص بك، بما في ذلك إعدادات الأمان ومعالجة البيانات وتكوين الخادم.
-
المكتبة تثبتت و لكن على حسب الصورة التي ارسلتها مكتبة numpy ايضا غير مثبتة. لذلك من الأفضل ان تقوم بنفس الأمر مع مكتبة numpy.
-
في هذه الحالة يا أخي مسار pip غير موجود في variable envirements لحل المشكلة يوجد طريقتين: الأولى هي ان تستخدم الأمر التالي مباشرة بدون تغيير اي شيء python -m pip install matplotlib و الطريقة الثانية هي ان تضيف pip للمسار و تستطيع بعدها استخدام الأمر مباشرة. لإضافة pip للمسار setx PATH "%PATH%;C:\Python34\Scripts" قبل القيام بالأمر تأكد من المسار الصحيح للبيثون لديك. https://academy.hsoub.com/questions/21148-اريد-مساعدة-في-تنصيب-بايثون-pip-is-not-recognized/#comment-62623
-
المكتبات في هذا المجال كثيرة، اشتغلت قبل ايام على مكتبة pdf2docx و كانت تشتغل بدون مشاكل: اولا قمت بتحميل و تثبيت مكتبة pdf2docx عن طريق الأمر pip install pdf2docx بعدها يمكنك تجربة الكود التالي: from pdf2docx import Converter # هنا نضع المسار الخاص بملف pdf pdf_file = r"test.pdf" # وهنا مسار ملف الوورد الذي سيتم حفظ النتيجة داخله docx_file = r"result.docx" #هنا تتم عملية استخلاص محتوى الملف cv = Converter(pdf_file) # تخزين المستند في المسار الذي تم تهيئته مسبقًا في المتغير cv.convert(docx_file) cv.close() بهذه الطريقة تحصل على النتيجة التي تريدها.
-
يمكنك القيام بذلك بهذه الخطوات البسيطة و اذا واجهت اي مشكلة يمكنك طرحها هنا مرة أخرى، عليك فقط اتباع الخطوات التالية: تجهيز البيانات قم بتجميع مجموعة من الصور التي تحتوي على الكائنات التي ترغب في تعليم النموذج على التعرف عليها، بعدها يُفضل تصنيف هذه الصور وتسميتها بالكائنات الموجودة في كل صورة، انصحك باستخدام موقع Roboflow لهذا الغرض، حيث يوفر أدوات ممتازة لإدارة وتصنيف البيانات. اخيرا، يجب إعداد ملف تكوين يحتوي على معلومات حول البيانات المستخدمة للتدريب والتي يمكن استخدامها لتكوين النموذج بشكل صحيح. اختيار النموذج و تدريبه: يمكنك استخدام نموذج مسبق مثل YOLO v5، والذي أظهر نتائج جيدة بالنسبة لمشروعك. لتدريب النموذج، يجب أن تستخدم إطار عمل مثل TensorFlow أو PyTorch. يجب عليك تحميل النموذج المدرب مسبقا، مثل frozen_ineterface_pargraph.pb، ومن ثم تكوينه بحيث يتوافق مع بيانات مشروعك ومتطلباته، تحديد نموذج مسبق مناسب وتكوينه بشكل صحيح يعدان أمورا مهمة لضمان أن يتم تدريب النموذج بنجاح على مهمتك المحددة. # استيراد مكتبات التحميل والتحليل import tensorflow as tf from tensorflow.keras import layers, models from tensorflow.keras.applications import YOLOv5 # تحميل النموذج المدرب مسبقا (YOLOv5) yolov5 = YOLOv5(weights='yolov5s') # تكوين النموذج ليناسب بيانات مشروعك # قد تحتاج إلى تكوين الطبقات والمعلمات وفقا لاحتياجاتك الخاصة model = models.Model(inputs=yolov5.input, outputs=yolov5.output) model.compile(optimizer='adam', loss='your_loss_function') # بدء تدريب النموذج باستخدام بياناتك model.fit(training_data, epochs=your_epochs) بعد انتهاء التدريب، قم بتقييم أداء النموذج باستخدام بيانات اختبار منفصلة، و قارن بالنتائج المتوقعة، بعدها يمكنك استخدام النموذج للكشف عن الكائنات في الصور الجديدة.
- 1 جواب
-
- 1