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

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

  1. محمد وسيم الحبش

    • نقاط

      5

    • المساهمات

      65


  2. Marwan800

    Marwan800

    الأعضاء


    • نقاط

      4

    • المساهمات

      69


  3. علي العبدالله2

    • نقاط

      1

    • المساهمات

      254


  4. محمد عبد العزيز9

    • نقاط

      1

    • المساهمات

      3


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

المحتوى الأعلى تقييمًا في 12/26/20 في كل الموقع

  1. الإصدار 1.0.0

    47133 تنزيل

    يضع هذا الكتاب المُوجز القارئ على أعتاب عالم تصميم تجربة المُستخدمين UX، وهو علم له قواعده وأصوله وأدواته، ويهدف إلى تعريف القارئ المُبتدئ بأساس هذا العلم وكيف يُطبّق على المُنتجات الرّقمية من مواقع ويب خدميّة وتطبيقات على الأجهزة الذّكية وصولًا إلى التّصميم الأمثل الّذي يُوفِّق بين هدف المُستخدم أوّلًا وهدف الخدمة التّجاريّ، الأمر الّذي يعني منتجًا ناجحًا. يبدأ الكتاب بشرح مفاهيم عامة عن تجربة المستخدم ليواصِل مع شرح كيفية إجراء مختلف الدراسات التي يحتاج المصمِّم للقيام بها، ومتطلباتها، ثم الأمور الواجب أخذها بالحسبان عند التصميم لضمان تجربة استخدام مريحة وممتازة، ليختتم في النهاية بالإشارة إلى أهمية الإحصائيات وضرورة الاعتماد عليها، حيث خُصّصت عدة أقسام لهذه النقطة، لتشير إلى مدى أهمية اعتماد بيانات وإحصائيات المستخدمين مثل أساس للتصميم، وكذا أبرز الإحصائيات الممكن التحصل عليها من خلال عدة اختبارات. يمكنك قراءة فصول هذا الكتاب مباشرةً على شكل مقالات، وإليك العناوين: مدخل إلى تجربة المستخدم User Experience فهم ودراسة المستخدمين في مجال تجربة المستخدم دراسة الشريحة المستهدفة في مجال تجربة المستخدم كيفية التصميم للأجهزة المختلفة هندسة المعلومات في تجربة المستخدم تعرف على أنماط التصميم في مجال تجربة المستخدم أشياء لا يمكن اعتبارها رسوما تخطيطية (Wireframes) في مجال تجربة المستخدم تعرف على الرسوم التخطيطية (Wireframes) في مجال تجربة المستخدم مفهوم الثقل المرئي (Visual Weight) والألوان في مجال تجربة المستخدم التكرار ومخالفة الأنماط في مجال تجربة المستخدم المحاذاة والقرب في مجال تجربة المستخدم تعرف على أساليب مسح الواجهة والتراتب المرئي في مجال تجربة المستخدم أساليب الإطلاع في مجال تجربة المستخدم: التصفح، البحث والاكتشاف تصميم هيكل صفحة الويب والعناصر الأساسية في مجال تجربة المستخدم الأزرار، النماذج والدعوات إلى الإجراء في مجال تجربة المستخدم استخدام علم النفس في مجال تجربة المستخدم لتكييف المستخدم وإقناعه كيف تغير الخبرة من تجربة المستخدم؟ تصميم تجربة المستخدم من خلال بيانات وإحصائيات المستخدمين تعرف على أنواع المخططات الإحصائية في مجال تجربة المستخدم اختبارات أ/ب (A/B Test) في مجال تجربة المستخدم
    1 نقطة
  2. الإصدار 1.0.0

    18390 تنزيل

    لا يخفى على أحد شهرة لغة SQL أو لغة الاستعلامات البنيوية (Structured Query Language) سواءً للمبرمجين أو الداخلين الجدد إلى عالم البرمجة وعلوم الحاسوب، فهي لغة برمجة متُخصِّصة في مجال واحد وهو معالجة وإدارة قواعد البيانات، وتعد اللغة القياسية لأنظمة إدارة قواعد البيانات (RDBMS)؛ وتُستخدم تعليمات وأوامر SQL -لمن لا يعرفها- لإجراء عمليات مباشرة على البيانات، مثل تخزينها في قاعدة بيانات، وجلبها منها والتعديل عليها بالإضافة إلى إنجاز مهام إدارية على قواعد البيانات من تأمين ونسخ احتياطي وإدارة للمستخدمين. ونظرًا لأهمية SQL سواءً للمبرمجين، وحتى لغير المبرمجين من العاملين في القطاعات التقنية أو للمهتمين بقواعد البيانات عمومًا، نضع بين يديك هذا الكتاب المبني على أحد أفضل الكتب الإنجليزية المتقدمة عن SQL، وهو كتاب "SQL Notes For Professionals" من موقع GoalKicker المبني بدوره على توثيق موقع StackOverflow وقد ساهم في إعداده عدد كبير من المساهمين على شبكة StackOverflow الشهيرة (إن أردت الاطلاع على قائمة المساهمين الكاملة، ارجع إلى قسم "Credits" في نهاية الكتاب الأصلي، SQL Notes For Professionals). يغطِّي هذا الكتاب المفاهيم الأساسية للغة SQL، مثل العمليات الأولية، وإدراج البيانات وحذفها واستخلاصها وتحديثها، وأنواع البيانات، وتصميم الجداول وتنفيذ الاستعلامات، إضافة إلى مفاهيم متقدمة، مثل المعارض views والدوال، وإدارة المستخدمين، وكيفية تأمين الشيفرة وغيرها من المواضيع. كما أنّ الكتاب غني بالأمثلة التطبيقية التي تشرح كل هذه المواضيع لترسيخ فهمها. هذا الكتاب ليس مثل غيره من الكتب والشروحات التي تشرح لغة SQL من البداية شرحًا مُبسَّطًا ومتسلسلًا وإنَّما يعتمد على مبدأ خير الكلام ما قل ودل في الشرح وترك الشيفرة تشرح نفسها بنفسها، فيحوي على كم كبير من الشيفرات والأمثلة العملية بالموازنة مع الشرح النظري ووُجِّه لمن يريد اتقان لغة SQL وصقل مهاراته فيها إذ سيساهم هذا الكتاب في رفع مستواك في لغة SQL وسيُملِّكك مهارات متقدمة في استعمال لغة SQL بالإضافة إلى بعض الخدع والالتفافات المتقدمة أيضًا. هذا الكتاب مرخص بموجب رخصة المشاع الإبداعي Creative Commons «نسب المُصنَّف - غير تجاري - الترخيص بالمثل 4.0». أنشئ العمل الأصلي من هذا الكتاب لأغراض تعليمية ولا يتبع إلى أي شركة أو مجموعة رسمية متعلقة بلغة SQL ولا حتى شبكة Stack Overflow، كما أن جميع العلامات التجارية المذكورة في هذا الكتاب تتبع إلى الشركات المالكة لها. يمكنك قراءة فصول الكتاب على شكل مقالات من هذه الصفحة، «المرجع المتقدم إلى لغة SQL»، أو مباشرة مما يلي: المقال الأول: مدخل إلى SQL المقال الثاني: جلب الاستعلامات عبر SELECT في SQL المقال الثالث: التجميع والترتيب في SQL المقال الرابع: تنفيذ تعليمات شرطية عبر CASE في SQL المقال الخامس: البحث والتنقيب والترشيح في SQL المقال السادس: الدمج بين الجداول في SQL المقال السابع: تحديث الجداول في SQL المقال الثامن: معالجة الأخطاء والتعديل على قواعد البيانات في SQL المقال التاسع: حذف الجداول وقواعد البيانات في SQL المقال العاشر: مواضيع متقدمة في SQL المقال الحادي عشر: دوال التعامل مع البيانات في SQL المقال الثاني عشر: دوال التعامل مع النصوص في SQL المقال الثالث عشر: التعبيرات الجدولية الشائعة Common Table Expressions المقال الرابع عشر: مواضيع متفرقة في SQL المقال الخامس عشر: الاستعلامات الفرعية والإجراءات في SQL المقال السادس عشر: تصميم الجداول وترتيب تنفيذ الاستعلامات ومعلومات المخطط في SQL المقال السابع عشر: تنظيم وتأمين شيفرات SQL
    1 نقطة
  3. مرحبا اصدقائي اود ان اعرف كم ثانية يستطيع الشخص المبتدئ او المتوسط او حتى المحترف ان يقوم بتنفيذها موشن غرافيك على الافتر ايفيكت يعني مثلا كل يوم ٢٠ ثانية قليل ولا كتير واريد ان اعلم كم هي المدة المتوقعة لانجاز ٢٠ ثانية من فيديو موشن غرافيك بسيطة او معقدة
    1 نقطة
  4. مرحبًا أحمد. لا يوجد طريقة لذلك للأسف، حيث سيتوجب عليك دفع رسوم إنشاء حساب مطور على google play store و هي 25 دولارًا تدفع لمرة واحدة فقط. حتى تتمكن من رفع تطبيقاتك عليه. إذا كنت تريد اختبار نجاح تطبيقك فقط يمكنك أن تطلب من أحد أصدقائك الذين يملكون حساب مطور على google play لرفعه لك. و لكنك لن تتمكن من رفع نفس التطبيق مرة أخرى باستخدام حسابك الخاص إذا قمت بإنشاء حساب مستقبلًا.
    1 نقطة
  5. السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع. كنت رابط كود php التالي بصفحة تسجيل دخول flutter <?php include 'connt.php'; $json = file_get_contents('php://input'); $_POST = json_decode($json,true); $phone = '9'; $password ='9'; $loginQuery = "select * from user where phone = '$phone' and password = '$password' "; $check = mysqli_fetch_array(mysqli_query($con,$loginQuery)); if($check){ $check['result'] = 'Login Matched'; $SuccessMSG = json_encode($check); echo $SuccessMSG ; } else{ $InvalidMSG= array("result"=>"Invalid Username or Password Please Try Again"); $InvalidMSGJSon = json_encode($InvalidMSG); echo $InvalidMSGJSon ; } mysqli_close($con); ?> وكان كل شي شغال 100%100 والنتيجة كالتالي تظهر لدي {"0":"81","id":"81","1":"9","name":"9","2":"9","phone":"9","3":"9","password":"","4":,"5":"v":"result":"Login Matched"} اما كود لفلاتر كالتالي: Future userLogin() async { setState(() { visible = true; }); final phoneController = TextEditingController(); final passwordController = TextEditingController(); String email = phoneController.text; String password = passwordController.text; var url = 'https://00000000000000/login.php'; var data = {'phone': email, 'password': password}; var response = await http.post(url, body: json.encode(data)); Map<String, dynamic> message = jsonDecode(response.body); id = message['id']; if (message['result'] == 'Login Matched') { setState(() { visible = false; }); Navigator.push(context, MaterialPageRoute(builder: (context) => Main()); ], ); }, ); } } ولكن قمت بتخزين الباسورد في قاعدة البيانات بواسطة $hashed_password لذلك كنت مجبر على تغير صفحة تسجيل الدخول اعلاه الى الشكل التالي: <?php include 'connt.php'; $json = file_get_contents('php://input'); $obj = json_decode($json,true); $phone = '1'; $sql = "select * from user where phone =?"; $stmt = $con->prepare($sql); $stmt->bind_param("s", $phone); $stmt->execute(); $result = $stmt->get_result(); $user = $result->fetch_assoc(); if($user){ $password ='1'; if (password_verify($password, $user['password'])) { $check['result'] = 'Login Matched'; $SuccessMSG = json_encode($check); echo $SuccessMSG ; } else { $InvalidMSG= array("result"=>"Invalid Username or Password Please Try Again"); $InvalidMSGJSon = json_encode($InvalidMSG); echo $InvalidMSGJSon ; } }else{ echo "0000000"; } mysqli_close($con); ?> بعد التغير النتيجة التي احصل عليها كالتالي: {"result":"Login Matched"} هنا تكمن المشكله طبعا الكود شغال وصار بامكاني قراءة الباسورد المشفر ولكني احتاج الى استدعاء البيانات ايضا الخاصة ب اليوزر الذي قام بتسجيل الدخول كما حدث مع اول مثال حصلت على مصفوفة كامله بالاضافة الى Login Matched انا احتاج الى تلك البيانات في التطبيق حتى استعلام على سبيل المثال عن id حسب ما موضح في كود فلاتر اعلاه. هل يعلم احد طريقة حل هذا المشكلة ؟
    1 نقطة
  6. أهلاً أخي @Marwan800 تعديل بسيط على الكود يتحقق ذلك : // الكود القيدم $check['result'] = 'Login Matched'; $check['user'] = $user; $SuccessMSG = json_encode($check); echo $SuccessMSG ; //استبدله بالكود التالي $user['result'] = 'Login Matched'; $SuccessMSG = json_encode($user); echo $SuccessMSG ;
    1 نقطة
  7. مرحبا اخي @محمد وسيم الحبش شكرا لك على ردك في البدايه توجد مشكله اخي الامر شغال نعم ولكن النتيجة كالتالي: {result: Login Matched, user: {id: 169, name: 1, phone: 1, extradata: null, state: 1, Joindate: null}} اما النتيجة المطلوبه كالتالي: {"0":"81","id":"81","1":"9","name":"9","2":"9","phone":"9","3":"9","password":"","4":,"5":"v":"result":"Login Matched"} اذا ممكن تلاحظ النتتيجة التي توجد بها مشكله المشكله هيا انه اعطاني النتيجة ولكن مصفوفة داخل مصفوفة او مصفوفة خارج التي هيا result: Login Matched وبعدها يسحب التفاصيل المتبقيه اما الكود الثاني كل البيانات في مصفوفة واحده مع result: Login Matched لتوضيح اكثر اقصد بكلامي الاقواس { } هذا المشكله تجعل كودي في فلاتر لا يستقبل الاستعلام بشكل الصحيح هل توجد طريقة لدمجهم في مصفوفة واحده مثل السابق حتى تعمل؟
    1 نقطة
  8. السلام عليكم @Marwan800 المشكلة بسيطة وهي أنك يجب أن تضيف المستخدم لل response : // الكود الناقص $check['result'] = 'Login Matched'; $SuccessMSG = json_encode($check); echo $SuccessMSG ; // الكود الكامل $check['result'] = 'Login Matched'; $check['user'] = $user; $SuccessMSG = json_encode($check); echo $SuccessMSG ; تحياتي.
    1 نقطة
  9. الصراحة لم أفهم قصدك في كلمة أستخرجها , إذا كنت فهمت ما تعنيه فال $user هو عبارة عن مصفوفة الآن , فيمكنك كتابة : $user['phone'] أو أي حقل ضمن الداتابيز
    1 نقطة
  10. اهلا اخي @محمد وسيم الحبش اعلم اخي ولكن كيف ممكن استخرجها ؟الان كودي لا يعرض اي بيانات بعد التحقق من الباسورد هو فقط يتحقق
    1 نقطة
  11. مرحباً @Marwan800 بيانات المستخدم موجودة في المتحول الذي اسمه $user , وأنت تقوم به ما تشاء (( طباعة , تحويل ل JSON الخ .....)) . تحياتي
    1 نقطة
  12. اسعد الله اوقاتكم بكل خير ربي يعطيكم الف صحه وعافيه يا رب وشكر لكم كثير @محمد وسيم الحبش @أحمد حبنكة قمت بتطبيق ما تم ذكره وقمت باغلاق نقطة الحقن في الملف وتحقق من الرقم السري بالاضافة الى اسم المستخدم او رقم هاتفه المرتبط بحسابه ونتيجة النهائية كانت كالتالي: <?php include 'connt.php'; $json = file_get_contents('php://input'); $obj = json_decode($json,true); //$phone = $obj['phone']; $phone = '99999999'; $sql = "select * from user where phone =?"; $stmt = $con->prepare($sql); $stmt->bind_param("s", $phone); $stmt->execute(); $result = $stmt->get_result(); $user = $result->fetch_assoc(); if($user){ // $password = $obj['password']; $password ='1'; if (password_verify($password, $user['password'])) { $check['result'] = 'Login Matched'; $SuccessMSG = json_encode($check); echo $SuccessMSG ; } else { $InvalidMSG= array("result"=>"Invalid Username or Password Please Try Again"); $InvalidMSGJSon = json_encode($InvalidMSG); echo $InvalidMSGJSon ; } }else{ echo ""; } mysqli_close($con); ?> الكود يعمل 100%100 الان ولكن توجد مشكلة بسيطة ظهرت سابقا الكود كان بعد التحقق يجلب لي بيانات المستخدم المحدد كلها المرتبطه به مثل اسم المستخدم رقم هاتفه كلمة السر الدولة وغيرها من بيانات التي توجد في قاعدة البيانات ولكن الان مع الكود اعلاه هذا الامر لا يحدث انا لا احصل على اي بيانات فقط يتم الاتصال او التحقق بنجاح هل يوجد حل لهذه المشكله؟انا احتاج الى بياناته حيث انني اقوم بعد تسجيل دخول المستخدم باخذ بياناته وتسجيلها في SharedPreferences لذلك انا احتاج الى البيانات ايضا هل يوجد حل لذلك؟لو بكلف عليكم اعتذر على ذلك
    1 نقطة
  13. مرحبًا @عبد الواحد الحدادي, لإنشاء نموذج تواصل معنا , عليك اولاً تصميم القالب (تطوير واجهة المستخدم) , بعد ذلك لجعل هذا النموذج يعمل حقًا يجب علينا برمجة شيفرة تقوم بإرسال البريد الإلكتروني وذلك ليس ضمن تطوير واجهة المستخدم بل هو تحت تصنيف تطوير جانب الخادم (Backend) . لإرسال البريد الإلكتروني بإستخدام Javascript عليك العمل على اطار Nodejs و استخدام مكتبة مثل nodemailer , مثال للشيفرة التي تقوم بإرسال بريج الإلكتروني: var transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'هنا تكتب البريد الذي سوف يرسل الرسالة', pass: 'كلمة المرور الخاصة ببريد' } }); var mailOptions = { from: 'هنا البريد الذي سوف يظهر على الرسالة', to: 'البريد الذي تريد ان ترسل له الرسالة', subject: 'عنوان البريد', text: 'نص البريد' }; transporter.sendMail(mailOptions, function(error, info){ if (error) { console.log(error); } else { console.log('تم ارسال البريد بنجاح: ' + info.response); } }); عندما تقوم بملء حقول نموذج تواصل معنا و الضغط على ارسال , حينها في شيفرة Nodejs على Backend عليك ان تقوم بحفظ قيمة حقول النموذج داخل متغيرات حتى تقوم باستخدمهما في المعامل mailOptions . ليس بضروري استخدام خدمة emailJs , هي خدمة مدفوعة وليست مكتبة , تمكنك من ان ترسل البريد الإلكتروني من غير الحوجة على التعامل مع جانب الخدام او Nodejs , هذه الخدمة تتولى ذلك .
    1 نقطة
  14. علماً بأن الشهادة بعد اجتياز الاختبار وليس اكمال الدورة
    1 نقطة
  15. بارك الله فيك اخي بارك الله فيك اخي على الشرح
    1 نقطة
  16. وعليكم السلام ورحمة الله وبركاته @Marwan800 هناك عدة ملاحظات يجب تعديلها ضمن الكود الخاص بك : يجب عند الاستعلام عن مستخدم ضمن الداتابيز أن نستخدم اسم المستخدم أو إيميله وليس كلمة السر , لأنها ببساطة مشفرة ولا يصح الاستعلام عليها مباشرة من الداتابيز : $email = $obj['email']; $loginQuery = "select * from user where email = '$email' "; الآن بعد أن نفذنا هذا الاستعلام , نتأكد بالبداية أن لدينا مستخدم لديه هذا الإيميل بالفعل , فإن كان كذلك نستخدم تابع ال password_verify للتحقق من كلمة المرور المدخلة إن كانت مماثلة لما في قاعدة البيانات : $user = mysqli_fetch_array(mysqli_query($con,$loginQuery)); // إذا وجدنا مستخدم بالإيميل المدخل من الفورم أو من أي مكان بالموقع if(count($user) == 1) { $password = $obj['password']; if (password_verify($password, $user['password'])) { echo 'تم التحقق من كل شيء بنجاح'; die; } else { echo 'كلمة المرور المدخلة خاطئة'; die; } } else { echo "الإيميل المدخل غير موجود"; die; } تحياتي .
    1 نقطة
  17. التحقق من كلمة السر لا يكون كما كتبت، يجب مقارنة كلمة السر القادمة من صفحة تسجيل الدخول باستخدام تابع password_verify هكذا: $check = password_verify(obj["password"],$password_hash_from_database); أي أننا نمرر لتابع password_verify كلمة السر من صفحة تسجيل الدخول وhash من قاعدة البيانات الذي خزناه سابقاً باستخدام تابع password_hash ، في حالتك يمكنك جلب hash من خلال اسم المستخدم كما يلي: $json = file_get_contents('php://input'); $obj = json_decode($json,true); $password = $obj['password']; $username = $obj['username']; $loginQuery = "select password from user where username = '$username' "; $query_result = mysqli_query($con,$loginQuery); $row = mysqli_fetch_assoc($query_result); if($row !== NULL){ $password_hash_from_database = $row['password']; $check = password_verify($password,$password_hash_from_database); } mysqli_free_result($query_result); ويمكن جلب password hash المخزن في database بمعايير أخرى مثل اﻹيميل وذلك حسب قاعدة بياناتك. طبعاً لاحظ استخدام تابع mysqli_free_result وهو شيء ضروري بعد تنفيذ أي query ، أيضاً انتبه أن الكود السابق يعاني من SQL Injection ﻷنك لا تقوم بأي عملية escape على متحول $username وتضعه كما هو في query string ، حل هذه المشكلة يتعلق بالـframework المستعملة ولكن بما أنك تستعمل pure php يجب استدعاء تابع mysqli_real_escape_string على متحول username هكذا: $json = file_get_contents('php://input'); $obj = json_decode($json,true); $password = $obj['password']; $username = mysqli_real_escape_string($con,$obj['username']); $loginQuery = "select password from user where username = '$username' "; $query_result = mysqli_query($con,$loginQuery); $row = mysqli_fetch_assoc($query_result); if($row !== NULL){ $password_hash_from_database = $row['password']; $check = password_verify($password,$password_hash_from_database); } mysqli_free_result($query_result);
    1 نقطة
    الكتاب ممتاز وجميل وقد أعجبني جدًا. الكتاب ليس ترجمة بالكامل بل معظمه تأليف ولهذا تلحظ أنّ أسلوب الكتابة وطريقة التعامل مع المصطلحات سلسان للغاية وكأنّك تقرأ كتاب عربي أصلي. يشرح الكتاب كذلك كلّ ما يحتاجه المرء لبدء استخدام قاعدة PostgreSQL بأسلوب مفصّل وعملي. أعجبني كذلك تصميم الكتاب حيث المحتوى غير محشو بكثرة في كلّ صفحة بل هو مُرتاح والحواشي مرخيّة، وهو ما يجعل عملية القراءة أكثر متعة. في المرّة المقبلة التي يطلب منها أحدٌ منّي مصادر لتعلّم PostgreSQL سأعطيه هذا الكتاب فقط. شكرًا جزيلًا على إخراج الكتاب.
    1 نقطة
    انصح جميع من يعامل مع قواعد البيانات ان يجعل هذا الكتاب مرجع أساسي له في عمله، شرح واضح ومعلومات مهمة. اشكر اكادمية حسوب على هذه النوعية الفريدة من الكتب المهمة للمحتوى البرمجي العربي.
    1 نقطة
×
×
  • أضف...