مهدی عزیزی

NHibernate چیست؟

NHibernate  کتابخانه‌ی تبدیل شده پروژه بسیار محبوب Hibernate جاوا به سی شارپ است و یکی از ORM های بسیار موفق، به شمار می‌رود.
چرا نیاز است تا از یک ORM استفاده شود؟
تهیه قسمت و یا لایه دسترسی به داده‌ها در یک برنامه عموما تا 30 درصد زمان کل تهیه یک محصول را تشکیل می‌دهد. اما باید در نظر داشت که این پروسه‌ی تکراری هیچ کار خارق العاده‌ای نبوده و ارزش افزوده‌ی خاصی را به یک برنامه اضافه نمی‌کند. تقریبا تمام برنامه‌های تجاری نیاز به لایه دسترسی به داده‌ها را دارند. پس چرا ما باید به ازای هر پروژه، این کار تکراری و کسل کننده را بارها و بارها تکرار کنیم؟
هدف NHibernate ،

ادامه مطلب...
۰۷ مرداد ۹۲ ، ۱۸:۴۶ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

5 دلیل برای استفاده از یک ابزار ORM

چرا باید از ابزارهای Object relational Mapper یا به اختصار ORM استفاده کرد؟ در اینجا سخن در مورد ORM خاصی نیست. هدف تبلیغ یک محصول ویژه هم نمی‌باشد و یک بحث کلی مد نظر است.
کار ابزارهای ORM خواندن ساختار دیتابیس شما بوده و سپس ایجاد کلاس‌هایی بر اساس این ساختار ، برقراری ارتباط بین اشیاء ایجاد شده و جداول، ویووها، رویه‌های ذخیره شده و غیره می‌باشد. همچنین این ابزارها امکان تعریف روابط one-to-one, one-to-many, many-to-one, و many-to-many بین اشیاء را نیز بر اساس ساختار دیتابیس شما فراهم می‌کنند.
در ادامه به فواید استفاده از ORM ها خواهیم پرداخت:

1) یک ابزار ORM زمان تحویل پروژه را کاهش می‌دهد

اولین و مهم‌ترین دلیلی که بر اساس آن در یک پروژه، استفاده از ORM حائز اهمیت می‌شود، بحث بالا بردن سرعت برنامه نویسی و کاهش زمان تحویل پروژه به مشتری است. این کاهش زمان بسته به نوع پروژه بین 20 تا 50 درصد می‌تواند خود را بروز دهد.
بدیهی است ابزارهای ORM کار شگفت انگیزی را قرار نیست انجام دهند و شما می‌توانید تمام آن عملیات ‌را دستی هم به پایان رسانید؛ اما اجازه دهید یک مثال کوتاه را با هم مرور کنیم.
برای پیاده سازی یک برنامه متداول با حدود 15 تا 20 جدول، حدودا به 30 شیء برای مدل سازی سیستم نیاز خواهد بود و برنامه نویسی این مجموعه بین 5000 تا 10000 سطر کد را به خود اختصاص خواهد داد. بدیهی است برنامه نویسی و آزمایش این سیستم چندین هفته یا ماه به طول خواهد انجامید.
اما با استفاده از یک ORM ، عمده وقت شما به طراحی سیستم و ایجاد ارتباطات بین اشیاء و دیتابیس در طی یک تا دو روز صرف خواهد شد. ایجاد کد بر اساس این مجموعه و با کمک ابزارهای ORM ، آنی است و با چند کلیک صورت می‌گیرد.


2) یک ابزار ORM کدی با طراحی بهتر را تولید می‌کند

ممکن است

ادامه مطلب...
۰۷ مرداد ۹۲ ، ۱۸:۴۱ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

ORM چیست؟

ORM یا Object-relational mapping یک تکنیک برنامه نویسی برای ارتباط بین دیتا بیس و برنامه شئ گرای ما می باشد. مهمترین مزیت ORM ها این است که عملیات CRUD یا Create-Read-Update-Delete را به راحتی برای ما انجام می دهند.

زمان به ما ثابت کرده که پایگاه داده‌های رابطه‌ای ساختار مناسبی برای ذخیره‌سازی داده‌ای هستند، همچنین به این نتیجه رسیده‌ایم که برنامه‌نویسی شیءگرا یک رویکرد بسیار خوب و قوی برای پیاده‌سازی سیستم‌های بسیار پیچیده می‌باشد.

ORM عملا یک لایه

ادامه مطلب...
۰۷ مرداد ۹۲ ، ۱۸:۲۴ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

کلمات کلیدی در C#

با کلیک بروی لینک زیر می توان مرجع کاملی از کلمات کلیدی موجود در سی شارپ را بدست آورد.

مرجع کامل کلمات کلیدی در سی شارپ

۰۲ مرداد ۹۲ ، ۱۷:۱۵ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

با زبان برنامه‌نویسی کامپیوترهای کوانتومی آشنا شوید

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

باب کویکه از دانشگاه آکسفورد که در این پژوهش شرکت داشت، می‌گوید: «این زبان همه ویژگی‌های خوب یک زبان کلاسیک برنامه نویسی را دارد و با محاسبات کوانتومی هم سازگار شده است. این یک دستاورد عظیم است».

ویژگی مهم کامپیوترهای کوانتومی مربوط به بیت‌هایش است که به عنوان کیوبیت شناخته می‌شوند، و می‌توانند علاوه بر وضعیت 0 یا 1، هر دو مقدار 0 و 1 را به طور همزمان داشته باشد. به این ترتیب یک کامپیوتر کوانتومی این امکان را خواهد داشت که دو و یا تعداد بیشتری از محاسبات را به طور همزمان اجرا کند. اما طراحی الگوریتم‌های کامپیوتری که منجر به استفاده از تطابق کوانتومی می‌شود، کار ساده‌ای نیست.

از همین رو برنامه نویسی کوانتومی تا کنون عمدتا سطح پایین بوده، یعنی در حد تعریف گیت‌های منطقی کوانتومی که کیوبیت‌ها را کنترل می‌کنند.

جاوای کوانتومی

هم اکنون پیتر سلینگر از دانشگاه دالهوزی در هلیفکس کانادا و همکارانش با تولید کوئیپر، که اولین زبان برنامه نویسی کوانتومی سطح بالای نوشته شده تاکنون است، پیشرفت در این حوزه را به افق تازه‌ای رسانده‌اند. این زبان طراحی شده تا دستورات را به صورت مفاهیم بزرگ‌تر توصیف کند، و کنار هم قرار دادن الگوریتم‌های چندگانه به صورت ماژولار را ساده‌تر کند. برای کامپیوترهای کلاسیک، زبان‌های سطح بالا همچون جاوا اغلب عملیات سنگین را در محاسبات نوین انجام می‌دهند.

کوئیپر مبتنی بر یک

ادامه مطلب...
۲۳ تیر ۹۲ ، ۱۶:۴۱ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

روتکیت چیست و چگونه با آن مقابله کنیم؟

متخصصان امنیت و کاربران حرفه ای، همیشه روتکیت ها را به عنوان یک تهدید بزرگ در نظر می گیرند و در صدد مقابله با آنها هستند. اما کاربران عادی که شاید اطلاعات کافی در زمینه امنیت نداشته باشند، یا اصلا این روتکیت ها را نمی شناسند و یا در صورت شناخت نسبی نیز راه های مقابله با آنها را نمی دانند.

اما به صورت ساده باید گفت که روتکیت یک بدافزار است که توانایی مخفی سازی خود و فعالیتش هایش را در سیستم هدف دارد. ممکن است شما هم در حال حاضر به یک روتکیت آلوده باشد و روح تان هم خبر نداشته باشد. روتکیت ها هر روز قدرتمندتر و ناشناس تر می شوند. در واقع این کار را نویسندگان آنها با کشف روش های جدید انجام می دهند. این روش ها نیز در سایت های زیرزمینی به فروش گذاشته می شوند. تا جایی که دولت ها نیز به مشتریان آنها تبدیل شده اند. در هر صورت داشتن آگاهی نسبت به این نوع از بدافزارها می تواند به شما کمک شایانی در جهت تشخیص و مقابله با آنها بکند. در ادامه با گویا آی تی همراه باشید تا اطلاعات بیشتری را در جهت شناخت، شناسایی و مقابله با روتکیت ها به شما ارائه دهیم…..

ادامه مطلب...
۲۷ خرداد ۹۲ ، ۰۲:۳۶ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

مفهوم طراحی وب واکنشی Responsive Web Design

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

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

ادامه مطلب...
۲۳ ارديبهشت ۹۲ ، ۱۴:۳۶ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

زبانهای اسکریپتی در دات نت

روبی (Ruby)  و پایتون (Python) زبانهای اسکریپتی معروف هستند. منظور از اسکریپت  (Script) کدهایی است که با این زبان ها نوشته می شود و کامپایل نمی شود بلکه تفسیر می شود و هر زمانی که درخواستی برای اجرا شدن آنها صادرمی شود، یک مفسر کد را تفسیر و آن را اجرا می کند. این زبان ها با این نوع اجرا، بهتر از بقیه زبان هایی که کامپایل می شوند، بهتر هستند در بحث ما نمی گنجد، اما خطایابی (Debug) این که کد هایی نوشته شده با  این زبان ها به مراتب سخت تر از زبا نهای دیگر است.

بیایید زبانی را تصور کنیم که با گرامر(Syntax) پایتون نوشته شود و از امکانات دات نت استفاده کرده و در محیط ویندوزی کامپایل شود. این تصور دور از ذهن نیست ، زیرا مایکروسافت، دات نت و  C# خود را  روز به روز بهتر کرد تا امکاناتی فراهم کند و برنامه نویسانی که به زبانهای دیگر برنامه نویسی می کنند بتوانند براحتی از کد هایی که قبلا نوشته اند، در محیط ویندوز استفاده کنند.

مایکروسافت در C#4 و همین طور .net4 یک ویژگی به نام

ادامه مطلب...
۲۳ ارديبهشت ۹۲ ، ۱۲:۴۹ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

دانلود آموزش ساختمان داده ها در C#

با کلیک بروی لینک زیر می توانید اسلاید های ساختمان داده ها در C# را دانلود کنید.

دانلود آموزش ساختمان داده ها در C#

۰۶ ارديبهشت ۹۲ ، ۱۲:۳۲ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

دانلود آموزش پردازش تصویر در C#

دوستانی که به پردازش تصویر در c# علاقه دارند، با کلیک بروی لینک زیر می توانید این کتاب رو دانلود کنید. با تشکر...

دانلود آموزش پردازش تصویر  در C#

۰۶ ارديبهشت ۹۲ ، ۱۲:۱۷ ۱ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی