اشتراک‌ها
کتابخانه‌ای برای تغییر تصاویر وب‌سایت به صورت هوشمند؛ جهت بهبود کارآیی و سرعت
در حال حاضر قابلیت‌هایی که لایبری دارد:
  • تغییر عرض عکس
  • تغییر ارتفاع عکس
  • تغییر فرمت عکس
    • png
    • jpg
    • jpeg
  • چرخش اتوماتیک
  • تغییر کیفیت عکس (0-100)
  • کش در مموری
  • بعد از تغییر عرض و ارتفاع با هم انتخاب مود مورد نظر
    • pad
    • max 
    • crop 
    • stretch 
قابلیت‌هایی  که در آینده اضافه خواهند شد:
  • کش در دیسک (که بسیار مهم خواهد بود)
  • اضافه کردن واتر مارک
  • و بهبود کارآیی پکیج
کتابخانه‌ای برای تغییر تصاویر وب‌سایت به صورت هوشمند؛ جهت بهبود کارآیی و سرعت
اشتراک‌ها
از ASP.NET Core 1.0 RC2 چه خبر؟

- حرکت به سمت استفاده از NET Standard. که در برگیرنده‌ی دات نت فریم ورک فعلی، دات نت Core و Xamarin می‌شود.
- بازنویسی کامل قسمت تزریق وابستگی‌های آن و حذف service locatorهای فعلی آن تا حد ممکن
- حذف DNX و جایگزینی آن با NET CLI.
- تغییر نحوه‌ی کار با Hosting APIs  
- بهبود کارآیی Kestrel (the web/app server)

از ASP.NET Core 1.0 RC2 چه خبر؟
اشتراک‌ها
مخزن کد منبع فناوری‌های ساخت شبکه‌های اجتماعی فیس‌بوک، لینکدین، و اینستاگرام روی github

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

مخزن کد منبع فناوری‌های ساخت شبکه‌های اجتماعی فیس‌بوک، لینکدین، و اینستاگرام روی github
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 17 - بررسی فریم ورک Logging
استفاده از تامین کننده Console در حین ارائه نهایی نیز به شدت باعث کند شدن و کاهش کارآیی برنامه خواهد شد. بهتر است این تامین کننده را صرفا در محیط Development تنظیم کنید:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseDefaultServiceProvider((context, options) =>
        {
            options.ValidateScopes = context.HostingEnvironment.IsDevelopment();
        })
        .ConfigureLogging((hostingContext, logging) =>
        {
            logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
            logging.AddDebug();
            
            if (hostingContext.HostingEnvironment.IsDevelopment())
            {
                logging.AddConsole();
            }
        })
        .UseStartup<Startup>();

نظرات مطالب
رویه های ذخیره شده خوب یا بد؟!
نکته دیگر آنکه بدلیل Pre-Compiled بودن SP‌ها و همچنین کَش شدن Execution Plan آنها، اندکی با سرعت بالاتری اجرا میشوند.  
در SQL Server این مورد برای کوئری‌های پارامتری هم صدق می‌کند (مانند کوئری‌های حاصل از ORMها که با sp_executesql هم همراه هستند) و منحصر به SPها نیست. همچنین در بدترین حالت میشه کوئری‌های غیرپارامتری رو هم پارامتری پردازش کرد: بهبود کارآیی برنامه‌های قدیمی که از SQL Server استفاده می‌کنند  
نظرات مطالب
EF Code First #3
- تا EF 5.0 اینطوری طراحی شده و طراحی صحیحی هم هست؛ چون از دیدگاه الگوی واحد کار شما در آن واحد نیاز خواهید داشت در یک تراکنش با چندین موجودیت کار کنید. نه اینکه تعدادی موجودیت در یک تراکنش و دیگری در تراکنشی دیگر قرار داشته باشند.
- این مساله تاثیری روی کارآیی ندارد. چون تمام روابط در آغاز برنامه خوانده شده و کش می‌شوند. تنها تاثیری که تعداد مدل‌های زیاد دارند، کند کردن آغاز برنامه است (همان زمان کش کردن اولیه). راه حل برای آن وجود دارد؛ همچنین این مساله در EF6 که به زودی منتشر خواهد شد به صورت جداگانه‌ای بررسی و بهبود کلی داده شده است.
نظرات مطالب
مباحث تکمیلی مدل‌های خود ارجاع دهنده در EF Code first
علت این است که p.Children به تمام خواص عمومی شیء BlogComment اشاره می‌کند؛ این رو هم میشه یک سطح دیگر با Projection سبک‌تر کرد و یا بجای Projection در حالت شما ساده‌تر است که JsonIgnore را روی تمام خواصی قرار دهید که نباید توسط JSON.NET بررسی شود. با توجه به lazy loading، این خواص virtual توسط EF در بدو امر بارگذاری نمی‌شوند و همچنین چون توسط JSON.NET به دلیل JsonIgnore معرفی شدن واکاوی مجدد نخواهند شد، بنابراین مشکلی از لحاظ کارآیی یا حجم بالای خروجی نخواهید داشت.
نظرات مطالب
SQL تولیدی در NHibernate از کدام متد صادر شده است؟
بله، در تعداد رکورد بالا مثلا در یک گرید در صفحه، حتما مشکل‌زا است. کلا روش در این مورد زیاد هست، منجمله روشی که در قسمت 5 آموزش MVVM در سایت جاری هست. یا روشی که شما ذکر کردید، یا یک روش دیگر هم استفاده از فریم ورک‌های AOP است. این‌ها روی کد IL نهایی تاثیر می‌گذارند.
ولی در نهایت همان روش سنتی استفاده از رشته‌ها، هر چند کمی طولانی‌تر است، اما بهترین کارآیی و کمترین سربار را هم دارد.

مطلبی هم که من در اینجا عنوان کردم در مورد دیباگ یک سیستم مبتنی بر NHibernate هست و بدیهی است قرار نیست در محیط کاری از آن استفاده شود.
نظرات مطالب
آشنایی با آزمایش واحد (unit testing) در دات نت، قسمت 2
سلام
در مورد تست کارآیی مشخص نکردید که چه پلتفرمی مد نظر شما است. اگر دات نت مد نظر است، نرم افزار شرکت red gate در این زمینه حرف اول را می‌زند:
www.red-gate.com/Products/ants_profiler/index.htm
شرکت سازنده resharper هم یک محصول دیگر در این مورد دارد:
www.jetbrains.com/profiler/

در مورد سایر پلتفرم‌ها هم کمابیش هست. profiler و code profiling را جستجو کنید.
نظرات مطالب
کاهش حجم لاگ‌ فایل‌های اس‌کیوال سرور 2005 و 2008
زمانیکه صحبت از دیتابیس شیرپوینت می‌شود یعنی دیتابیس بالای 50 گیگ.
و به 2 دلیل در اینجا نباید از auto shrink استفاده کرد:
- کاهش حجم قابل ملاحظه ذکر شده توسط auto shrink رخ نمی‌دهد.
- auto shrink یکی از مواردی است که به شدت روی کارآیی دیتابیسی حجیم تاثیر منفی دارد و همچنین سبب ایجاد fragmentation می‌شود و در اکثر مقالات استفاده از آن به شدت نهی شده‌است.