ChatGPT چگونه کار میکند؟
معنای ChatGPT برای توسعه دهندهها
معرفی افزونهی WhySharper
- نسخه پیش نمایش ویندوز ۸ زیر ذره بین (قسمت سوم) | آراد حقی | fa.aradhaghi.com
- شبیه سازی صفحه شروع ویندوز 8 با WPF | www.codeproject.com
- کار با IndexedDB در IE | blogs.msdn.com
- مثالی دیگر از کلاسHTMLWorker کتابخانه iTextSharp جهت ساخت گزارشات | www.codeproject.com
- معرفی IT-oLogy | sourceforge.net
ساعت کاری محل کار شما چگونه است؟
به نظرمن بهتر یکی از گزینهها به ۹ ساعت در روز بین ساعت مشخص شنبه تا چهارشنبه و یک مورد هم ۹ ساعت در روز با پنجشنبه تغییر کند
مدتی است که سایت Stack Overflow دیتابیس سؤال و جوابهای خود را به صورتی سخاوتمندانه در اختیار عموم قرار داده است. مجوز استفاده از این اطلاعات cc-wiki است، به این معنا که مجاز هستید این اطلاعات را به اشتراک بگذارید (کپی، توزیع و امثال آن)، مجاز هستید این اطلاعات را با اطلاعاتی دیگر ترکیب کرده و کار جدیدی را ارائه دهید؛ با این شرط که فراموش نکنید از بانیان اصلی این کار یاد نموده و همچنین کار تولیدی شما نیز باید بر مبنای همین مجوز cc-wiki باقی بماند.
این دیتابیس که با فرمت xml ارائه شده در حقیقت دامپ اطلاعات عمومی سایت بوده که اطلاعات شخصی کاربران از آن حذف شده است و شامل فایلهای زیر میباشد:
1. badges.xml
2. comments.xml
3. posts.xml
4. users.xml
5. votes.xml
این اطلاعات شامل سایتهای همخانوادهی Stack Overflow، Server Fault ، Super Userو Meta Stack Overflow نیز میشود.
جهت دریافت آخرین نگارش این مجموعه به آدرس زیر میتوان مراجعه نمود:
حجم این اطلاعات چند گیگ میشود که جهت آشنایی با نحوهی import آن به SQL Server میتوان به مقالات زیر مراجعه نمود:
SeoTags Create all SEO tags you need such as meta, link, twitter card (twitter:), open graph (og:), and JSON-LD schema (structred data).
Sample output:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin /> <link rel="preconnect" href="https://www.google-analytics.com" crossorigin /> <link rel="dns-prefetch" href="https://fonts.gstatic.com/" /> <link rel="dns-prefetch" href="https://www.google-analytics.com" /> <link rel="preload" as="style" href="https://site.com/site.css" /> <link rel="preload" as="script" href="https://site.com/app.js" /> <link rel="preload" as="font" type="font/woff2" href="https://site.com/fonts/Font.woff2" crossorigin /> <link rel="preload" as="font" type="font/woff2" href="https://site.com/fonts/Font_Light.woff2" crossorigin /> <link rel="preload" as="font" type="font/woff2" href="https://site.com/fonts/Font_Medium.woff2" crossorigin /> <link rel="preload" as="font" type="font/woff2" href="https://site.com/fonts/Font_Bold.woff2" crossorigin /> <link rel="preload" as="image" type="image/jpeg" href="https://site.com/uploads/image.jpg" /> <title>SEO Tags for ASP.NET Core - My Site Title</title> <meta name="title" content="SEO Tags for ASP.NET Core - My Site Title" /> <meta name="description" content="Create all SEO tags you need such as meta, link, twitter card (twitter:), open graph (og:), and ..." /> <meta name="keywords" content="SEO, AspNetCore, MVC, RazorPages" /> <meta name="author" content="Author Name" /> <link rel="author" href="https://github.com/author-profile" /> <link rel="canonical" href="https://site.com/url/" /> <link rel="application/opensearchdescription+xml" title="My Site Title" href="https://site.com/open-search.xml" /> <link rel="alternate" type="application/rss+xml" title="Post Feeds" href="https://site.com/rss/" /> <link rel="alternate" type="application/rss+xml" title="Post Comments" href="https://site.com/post/comment/rss" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="SEO Tags for ASP.NET Core" /> <meta name="twitter:description" content="Create all SEO tags you need such as meta, link, twitter card (twitter:), open graph (og:), and ..." /> <meta name="twitter:site" content="@MySiteTwitter" /> <meta name="twitter:creator" content="@MyTwitterId" /> <meta name="twitter:image" content="https://site.com/uploads/image.jpg" /> <meta name="twitter:image:width" content="1280" /> <meta name="twitter:image:height" content="720" /> <meta name="twitter:image:alt" content="Image alt" /> <meta property="og:type" content="article" /> <meta property="og:title" content="SEO Tags for ASP.NET Core" /> <meta property="og:description" content="Create all SEO tags you need such as meta, link, twitter card (twitter:), open graph (og:), and ..." /> <meta property="og:url" content="https://site.com/url/" /> <meta property="og:site_name" content="My Site Title" /> <meta property="og:locale" content="en_US" /> <meta property="og:image" content="https://site.com/uploads/image.jpg" /> <meta property="og:image:secure_url" content="https://site.com/uploads/image.jpg" /> <meta property="og:image:type" content="image/jpeg" /> <meta property="og:image:width" content="1280" /> <meta property="og:image:height" content="720" /> <meta property="og:image:alt" content="Image alt" /> <meta property="article:publisher" content="https://facebook.com/MySite" /> <meta property="article:author" content="https://facebook.com/MyUserId" /> <meta property="article:published_time" content="2021-07-03T13:34:41+00:00" /> <meta property="article:modified_time" content="2021-07-03T13:34:41+00:00" /> <meta property="article:section" content="Article Topic" /> <meta property="article:tag" content="SEO" /> <meta property="article:tag" content="AspNetCore" /> <meta property="article:tag" content="MVC" /> <meta property="article:tag" content="RazorPages" /> <meta property="og:see_also" content="https://site.com/see-also-1" /> <meta property="og:see_also" content="https://site.com/see-also-2" /> ...
مدلهای برنامه
در اینجا قصد داریم لیست گروهها را به همراه محصولات مرتبط با آنها، توسط دو drop down list نمایش دهیم:
public class Category { public int CategoryId { set; get; } public string CategoryName { set; get; } [JsonIgnore] public IList<Product> Products { set; get; } } public class Product { public int ProductId { set; get; } public string ProductName { set; get; } }
منبع داده JSON سمت سرور
پس از مشخص شدن مدلهای برنامه، اکنون توسط دو اکشن متد، لیست گروهها و همچنین لیست محصولات یک گروه خاص را با فرمت JSON بازگشت میدهیم:
using System.Linq; using System.Text; using System.Web.Mvc; using KendoUI12.Models; using Newtonsoft.Json; namespace KendoUI12.Controllers { public class HomeController : Controller { public ActionResult Index() { return View(); // shows the page. } [HttpGet] public ActionResult GetCategories() { return new ContentResult { Content = JsonConvert.SerializeObject(CategoriesDataSource.Items), ContentType = "application/json", ContentEncoding = Encoding.UTF8 }; } [HttpGet] public ActionResult GetProducts(int categoryId) { var products = CategoriesDataSource.Items .Where(category => category.CategoryId == categoryId) .SelectMany(category => category.Products) .ToList(); return new ContentResult { Content = JsonConvert.SerializeObject(products), ContentType = "application/json", ContentEncoding = Encoding.UTF8 }; } } }
در اینجا به عمد از JsonConvert.SerializeObject استفاده شدهاست تا ویژگی JsonIgnore کلاس گروهها، توسط کتابخانهی JSON.NET مورد استفاده قرار گیرد (ASP.NET MVC برخلاف ASP.NET Web API به صورت پیش فرض از JSON.NET استفاده نمیکند).
کدهای سمت کاربر برنامه
کدهای جاوا اسکریپتی Kendo UI را جهت تعریف دو drop down list به هم مرتبط و آبشاری، در ادامه ملاحظه میکنید:
<!--نحوهی راست به چپ سازی --> <div class="k-rtl k-header demo-section"> <label for="categories">گروهها: </label><input id="categories" style="width: 270px" /> <label for="products">محصولات: </label><input id="products" disabled="disabled" style="width: 270px" /> </div> @section JavaScript { <script type="text/javascript"> $(function () { $("#categories").kendoDropDownList({ optionLabel: "انتخاب گروه...", dataTextField: "CategoryName", dataValueField: "CategoryId", dataSource: { transport: { read: { url: "@Url.Action("GetCategories", "Home")", dataType: "json", contentType: 'application/json; charset=utf-8', type: 'GET' } } } }); $("#products").kendoDropDownList({ autoBind: false, // won’t try and read from the DataSource when it first loads cascadeFrom: "categories", // the id of the DropDown you want to cascade from optionLabel: "انتخاب محصول...", dataTextField: "ProductName", dataValueField: "ProductId", dataSource: { // When the serverFiltering is disabled, then the combobox will not make any additional requests to the server. serverFiltering: true, // the DataSource will send filter values to the server transport: { read: { url: "@Url.Action("GetProducts", "Home")", dataType: "json", contentType: 'application/json; charset=utf-8', type: 'GET', data: function () { return { categoryId: $("#categories").val() }; } } } } }); }); </script> <style scoped> .demo-section { width: 100%; height: 100px; } </style> }
سپس دراپ دوم که وابستهاست به دراپ داون اول، با این نکات طراحی شدهاست:
الف) خاصیت autoBind آن به false تنظیم شدهاست. به این ترتیب این دراپ داون در اولین بار نمایش صفحه، به سرور جهت دریافت اطلاعات مراجعه نخواهد کرد.
ب) خاصیت cascadeFrom آن به id دراپ داون اول تنظیم شدهاست.
ج) در منبع دادهی آن دو تغییر مهم وجود دارند:
- خاصیت serverFiltering به true تنظیم شدهاست. این مورد سبب خواهد شد تا آیتم گروه انتخاب شده، به سرور ارسال شود.
- خاصیت data نیز تنظیم شدهاست. این مورد پارامتر categoryId اکشن متد GetProducts را تامین میکند و مقدار آن از مقدار انتخاب شدهی دراپ داون اول دریافت میگردد.
اگر برنامه را اجرا کنیم، برای بار اول لیست گروهها دریافت خواهند شد:
سپس با انتخاب یک گروه، لیست محصولات مرتبط با آن در دراپ داون دوم ظاهر میگردند:
کدهای کامل این مثال را از اینجا میتوانید دریافت کنید.
LINQPad is a powerful testing tool for all .NET developers that can help them deliver solutions in less time. In Getting the Most from LINQPad Succinctly, returning Succinctly series author José Roberto Olivas Mendoza lays out different ways to extend the functionality built into LINQPad. In this ebook, you’ll learn how to use LINQPad to query Entity Framework models in Visual Studio, how to work with the LINQPad command-line utility, how to write your own extensions and visualizers, and how to write custom data context drivers.
-
A Quick Tour of LINQPad
-
LINQPad and Entity Framework
-
LINQPad Scripting
-
LINQPad Extensibility
-
Custom Data Context Drivers