آموزش MDX Query - قسمت اول
آیا کتاب فارسی تالیفی (یا ترجمه بصورت مناسب و کامل) با موضوع انبار دادهها و OLAP در بازار سراغ دارید؟
سلام آقای راد
ضمن تشکر بابت مطالبی که نوشتید راستی کتاب مرجع کامل EF 6 کی به بازار میاد؟
- توسعه پایگاه داده سیستم دسترسی مبتنی بر نقش
- توسعه یک Customized Filter Attribute بر پایه Authorize Attribute
- توسعه سرویسهای مورد استفاده در Authorize Attribute
- توسعه کنترلر Permissions: تمامی APIهایی که در جهت همگام سازی دسترسیها بین کلاینت و سرور را بر عهده دارند در این کنترلر توسعه داده میشود.
- توسعه سرویس مدیریت دسترسی در کلاینت توسط AngularJS
توسعه پایگاه داده
public class Permission { [Key] public string Id { get; set; } public string Title { get; set; } public string Description { get; set; } public string Area { get; set; } public string Control { get; set; } public virtual ICollection<Role> Roles { get; set; } }
Control | Area |
view | products |
add | products |
edit | products |
delete | products |
با توجه به جدول فوق همانطور که مشاهده میکنید تمامی آنچه که برای دسترسی Products مورد نیاز است در یک حوزه و 4 کنترل گنجانده میشود. البته توجه داشته باشید سناریویی که مطرح کردیم برای روشن سازی مفهوم ناحیه یا حوزه و کنترل بود. همانطور که میدانیم در AngularJS تمامی اطلاعات توسط APIها فراخوانی میگردند. از این رو یک موهبت دیگر این روش، خوانایی مفهوم حوزه و کنترل نسبت به نام کنترلر و متد است.
مدل Roles را ما به صورت زیر توسعه دادهایم:
public class Role { [Key] public string Id { get; set; } public string Title { get; set; } public string Description { get; set; } public virtual ICollection<Permission> Permissions { get; set; } public virtual ICollection<User> Users { get; set; } }
در مدل فوق میبینید که دو رابطه چند به چند وجود دارد. رابطه اول که همان Permissions است و در مدل پیشین تشریح شد. رابطهی دوم رابطه چند به چند بین کاربر و نقش است. چند کاربر قادرند یک نقش در سیستم داشته باشند و همینطور چندین نقش میتواند به یک کاربر انتساب داده شود.
ما در این سیستم از ASP.NET Identity 2.1 استفاده و کلاس IdentityUser را override کردهایم. در مدل override شده، برخی اطلاعات جدید کاربر، به جدول کاربر اضافه شدهاند. این اطلاعات شامل نام، نام خانوادگی، شماره تماس و ... میباشد.
public class ApplicationUser : IdentityUser { [MaxLength(100)] public string FirstName { get; set; } [MaxLength(100)] public string LastName { get; set; } public bool IsSysAdmin { get; set; } public DateTime JoinDate { get; set; } public virtual ICollection<Role> Roles { get; set; } }
در نهایت تمامی این مدلها به وسیله EF Code First پایگاه داده سیستم ما را تشکیل خواهند داد.
توسعه یک Customized Filter Attribute بر پایه Authorize Attribute
public class RBACAttribute : AuthorizeAttribute { public string Area { get; set; } public string Control { get; set; } AccessControlService _AccessControl = new AccessControlService(); public override void OnAuthorization(HttpActionContext actionContext) { var userId = HttpContext.Current.User.Identity.GetCurrentUserId(); // If User Ticket is Not Expired if (userId == null || !_AccessControl.HasPermission(userId, this.Area, this.Control)) { actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized); } } }
[HttpPost] [Route("ChangeProductStatus")] [RBAC(Area = "products", Control = "edit")] public async Task<HttpResponseMessage> ChangeProductStatus(StatusCodeBindingModel model) { // Method Body }
امسال جشنوارهٔ روز آزادی نرمافزار تهران،
در روز پنجشنبه ۸ مهر ۱۳۹۵ از ساعت ۹ تا ۱۷ در دانشگاه صنعتی شریف، در دو
بخش عمومی و کارگاهها و با محوریت معرّفی، ترویج، افزایش کاربرد و
استفاده، جذب مشارکت و حمایت جامعه و تولید در زمینهٔ نرمافزار و دانش
آزاد برگذار خواهد شد. شرکت در این جشنواره بدون هیچ محدودیتی برای همهٔ
افراد آزاد و رایگان است.
دو روز گذشته( ۲۳ مهر ۱۳۹۳ ) گروهی از کارشناسان گوگل اشکالی امنیتی در پروتکل امنیتی SSL 3.0 پیدا کردند که باعث میشود افراد مهاجم بتوانند اطلاعات کدشده میان سرور و مرورگر را بخوانند.
این اشکال امنیتی Poodle نام گرفته و برای رفع آن هیچ راه حلی به جز غیرفعال کردن SSL 3.0 رور مرورگر وجود ندارد.
موزیلا اعلام کرد که در نگارش ۳۵ فایرفاکس این پروتکل را به طور کلی غیرفعال خواهد کرد. گوگل نیز اعلام کرد برنامه دارد تا این پروتکل را در آیندهای نزدیک از کروم حذف کند.
ارزیابی و تفسیر مدل در داده کاوی
لینک زیر دانلود مجموعه آموزش SQL Server 2012 Tutorials - Analysis Services Data Mining میباشد. که شامل موارد زیر است:
Lesson 1: Preparing the Analysis Services Database
Lesson 2: Building a Targeted Mailing Structure
Lesson 3: Adding and Processing Models
Lesson 4: Exploring the Targeted Mailing Models
Lesson 5: Testing Models
Lesson 6: Creating and Working with Predictions
Intermediate Data Mining Tutorial
Lesson 1: Creating the Intermediate Data Mining Solution
Lesson 2: Building a Forecasting Scenario
Lesson 3: Building a Market Basket Scenario
Lesson 4: Building a Sequence Clustering Scenario
Lesson 5: Building Neural Network and Logistic Regression Models
Creating and Querying Data Mining Models with DMX: Tutorials
Lesson 1: Bike Buyer
Lesson 2: Market Basket
Lesson 3: Time Series Prediction
از آنجا که با سونامی «تحصیلات تکمیلی» در کشور مواجه هستیم و بسیاری از پایان نامهها پیرامون موضوع Data Mining میباشد و همچنین مشابه بسیاری از موضوعات دیگر؛ بدون در نظر گرفتن زیر ساختها و فلسفه پیدایش موضوع و دستاوردهای آن و ... پروژههای داده کاوی نیز به صورت وارداتی به کشور و به طبع سازمانها تحمیل میشود و ... امیدوارم توانسته باشم، هم زبانان نا آشنا را تا حدی که در توان داشتم با موضوع آشنا کرده باشم. برای مطالعه منابع غیر از SQL Server کتابهای « داده کاوی کاربردی - RapidMiner » انتشارات نیاز دانش و همچنین کتاب « داده کاوی با کلمنتاین » انتشارات جهاد دانشگاهی واحد صنعتی امیر کبیر نیز به بیان موضوع میپردازد. موفق و سلامت باشید.