از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در این جلسه، مدرس به بررسی نحوه دریافت اطلاعات کاربر از Redis و تبدیل آن به یک آبجکت با افزودن آیدی کاربر میپردازد. همچنین، فرایند لاگین کاربر و ایجاد سشن توکن برای حفظ امنیت و احراز هویت کاربر در سیستم توضیح داده شده است. در این فرایند، اطلاعات کاربر از Redis دریافت میشود و به صورت آبجکت با آیدی کاربر بازگردانده میشود. سپس، یک توکن سشن به کاربر اعطا میشود که به عنوان یک احراز هویت در طول فرایند استفاده از سرویس استفاده میشود.
نکات کلیدی
دریافت اطلاعات کاربر از Redis به صورت لیست و تبدیل آن به آبجکت با افزودن آیدی کاربر.
فرایند لاگین کاربر و ایجاد سشن توکن برای احراز هویت و حفظ امنیت.
توکن سشن به عنوان احراز هویت در طول فرایند استفاده از سرویس استفاده میشود.
اطلاعات کاربر از Redis دریافت شده و به صورت آبجکت بازگردانده میشود.
متن ویدیو
متن زمانبندیشده این جلسه برای مرور، جستجو و دسترسی سریعتر.
سلام عرض میکنم خدمت دوستان عزیز. بریم سراغ
ادامه بحثمون. رسیدیم به اینجا که ما کریت
یوزررو با همدیگه دیدیم. بریم سراغ گت
یوزر بای آیدی. یعنی بتونیم اطلاعات یک
یوزر رو از طریق آیدیش پیدا بکنیم.
خب
میگم که کانست یوزر مساویست با او
کلا
ا گت
یوزرز کی این آیدی رو بهش پاس میدم این چیکار میک کرد آیدی رو میگرفت تبدیل
میکرد به یک کلید چون من قبلاًم با این
کلیدا میومدم ذخیره میکردم نگاه کنید
آهاشش پس موقع که میخوام بگیرم اطلاعاتشو
باید اول تبدیل کنم بعد بدم به اینکه بره
بگرده
و در نهایت میگم ریترن بکن اون یوزره رو
فقط یه نکته اینجا هست بچهها
ما زمانی که
اطلاعات رو از ردیس دریافت میکن میکنیم. یادتون باشه چند جلسه قبل گفتم بهتون در
قالب یک لیست به ما میده یعنی به شکلی یک
آبجکت به ما نمیده در صورتی که ما اینجا
یوزر رو در قالب یک آبجکت میخوایم پس
باید چیکار بکنم؟ باید یه جورایی عکس این
کارو انجام بدم دی سریال بکنم یعنی بگم
اون هشی که من دریافت میکنم رو تبدیل
بکنم به آبجکت این سمت یه کار دیگه هم تو
اون هشته باید انجام بدم اونم اینه که
بیام آیدی رو هم بهش اضافه کنم چون من توی
اطلاعاتی که دارم از یوزر ذخیره میکنم
آیدی ندارم تو ردیس آیدی کجاست آیدی اومده
این تو تبدیل شده به یه همچین چیزی پس
میتونم از این تو آیدی رو بکشم بیرون رو
اصلاً آیدی رو دارم اصلاً بذار بکشم بیرون
پس آیدی رو هم بهش اضافه میکنم پس یه
همچین اتفاقی میفته اگه بخوام شکلشو بگم
من توی ردیس این فرض کنید
ردیس خب من اینجا یه جدولی دارم
که تو این جدولم د تا ستون میش بیشتر نداره.
یه دونههم ولیو که این چیه؟ این یوزرنیم
حالا یوزرنم یه چیزیه پسورد مثلاً فرض کن یوزرنیممون هست مثلاً این
پسوردمونم مثلاً فرض کنید این خب خب حالا این وصل به چی؟ وصل به یک
کلیدی که من ساختم مثلاً کلید این شکلی
بود فرمتش یادتون باشه یوزر هشتگی آیدی
مثلاً آیدی رو فرض کنید ۱ ۲ ۳ ۴ فرض کنید
زمانی که من اطلاعات یا یوزررو از ردیس دریافت میکنم ردیس اینو در قالب یه لیست
به من میده من میخوام چیکار کنم اینو
تبدیلش کنم به یه آبجکت اینم میرسم ردیس
اینو میخوام تبدیلش بکنم زمانی که دریافت میکنم از طریق چی این کارو بکنم دیسرلایز
بکنم پس از طریق دیسرلایز
دی س ریالایز
زمانی که اطلاعاتو دریافت میکنم در قالب یه آبجکت به من بده آبجکتی که
یه آیدی بهش اضافه شد حالا این بد شد ببخشید
که آیدیم چیه ۱ ۲۳ ۴ دیلایز قراره این کارو بکنه پس بیا اینو
بنویسم اینجا
یه دونه فانکشن که اطلاعات یوزررو میگیره
و تبدیل میکنه به یه آبجکت و آیدی رو هم
بهش اضافه میکنم کانست
دی سریلایز
مساویه به عنوان ورودی یک آیدی داره در
قالب استرینگ
یه یوزر داره
که به این فرمته بچهها
بعد ریترن میکنه آیدی دو نقطه نقطه آیدی
پسورد چون این د تا بچهها کلید ولیوشون یکیه
میتونید این شکلی هم بنویسید تو جاوا
اسکریپت
خب حالا فقط کافی که اینجا به جای اینکه بگم ریترن کن یوزرو
میگم این یه آیدی رم بهش پاس میدم اینم
اینو اینم اینو ریترن بکن
این الان درست شد
خب حالا بریم یه ذره راجع به فرایند لاگین
کاربر صحبت بکنیم که بعدش بریم سراغ
پیادهسازیش
تو فریند لاگین کاربر یه سری اتفاقات
میفته من قراره برم بچهها سراغ این فایل
اینو بچهها فعلاً من دست نگه میدارم چون
یه نیاز به یک مبحث جدید داره فعلاً کاری
باهاش نداریم میایم تو سشن قراره بریم این
د تا رو پیادهسازی بکنیم گت سشن و سیو سشن
اما سشن چیه
بذار من یه بار فراآیند ثبت نام و لاگین و
اینا رو اینجا بهتون توضیح بدم بیایم
پایین
زمانی که کاربر ساینآپ میکنه یعنی
میخواد ثبت نام بکنه خب خب
ساین آپ
چه اتفاقی میفته؟
کاربر میاد یوزرنم و پسوردشو برا ما میفرسته درسته؟
یوزر نیم ان پسورد
اینو برا ما میفرسته.
خب فرض کنید اینجا
این بدنه ایپیآیمونه که کارای جابهجایی دیتا اینا رو انجام میده
اینم ردیسمونه
ایپیآی میاد چیکار میکنه؟ یه دونه ۸ درست میکنه با این یوزرنم و پسورد تو مرحله
اول. پس کریت
بچهها من اینجا رو مجبورم خیلی مفصل توضیح بدم که کاملاً براتون جا میتونستم
خیلی سریع ازش رد شم الان یه ذره ویدیو
طول میشه عذرخواهی میکنم وید
ان پسورد یه با این د تا درست درست میکنن. خب
بعد چیکار میکنه؟ این حشره رو اینو میده
به ردیس.
میگه ردیس جان اینو در قالب یه کلید مثلاً
یوزر هشتگ ۱ ۲ ۳ ۴ و در قالب یه جدولی
ذخیره کن. جدوله رو که این بالا داشتیم
دیگه میاد در جا قالب یه همچین چیزی
خب مرحله بعدی چیه؟ یوزر ما ساخته شد.
یوزر برای اینکه از اینجا بعد بخواد
کاراشو توی اپلیکیشن ما سایت ما انجام بده
باید یه سشن براش ساخته بشه یه توکن باید
براش جنایت بشه خب
پس ما باید ب یه به یه نحوی این کاربر رو
لاگین شده تو اپمون در نظر بگیریم پس ما
نیاز داریم تا در نظر بگیریم
این شخصو رو به عنوان کسی که ساین این کرده
به یه طریقی ما باید این کارو بکنیم چهجوری این کارو میکنیم از طریق سشن
میایم چیکار میکنیم یه جنریت میکنیم یه سشنو
یه سشن توکن درست که سش سشن توکن داخلش چی هست؟ خب
حالا یه نکته این سشنم باید تو ردیس
ذخیرشه بچهها
پس جدید تولید میشه
من این اطلاعاتو بنویسم م پس این میاد این توکنی که جدیداً درست شده
رو میبره ذخیره میکنه تو ردیس پس یه
مرحله میاد اینور
در قالب یه همچین فرمتی مثلاً سشن یه هشتگ
مثلاً یه آیدی هم براش میذاره ۵۱ یه آیدی
برای سشنش
و
یه همچین فرمتی داره اینا
چی بود یوزرنیمش اون بالا پیستار کنم پیستار خب
این سشرو به ذخیره میکنه بعد چیکار
میکنه؟ مرحله بعدی
آها راستی این سشن توکنم بچهها جنریت
میکنه خودشوها یعنی خودش به صورت رندم یه
سشن توکن جنریت میکنه
پس یه سشن توکنم اینجا براش جنریت میکنم و در آخر آخر چیکار میکنه؟ این سشن توکن
رو پاس میده سمت بروزر میگه بروزر جان این
کاربر لاگین شده اینم سشنش سند
سشن
توکن
بک تو برازر
بروزرم چیکار میکنه میره تو لوکال استروجش
ذخیره میکنه از این به بعد هر ریکوستی سمت
این برنامه بفرسته این توکنو میذاره توش
و یه جوری به اپلیکیشن میفهمونه که من
لاگینم و نیاز نیست دوباره فرن لاگینو
انجام بدی
البته که خب سشن توکنا همیشه یه اکسپایر
تای دارن یعنی بعد یه مدت اکسپایر میشن و
نیاز که دوباره لاگین بکنن پس اینو میاره
میفرسته دوباره سمت بروزر خب این میشه
فرایند ثبت نام و لاگینمون
اما فراآیند
لاگین یه ذره متفاوته این ثبت نام بود لاگین کاربرمون قراره یوزرنیم بزنه و
پسورد
اما من داخل ردیس
جایی دیتایی ندارم بر اساس یوزرنیم بتونم
پیدا بکنم من کلیدو میخوام
خب اینجا باید چیکار بکنیم زمانی که کاربر
داره لاگین میکنه یوزرنیم به من داده من
چهجوری بتونم کلیدشو پیدا بکنم
اینجایست که در حقیقت ما نیاز به یک
ساختار دیتای دیگهای داریم که من توی
جلوتر بهتون میگم برای همین گفتم لاگینو
بذارین برای بعد و که در حقیقت بتونه این
مشکل ما رو حل بکنه و این موزل ما رو حل
بکنه که من وقتی یوزرنیم دارم بتونم تو
اون ردیسر یه چیزی پیداش بکنم کاربرمو
اینو اجازه بدید برین بعداً جلوتر راجع
بهش صحبت کنیم جلسه بعدی بیایم راجع به
این د تا سشنا صحبت کنیم فعلاً خداحافظ ‏S
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
اطلاعات کاربر از Redis به صورت لیست دریافت میشود و سپس به یک آبجکت تبدیل میگردد.
در فرایند لاگین کاربر، ایجاد سشن توکن برای احراز هویت و حفظ امنیت انجام میشود.
توکن سشن به عنوان یک احراز هویت در طول فرایند استفاده از سرویس استفاده میشود.
آخرین بهروزرسانی محتوای متنی:
آموزش جامع و کاملاً عملی Redis به زبان فارسی؛ از نصب و راهاندازی تا پیادهسازی الگوهای حرفهای. در طول این دوره تمرینمحور، یک اپلیکیشن فروشگاه اینترنتی میسازیم و با مفاهیمی مثل مدلسازی داده، جستجو، همزمانی و ارتباط سرویسها در دنیای واقعی کار میکنیم. در این دوره چه یاد میگیرید؟ راهاندازی Redis بهصورت لوکال و کار با CLI دستورات افزودن و Query گرفتن از دادهها کار با Hashها، Listها، Setها و Sorted Setها (رتبهبندی و امتیازدهی) ایجاد یکتایی داده با Setها + تمرینهای عملی Pipelining برای بهینهسازی کارایی Design Patterns قدرتمند مخصوص Redis و نکات و Gotchaهای مهم تبدیل مدلهای رابطهای به مدل Redis (Data Modeling) HyperLogLog برای شمارش تقریبی توسعه قابلیتها با Scripting مدیریت Concurrency و حل مسائل همزمانی جستجو و فیلتر پیشرفته با RediSearch (Querying & Search in Action) ارتباط بین سرویسها با Streams پیادهسازی و تمرین مستمر روی پروژه E-Commerce مخاطبان برنامهنویسان بکاند و فولاستک، مهندسان داده و هرکسی که میخواهد Redis را بهصورت کاربردی و پروژهمحور یاد بگیرد.