نگاهی به Angular 2.0 Core
معرفی کتاب: مرجع کامل ASP.NET MVC 4
Insight #1: React is here to stay
Insight #2: Angular is shifting to a new role --> enterprise apps
Insight #3: You can’t ignore Vue.js anymore
Insight #4: Knowledge of some libraries will help you earn more (but not for the reasons you might think)
Insight #5: 2018 will be the year of GraphQL
Insight #6: JavaScript != Front-end
Insight #7: Microsoft is striking back
Insight #8: JavaScript is different around the world
Insight #9: Typed JavaScript is on the rise
Insight #10: JavaScript is whatever you want it to be
Eazfuscator یکی از برنامههای با کیفیت code obfuscation مخصوص دات نت فریم ورک است. این برنامه رایگان بوده و استفاده از آن به سادگی drag & drop فایل dll یا exe برنامه خود بر روی پنجره آن میباشد (یا استفاده از آن از طریق خط فرمان جهت اتوماسیون اینکار)
ویژگیهای آن:
Automatic code protection with variety of supported obfuscation techniques:
- Symbol renaming
- String encryption
- Constant literals pruning
- Method signatures overload induction
- Class hierarchy linerization
- Code control flow obfuscation
- Assemblies merging
Supports .NET Framework versions 2.0, 3.0 and 3.5
Supports .NET Compact Framework versions 2.0 and 3.5
Supports Silverlight assemblies and XAP packages
Supports XNA applications for Windows, Xbox 360 and Zune platforms
Can obfuscate any 100% managed .NET assembly
Provides revolutionally innovative and easy to use GUI interface as well as classical command line interface
Microsoft Visual Studio integration. Supported versions are Microsoft Visual Studio 2005 and 2008 including Express editions
Supports automatic builds
پ.ن.
بنابر تجربه شخصی با این ابزارها (تجاری و غیرتجاری)، این تنها برنامهای است که جهت code obfuscation اسمبلیهای ASP.Net در محیط کاری مشکل ساز نشده و سایت پس از مدتی با پیغامهای عجیب و غریب از کار نمیافتد.
احتمالا همیشه برای شما سؤال بوده است که مجوزهای گوناگون سورس باز با هم چه فرقی دارند، یا اینکه اگر روزی خواستم پروژهی خود را به صورت سورس باز ارائه کنم، کدامیک از مجوزهای موجود مناسبتر است و همچنین وقت مطالعه مقالات طولانی یا کتابهایی چند صد صفحهای در این مورد را نداشتهاید.
جدول زیر کار مقایسه این مجوزها (موارد رایجتر) را به صورت مختصر و مفید و بر اساس سؤالات رایج کاربران، انجام میدهد:
نام مجوز | آیا به کار مشتق شده از پروژه اصلی، میتوانم نامی دیگر بدهم؟ | آیا باید حتما کار مشتق شده سورس باز باقی بماند؟ | آیا میتوانم برای کار مشتق شده مجوزی جدید انتخاب کنم؟ | آیا میتوانم کار مشتق شده را بفروشم و کسب درآمد کنم؟ |
Apache License 2.0 | بله | خیر | بله | بله |
Common Development and Distribution License (CDDL) | بله | خیر | بله (به مجوزهای سازگار دیگری از همین دست) | بله |
GNU General Public License 2.0 (GPLv2) | بله، اما حتما باید لیست تغییرات انجام شده نسبت به پروژه اصلی را نیز ارائه بدهید. | بله | بله (به مجوزهای سازگار دیگری از همین دست یا توافق با نویسنده اصلی) | بله |
GNU Library General Public License (LGPL) | بله | بله، اما امکان استفاده از کتابخانههای کامپایل شده یک پروژه سورس باز تحت این مجوز در یک پروژه سورس بسته نیز وجود دارد. | بله (به مجوزهای سازگار دیگری از همین دست) | بله |
Microsoft Public License (Ms-PL) | بله، اما نمیتوانید از علامت تجاری خود استفاده کنید. | خیر | خیر | بله |
Microsoft Reciprocal License (Ms-RL) | بله، اما نمیتوانید از علامت تجاری خود استفاده کنید. | بله | خیر | بله |
Mozilla Public License 1.1 (MPL) | بله | خیر | خیر | بله |
BSD License | بله | خیر | بله | بله |
MIT License | بله | خیر | بله | بله |
همچنین لازم به ذکر است که
مجوزهای کار اصلی و کار مشتق شده هر دو باید ذکر شوند.
پسندیده است که از نویسندگان کار اصلی، نامبرده شده و قدردانی گردد.
هیچکدام از این مجوزها مسؤولیتی را در قبال کار انجام شده نمیپذیرند!
جهت مطالعه بیشتر:
http://khason.net/blog/open-source-licenses-comparison-table/
http://developer.kde.org/documentation/licensing/licenses_summary.html
http://en.wikipedia.org/wiki/Comparison_of_free_software_licences
در حین نصب ویژوال استودیو 2012 بر روی ویندوز 7 تازه که بصورت virtual هاست شده بوده خطایی مبنی بر عدم وجود ریشه گواهی Certificate ها در سیستم اتفاق افتاد که مانع از نصب بعضی از پکیجهای نصاب گردید.
1. http://stackoverflow.com/questions/16673292/microsoft-web-deploy-3-0-a-certificate-chain-could-not-be-built-to-a-trusted-r 2. http://blogs.msdn.com/b/heaths/archive/2012/08/17/a-certificate-chain-could-not-be-built-to-a-trusted-root-authority.aspx 3. http://social.msdn.microsoft.com/Forums/vstudio/en-US/aeb3a43d-e5d7-41ab-b875-6a0d3b438abf/web-deploy-3-setup-problem 4. http://msdnrss.thecoderblogs.com/2012/08/a-certificate-chain-could-not-be-built-to-a-trusted-root-authority/ 5. http://forums.asp.net/p/1897741/5361492.aspx?Microsoft+Web+Deploy+3+0+A+certificate+chain+could+not+be+built+to+a+trusted+root+authority+
مشکل نیز با توجه به توضیح مشخص بود. راه حلها نیز ختم به نصب یک آپدیت KB2746268 برای ثبت گواهیها میشد که برای نصب این آپدیت میبایست ویندوز باصطلاح Genuine باشد و بعد از نصب نیز باید نصاب ویژوال استودیو را دوباره راه انداخت و گزینههای نصب نشده را دوباره انتخاب کرد. ولی با توجه به تجربه شخصی از محصولات مایکروسافت در حین نصب ویژوال استودیو ارتباط با اینترنت را برای ویندوز مجازی میسر کردم و خوشبختانه نتیجه مورد نظر حاصل شد و پس از طی مراحل Add\Remove مربوط به قابلیتهای نصب نشده ویژوال استودیو تمامی پکیجها بصورت صحیح و بدون مشکل نصب شدند.
Today Doug Mahugh, Senior Technical Evangelist for Microsoft Open Technologies Inc., announced the release of an Open XML SDK as an open source project through the MS Open Tech hub. Although the SDK has been available since 2007, this release includes full source code available under the Apache 2.0 license on GitHub, as well as the project will continue to grow under the stewardship of the .NET Foundation
از زمانیکه دات نت فریم ورک ارائه شده (حدودا 8 سال یا بیشتر اگر بتای آنرا هم به حساب بیاوریم به سال 2000 بر میگردد)، نگارشهای متفاوتی تا به امروز در اختیار عموم قرار گرفته اند.
جدول زیر این موارد را تا این تاریخ لیست کرده و شماره نگارش دقیق آنها را نیز بر میشمارد:
.NET version | Actual version |
3.5 SP1 | 3.5.30729.1 |
3.5 | 3.5.21022.8 |
3.0 SP2 | 3.0.4506.2152 |
3.0 SP1 | 3.0.4506.648 |
3.0 | 3.0.4506.30 |
2.0 SP2 | 2.0.50727.3053 |
2.0 SP1 | 2.0.50727.1433 |
2.0 | 2.0.50727.42 |
1.1 SP1 | 1.1.4322.2032 |
1.1 SP1 (in 32 bit version of Windows 2003) | 1.1.4322.2300 |
1.1 | 1.1.4322.573 |
1.0 SP3 | 1.0.3705.6018 |
1.0 SP2 | 1.0.3705.288 |
1.0 SP1 | 1.0.3705.209 |
1.0 | 1.0.3705.0 |
برای بدست آوردن شماره نگارشهای نصب شده بر روی یک کامپیوتر متاسفانه راه سادهای وجود ندارد. امکاناتی هم که خود دات نت فریم ورک به صورت ذاتی ارائه میدهد به صورت زیر است:
class NetVersion
{
public static string Version
{
get
{
return Environment.Version + "\n" +
Environment.OSVersion;
}
}
}
که خروجی آن فقط آخرین نگارش CLR را شامل میشود.
برای مثال روی ویندوز اکس پی سرویس پک 3 با دات نت فریم ورک سه و نیم، سرویس پک یک خواهیم داشت:
2.0.50727.3053
Microsoft Windows NT 5.1.2600 Service Pack 3
خوبی این روش هم این است که اگر در یک هاست اینترنتی قصد داشتید شماره نگارش دات نت فریم ورک سرور را بررسی کنید، بدون مشکل پاسخ خواهد داد. برای مثال اگر به دات نت فریم ورک 2 سرویس پک 2 رسیدید، یعنی دات نت فریم ورک سه و نیم، سرویس پک یک حتما روی سرور نصب است، چون این دو با هم ارائه شدهاند و به صورت مجزا ارائه نشدهاند.
برای بدست آوردن لیست دات نت فریم ورکهای مختلف باید به رجیستری ویندوز مراجعه کرد. مسیرهای:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform
این روش یا حتی لیست کردن فولدرهای نصب شد در مسیر C:\WINDOWS\Microsoft.NET\Framework نیز شماره نگارش کامل را ارائه نمیدهند. تنها راه باقیمانده مراجعه به فایل mscorlib.dll هر پوشه و بررسی نگارش آن است:
اینکار را با برنامه نویسی به صورت زیر میتوان انجام داد:
public static string MscorlibVersion
{
get
{
//using System.Diagnostics;
FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(
Environment.GetEnvironmentVariable("windir") +
@"\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll");
return myFileVersionInfo.ProductVersion;
}
}