لینکهای مفید برای شرکت در مسابقه:
در زمان مسابقه میتوانید سوالهای خود را از قسمت "سوال بپرسید" مطرح کنید.
دو سری راهنمایی برای سوالات اضافه شده است.
مهارتهای لازم:
ReactJS
در این سوال شما باید یک input
بسازید که مخصوص رمزعبور می باشد.وظیفه این input
این است که قدرت رمزعبور وارد شده را بررسی کند.ظاهر کلی برنامه بدین صورت است:
پروژه اولیه را از این لینک دانلود کنید. ساختار فایلهای این پروژه به صورت زیر است.
برای اجرای پروژه، بایدNodeJS
و npm
را از قبل نصب کرده باشید.
react-password-input
، دستور npm install
را برای نصب نیازمندیها اجرا کنید.npm start
را برای راهاندازی پروژه اجرا کنید.http://localhost:3000/
میتوانید نتیجه را ببینید.همانطور که مشاهده میکنید در این پروژه دو Component
و دو Container
وجود دارد که توضیحات آنها در زیر آمده است.
Input
: از این مولفه هم برای ایجاد یک input
جهت دریافت رمز عبور استفاده نمائید.
Bar
:با استفاده از این مولفه شما می بایست قدرت رمزعبور ورودی را نمایش دهید.این مولفه را زیر مولفه Input
قرار دهید.
Password
: در این مولفه شما می بایست موارد زیر را تکمیل نمائید.
zxcvbn
بررسی کنید که
پسورد وارد شده چقدر قوی می باشد.توضیحات کتابخانه zxcvbn
را در اینجا می توانید مشاهده کنید.با توجه با خروجی که از تابع zxcvbn
دریافت می کنید شما باید موارد زیر را نمایش دهید.تابع zxcvbn
در کل 5 حالت بر می گرداند.
suggestion
نمایش دهید.props
دریافت می کند که بیانگر آن هست که با توجه به میزان قوی بودن رمز عبور , رنگ مولفه Bar
چه باشد و چه متنی نمایش داده شود. این متن را در یک عنصر با شناسه result
نمایش دهید.Bar
و متنی که زیر آن نمایش داده می شود را از متغیر strengthText
بخوانید.Containers/Password.js
هستید.در این قسمت راهنماییهای سوال، به مرور اضافه میشود. مشکلاتتان در راستای حل سوال را میتوانید از بخش "سوال بپرسید" مطرح کنید.
zxcvbn()
پاس دهید. به عنوان مثال :result.score
و result.feedback
استفاده کنید که به ترتیب یک عدد از بین صفر تا ۴ می باشد و یک پیشنهاد در راستای قوی شدن رمز عبور می باشند. result.score
شما می توانید عرض مولفه Bar
را محاسبه کنید و با استفاده از result.feedback
شما پیشنهادی که توسط تابع داده می شود را در عنصر گفته شده در صورت سوال نمایش می دهید.zxcvbn()
برمی گرداند چه تعداد است.با کمک آن عرض کل Bar را به تعداد حالات تقسیم کنید. به عنوان نمونه کد زیر را در نظر بگیرید که متغیر score
توسط تابع zxcvbn()
برگردانده شده است.strengthText
را نمایش دهید ، باید توجه داشته باشید اندازه این لیست برابر با تعداد حالاتی است که تابع zxcvbn()
برمی گرداند. در نتیجه می توانید از متغیر score
برای دسترسی به عنصر مورد انتظار در این لیست استفاده کنید.