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

Wael Aljamal

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

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

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

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

    218

إجابات الأسئلة

  1. إجابة Wael Aljamal سؤال في ارسال OTP بواسطة خدمة Whatsapp من flutter كانت الإجابة المقبولة   
    يوفر Whatsapp  خدمة api يمكنك من خلالها إرسال أي رسالة عن طريق الانترنت بتحديد رابط مكون من رقم المستخدم مع بادئة خاصةب  Whatsapp domain:
    مثلا من متصفح بشكل بسيط..
    https://api.whatsapp.com/send?phone=XXXXXXXXXXXX الآن برمجيا باتباع التوثيق:
    POST /v1/messages { "preview_url": false | true, "recipient_type": "individual", "to": "whatsapp-id", "type": "text", "text": { "body": "your-text-message-content" //////// OTP } } رابط التوثيق: developers.facebook/docs/whatsapp/overview
    يوجد SDK كامل يمكنك الاطلاع عليه وتضمينه في مشروعك
    إن وجدت طريقة ناجحة يمكنك مشاركتها ليستفيد الآخرون، شكرا جزيلا
  2. إجابة Wael Aljamal سؤال في كيفية دمج قائمتين لتكوين قاموس في بايثون؟ كانت الإجابة المقبولة   
    يمكننا استخدام دالتين مساعدتين zip  و dict بالشكل التالي:
    keys = ['x', 'y', 'z'] values = ['abc', 123, True] zip_iterator = zip(keys, values) # تعيد pairs of elements dictionary = dict(zip_iterator) # تحويل لقاموس print(dictionary)  
  3. إجابة Wael Aljamal سؤال في كيف يمكنني إخراج نص ملون إلى terminal في بايثون؟ كانت الإجابة المقبولة   
    يمكن عمل ذلك من خلال format أي عمل تنسيق و تمرير رمز اللون الموافق للمطلوب..
    print(f"{bcolors.WARNING}Warning: Any Text ?{bcolors.ENDC}") حي ثيمكنك ملاحظة كود بداية اللون و كود النهاية، وهذه بعض الرموز للتلوين:
    class bcolors: HEADER = '\033[95m' OKBLUE = '\033[94m' OKCYAN = '\033[96m' OKGREEN = '\033[92m' WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' BOLD = '\033[1m' UNDERLINE = '\033[4m' كما يمكن استخدام المكتبة colored:
    from termcolor import colored print(colored('hello', 'green'), colored('world', 'red'))  
  4. إجابة Wael Aljamal سؤال في استفسار عن تقديم دعم الفني كمستقل لموقع الكتروني كانت الإجابة المقبولة   
    عادة يتم تسليم المشروع بعد التجريب من قبل المطور بقيمة X$ مثلا. وتنتهي الصفقة بعد تسليم الملفات.
    إن كان  يريدك أن تكون جاهزا لمراجعة الشيفرة لمدة 4 شهور، إما تضيف قيمة ثابتة للعرض أنت تحدد قيمة الدعم الفني ل4 أشهر.
    أو يتم تسليم المشروع ثم يقوم بعمل مشروع آخر منفصل للدعم الفني.
    بما أنك من تقوم ببرمجة الموقع، يريدك صاحب العمل أن تتابع الموقع بنفسك مثلا لكي لا يقوم مبرمج آخر بالنظر للشيفرة البرمجية وربما نسخ أكواد منه. لذلك يريد دعم من نفس المطور وهو يفهم برنامجه بشكل أفضل أيضا.
    برأيي تقسيم المشروع لمرحلتين، تسليم الشيفرة و مرحلة الدعم الفني كل منهما لوحدها
  5. إجابة Wael Aljamal سؤال في معنى shell=True في مكتبة subprocess في بايثون كانت الإجابة المقبولة   
    عند تحديد shell=True يتوقع تمرير سلسلة نصية واحدة لعملية shell
    أما في حال shell=False يمكن تمرير قائمة بعدة أوامر دفعة واحدة.
    في حالتك تمرر أمر واحد، لذلك لا مشكلة، إنما إن أردت تمرير عدة أوامر عليك تحديد الخيار shell=False
  6. إجابة Wael Aljamal سؤال في هل أحتاج لتوظيف مترجم لجعل موقعي متعدد اللغات وإضافة ترجمة؟ كانت الإجابة المقبولة   
    عادةً يوجد ملف يحوي على مفتاح مقابل النص المعروض لكل لغة من لغات الموقع مثل:
    الانكليزية [ x=> Hello, y=> Bye ] العربية [ x=> مرحبا, y=> وداعاً ] ثم بعد تصفح الموقع، يتم برمجياً اختيار ملف الترجمة لهذه الرموز حيث يتم عرض النص الموافق للرمز المراد عرضه.
    عادةً تحتاج فقط لترجمة المحتوى الثابت و إنشاء ملف خاص لكل لغة تريد أن تدعهما أما المحتوى الذي يكتبه المستخدمون لا يترجم.
    احرص على أن يكون تطبيقك يدعم تعدد اللغات لسهولة إضافة وحذف اللغات في المستقبل.
    ربما تختلف الطريقة السابقة حسب التقنية التي يعمل بها المشروع..
    إن كنت تريد توفير محتوى كامل بلغة أجنبية، تحتاج لمختص في كتابة المحتوى بتلك اللغة لكي يكون المحتوى جيد و مقروء و مفهوم و ليس ترجمة حرفية..
  7. إجابة Wael Aljamal سؤال في الأرباح من التطبيقات كانت الإجابة المقبولة   
    يتم تحصيل أرباح من التطبيقات إما من 
    الإعلانات مثل adMob أو أي جهة أخرى عمليات الشراء داخل التطبيق، مثل الألعاب العضوية المدفوعة دفع مبلغ مقابل استعراض محتوى
  8. إجابة Wael Aljamal سؤال في تعريف ال Vector في جافا بطريقة مشابهة لتعريفه في ++C كانت الإجابة المقبولة   
    Vector في ++C هي مصفوفة ديناميكية، أي متغيرة الطول، وبنية البيانات الموافقة لها في جافا هي ArrayList
    التضمين:
    import java.util.ArrayList لتعريف غرض من ArrayList:
    List<String> stringList = new ArrayList<String>(); في المثال السابق كان نمط بياناتها String مثال بسيط:
    import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<String> cars = new ArrayList<String>(); cars.add("BMW"); cars.add("Volvo"); cars.add("Ford"); cars.add("Mazda"); System.out.println(cars); } } الطريقة add تضيف عناصر.
    بعض الطرق المهمة:
    cars.get(0); //جلب العنصر الأول cars.set(0, "Opel"); // إسناد قيمة للعنصر الأول cars.remove(0); // حذف العنصر الأول cars.clear(); // حذف جميع العناصر  
  9. إجابة Wael Aljamal سؤال في هل هذا الراوت يعمل بشكل صحيح عند رفعه ل heroku ؟؟ كانت الإجابة المقبولة   
    هل يمكنك التأكد من أمرين:
    اسم الmodel، مثلا هل هو Books إصدار node في المخدم وهل هو نفس الإصدار المحلي لديك
  10. إجابة Wael Aljamal سؤال في ماهي ملفات CSV و كيف تتم عملية قراءة ملفات CSV كانت الإجابة المقبولة   
    CSV هو نوع ملفات بسيط البنية comma separated values أو القيم التي يفصل بينها فاصلة، يمثل الملف جدول بيانات حيث أول سطر فيه يحوي أسماء الأعمدة و من ثم تتكرر نفس البنية و أسفل كل اسم عمود تأتي القيم الخاصة به:
    #head الترويسة أو أسماء العناوين name,city,street # البيانات John,Riverside,"NJ 08075" Jack,"McGinnis 220 hobo Av","Phila PA9119" John,"Da Man","Riverside NJ8075" Stephen,Tyler,"7452 Terrace SD91234" يمكن قرائتها في بايثوت باستخدام مكتبة pandas:
    حيث يوجد دالة read_csv لقراءة الملفات من نوع csv
    import pandas as pd df = pd.read_csv('data.csv') print(df.to_string())  
  11. إجابة Wael Aljamal سؤال في Showing All Messages Undefined symbol: _OBJC_CLASS_$_FMDatabaseQueue كانت الإجابة المقبولة   
    إت كنت تستعمل: sqflite فيوجد مشكلة في إصدارها وحل المشكلة هو:
    إما:
    dependency_overrides: sqflite: git: url: https://github.com/TinyProgrammers/sqflite.git path: sqflite أو:
    dependencies: flutter: sdk: flutter sqflite: 1.3.1+2 in XCODE > Pods > TARGETS > sqflite under the Build Settings tab change IOS Deployment Target from 10.0 to 12.1. __________
    في Podfile: أضف التالي وهو خاص بالمعمارية armv7 التي سببت مشكلة لديك..
    post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings["EXCLUDED_ARCHS"] = "armv7" end end __________
    ما هو :
    platform :ios, '10.0' الذي تستعمله؟ حاول تغييره إلى 10 أو 12.1 أو 9.
    __________
    نحاول مسح الكاش في المشروع:
    cmd+shift+K ثم اتبع التعليمات:
    flutter clean rm -Rf ios/Pods rm -Rf ios/.symlinks rm -Rf ios/Flutter/Flutter.framework rm -Rf ios/Flutter/Flutter.podspec cd ios pod install cd .. flutter build ios flutter run  
    يوجد حل آخر من هنا حيث يتابع المطورون حل المشكلة:
    undefined-symbols-for-architecture-armv7
  12. إجابة Wael Aljamal سؤال في استفسار عن مشكلة في flutter كانت الإجابة المقبولة   
    ربما لايتم تشكيل المكونات بالسرعة الممطلوبة لأنه تجلب بيانات من القاعدة، أيضا تغيير ال screen ومازالت عملية غير متزامنة تعمل في الخلفية.
  13. إجابة Wael Aljamal سؤال في [PHP MYSQL] مشكلة : - ادخال الداتا مرتين في الجدول احدهما خالية من البيانات كانت الإجابة المقبولة   
    مرحبا محمد،
    تأكد هل أنت تقوم بدمج استعلامين سويا في نفس المتحول query:
    وفي جزء:
    case 'add_user': أمن تقوم ب 3 استعلامات، الأول بدون شرط و الثاني و الثالث مع شرط. الشرط خطأ.
    واستبدل الشرطين:
    لأن الحالة الأولى لا تختبر الشرط بدقة.
    if ($result) => if ($result->num_rows > 0) أو if (mysqli_num_rows($result) > 0) واستبدل:
    لأنها مصفوفة فهكذا نعد العناصر
    if (sizeof($contacts) => if (count ($contacts) )  
  14. إجابة Wael Aljamal سؤال في خطأ error: Unable to find vcvarsall.bat في بايثون كانت الإجابة المقبولة   
    حاول التثبيت من خلال أداة wheel :
    python install wheel فهي تقوم بتحميل المكتبات المترجمة Compiled.
    أو عليك تنصيب :
    Microsoft Visual C++ Compiler for Python x.y.z حسب إصدار بايثون لديك
  15. إجابة Wael Aljamal سؤال في كيف نقوم بحذف أعمدة محددة من ال Dataframe؟ كانت الإجابة المقبولة   
    يمكننا استخدام مكتبة pandas ولحذف عمود نستخدم الدالة drop كالتالي:
    # تضمين المكتبة import pandas as pd # إنشاء قاموس data = { 'A':['A11', 'A22', 'A33'], 'B':['B11', 'B22', 'B33'], 'C':['C11', 'C22', 'C33'], } # تحويل القاموس ل dataframe df = pd.DataFrame(data) # حذف العمود 'A' df.drop(['A'], axis = 1) لحذف عدة أعمدة، نمرر أسمائهم في قائمة:
    df.drop(['B', 'C'], axis = 1)  
  16. إجابة Wael Aljamal سؤال في قراءة دخل المستخدم لإدخال عدد غير معروف من الطلاب كانت الإجابة المقبولة   
    int main() { int id; char gender; int x1,x2,x3; cin >> id; while( id > 0) { cout << "enter gender\n"; cin >> gender; cout << "enter 3 marks\n"; cin >> x1 >> x2 >> x3; cin >> id; } retunr 0; }  
    أكملي التعديل إن كان هنالك أي نقص
    بالتوفيق
  17. إجابة Wael Aljamal سؤال في ربط برنامج بايثون بقاعدة بيانات Microsoft SQL server 2019 كانت الإجابة المقبولة   
    يمكنك استخدام المكتبة pyodbc للاتصال مع sql server
    يتم  تثبيت المكتبة بالتعليمة في cmd:
    pip install pyodbc مثال:
    import pyodbc # ضبط الاتصال مع قاعدة البيانات conn = pyodbc.connect('Driver={SQL Server};' # تحديد نوع القاعدة 'Server=server_name;' # رابط المخدم 'Database=database_name;' # اسم القاعدة 'Trusted_Connection=yes;') # الحماية cursor = conn.cursor() # بناء مؤشر cursor.execute('SELECT * FROM database_name.table') # استعلام for row in cursor: print(row) # طباعة نتيجة الاسنعلام اختر server name is: RON\SQLEXPRESS.
    باقِ الخطوات هي إنشاء القاعدة ومن ثم الاستعلام منها

  18. إجابة Wael Aljamal سؤال في ما حل هذا الايرور heroku buffering timed out after 10000ms كانت الإجابة المقبولة   
    وعلينا ضبط الاتصال مع قاعدة البيانات، والتي عليها أن تكون موجودة فعليا لجهاز يمكن الاتصال به و ضبط متغيرات البيئة مثل:
    PORT=123123 DB=mydoctor DATABASE_URL=http://DATABASE_URL/url DB_USER=myusername DB_PASS=mypassword123465 يمكنك التأكد من كيفية إعداد Node مع Heroku من الروابط: 
    heroku getting-started-with-nodejs Configuration and Config Vars
  19. إجابة Wael Aljamal سؤال في ظهور خطأ symlink() No such file or directory في لارافل كانت الإجابة المقبولة   
    يمكن حل المشكلة بالذهاب للمسار:
    /public وحذف المجلد  storage بالأمر:
    rm storage ثم إعادة تنفيذ التعليمة:
    php artisan storage:link سبب لمشكلة تحدث بسبب نقل/نسخ/نشر مشروع لارافل.
    ربما تحتاج لضبط مسار مجلد storage إن قمت بتغيير بنية المشروع:
    app/Providers/AppServiceProvider register method $this->app->bind('path.public', function() { return base_path('../public_html'); });  
  20. إجابة Wael Aljamal سؤال في كيف اجعل ال vs Code لا يظهر لى اى شئ فى الترمنال بعد كتابة cls وعمل scroll للأعلى ؟ كانت الإجابة المقبولة   
    يمكنك استخدام الاختصار 
    ctrl + k حاول تجريب الأمر Clear فهو مايقوم بمسح بيانات vs code Terminal
    خطوات الطريقة :
    Ctrl + Shift + P ثم اختر select Terminal:clear  
  21. إجابة Wael Aljamal سؤال في هل الشهادة التي نحصل عليها هي فقط شهادة إلكترونية؟ أو يمكن طلبها؟ كانت الإجابة المقبولة   
    نعم يمكنك طلب الشهادة الورقية وسيتم شحنها لك، إن الشهادة متوفرة الكترونيا وهذا يمكّن من التحقق منها بطلب الرابط الخاص بها وهو خاص بكل شهادة طالب حيث سيكون هنالك ملف مرفوع على مخدمات الأكاديمية لتأكيد حصولك على الشهادة.
    كما أنها ستظهر في حسابك في مستقل مثل شارة "خريج أكاديمية حسوب".
    روابط مفيدة:
    رابط1, معلومات الفحص. رابط2، أسئلة شائعة ويوجد مركز الدعم يمكنك التواصل معه مركز مساعدة حسوب
    أتمنى لك التوفيق
  22. إجابة Wael Aljamal سؤال في مشكلة في فلاتر: Unhandled Exception: NoSuchMethodError: Class '_InternalLinkedHashMap<String, dynamic>' has no instance method 'cast' with matching arguments. كانت الإجابة المقبولة   
    json.decode(response.body).cast<Map<String, dynamic>>(); المشكلة في هذا السطر.
    يمكن التحويل لـ Map مباشرة كالتالي:
    final Map<String, dynamic> parsed = json.decode(response.body); أو final Map parsed = json.decode(response.body); أو أو إلى قائمة:
    final List parsedList = json.decode(response.body);  
  23. إجابة Wael Aljamal سؤال في الانتقال بسلاسة (انزلاق) في صفحة الويب كانت الإجابة المقبولة   
    يمكننا استخدام الخاصية في CSS:
    html { scroll-behavior: smooth; } تدعمها معظم المتصفحات.

  24. إجابة Wael Aljamal سؤال في Synchronization ماذا تعني Process synchronization في operating Systems وكيف يمكن تطبيقها في التكنولوجيا البرامج، التطبيقات، الأجهزة، .... الخ ؟ كانت الإجابة المقبولة   
    مزامنة العمليات البرمجية تهتم بالسياق التالي: عندما يكون لدينا مورد في الحاسوب يتم الوصول له من عدة عمليات في نفس الوقت، في هذه الحالة و لتجنب حدوث أخطاء و صراع على الموارد يتم تنظيم آلية الوصول للمورد عن طريق نظام التشغيل و برامجه و بعض الخوارزميات التي تهتم بإعطاء أولويات لمهام على أخرى.. وتقوم بتنظيم الدور للوصول لهذه الموارد بين العمليات.

    تقوم معظم عمليات المزامة في حالة الوصول لمقاطع الذاكرة المشتركة و التي تحاول عدة عمليات برمجية تعديل/قراءة قيمتها.
    يقوم المبرمج بتحديد ماهو الجزء من الشيفرة البرمجية التي تعامل مع الموارد المتنازع عليها Critical Section حيث يتم حجز أو منع عمليات أخرى من الوصول والتعديل على نفس الجزء من الذاكرة و يتم فك الحجز بعد الانهاء:

    مثل مراحل عدة:
    قبل الدخول المنطقة الحرجة : التأكد أن الموارد متاحة وحجزها قبل استكمال العمل المنطقة الحرجة : الوصول للبيانات المتنازع عليها و القيام بالتعديل الخروج من المنطقة الحرجة : إعادة تحديد المنطقة الحرجة كمتاحة و فك الحجز عنها المثال العلمي: في المعاملات البنكية، قبل التعديل على رصيد أحد الحسابات يتم منع باقِ العمليات من التعديل أو قراءة قيمة الرصيد حتى يتم الإنتهاء من المعاملة الحالية وتعديل الرصيد.
     
  25. إجابة Wael Aljamal سؤال في مشكلة Null check operator used on a null value في مكتبة easy_localization في Flutter كانت الإجابة المقبولة   
    لنحاول هذه الخطوات:
    dependencies: easy_localization_loader: git: url: git://github.com/aissat/easy_localization_loader.git ref: overman-dev ثم الأمر:
    flutter pub upgrade وأضف الحقول الناقصة من التالي:
    EasyLocalization( supportedLocales: [Locale('en'), Locale('ar')], path: 'assets/translations', fallbackLocale: Locale('en'), saveLocale: false, useOnlyLangCode: true, child: Splashs(), ) //supportedLocales: [Locale('en', 'US'), Locale('ar', 'SA')], //fallbackLocale: Locale('en', 'US'),  
×
×
  • أضف...