بین JWT و PASETO از کدام یک استفاده کنیم؟
JWT چیست؟
جیسون وب توکن JWT مخفف JSON Web Token است. این یک استاندارد باز (RFC 7519) است که یک روش فشرده و مستقل را برای انتقال ایمن اطلاعات بین طرفین به عنوان آبجکت JSON تعریف می کند.
پاستو PASETO چیست؟
پاستو Paseto که مخفف Platform-Agnostic Security Tokens است، مشخصاتی برای توکنهای امن stateless است.
و جایگزین مدرن و بهتر برای JWT ارائه میکند و برخی از آسیبپذیریهای ذاتی آن را برطرف میکند و بر پیشفرضهای ایمن و سهولت اجرا تأکید میکند.
برخلاف ساختار تک و عمومی JWT، پاستو از یک رویکرد نسخهسازی شده با دو هدف مشخص استفاده میکند:
توکن های لوکال: این برای سشن stateful و سمت سرور طراحی شده است. همچنین معمولاً از رمزنگاری با symmetric-key استفاده میکند، که در آن از key مخفی یکسانی برای رمزگذاری و رمزگشایی استفاده میشود.
توکن های پابلیک: این برای اپلیکیشن های stateless و موارد استفاده شامل رمزنگاری public-key در نظر گرفته شده است. این توکنها را میتوان بدون نیاز به ذخیرهسازی سمت سرور بهطور ایمن منتقل و تأیید کرد.
آنوفل
#jwt #paseto
JWT چیست؟
جیسون وب توکن JWT مخفف JSON Web Token است. این یک استاندارد باز (RFC 7519) است که یک روش فشرده و مستقل را برای انتقال ایمن اطلاعات بین طرفین به عنوان آبجکت JSON تعریف می کند.
پاستو PASETO چیست؟
پاستو Paseto که مخفف Platform-Agnostic Security Tokens است، مشخصاتی برای توکنهای امن stateless است.
و جایگزین مدرن و بهتر برای JWT ارائه میکند و برخی از آسیبپذیریهای ذاتی آن را برطرف میکند و بر پیشفرضهای ایمن و سهولت اجرا تأکید میکند.
برخلاف ساختار تک و عمومی JWT، پاستو از یک رویکرد نسخهسازی شده با دو هدف مشخص استفاده میکند:
توکن های لوکال: این برای سشن stateful و سمت سرور طراحی شده است. همچنین معمولاً از رمزنگاری با symmetric-key استفاده میکند، که در آن از key مخفی یکسانی برای رمزگذاری و رمزگشایی استفاده میشود.
توکن های پابلیک: این برای اپلیکیشن های stateless و موارد استفاده شامل رمزنگاری public-key در نظر گرفته شده است. این توکنها را میتوان بدون نیاز به ذخیرهسازی سمت سرور بهطور ایمن منتقل و تأیید کرد.
آنوفل
#jwt #paseto
کاهش تکرار کد ها در لاراول
🔺 یکی از بزرگترین مشکلات در برنامه نویسی تکرار کد ها می باشد. مخصوصا در زمانی که شما یک باگ دارید و فکر می کنید که آن را حل کرده اید اما چندین مورد از این باگ باقی مانده است.ما در این مقاله قصد داریم با یک آموزش ساده درباره کاهش تکرار کد ها صحبت کنیم....
🌐 : کاهش تکرار کد ها در لاراول
🔺 یکی از بزرگترین مشکلات در برنامه نویسی تکرار کد ها می باشد. مخصوصا در زمانی که شما یک باگ دارید و فکر می کنید که آن را حل کرده اید اما چندین مورد از این باگ باقی مانده است.ما در این مقاله قصد داریم با یک آموزش ساده درباره کاهش تکرار کد ها صحبت کنیم....
🌐 : کاهش تکرار کد ها در لاراول
مجیک متد یا داندر متد در پایتون
🔺 Magic Methods یا Dunder Methods که به صورت فارسی می شود متد های جادویی و منظور از داندر(Dunder) دو تا آندر لاین(__) می باشد. که در شی گرایی پایتون در دسترس هستند. مجیک متد ها یک سری متد ها هستند که در کلاس ها می توانید به آن ها دسترسی پیدا کتید که در...
🌐 : مجیک متد یا داندر متد در پایتون
🔺 Magic Methods یا Dunder Methods که به صورت فارسی می شود متد های جادویی و منظور از داندر(Dunder) دو تا آندر لاین(__) می باشد. که در شی گرایی پایتون در دسترس هستند. مجیک متد ها یک سری متد ها هستند که در کلاس ها می توانید به آن ها دسترسی پیدا کتید که در...
🌐 : مجیک متد یا داندر متد در پایتون
تو جاوا اسکریپت ما سه نوع کد داریم :
1. کد Synchronous
2. کد macrotask
3. کد Microtask
نکته کلیدی سوال این سه مورد هستند.
در اولی که پیش فرض جاوااسکریپت هست کد لاین به لاین اجرا می شود و تا لاین قبلی تمام نشد لاین جدید اجرا نمیشه.
دومی : بعد از اجرای کد های Synchronou و قبل میکروتسک ها اجرا می شود مثل setTimeout و setInterval و ..
.
سومی :این بخش نیز بعد از اجرای کد های ماکروتسک اجرا می شوند. مثلا : promiseها.
بررسی مثال:
بخش Synchronous :
console.log(1); بلافاصله اجرا میشود و مقدار 1 در کنسول چاپ میشود
setTimeout یک ماکروتسک تعریف میکند، اما چون setTimeout تنها تنظیم کنندهی تاخیر است، این عملیات به تعویق میافتد. پس setTimeout هنوز چیزی چاپ نمیکند
console.log(2); نیز بلافاصله اجرا میشود و مقدار 2 در کنسول چاپ میشود
console.log(4) بلافاصله بعد از promise.then فراخوانی میشود و مقدار 4 در کنسول چاپ میشود
پس از اتمام اجرای کدهایSynchrono نیز setTimeout که یک ماکروتسک است، اجرا میشود.ابتدا مقدار "timerStart" را در کنسول چاپ میکند.سپس success فراخوانی میشود که باعث میشود promise به حالت fulfilled برسد و یک میکروتسک (یعنی promise.then) به صف میکروتسکها اضافه شود.سپس مقدار "timerEnd" را چاپ میکند.
دراخرم میکروتسک اجرا می شود. success
خروجی نهایی :
1
2
4
timerStart
timerEnd
success
آنوفل
#javascript #js #نکته #جاوااسکریپت
1. کد Synchronous
2. کد macrotask
3. کد Microtask
نکته کلیدی سوال این سه مورد هستند.
در اولی که پیش فرض جاوااسکریپت هست کد لاین به لاین اجرا می شود و تا لاین قبلی تمام نشد لاین جدید اجرا نمیشه.
دومی : بعد از اجرای کد های Synchronou و قبل میکروتسک ها اجرا می شود مثل setTimeout و setInterval و ..
.
سومی :این بخش نیز بعد از اجرای کد های ماکروتسک اجرا می شوند. مثلا : promiseها.
بررسی مثال:
بخش Synchronous :
console.log(1); بلافاصله اجرا میشود و مقدار 1 در کنسول چاپ میشود
setTimeout یک ماکروتسک تعریف میکند، اما چون setTimeout تنها تنظیم کنندهی تاخیر است، این عملیات به تعویق میافتد. پس setTimeout هنوز چیزی چاپ نمیکند
console.log(2); نیز بلافاصله اجرا میشود و مقدار 2 در کنسول چاپ میشود
console.log(4) بلافاصله بعد از promise.then فراخوانی میشود و مقدار 4 در کنسول چاپ میشود
پس از اتمام اجرای کدهایSynchrono نیز setTimeout که یک ماکروتسک است، اجرا میشود.ابتدا مقدار "timerStart" را در کنسول چاپ میکند.سپس success فراخوانی میشود که باعث میشود promise به حالت fulfilled برسد و یک میکروتسک (یعنی promise.then) به صف میکروتسکها اضافه شود.سپس مقدار "timerEnd" را چاپ میکند.
دراخرم میکروتسک اجرا می شود. success
خروجی نهایی :
1
2
4
timerStart
timerEnd
success
آنوفل
#javascript #js #نکته #جاوااسکریپت
Anophel
Anophel | Where Developers Create Their Own Path
Anophel is an ecosystem for developers—a place for those who prefer building over consuming. If you want to create tools, think differently, and forge your own path in coding, Anophel is with you.
زباله جمع کن (Garbage Collection) در Go :بررسی عمیق تکنیک مدیریت حافظه
🔺 گولنگ یا Go یک زبان برنامه نویسی تایپ شده و کامپایل شده است. در میان بسیاری از ویژگیهای آن، مکانیسم جمعآوری زباله یا همان Garbage Collection در Go به عنوان یک جزء حیاتی برای مدیریت حافظه برجسته است. در این مقاله از آنوفل، به نحوه عملکرد Garbage Col...
🌐 : زباله جمع کن (Garbage Collection) در Go :بررسی عمیق تکنیک مدیریت حافظه
#گو #گولنگ #go #golang
🔺 گولنگ یا Go یک زبان برنامه نویسی تایپ شده و کامپایل شده است. در میان بسیاری از ویژگیهای آن، مکانیسم جمعآوری زباله یا همان Garbage Collection در Go به عنوان یک جزء حیاتی برای مدیریت حافظه برجسته است. در این مقاله از آنوفل، به نحوه عملکرد Garbage Col...
🌐 : زباله جمع کن (Garbage Collection) در Go :بررسی عمیق تکنیک مدیریت حافظه
#گو #گولنگ #go #golang
آشنایی با Logging در Go: بررسی عمیق کتابخانه Zap
🔺 در دنیای توسعه اپلیکیشن، لاگ (logging) نقش مهمی ایفا می کند که اغلب مورد توجه قرار نمی گیرد. مانند این است که یک دستیار سخت کوش داشته باشید که به طور مداوم تمام جزئیات عملکرد برنامه و تعاملات کاربر را یادداشت می کند. در این مقاله از آنوفل خواهیم دید...
🌐 : آشنایی با Logging در Go: بررسی عمیق کتابخانه Zap
#گو #گولنگ #go #golang #logging
🔺 در دنیای توسعه اپلیکیشن، لاگ (logging) نقش مهمی ایفا می کند که اغلب مورد توجه قرار نمی گیرد. مانند این است که یک دستیار سخت کوش داشته باشید که به طور مداوم تمام جزئیات عملکرد برنامه و تعاملات کاربر را یادداشت می کند. در این مقاله از آنوفل خواهیم دید...
🌐 : آشنایی با Logging در Go: بررسی عمیق کتابخانه Zap
#گو #گولنگ #go #golang #logging
افزایش عملکرد در Go: بررسی Static و Dynamic Allocation
🔺 در دنیای برنامه نویسی، به ویژه در Go (همچنین به عنوان Golang شناخته می شود)، دو روش اصلی برای تخصیص (allocation) یک اسلایس جدید وجود دارد: استفاده از تابع make برای پیش تخصیص slice و تنظیم هر مقدار، یا ایجاد یک slice خالی و اضافه کردن عناصر جدید به...
🌐 : افزایش عملکرد در Go: بررسی Static و Dynamic Allocation
#گو #گولنگ #go #golang
🔺 در دنیای برنامه نویسی، به ویژه در Go (همچنین به عنوان Golang شناخته می شود)، دو روش اصلی برای تخصیص (allocation) یک اسلایس جدید وجود دارد: استفاده از تابع make برای پیش تخصیص slice و تنظیم هر مقدار، یا ایجاد یک slice خالی و اضافه کردن عناصر جدید به...
🌐 : افزایش عملکرد در Go: بررسی Static و Dynamic Allocation
#گو #گولنگ #go #golang
ساخت یک معماری فرانت اند تمیز و مقیاس پذیر
🔺 همانطور که چشم انداز دیجیتال همچنان به تکامل خود ادامه می دهد، اهمیت معماری frontend برای برنامه های کاربردی وب را نمی توان دست کم گرفت. یک معماری ظاهری خوب طراحی شده نه تنها تجربه کاربر را افزایش می دهد، بلکه قابلیت نگهداری و مقیاس پذیری پروژه را نی...
🌐 : ساخت یک معماری فرانت اند تمیز و مقیاس پذیر
#فرانت_اند #frontend #react #nextjs
🔺 همانطور که چشم انداز دیجیتال همچنان به تکامل خود ادامه می دهد، اهمیت معماری frontend برای برنامه های کاربردی وب را نمی توان دست کم گرفت. یک معماری ظاهری خوب طراحی شده نه تنها تجربه کاربر را افزایش می دهد، بلکه قابلیت نگهداری و مقیاس پذیری پروژه را نی...
🌐 : ساخت یک معماری فرانت اند تمیز و مقیاس پذیر
#فرانت_اند #frontend #react #nextjs
بلوک کد های try catch تو جاوااسکریپت بنظرم خیلی طولانی هست ولی جاش می تونید از Safe Assignment Operator که به اکمااسکریپت اضافه شده استفاده کنید، این اپراتور به صورت "=?" ، این باعث میشه کد هاتون تمیز تر و error handling خوبی داشته باشید.
آنوفل دنیای برنامه نویسی
#جاوااسکریپت #جاوا_اسکریپت #Js #code #javascript
آنوفل دنیای برنامه نویسی
#جاوااسکریپت #جاوا_اسکریپت #Js #code #javascript
ساخت یک معماری فرانت اند تمیز و مقیاس پذیر
🔺 همانطور که چشم انداز دیجیتال همچنان به تکامل خود ادامه می دهد، اهمیت معماری frontend برای برنامه های کاربردی وب را نمی توان دست کم گرفت. یک معماری ظاهری خوب طراحی شده نه تنها تجربه کاربر را افزایش می دهد، بلکه قابلیت نگهداری و مقیاس پذیری پروژه را نی...
🌐 : ساخت یک معماری فرانت اند تمیز و مقیاس پذیر
🔺 همانطور که چشم انداز دیجیتال همچنان به تکامل خود ادامه می دهد، اهمیت معماری frontend برای برنامه های کاربردی وب را نمی توان دست کم گرفت. یک معماری ظاهری خوب طراحی شده نه تنها تجربه کاربر را افزایش می دهد، بلکه قابلیت نگهداری و مقیاس پذیری پروژه را نی...
🌐 : ساخت یک معماری فرانت اند تمیز و مقیاس پذیر
چگونه TypeScript به شما در نوشتن کد بهتر کمک می کند
🔺 TypeScript در حال تسخیر وب است. در این مقاله به شما یک نمای کلی از مزایای TypeScript و اینکه چگونه میتواند به شما در ایجاد وبسایتهایی با باگ های کمتر کمک کند، ارائه میدهم.شما یاد خواهید گرفت که چگونه TypeScript در رسیدگی به موارد لبه، گرفتن اشتبا...
🌐 : چگونه TypeScript به شما در نوشتن کد بهتر کمک می کند
🔺 TypeScript در حال تسخیر وب است. در این مقاله به شما یک نمای کلی از مزایای TypeScript و اینکه چگونه میتواند به شما در ایجاد وبسایتهایی با باگ های کمتر کمک کند، ارائه میدهم.شما یاد خواهید گرفت که چگونه TypeScript در رسیدگی به موارد لبه، گرفتن اشتبا...
🌐 : چگونه TypeScript به شما در نوشتن کد بهتر کمک می کند
آشنایی با Web Worker ها در React و تایپ اسکریپت
🔺 Web Worker ها ابزاری برای مرورگرهای وب برای اجرای اسکریپت ها در پس زمینه بدون تداخل با UI هستند. اگر به درستی راهاندازی شود، یکweb worker میتواند پیامهایی را از کد جاوا اسکریپت یا تایپ اسکریپت که در آن راهاندازی شده است ارسال و دریافت کند. در این...
🌐 : آشنایی با Web Worker ها در React و تایپ اسکریپت
🔺 Web Worker ها ابزاری برای مرورگرهای وب برای اجرای اسکریپت ها در پس زمینه بدون تداخل با UI هستند. اگر به درستی راهاندازی شود، یکweb worker میتواند پیامهایی را از کد جاوا اسکریپت یا تایپ اسکریپت که در آن راهاندازی شده است ارسال و دریافت کند. در این...
🌐 : آشنایی با Web Worker ها در React و تایپ اسکریپت
Git چیست؟ چرا هر توسعه دهنده ای باید آن را بداند
🔺 در قلمرو سیستم کنترل نسخه (VCS)، Git به عنوان یک روش مدیریت کد منبع قطعی (SCM) ظهور کرده است. Git که توسط لینوس توروالدز برای توسعه هسته لینوکس راه اندازی شد، به طور تصاعدی رشد کرد و عمدتاً توسط پلتفرم هایی مانند GitHub، GitLab و Bitbucket پشتیبانی م...
🌐 : Git چیست؟ چرا هر توسعه دهنده ای باید آن را بداند
🔺 در قلمرو سیستم کنترل نسخه (VCS)، Git به عنوان یک روش مدیریت کد منبع قطعی (SCM) ظهور کرده است. Git که توسط لینوس توروالدز برای توسعه هسته لینوکس راه اندازی شد، به طور تصاعدی رشد کرد و عمدتاً توسط پلتفرم هایی مانند GitHub، GitLab و Bitbucket پشتیبانی م...
🌐 : Git چیست؟ چرا هر توسعه دهنده ای باید آن را بداند
برنامه نویس Junior ،Mid Level و ارشد
🔺 برنامه نویسی فقط نوشتن کد نیست. این یک سفر رشد مداوم و یادگیری است. چه یک علاقهمند جوان باشید، چه یک توسعهدهنده متوسط یا یک senior با تجربه، مسیر موفقیت شامل مراحل استراتژیک است. بیایید بررسی کنیم که چگونه می توانید این سفر را طی کنید و حرفه برنامه...
🌐 : برنامه نویس Junior ،Mid Level و ارشد
🔺 برنامه نویسی فقط نوشتن کد نیست. این یک سفر رشد مداوم و یادگیری است. چه یک علاقهمند جوان باشید، چه یک توسعهدهنده متوسط یا یک senior با تجربه، مسیر موفقیت شامل مراحل استراتژیک است. بیایید بررسی کنیم که چگونه می توانید این سفر را طی کنید و حرفه برنامه...
🌐 : برنامه نویس Junior ،Mid Level و ارشد
تفاوت بین Agile و DevOps چیست؟
🔺 Agile و DevOps دو متدولوژی توسعه نرمافزاری هستند که بیشترین استفاده را دارند. با وجود شباهتها و تفاوتهای فراوان، اما هدف یکسانی دارند. و هدف ایجاد محصول کارآمد و سریع است. بسیاری از شرکتهای فناوری از متدولوژیهای Agile و DevOps پیروی میکنند تا ب...
🌐 : تفاوت بین Agile و DevOps چیست؟
🔺 Agile و DevOps دو متدولوژی توسعه نرمافزاری هستند که بیشترین استفاده را دارند. با وجود شباهتها و تفاوتهای فراوان، اما هدف یکسانی دارند. و هدف ایجاد محصول کارآمد و سریع است. بسیاری از شرکتهای فناوری از متدولوژیهای Agile و DevOps پیروی میکنند تا ب...
🌐 : تفاوت بین Agile و DevOps چیست؟
10 مشکل رایج جاوا اسکریپت که باید بدانید
🔺 در ابتدا، جاوا اسکریپت ممکن است بسیار ساده به نظر برسد. با این حال، این زبان بسیار ظریفتر، قدرتمندتر و پیچیدهتر از آن چیزی است که در ابتدا تصور میشد. بسیاری از ظرافتهای جاوا اسکریپت منجر به تعدادی از مشکلات رایج، که 10 مورد از آنها در اینجا، می...
🌐 : 10 مشکل رایج جاوا اسکریپت که باید بدانید
🔺 در ابتدا، جاوا اسکریپت ممکن است بسیار ساده به نظر برسد. با این حال، این زبان بسیار ظریفتر، قدرتمندتر و پیچیدهتر از آن چیزی است که در ابتدا تصور میشد. بسیاری از ظرافتهای جاوا اسکریپت منجر به تعدادی از مشکلات رایج، که 10 مورد از آنها در اینجا، می...
🌐 : 10 مشکل رایج جاوا اسکریپت که باید بدانید
استفاده از JWT برای احراز هویت سرویس API
🔺 در چشم انداز همیشه در حال تحول معماری ابر، نقش رابط های برنامه نویسی کاربردی (API) به طور فزاینده ای حیاتی شده است. APIها به عنوان پلی عمل می کنند که به نرم افزارهای مختلف اجازه می دهد تا به طور یکپارچه با هم ارتباط برقرار کنند. این مقاله به بررسی اه...
🌐 : استفاده از JWT برای احراز هویت سرویس API
🔺 در چشم انداز همیشه در حال تحول معماری ابر، نقش رابط های برنامه نویسی کاربردی (API) به طور فزاینده ای حیاتی شده است. APIها به عنوان پلی عمل می کنند که به نرم افزارهای مختلف اجازه می دهد تا به طور یکپارچه با هم ارتباط برقرار کنند. این مقاله به بررسی اه...
🌐 : استفاده از JWT برای احراز هویت سرویس API
کار با دیزاین پترن ها یا الگوهای طراحی در React
🔺 الگوهای طراحی یا دیزاین پترن ها راهی مناسب برای مقابله با چالشها با راهحلهای تست شده ارائه میدهند و در زمان و تلاش توسعهدهندگان صرفهجویی میکنند. در اینجا چگونه الگوهای طراحی React به ماژول های منسجم با جفت کمتر اجازه می دهند صحبت خواهیم کرد.&n...
🌐 : کار با دیزاین پترن ها یا الگوهای طراحی در React
🔺 الگوهای طراحی یا دیزاین پترن ها راهی مناسب برای مقابله با چالشها با راهحلهای تست شده ارائه میدهند و در زمان و تلاش توسعهدهندگان صرفهجویی میکنند. در اینجا چگونه الگوهای طراحی React به ماژول های منسجم با جفت کمتر اجازه می دهند صحبت خواهیم کرد.&n...
🌐 : کار با دیزاین پترن ها یا الگوهای طراحی در React
استراتژیهایی برای ساخت برنامههای React در معماری سمت کلاینت
🔺 در حوزه پویای توسعه وب، عملکرد بهینه و تجربه کاربر برای موفقیت برنامه های کاربردی وب مدرن اساسی است. React، کتابخانه جاوا اسکریپت منتشر شده توسط فیس بوک، به ابزاری ضروری برای توسعه دهندگان تبدیل شده است و آنها را قادر می سازد تا برنامه هایی بسازند که...
🌐 : استراتژیهایی برای ساخت برنامههای React در معماری سمت کلاینت
🔺 در حوزه پویای توسعه وب، عملکرد بهینه و تجربه کاربر برای موفقیت برنامه های کاربردی وب مدرن اساسی است. React، کتابخانه جاوا اسکریپت منتشر شده توسط فیس بوک، به ابزاری ضروری برای توسعه دهندگان تبدیل شده است و آنها را قادر می سازد تا برنامه هایی بسازند که...
🌐 : استراتژیهایی برای ساخت برنامههای React در معماری سمت کلاینت