تولید jwt به کمک کلید نامتقارن و نحوه بررسی اصالت jwt

در مورد استاندارد تولید توکن jwt مقاله های خوبی به زبان هم فارسی هم انگلیسی موجود هست
تو اکثر قریب به اتفاق مطالب از روش تولید امضا و نیز بررسی اصالت امضا به روش الگوریتم کلید متقارن (AES ) استفاده می شود.
اما وقتی پروژه بزرگ تر میشه یا شامل مجموعه زیادی از اپلیکیشن ها میشه که همه شون هم نیاز به اعتبار سنجی و هویت سنجی کاربران دارند نیاز هست یک سروری ( منظور بیشتر یک میکرو سرویس هست ) رو برای تولید توکن ها کنار بگذارید که کارش فقط تولید توکن برای کاربران اپلیکیشن های شما ست . اما وظیفه بررسی اصالت اون توکن ها رو می خواهید بسپارید به بخش دیگر مجموعه تون .
این جور مواقع میروند سراغ تولید توکن به کمک کلید های نامتقارن .

بیشتر

رایگان – خرید

تعریف Enterprise Application از دید مارتین فاولر بزرگ

مارتین فاولر می گوید :

در برخی موارد Enterprise Application ها خیلی ساده تر از نرم افزار های Telecome هستند چرا که آنها مسایل multi-threading خیلی سخت ندارند. آنها بحث تجمیع سخت افزار با نرم افزار ندارند ولی…

ولی Enterprise Application ها داده های پیچیده دارند .

از نظر فاولر منظور از Enterprise Application ها همان سیستم های اطلاعاتی هستند آنهایی که با پردازش و ذخیره سازی بلند مدت داده سروکار دارند

بیشتر

رایگان – خرید
Java persistence with Hibernate

یادداشتهایی بر رهیافت ORM با تاکید بر Hibernate – بخش ششم

در این مقاله به بررسی روشها و استراتژی های تولید id در Hibernate خواهیم پرداخت .همانطور که در مقاله قبلی هم گفتیم یکی از ویژگی‌هایی که در مورد انتخاب یک استراتژی تولید id جذاب و مهم است تولید مقدار id برای یک entity جدید قبل از اجرای عمل واقعی insert در db است .در ادامه ۱۲ استراتژی تولید id در Hibernate را خلاصه وار بررسی می کنیم بیشتر آنها در محیطهای عملیاتی فعلی چندان کاربردی ندارند .

بیشتر

رایگان – خرید
Java persistence with Hibernate

یادداشتهایی بر رهیافت ORM با تاکید بر Hibernate – بخش پنجم

یک – بخاطر مسایل بهینه سازی ، سیاست Hibernate اغلب این است که عمل درج (insert) موجودیت ها تا جایی که می تواند به تعویق بیندازد و عمل درج را به صف برده و در نهایت همه درخواستهای insert را به صورت یکجا و دسته ای ( batch) انجام دهد .دو – بخاطر در پیش گرفتن سیاست ذکر شده در بند یک ترجیح ما (برنامه نویسان ) این است که مقدار id حتی قبل از عمل insert واقعی در DB تولید و در دست ما باشد .سه – در اغلب روشها ما با مفهومی بنام Sequence سروکار داریم که یا در سمت DB توسط DBMS هندل می شود یا توسط Hibernate . در واقع Sequence یک ویژگی است در دنیای DB . که وظیفه اش تولید مقادیر منحصربفرد برای ستون های Primary key در جدول های یک DB است . نکته مهمی که در مورد Sequence باید بهش توجه کنیم این است که فرایند تولید مقادیر id در اغلب DBMS‌ها خارج از تراکنش رخ می دهد به عبارت دیگر transaction-less است یعنی یک مقدار تولید شده نمی تواند همزمان به چندین تراکنش همروند در حال اجرا منتسب بشود . مطلب بعدی در مورد Sequence این است که مقداری که برای یک id تولید می شود اگر به یک تراکنش خاصی منتسب بشود چه اون تراکنش commit گردد و چه rollback بشود مقدار منتسب شده ازش در جای دیگر استفاده نمی شود .

بیشتر

رایگان – خرید

۱۰ الگوریتم مهم که باید در رابطه با یادگیری ماشین (Machine Learning) بدونید

ما در آغاز یک دوران انقلابی زندگی میکنیم دلیل اون توسعه ی تجزیه و تحلیل داده ها، قدرت محاسباتی بزرگ و محاسبات ابری است. یادگیری ماشین قطعا نقش مهمی در اون ایفا خواهد کرد و مغزهای پشت این یادگیری ماشین ، مبتنی بر الگوریتم هستند. این مقاله 10 تا از محبوب ترین الگوریتم های یادگیری ماشین را که در حال حاضر استفاده می شوند پوشش می دهد .

بیشتر

رایگان – خرید

۱۵+ اصول ساده در JavaScript

نوشتن چند مورد از اصول تسهیل کننده در برنامه نویسی js.
در نظر سنجی ای که در سال 2017 توسط StackOverflow انجام شد.مشخض شد که js یکی از رایج ترین و جذاب ترین زبان ها برای تولید صفحات وب تعاملی می تونه باشه.این زبان توسط تعداد زیادی از مرورگر ها پشتیبانی میشه همچنین استفاده از جاوا اسکریپت در محصولات معرفی شده توسط شرکت توسعه Magento طراحی وب سایت های تجارت الکترونیک رو افزایش داده است.یادگیری js برای توسعه صفحات پویای وب خیلی آسونه اما استفاده از تکنیک ها و ترفندها ی js کارشما رو راحت تر میکنه و از طرفی توی زمان هم صرفه جویی میکنید.این هک های ساده، کدهای بهینه شده ای هستند که با استفاده از منطق برنامه نویسی هوشمندانه ساخته شده اند.

بیشتر

رایگان – خرید
Java persistence with Hibernate

یادداشتهایی بر رهیافت ORM با تاکید بر Hibernate – بخش سوم

وقتی برای اولین بار شروع به درک و مدلسازی یک سیستم می‌کنید اولین مستنداتی که در حین اینکار تولید می‌شود پایه‌های اولیه مدل سازی بیزنسی (business model ) را تشکیل می‌دهد . خیلی ساده، می‌خواهیم بدانیم این سیستم بایستی چه نیازهایی از مشتری را پاسخ دهد و چگونه / چه موقع این نیازها را پاسخ دهد . درک سیستم همیشه کار ساده و سرراستی نیست فرض کنید شما قصد مدلسازی سیستم شبیه سازی کنترل ترافیک خطوط هوایی آمریکا را برعهده دارید یا سیستم پرداخت یک بانک را . شما یک برنامه نویس یک طراح نرم‌افزار و در یک کلام شما یک متخصص حوزه IT هستید نه مهندس هواپیما نه مهندس مکانیک نه حسابدار بانک و نه ….

بیشتر

رایگان – خرید
Java persistence with Hibernate

یادداشتهایی بر رهیافت ORM با تاکید بر Hibernate – بخش دوم

اگر در اینترنت لابلای کدهای نمونه بچرخید انواع روشهای پیکربندی پروژه Hibernateی را خواهید دید . و اگر کل داستان یا دست کم آغاز داستان و دسته بندی های مختلفی که روی پروژه های Hibernate ی و کلاً JPAی اعمال شده را ندانید خیلی زود گیج خواهید شد . عجیب هم نیست اگر حین مطالعه این کدها سؤالاتی به ذهنتان می‌رسد و دنبال جواب آن‌ها در اینترنت جستجو می‌کنید و می‌بینید دقیقاً و عیناً همان سؤال شما در مثلاً stackoverflow یا بقیه سایتها پرسیده شده ، نشان میدهد این سردرگمی و نامفهومی برامده از کدها برای اغلب برنامه نویسان تازه کار و حتی کهنه کار قبلاً پیش اومده .

بیشتر

رایگان – خرید
Java persistence with Hibernate

یادداشتهایی بر رهیافت ORM با تاکید بر Hibernate – بخش اول

Java persistence with Hibernate یکی از بهترین کتاب‌هایی که تو حوزه ORM نوشته شده است . قبلاً براساس نیاز و وقتم مقالات پراکنده‌ای در مورد ORM به‌خصوص Hibernate خونده بودم ولی هیچ‌ موقع فرصت / قسمت / اراده نشد تا به صورت مفهومی و عمیق در مورد این حوزه مطالعه‌ای داشته باشم.
چند روزی است مطالعه کتاب مذکور را شروع کردم با مرور سرفصل هاش انتظار داشتم خیلی زود چند فصل اول را تمام کرده و به مباحث مورد نظرم برسم ولی از همان فصل اول کتاب ، انقدر مفاهیم مفهومی و عمیق و چرایی ضرورت رفتن سراغ این رهیافت ( ORM ) برایم جذاب آمد که تصمیم گرفتم قلم برداشته و نکات مهم و جالبش را یادداشت کنم . وسطهای نوشتن روی کاغذ به ذهنم رسید چرا این مطالب را با دوستان همکار و علاقه مندم به اشتراک نگذارم

بیشتر

رایگان – خرید