لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 04/22/22 في كل الموقع
-
لو سمحت انا كنت مشترك في دورة تطوير واجهات المستخدم وامامي باذن الله شهرين وانتهي من هذه الدورة كنت اريد ان اشترك في دورة من دورات تطوير الواجهات الخلفية وانا متردد بين هذه اللغات ( Python , js , php , roby ) ولا اعرف ايها اختار هي هذا الوقت ولا اعرف شئ عن هذه اللغات بشكل خاص ايها افضل ومطلوبه في سوق العمل ؟1 نقطة
-
السلام عليكم عند تشغيل مشروع laravel مثلا بإستخدام wanpاو laragon يمكنني الدخول اليه محليا فقط عن طريق الايبي + المنفذ سؤالي كيف يمكن تحويله الى global بحيث استطيع الدخول اليه من اي حاسوب ومن اي شبة مادام الخادم مشتغل عندي شكرا1 نقطة
-
لدي تقرير شهري وابحث عن محترف في تصميم تقرير بحيث يكون البيانات المدخلة تكون ع رسم تحليل بياني واحصائيات ويفضل برنامج الاكسس1 نقطة
-
يمكنك نشر مشروع جديد على أحد مواقع العمل الحر مثل مستقل أو خمسات، وسوف تحصل على عدد من العروض من محترفين ومتخصصين. ولا تنسى أن تقوم بطرح كل التفاصيل التي لديك لتحصل على النتيجة المرجوة.1 نقطة
-
هل مفروض وانا بتعلم ولما اكون خلصت html و css اعمل مشاريع كتير ؟ وافضل اشوف ولا بدام فاهم خلاص؟ + ازاي اقدر اجيب افكار لمشاريع ؟1 نقطة
-
التطبيق على ما تتعلمه ضروري جدا، لانه حتى لو كان إحساسك انك تفهم html css فعند تطبيق المشاريع الحقيقية ستواجه صعوبات في تنسيق الصفحات و تصميمها و لكي تثبت لنفسك أنه لديك المهارات الكافية لذلك، عليك ببناء مشروع كبير تستخدم فيه ماتعلمته من هذه التقنيات. أفكار مشاريع html css هي في تقليد أي موقع أو جزء من موقع تراه على الانترنت لفكرة جيدة تعجبك و تريد تطبيقها بنفسك. يمكنك تصفح مواقع العمل الحر و قراءة متطلبات أحد مشاريع التصميم والقيام بتنفيذه كتدريب لك. ليس عليك تنفيذ عشرات المشاريع لتثبت انك أتقنت ماتتعلمه، بل يكفي بحدود 5 مشاريع متوسطة و تبذل فيها مجهود مناسب و ترى نتيجة جيدة لما تعلمته.1 نقطة
-
1 نقطة
-
الخطأ :: Warning: mysqli_query() expects parameter 1 to be mysqli, bool given in D:\xampp\htdocs\server\colleg project\login.php on line 13 Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in D:\xampp\htdocs\server\colleg project\login.php on line 13 الكود:: <?php if(isset($_POST['logbtn'])){ $pass = ''; $dbname = 'lb'; $host = 'localhost'; @$conn = mysqli_connect($host,$username,$pass,$dbname); $emm = $_POST['emaillog']; $ppas = $_POST['passlog']; $q = "SELECT * FROM test WHERE Email='$emm' && password='$ppas'"; if(mysqli_num_rows(mysqli_query($conn, $q)) > 0){ echo 'finaly done'; }else{ echo 'no'; } } ?>1 نقطة
-
يجب التحقق من إنشاء الاتصال بنجاح مع قاعدة البيانات بعد استدعاء التابع mysqli_connect، قد يحدث عدة مشاكل تسبب فشل الاتصال كأن تكون قاعدة البيانات لا تعمل بالأساس تأكد من ذلك أولًا، ثم أضف الشيفرة التالية والاستفادة من التابع mysqli_connect_errno بعد استدعاء التابع mysqli_connect لمعرفة ما إذا تم الاتصال بنجاح وطباعة رسالة توضح السبب والخروج من البرنامج في حال ذلك: // انشاء الاتصال @$conn = mysqli_connect($host,$username,$pass,$dbname); // التحقق من صحة الاتصال if (mysqli_connect_errno()) { echo "فشل الاتصال بقاعدة بيانات MySQL: " . mysqli_connect_error(); exit(); // الخروج من البرنامج مباشرةً }1 نقطة
-
في لينكس يوجد آلاف البرامج المجانية ومفتوحة المصدر وغيرها برامج تكون مدفوعة ولها حقوق إستخدام، ولتسهيل التعامل مع هذه البرامج وتثبيتها بسهولة وآمان، يتم تقسيم هذه البرامج في Ubuntu في أربع مستودعات مختلفة: مستودع Main: يحتوي على برامج مجانية ومفتوحة المصدر بدعم من Canonical (المؤسسة الأم لنظام Ubuntu) مستودع Universe: يحتوي على برامج مجانية ومفتوحة المصدر، والتي يتم صيانتها وتطويرها من قِبل المجتمع community مستودع Restricted: يحتوي على البرمجيات والتعريفات drivers التي تسنح بتشغيل Ubuntu وبرامجه على العتاد Hardware المتعارف عليه مستودع Multiverse: يحتوي على البرامج المقيدة بحقوق النشر والتوزيع في الإصدارات الأخيرة من Ubuntu يمكنك أن تقوم بتفعيل أي مستودع من خلال برنامج Software Sources، حيث يمكنك تحديد ما تريد تفعليه كما في الصورة التالية: بعد ذلك أضغط على Close، ستظهر لك نافذة قمت بالضغط على زر reload، وبهذا سيكون قد تم تفعيل المستودع لديك. أيضًا يمكنك أن تقوم بتفيله من خلال الأمر التالي: sudo add-apt-repository repo_name قم بإستبدال repo_name باسم المستودع الذي تريد تفعيله ، مثل: sudo add-apt-repository universe بعد تفعيل المستودع لا تنسى أن تقوم بالتحديث من خلال الأمر التالي: sudo apt-get update في حالة كنت تستعمل إصدار قديم من Ubuntu فيمكنك أن تستخدم الأمر التالي لتفعيل أي مستودع من الأربع مستودعات: sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) repo_name" قم بإستبدال repo_name باسم المستودع الذي تريده، مثل: sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"1 نقطة
-
يمكنك تنفيذ الأمر التالي الذي سيعدل ملف قائمة المصادر etc/apt/sources.list/ ويضيف universe لنهاية أسطر المصادر المتاحة لديك: sudo add-apt-repository universe بعد تفعيل المستودع نفذ أمر تحديث قوائم الحزم sudo apt-get update يمكنك الاستفادة من قراءة المقال التالي:1 نقطة
-
قد ترى السعر عالي لأنك فقط ترى ثمن الدورة دون النظر إلى المحتوى, بالتأكيد لن تجد في الوطن العربي العديد من الدورات بثمن 290 دولار لأن أغلب الناس قد تعتبر الثمن كثير نسبيًا ولكن ما ستجده هو دورات ثمنها أقل ولكن بمحتوى أقل أيضًا , إن أردت دراسة نفس المحتوى في أغلب الأوقات ستضطر إلى أخذ أكثر من دورة لتكافئ نفس المحتوى ووقتها بالتأكيد ستجد أن التكلفة عليك تعدت ال290 دولار بفرقٍ ملحوظ. لذا لا تنظر فقط على السعر بل السعر مقابل القيمة1 نقطة
-
كما قال اسامة هي خوارزمية تستخدم للتصنيف clustering ويمكنك فهم الخوارزمية بشكلٍ أفضل عبر المثال التالي نفترض أن لدينا النقط التالية A1(2, 10), A2(2, 5), A3(8, 4), A4(5, 8), A5(7, 5), A6(6, 4), A7(1, 2), A8(4, 9) والذي لهم النقط المركزية المبدأية التالية A1(2, 10), A4(5, 8) , A7(1, 2). أول خطوة لدينا نحتاج أن نقوم بتقسيم كل نقطة حسب إن كانت في الcluster الخاص بالنقطة المركزية الأولى أم الثانية أم الثالثة, ونقوم بذلك عبر المرور على كل نقطة وحساب المسافة بينها وبين الثلاث مراكز, وأقل مسافة تكون إذا النقطة تابعة لها فمثلًا النقطة الأولى هي المركز لأول cluster لذا لا نحتاج إلى إجراء أي عمليات عليها, بينما النقطة الثانية لحساب أي مركز تنتمي له نقوم بحساب المسافة بينها وبين المراكز الثلاث , ولحساب المسافة بين نقطتين نقوم بجمع القيمة المطلقة ل x1 -x2 و y1-y2 كما يتضح P(A2, c1)= |2-2| +|10-5| = 5 P(A2, c2) = |2-5| + |5-8| = 6 P(A3, c3) = |2-1| + |5-2| = 4 نلاحظ أن اقل مسافة تكون المسافة بين النقطة 2 والمركز الثالث , لذا تلك النقطة تنتمي للمركز الثالث, نقوم بتطبيق نفس الخطوات على جميع النقاط لدينا فيصبح توزيع النقاط النهائي كما يظهر في الصورة الأن قد قمنا بتصنيف النقاط لدينا, ولكن مهلًا لم ننتهي هنا, فبعد ان قمنا بتقسيم النقاط من الطبيعي الأن ان النقط المركزية ستتغير, سنقوم في كل cluster بالحصول على mean ال x للنقاط ومتوسط(mean) الy للنقاط وتصبح النقطة الناتجة من المتوسطان هي نقطة المركز الجديدة, ونقوم بعمل تلك العملية لكل cluster , وتتضح العملية من خلال المثال التالي في cluster 1 لا يوجد لدينا إلا نقطة واحدة لذا تظل هي النقطة المركزية cluster 2 ((8 + 5 + 7 + 6 + 4)/5, (4 + 8 + 5 + 4 + 9)/5) = (6, 6) cluster 3 ((2 + 1)/2, (5 + 2)/2) = (1.5, 3.5) لذا تلك هي النقاط المركزية الجديدة لدينا (2,10), (6,6) , (1.5, 3.5) ومن ثم نقوم بتكرار عملية توزيع النقاط مرة اخرى ولكن مع النقاط المركزية الجديدة ليصبح توزيع النقاط الجديد كالتالي ومن ثم نقوم بتكرار خطوة الحصول على النقاط المركزية الجديدة مرة اخرى ونعيد توزيع النقاط مرة اخرى ونستمر على هذا الحال ونكرر في الخطوات حتى نصل الى حالة يكون فيها النقاط المركزية القديمة = النقاط المركزية الجديدة, وفي تلك الحالة نكون وصلنا الى التوزيع المثالي للنقاط1 نقطة
-
تعتبر خوارزمية k-mane خوارزمية تنصيف (cluster analysis) خلال عملية التنقيب في البيانات (Data Mining) والهدف من هذه الخوارزمية تقسيم عدد من العناصر (بيانات n) إلى عدد k من الأقسام والتي فيها يجتمع كل عنصر إلى القسم ذي النقطة المركزية الأقرب (المتوسط)، حيث تمثل النقطة المركزية الأساس الذي يتم عليه تقسيم البيانات وتصنيفها ولهذا أتت التسمية k-means clustering. نتيجة التصنيف هي القسمة إلى مناطق فورونية. بمعنى أخر تجميع عناصر البيانات في مجموعات متعددة بناء ً على التشابه بين هذه العناصر . لها مميزات وعيوب ومن مميزاتها سهلة الفهم لها القدرة على قابلية التوسع والكفاءة العالية عند معالجة البيانات الكبيرة ومن السلبيات غير مناسبة لإيجاد مجموعات ذات اختلاف كبير في الحجم حساسة لنقطة مركز العنقود الأولية يتم إعطاء قيمة K من قبل المستخدم قبل معالجة البيانات . وتكون القيمة غير معروفة وتقدير القيمة من فراغ قد يؤدي إلى نتائج سلبية.1 نقطة
-
في حال كانت المصفوفة ببعدين كالمصفوفة السابقة، يمكنك الاستفادة من التابع array_column لتحديد العمود الذي تريد البحث ضمنه وبالتكامل مع التابع in_array تستطيع البحث ضمن المصفوفة، لنفرض أنك تريد البحث عن اسم المستخدم تكون عملية البحث كالتالي: $username_exists = in_array('Saif Al Deen', array_column($userdb, 'username')); وفي حاال كانت عملية البحث أعقد وتعتمد على عدة أعمدة معًا يمكنك المرور على عناصر المصفوفة واختبار قيمها كالتالي: foreach($userdb as $user){ if($user['username'] === 'emad saif' && $user['email'] === 'emad@gmail.com'){ // المستخدم موجود } } يمكن تضمين العملية السابقة ضمن تابع لسهولة الاستخدام وجعل الشيفرة مقروءة بشكل أكبر كالتالي: function user_exists($users, $username, $email){ foreach($users as $user){ if($user['username'] === $username && $user['email'] === $email){ return true; } } return false; } // .. $exists = user_exists($userdb, 'emad saif', 'emad@gmail.com');1 نقطة
-
1 نقطة
-
توثيق جانغو لا ينصح بتغيير التابع __init__ في النماذج (Models) ﻷنه قد يؤدي إلى خلل في حفظ البيانات وإنما ينصح ب: إنشاء دالة ثابتة (classmethod) في النموذج: class Post(models.Model): .... @classmethod def create(cls, title, content, description): post = cls(title=title, content=content, description=description) return post ويتم استدعاؤها على الشكل التالي: p = Post.create('my post title','some content', 'summary of the post') إضافة تابع إلى مدير النموذج (Manager) - عادةً هذا ما ينصح به- : #نقوم بإنشاء مدير مخصص class PostManager(models.Manager): def create_post(self, title, content, description): post = self.create(title=title, content=content, description=description) return post class Post(models.Model): ... #تعيين مدير النموذج objects = PostManager() ويتم استدعاء هذا التابع على الشكل التالي: p = Post.objects.create_post('my post title','some content', 'summary of the post')1 نقطة
-
يمكنك أن تستخدم المعامل + لدمج المصفوفتين معًا، على النحو التالي: <?php $arr1 = array( "name" => "emad", "email" => "emad@gmail.com" ); $arr2 = [ 123=> 'emad_saif', 456=> '18' ]; print_r($arr1 + $arr2); وستحصل على النتيجة المطلوبة: Array ( [name] => emad [email] => emad@gmail.com [123] => emad_saif [456] => 18 ) أيضًا يمكنك أن تستخدم الدالة array_replace: $result = array_replace($arr1, $arr2); print_r($result); لكن عليك الحذر عند إستعمال أيًا من الطرق السابقة، ففي حالة كانت المصفوفتين يحتويان على نفس العنصر: <?php $arr1 = array( "name" => "first name", "email" => "emad@gmail.com" ); $arr2 = [ "name" => 'another name', 456=> '18' ]; $result = array_replace($arr1, $arr2); print_r($result); print_r($arr1 + $arr2); في الحالة السابقة، كلا المصفوفتين يحتويان على العنصر name، وعند إستعمال الدالة array_replace سوف يتم إستبدال العنصر name من المصفوفة arr1 بالعنصر name من المصفوفة arr2، وستكون النتيجة بالشكل التالي: Array ( [name] => another name [email] => emad@gmail.com [456] => 18 ) بينما عند إستعمال المعامل + فسوف يتم إستبدال العنصر name من المصفوفة arr2 بالعنصر name من المصفوفة arr1، وستكون النتيجة بالشكل التالي: Array ( [name] => first name [email] => emad@gmail.com [456] => 18 ) كما يمكنك جعل المعامل + يتصرف مثل الدالة array_replace من خلال تغير ترتيب المصفوفتين، بالشكل التالي: print_r($arr2 + $arr1); // يتم إستبدال المصفوفتين هنا بهذا الشكل سوف تحصل على نفس النتيجة مثل نتيجة إستعمال الدالة array_replace تمامًا.1 نقطة
-
عندما قررنا الخوض في المجال زادت الأسعار و المشكل أنها زادت بالضعف تقريبا شيء مؤسف.. أنا أيضا أرى أن السعر مبالغ فيه1 نقطة
-
لمنع المتصفح من تخزين العرض في ذاكرة التخزين المؤقت (Cache) يمكنك استعمال المزخرف never_cache والذين يقوم بإضافة الترويسات: Cache-Control: max-age=0, no-cache, no-store, must-revalidate, private إلى الرد (Response) تُخبر المتصفح بعدم تخزين الصفحة. أما كيفية استخدام هذا المزخرف في العرض فهو كالتالي: # نقوم باستدعاء المزخف from django.views.decorators.cache import never_cache #نضع المزخرف فوق دالة العرض @never_cache def myview(request): ...1 نقطة
-
1 نقطة
-
مبدئيًا ، لا يمكنك الإعتماد على الكتب بشكل كامل في تعلمك للبرمجة لأن البرمجة هي عملية بالدرجة الأولى ، الكتب تساندك وتسرع رحلتك في التعلم لكن الإعتماد الكلي عليها لن يُقدم ولا يؤخر. يُنصح لتعلم أي لغة برمجة سواء كانت البايثون أو أي لغة أخرى بفهم أساسيات البرمجة أولًا ، فلغات البرمجة بينها العديد من الأشياء المشتركة ، بل تكاد تكون لغات البرمجة هي الأفكار ذاتها مع تغيُر طريقة كتابة الكود أو ما نسميه ال "Syntax" وهذه هي الخطوات المرُشحة من المتخصصين لتعلم البايثون:- مشاهدة كورس لشرح البايثون (مع ضرورة التطبيق أثناء العمل) من المهم جدًا أن يكون الكورس معتمد على التطبيق وليس التلقين ، وأرُشح لك كورسات منصة حسوب في البايثون ، فدائمًا حسوب تقدم شروحات ذات جودة عالية سواءًا كانت مكتوبة أو مرئية يمكنك الوصول لكورس البايثون الخاص بأكاديمية حسوب من هنا بعد إتقانك للـSyntax وطريقة كتابة الكود ، أرُشح لك بدأ مشاريع صغيرة من أفكارك الخاصة ، بدون الإعتماد على أكواد الغير ، يبدو الأمر صعبًا في البداية لكن سرعان ما سيتحسن الأمر وستلاحظ فرق كبير في المستوى. شارك أعمالك مع مجتمع المبرمجين في GitHub و Twitter، كذلك يمكنك المشاركة في التحديات مثل #100DaysOfCode ، ستجعلك أكثر حماسًا للتعلم وتُلزم نفسك بالإستمرار في هذا المسار.1 نقطة
-
البايثون هي واحدة من أكثر لغات البرمجة شيوعًا وودية ، وهذه بعض الخطوات التي ستمكنك من احترافها: حدد هدفك وافهم لماذا تريد احتراف بايثون: أولاً ، عليك أن تعرف سبب رغبتك في تعلم بايثون ومن تريد أن تصبح عندما تعرف لغة بايثون بالفعل. تعلم كيف تتعلم: كما قلت ، سوف تساعدك بعض هذه النصائح ليس فقط مع Python. يعد تعلم كيفية التعلم جزءًا شائعًا جدًا ، يجب عليك تحديد طريقة التعلم الأفضل بالنسبة لك ، على سبيل المثال ، مشاهدة مقاطع فيديو / دورة تدريبية على YouTube ، أو قراءة الكتب ، أو طرق أخرى. في الواقع ، ستتم استخدامها جميعًا بقدر ما ، ولكن بشكل أساسي ، يجب عليك دراسة الطريقة التي تناسبك بشكل أفضل واذا كنت تريد تجربة الدورات التدريبية فستجد هنا في منصة حاسوب دورة في لغة البايثون و بإنهائك لهذه الدورة ستصبح مطور بايثون محترف قادر على تطوير التطبيقات باستخدام لغة بايثون، وبناء مختلف تطبيقات الويب بإطار العمل جانغو وفلاسك ستجد الدورة في هذا الرابط. الأساسيات: إذا لم تتمكن من أساسيات بايثون ، ستواجه صعوبة كبيرة في احترافك لهذه الغة, هذه قائمة الأساسيات التي يجب أن تتعلمها أولاً: المتغيرات العمليات الشروط If, Else الحلقات الدوال أنواع البيانات الفئات والكائنات تأكد من أنك تفهم كل هذه النقاط. الممارسة والتدريب:إذا كنت قد قرأت الكثير من الكتب وشاهدت الكثير من الدورات التدريبية ولكنك ما زلت لا تفهم كيفية كتابة وظيفة من شأنها فرز قائمة المصفوفات الخاصة بك ، فأنت بحاجة إلى مزيد من التدريب. الغوص في المجتمع:عليك أن تفهم أنه لا يمكنك فعل أي شيء بمفردك ، على أي حال ، بالنسبة للمشاريع الكبيرة ، ستحتاج إلى مجموعة من الأشخاص الذين سيساعدونك ويلهمونك ، حتى شركات مثل Google و Apple لم يتم إنشاؤها بواسطة شخص واحد فقط . المكتبات و أطر العمل:يجب أن تتعلم المكتبات وأطر العمل في الاتجاه الذي تريد تطويره بشكل أكبر ، يمكن أن يكون التعلم الآلي والأتمتة أو تطوير الويب. شارك معرفتك:ابدأ في إنشاء دورات أو مقاطع فيديو YouTube أو كتابة مقالات متوسطة أو يمكنك بدء مدونة على أنواع مختلفة من الأنظمة الأساسية.و لا تنسى إنشاء مستودع على GitHub لتضع عليه مشاريعك1 نقطة
-
يوجد الكثير من الطرق التي تمكنك من تعلم البرمجة أو لغة برمجية تريدها، منها الدورات و الدروس المسجلة و الكتب و المقالات و غيرها. و لكل شخص طريقته التي تناسبه في التعلم. و لكن كلٍ من هذه الطرق تساعدك على تعلم الأساسيات و المبادئ الأساسية الخاصة بالتقنية و تضعك على بداية الطريق لاكتساب مهارة ما. و لكن هذه المصادر التعليمية وحدها لا توصل للاحتراف مهما كان كم الكتب أو الدورات التي قمت بالاطلاع عليها، فالاحترافية نصل لها بعد وقت (قد يصل إلى سنوات) من الخبرة و العمل على المشاريع و التعرض لمشكلات مختلفة و حلها و بالطبع الدراسة و الاطلاع فكل هذه الأمور معًا ستمكنك لتكون محترفًا.1 نقطة