نظرات مطالب
Minimal API's در دات نت 6 - قسمت اول - معرفی
اگر میخواهید از طریق خط فرمان (غیر ویندوزی) پروژه سری جاری را ایجاد و دستورات آن را اجرا کنید:
mkdir MinimalAPI && cd "$_"

dotnet new sln --name MinimalAPI
mkdir src && cd "$_"

dotnet new classlib --name MinimalBlog.Dal
dotnet new classlib --name MinimalBlog.Domain
dotnet new console --name MinimalBlog.Api

cd ..
dotnet sln add src/MinimalBlog.Dal
dotnet sln add src/MinimalBlog.Domain
dotnet sln add src/MinimalBlog.Api
dotnet sln list

Project(s)
----------
src/MinimalBlog.Api/MinimalBlog.Api.csproj
src/MinimalBlog.Dal/MinimalBlog.Dal.csproj
src/MinimalBlog.Domain/MinimalBlog.Domain.csproj


cd src/MinimalBlog.Dal
dotnet add reference ../MinimalBlog.Domain/
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools

cd ..
cd MinimalBlog.Api
dotnet add reference ../MinimalBlog.Dal/
dotnet add reference ../MinimalBlog.Domain/
dotnet build

dotnet tool update --global dotnet-ef
dotnet build

cd MinimalBlog.Dal
dotnet ef migrations add $(date +%s) --startup-project ../MinimalBlog.Api --context MinimalBlogDbContext
dotnet ef --startup-project ../MinimalBlog.Api/ database update --context MinimalBlogDbContext

نظرات مطالب
طراحی جدول فایل‌های پیوستی پایگاه داده
با تشکر.
به غیر از روش دوم و  حالت آخر در تمام مواردی که فرمودید ، نیاز است ابتدا به عنوان مثال مقاله درج شود و سپس بتوان مشخصات فایل را در جدول مورد نظر ثبت کرد ؛ یک حالت دیگر هم در صورتی که نیاز به Privacy نباشد ، میتوان در نظر گرفت که احتمال میدم در سایت جاری هم به این شکل استفاده میشود ، آن هم داشتن یک جدول فارغ از جداول دیگر  و تنها ارتباطی با جدول کاربران داشته باشد که مدلی به شکل زیر دارد : 
 public class Attachment
    {

        #region Properties
        /// <summary>
        /// sets or gets identifier for attachment
        /// </summary>
        public virtual Guid Id { get; set; }
        /// <summary>
        /// sets or gets name for attachment
        /// </summary>
        public virtual string FileName { get; set; }
        /// <summary>
        /// sets or gets type of attachment
        /// </summary>
        public virtual string ContentType { get; set; }
        /// <summary>
        /// sets or gets size of attachment
        /// </summary>
        public virtual long Size { get; set; }
        /// <summary>
        /// sets or gets Extention of attachment
        /// </summary>
        public virtual string Extensions { get; set; }
        /// <summary>
        /// sets or gets Creation Date
        /// </summary>
        public virtual DateTime CreatedOn { get; set; }
        /// <summary>
        /// gets or sets counts of download this file
        /// </summary>
        public virtual long DownloadsCount { get; set; }

        public virtual DateTime ModifiedOn { get; set; }
        #endregion

        #region NavigationProperties
        /// <summary>
        /// sets or gets identifier of attachment's owner
        /// </summary>
        public virtual long OwnerId { get; set; }
        /// <summary>
        /// sets or gets identifier of attachment's owner
        /// </summary>
        public virtual User Owner { get; set; }
        #endregion
    }
در این حالت یکپارچه کردن ارسال فایل با ویرایشگر متن هم امکان پذیر خواهد بود و همچنین بازهم نیاز نیست فایلها چند باره ارسال شوند و به تفکیک هم میشود فایل‌های کاربران را در اختیارشان گذاشت.
مطالب
اجرای برنامه‌های ASP.NET توسط Mono در Ubuntu
در ادامه مباحث بررسی اجرای برنامه‌های دات نت بر روی لینوکس، قصد داریم برنامه‌های ASP.NET را به کمک Mono 3.0 و یک وب سرور لینوکسی، بر روی Ubuntu اجرا کنیم.


پیشنیازها
دو پروژه خالی ASP.NET Web forms و ASP.NET MVC را در VS.NET تحت ویندوز ایجاد نمائید. آن‌ها را یکبار کامپایل کرده و اجرا کنید. سپس فایل‌‌های آن‌ها را به ubuntu منتقل کنید (پوشه‌های bin پروژه‌ها فراموش نشوند؛ خصوصا نگارش MVC که به همراه یک سری کتابخانه جانبی است).
برای انتقال فایل‌ها به لینوکس، اگر از VMWare workstation برای اجرا و آزمایش Ubuntu استفاده می‌کنید، کپی و paste مستقیم فایل‌ها از ویندوز به درون ماشین مجازی لینوکس پشتیبانی می‌شود.


نصب وب سرور آزمایشی مونو یا XSP
اگر نیاز به یک وب سرور آزمایشی، چیزی شبیه به وب سرور توکار VS.NET داشتید، پروژه XSP جهت این نوع آزمایشات ایجاد شده است.
پس از نصب آن (که به همراه همان بسته PPA قسمت قبل، هم اکنون بر روی سیستم شما نصب است)، در ترمینال لینوکس، با استفاده از دستور cd به ریشه وب سایت خود وارد شوید، سپس دستور xsp4 را اجرا کنید تا وب سرور xsp4 مشغول هاست سایت شما شود (برای اجرا در مسیر  /opt/bin/xsp4 نصب شده است).


اجرای برنامه ASP.NET Web forms 4 توسط XSP
بدون هیچ مشکل خاصی در همان ابتدای کار اجرا شد (البته باید دقت داشت که لینوکس به کوچکی و بزرگی حروف حساس است. یعنی حتما باید Default.aspx وارد شود و نه default.aspx):



اجرای برنامه ASP.NET MVC 4 توسط XSP
اجرا نشد! پیام می‌دهد که
 "Missing method System.Web.Security.FormsAuthentication::get_IsEnabled() in assembly System.Web.dll
و یا
Compiler Error Message: CS1703: An assembly with the same identity `mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 
has already been imported. Consider removing one of the references
علت اینجا است که XSP4 همراه با نسخه PPA، قدیمی است. بنابراین باید نسخه اصلی را از مخزن کد آن دریافت و کامپایل کنیم. پیشنیازهای اینکار مانند Git و Mono، در قسمت قبل دریافت شدند. سپس فرامین ذیل را در خط فرمان لینوکس اجرا کنید:
 git clone git://github.com/mono/xsp.git
cd xsp
./autogen.sh --prefix=/opt
make
sudo make install
پس از کامپایل، اگر این نگارش جدید را اجرا کنید، به خطای ذیل خواهید رسید:
 System.IO.FileNotFoundException: Could not load file or assembly XSP, Version=3.0.0.0
برای رفع این مشکل باید اینبار وب سرور جدید را با فرمان sudo یا دسترسی مدیریتی اجرا کنید تا مشکل برطرف شود.
البته من سورس دریافت شده را در خود monodevelop کامپایل کردم (فایل sln آن‌را در monodevelop باز کرده و پروژه را build کنید). در این حالت دو فایل Mono.WebServer.dll و Mono.WebServer.XSP.exe در پوشه  xsp/src/Mono.WebServer.XSP/bin/Debug ظاهر می‌شوند.
یکی دیگر از دلایل ظاهر شدن خطای فوق، نیاز به نصب این دو فایل در GAC است که به نحو زیر قابل انجام می‌باشد:
 cd xsp/src/Mono.WebServer.XSP/bin/Debug
sudo gacutil -i Mono.WebServer.XSP.exe
sudo gacutil -i Mono.WebServer.dll
بعد این دو فایل dll و exe را در پوشه برنامه MVC خود کپی کنید و سپس دستور ذیل را اجرا نمائید:
 cd myMvcAppPath
sudo mono Mono.WebServer.XSP.exe
اینبار وب سرور جدید، روی پورت 9000 شروع به کار می‌کند. اکنون اگر در فایرفاکس آدرس http://localhost:9000 را باز کنید، برنامه اجرا شده اما به خطای ذیل خواهید رسید:
 CS0234: The type or namespace name `Helpers' does not exist in the namespace `System.Web'.
Are you missing an assembly reference?
برای رفع این مشکل باید اندکی فایل web.config برنامه را ویرایش کرد:
  <system.web> 
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />        
        <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />        
      </assemblies>
    </compilation>
سعی بعدی ... اجرا نشد! با هر بار refresh صفحه یک خطای جدید نمایش می‌داد که ... Type خاصی را نمی‌تواند بارگذاری کند (به همراه نام اسمبلی مربوطه). برای رفع این مشکل dllهای ذیل را از پوشه bin پروژه MVC خود که از ویندوز به لینوکس کپی کرده‌اید، حذف کنید:
Microsoft.Web.Infrastructure.dll
System.Net.Http.dll
System.Net.Http.Formatting.dll
System.Web.Http.dll
System.Web.Http.WebHost.dll
این فایل‌ها توسط تیم Mono به صورت مستقل پیاده سازی شده‌اند و نیازی نیست تا از ویندوز به لینوکس کپی شوند.
بعد از حذف این فایل‌های اضافی، برنامه ASP.NET MVC نیز اجرا شد:



چند نکته تکمیلی
- نحوه تشخیص موجود بودن یک DLL خاص، در نگارش جاری Mono نصب شده:
 $ gacutil -l Microsoft.Web.Infrastructure
The following assemblies are installed into the GAC:
Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Number of items = 1
- اگر می‌خواهید مطمئن شوید که تمام اسمبلی‌های موجود در GAC درست نصب شده‌اند یا خیر، فرمان ذیل را اجرا کنید:
cd /opt/lib/mono/gac # assuming this is your main gac
sudo find . */*/*.dll -exec gacutil -i '{}' \;
- در نسخه لینوکسی System.Web ممکن است یک سری از فضاهای نام هنوز موجود نباشند. لیست آن‌ها را در این آدرس می‌توانید مشاهده کنید:
اشتراک‌ها
کتابخانه glogg

نرم افزاری بسیار سریع با قابلیت باز کردن فایل‌های چند گیگابایتی است که با استفاده از regular expressions به راحتی می‌توانید در آن جستجو کنید.  دانلود

glogg - the fast, smart log explorer

glogg is a multi-platform GUI application that helps browse and search through long and complex log files. It is designed with programmers and system administrators in mind and can be seen as a graphical, interactive combination of grep and less.

Main features

  • Runs on Unix-like systems, Windows and Mac thanks to Qt
  • Provides a second window showing the result of the current search
  • Reads UTF-8 and ISO-8859-1 files
  • Supports grep/egrep like regular expressions
  • Colorizes the log and search results
  • Displays a context view of where in the log the lines of interest are
  • Is fast and reads the file directly from disk, without loading it into memory
  • Is open source, released under the GPL
کتابخانه glogg
مطالب
نحوه تبدیل نگارش SQL Server 2012 RTM مدت دار، به نگارش کامل

Microsoft® SQL Server® 2012 Evaluation از این آدرس قابل دریافت است. همچنین اگر به سایت‌های وارز مراجعه کنید، به ازای هر نگارش SQL Server 2012، یک بسته دریافتی 4 گیگابایتی را به شما ارائه می‌دهند. یعنی اگر کسی بخواهد نسخه developer و نسخه enterprise را دریافت کند بیش از 8 گیگ را باید دریافت نماید!
اما واقعیت این است که نیازی به دریافت هیچکدام نیست. یک فایل ISO مربوط به SQL Server 2012 بیشتر وجود خارجی ندارد. تمام این نگارش‌ها هم فقط براساس Product key است که مشخص می‌شوند. اگر سریال مرتبط با نگارش developer را وارد کنید، این نگارش نصب خواهد شد. اگر سریال نگارش enterprise را وارد کنید، نگارش سازمانی نصب خواهد شد؛ و تمام این‌ها هم فقط با همان یک فایل ISO اصلی ارائه شده توسط مایکروسافت میسر می‌شوند.
این فایل ISO اصلی را از اینجا می‌توان دریافت کرد. بدیهی است Product key توکار و پیش فرض آن که در اختیار عموم است، مدت دار می‌باشد. بنابراین حین نصب تنها نیاز به سریال معتبر وجود دارد.

اشتراک‌ها
انتشار Visual Studio 2015 Preview

Visual Studio 2015 Preview contains many new and exciting features to support cross-platform mobile development, web & cloud development, IDE productivity enhancements, and more. 

فایل ISO 

انتشار Visual Studio 2015 Preview
نظرات مطالب
LocalDB FAQ
یک نکته‌ی تکمیلی
اگر در ویژوال استودیو گزینه‌ی View -> SQL Server Object Explorer را مشاهده نمی‌کنید (جهت امکان کار بهتر با بانک‌های اطلاعاتی LocalDB)، نیاز است آخرین نگارش SQL Server Data Tools (SSDT) را نصب کنید. فایل ISO آن برای VS 2015
نظرات اشتراک‌ها
ایجاد، اتصال و انتشار مخزن کد در Visual Studio 2012 با استفاده از Git
در صفحه دانلود آپدیت ورژن 2  http://www.microsoft.com/en-us/download/details.aspx?id=36508   چندین فایل وجود داره که اینطور توضیح داده :
Visual Studio:   vsupdate_KB2707250.exe (1.2 MB )
Team Foundation Server:  ISO Image: VS2012_Q1_TFS_ENU.iso
Team Foundation Server Express: ISO Image: VS2012_Q1_TFS_EXP_ENU.iso
Agents: VS2012_Q1_AGTS_enu.iso

من فقط فایل مرتبط با Visual Studio رو نصب کردم و تونستم یک مخزن لوکال git  راه بندازم.
قابلیت‌های که با نصب همون دو فایل برای من وجود داره :
commit ، undo , history ,view history,compare , Branche ,... 
اشتراک‌ها
معانی نگارش‌های مختلف زبان #C
LangVersion Meaning
LatestMajor Latest supported major C# language version
Preview    Latest available preview C# language version
Latest     Latest supported C# language version (including minor version)
ISO-1      C# 1.0/1.2
ISO-2      C# 2.0
3          C# 3.0
4          C# 4.0
5          C# 5.0
6          C# 6.0
7          C# 7.0
7.1        C# 7.1
7.2        C# 7.2
7.3        C# 7.3
8.0        C# 8.0
معانی نگارش‌های مختلف زبان #C