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

لوحة المتصدرين

  1. Wael Aljamal

    Wael Aljamal

    الأعضاء


    • نقاط

      8

    • المساهمات

      6975


  2. Flutter Dev

    Flutter Dev

    الأعضاء


    • نقاط

      5

    • المساهمات

      787


  3. Samer Alashqar

    Samer Alashqar

    الأعضاء


    • نقاط

      3

    • المساهمات

      307


  4. Hassan Hedr

    Hassan Hedr

    الأعضاء


    • نقاط

      2

    • المساهمات

      2851


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 06/17/22 في كل الموقع

  1. أحاول استعمال if الشرطية في ملفات PHP قبل الاتصال بقاعدة البيانات ولدي الكود التالي: <?php require_once 'connt.php'; $id=$_GET['id']; $IDCat=$_GET['IDCat']; if($_GET['IDCat']== '310') { $sql="SELECT * FROM ....... }else if($_GET['IDCat']=='315') { $sql="SELECT * FROM ....... } $stmt = $con->prepare($sql); $stmt->bind_param("s",$id); $stmt->execute(); $result = $stmt->get_result(); $array = array(); while ($row = mysqli_fetch_assoc($result)) { $array[] = $row; } echo ($result) ? json_encode(array("code" => 1, "result"=>$array)) : json_encode(array("code" => 0, "message"=>"Data not found !")); ?> هل طريقة كتابة الكود بشكل هذا صحيحة ؟وامانه ؟ موقع الشرط وكتابته : if($_GET['IDCat']== '310') بشكل هذا هل هو صحيح ؟ ام توجد طريقة مختلفة افضل لفعل ذلك؟ حقيقه هذا اول مره استعمل الشرط في ملفات PHP ياليت أصحاب الخبرة يفيدونا الهدف الشرط هنا انني ارغب لو قمت بأرسال الرقم الفلاني ان تتفعل الاستعلام الذي في ذاك الشرط بمعنى يعتمد على الرقم الذي سوف يحصل عليه
    2 نقاط
  2. اشاهد في بعض تطبيقات التواصل الاجتماعي وأيضا التطبيقات التجارية يتم إضافة عداد او توقيت او تاريخ زمني على سبيل المثال منتج تم عرضه في تطبيق تجاري توجد ساعه او توقيت صغير خارج المنشور مكتوب عليه ( منذ مثلا 1 ساعه او منذ 3 أيام )ويبقى هذا العدد يحسب الأيام بشكل مستمر كيف يتم عمل ذلك او عمل هذا العدد الزمني ؟ مع العلم ان مشروعي من خلال flutter وتوجد ملفات php + قاعدة بيانات اون لاين MySQL
    1 نقطة
  3. الأمر يتكون من جزأين، إضافة timestamp طابع زمني لكل منتج في قاعدة البيانات، يمثل تاريخ الإضافة و الذي سوف نحسب منه الوقت تتم هذه إما من قاعدة البيانات أو من خلال PHP تضيف الوقت الفعلي للسيفر عند إضافة منشور حساب الفرق بين الوقت الحالي ووقت إضافة المنتج ومن ثم تحويله لنص سهل القراءة يمكن عمله في BackEnd قبل إعادة بيانات المنتج (مستحسن) أو حسابه في التطبيق ( هنا ربما المنطقة الزمنية لساعة هاتف مستخدم التطبيق ستعطي وقت غير متوافق مع الخادم وبالتالي خطأ في الحساب) يمكنك استخدام مكتبة carbon فهي مكتبة قوية تدعم تعدد اللغات وسوف نستخدم دالة diffForHumans التي تعيد الوقت المنقضي بتنسيق قابل للقراءة البشرية بسهولة <?php $date = Carbon::now()->locale('ar'); echo $date->diffForHumans(); يمكنك مراجعة التوثيق لمزيد من المعلومات كما يمكن حساب الفرق بين توقيتين، ثم عمل منطق بسيط لحساب الأشهر - الساعات .. <?php // دالة تستقبل الفرق بين وقتين function format_interval(DateInterval $interval) { // بناء الوقت كنص $result = ""; // كل متغير له قيمة نضيفه مع واحدته الزمنية if ($interval->y) { $result .= $interval->format("%y years "); } if ($interval->m) { $result .= $interval->format("%m months "); } if ($interval->d) { $result .= $interval->format("%d days "); } if ($interval->h) { $result .= $interval->format("%h hours "); } if ($interval->i) { $result .= $interval->format("%i minutes "); } if ($interval->s) { $result .= $interval->format("%s seconds "); } return $result; } // حساب تاريخين $first_date = new DateTime("2012-11-30 17:03:30"); $second_date = new DateTime("2012-12-21 00:00:00"); // حساب الفرق بين التاريخين $difference = $first_date->diff($second_date); // طباعة الوقت المنقضي echo format_interval($difference); الاستخدام، تجلب وقت إضافة المنتج لقاعدة البيانات أو الحقل الذي يمثل القيمة الزمنية التي تريدها ولنفترض أن اسمه هو created_at. تطرح الوقت الفعلي من created_at ثم تمرره للدالة formate_interval مثال مع كاربون: $carbondate = Carbon::parse($post->created_at); $past = $carbondate->diffForHumans(); echo($past); مقالة:
    1 نقطة
  4. السلام عليكم .. قمت بجلب اسماء المناطق التي في دولتي عن طريق API لكن اسماء المدن اتتني باللغة الانجليزية هل هناك طريقة لترجمتها للغة العربية ؟ var data = { iso2: "SA" }; $.ajax({ type: 'POST', url: "https://countriesnow.space/api/v0.1/countries/cities", data: data, success: (res) => { console.log(res) // log => //101: "Turabah" //102: "Najrān" }, error: (er) => { alert('err') } })
    1 نقطة
  5. في حال لم يتوفر ترجمة API للغة مهينة، يمكن التواصل مع جهة رسمية لتزودك بالأسماء أو تقوم بالبحث بنفسك أو تستعين بمهارات برمجية و تجربك حلول بنفسك.. حاولت مساعدتك، قمت بعمل برنامج web scraping بلغة بايثون، يعتمد على ويكيبيديا، يجلب قائمة المدن السعودية، ثم يفتح الصفحة الخاصة لكل مدينة ويجلب الاسم العربي لها، بعض المدن تحتاج لتعديل مكتوب جانبها غير متوفر.. 17 من 128 يمكنك إكمالهم المدن: { "Abha": "أَبْهَا", "Asir": "عَسِيرٌ", "Ad-Dilam": "غير متوفر", "Al-Abwa": "ٱلْأَبْوَاء", "Al Artaweeiyah": "الأرطاوية", "Al Bukayriyah": "غير متوفر", "Badr (city)": "بَـدْر", "Baljurashi": "بَـلْـجُـرَشِي", "Bisha": "بيشة", "Bareq": "بارق", "Buraydah": "بريدة", "Al Qasim": "منطقة القصيم", "Al Bahah": "ٱلْبَاحَة", "Al Bahah Province": "ٱلْبَاحَة", "Ha'il Province": "مِنْطَقَة حَائِل", "Dammam": "الدمّام", "Persian Gulf": "اَلْخَلِيْجُ ٱلْعَرَبِيُّ", "Eastern Province, Saudi Arabia": "المنطقة الشرقية", "Dhahran": "الظهران", "Dhurma": "ضرما", "Dahaban": "ذهبان", "Diriyah": "الدرعية", "First Saudi State": "الدولة السعودية الأولى", "Duba, Saudi Arabia": "ضبا", "Dumat Al-Jandal": "دُومَة ٱلْجَنْدَل", "Dawadmi": "الدوادمي", "Farasan (city)": "فرسان", "Gerrha": "جرهاء", "Ghawiyah": "غير متوفر", "Jizan": "جازان", "Al-Gwei'iyyah": "القويعية", "Hautat Sudair": "حوطة سدير", "Sudair": "سدير", "Hajrah": "الحجرة", "Haql": "مَدِيْنَة حَقْل", "Al-Hareeq": "الحريق", "Harmah": "حَرْمَة", "Ha'il": "حَائِل", "Hotat Bani Tamim": "حوطة بني تميم", "Hofuf": "ٱلْهُفُوف", "Huraymila": "غير متوفر", "Hafr Al-Batin": "حفر الباطن", "Jabal Umm al Ru'us": "جبل أم الرؤوس", "Jalajil": "غير متوفر", "Jeddah": "جِدَّة", "Red Sea": "البحر الأحمر", "Jizan Province": "جيزان", "Jazan Economic City": "مدينة جيزان الاقتصادية", "Jubail": "الجبيل", "Khafji": "رأس الخفجي", "Saudi Arabia": "ٱلْمَمْلَكَة ٱلْعَرَبِيَّة ٱلسُّعُوْدِيَّة", "Kuwait": "دولة الكويت", "Khaybar": "خَيْبَر", "King Abdullah Economic City": "مدينة الملك عبدالله الإقتصادية", "Khamis Mushait": "خميس مشيط", "Al-Saih": "الخرج", "Knowledge Economic City, Medina": "غير متوفر", "Khobar": "ٱلْخُبَر", "Al-Khutt": "غير متوفر", "Layla (town)": "لیلى", "Lihyan": "مملكة لحيان", "Al Lith": "الليث", "Al Majma'ah": "المجمعة", "Mastoorah": "غير متوفر", "Al-Mubarraz": "غير متوفر", "Medina": "مدينة النبي", "Islam": "الإسلام", "Al Madinah": "مدينة النبي", "Mecca": "العاصمة المقدسة", "Makkah Province": "مِنْطَقَة مَكَّة", "Muzahmiyya": "المزاحمية", "Najran": "نجران", "Najran Province": "نجران", "Al-Namas": "النماص", "Umluj": "أملج", "Al-Omran": "ٱلْحَسَا", "Al-Oyoon": "ٱلْحَسَا", "Qadeimah": "غير متوفر", "Qatif": "ٱلْقَطِيف", "Qaisumah": "القيصومة", "Al Qunfudhah": "القنفذة", "Qurayyat, Saudi Arabia": "القريات", "Al Jawf Province": "منطقة الجوف", "Rabigh": "رَابِغ", "Rafha": "رفحاء", "Ar Rass": "الرس", "Ras Tanura": "رأس تنورة", "Ranyah": "رنية", "Riyadh": "الرياض", "Ar Riyad Province": "منطقة الرياض", "Second Saudi State": "الدولة السعودية الثانية", "Rumailah, Saudi Arabia": "غير متوفر", "Al-Ahsa Governorate": "ٱلْحَسَا", "Sarat Abidah": "غير متوفر", "Saihat": "سيهات", "Safwa city": "صفوى", "Sakakah": "سَكَاكَا", "Sharurah": "شرورة", "Shaqraa": "شقراء", "Shaybah": "غير متوفر", "As Sulayyil": "السليل", "Taif": "الطائف", "Tabuk, Saudi Arabia": "تَبُوْك", "Tabuk Province": "مِنْطَقَة تَبُوْك", "Tanomah": "تنومة", "Tarout": "جزيرة تاروت", "Tayma": "تيماء", "Thadiq": "ثادق", "Thuwal": "ثُوَل", "Ath Thuqbah": "الثقبة", "Turaif": "طريف", "Tabarjal": "غير متوفر", "Udhailiyah": "غير متوفر", "Al-'Ula": "ٱلْعُلَا", "Um Al-Sahek": "غير متوفر", "Unaizah": "عنيزة", "Al-Qassim Province": "منطقة القصيم", "Uqair": "غير متوفر", "Uyayna": "العيينة", "Uyun AlJiwa": "محافظة عيون الجواء", "Wadi Al-Dawasir": "وادي الدواسر", "Najd": "نَجْدٌ", "Al Wajh": "الوجه", "Yanbu": "ينبع", "Al Madinah Province": "ٱلْمَدِيْنَة ٱلْمُنَوَّرَة", "Az Zaimah": "الزيمة", "Zulfi": "محافظة الزلفي", "Riyadh Province": "منطقة الرياض" } شيفرة بايثون: # import required modules from bs4 import BeautifulSoup import requests import json # get URL page = requests.get( "https://en.wikipedia.org/wiki/List_of_cities_and_towns_in_Saudi_Arabia") # scrape webpage soup = BeautifulSoup(page.content, 'html.parser') # create object cities_links = soup.table.find_all('a') # قاموس بأسماء المدن و ترجمتها dictionary = {} for city_link in cities_links: city_name = city_link.get('title') city_page = requests.get( 'https://en.wikipedia.org' + city_link.get('href')) city_soup = BeautifulSoup(city_page.content, 'html.parser') try: city_arabic_name = city_soup.find('span', {'lang': 'ar'}).text dictionary[city_name] = city_arabic_name except: dictionary[city_name] = 'غير متوفر' #print('...') with open("List_of_cities_and_towns_in_Saudi_Arabia_En_Ar.json", "w", encoding='utf-8') as outfile: json.dump(dictionary, outfile, ensure_ascii=False).encode('utf-8') index.py List_of_cities_and_towns_in_Saudi_Arabia_En_Ar.json
    1 نقطة
  6. لدي كائن يحتوي على تابعين method1 وmethod2 وأريد أن أقوم بإستدعاء التابع method2 من داخل method1، لذلك كتبت الكود التالي: var Obj = function(){ // ... } Obj.prototype.method1 = function(){ // ... method2(); // ... } Obj.prototype.method2 = function(){ console.log('execute method2'); } var o = new Obj(); o.method1(); لكن المشكلة هي عندما أقوم بتنفيذ الكود السابق يظهر لي الخطأ التالي: method2 is not defined ما سبب الخطأ هنا؟ وكيف أستدعي التابع method2 من داخل method1 بطريقة صحيح؟
    1 نقطة
  7. يمكنك الإستعانة ترجمة جوجل لترجمة أسماء المدن والدول إلى اللغة العربية بسهولة، هنا مثال لترجمة "Cairo" إلى "القاهرة": في البداية عليك أن تقوم بتثبيت الحزمة التالية: npm i @vitalets/google-translate-api بعد ذلك يمكنك إستخدامها بالشكل التالي: const translate = require('@vitalets/google-translate-api'); const city = 'Cairo'; translate(city, { from: "en", to: 'ar' }).then(res => { console.log(res.text); // القاهرة }).catch(err => { console.error(err); }); تستطيع كذلك تخزين ناتج عملية الترجمة هذه في قاعدة بيانات ما، بحيث تقوم بالبحث في قاعدة البيانات هذه عن ترجمة اسم المدينة وإن لم تجده فيها فتستخدم ترجمة جوجل مباشرة.
    1 نقطة
  8. هل يمكنك مشاركة ما تعيده SELECT CAST('101-01-21-4192B' as varbinary(max)) FOR XML PATH(''), BINARY BASE64
    1 نقطة
  9. هل هناك خدمة اخرى استطيع التعامل معها ؟ بحيث تدعم اللغة العربية ؟
    1 نقطة
  10. هل من الضروري الاستعانة بالمصممين في تطوير واجهات المستخدم أم يستطيع المبرمج أن يعمل تصاميم احترافية برمجيا بالhtml مثلا أو أي لغة أخرى مثل مايعمل المصممون.
    1 نقطة
  11. المصممون لايكتبون أكواد HTML، بل يستعينون ببرامج التصميم Photoshop - Figma وغيرها لأن هذه البرامج قوية في عمل الرسوميات و تعديل الصور والتلاعب بالنصوص، هي اختصاصية لعمل تصاميم جميلة بطريقة سهلة ويقومون بتصدير الموقع على شكل ملف psd مثلاً. أنت كمطور واجهات أمامية مهمتك تحويل تصميم أو مخطط عام لموقع إلى شيفرات برمجية، لن تحتاج لمصمم دوماً، أغلب المواقع لها تصميم بسيط يمكنك تقليد أي تصميم موجود أو يوفر لك صاحب المشروع شرح لكيف ستبدو واجهة مشروعه، يمكن أن يرسم لك الهيكلية العامة للتصميم بيده على أقل تقدير، و تتفقون على الألوان و كيفية توزعها في الواجهة. المهم أن تتفق مع صاحب المشروع على متطلبات التصميم، وإن رأيت أن التصميم معقد يمكن أن يتم الإتفاق بجلب مصمم (أغلبها في المشاريع الكبيرة و حسب ميزانية صاحب العمل) يمكنك الإستفادة من تصاميم المواقع في الدورة التي تدرسها فإن معظم الأمور الأساسية متشابهة يتم التعديل عليها وإضافة ميزات حسب المشروع. لاحظ أن جميع مواقع الويب، مهما كان احترافياً و معقداً و جميلاً . غيرها من الصفات هو 100% مكتوب بلغتي HTML - CSS وفي حال الحاجة للتفاعلية و التحريك نستخدم جافاسكربت. الموضوع يحتاج منك للتدريب و البحث عن أمثلة لمواقع تصميمها جميل و الاستفادة من الأكواد و فهم كيف تم تنفيذ فكرة ما، ويمكن أن تبحث عن طريقة تصميم شيء ما بلغات الويب على يوتيوب إن أعجبك شيء. دورة واجهات المستخدم فيها أمثلة عن كيفية قراءة القيم من ملف فوتوشوب عن طريق البرنامج نفسه و كيفية جلب المسافات و الألوان و الخطوط وغيرها، مما يسرع في عمل مطور الواجهات الأمامية، يمكنك عمل التصاميم كما تريد، ولكن مع إشراف صاحب العمل ليكون موافقاً على النتيجة.
    1 نقطة
  12. من الأفضل التحقق من أن الحقول التي أرسلها التطبيق أو HTML FORM تحوي بيانات وغير فارغة، نستعمل الدالة isset للتحقق من وجود بيانات ضمن الحقل., وأن القيمة نفسها غير فارغة نعمل trim لحذف الفراغات التي من الممكن أن يرسلها المستخدم أو تمر عن طريق الخطأ <?php $id = $_GET['id']; $IDCat = $_GET['IDCat']; if ( isset($id) && trim($id)!= "" && isset($IDCat) && trim($IDCat)!= "" ) { // code } else { // error بيانات ناقصة } ملاحظة: يمكن استعمال الدالة empty ولكنها تعتبر 0 مثلاً قيمة فارغة و أحيانا نريد تمرير 0 أو False لذلك نتوخى الحذر و نتأكد لكل قيمة حسب نوعها أيضاً empty, تعتبر كل شيء من التالي فارغ empty: "" (an empty string) 0 (0 as an integer) 0.0 (0 as a float) "0" (0 as a string) NULL FALSE array() (an empty array) var $var; (a variable declared, but without a value in a class) في حال عدم تمريرك لأي من القيم السابقة يمكن عمل التالي: <?php $id = $_GET['id']; $IDCat = $_GET['IDCat']; if ( !empty($id) && !empty($IDCat) ) { // code } else { // error بيانات ناقصة } مع العلم استخدام IF في مثالك يتحقق من قيمة واحدة وهو كاف
    1 نقطة
  13. لا مشكلة في كتابة الشيفرة كذلك، التحقق من وجود قيمة ضمن الطلب والتصرف على أساسها لتعيين الاستعلام الحاصل والاستفادة من العبارة الشرطية if طريقة سليمة، لكن بما أنك استخرجت القيمة سابقًا ووضعتها ضمن متغير يمكنك التحقق من ذلك المتغير، قد تضيف لاحقًا معالجة لتلك القيمة خلال استخراجها فتضيفه في الأعلى فقط ولا تغير الشرط كالتالي: $IDCat = $_GET['IDCat']; if($IDCat == '310') { // معالجة وجود القيمة ... } يمكنك الاطلاع أكثر على الجمل الشرطية في PHP وطرق استخدامها من المقال التالي:
    1 نقطة
  14. لقد حاولت حل المشكله بستخدام ini_set('memory_limit', '-1'); include('C:\xampp\htdocs\php\Hashcode.php'); include('C:\xampp\htdocs\php\Implementation.php'); include('C:\xampp\htdocs\php\main.php'); include('C:\xampp\htdocs\php\Node.php'); include('C:\xampp\htdocs\php\Linkedlist.php')); ini_set('memory_limit', '-1'); class HashCode public function hash(string $name) $h = 0; $0 = 31; for ($i = 0; $i < strlen($name); $i++) { $x = ord($name[$i]); $h = $h * $0 + $x; $h ^= ($h >> 14); $h += $h << 4); $h ^= ($h >> 10); return abs ($h);
    1 نقطة
  15. بعد رفع مشروعي على المستودع البعيد github كيف يمكنني القيام ببعض التعديلات إنطلاقا من المستودع المحلي على مشروعي. حبّذا لو هناك مقال من الأكاديمية يشرح فية command lines اللازمة.
    1 نقطة
  16. حسناً، هل يمكنك مشاركة ملفات الـ html والـ css الخاصة بالـ select box و الـ input حتى نستطيع المساعدة.
    1 نقطة
  17. نعم صحيح، بعد الاتفاق مع العميل واتمام عملية الشراء يجب أن تُرسل له كل الملفات المتعلقة بالمشروع سواء ملفات html أو ملفات css وغيرها من الملفات اللازمة لتشغيل المشروع
    1 نقطة
  18. سؤالك يفتقر الى التفاصيل اكثر، هل يمكنك ارفاق شيفرة ال html أيضا. هل يمكنك التقاط فيديو قصير او ارفاق مثال عملي عن السلوك الذي يحدث؟
    1 نقطة
  19. السلام عليكم لو تكرمتو اريد تحديد خانة للناتج السالب وخانة للارقام التي ناتجها موجب يعني مثال : معادلة تحسب الفرق بين رقمين اذا كان عجز ( سالب ) يظهر في خانة العجز واذا كان وفر ( موجب ) يظهر في خانة الوفر شاكر جهودكم
    1 نقطة
  20. تمام، إذاً يمكنك عمل watermark على الصور من التطبيق أو الخادم، ضمن التطبيق يمكن الاعتماد على حزم برمجية لتعديل الصور مثل stamp_image void generate() { StampImage.create( context: context, image: imageFile, // الصورة children: [ Positioned( bottom: 0, right: 0, child: _watermarkItem(), // العلاقمة المائية ), Positioned( top: 0, left: 0, child: _logoFlutter(), // لوغو تطبيقك مثلاً ) ], onSuccess: (file) => resultStamp(file), // تصدير الملف ); } أو مكتبة image_watermark يوجد أمثلة في التوثيق، مثلاً إن كنت تريد إضافة نص كالتالي: var watermarkedImg = await image_watermark.addTextWatermarkCentered( imgBytes, // صورة 'watermarkText', // نص ); وطريقة إضافة صورة watermarkedImgBytes = await image_watermark.addImageWatermark( imgBytes, //image bytes صورة أصلية imgBytes2,//watermark img bytes صورة مائية أو لوغو imgHeight: 200, //watermark img height imgWidth: 200, //watermark img width dstY: 400, dstX: 400);
    1 نقطة
  21. يمكنك إيقاف خاصية الأكمال التلقائي من خلال فتح الإعدادات settings كما في الصورة: بعد ذلك قم بفتح الإعدادات في شكل ملف JSON عبر الضغط على الأيقونة Open Settings (JSON) المحدد في الصورة التالية: الآن قم بإضافة الأسطر التالية إلى الملف: // Controls if quick suggestions should show up while typing "editor.quickSuggestions": { "other": false, "comments": false, "strings": false }, // Controls if suggestions should be accepted with "Enter" - in addition to "Tab". Helps to avoid ambiguity between inserting new lines and accepting suggestions. "editor.acceptSuggestionOnEnter": "off", // Controls the delay in ms after which quick suggestions will show up. "editor.quickSuggestionsDelay": 10, // Enable word based suggestions "editor.wordBasedSuggestions": false لتكون النتيجة بالشكل التالي: ملاحظة: قم بإضافة الأسطر السابقة قبل آخر قوس { ولا تنسى إضافة علامة فاصلة , في السطر السابق لهم، أي يجب أن يكون كود JSON صحيح في هذا الملف. الآن قم بحفظ الملف، وستجد أن خاصية الإكمال التلقائي لا تعمل بعد الآن.
    1 نقطة
  22. مرحبا اخي الامر يحتاج الى ممارسة مستمرة ومشاريع على ارض الواقع بالإضافة الى ان يوجد فرق بين قدرات الأشخاص من انسان الى انسان يعني ناس تتعلم بكل بساطه وسرعه وناس تحتاج اضعاف الوقت أيضا حبك للمجال يساعدك كثير نقطة اخيره .. لا تحاول تحفظ الاكواد فقط اهم طبيعة عملهم البرمجة حاجه جميله جدا كل التوفيق لك
    1 نقطة
  23. أرجو مشاركة الحل ليستفيد من يقرأ هذا السؤال. هل قمت بتغيير نمط ترميز قاعدة البيانات لتصبح داعمة لترميز utf8 ؟ أو ضمن Excel من تبويب Data نختار utf8
    1 نقطة
  24. يعطيك العافية اخي هل استطيع تحويل اسم المدن والمناطق الى اللغة العربية ؟
    1 نقطة
  25. بالتطبيق المستمر سيتقدم مستواك في لغات البرمجة التي تستخدمها، وتبدأ تتآلف مع الأنماط وطرق حل المشاكل الشائعة، وطرق فصل وجمع الشيفرات وكيفية ترتيبها ضمن وحدات وربطها مع بعضها، وستملك مهارة كتابة مكتبة أو أداة خاصة بك من الصفر، عندها ستستطيع عند مواجهة مشكلة في مكتبة أو أداة ما أن تتصفح الشيفرة المصدرية لها إذا كانت مفتوحة المصدر، وتحدد مشكلتك أو الميزة التي ترغب بإضافتها، وستستطيع تقديم التطوير على تلك المكتبة، وإذا وافق صاحب المكتبة عليها ستصدر نسخة جديدة متضمنة تعديلاتك وتكون حللت مشكلة أو أضفت ميزة، أنصحك بالتركيز أولًا على الأساسيات وفهم اللغة جيدًا، والتطبيق العملي المتكرر والبحث والسؤال عن المشاكل، فهو الوحيد الذي يجعلك تتخطى مرحلة المبتدئ، وحاول قراءة الشيفرة المصدرية للمكتبات التي تستخدمها أيضًا ستتعلم الكثير من ذلك عندما ترى عمل مبرمجين آخرين متقدمين عنك، يمكنك الاستفادة من قراءة المقالات التالية:
    1 نقطة
  26. في لغة جافاسكربت عند عمل render ل object أي تحويله لسلة نصية سيتم طباعة العبارة [object Object] الحل هو استخلاص القيمة من كائن الحدث v بالشكل <textarea value={value} onChange={(v)=>setValue(v.target.value)}> // ^^^^^^^^^^^^^ </textarea> في حال أردت زيادة تعقيد دالة إسناد القيمة و عمل تعديلات على القيمة و فلترتها مثلاً، يمكنك فصل دالة المعالجة إلى handler منفصل، وتصبح الشيفرة أكثر قابلية للقراءة const handleChange = (event) => { setValue(event.target.value); }; /* */ <textarea value={value} onChange={handleChange}> // ^^^^^^^^^^^^^ </textarea>
    1 نقطة
×
×
  • أضف...