اگر از آخرین نگارش Ubuntu استفاده میکنید، با توجه به همکاری مایکروسافت و شرکت پشتیبان آن، نصب داتنت به سادگی اجرای دستور زیر است:
$ sudo apt update && sudo apt install -y dotnet-sdk-8.0 $ dotnet --version
و اگر میخواهید بدانید که چه نگارشی از داتنت، بههمراه مخازن استاندارد Ubuntu است، دستور زیر را صادر کنید:
$ apt search dotnet-sdk*
که یک نمونه خروجی آن به صورت زیر است:
$ apt search dotnet-sdk* Sorting... Done Full Text Search... Done dotnet-sdk-8.0/noble-updates,noble-security 8.0.107-0ubuntu1~24.04.1 amd64 .NET 8.0 Software Development Kit dotnet-sdk-8.0-source-built-artifacts/noble-updates,noble-security 8.0.107-0ubuntu1~24.04.1 amd64 Internal package for building the .NET 8.0 Software Development Kit dotnet-sdk-dbg-8.0/noble-updates,noble-security 8.0.107-0ubuntu1~24.04.1 amd64 .NET SDK debug symbols.
نصب اسکریپتی آخرین نگارش داتنت بر روی تمام توزیعهای لینوکسی
مایکروسافت، اسکریپتی را برای دریافت و نصب خودکار آخرین نگارش داتنت، تهیه کردهاست که کار با آن بسیار سادهاست و با تمام توزیعهای لینوکسی و نه فقط Ubuntu سازگار است.
پیش از هرکاری ابتدا مخزنهای بستهها و برنامههای مرتبط را یکبار بهروز کرده و سیستم را ریاستارت میکنیم:
sudo apt update -q && sudo apt upgrade -y && reboot
سپس دستور زیر را صادر میکنیم تا اسکریپت نصاب مخصوص داتنت خود مایکروسافت را دریافت کنیم :
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh chmod +x ./dotnet-install.sh
توسط این دو دستور، فایل dotnet-install.sh دریافت شده و همچنین دسترسی اجرایی بودن آن نیز تنظیم میشود.
پس از آن، برای نصب آخرین نگارش داتنت SDK موجود، تنها کافی است دستور زیر را صادر کنیم:
./dotnet-install.sh --version latest
و یا اگر فقط میخواهید runtime آنرا نصب کنید، پارامترهای نصب، به صورت زیر تغییر میکنند:
./dotnet-install.sh --version latest --runtime aspnetcore
همچنین اگر نگارشهای پایینتر مدنظر شما هستند، میتوانید کانال نصب را هم مشخص کنید:
./dotnet-install.sh --channel 7.0
که یک نمونه خروجی اجرای دستور dotnet-install.sh --version latest/. آن به صورت زیر است:
$ ./dotnet-install.sh --version latest dotnet-install: Attempting to download using aka.ms link https://dotnetcli.azureedge.net/dotnet/Sdk/8.0.303/dotnet-sdk-8.0.303-linux-x64.tar.gz dotnet-install: Remote file https://dotnetcli.azureedge.net/dotnet/Sdk/8.0.303/dotnet-sdk-8.0.303-linux-x64.tar.gz size is 223236164 bytes. dotnet-install: Extracting archive from https://dotnetcli.azureedge.net/dotnet/Sdk/8.0.303/dotnet-sdk-8.0.303-linux-x64.tar.gz dotnet-install: Downloaded file size is 223236164 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Installed version is 8.0.303 dotnet-install: Adding to current process PATH: `/home/vahid/.dotnet`. Note: This change will be visible only when sourcing script. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section. dotnet-install: Installation finished successfully.
همانطور که مشاهده میکنید، داتنت 8.0.303، نصب شدهاست.
پس از پایان نصب، دو دستور زیر را هم باید اجرا کنید تا بتوان در خط فرمان به NET CLI. دسترسی یافت:
$ export DOTNET_ROOT=$HOME/.dotnet $ export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
پس از این تنظیمات، امکان اجرای دو دستور آزمایشی زیر میسر میشوند:
$ dotnet --version $ dotnet --list-sdks
نصب داتنت بر روی نگارشهای قدیمیتر Ubuntu
برای اینکه بتوان به روش متداولی (بدون دریافت اسکریپت نصاب فوق) به آخرین تغییرات انجام شده و آخرین بهروز رسانیها و همچنین تمام نگارشهای داتنت دسترسی داشت، میتوان از مخازن بستههای خود مایکروسافت استفاده کنیم که باید آنها را به سیستم عامل اضافه کرد. برای اینکار باید مراحل زیر طی شوند:
ابتدا تمام وابستگیهای احتمالی موجود را حذف میکنیم:
$ sudo apt remove 'dotnet*' 'aspnet*' 'netstandard*'
سپس فایل زیر را ایجاد کرده:
sudo nano touch /etc/apt/preferences
و آنرا با محتوای زیر تکمیل میکنیم؛ تا فقط از مخازن خود مایکروسافت استفاده شود و سایر مخازن مرتبط در این حالت، اولویت کمتری داشته باشند:
Package: dotnet* aspnet* netstandard* Pin: origin "archive.ubuntu.com" Pin-Priority: -10 Package: dotnet* aspnet* netstandard* Pin: origin "security.ubuntu.com" Pin-Priority: -10
پس از آن، دستورات زیر، کار افزودن مخازن بستههای مایکروسافت را انجام میدهند:
# Get OS version info which adds the $ID and $VERSION_ID variables source /etc/os-release # Download Microsoft signing key and repository wget https://packages.microsoft.com/config/$ID/$VERSION_ID/packages-microsoft-prod.deb -O packages-microsoft-prod.deb # Install Microsoft signing key and repository sudo dpkg -i packages-microsoft-prod.deb # Clean up rm packages-microsoft-prod.deb # Update packages sudo apt update sudo apt upgrade -y
بعد از این بهروز رسانیها، دستور متداول زیر، کار نصب آخرین نگارش NET SDK. را انجام میدهد:
sudo apt-get install -y dotnet-sdk-8.0
و همچنین هربار هم که سیستم را با دستورات sudo apt update -q && sudo apt upgrade -y به روز کنیم، در صورت وجود بهروز رسانی داتنتی جدیدی، آنرا به صورت خودکار دریافت و نصب میکند.
طراحی متریال گوگل، خوب یا بد
راه اندازی StimulSoft Report در ASP.NET MVC
تنظیمات تاریخ قمری در ویندوز
خلاصهای کوتاه در مورد WinRT
به نظر شما با توجه به سیستم عامل جدید بهتره روی کدام مقوله متمرکز بشم
1- سیلورلایت
2- wpf
3- asp.NET
C++
با تشکر
ضرورت دانش پایه برای پیشرفت در صنعت نرم افزار کشور
نکاتی در باب T-SQL
Create Table Test(ID int,Firstname varchar(20)); Insert Into Test (ID,Firstname) Values(1,'K'); Insert Into Test (ID,Firstname) Values(2,'B'); Insert Into Test (ID) Values(3);
Select COUNT(*) From Test
Select COUNT(Firstname) From Test
- هرگاه در اجرای Count ،هدفتان بدست آوردن تعداد ستون خاصی است، از (Count(column استفاده نمایید.
select count(cast(null as int)) select count(*) where 'a'='b' select € select ¥ select £ Select $ select count(*)-count(*) select Ascii('A')-Ascii('A') select LEN('')
- روش اول
(a+b)+ABS(a-b)
0.5(a+b)+ABS(a-b)
DECLARE @Value1 DECIMAL(5,2) = 80.22 DECLARE @Value2 DECIMAL(5,2) =90.34 SELECT (0.5 * ((@Value1 + @Value2) + ABS(@Value1 - @Value2))) AS MaxColumn
- روش دوم
DECLARE @Value1 DECIMAL(5,2) = 9.22 DECLARE @Value2 DECIMAL(5,2) = 8.34 SELECT CASE WHEN @Value1 > @Value2 THEN @Value1 ELSE @Value2 END AS MaxColumn
در این روش اگر مقدار یکی از اعداد Null باشد،ماکزیمم بین دو عدد، عدد غیر Null میباشد.
5- مشاهده مشخصات کلیه دیتابیسهای موجود در SQL Server با استفاده از Sys.Databases .
Select * From sys.databases
خروجی بصورت زیر خواهد بود:
6- بوسیله دستور OUTPUT میتوان خروجی Queryهای Delete،Update و Insert را مشاهده نمود:
مثال اول برای Query Delete :
در شکل، تک رکورد حذف شده را مشاهده مینمایید.
مثال دوم برای Query Update بصورت زیر میباشد:
در شکل، مقدار A، مقدار جدیدی است که بروز رسانی شده است و مقدار B مقداری است که مربوط به قبل از بروز رسانی میباشد.
مثال سوم برای Query Insert بصورت زیر میباشد:
موفق باشید.
Cordova شامل یک سری کامپوننت به شرح زیر است:
- سورس کدی برای هر Container و برنامه محلی برای هر یک از سکوهای موبایل که پشتیبانی میشوند. container، کدهای Html5 را بر روی دستگاه (Device) رندر میکند. (در مطالب بعدی در مورد این مطلب توضیح خواهم داد)
- مجموعهای از رابطهای برنامهی کاربردی که امکان دسترسی به قابلیتهای بومی دستگاه را به برنامهی وبی که درون آن در حال اجرا است، میدهند.
- مجموعهای از ابزارها برای مدیریت فرآیند ایجاد پروژه، مدیریت پلاگینها، ساخت (با استفاده از SDKهای محلی) برنامههای محلی و تست برنامه بر روی دستگاه موبایل یا شبیه ساز .
نصب و راه اندازی مقدماتی Full Text Search
بررسیهای مقدماتی
ابتدای کار نیاز است بررسی کنیم آیا افزونهی Full Text Search، به همراه SQL Server نصب شدهاست یا خیر. برای این منظور کوئری ذیل را اجرا کنید:
select SERVERPROPERTY('IsFullTextInstalled');
instance features -> database engine services -> Full Text
راه اندازی سرویس Full Text Search
پیش از ادامهی بحث، به کنسول سرویسهای ویندوز مراجعه کرده و مطمئن شوید که سرویس SQL Full-text Filter Daemon Launcher MSSQLSERVER نیز در حال اجرا است. در غیراینصورت با خطای ذیل مواجه خواهید شد:
SQL Server encountered error 0x80070422 while communicating with full-text filter daemon host (FDHost) process.
sp_fulltext_service 'restart_all_fdhosts'
چه نوع دادههایی را میتوان توسط FTS ایندکس کرد؟
با استفاده از امکانات FTS میتوان کلیه ستونهایی را که دارای نوعهای ذیل باشند، ایندکس کرد:
char, nchar, varchar, nvarchar, text, ntext, image, xml, varbinary(max)
همچنین FTS برای پردازش این فایلهای باینری و ایندکس کردن اطلاعات آنها، نیاز به افزونههایی به نام IFilters دارد. کار این فیلترها استخراج متن بدون فرمت، از فایلهای باینری مرتبط و ارائهی آنها به موتور FTS میباشد.
نصب فیلترهای مخصوص FTS آفیس
اگر علاقمند هستید که بدانید در حال حاضر چه تعداد فیلترهای FTS بر روی سیستم شما نصب شدهاست، کوئری ذیل را اجرا نمائید:
exec sys.sp_help_fulltext_system_components 'filter';
فیلترهای آفیس را جداگانه نیز میتوانید دریافت و نصب کنید (بدون نیاز به نصب کامل آفیس بر روی سرور):
این فیلترها تا نگارش 2013 آفیس را نیز پشتیبانی میکنند و آگر آپدیت ویندوز نیز روشن باشد، سرویس پک 2 آن را نیز دریافت خواهید کرد.
پس از اینکه فیلترها را نصب کردید، باید آنها را در وهلهی جاری SQL Server ثبت کرد:
exec sys.sp_fulltext_service 'load_os_resources', 1; EXEC sp_fulltext_service 'update_languages'; EXEC sp_fulltext_service 'restart_all_fdhosts';
select * from sys.fulltext_document_types;
فیلترهای فوق علاوه بر اینکه امکان FTS را بر روی کلیه فایلهای مجموعه آفیس میسر میکنند، امکان جستجو FTS را بر روی خواص ویژه اضافی آنها، مانند نام نویسنده، واژههای کلیدی، تاریخ ایجاد و امثال آن نیز به همراه دارند.
FTS چگونه کار میکند؟
زبانهای پشتیبانی شده توسط FTS را توسط کوئری ذیل میتوانید مشاهده کنید:
select lcid, name from sys.fulltext_languages order by name;
word-breakers تک تک کلمات را (که به آنها token نیز گفته میشود) تشخیص داده و سپس FTS آنها را با فرمتی فشرده شده، درون ایندکسهای مخصوص خود ذخیره میکند.کار stemmers تولید حالات inflectional (صرفی) یک کلمه بر اساس دستور زبانی مشخص است.
اهمیت آنالیز inflectional، در اینجا است که برای مثال اگر در متنی واژهی jumps وجود داشت و کاربر در حین جستجو، jumped را وارد کرد، FTS بر اساس دستور زبان مورد استفاده، پیشتر، حالات مختلف صرفی jump را ذخیره کردهاست و امکان انجام یک چنین کوئری پیشرفتهای را پیدا میکند.
نصب و فعال سازی Semantic Language Database
کار TFS تنها به خرد کردن واژهها و آنالیز صرفی آنها خلاصه نمیشود. در مرحلهی بعد، انجام Statistical semantic search میسر میشود. در اینجا SQL Server بر اساس آمار واژههای کلیدی استخراج شده، توانایی یافتن متونی مشابه و یا مرتبط را پیدا میکند. Semantic Search جزو تازههای SQL Server 2012 است.
برای اینکار نیاز است بانک اطلاعاتی Semantic language statistics نیز نصب شود. برای اطمینان از نصب بودن آن، کوئری ذیل را اجرا کنید:
select * from sys.fulltext_semantic_language_statistics_database;
x64\Setup\SemanticLanguageDatabase.msi x86\Setup\SemanticLanguageDatabase.msi
پس از آن نیاز است این بانک اطلاعاتی را Attach و همچنین ثبت کرد:
CREATE DATABASE semanticsdb ON ( FILENAME = 'D:\SQL_Data\SemanticLanguageDatabase\semanticsdb.mdf' ) LOG ON ( FILENAME = 'D:\SQL_Data\SemanticLanguageDatabase\semanticsdb_log.ldf' ) FOR ATTACH GO EXEC sp_fulltext_semantic_register_language_statistics_db @dbname = N'semanticsdb' GO
پس از مراحل فوق، اگر مجددا کوئری یاد شده بر روی sys.fulltext_semantic_language_statistics_database را اجرا کنید، یک سطر خروجی خواهد داشت.