لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 06/18/21 in أجوبة
-
هي عبارة عن واجهة مجردة abstract interface بين العتاد hardware وبين أقل مستوى برمجي lowest level software الذي يشمل كل المعلومات الضرورية لكتابة برنامج بلغة الآلة machine language program الذي سيعمل بشكل صحيح متضمنة (نقصد ال ISA ) التعليمات Instructions والمسجلات register والوصول إلى الذاكرة memory access ووحدات الخل والخرج.. وبشكل أكثر وضوحاً يمكن أن نقول أن مجموعة التعليمات أو الأوامر ISA هي قائمة بجميع الأوامر المتاحة بمختلف أشكالها التي يمكن لمعالج ما أن يقوم بتنفيذها. تتضمن هذه التعليمات: تعليمات حسابية:مثل الجمع والطرح، تعليمات منطقية: كتعليمات الضرب المنطقي AND والجمع المنطقي OR والنفي المنطقي NOT وو.. وهي عبارة هن نموذج مجرد Abstract model، تصبح ال ISA ملموسة (لها وجود فعلي) فقط عندما نضع لها تحقيقاً implementation بحيث أنه من أجل ISA واحدة يكون لدينا أكثر من تحقيق، حيث أن كل تحقيق يختلف في أدائه عن الآخر بحسب عدة عوامل. خدمات هذه ال ISA هي الواجهة بين البرمجيات software والعتاد hardware بحيث أن كل برنامج قد كتب من أجل ISA واحدة يمكنه أن يعمل على التحقيقات المختلفة لهذه ال ISA دون أي مشكلة لكن مع اختلاف في الأداء.1 نقطة
-
1 نقطة
-
1 نقطة
-
لدي مجموعة من المستندات بالبنية التالية: { "_id" : ..., "employees" : ["employeeName1"], "depts" : ["2223"] } وقمت بإجراء استعلام للحصول على المستندات التي تحوي عدد محدد من الموظفين employees بهذا الشكل: find({ employees : { $size : 2 }}) ولكن كيف يمكنني جلب المستندات التي تحوي أكبر من عدد محدد؟ لقد حاولت استخدام gt$ بدلاً من size ولكن لم أحصل على النتيجة المطلوبة: find({ employees : { $size: { $gt : 5 } }}) فهل هنالك طريقة أخرى لأتمكن من جلب المستندات التي تحوي عدد عناصر ضمن مصفوفة أكبر أو أصغر من عدد محدد (دون تغيير بنية المستند الحالية)؟1 نقطة
-
لابد أنك تعلم ان من تقنيات تعلم الاَلة التجميع clustering و هو المستخدم بصورة موسعة في عدد من المجالات مثل تقسيم العملاء Customer segmentation، توصيات منتجات أمازون Amazon’s recommendation system، الرابط بين هذه البيانات الضخمة هو غياب العناوين labels، وهنا تأتي خوارزميات عدة مثل K-Means و DBSCAN لتحل المشكلة بالإعتماد إما خصائص البيانات مثل كثافتها أو المسافة بينها و غيرها. ما يميز DBSCAN عن خورازميات اخرى مثل K-Means و Hierarchical Clustering هو عجزهم عن إنشاء مجموعات تعتمد على شكل البيانات إذا قمنا بتمثيلها في مخطط أبعاد dimensional diagram. بالنظر للصورة أعلاه ترى كيف تقوم الخوارزميات بتقسيم البيانات إلى مجموعات مختلفة، و الأن لنرى كيف تقوم خوارزمية DBSCAN بتقسيم البيانات. لاحظ أن الخوارزمية أخذت في الإعتبار القيم الشاذة أو المتطرفة بوضعها في مجموعة مختلفة، حيث انها لا تنتمي إلى أي من المجموعات الأخرى. لعلك لاحظت من الإسم أن DBSCAN تعتمد على كثافة البيانات وهي بعكس K-Means لا تحتاج لتعريف مسبق بعدد المجموعات المراد أخذها في الإعتبار للقيام بعملية التقسيم.1 نقطة
-
هي طريقة لعمل تقسيم للبيانات الغير معنونة، unlabeled data ويستخدم في التعلم بلا إشراف يحل مشكلة K-Means في تشكل العناقيد في البيانات التي فيها كثافات متفاوتة حيث تعتمد على إنشاء دوائر حول كل عينة من البيانات ويتم بعدها تصنيف العينات على أنها عينات أساسية أو حدية أو ضوضاء. حيث تعتبر العينة التي تحتوى على عدد min_samples أو أكثر من العينات بعينة أساسية وتعتبر العينة حدية إذا كان min_samples أقل في حين أن العينات التي لا تحوي دوائرها عينات تعتبر ضوضاء. يتم استخدامه عبر الموديول sklearn.cluster. استدعاء المكتبات: from sklearn.cluster import DBSCAN في البداية قمنا باستدعاء المكتبة التي يوجد فيها هذا الموديل. الشكل العام للموديل: DB=DBSCAN(eps=0.5, min_samples=5, algorithm='auto', p=None, n_jobs=None) الوسيط الأول eps هو اختصار ل epsilon أكبر مسافة بين عينتين من البيانات. الوسيط الثاني min_samples أقل عدد من العينات لتحديد فيما إذا كانت العينات أساسية أو حدية أو ضوضاء. الوسيط الثالث algorithm نوع الخوارزمية الذي يستخدمها NearestNeighbors لحساب أقرب جار وحساب المسافات بين العينات وهي ‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’ ولكن ينصح باعتماد auto لكي يتم اختيار أفضل خوارزمية. الوسيط الرابع p الطاقة لمقياس مينكوفسكي حيث عندما تساوي 1 يكون حساب المسافة عن طريق قانون منهاتن للمسافات وعندما تساوي 2 يتم الحساب عن طريق المسافة الإقليدية وفي الحالة الافتراضية يتم استخدام مينكوفسكي. الوسيط الخامس n_jobs عدد المعالجات التي تعمل بالتوازي وبتالي كلما زاد العدد زاد التسريع ,يوضع -1 للدلاله على عمل كامل المعالجات طبعا قمت بشرح الشكل العام للموديل ولكن عن طريقة استخدامه سهل جدا فقط بعد أن تقوم بتقسيم الداتا إلى X_train,X_test تسطيع كتابة الأتي لعملية التدريب. الشكل العام للموديل: DB=DBSCAN(eps=0.5, min_samples=5,algorithm='auto', p=None, n_jobs=None) DB.fit(X_train) حيث الدالة fit يوجد ضمنها جميع العمليات الداخلية لعملية التدريب . يوجد دالة أخرى تستخدم لغرض التنبؤ كالآتي: نستطيع فيها حساب قيم التقسيم على التدريب والاختبار عن طريق التابع fit_predict ويكون وفق الشكل: y_pred_train = DB.fit_predict(X_train) y_pred_test = DB.fit_predict(X_test) print('DB Train data are : ' ,y_pred_train) print('DB Test data are : ' ,y_pred_test) لنأخذ مثال يوضح الموديل: # استدعاء المكتبات from sklearn.cluster import DBSCAN import numpy as np # تعين داتا دخل مزيفة X = np.array([[50, 3], [4, 5], [25, 30], [4, 1], [2, 7], [2, 8]]) # بناء الموديل DB= DBSCAN(eps=3, min_samples=2) # طباعة تصنيف العينه DB.fit_predict([[1,2]])1 نقطة
-
إن MVC هو اختصار لـ Model View Controller وهي بنية لتصميم البرمجيات (وليست طريقة)، وبالتالي لا تعتمد على إصدار محدد أو لغة برمجة معيّنة، فلن تتأثر بأي نسخة PHP تقوم باستخدامها. على العكس تماماً، تمنح البنية اللازمة والمتينة للبرمجيات التي يتم تطويرها مهما اختلفت لغات البرمجة والإصدارات. أما بالنسبة لاستخدام MVC دون أطر عمل، فذلك يعود لفهمك لهذه البنية وإمكانية تطبيقها بدءً من توزيع هيكلية مجلّدات المشروع وصولاً إلى فصل كل من: المسارات - طبقة التعامل مع البيانات - طبقة المحكّمات. والدوال والتوابع والوسطاء التي يتم استخدامها في كل طبقة. لأن أطر العمل في PHP وخاصةً لارافل مبنية بشكل كامل على بنية MVC وبالتالي لن تحتاج للتعمّق في بناء هيكلية الملفات والتوابع بشكل يدوي. في حال أردت بنائها بنفسك، يجب عليك التعمّق أكثر في فهم هذه البنية ودراسة كيفية عملها لتستطيع تطبيقها في مشاريعك. ولكن كنقطة بداية يمكنك البدء في توزيع هرمية المشروع لديك إلى النقاط الثلاث الأساسية في MVC. كما يمكنك البحث والاطلاع على المقالات والأسئلة المطروحة حول MVC ضمن الأكاديمية.1 نقطة
-
يمكنك استخدام دالة md5 لتشفير كلمات المرور مثل $password = "123"; echo md5($password); ايضا يمكنك استخدام الدالة md5 في تشفير النصوص بهذا الشكل $string = "Hello" ; echo md5($string); ايضا يمكنك استخدام base64_encode في تشفير النصوص بهذا الشكل $string = "Hello" ; echo base64_encode($string);1 نقطة
-
يمكن إجراء التشفير وفك التشفير في PHP باستخدام الإضافة Cryptography من خلال توابع OpenSSL. حيث يمكنك تشفير سلسلة نصية من خلال التابع التالي: string openssl_encrypt( string $data, string $method, string $key, $options = 0, string $iv, string $tag= NULL, string $aad, int $tag_length = 16 ) والمتغيّرات الأساسية للدالة هي: data: السلسلة النصية التي نرغب بتشفيرها method: طريقة التشفير key: مفتاح التشفير وبعدها يمكنك تخزينها في متغيّر ثم ضمن قاعدة البيانات أو معالجتها بالطريقة التي ترغب بها. ويتم فك التشفير أيضاً من خلال: string openssl_decrypt( string $data, string $method, string $key, int $options = 0, string $iv, string $tag, string $aad) مثال عن تشفير سلسلة نصية: $simple_string = "Welcome to GeeksforGeeks\n"; //طباعة السلسلة النصية الأصلية echo "Original String: " . $simple_string; // طريقة التشفير $ciphering = "AES-128-CTR"; $iv_length = openssl_cipher_iv_length($ciphering); $options = 0; // المتجه الأولي للتشفير $encryption_iv = '1234567891011121'; // مفتاح التشفير $encryption_key = "secretkey"; $encryption = openssl_encrypt($simple_string, $ciphering, $encryption_key, $options, $encryption_iv); // طباعة السلسلة المشفّرة echo "Encrypted String: " . $encryption . "\n"; //أما فك التشفير فيتم بطريقة مماثلة مع استخدام التابع التالي $decryption=openssl_decrypt ($encryption, $ciphering, $decryption_key, $options, $decryption_iv); كما يوجد أيضاً طرق أخرى عديدة للتشفير ومنها مايعرف بـ Hash والذي يستخدم لتشفير كلمات المرور، مثال: $password = 'password12345'; $random = openssl_random_pseudo_bytes(18); $salt = sprintf('$2y$%02d$%s',13,substr(strtr(base64_encode($random), '+', '.'), 0, 22) ); $hash = crypt($password, $salt);1 نقطة
-
TfidfVectorizer هو مقياس إحصائي يُقال إنه أصلح المشكلات مع CountVectorizer بطريقة ما. يتكون من جزأين، TF (تردد المدى) مضروبًا في IDF (تردد المستند العكسي). يقيس TF (تكرار المصطلح) عدد مرات ظهور مصطلح أو كلمة في مستند معين. يقيس IDF (تكرار المستند العكسي) أهمية المصطلح عبر مجموعة. درجة TF-IDF هي نتاج هذين المصطلحين. وبالتالي ، درجة TF-IDF = TF * IDF يمكن تطبيق هذا الترميز بسهولة في مكتبة Sklearn، حيث يتم استخدام هذا الكلاس كالتالي: fit_transform(data) نستخدمه للقيام بعملية ال fitting (الترميز) و ال transform (تطبيق الترميز -تحويل البيانات من شكلها الحالي إلى الشكل الجديد اعتماداً على الترميز الذي تم إنشاؤه في مرحلة ال fitting-) على البيانات. إذا أردت استعراض النص بعد الترميز استخدم التابع toarray كما فعلت في المثال: # استيراد الكلاس from sklearn.feature_extraction.text import TfidfVectorizer # إنشاء مجموعة بيانات data = [ 'This is a Hsoub website.', 'Where is the company headquarters?', 'Is this the first example?', 'Is this the first document?', ] # أخذ غرض من الكلاس vectorizer = TfidfVectorizer() #والتحويل fitting تطبيق ال X = vectorizer.fit_transform(data) # عرض أسماء الميزات print(vectorizer.get_feature_names()) # طباعة النصوص المرمزة بهذا الترميز print(X.toarray()) ##################################### Output ############################################# ['company', 'document', 'example', 'first', 'headquarters', 'hsoub', 'is', 'the', 'this', 'website', 'where'] [[0. 0. 0. 0. 0. 0.61087812 0.31878155 0. 0.38991559 0.61087812 0. ] [0.52130524 0. 0. 0. 0.52130524 0. 0.2720387 0.33274238 0. 0. 0.52130524] [0. 0. 0.60759891 0.47903796 0. 0. 0.31707032 0.38782252 0.38782252 0. 0. ] [0. 0.60759891 0. 0.47903796 0. 0. 0.31707032 0.38782252 0.38782252 0. 0. ]]1 نقطة
-
لان كل موقع له طريقة ما استطيع احدد فين بالضبط ما اردته اعطاء فكرة عامه عن طريقة ربط الدومين مع الاستضافة1 نقطة
-
أحاول التطبيق على OOP ولكن عند إستخدام المعامل += يحدث أمر غير متوقع، في الكود التالي يوجد صنفين foo و foo2 وعند عمل كائن من كل صنف وإضافة قيمة إلى القائمة bar يتم إضافتها أيضًا إلى الكائن الآخر!! >>> class foo: ... bar = [] ... def __init__(self,x): ... self.bar += [x] ... >>> class foo2: ... bar = [] ... def __init__(self,x): ... self.bar = self.bar + [x] ... >>> f = foo(1) >>> g = foo(2) >>> f.bar [1, 2] >>> g.bar [1, 2] >>> f.bar += [3] >>> f.bar [1, 2, 3] >>> g.bar [1, 2, 3] لماذا أصبح الكائن g يحتوي على نفس القائمة أيضًا؟ هذه المشكلة لا تحدث إن قمت بإستخدام الطريقة العادية كالتالي: >>> f.bar = f.bar + [4] >>> f.bar [1, 2, 3, 4] >>> g.bar [1, 2, 3] >>> ما الفرق بين الطريقة الأولى والثانية؟1 نقطة
-
اهلا بك، لاب توب، تحتاج core i7 رامات فوق 16، هارد ssd. يكون سعره من 1000 الى 1500 دولار او حتى أكثر..1 نقطة
-
السلام عليكم اخي الكريم افضل شي انصحك بي اهتم بمعالج عالي ورام عالي وكرت شاشه والله يجعلنا فدناك1 نقطة
-
في ميزانية ال 5000 جنيه مصري لا يمكن تجميع جهاز بكارت شاشة منفصل وذلك في حالة أن القطع جديدة ولكن البديل عن ذلك يمكن تجميع جهاز ب APU وهو معالج بكارت شاشة مدمج ويعتبر في نفس هذه الفئة (Ryzen 3 3200g أفضل إختيار متوفر) ولكن الأداء جيد جداً لهذه الفئة (يفضل إضافة قطعتين من الرام بدلاً من واحدة لأداء أفضل) ويمكنك تجميع باقي القطع بناء على هذا ال APU وستكون في حدود ال 5000 بالنسبة لأداء هذه التجميعة فيمكنها تشغيل معظم البرامج والألعاب الموجودة بدون مشكلة ولن تواجه مشكلة سواء في التصميم أو البرمجة1 نقطة
