اشتراکها
مراجعه کنید به مطلب آشنایی با کلاس JavaScriptSerializer
خیر - در حال حاضر، خیر
بله - خیلی استفاده می کنم
بله - مدت کوتاهی است که در حال استفاده هستم
بله - در آینده استفاده خواهم کرد
خیر - نیاز به تحقیقات بیشتری دارم
بله - معمولا کم استفاده می کنم
خیر - آشنایی کاملی ندارم
خیر - اصلا
بله - خیلی استفاده می کنم
بله - مدت کوتاهی است که در حال استفاده هستم
بله - در آینده استفاده خواهم کرد
خیر - نیاز به تحقیقات بیشتری دارم
بله - معمولا کم استفاده می کنم
خیر - آشنایی کاملی ندارم
خیر - اصلا
اشتراکها
تسکولو!
مدیریت پروژهها
تسکولو یکراه حل کاملبرای شروع و مدیریت پروژههاست. به سادگی پروژه، لیست کاری و کار ایجاد و آنها را مدیریت کنید. با اعضای تیم خود لحظه به لحظه در ارتباط باشید و زمان کاری خود را ثبت کنید.
مدیریت تیم
به اعضای تیم خود نقشها و دسترسیهای مناسب بدهید تا محیط کاری خود را مرتب و کارآمد نگاه دارید و کارایی تیم خود را با قابلیتگفتگوی بیدرنگبالا ببرید.
سطوح دسترسی
برای مدیریت چیزی که به واقع یک پروژه است چند زیرپروژه ایجاد نکنید! با استفاده ازنقشهای کاربریوفازهابه سادگی دسترسی افراد تیم خود به بخشهای مختلف پروژه را کنترل کنید.
- کل Kendo UI سورس باز هست. اما مجوز عمومی استفاده از آن GPL است. یعنی باید کل کارتان را سورس باز کنید یا مجوز آنرا بخرید.
- اخیرا یک نسخهی سبکتر از Kendo UI با مجوز BSD ارائه شده که Grid آنرا ندارد (به عمد).
بنابراین از این لحاظ، مجوز jqGrid بهتر است. مجوز عمومی آن MIT است و در هر نوع پروژهای قابل استفادهاست. مجوز تجاری هم دارد برای حالتیکه بخواهید کامپوننتهای ASP.NET آنرا بخرید که ... نیازی نیست (^ و ^).
سایر مسایل خارج از بحث جاری است.
- اخیرا یک نسخهی سبکتر از Kendo UI با مجوز BSD ارائه شده که Grid آنرا ندارد (به عمد).
بنابراین از این لحاظ، مجوز jqGrid بهتر است. مجوز عمومی آن MIT است و در هر نوع پروژهای قابل استفادهاست. مجوز تجاری هم دارد برای حالتیکه بخواهید کامپوننتهای ASP.NET آنرا بخرید که ... نیازی نیست (^ و ^).
3. Can be used in proprietary works The license policy allow you to use this piece of code even inside commercial (not open source) projects. So you can use this software without giving away your own (precious?) source code.
سایر مسایل خارج از بحث جاری است.
نظرات اشتراکها
دوراهی انتخاب NHibernate و Entityframework
استفاده از NH در مقابل EF Code first سورس باز اشتباه است؛ به دلایل زیر:
- توهم پشتیبانی از بانکهای اطلاعاتی مختلف توسط NH . به شخصه با حداقل یک مورد نیم بند آن سروکار داشتم: SQL-CE. تقریبا بیشتر از نیمی از تواناییهای این بانک اطلاعاتی در NH لحاظ نشده و حتی یک کوئری ساده از تاریخ تا تاریخ را توسط آن نمیتوانید تهیه کنید. این مورد برعکس EF Code first است. کامل و بینقص کار میکند. کلا تمام محصولات مایکروسافت به همین نحو هستند. اگر عنوان میکنند این محصول دو قابلیت دارد، واقعا این دو قابلیت، درست کار میکنند. نه اینکه عنوان کنند 100 قابلیت را ارائه میدهیم و فقط 10 تای آن کامل پیاده سازی شده باشند.
- تیم مدیریتی به شدت مغرور و ناراحت NH. باز هم برای این تیم ناراحت، جهت تکمیل نقایص کار با SQL-CE بیشتر از یکسال قبل وصلهای رو ارسال کردم. تا به امروز حتی یک پاسخ که آیا خوبه، بده ... ارسال نشده. با اکثر همکاریها هم به همین نحو رفتار میکنند.
خلاصه حال و هوای یک پروژه سالم سورس باز را ندارد.
- پس از ارائه EF Code first این پروژه تقریبا غیرفعال شده: (^)
- نیم بند بودن پشتیبانی از LINQ. باز هم اگر تصور میکنید که راحت میتونید مثل EF از کوئریهای LINQ در اینجا استفاده کنید، سخت در اشتباه هستید.
- دیر به روز شدن کتابخانههای جانبی آن. این مساله هم به مدیریت بد پروژه NH بر میگردد. شاید بیشتر از 10 مورد افزونه برای NH هست، مانند کش و اعتبار سنجی و غیره. اما ... صاحبان آن مشخص نیستند! امروز NH3 ارائه میشود، سه ماه بعد کتابخانه اعتبارسنجی متناظر با آن. تیم NH هم حاضر نشده تمام اینها رو کنار هم قرار بده و یک کار یکپارچه رو ارائه کنه. NH اعتبار خودش رو از این افزونههای موجود در NH Contrib کسب میکنه، اما حاضر نیستند مدیریت و نگهداری یکپارچه آنها را قبول کنند.
- ناسازگاری با اکوسیستم دات نت. اگر از NH استفاده کنید مدام در حال جنگ با دات نت هستید. مثلا سیستم اعتبار سنجی EF با سیستم اعتبار سنجی سمت کلاینت و سرور MVC یکپارچه است. با NH اینطور نیست و از این نوع مثالها زیاد است. همین مساله حجم کاری شما را چندبرابر میکند.
- طراحی زمخت NH در مقابل طراحی روان EF. برای مثال در EF Code first شما به ندرت نیاز خواهید داشت که نگاشتها را تعریف یا حتی سفارشی سازی کنید. یک سری پیش فرض بسیار عالی در آن به صورت توکار (و نه به شکل افزونه) وجود دارد که حجم کاری شما را به شدت کاهش میدهند. در NH کتابخانه fluent nh سعی کرده که اینکار را انجام دهد اما جالب اینجا است که این کتابخانه از طرف تیم اصلی NH اصلا تحویل گرفته نشده و ... دست آخر هم یک روش دیگر را برای نوشتن نگاشتها با کد تهیه کردند.
- مستندات NH کامل نیست. برای مثال شاید یک سری بلاگهای متفرقه را پیدا کنید که در مورد روش تهیه نگاشتها با کد مطلب نوشته باشند ... نه توسط کسانی که این کتابخانه را تهیه کردهاند! این روند رو مقایسه کنید با وبلاگ EF مثلا : (^) این بلاگ تا این حد کامل است که مرجع بسیاری از مطالب آموزشی و کتابهای مرتبط با EF میباشد.
- سیستم migration موجود در EF Code first نسبت به نمونه NH بسیار کاملتر است؛ با قابلیت سفارشی سازی، مقایسه هش مدلها با جداول جهت جلوگیری از تداخلات و اشتباهات، تولید اسکریپت آپدیت بانک اطلاعاتی و غیره.
یک زمانی بود دات نت ORM قابل ملاحظهای نداشت. زمان دات نت2. در آن موقع NH حرف برای گفتن داشت اما ... نه الان.
- توهم پشتیبانی از بانکهای اطلاعاتی مختلف توسط NH . به شخصه با حداقل یک مورد نیم بند آن سروکار داشتم: SQL-CE. تقریبا بیشتر از نیمی از تواناییهای این بانک اطلاعاتی در NH لحاظ نشده و حتی یک کوئری ساده از تاریخ تا تاریخ را توسط آن نمیتوانید تهیه کنید. این مورد برعکس EF Code first است. کامل و بینقص کار میکند. کلا تمام محصولات مایکروسافت به همین نحو هستند. اگر عنوان میکنند این محصول دو قابلیت دارد، واقعا این دو قابلیت، درست کار میکنند. نه اینکه عنوان کنند 100 قابلیت را ارائه میدهیم و فقط 10 تای آن کامل پیاده سازی شده باشند.
- تیم مدیریتی به شدت مغرور و ناراحت NH. باز هم برای این تیم ناراحت، جهت تکمیل نقایص کار با SQL-CE بیشتر از یکسال قبل وصلهای رو ارسال کردم. تا به امروز حتی یک پاسخ که آیا خوبه، بده ... ارسال نشده. با اکثر همکاریها هم به همین نحو رفتار میکنند.
خلاصه حال و هوای یک پروژه سالم سورس باز را ندارد.
- پس از ارائه EF Code first این پروژه تقریبا غیرفعال شده: (^)
- نیم بند بودن پشتیبانی از LINQ. باز هم اگر تصور میکنید که راحت میتونید مثل EF از کوئریهای LINQ در اینجا استفاده کنید، سخت در اشتباه هستید.
- دیر به روز شدن کتابخانههای جانبی آن. این مساله هم به مدیریت بد پروژه NH بر میگردد. شاید بیشتر از 10 مورد افزونه برای NH هست، مانند کش و اعتبار سنجی و غیره. اما ... صاحبان آن مشخص نیستند! امروز NH3 ارائه میشود، سه ماه بعد کتابخانه اعتبارسنجی متناظر با آن. تیم NH هم حاضر نشده تمام اینها رو کنار هم قرار بده و یک کار یکپارچه رو ارائه کنه. NH اعتبار خودش رو از این افزونههای موجود در NH Contrib کسب میکنه، اما حاضر نیستند مدیریت و نگهداری یکپارچه آنها را قبول کنند.
- ناسازگاری با اکوسیستم دات نت. اگر از NH استفاده کنید مدام در حال جنگ با دات نت هستید. مثلا سیستم اعتبار سنجی EF با سیستم اعتبار سنجی سمت کلاینت و سرور MVC یکپارچه است. با NH اینطور نیست و از این نوع مثالها زیاد است. همین مساله حجم کاری شما را چندبرابر میکند.
- طراحی زمخت NH در مقابل طراحی روان EF. برای مثال در EF Code first شما به ندرت نیاز خواهید داشت که نگاشتها را تعریف یا حتی سفارشی سازی کنید. یک سری پیش فرض بسیار عالی در آن به صورت توکار (و نه به شکل افزونه) وجود دارد که حجم کاری شما را به شدت کاهش میدهند. در NH کتابخانه fluent nh سعی کرده که اینکار را انجام دهد اما جالب اینجا است که این کتابخانه از طرف تیم اصلی NH اصلا تحویل گرفته نشده و ... دست آخر هم یک روش دیگر را برای نوشتن نگاشتها با کد تهیه کردند.
- مستندات NH کامل نیست. برای مثال شاید یک سری بلاگهای متفرقه را پیدا کنید که در مورد روش تهیه نگاشتها با کد مطلب نوشته باشند ... نه توسط کسانی که این کتابخانه را تهیه کردهاند! این روند رو مقایسه کنید با وبلاگ EF مثلا : (^) این بلاگ تا این حد کامل است که مرجع بسیاری از مطالب آموزشی و کتابهای مرتبط با EF میباشد.
- سیستم migration موجود در EF Code first نسبت به نمونه NH بسیار کاملتر است؛ با قابلیت سفارشی سازی، مقایسه هش مدلها با جداول جهت جلوگیری از تداخلات و اشتباهات، تولید اسکریپت آپدیت بانک اطلاعاتی و غیره.
یک زمانی بود دات نت ORM قابل ملاحظهای نداشت. زمان دات نت2. در آن موقع NH حرف برای گفتن داشت اما ... نه الان.
نظرات مطالب
معرفی پروژه فروشگاهی Iris Store
با سلام و خسته نباشید؛ بابت نمونه فروشگاه و البته نمونه سورس پروژه جهت هر کاری ممنون و سپاس فراوان. یک مورد من میخواهم از وب سرویس در این پروژه استفاده کنم با خطا مواجه میشم اگر امکانش هست بنده رو راهنمایی بفرمایید
نظرات مطالب
بیرون نگاه داشتن تنظیمات خصوصی از سورس کنترل
ممنون از مقاله خوبتون.
فرض کنید میخواهیم که برخی از توسعه دهندگان از تنظیمات خصوصی فوق مطلع نباشند چطور میتوانیم این تنظیمات خصوصی را بیرون از سورس کد نگاه داشت؟
منظورم این هست که این تنظیمات را مثل حالت فوق در فایلهای مجزا داخل خود پروژه قرار ندهیم بلکه از بیرون به پروژه تزریق نماییم.
نظرات مطالب
مهاجرت از SQL Membership به ASP.NET Identity
دوست عزیز برای حل این مشکل شما باید پوشه سورس برنامه رو تغییر بدین. این مشکل به دلیل وجود خط فاصله تو آدرس (دایرکتوری) محل قرار گیری پروژه هست. اگه محل پروژه رو در جایی قرار دهید که در آدرس آن از فاصله استفاده نشده باشد به خوبی کار خواهد کرد.