برای این کار اولین چیزی که لازم بود دریافت و ذخیره اطلاعات بود که من برای این کار از Entity framework 4.1 Database-first و کتابخانه htmlagilitypack - HAP استفاده کردم . طراحی دیتابیس نهایی به این صورت شد
خوب در تلاش اول و مبتدیانه و بدون استفاده از این کتابخانه مفید چون اکثر صفحات وب XHTML نیستند و بالاخره چند تگ درست بسته نشده دارند و شما اگر بخواهید در آبجکت XmlDocument این htmlهای به ظاهر سالم رو لود کنید فورا با استثنای زیر مواجه میشوید
XmlException Was unhandeled The 'img' start tag on line 1 position 1604 does not match the end tag of 'a'. Line 1, position 1766
PM> Install-Package HtmlAgilityPack
مثلا با کد زیر میشه تاریخ تولد یک ورزشکار رو بدست آورد .توابع دیگه ای که خیلی جاها میتونه بدرد خورد GetAttributeValue و ChildNodes هست که یک نمونه نحوه استفادشو در ادامه میبینید
HtmlDocument xhtml = Crawler.GetXHtmlFromUri("http://www.london2012.com/athlete/hadadi-ehsan-1077408/"); HtmlNode tempNode = xhtml.DocumentNode.SelectSingleNode("//table[@class='athleteBio']/tbody/tr[4]");
string temp = tempNode.FirstChild.FirstChild.InnerText.Replace(" ", "").Trim(); athlete.Birthday = DateTime.Parse(temp.Substring(0, 10), new CultureInfo("en-GB"));
tempNode = xhtml.DocumentNode.SelectSingleNode("//div[@class='athletePhotoMedals']/div/div/img"); athlete.LargePhotoUri = tempNode.GetAttributeValue("src", "");
نکته اصلی هم پیدا کردن محل دقیق اطلاعاته که با ابزاری مثل Firebug خیلی راحتتر میشه این کارو انجام داد. کافیه روی تاریخ تولد راست کلیک و inspect element by Firebug رو بزنید و حالا اگر تویه dom روی هر المنت html نگه دارید بهتون XPath کامل رو میده که میتونید تویه تابع DocumentNode.SelectSingleNode ازش استفاده کنید.
برای درک بهتر XPath هم این 2 تا صفحه xpath_syntax و xpath_examples خیلی میتونه کمکتون بکنه.
- سبک وزن است
- بسیار سریع است
- به صورت سورس باز توسعه پیدا میکند
- رایگان است
- چندسکویی است
- انواع و اقسام زبانهای برنامه نویسی را پشتیبانی میکند
- پشتیبانی بسیار مناسبی را از طرف جامعهی برنامه نویسان به همراه دارد
- به همراه تعداد زیادی افزونه است
هدف اصلی از توسعهی آن نیز ارائهی تجربهی کاربری یکسانی در سکوهای کاری مختلف و زبانهای متفاوت برنامه نویسی است. در اینجا مهم نیست که از ویندوز، مک یا لینوکس استفاده میکنید. نحوهی کار کردن با آن در این سکوهای کاری تفاوتی نداشته و یکسان است. همچنین برای آن تفاوتی نمیکند که با PHP کار میکنید یا ASP.NET. تمام گروههای مختلف برنامه نویسان دسترسی به یک IDE بسیار سریع و سبک وزن را خواهند داشت.
برخلاف نگارش کامل ویژوال استودیو که این روزها حجم دریافت آن به بالای 20 گیگابایت رسیدهاست، VS Code با هدف سبک وزن بودن و سادگی دریافت و نصب، طراحی و توسعه پیدا میکند. این مورد، مزیت دریافت به روز رسانیهای منظم را بدون نگرانی از دریافت حجمهای بالا، برای بسیاری از علاقمندان مسیر میکند.
همچنین برای کار با نگارشهای جدیدتر ASP.NET Core، دیگر نیازی به دریافت آخرین به روز رسانیهای چندگیگابایتی ویژوال استودیوی کامل نبوده و میتوان کاملا مستقل از آن، از آخرین نگارش NET Core. و ASP.NET Core به سادگی در VSCode استفاده کرد.
نصب VS Code بر روی ویندوز
آخرین نگارش این محصول را از آدرس https://code.visualstudio.com میتوانید دریافت کنید. نصب آن نیز بسیار سادهاست؛ فقط گزینهی Add to PATH را نیز در حین نصب حتما انتخاب نمائید (هرچند به صورت پیش فرض نیز انتخاب شدهاست). به این ترتیب امکان استفادهی از آن در کنسولهای متفاوتی مسیر خواهد شد.
در ادامه فرض کنید که مسیر D:\vs-code-examples\sample01 حاوی اولین برنامهی ما خواهد بود. برای اینکه در اینجا بتوانیم، تجربهی کاربری یکسانی را مشاهده کنیم، از طریق خط فرمان به این پوشه وارد شده و دستور ذیل را صادر میکنیم:
D:\vs-code-examples\sample01>code .
نصب VS Code بر روی Mac
نصب VS Code بر روی مک یا لینوکس نیز به همین ترتیب است و زمانیکه به آدرس فوق مراجعه میکنید، به صورت خودکار نوع سیستم عامل را تشخیص داده و بستهی متناسبی را به شما پیشنهاد میکند. پس از دریافت بستهی آن برای مک، یک application را دریافت خواهید کرد که آنرا میتوان به مجموعهی Applications سیستم اضافه کرد. تنها تفاوت تجربهی نصب آن با ویندوز، انتخاب گزینهی Add to PATH آن است و به صورت پیش فرض نمیتوان آنرا از طریق ترمینال در هر مکانی اجرا کرد. برای این منظور، پس از اجرای اولیهی VS Code، دکمههای Ctrl/Command+Shift+P را در VS Code فشرده و سپس path را جستجو کنید (در دستور یاد شده، Ctrl برای ویندوز و لینوکس است و Command برای Mac):
در اینجا گزینهی install 'code' command path را انتخاب کنید تا بتوان VS Code را از طریق ترمینال نیز به سادگی اجرا کرد. به این ترتیب امکان اجرای دستور . code که بر روی ویندوز نیز ذکر شد، در اینجا نیز میسر خواهد بود.
نصب VS Code بر روی لینوکس
در اینجا نیز با مراجعهی به آدرس https://code.visualstudio.com، بستهی متناسب با لینوکس، جهت دریافت پیشنهاد خواهد شد؛ برای مثال بستههای deb. برای توزیعهایی مانند اوبونتو و یا rpm. برای ردهت. به علاوه اگر بر روی علامت ^ کنار بستههای دانلود کلیک کنید، یک بستهی tar.gz. نیز قابل دریافت خواهد بود. تجربهی نصب آن نیز همانند نمونهی ویندوز است و Add to PATH آن به صورت خودکار انجام خواهد شد.
بررسی ابتدایی محیط VS Code
VS Code بر اساس فایلهای قرار گرفتهی در یک پوشه و زیر پوشههای آن کار میکند. به همین جهت پس از صدور دستور . code، آن پوشه را در IDE خود نمایش خواهد داد. در اینجا برخلاف نگارش کامل ویژوال استودیو، روش کار، مبتنی بر یک فایل پروژه نیست و اگر خارج از VS Code نیز فایلی را به پوشهی باز شده اضافه کنید، بلافاصله تشخیص داده شده و در اینجا لیست میشود. هرچند یک چنین تجربهی کاربری با پروژههای ASP.NET Core نیز در نگارشهای جدیدتر ویژوال استودیوی کامل، سعی شدهاست شبیه سازی شود؛ برخلاف سایر پروژههای ویژوال استودیو که اگر فایلی در فایل پروژهی آن مدخلی نداشته باشد، به صورت پیش فرض نمایش داده نشده و درنظر گرفته نمیشود.
در ادامه برای نمونه از طریق منوی File->New File، یک فایل جدید را اضافه میکنیم. هرچند میتوان اشارهگر ماوس را بر روی نام پوشه نیز برده و از دکمههای نوار ابزار آن نیز برای ایجاد یک فایل و یا پوشهی جدید نیز استفاده کرد:
در اینجا فرمت ابتدایی فایل جدید را plain text تشخیص میدهد:
برای تغییر این حالت یا میتوان فایل را ذخیره کرد و پسوند مناسبی را برای آن انتخاب نمود و یا در همان status bar پایین صفحه، بر روی plain text کلیک کنید تا منوی انتخاب زبان ظاهر شود:
به این ترتیب پیش از ذخیرهی فایل با پسوندی مناسب نیز میتوان زبان مدنظر را تنظیم کرد. پس از آن، intellisense و syntax highlighting متناسب با آن زبان در دسترس خواهند بود.
بررسی تنظیمات VS Code
از طریق منوی File->Preferences->Settings میتوان به تنظیمات VS Code دسترسی یافت.
در اینجا در سمت چپ، لیست تنظیمات مهیا و پیش فرض این محیط قرار دارند و در سمت راست میتوان این پیش فرضها را (پس از بررسی و جستجوی آنها در پنل سمت چپ) بازنویسی و سفارشی سازی کرد.
تنظیمات انجام شدهی در اینجا را میتوان به پوشهی جاری نیز محدود کرد. برای این منظور بر روی لینک work space settings در کنار لینک user settings در تصویر فوق کلیک کنید. در این حالت یک فایل json را در پوشهی vscode. نمای جاری VSCode، ایجاد خواهد کرد (sample01\.vscode\settings.json) که میتواند در برگیرندهی تنظیمات سفارشی محدود و مختص به این پروژه و یا نما باشد.
یک نکته: تمام گزینههای منوی VS Code را و حتی مواردی را که در منوها لیست نشدهاند، میتوانید در Command Pallet آن با فشردن دکمههای Ctrl/Command+Shift+P نیز مشاهده کنید و به علاوه جستجوی آن نیز بسیار سریعتر است از دسترسی و کار مستقیم با منوها.
همچنین در اینجا اگر قصد یافتن سریع فایلی را داشته باشید، میتوانید دکمههای Ctrl/Command+P را فشرده و سپس نام فایل را جستجو کرد:
این دو دستور، جزو دستورات پایهای این IDE هستند و مدام از آنها استفاده میشود.
نصب افزونهی #C
اولین افزونهای را که جهت کار با ASP.NET Core نیاز خواهیم داشت، افزونهی #C است. برای این منظور در نوار ابزار عمودی سمت چپ صفحه، گزینهی Extensions را انتخاب کنید:
در اینجا افزونهی #C مایکروسافت را جستجو کرده و نصب کنید. نصب آن نیز بسیار ساده است. با حرکت اشارهگر ماوس بر روی آن، دکمهی install ظاهر میشود یا حتی اگر آنرا در لیست انتخاب کنیم، در سمت راست صفحه علاوه بر مشاهدهی جزئیات آن، دکمههای نصب و عزل نیز ظاهر خواهند شد.
تجربهی کاربری محیط نصب افزونههای آن نیز نسبت به نگارش کامل ویژوال استودیو، بسیار بهتر است. برای نمونه اگر به تصویر فوق دقت کنید، در همینجا میتوان جزئیات کامل افزونه، نویسنده یا نویسندگان آن و یا لیست تغییرات و وابستگیهای آنرا نیز بدون خروج از VSCode مشاهده و بررسی کرد. همچنین در دفعات بعدی اجرای VSCode، کار بررسی و نصب به روز رسانیهای این افزونهها نیز خودکار بوده و نیازی به بررسی دستی آنها نیست.
پس از نصب، دکمهی reload را ظاهر کرده و با کلیک بر روی آن، محیط جاری به صورت خودکار بارگذاری مجدد شده و بلافاصله قابل استفادهاست.
در قسمت بعد، اولین پروژهی ASP.NET Core خود را در VS Code ایجاد خواهیم کرد.
بد نیست لیست تعدادی از بانکهای اطلاعاتی مهم قابل استفاده در دات نت به همراه درایورهای ADO.NET آنها را با هم مرور نمائیم.
بانکهای اطلاعاتی قابل استفاده در دات نت فریم ورک | ||||||
ردیف | بانک اطلاعاتی | سایت مرجع | درایور ADO.NET | امکان استفاده از LINQ | مجوز استفاده | توضیحات |
1 | SQL Server 2000/2005/2008/2008 R2 | + | توکار (به صورت پیش فرض در دات نت فریم ورک موجود است) | بلی . به کمک LINQ to SQL ، Entity Framework ، NHibernate و بسیاری از ORM های دیگر | رایگان - تجاری | نسخههای Express آن رایگان است. |
2 | Microsoft SQL Azure | + | بلی : + | بلی. به کمک LINQ to SQL و Entity Framework | تجاری | |
3 | SQL Server Compact | + | بلی : + | بلی. به کمک LINQ to SQL و Entity Framework | رایگان | |
4 | Advantage Database Server | + | قابل دریافت از سایت اصلی: + | بلی. به کمک Entity framework و Telerik OpenAccess ORM | تجاری | |
5 | SQL Anywhere | + | قابل دریافت از سایت اصلی: + | بلی. به کمک Entity framework و Telerik OpenAccess ORM | رایگان - تجاری | Web Edition آن رایگان است. |
6 | MySQL | + | قابل دریافت از سایت اصلی : + | بلی . به کمک NHibernate ، LightSpeed ، DbLinq و تعدادی دیگر از ORM's | رایگان - تجاری | |
7 | Oracle | + | پشتیبانی توکار آن به زودی حذف خواهد شد اما از سایت اصلی قابل دریافت است : + | بلی . به کمک NHibernate ، LightSpeed ، DbLinq و تعدادی دیگر از ORM's | رایگان - تجاری | نسخهی Express آن رایگان است. |
8 | Access | + | توکار | بلی. به کمک ALinq ، NHibernate و یا LINQ to DataSets | تجاری | اگر از دات نت فریم ورک سه و نیم، سرویس پک یک استفاده کنید، امکان استفاده از LINQ to SQL جهت کار با بانکهای اطلاعاتی اکسس نیز مهیا است: + |
9 | SQLite | + | مهیا به صورت سورس باز : + | بلی. درایور ADO.NET آن پشتیبانی از Entity Framework را نیز اضافه میکند. همچنین NHibernate ، ALinq و سایر ORM's را باید به این لیست اضافه کرد. | رایگان | |
10 | Firebird | + | قابل دریافت از سایت اصلی: + | بلی. توسط ALinq ، NHibernate و موارد دیگر. | رایگان | |
11 | PostgreSQL | + | قابل دریافت از سایت اصلی: + | بلی. توسط NHibernate ، DBLinq و موارد دیگر | رایگان | |
12 | DB2 UDB | + | قابل دریافت از سایت اصلی: + | بلی. توسط NHibernate | تجاری | |
13 | ScimoreDB | + | قابل دریافت از سایت اصلی: + | محدود. توسط LINQ to DataSets | رایگان | |
14 | MongoDB | + | معرفی شده در سایت اصلی : + | بلی. درایور ADO.NET معرفی شده به همراه پروایدر LINQ نیز میباشد. | رایگان | |
15 | CouchDB | + | معرفی شده در سایت اصلی : + | محدود | رایگان | |
16 | VistaDB | + | اساسا برای دات نت نوشته شده است. | بلی. به کمک Entity framework | تجاری |
افزونه ماکرو در vs2015
افزونه Settings Sync برای ذخیره و بازیابی تنظیمات سفارشی کاربر در ویژوال استدیو کد (vs code)
این افزونه اطلاعات تنظیمات سفارشی شما در ویژوال استدیو کد که در برخی موارد میتواند اطلاعات امنیتی باشد مانند اطلاعات ورود به sql server برای افزونه mssql را در یک فایل secret gist ذخیره میکند و تنها کافیست در گیت هاب حساب کاربری داشته باشید و یک توکن معتبر برای ساخت این فایل gist را بسازید و در اختیار این افزونه قرار دهید.
ابتدا افزونه را نصب کنید سپس روی آیکون افزونه کلیک کرده و فونت مورد نظر را انتخاب نمایید تا فونت روی سایت اعمال شود.
در حال حاضر پرکاربردترین وب سایتها، شبکههای اجتماعی و سرویسهای تحت وب میتوانند از این افزونه بهره ببرند.
وب سایت: ویکیپدیا و گوگل
شبکههای اجتماعی: توییتر، فیسبوک، اینستاگرام، لینکدین، گوگل پلاس
سرویسهای تحت وب: واتس آپ، تلگرام و ترلو
دانلود برای موزیلا
- در کل یکبار node را به طور کامل از سیستم حذف کنید. آخرین نگارش اینها را دریافت و مجددا نصب کنید. همچنین نکتهی جایگزین کردن npm پیش فرض ویژوال استودیو را که در متن عنوان شد، فراموش نکنید.