لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 10/25/21 في كل الموقع
-
السلام عليكم ورحمة الله وبركاته يقوم الاعضاء بتعديل صورهم الشخصية بالموقع بشكل مستمر مما يجعل الصور القديمة بلا فائدة وتشغل مساحة كبيرة في جدول الأعضاء يتم تخزين اسم وامتداد اخر صورة بهذا الشكل مثلا ( 234562.jpg ) هل هناك حل لحذف الصور التي ليس لها امتداد في الجدول ليتم حذفها من مجلد الصور جربت استخدام كود كالتالي لكن يتم حذف جميع الصور <?php // جدول الأعضاء $stmt = $db->prepare('SELECT * FROM accounts'); $stmt->execute(); $result = $stmt->get_result(); $r_accounts = $result->fetch_assoc(); $stmt->close(); //$r_accounts['image_profile_path'] امتداد الصورة ?> <?php $picture = glob('uploads/profile/*.jpg'); $picture = glob('uploads/profile/*.png'); $picture = glob('uploads/profile/*.......'); if (......)// لا اعرف ما هو الشرط { foreach($picture as $file) { if(is_file($file)) // تكرار { unlink($file); // delete file } } } ?> ما اريدة فقط هو حذف الصور التي ليس لها اسم مخزن في القاعدة2 نقاط
-
2 نقاط
-
2 نقاط
-
نجلب كل البيانات (جيدة للتجريب) نربط جدول المستخدمين مع جدول المتابعة بالاعتماد على حقل رقم المستخدم (معرف المستخدم) في أول ربط جلبنا من نقوم بمتابعتهم ثم نقوم بعمل ربط جديد مع جدول المنشورات لجلب المنشور لشخص نقوم بمتابعته ثم نقوم بفلترة النتائج حسب رقم المستخدم الحالي SELECT * FROM USERS u JOIN FOLLOWS f ON (u.id = f.user_id) JOIN POSTS p on (f.follower_id = p.user_id) WHERE u.id = $id2 نقاط
-
يمكننا في إعدادت المخدم استخدام variable names لكل من ssl_certificate و ssl_certificate_key مع عمل الربط بين الاستضافة host والدومين domain server { listen 443; server_name server_name ~^.*$; map "$host" $domain_name { ~(.*)\.(.*)\.(.*)$ $2.$3; } ssl_certificate /path/to/cert/files/$domain_name.crt; ssl_certificate_key /path/to/cert/keys/$domain_name.key; location / { .... proxy_set_header Host $host; } }2 نقاط
-
لدي جدولين، أحدهما للملفات والآخر للمجلدات وأريد عرض عدد الملفات في كل مجلد بعد عمل الدمج1 نقطة
-
1 نقطة
-
ما الفرق بين تحديد أسماء الأعمدة التي أريد تطبيق الربط عليها باستخدام ON مع الشرط وبين استخدام (col_name)USING1 نقطة
-
هل يمكن عمل حذف من جدول بناءً على استعلام دمج؟ أريد مثلاً للتوضيح1 نقطة
-
كيف ارفع الموقع الى الان ماتعلمنا ذا شي1 نقطة
-
بالطبع يتم تعليم كيفية رفع المشاريع على github ضمن الدورة، لكن ليس في المسارات الأولى، لكي لا يعترض الطالب كمية معلومات كبيرة في أول عدة مسارات وهذا صعب على البعض، وبعد الشرح في المسارات المتقدمة، يمكن للطالب كتدريب له إعادة رفع المشاريع التي قام بها في المسارات الأولى.. إن قمت بالبحث في الأكاديمية عن "رفع المشاريع" ستجد الكثير من الشروحات للقيام بذلك: مع فيديو مقدم من أكاديمية حسوب: وشروحات إضافية1 نقطة
-
عندما أقوم بحفظ الصورة التي تحوي الرسم البياني تظهر حولها هوامش بيضاء (مسافات فارغة بيضاء)، كيف يمكنني إلغاءها؟ حاولت ضبط bbox_inches على "tight" لكن لم ينجح الأمر؟1 نقطة
-
تظهر مشكلة كالتالي ويتم حذف الصورة المخزن اسمها في القاعدة ايضا <?php // حذف الصور القديمة للمستخدم ولا فائدة منها // تحديد كامل مسارات الصور من قواعد البيانات من الجدول المستهدف و تخزينها في مصفوفة . $sql = 'SELECT image_profile_path from accounts'; $result = mysqli_query($db,$sql); $db_imgs = []; while($row = mysqli_fetch_array($result)) { $db_imgs[] = $row['image_profile_path']; } // تحديد كامل مسارات الصور داخل المجلد المستهدف و تخزينها في مصفوفة . $targetDirectory = "uploads/profile/"; $stored_imgs = glob($targetDirectory . "*.jpg"); // تحديد العناصر الغير متوفرة في كلتا المصفوفتين . $targetImages = array_merge(array_diff($db_imgs, $stored_imgs), array_diff($stored_imgs, $db_imgs)); // حذفها هاته العناصر foreach($targetImages as $image) { unlink($image); } ?>1 نقطة
-
السلام عليكم ورحمة الله وبركاته اخواني الكرام ليس معي ما يكفي من المال لشراء دورات اكاديمية حسوب وانا في الحقيقة اريد ان اتعلم البرمجة ولم اجد افضل من اكاديمية حسوب لذلك المجال فكيف احصل على بطاقات هدية وهل هناك مواقع للحصول عليها او اي طريقة اخرى دلوني هداكم الله1 نقطة
-
لقد لاحظت قسما في الاكاديمية اسمه بطاقات هدية ما هي بطاقات الهدية وكيف استخدمها وبماذا تفيد1 نقطة
-
بطاقات الهدية هي بطاقات توفرها الأكاديمية بحيث يمكنك شراء بطاقة بمبلغ يتناسب مع سعر الدورات الموجودة في الأكاديمية فهي تبدأ من مبلغ 160 دولار وتنتهي عند 960 دولار , 160 دولار سعر شراء دورة واحدة , 960 دولار سعر شراء جميع الدورات , يمكنك شراء البطاقة ومن ثم ارسالها الي الشخص الذي تود أهدائه البطاقة , يمكنك أيضا تخصيص البطاقة بحيث تختار اللون الذي تريده للبطاقة وتستطيع ارسال رسالة معينة مع البطاقة للشخص الذي تود اهدائه البطاقة , وتختار اسم المستلم, بامكانك ارسال البطاقة الكترونيا عبر الايميل أو يمكنك تصويرها ورقيا وتسليمها بشكل شخصي للشخص , يمكنك قراءة المزيد عن بطاقات هدية من مركز المساعدة لحسوب , يمكنك الذهاب اليه من هنا , أما بالنسبة للاستخدام , عندما تحصل على بطاقة هدية يمكنك استخدماها كما هو موضح في الصور التالية من قائمة دورات سوف تجد بطاقات هدية ثم تضغط على استخدام بطاقة هدية ثم سوف تضهر لك شاشة لادخال الكود الخاص بالبطاقة ثم يمكنك شراء دورة أو عدة دورات بناء على السعر الموجود في البطاقة, يمكنك معرفة المزيد عن كيفية الاستخدام من هنا1 نقطة
-
يمكنك جعل العملية ديناميكية و منطقية أكثر كالتالي : يتم حذف الصورة القديمة لكل مستخدم قبل تغيير صورته في حالة ارساله لطلب . فلو كانت شيفرة تحديث صورة مستخدم ما كالتالي : $target_dir = "uploads/profile"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); if(isset($_POST["change_pic"])) { move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file); $sql = "UPDATE users SET image_profile_path = '".$_FILES['fileToUpload']['name']."' WHERE id = '" .$targetUser. "'"; $check = $conn->query($sql); } سيجب إضافة شيفرة الحذف كالتالي : $target_dir = "uploads/profile"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); $oldImgPath = "SELECT image_profile_path from users WHERE id = '".$targetUser."'"; if(isset($_POST["change_pic"])) { move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file); $sql = "UPDATE users SET image_profile_path = '".$_FILES['fileToUpload']['name']."' WHERE id = '" .$targetUser. "'"; $check = $conn->query($sql); if($check){ unlink($oldImgPath); } } و بالطبع يمكنك تخصيص الشيفرة أكثر , سيحل هذا مشكلة الإحتفاظ بالصور في حالة تعديلها . لكن سيبقى مشكل توفر صور لا فائدة منها . و لتفادي هذا المشكل يمكننا إنشاء شيفرة تنفذ مرة واحدة و تحذف بعد ذلك ( one-time excutable code ) , ستتبع الشيفرة المنطق التالي : تحديد كامل مسارات الصور من قواعد البيانات من الجدول المستهدف و تخزينها في مصفوفة . تحديد كامل مسارات الصور داخل المجلد المستهدف و تخزينها في مصفوفة . تحديد العناصر الغير متوفرة في كلتا المصفوفتين . حذفها هاته العناصر . يترجم إلى : // تحديد كامل مسارات الصور من قواعد البيانات من الجدول المستهدف و تخزينها في مصفوفة . $res = mysql_query('SELECT img_profile_path from users'); $db_imgs = []; while($row = mysql_fetch_array($res)) { $db_imgs[] = $row['img_profile_path']; } // تحديد كامل مسارات الصور داخل المجلد المستهدف و تخزينها في مصفوفة . $stored_imgs = glob($targetDirectory . "*.jpg"); // تحديد العناصر الغير متوفرة في كلتا المصفوفتين . $targetImages = array_merge(array_diff($db_imgs, $stored_imgs), array_diff($stored_imgs, $db_imgs)); // حذفها هاته العناصر foreach($targetImages as $image) { unlink($image); } يجب التأكد من تمليك الملف الحاوي لهاته الشيفرة الأذونات اللازمة لذلك , كما أنه يجب حذفها نهائيا بعد تنفيذها .1 نقطة
-
1 نقطة
-
أحاول تقليد تطبيق تويتر، وأريد عرض مشاركات المستخدمين الذين أتابعهم حيث لدي 3 جداول بالشكل التالي: مستحدمين Users: id علاقة المتابعات Follows: user_id, follower_id المنشورات Posts: user_id1 نقطة
-
ستقوم بتحديد مسار المجلد الذي يتم تخزين الصور بداخله $directory = "../path/to/photos_directory/"; ثم تقوم بجلب جميع الصور ذات صيغة محددة // جلب جميع الصور ذات صيغة محددة $images = glob($directory . "*.jpg"); ثم تقوم باستخدام حلقة التكرار foreach بالمرور على جميع الصور و الصورة التي لا يكون لها اسم في قاعدة البيانات تقوم بحذفها foreach($images as $image) { $name = explode('_',$image); $name = 'photos/' . $name[0]; $sql = mysql_query("SELECT id FROM table WHERE photo1='$name' OR photo2='$name'"); if(mysql_num_rows($sql) == 0) { unlink($directory . $image); } } فيكون كامل الكود $directory = "../path/to/photos_directory/"; // جلب جميع الصور ذات صيغة محددة $images = glob($directory . "*.jpg"); foreach($images as $image) { $name = explode('_',$image); $name = 'photos/' . $name[0]; $sql = mysql_query("SELECT id FROM table WHERE photo1='$name' OR photo2='$name'"); if(mysql_num_rows($sql) == 0) { unlink($directory . $image); } }1 نقطة
-
1 نقطة
-
لدي جدولينuser, posts وجدول يربط بينهمlikes كيف اقوم بمحاكاة عملية اعجاب المستخدم بالمنشور باستخدام sequelize orm1 نقطة
-
نستخدم USING في حال كان للجدولين نفس اسم العمود الذي سنقوم بالربط بين الجدولين عليه، أي هي فقط اختصار لكتابة الشيفرة البرمجية، وتستخدم في حالات خاصة. مثلا نستخدم USING عند عمل NATURAL JOIN لأنه يعتمد على دمج نتائج الأعمدة التي تحمل نفس الاسم. الاستعلامين التاليين متكافئين: SELECT * FROM TA AS a INNER JOIN TB AS b USING (Col_1); SELECT * FROM TA AS a INNER JOIN TB AS b ON a.Col_1 = b.Col_1; وفي NATURAL JOIN سيكون الدمج تلقائي بافتراض col_1 مشترك كما في المثال السابق: SELECT * FROM TA NATURAL JOIN TB عادة استخدام USING غير عملي، بسبب اختلاف أسماء الأعمدة بين الجداول، وعدم القدرة على عمل أكثر من ربط أو وضع أكثر من شرط على خلاف JOIN ON1 نقطة
-
كيف أستطيع ربط SSL Certificate بشكل ديناميكي لكل sub-domain أقوم بإنشائه؟1 نقطة
-
لحل المشكلة عليك إعطاء اسم لحاوية تخزين قاعدة البيانات أي named volume ل db مثل volumes: mysql_dataBase آخر سطرين في الملف: version: '3' services: mysql: image: mysql:5.7 volumes: - mysql_data:/var/lib/mysql volumes: mysql_data: ثم لإيقاف الحاوية بشكل آمن نفذ: docker-compose stop أو docker-compose down ولعرض التخزين الذي له اسم نفذ: docker volume ls ***** إن كنت تريد عمل تعديلات على حاوية التطبيق بدون العبث مع قاعدة البيانات، يمكنك إطفاء كل منها على حدى مثل: docker-compose down backend_app لحذف قاعدة البيانات استخدم الأمر: docker-compose down -v1 نقطة
-
أولاً نوقف تشغيل الحاوية: sudo systemctl stop docker ثم نتوجه لملف الإعدادات: /usr/lib/systemd/system/docker.service ثم نعدل السطر التالي: لتمرير argument أو وسيط وقت تشغيل الحاوية storage-opt وتحديد الحجم dm.basesize ExecStart=/usr/bin/dockerd نعدل السطر السابق كما يلي ExecStart=/usr/bin/dockerd --storage-opt dm.basesize=20G ثم نعيد تشغيل Docker sudo systemctl start docker نفس الشيئ يمكن تعديل ملف daemon.json في المسار etc/docker/daemon.json/ بإضافة: "storage-opt": [ "dm.basesize=20G" ] ولجعل الحاوية تأخذ مساحة حسب الحاجة يمكن تحديد نوع سواقة التخزين إلى overlay /etc/docker/daemon.json {"storage-driver": "overlay"}1 نقطة
-
أولاً لكي يعمل Bash على ويندوز يمكنك تنصيب أداة git وهي تضيف صدفة Bash خلال التنصيب. ثم عليك إعداد NPM لتنفيذ السكربت في صدفة حسب مسار يمكن تمريره لها، حيث علينا تمرير مسار الصدفة إلى script-shell x64 npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe" x32 npm config set script-shell "C:\\Program Files (x86)\\git\\bin\\bash.exe" ^^^^^^ وبطريقة أخرى يمكن استخدام الملف npmrc. ونضيف له السطر: script-shell = bash ويكون السكربت افتراضياً في pacjages.json "scripts": { "test": "node ./node_modules/my_package/index.js" } حيث إن تم استعمال cmd في ويندوز سيحدث خطأ بسبب /. لذلك نضطر لتغيير الصدفة.. أو لميزات أخرى1 نقطة
-
نستخدم الدالة grid لإضافة شبكة إلى البيان الخاص بك أيَاً كان نوعه: matplotlib.pyplot.grid(b=None, which=’major’, axis=’both’, **kwargs) حيث أن الوسيط الأول قيمة منطقية لتحديد ما إذا كان سيتم إظهار خطوط الشبكة أم لا. الافتراضي هو True. أما الوسيط which لتحديد الخطوط التي ستطبق عليها التغيرات وتأخذ القيم {‘major’, ‘minor’, ‘both’} أي على كلا الخطوط أو على الخطوط الثانوية فقط أو الرئيسية فقط (الافتراضي). والوسيط axis لتحديد المحور المراد تطبيق التغييرات عليه {‘both’, ‘x’, ‘y’}. وأخيراً kwargs تمثل مجموعة خيارات أخرى مثل حجمها ولونها ونوع الخطوط وسماكتها يمكنك إضافتها (سأذكر أهمها في المثال). وبالتالي يكون الكود: import matplotlib.pyplot as plt import numpy as np from matplotlib import colors from matplotlib.ticker import PercentFormatter # إنشاء بيانات عشوائية N_points = 984 n_bins = 15 # إنشاء توزيع x = np.random.randn(N_points) y = .8 ** x + np.random.randn(984) + 25 legend = ['distribution'] # إنشاء الهيستوغرام fig, axs = plt.subplots(1, 1, figsize =(10, 7), tight_layout = True) #ticks حذف العلامات axs.xaxis.set_ticks_position('none') axs.yaxis.set_ticks_position('none') # إضافة شبكة إلى الخلفية axs.grid(b = True, color ='grey', linestyle ='-.', linewidth = 0.5, alpha = 0.6) # إضافة نص للشكل fig.text(0.9, 0.15, 'Histogram', fontsize = 13,color ='red',ha ='right', va ='top',alpha = 0.7) # plot حذف خطوط حاويةال for s in ['top', 'bottom', 'left', 'right']: axs.spines[s].set_visible(False) #وضع مسافة بين التسميات وبين المحاور axs.xaxis.set_tick_params(pad = 4) axs.yaxis.set_tick_params(pad = 8) # إنشاء الهستوغرام N, bins, patches = axs.hist(x, bins = n_bins) # تحديد الألوان fracs = ((N**(9)) / N.max()) norm = colors.Normalize(fracs.min(), fracs.max()) for thisfrac, thispatch in zip(fracs, patches): color = plt.cm.viridis(norm(thisfrac)) thispatch.set_facecolor(color) # تسمية للمحاور plt.xlabel("X-axis") plt.ylabel("y-axis") plt.legend(legend) # عنوان plt.title('Histogram') # عرض plt.show() الخرج:1 نقطة
-
نعم، الحل يتجلى بعمل تقييس لبياناتك، أو ما ندعوه في علم معالجة الصورة بال normalization وهو تخفيض مجال تمثيل البيانات دون الإخلال بالمجال الديناميكي للصورة (نطاق اختلاف الدرجة اللونية بين الضوء الأفتح والأغمق في الصورة). حيث سنقوم بقسمة قيمة كل بكسل على أكبر قيمة محتملة لنوع البيانات الخاص بصورتك وهذا نحصل عليه من خلال الدالة np.iinfo التي تعطيك القيمة القصوى المحتملة (ضمن حدود الآلة الخاصة بك) لنمط البيانات. وبالتالي نحصل على صورة بقيم بين ال 0 وال 1، وبعد ذلك نقوم بضرب الناتج ب 255 وهكذا نكون حصلنا على المطلوب، ثم يتبقى لنا الإعلان بشكل صريح عن أن المصفوفة بالنمط uint8 لذا نستخدم الدالة astype # .. # .. info = np.iinfo(data.dtype) # normalization data = (data.astype(np.float64) / info.max)*255 img = data.astype(np.uint8) # .. # .. كحل آخر، بالنسبة لعمليةالتنعيم يمكنك استخدام الدالة cv2.normalize مع تحديد النوع NORM_MINMAX لتنفيذ خطوة ال normalization اعتماداً على استخدام معادلة الmin-max لتطبيق عملية التقييس: zi=(xi−min(x))/(max(x)−min(x)) وبالتالي تكون خطوة التقييس: cv2.normalize(src=image, alpha=0, beta=255, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_8U)1 نقطة
-
يمكنك استخدام الدالة bitwise_not لإيجاد صورة المعكوس (المتمم) للصورة الأصلية، حيث نمرر الصورة للدالة وهي تتكفل بإنتاجها حيث تكون قيمة كل بكسل في الصورة الناتجة هي المتمم إلى 255 لقيمة البكسل الأصلية. فمثلاً لو كانت قيمة البكسل في الصورة الأصلية 100 ستكون قيمته في الصورة الناتجة 155 لأن: 255-100=155 مثال: import cv2 import numpy as np # قراءة الصورة image = cv2.imread('/content/test.jpg') # تحويلها إلى الصيغة الرمادية image=cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # عكس الصورة inverted = cv2.bitwise_not(image) from google.colab.patches import cv2_imshow cv2_imshow(image) cv2_imshow(inverted) الصورة الأصلية: الصورة الناتجة: كما يمكنك استخدام الدالة np.invert التي تؤدي نفس الغرض: import cv2 import numpy as np image = cv2.imread('/content/test.jpg') # تحويلها إلى الصيغة الرمادية image=cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # عكس الصورة inverted = np.invert(image) from google.colab.patches import cv2_imshow cv2_imshow(image) cv2_imshow(inverted)1 نقطة
-
يمكنك استخدام الوسيط edgecolors لتحديد لون الحدود و الوسيط facecolors لتحديد لون الدائرة نفسها، وفي حالة أردت أن تكون الدوائر بدون لون (مفرغة) قم بتعيين القيمة none لل facecolors كما في المثال التالي: import matplotlib.pyplot as plt import numpy as np dataX = np.random.randn(100) dataY = np.random.randn(100) plt.scatter(dataX, dataY, facecolors='none', edgecolors='black',s=70) plt.show() حيث يمكنك التحكم بحجم الدوائر من خلال الوسيط s الذي يمثل حجمها. والنتيجة:1 نقطة
-
يمكنك استخدام الدالة plot مع الوسيط color كما في المثال التالي: import matplotlib.pyplot as plt import numpy as np x = np.linspace(-10, 10, 30) plt.plot(x, x,color="red") plt.plot(x, 8 * x,color="blue") plt.plot(x, 6 * x,color="black") plt.plot(x, 5 * x,color="c") plt.plot(x, 4 * x,color="brown") # ويمكنك إضافة صندوق توضيح للبيانات كما يلي plt.legend(['y = x', 'y = 8x', 'y = 6x', 'y = 5x', 'y = 4x'], loc='upper left') plt.show() النتيجة: كما يمكنك التحكم بالألوان من خلال الدالة set_color_cycle: plt.gca().set_color_cycle(['color1', 'color2', 'color3', 'color4','color5']) مثال2: سنقوم هنا برسم عدة رسوم وسنعطيها ألواناً مختلفة من خريطة لونية محددة: import matplotlib.pyplot as plt import numpy as np # عدد الخطوط التي تريدها num_plots = 25 # colormaps اختيار خريطة لونية معينة # Accent هنا سمختار الخريطة اللونية colormap = plt.cm.Accent plt.gca().set_prop_cycle(plt.cycler('color', plt.cm.jet(np.linspace(0, 1, num_plots)))) # رسم الخطوط x = np.random.normal(1, 2, 5000) # تحديد بيانات عشوائية labels = [] for i in range(1, num_plots + 1): plt.plot(x, i * x + 5 * i) labels.append(r'$y = %ix + %i$' % (i, 5*i)) # رسم صندوق بيانات للتوضيح plt.legend(labels, ncol=4, loc='upper center', bbox_to_anchor=[0.5, 1.1], columnspacing=1.0, labelspacing=0.0, handletextpad=0.0, handlelength=1.5, fancybox=True, shadow=True) plt.show() النتيجة: وفي الرابط التالي تجد أنواع خرائط لونية مختلفة، يمكنك اختيار ماتفضله: https://matplotlib.org/1.2.1/examples/pylab_examples/show_colormaps.html1 نقطة
-
يمكنك استخدام الأداة pyplot.locator_params كما يلي: # للمحور Y matplotlib.pyplot.locator_params(axis='y', nbins=3) # للمحور X matplotlib.pyplot.locator_params(axis='x', nbins=3) # للمحورين معاً وهي الحالة الافتراضية matplotlib.pyplot.locator_params(nbins=3) حيث أن nbins تشير إلى عدد ال ticks التي تريدها أن تظهر. ولتقليل العدد الأعظمي من العلامات واستخدام حدود ضيقة أيضاً نضبط الوسيط tight على true: plt.locator_params(tight=True, nbins=n) مثال: import numpy as np import matplotlib.pyplot as plt plt.locator_params(axis ='x', nbins = 5) # نريد إظهار 5 علامات فقط x = np.random.normal(1, 2, 5000) y = np.random.normal(-1, 3, 2000) bins = np.linspace(-10, 10, 30) # الخاص بك axes أخذ غرض يمثل ال ax = plt.axes() ax.set_facecolor('black') # هنا فقط لإضافة خطوط شبكة للرسم أي يمكنك تجاهلها ax.grid(b = True, color ='w', linestyle ='-.', linewidth = 0.5, alpha = 0.6) plt.hist([x,y], bins = 15,label=[x,y],color=["red","blue"]) legend = ['Data1','Data2'] plt.legend(legend) plt.show() والنتيجة:1 نقطة
-
تنصحني ب اي كبداية مع العلم اني مبتدئ رتب لي اول دورتين يمكنوني من العمل بعد انتهائهم كبداية 1- علوم الحاسب 2- تطوير واجهات المستخدم هل هذا صحيح ؟ وهل بعد الانتهاء استطيع العمل كمستقل ؟1 نقطة
-
تُستخدم الأسماء المستعارة لـ SQL لإعطاء اسم مؤقت لجدول أو عمود في جدول. غالبًا ما تستخدم الأسماء المستعارة لجعل أسماء الأعمدة أكثر قابلية للقراءة. الاسم المستعار موجود فقط لمدة هذا الاستعلام. يتم إنشاء اسم مستعار باستخدام الكلمة الأساسية AS. يوجد أكثر من جدول واحد متضمن في الاستعلام يتم استخدام functions في الاستعلام أسماء الأعمدة كبيرة أو غير مقروءة جيدًا يتم دمج عمودين أو أكثر معًا فنعطي اسم العمود الناتج عن الدمج اسم يعبر عنه يمكن استخدام column_alias في عبارة ORDER BY ، ولكن لا يمكن استخدامها في جملة WHERE أو GROUP BY أو HAVING. لا يسمح SQL القياسي بالإشارة إلى الأسماء المستعارة للأعمدة في جملة WHERE. يتم فرض هذا التقييد لأنه عند تقييم جملة WHERE ، يكون لم يتم تحديد قيمة العمود بعد، بسبب ترتيب تنفيذ أجزاء الاستعلامات. يمكن إعطاء اسم مستعار لنتيجة subquery أي استعلام جزئي يمكن إعطاء اسم مستعار لنتيجة دالة تجميع aggregation function مثل sum - man - avg أمثلة عامة: -- اسم مستعار لعمود Alias Column SELECT column_name_1 AS alias_name_1, column_name_2 AS alias_name_2, FROM table_name_1; -- اسم مستعار لجدول Alias Table SELECT column_name_s, *.. FROM table_name AS alias_name_table; اسم مستعار لعمود مع دوال التجميع: SELECT SQRT(a*b) AS root_square FROM math_table GROUP BY root HAVING root_square > 0; SELECT id, COUNT(*) AS count FROM employees GROUP BY id HAVING count > 0; SELECT id AS 'Customer identity' -- اسم توضيحي FROM Customer; دمج جدول مع نفسه: SELECT o.OrderID, o.OrderDate, c.CustomerName -- استخدام الاسم المستعار في SELECT FROM Customers c, Orders o -- يمكن تجاهل زضع as WHERE c.CustomerName LIKE "wael%" AND c.CustomerID=o.CustomerID; إعادة تسمية ناتج دمج عدة أعمدة: SQL SERVER: SELECT Name, CONCAT(Address,', ',City,', ',Country) AS Address FROM Customers; MySQL: SELECT Name, Address + ', ' + City + ', ' + Country AS Address FROM Customers;1 نقطة
-
1 نقطة