مهدی عزیزی

دانلود کتاب A Programmer’s Guide to C# 5.0

کتاب سی شارپ 5 - بعد از معرفی سی شارپ نسخه ۵ ، بلافاصله کتابهایی در این زمینه منتشر شدند که از این کتابها "راهنمای برنامه نویسان سی شارپ ۵٫۰ " چاپ چهارم است که با هدف کمک به توسعه دهندگان نرم افزاری که می خواهند مهارتهای خود را با استفاده از زبان سی شارپ توسعه دهند منتشر شده است. این کتاب بدون نیاز به اطلاعات قبلی درباره دات نت شما را در توسعه نرم افزارهای خود کمک کرده و تمام جنبه های ارائه شده رو توضیح می دهد.

آنچه که شما در این کتاب یاد خواهید گرفت:

·         استفاده از ویژگی های تاثیر گذار سی شارپ

·          استفاده از جدیدترین ویژگیهای سی شارپ ۵٫۰ در مشکلات کدنویسی

·         ساده سازی کد پایگاه داده با  LINQ

·          استفاده از ویژگی Async و کتابخانه وظایف موازی جهت بهبود عملکرد برنامه

لینک دانلود


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

پردازش موازی در دات‌نت

در برنامه‌نویسی همروند شما چند Task را که هیچ رابطه‌ای بین آنها نیست در یک محیط همروند اجرا می‌کنید. این موضوع مشکلات خود را دارد، Task‌ها از منابع مشترک استفاده می‌کند و این منابع را بین خود به اشتراک

می‌گذارند. این امر مشکل منابع اشتراکی را به وجود می‌آورد، در واقع Task‌های شما به صورت Thread‌هایی است که از منابع مشترک استفاده می‌کند و این Thread‌ها مشکل deadlock و data race را به وجود می‌آورد.

اما در برنامه‌نویسی موازی یک Task به تعدادی Task‌ مرتب به هم تقسیم و در همان محیط همروند اجرا می‌شود. شاید فکر کنیم زمانی که این وظایف در ارتباط با هم هستند بعضی از مشکلات موجود در حالت همروند

به قوت خود باقی بماند؛ اما شما چند وظیفه مرتبط به هم ایجاد کرده‌اید و مشکلی مانند deadlock هنوز به وقت خود باقی است. مساله مهم‌تر این است که خطایابی این سیستم نسبت به حالت قبلی پیچیده و سخت‌تر

است و همین طور ارتباط بین این وظایف و انتقال اطلاعات بین آنها. اما نگران نباشید اینجاست که Parallel Fx به کمک شما می‌آید و مشکلات شما را حل می‌کند.

در Parallel Fx کلاس Task جای Thread را گرفته و امکان اجرای موازی کارها را به شما می‌دهد و شما می‌توانید کار خود را به مراتب سریع‌تر از چند نخی و حتی برنامه‌نویسی غیرهمزمان انجام دهید،

حال بگذارید چند مثال در این مورد بنویسیم تا با این کتابخانه و کار با آن آشنا شویم

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

الگوی طراحی MVC

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

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

۱ ـ نگهداری از سیستم: سیستم باید طوری طراحی شود تا گروه توسعه‌دهنده یا تیم‌های دیگر بتوانند خطاها و باگ‌های آن را براحتی در کمترین زمان ممکن رفع کنند.

۲ ـ قابلیت استفاده مجدد: یک طراحی خوب باید بتواند در درازمدت هم قابلیت توسعه داشته باشد و قابلیت‌های جدید براحتی و بدون کمترین خللی در بقیه اجزا به سیستم اضافه شود.

۳ ـ بازد‌هی سیستم: بخشی از بازدهی سیستم مربوط به چارچوب کاری و پلتفرم مورد استفاده است؛ اما یک الگوی مناسب با تقسیم اجزا و ایجاد رابطه منطقی بین آنها می‌تواند در بازدهی سیستم تاثیر بسزایی داشته باشد.

۴ ـRapid Application Development) RAD) : یک معماری خوب می‌تواند سرعت توسعه را به طرز قابل ملاحضه‌ای افزایش دهد. حذف عملیات تکراری و ساده باعث می‌شود تمرکز تیم توسعه‌دهنده به بخش‌های اساسی سیستم و تامین امنیت برنامه معطوف شود.

یکی از این الگوهای طراحی نرم‌افزار MVC نام دارد. MVC روشی

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

مقدمه‌ای بر Ruby On Rails

کتابخانه‌های زیادی بر مبنای MVC‌ برای زبان‌های مختلف نوشته شده ‌است که از آنها می‌توان ASP.NET MVC یا معماری MVVM مایکروسافت ـ که تلفیقی از MVC و معماری سه لایه قدیمی برای برنامه‌های ویندوزی است ـ CakePHP،‌ Yii، Kohana و... نام برد که کتابخانه‌هایی برای زبان PHP‌ است؛ اما معروف‌ترین چارچوب کاری توسعه داده‌شده که بهترین کارایی را دارد، می‌توان به Rails اشاره کرد که مزیت خود را مدیون زبان ساده و قدرتمند Ruby است. Ruby On Rails که طراحی ساده و در عین حال قدرتمندی دارد، به کمک برنامه‌نویسان آمده تا برنامه‌های کاربردی تحت وب خود را بیش از پیش بهتر کنند. از معروف‌ترین پروژه‌های اجرا شده با Ruby On Rails وب سایت توییتر است و یکی از دلایل معروفیت آن پیاده‌سازی REST API‌ به صورت داخلی است به این صورت که تمامی اکشن‌ها و مسیر‌ها بر اساس معماری REST API پیاده‌سازی شده‌ است.

زبان Ruby

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

سرگذشت مرورگرها در 2012

سال ۲۰۱۲ به پایان رسید؛ سالی که در زمینه وب اتفاقات زیادی افتاد. یکی از مواردی که در این سال تغییرات زیادی را تجربه کرد، مرورگرهای وب بودند. راه‌اندازی‌های جدید، سرویس‌های آنلاین را به جای نرم‌افزارهای بسته‌بندی‌شده (پکیج‌های نرم‌افزاری) اجرا می‌کنند. تولیدکنندگان و سازندگان مرورگرها با هم رقابت می‌کنند تا هرچه بیشتر وب را از مکانی برای انتشار اسناد به یک زمینه و پلتفرم برنامه‌نویسی با اهداف عمومی تبدیل کنند. کاربران رایانه روز‌به‌روز استفاده از نرم‌افزارهای تحت وب را به برنامه‌هایی که روی یک دستگاه اجرا می‌شوند، ترجیح می‌دهند.

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

مایکروسافت، رقبای مرورگر خود را محدودتر کرد

با انتشار نسخه جدید ویندوز ۸، مایکروسافت تلاش کرد با واسط‌های جدید سیستم‌عامل

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

SQL Server 2012

یکی از مباحث مهم در دنیای فناوری اطلاعات چگونگی ذخیره داده‌ها و اطلاعات است. قبل از به‌وجود آمدن نرم‌افزارهای مدیریت پایگاه داده‌ها (Data Base) اطلاعات به صورت فایل ذخیره می‌شد. این روش علاوه بر مدیریت دشوار، از امنیت پایینی برخوردار است. برای بهبود ضعف‌های روش فایلینگ، در دهه 1960 روش‌های مدیریت پایگاه داده‌ها به وجود آمد. می‌توان گفت همه نرم‌افزارهای امروزی از پایگاه داده‌ها برای ذخیره و بازیابی داده‌ها استفاده می‌کنند.

یکی از نرم‌افزارهای مدیریت پایگاه داده‌ها ـ که جزو پرکاربردترین آنها نیز هست ـ SQL Server شرکت مایکروسافت است. این شرکت، منبع کد MS SQL را از شرکت Sybase خریداری کرد تا در دنیای نرم‌افزارهای پایگاه داده‌های بزرگ با شرکت‌هایی نظیر Oracle و IBM رقابت کند. سال 1989 اولین نسخه SQL Server با کمک Sybase وارد بازار شد. اولین نسخه‌های جدی و قابل رقابت مایکروسافت مربوط به 7 SQL Server و 2000 است که این نسخه‌ها نیز با همکاریSybase تولید می‌شد.

نسخه بعدی 2005 MS SQL Server است که کدهای آن کاملا بازنویسی شده بود. در تولید این نسخه از همکاری Sybase خبری نبود. دلیل وقفه پنجساله در ارائه نسخه جدید هم این بود که این بار نمونه‌ای متفاوت با ویژگی‌های پیشرفته‌تر در دسترس توسعه‌دهندگان نرم‌افزار قرار گیرد.

زبان اسکریپت‌نویسی استفاده‌شده در این محصول ( T-SQL(Transact Structured Language است که در نسخه‌های گوناگون پیشرفت‌های قابل توجهی داشته و کار را برای برنامه‌نویسان آسان کرده است.

در ادامه به بررسی و نسخه‌های MS SQL Server می‌پردازیم و ویژگی‌های هر یک را بیان می‌کنیم.

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

ویژگی‌های دات نت 4.5

با عرضه نسخه نهایی ویژوال استودیو 2012 و همین‌طور دات نت نسخه 5‌/‌4، مایکروسافت نسخه 4 از کتابخانه معروف ASP.NET MVC را ارائه کرد. این کتابخانه را ـ که روز به روز با سرعت بیشتری نسبت به هسته اصلی ASP.NET در حال رشد است ـ می‌توان آینده مایکروسافت برای توسعه‌دهند‌گان وب دانست. خیلی از برنامه‌نویسان و توسعه‌دهند‌گان نرم‌افزارهای تحت وب، این کتابخانه را جایگزین ASP.NET کرده‌اند و وب‌سایت‌های خود را روی این کتابخانه پیاده کرده‌اند. یکی از بزرگ‌ترین وب‌سایت‌هایی که با این کتابخانه توسعه داده شده وب‌سایت stackoverflow.com است. اما هر محصول جدید قطعا مزایایی نسبت به نسخه‌های قبلی خود دارد. در ادامه قصد داریم این مزیت‌ها را نسبت به نسخه‌های قبلی بررسی کرده و با آنها بیشتر آشنا شویم.

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

پروتکل های رمزنگاری انتقال

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

مثلا در شبکه های محلی برای هر یک از طرفین یا مرزهای Internet-LAN که سرویس دهندگان اینترنت از طریق آنها مسیر دیتا را تا مقصد نهایی مشخص می کنند. حساسیت دیتا ممکن است بسیار متغییر باشد، زیرا دیتای انتقالی ممکن است بهر شکلی از رکوردهای مالی بسته بندی شده تا تراکنش های مستقیم باشند. در بعضی موارد، ممکن است علاوه بر محافظت دیتا روی اینترنت، نیاز به محافظت دیتا روی LAN نیز باشد. مشخصاً، محافظت از دیتا در مقابل حملات LAN  مستلزم رمزنگاری دیتای انتقالی روی خود LAN است. به این ترتیب، بهرحال، نیاز به بسط امنیت تا برنامه هایی است که خود دیتا را تولید و مدیریت می کنند، و تنها اطمینان به راه حلهای محیطی کفایت نمی کند و به این ترتیب بر پیچیدگی مساله امنیت افزوده می شود.

در ادامه به توضیح مختصری در زمینه پروتکل های رمز نگاری انتقال می پردازیم

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

لیست کامل افعال بی قاعده همراه با معانی فارسی

لیست کامل افعال بی قاعده همراه با معانی فارسی افعال در زبان انگلیسی را می توانید از لینک زیر دریافت نمایید.


دانلود لیست کامل افعال بی قاعده

دانلود کامل ترین لیست افعال بی قاعده همراه با تلفظ

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

توابع API

API  مخفف Application Programming Interface می‌باشد که به معنای رابط برنامه‌سازی کاربردی است. نام API به توابعی اطلاق می‌شود که در فایلهای مختلف ویندوز مانند Advapi32.dll ، User32dll ، Ole32.dll ، Kernel32.dll ، Winmm.dll ، Winspool.drr ، Gdi32.dll ، Mpr.dll ، Netapi32.dll ، Sheu32.dll ، Rasapi32.dll ، Version.dll ، Wsock32.dll ، Comdlg32.dll، وجود دارند.
ویندوز برای صدها کار مختلف خود از این تابع‌ها استفاده می‌کند و برنامه‌های کاربردی نیز به طور متعدد از این توابع استفاده می‌کنند. به عنوان مثال در زبان برنامه‌نویسی ویژوال بیسیک هر خط کد را که تایپ می‌‌کنید و بعد برنامه را
Run می‌کنید، توسط توابع API کنترل می‌شوند. هنگامی که دستور Form1.Print را برای نمایش یک پیغام بر روی فرم صادر می‌کند، در واقع ویژوال بیسیک در پشت صحنه از تابع API، Textout  جهت نمایش این پیغام استفاده می‌کند و یا هنگامی که از توابع رسم بیضی استفاده می‌کنید، درحقیقت از تابع API، Elliptic  استفاده می‌شود.
و همچنین توابع دیگر، حرکت ماوس، صفحه کلید، رنگها، دکمه‌ها، منوها و صدها عملیات دیگر
.
دلایل استفاده از توابع
API در زبانهای مختلف برنامه‌نویسی می‌تواند این باشد که:

1- توابع API به دلیل آنکه در فایلهای dll هر سیستم عامل ویندوز می‌باشد و در هر مکان مانند یکدیگر می‌باشند پس نیازی به ارائه آن فایل dll در نسخه برنامه نمی‌باشد و درنتیجه حجم نسخه کم می‌شود و درضمن سندیت برنامه نیز بیشتر می‌شود و می‌توان گفت که شما از منابع ویندوز به نحو احسن استفاده کرده‌اید.
2- نسخه‌های ویندوز به طور مداوم تغییر می کند ولی به دلیل آنکه سازندگان همیشه حالتی را در نظر می‌‌گیرند که نسخه‌های قبلی را نیز پشتیبانی کند. درنتیجه اگر شما برنامه‌ای را به کمک توابع
API بنویسید با تغییر نسخه ویندوز نیازی به تغییر جدی در توابع API نمی‌باشد.
3- بیشتر زبانهای برنامه‌نویسی (به‌خصوص زبانهای تحت ویندوز که خود به صورت پنهان از توابع
API استفاده می‌کنند، ممکن است به علت محدودیتهایی نتوانند تمام امکانات توابع را در اختیار قرا دهند. شما با دسترسی مستقیم به توابع می‌توانید از حداکثر قابلیتهای تابع استفاده کنید.
4- در بعضی از زبانهای برنامه‌نویسی برای آنکه بتوان یک حالت را بوجود آورد و یا کار مشخصی را انجام داد، باید کدهای زیادی بنویسیم و یا در زمان خطاگیری مدت زیادی را صرف کنیم و به طور حتم کاربر استفاده‌کننده از برنامه شما نیز باید زمان بیشتری را برای گرفتن جواب صرف کند. این موارد ذکر شده هر کدام به نوبه خود می‌توانند از محبوبیت، قدرتمند و خوانابودن برنامه بکاهند. ولی توابع
API به دلیل آنکه روتین شده و از قبل نوشته شده می‌باشند پس فقط کافیست تابع را فراخوانی کنیم و به آن ورودی دهیم و خروجی مورد نظر خود را دریافت کنیم.
5- همانطور که در توابع این کتاب نیز خواهید دید، بیشتر توابع کارهایی را انجام می‌دهند که زبانهای برنامه‌نویسی قادر به انجام آن نمی‌باشند. به عنوان مثال به تابع
SetlateradwindowAttributes مراجعه کنید که باعث می‌‌شود یک پنجره (فرم و یا کنترلهای داخل آن) و با یک رنگ مشخص در آنها به مقدار دلخواه به حالت شفاف و Transparent تبدیل شوند. و یا توابع دیگر مانند StretchBlt , TransparentBlt , LokworkStation , TimGetTim , SHShutDownDialog و ...

۲۱ آبان ۹۱ ، ۱۸:۳۸ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی