نقل قولی از بروسلی:The style doesn’t make the fighter, the fighter makes the style.معادل آن در دنیای نرم افزار:The process doesn’t make the developer, the developer makes the process.معنا:پیروی کورکورانه از روشها و شیوههای جدید از شما برنامه نویس نخواهد ساخت! "شما" هستید که به کار معنا خواهید داد.تمرکز بیش از حد بر روی یک روش کاری، دیدگاه شما را محدود ساخته و از بسیاری از موقعیتها و امکانات مهیای دیگر غافل خواهید شد.ادامه مطلب :Bruce Le ...
برای کاهش حجم دات نت در نگارشهای بعدی، کلاسهایی که توسط تیمهای مختلف پیشتر توسعه یافته بودند، اکنون با هم تلفیق شده و نظم بهتری پیدا کردهاند. برای مثال کلیه کلاسهای مرتبط با زبانهای اسکریپتی اکنون به فضای نام System.CodeDom.Compiler.ICodeCompiler منتقل شدهاند و غیره. مرجع نسبتا مفصلی در مورد منسوخ شدهها در دات نت 4 اخیرا منتشر شده است:نوعهای منسوخ شدهکلاسها و متدهای منسوخ شدهو حتما میدانید که چگونه یک متد یا نوع را باید به صورت ...
لیست وبلاگهای آی تی ایرانی را به روز کردم که فایل OPML آن از اینجا و همچنین از طریق لینک آن در منوی سمت راست سایت قابل دریافت است.این لیست بر اساس یافتههای من از سایتهای به اشتراک گذاری لینکهای ایرانی است مانند : idevcenter.com و mohand.es . اگر آدرس وبلاگ شما در این لیست قرار ندارد لطفا یکبار در یکی از این دو سایت آدرس مطالب خود را منتشر کنید. با تشکر
SQLite بانک اطلاعاتی سریع، کم حجم و سورس بازی است که استفاده از آن در دات نت فریم ورک بسیار ساده است. فقط کافی است پروایدر مربوط به آن را دریافت کنید و در کدهای قدیمی خود هر جایی مثلا sqlconnection داشتید آنرا تبدیل به sqliteconnection کنید و امثال آن (به بیان دیگر، پروایدر تهیه شده از معماری ADO.NET پیروی میکند و عملا دانش قبلی شما به سادگی قابل استفاده و ارتقاء است). علاوه بر آن پروایدر ADO.NET تهیه شده برای آن، پشتیبانی از Entity fra ...
SortedSet قرار گرفته در فضای نام System.Collections.Generic دات نت 4، لیستی از اشیاء به صورت خودکار مرتب شده را ارائه میدهد. SortedSet نیز همانند HashSet از اعضای منحصربفردی تشکیل خواهد شد اما اینبار به شکلی مرتب شده. برای پیاده سازی آن از red-black tree data structure استفاده شده است که مهمترین مزیت آن امکان افزودن و یا حذف اشیاء به آن بدون کاهش قابل توجه کارآیی برنامه است.مثال اول:using System;using System.Collections.Generic;namespace ...
بد نیست لیست تعدادی از بانکهای اطلاعاتی مهم قابل استفاده در دات نت به همراه درایورهای ADO.NET آنها را با هم مرور نمائیم. بانکهای اطلاعاتی قابل استفاده در دات نت فریم ورک ردیف بانک اطلاعاتی سایت مرجع درایور ADO.NET امکان استفاده از LINQ مجوز استفاده توضیحات 1 SQL Server 2000/2005/2008/2008 R2 + توکار (به صورت پیش فرض در دات نت فریم ورک موجود است) بلی . به کمک LINQ to SQL ،Entity Framework ، NHibernate و بسیاری از ORM های دیگر رای ...
یکی از الگوهای برنامه نویسی شیء گرا، Lazy Initialization Pattern نام دارد که دات نت 4 پیاده سازی آنرا سهولت بخشیده است.در دات نت 4 کلاس جدیدی به فضای نام System اضافه شده است به نام Lazy و هدف از آن lazy initialization است؛ من ترجمهاش میکنم وهله سازی با تاخیر یا به آن on demand construction هم گفتهاند (زمانی که به آن نیاز هست ساخته خواهد شد).فرض کنید در برنامهی خود نیاز به شیءایی دارید و ساخت این شیء بسیار پرهزینه است. نیازی نیست تا ب ...
نوع جدیدی در دات نت 4 به نام Tuple اضافه شده است که در این مطلب به بررسی آن خواهیم پرداخت.در ریاضیات، Tuple به معنای لیست مرتبی از اعضاء با تعداد مشخص است. Tuple در زبانهای برنامه نویسی Dynamic مانند اف شارپ، Perl ، LISP و بسیاری موارد دیگر مطلب جدیدی نیست. در زبانهای dynamic برنامه نویسها میتوانند متغیرها را بدون معرفی نوع آنها تعریف کنند. اما در زبانهای Static مانند سی شارپ، برنامه نویسها موظفند نوع متغیرها را پیش از کامپایل آنها ...
به نظر شما .net درست است یا .Net یا ... ؟Asp.net چطور؟ آیا ASP.Net درست است یا Asp.net یا ... ؟!Direct X درست است یا Direct-X یا ... ؟Linq درست است یا linq یا ...؟پاسخ: هیچکدام!املای تمامی موارد ذکر شده نادرست است. جدولی را یکی از کارکنان مایکروسافت در این زمینه تهیه کرده است که در آدرس ذیل میتوانید مشاهده نمائید:Correcting Grammar for Microsoft Products and Technology
سری معروف فیبوناچی که معرف حضور شما هست. سری از اعداد است که هر عدد آن مساوی حاصل جمع دو عدد ماقبل آن است. دو عدد اول این سری هم 0 و 1 هستند.اگر بخواهیم این الگوریتم را به صورت یک متد بازگشتی نمایش دهیم به صورت زیر خواهد بود:public static int Fibonacci(int x){ if (x <= 1) return 1; return Fibonacci(x - 1) + Fibonacci(x - 2);}این الگوریتم چند مشکل دارد:الف) برای اعداد بزرگ حتی با بکارگیری Int64 و یا double و امثال آن هم با ...