نظرات مطالب
امکان تعریف قالب‌ها در Angular با دایرکتیو ng-template
یک نکته‌ی تکمیلی: ترکیب ngIf و ngFor بر روی یک المان

فرض کنید می‌خواهید در همان حالیکه عنصری را در طی یک حلقه نمایش می‌دهید،  از همان آیتم جاری برای تشخیص یکی از خاصیت‌های آن نیز استفاده کنید:
<td *ngFor="let item of headerItems" *ngIf="item.visible">{{ item?.name }}</td>
یک چنین ترکیبی در Angular مجاز نیست و راه حل پیشنهاد شده‌ی آن استفاده از ng-container است:
<ng-container *ngFor="let item of headerItems">
 <td *ngIf="item.visible">{{ item?.name }}</td>
</ng-container>
مزیت مهم آن عدم درج ng-container در DOM است. برای مثال قصد نداریم یک div اضافی را داخل تعاریف یک جدول قرار دهیم و آن‌را از شکل استاندارد خارج کنیم.
نظرات مطالب
تغییرات رمزنگاری اطلاعات در NET Core.
یک نکته‌ی تکمیلی: ساده شدن روش کار با الگوریتم‌های هش از دات نت 5 به بعد

همانطور که در این مطلب مشاهده کردید، برای محاسبه‌ی هش SHA256، روش توصیه شده به صورت زیر درآمده‌است:
using System.Security.Cryptography;
byte[] data = default; // Some data
using (SHA256 hash = SHA256.Create())
{
    byte[] digest = hash.ComputeHash(data);
}
این مورد در دات نت 5 به صورت زیر خلاصه شده‌است:
using System.Security.Cryptography;
byte[] data = default; // Some data
byte[] digest = SHA256.HashData(data);
مزیت این روش نه فقط ساده شدن آن و یا حذف نیاز به using است، بلکه کاهش تعداد تخصیص‌های حافظه‌ی آن نیز هست. یک چنین API ای در دات نت 6 برای HMAC نیز تهیه شده‌است. همچنین برای نمونه الگوریتم هش کردن PBKDF2 در دات نت 6 به صورت زیر ساده شده‌است:
using System.Security.Cryptography;
byte[] salt = RandomNumberGenerator.GetBytes(32);
byte[] prk = Rfc2898DeriveBytes.Pbkdf2(
    userPassword,
    salt,
    iterations: 200_000,
    HashAlgorithmName.SHA256,
    outputLength: 32);
نظرات مطالب
استفاده از چندین Context در EF 6 Code first
با سلام
من از  EF 5 dbfirst  به صورت Context ‌های جداگانه در پروژه‌های وب جدا استفاده کردم و در نهایت تمامی این assembly ‌ها را در یک وب سایت publish  می‌کنم . در صورتی که از یک Entity  به صورت مشترک در 2 context  استفاده کرده باشم با خطای زیر
 System.Data.MetadataException: Schema specified is not valid. Errors: 
 Multiple types with the name &#39;Customer&#39; exist in the EdmItemCollection in different 
namespaces .  Convention based mapping requires unique names without regard to namespace in the EdmItemCollection
مواجه میشم . با اینکه Assembly ‌های مربوط به Context‌ها متفاوت هست اما با این خطا روبرو میشم . آیا قابلیت گفته شده در EF 6  این مشکل برطرف شده است ؟ و یا در ef 5  راهکاری برای این مشکل وجود ندارد ؟
با تشکر
اشتراک‌ها
jQuery نسخه های 1.9 و 2.0 بتا، با تغییرات گسترده منتشر شدند

jQuery نسخه‌ی 1.9 و 2.0 بتا منتشر شدند. در این نسخه ها، تغییرات گسترده ای رخ داده که اگر به اونها دقت نشه، کدهای زیادی رو از کار میندازن. jQuery 1.9 همچنان بر روی IE 6,7,8 اجرا میشه اما در jQuery 2.0، این پشتیبانی حذف شده.
تیم توسعه‌ی jQuery، امروز همزمان با ارائه‌ی نسخه‌های 1.9 و 2.0 بتا، پلاگینی با نام jQuery Migrate رو هم منتشر کرد که حاوی متدهای حذف شده در نسخه‌های 1.9 و 2.0 هست تا مهاجرت به نسخه‌های جدید، باعث از کار افتادن کدهای قدیمی نشه و پس از مهاجرت کامل کدها، می‌تونید jQuery Migrate رو حذف کنید. کار خوبی که انجام شده این هست که jQuery Migrate از طریق Console بهتون اطلاع میده که در کدها از فلان متد منسوخ یا حذف شده استفاده شده. 
jQuery نسخه های 1.9 و 2.0 بتا، با تغییرات گسترده منتشر شدند
مطالب
پشتیبانی از IE در برنامه‌های Angular
اگر یک برنامه‌ی Angular را به صورت پیش‌فرض در IE اجرا کنیم، یک چنین تصویری مشاهده خواهد شد:


برای اجرای برنامه توسط نگارش‌های مختلف IE می‌توانید برنامه‌ی IE Tester را نصب کنید.


مشکل چیست؟

مشکل عدم اجرای برنامه‌های Angular در IE، به قدیمی بودن موتور JavaScript آن بر می‌گردد؛ خصوصا در مورد توابع کار با آرایه‌ها. برای مثال در مورد کار با for..of هیچ نوع پشتیبانی از آن در IE وجود ندارد (و نخواهد داشت؛ با توجه به پایان دوره‌ی پشتیبانی آن):



چگونه پشتیبانی از ویژگی‌های جدید JavaScript را به مرورگر IE اضافه کنیم؟

Angular امکان افزودن کمبودهای موتور JavaScript پیش‌فرض IE را توسط کتابخانه‌ی core-js میسر کرده‌است که اصطلاحا به آن polyfills گفته می‌شود. برای این منظور فایل src\polyfills.ts را گشوده و تغییرات زیر را به آن اعمال کنید:
الف) در این فایل، هرجایی  import // وجود دارد، آن‌را تبدیل به import کنید (تمام importهایی که کامنت شده‌اند را از حالت کامنت خارج کنید).
ب) دو بسته‌ی زیر را نیز باید نصب کنید:
npm install --save classlist.js
npm install --save web-animations-js
البته اگر به کامنت‌های این فایل دقت کنید، نیاز به نصب این بسته‌ها نیز در آن عنوان شده‌است.


نتیجه‌ی نهایی پس از افزودن polyfills مخصوص IE

اکنون اگر مجددا برنامه را کامپایل و اجرا کنید، برنامه‌ی Angular بدون مشکل در IE اجرا خواهد شد:

نظرات مطالب
شروع به کار با AngularJS 2.0 و TypeScript - قسمت دوم - معرفی کامپوننت‌ها
چند نکته‌ی تکمیلی
- با معرفی TypeScript 2.0، امکان ساده‌تری برای تعاریف فایل‌های typings و دریافت آن‌ها ارائه شده‌است. اطلاعات بیشتر
- همچنین یک سری کتابخانه‌ی پیش‌فرض را در هم در فایل tsconfig.json می‌توان مقدار دهی کرد:
{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es5",
        "noImplicitAny": true,
        "strictNullChecks": true,
        "lib": [
            "dom",
            "es5",
            "es2015.promise"
        ]
    }
}
معرفی es2015.promise به صورت خودکار خطای «'Cannot find name 'Promise » را برطرف می‌کند. اطلاعات بیشتر