نمایش مدلهای مختلف پایگاه داده

مارس 17, 2018 | 68 مشاهده شده


ERD model

در این پست می خواهم مدلهای مختلف پایگاه داده را به صورت بصری نگاهی بیندازیم، اهمیت این موضوع الهام گرفتن از پروژه های اپن سورس مانند وردپرس و جوملا جهت طراحی مدلهای پایگاه داده  در پروژه یمان است.

ادامه خواندن


مرتب سازی مقایسه ای و شمارشی

دسامبر 13, 2017 | 63 مشاهده شده


sorting a;gorithm

جهت مرتب سازی یک حجم از دیتای ورودی دو مکانیزم قالب مرتب سازی شمارشی و مرتب سازی مقایسه ای وجود دارد. حد پایین مجانب مرتب سازی مقایسه ای برابر ((Θ(nlog(n است، که در الگوریتم های مرتب سازی هیپ و مرتب سازی ادغام پیاده شده اند. کاهش مجانب پایین در الگوریتم های شمارشی محقق شده است. ازجمله آن می توان مرتب سازی مبنایی نام برد.

ادامه خواندن


متناقض نمای روز تولد

دسامبر 9, 2017 | 72 مشاهده شده


Birthday Paradox

امروز مسئله متناقض نمای روز تولد را مرور می کردم، یک چیز که برای من خیلی جالب بود، علی رغم فواید شهود، گاهی وقت ها شهود باعث دردسر می شود. شهود گرایی در ریاضیات تا چه حد مناسب است؟

ادامه خواندن


الگوریتم استراسن جهت ضرب ماتریس ها

اکتبر 25, 2017 | 76 مشاهده شده


استراسن الگوریتم

یکی از راه های طراحی الگوریتم شکستن مسیله به زیرمسیله های کوچکتر می باشد، در کتاب های الگوریتم  این روش divide and conquer نامیده می شود. در این پست ابتدا به شرح الگوریتم استراسن و سپس پیاده سازی آن در جاوا خواهیم پرداخت.

ادامه خواندن


RSAالگوریتم رمزنگاری

اکتبر 7, 2017 | 65 مشاهده شده


RSA encryption

رمزنگاری (RSA (Rivest–Shamir–Adlemanرمزنگاری با کلید عمومی یا نامتقارن می باشد. نام این رمزنگاری از  نام سه  دانشمند که این الگوریتم رمزنگاری را پیدا کرده اند، گرفته شده است.  این الگوریتم اولین بار در دانشگاه MIT مطرح شد. نقطه مقابل این نوع رمزنگاری ها رمزنگاری با کلید خصوصی یا متقارن است. در رمزنگاری با کلید خصوصی بین هرنود فرستنده و گیرنده فقط یک کلید خصوصی وجود دارد، افشای این کلید خصوصی امنیت همه کاربران را  به خطر خواهد انداخت، لذا برای استفاده از رمزنگاری متقارن به صورت امن تر، فرستنده باید برای همه گیرنده های خود یک کلید خصوصی منحصربه فرد تعریف کند. هنگامی که تعداد گیرندها زیاد نباشد، مشکل خاصی ایجاد نخواهد شد، اما وقتی تعداد گیرنده ها به چندصد هزارنفر برسد، ذخیره و بازیابی آنها خود مشکلی بزرگ است. در نتیجه در رمزنگاری با کلید نامتقارن از یک کلید عمومی و کلید خصوصی استفاده می شود. کلید عمومی در دسترس همگان می باشد، اما کلید خصوصی کلیدی است که با آن می توان دیتا کد شده خود را انکد کرد. الگوریتم رمزنگاری RSA به گونه ای است، که با در دست داشتن کلید عمومی نمی توان به کلید خصوصی دست پیدا کرد.

ادامه خواندن