واقعا متشکرم.
لطفا در مورد open source مطالب بیشتری بنویسید.
[ { release_info, "assets": [ { } ] } ]
using Newtonsoft.Json; using System; namespace ApplicationAnnouncements { public class GitHubProjectRelease { [JsonProperty(PropertyName = "url")] public string Url { get; set; } [JsonProperty(PropertyName = "assets_url")] public string AssetsUrl { get; set; } [JsonProperty(PropertyName = "upload_url")] public string UploadUrl { get; set; } [JsonProperty(PropertyName = "html_url")] public string HtmlUrl { get; set; } [JsonProperty(PropertyName = "id")] public int Id { get; set; } [JsonProperty(PropertyName = "tag_name")] public string TagName { get; set; } [JsonProperty(PropertyName = "target_commitish")] public string TargetCommitish { get; set; } [JsonProperty(PropertyName = "name")] public string Name { get; set; } [JsonProperty(PropertyName = "body")] public string Body { get; set; } [JsonProperty(PropertyName = "draft")] public bool Draft { get; set; } [JsonProperty(PropertyName = "prerelease")] public bool PreRelease { get; set; } [JsonProperty(PropertyName = "created_at")] public DateTime CreatedAt { get; set; } [JsonProperty(PropertyName = "published_at")] public DateTime PublishedAt { get; set; } [JsonProperty(PropertyName = "assets")] public Asset[] Assets { get; set; } } public class Asset { [JsonProperty(PropertyName = "url")] public string Url { get; set; } [JsonProperty(PropertyName = "id")] public int Id { get; set; } [JsonProperty(PropertyName = "name")] public string Name { get; set; } [JsonProperty(PropertyName = "label")] public string Label { get; set; } [JsonProperty(PropertyName = "content_type")] public string ContentType { get; set; } [JsonProperty(PropertyName = "state")] public string State { get; set; } [JsonProperty(PropertyName = "size")] public int Size { get; set; } [JsonProperty(PropertyName = "download_count")] public int DownloadCount { get; set; } [JsonProperty(PropertyName = "created_at")] public DateTime CreatedAt { get; set; } [JsonProperty(PropertyName = "updated_at")] public DateTime UpdatedAt { get; set; } } }
using (var webClient = new WebClient()) { webClient.Headers.Add("user-agent", "DNTProfiler"); var jsonData = webClient.DownloadString(url); var gitHubProjectReleases = JsonConvert.DeserializeObject<GitHubProjectRelease[]>(jsonData); foreach (var release in gitHubProjectReleases) { foreach (var asset in release.Assets) { // … } } }
public class GitHubClient { public IReadOnlyCollection<GitHubRepositoryDto> GetRepositories() { using (var httpClient = new HttpClient{BaseAddress = new Uri(GitHubConstants.ApiBaseUrl)}) { var result = httpClient.GetStringAsync(GitHubConstants.RepositoriesPath).Result; return JsonConvert.DeserializeObject<List<GitHubRepositoryDto>>(result); } } }
public class GitHubClient : IGitHubClient { public async Task<IReadOnlyCollection<GitHubRepositoryDto>> GetRepositories() { using (var httpClient = new HttpClient { BaseAddress = new Uri(GitHubConstants.ApiBaseUrl) }) { var result = await httpClient.GetStringAsync(GitHubConstants.RepositoriesPath); return JsonConvert.DeserializeObject<List<GitHubRepositoryDto>>(result); } } }
public class GitHubClient : IGitHubClient { private readonly HttpClient _httpClient; public GitHubClient() { _httpClient = new HttpClient { BaseAddress = new Uri(GitHubConstants.ApiBaseUrl) }; } public async Task<IReadOnlyCollection<GitHubRepositoryDto>> GetRepositories() { var result = await _httpClient.GetStringAsync(GitHubConstants.RepositoriesPath).ConfigureAwait(false); return JsonConvert.DeserializeObject<List<GitHubRepositoryDto>>(result); } }
services.AddSingleton<GitHubClient>();
public class GitHubClient : IGitHubClient { private readonly IHttpClientFactory _httpClientFactory; public GitHubClient(IHttpClientFactory httpClientFactory) { _httpClientFactory = httpClientFactory ?? throw new ArgumentNullException(nameof(httpClientFactory)); } public async Task<IReadOnlyCollection<GitHubRepositoryDto>> GetRepositories() { var httpClient = _httpClientFactory.CreateClient("GitHub"); var result = await httpClient.GetStringAsync(GitHubConstants.RepositoriesPath).ConfigureAwait(false); return JsonConvert.DeserializeObject<List<GitHubRepositoryDto>>(result); } }
services.AddHttpClient("GitHub", x => { x.BaseAddress = new Uri(GitHubConstants.ApiBaseUrl); }); services.AddSingleton<GitHubClient>();
public class GitHubClient : IGitHubClient { private readonly HttpClient _httpClient; public GitHubClient(HttpClient httpClient) { _httpClient = httpClient ?? throw new ArgumentNullException(nameof(httpClient)); } public async Task<IReadOnlyCollection<GitHubRepositoryDto>> GetRepositories() { var result = await _httpClient.GetStringAsync(GitHubConstants.RepositoriesPath).ConfigureAwait(false); return JsonConvert.DeserializeObject<List<GitHubRepositoryDto>>(result); } }
services.AddHttpClient<GitHubClient>(x => { x.BaseAddress = new Uri(GitHubConstants.ApiBaseUrl); });
public class GitHubClientFactory { private readonly IServiceProvider _serviceProvider; public GitHubClientFactory(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; } public GitHubClient Create() { return _serviceProvider.GetRequiredService<GitHubClient>(); } }
services.AddHttpClient<GitHubClient>(x => { x.BaseAddress = new Uri(GitHubConstants.ApiBaseUrl); }); services.AddSingleton<GitHubClientFactory>();
public class GitHubClient : IGitHubClient { private readonly HttpClient _httpClient; private readonly JsonSerializer _jsonSerializer; public GitHubClient(HttpClient httpClient, JsonSerializer jsonSerializer) { _httpClient = httpClient ?? throw new ArgumentNullException(nameof(httpClient)); _jsonSerializer = jsonSerializer ?? throw new ArgumentNullException(nameof(jsonSerializer)); } public async Task<IReadOnlyCollection<GitHubRepositoryDto>> GetRepositories() { var request = CreateRequest(); var result = await _httpClient.SendAsync(request, HttpCompletionOption.ResponseContentRead); using (var responseStream = await result.Content.ReadAsStreamAsync()) { using (var streamReader = new StreamReader(responseStream)) using (var jsonTextReader = new JsonTextReader(streamReader)) { return _jsonSerializer.Deserialize<List<GitHubRepositoryDto>>(jsonTextReader); } } } private static HttpRequestMessage CreateRequest() { return new HttpRequestMessage(HttpMethod.Get, GitHubConstants.RepositoriesPath); } }
services.AddHttpClient<GitHubClient>(x => { x.BaseAddress = new Uri(GitHubConstants.ApiBaseUrl); }); services.AddSingleton<GitHubClientFactory>(); services.AddSingleton<JsonSerializer>();
var result = await _httpClient.SendAsync(request, HttpCompletionOption.ResponseContentRead);
var result = await _httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);
حال بایستی توسط ویزارد، ساختار داده کاوی مورد نظر را ایجاد نمود. در صفحه اول ویزارد، مخزن داده را مشخص مینماییم.
در صفحه بعد الگوریتم موردنظر را انتخاب مینماییم.
بدیهی است که پس از ساخت ساختار داده کاوی میتوان الگوریتمهای دیگری را نیز برای مدل کردن مخزن داده به کار برد.
در این مقاله فرض شده است که خواننده نحوه ساخت Cube و Dimension را در یک پروژه SSAS-M توسط SSDT ، میداند. در صورتیکه به داده کاوی و هوش تجاری علاقمند هستید و به مقدمات بیشتری در رابطه با مطالب فوق نیاز دارید، پیشنهاد میشود که فصلهای یک، سه و چهار کتاب فوق را جهت آشنایی بیشتر مطالعه نمایید.