مطالب
آموزش مقدماتی Silverlight

یک سری فایل کارگاه آموزشی معرفی Silverlight را از آدرس زیر می‌توانید دریافت نمائید.


برای صرفه جویی در وقت، لینکی به نام Download all files associated with related objects را در آدرس فوق یافته و تمام 5 قسمت را در طی یک بسته دریافت کنید.

مطالب
Expression Blend WPF Tutorial

دنبال یک سری ویدیوی آموزشی Expression blend بودم که آدرس زیر را پیدا کردم:


امکان مشاهده‌ی رایگان آن‌ها موجود است، همچنین اگر برنامه‌ی internet download manager را نصب کنید، هنگام گشودن هر صفحه، یک آیکون ذخیره سازی ویدیوی مورد نظر نیز ظاهر می‌شود که به این صورت می‌توان تمام ویدیوها را دانلود کرد.


بازخوردهای پروژه‌ها
آموزش استفاده از JQuery, Ajax, Javascript در برنامه های ASP.NET MVC
سری آموزش ASP.NET MVC یکی از بهترین آموزش‌های فارسی حال حاضر هستش و کاربران استقبال زیادی از این سری آموزشی کردند.
ای کاش مطالب بیشتری را به نحوه استفاده از JQuery, Javascript, JSON, ... در برنامه‌های MVC، اختصاص میدادید. مثلاً ثبت و ویرایش یا حذف اطلاعات از یک Table در View تماماً با استفاده از موارد ذکر شده.
ممنون.
بازخوردهای پروژه‌ها
کامنت گذاری مرتبط با پست های سایت
سلام، ابتدا تشکر می‌کنم بابت ارائه این پروژه خوب وخوش ساخت
خواستم خواهش کنم اگر برای شما مقدور هست در بین کد‌ها با کامنت گذاری به مطالب مرتبط با سایت ارجاع دهید (طبق گفته آقای نصیری برای فهمیدن این پروژه نیاز هست که روی مطالب سایت مسلط بود).

با این کار سطح آموزشی این پروژه بسیار غنی‌تر می‌شود.
با تشکر
نظرات نظرسنجی‌ها
آیا تحصیلات دانشگاهی بر روی تخصص و کار شما تاثیر داشته‌است؟
با مطالعه آزاد هم میشه خیلی از مسائل رو یاد گرفت! تازه به احتمال زیاد شرکتهای بزرگ احتمالاً دوره‌های آموزشی بسیار کاربردی‌تر و مفیدتری هم تدارک ببینن!
به نظرم الان شرکتهای خصوصی چون دنبال منافع هستند، متوجه شدن که استعداد و اهتمام خیلی فاکتور مهمتری هستند نسبت به مدرک.
نظرات نظرسنجی‌ها
آیا از برگزاری دوره‌های دات نت غیر رایگان آنلاین توسط نویسندگان سایت در سال آینده پشتیبانی می‌کنید؟
ایده بسیار جالبی هست.
مزایاش به نظر من:
1- استاد و دانشجو  کار آموزش و یادگیری رو بسیار جدی‌تر در نظر میگیرن.
2- فعالیت‌های آموزشی به علت وجود مشوق کسب در آمد از طرف حرفه‌ای‌ها بیشتر میشه.
3- کار آفرینی (جدی میگم) واقعآ نباید این کار رو کوچیک فرض کرد. 
مطالب دوره‌ها
مروری اجمالی بر الگوریتم های داده کاوی و پارامترهای مرتبط با آنها موجود در SSAS
این بخش مروری اجمالی بر الگوریتم‌های موجود در Analysis Services و پارامترهای قابل تنظیم و مقدار پیش فرض هر پارامتر می‌باشد، به منظور بررسی بیشتر هر یک به لینک‌های زیر مراجعه کنید:

1 -  Microsoft Association Rules

به منظور ایجاد قوانینی که توصیف کننده این موضوع باشد که چه مواردی احتمالاً با یکدیگر در تراکنش‌ها ظاهر می‌شوند، استفاده می‌شود.

 Range    Default  Parameter  
(...,1]
200000 
MAXIMUM_ITEMSET_COUNT  
[0,500]
3 
MAXIMUM_ITEMSET_SIZE  
(...,0.0) 1.0 
MAXIMUM SUPPORT  
(...,...)
999999999
MINIMUM IMPORTANCE  
[1,500]
1 
MINIMUM_ITEMSET_SIZE  
 [0.0,1.0]
0.4 
MINIMUM PROBABILITY  
(...,0.0] 0.0  MINIMUM SUPPORT 

2 - Microsoft Clustering
به منظور شناسائی روابطی که در یک مجموعه داده ممکن است از طریق مشاهده منطقی به نظر نرسد، استفاده می‌شود. در واقع این الگوریتم با استفاده از تکنیک‌های تکرار شونده رکوردها را در خوشه هایی که حاوی ویژگی‌های مشابه هستند گروه بندی می‌کند.

 Range
Default
Parameter
(...,0] 10 
CLUSTER COUNT 
(...,0]
0
CLUSTER SEED 
1,2,3,4
1
CLUSTERING METHOD 
[0,65535]
255
MAXIMUM_INPUT_ATTRIBUTES 
[2,65535],0 100
MAXIMUM STATES 
(...,0)
1
MINIMUM SUPPORT 
 [1,50] 10
MODELLING_CARDINALITY 
(...,100],0 50000
SAMPLE SIZE 
(...,0) 10
STOPPING TOLERANCE 

3 - Microsoft Decision Trees
مبتنی بر روابط بین ستونهای یک مجموعه داده ای باعث پیش بینی روابط مدل‌ها می‌شود، که به صورت یک سری درختوار ویژگی‌ها در آن شکسته می‌شوند.
به منظور انجام پیش بینی از هر دو ویژگی پیوسته و گسسته پشتیبانی می‌شود. 

 
Range 
 Default   Parameter 
(0.0,1.0)
  COMPLEXITY_PENALTY 
    FORCE REGRESSOR 
[0,65535]
255
MAXIMUM_INPUT_ATTRIBUTES 
[0,65535]
255
MAXIMUM_OUTPUT_ATTRIBUTES 
(...,0.0) 
10.0
MINIMUM SUPPORT 
 1,3,4 4
SCORE METHOD 
 [1,3] 
3
SPLIT METHOD 

4 - Microsoft Linear Regression
چنانچه یک وابستگی خطی میان متغیر هدف و متغیرهای مورد بررسی وجود داشته باشد، کارآمدترین رابطه میان متغیر هدف و ورودی‌ها را پیدا می‌کند.
به منظور انجام پیش بینی از ویژگی پیوسته پشتیبانی می‌کند.

Range 
 Default  Parameter 
 
  FORCE REGRESSOR 
[0,65535]  
255
MAXIMUM_INPUT_ATTRIBUTES 
[0,65535]  
255
MAXIMUM_OUTPUT_ATTRIBUTES 
 
5 - Microsoft Logistic Regression
به منظور تجزیه و تحلیل عواملی که در یک تصمیم گیری مشارکت دارند که پی آمد آن به وقوع یا عدم وقوع یک رویداد می‌انجامد از این الگوریتم استفاده می‌شود.
جهت انجام پیش بینی از هر دو ویژگی پیوسته و گسسته پشتیبانی می‌کند.

 Range   Default  Parameter 
(0,100)  
30
HOLDOUT_PERCENTAGE 
(...,...) 
0
HOLDOUT SEED 
[0,65535]  
255
MAXIMUM_INPUT_ATTRIBUTES 
[0,65535]  
255
MAXIMUM_OUTPUT_ATTRIBUTES 
[2,65535],
100
MAXIMUM STATES 
(...,0] 
10000
SAMPLE SIZE 
 
6 - Microsoft Naïve Bayes
احتمال ارتباط میان تمامی ستون‌های ورودی و ستون‌های قابل پیش بینی را پیدا می‌کند.  همچنین این الگوریتم برای تولید سریع مدل کاوش به منظور کشف ارتباطات بسیار سودمند می‌باشد. تنها از ویژگی‌های گسسته یا گسسته شده پشتیبانی می‌کند و با تمامی ویژگی‌های ورودی به شکل مستقل رفتار می‌کند. 

 Range   Default   Parameter 
[0,65535] 
255
MAXIMUM_INPUT_ATTRIBUTES 
[0,65535] 
255
MAXIMUM_OUTPUT_ATTRIBUTES 
[2,65535],0 
100
MAXIMUM STATES 
(0,1)  
0.5
MINIMUM_DEPENDENCY_PROBABILITY 
 
7 - Microsoft Neural Network
به منظور تجزیه و تحلیل داده‌های ورودی پیچیده یا مسائل بیزنسی که برای آنها مقدار قابل توجهی داده آموزشی در دسترس می‌باشد اما به آسانی نمی‌توان با استفاده از الگوریتم‌های دیگر این قوانین را بدست آورد، استفاده می‌شود. با استفاده از این الگوریتم می‌توان چندین ویژگی را پیش بینی نمود. همچنین این الگوریتم می‌تواند به منظور طبقه بندی برای ویژگی‌های گسسته و ویژگی‌های پیوسته رگرسیون مورد استفاده قرار گیرد. 

 Range   Default   Parameter 
(...,0]  
4.0
HIDDEN_NODE_RATIO 
(0,100)  
30
HOLDOUT PERCENTAGE 
(...,...)  
0
HOLDOUT SEED 
[0,65535] 
255
MAXIMUM_INPUT_ATTRIBUTES 
[0,65535] 
255
MAXIMUM_OUTPUT_ATTRIBUTES 
[2,65535],0
100
MAXIMUM STATES 
(...,0]  
10000
SAMPLE SIZE 
 
8 - Microsoft Sequence Clustering
به منظور شناسائی ترتیب رخدادهای مشابه در یک دنباله استفاده می‌شود. در واقع این الگوریتم ترکیبی از تجزیه تحلیل توالی و خوشه را فراهم می‌کند.

 Range   Default   Parameter 
(...,0] 
10
CLUSTER COUNT 
[2,65535],0 
64
MAXIMUM_SEQUENCE_STATES 
[2,65535],0 
100
MAXIMUM STATES 
(...,0] 
10
MINIMUM SUPPORT 

9 - Microsoft Time Series
  به منظور تجزیه و تحلیل داده‌های زمانی (داده‌های مرتبط با زمان) در یک درخت تصمیم گیری خطی استفاده می‌شود. الگوهای کشف شده می‌توانند به منظور پیش بینی مقادیر آینده در سری‌های زمانی استفاده شوند. 

 
 Range  Default 
 Parameter 
[0.0,1.0]  
0.6
AUTO_DETECT_PERIODICITY 
(1.0,...) 
0.1
COMPLEXITY_PENALTY 
ARIMA,ARTXP,MIXED 
MIXED
FORECAST METHOD 
[0,100] 
1
HISTORIC_MODEL_COUNT 
(...,1]  
10
HISTORIC_MODEL_GAP 
[0.0,1.0]  
1.0
INSTABILITY_SENSITIVITY 
[...,column maximum] 
1E308+
MAXIMUM_SERIES_VALUE 
[column minimum,...] 
1E308-
MINIMUM_SERIES_VALUE 
(...,1]  
10
MINIMUM SUPPORT 
None,Previous,Mean 
 None MISSING_VALUE_SUBSTITUTION 
{...list of integers...}
{1}
PERIODICITY_HINT 
[0.0,1.0]  
0.5
PREDICTION SMOOTHING 
مطالب
آشنایی با ساختار IIS قسمت دهم
در دو مقاله پیشین ( ^ و  ^ ) در مورد اینکه چگونه یک httpmodule یا httphandler را به عنوان یک ماژول جدید به IIS اضافه کنیم صحبت کردیم و الان قصد داریم که در این بخش این مبحث را ببندیم. آخرین بار توانستیم که یک UI را به IIS نسبت داده و از آن استفاده کنیم و الان قصد داریم آن را تکمیل‌تر کرده و کمی آن را شکیل‌تر کنیم. اولین نکته‌ای که توجه ما را جلب میکند این است که ماژول ما یک آیکن پیش فرض (چرخ دنده) دارد که بهتر است به آیکن دلخواه ما تغییر کند. به این منظور در پروژه، یک فایل Resource ایجاد کنید و یک تصویر را به این فایل Resource اضافه کنید و در کلاس imageCopyrightUI کد را به صورت زیر تغییر دهید:
internal class imageCopyrightUI : Module
    {
        protected override void Initialize(IServiceProvider serviceProvider, ModuleInfo moduleInfo)
        {
            
            base.Initialize(serviceProvider, moduleInfo);
            IControlPanel controlPanel = (IControlPanel)GetService(typeof(IControlPanel));
            ModulePageInfo modulePageInfo = new ModulePageInfo(this, typeof(imageCopyrightUIPage), "Image Copyright", "Image Copyright",Resource1.Visual_Studio_2012,Resource1.Visual_Studio_2012);
            controlPanel.RegisterPage(modulePageInfo);
        }
    }
حال پروژه را Rebuild کنید و IIS را مجددا باز کنید تا ببینید که کامپوننت جدید شما آیکن جدید را دارد. دومین نکته‌ای که به چشم می‌آید این است که اگر دقت کنید سایر ماژول‌ها یا کامپوننت‌ها هر کدام در گروهی جداگانه جای گرفته‌اند و افزونه‌ی شما در یک گروه به اسم others، که زیاد جالب نیست و شاید دوست داشته باشید که ماژول شما هم در یکی از همین دسته‌ها جای بگیرد یا حتی اینکه خودتان یک گروه جدید بسازید. برای اینکه خوب قسمت‌ها و نام کلاس‌های آن‌ها را یاد بگیرید به شکلی که در قسمت قبلی هم گذاشته بودیم خوب دقت کنید.

نکته ای که باید توجه داشته باشید این است که گروه بندی در IIS به سه شیوه صورت می‌گیرید : یکی به شیوه ناحیه Area مثل ASP.Net و management و IIS، دسته بندی Category مثل Application Development , ServerFeatures و بدون گروه بندی که می‌توانید از طریق لیست Group By در بالای پنجره IIS یکی از این سه حالت را انتخاب نمایید
برای اینکه ماژول در یک ناحیه یا دسته‌ای مشخص قرار بگیرد کد زیر را بنویسید:
  internal class imageCopyrightUI : Module
    {
        protected override void Initialize(IServiceProvider serviceProvider, ModuleInfo moduleInfo)
        {            
            base.Initialize(serviceProvider, moduleInfo);
            IControlPanel controlPanel = (IControlPanel)GetService(typeof(IControlPanel));
            ModulePageInfo modulePageInfo = new ModulePageInfo(this, typeof(imageCopyrightUIPage), "Image Copyright", "Image Copyright", Resource1.Visual_Studio_2012, Resource1.Visual_Studio_2012);
            controlPanel.RegisterPage(ControlPanelCategoryInfo.AspNet,modulePageInfo);
        }
    }
اگر خوب دقت کنید می‌پینید که تنها تغییر کدها در متد regiterpage بوده است که با استفاده از کلاس ControlPanelCategoryInfo ناحیه مورد نظر را مشخص کردیم و اگر حالا پروژه را Rebuild کنید می‌بینید که در ناحیه ASP.Net قرار گرفته است. گروه‌های‌های مختلف دیگری چون Application Development,Server,Performance و ... هم در این کلاس وجود دارند که جمعا 9 گروه می‌شوند.

 حال این سوال پیش می‌آید اگر بخواهم گروه اختصاصی ایجاد کنم، چه کاری باید انجام شود. پس کد را به شکل زیر تغییر دهید:
internal class imageCopyrightUI : Module
    {
        protected override void Initialize(IServiceProvider serviceProvider, ModuleInfo moduleInfo)
        {            
            base.Initialize(serviceProvider, moduleInfo);
            IControlPanel controlPanel = (IControlPanel)GetService(typeof(IControlPanel));
            ModulePageInfo modulePageInfo = new ModulePageInfo(this, typeof(imageCopyrightUIPage), "Image Copyright", "Image Copyright", Resource1.Visual_Studio_2012, Resource1.Visual_Studio_2012);

                        ControlPanelCategorization areaCategorization = null;
            foreach (ControlPanelCategorization categorization in controlPanel.Categorizations) {
                if (categorization.Key == ControlPanelCategorization.AreaCategorization) {
                    areaCategorization = categorization;
                    break;
                }
            }
           ControlPanelCategoryInfo cat=new ControlPanelCategoryInfo("dotnettips","Dot Net Tips","This is a Tutorial",areaCategorization);
            controlPanel.RegisterCategory(cat);
            controlPanel.RegisterPage(cat.Name,modulePageInfo);
        }
    }
در خطوط foreach ما به دنبال نوع گروهی که قرار است ماژول ما در آن قرار بگیرد می‌گردیم و علاقمندیم که گروه بندی ما در نوع Area باشد. برای همین این نوع را یافته و در متغیری از نوع ControlPanelCategorization قرار می‌دهیم. سپس توسط کلاس ControlPanelCategoryInfo یک نوع گروه بندی جدید ایجاد کرده ایم که به ترتیب نام، عنوان، توضیح و نهایتا نوع گروه بندی را در آن لحاظ می‌کنیم و سپس با دستور controlPanel.RegisterCategory گروه جدید خود را که در area قرار دارد، در IIS ثبت می‌کنیم و موقع افزودن صفحه مستقیما نام گروه را در آن ذکر می‌کنیم. پروژه را Rebuild و IIS را مجددا اجرا کنید. اگر Group by شما روی Area باشد که به طور پیش فرض چنین است شما باید گروه Dot Net Tips را ببینید؛ حال از طریق لیست Group By گزینه‌ی Category را انتخاب نمایید. همانطور که مشاهده می‌کنید دوباره ماژول شما در دسته‌ی Others قرار می‌گیرد؛ چرا که ما برای Area گروه بندی را لحاظ کرده بودیم. برای اینکه بتوانیم در دو حالت، دسته بندی داشته باشیم، کد را به شکل زیر تغییر می‌دهیم:
    ControlPanelCategorization areaCategorization = null;
                        ControlPanelCategorization CategoryCategorization = null;
            foreach (ControlPanelCategorization categorization in controlPanel.Categorizations) {
                if (categorization.Key == ControlPanelCategorization.AreaCategorization) {
                    areaCategorization = categorization;
                }
                if (categorization.Key == ControlPanelCategorization.CategoryCategorization)
                {
                    CategoryCategorization = categorization;
                }
            }
           ControlPanelCategoryInfo cat1=new ControlPanelCategoryInfo("dotnettipsarea","Dot Net Tips Area","This is a Tutorial",areaCategorization);
            controlPanel.RegisterCategory(cat1);
            controlPanel.RegisterPage(cat1.Name,modulePageInfo);

            ControlPanelCategoryInfo cat2 = new ControlPanelCategoryInfo("dotnettipscat", "Dot Net Tips Category", "This is a Tutorial", CategoryCategorization);
            controlPanel.RegisterCategory(cat2);
            controlPanel.RegisterPage(cat2.Name, modulePageInfo);
فکر کنم اتفاق بالا با توجه به مواردی که قبلا یاد گرفتید با وضوح کامل مشخص باشد که اینبار دو حالت گروه بندی را ذخیره و هر کدام را جداگانه در کنترل پنل IIS ثبت کردیم.
بین سایر گزینه‌های کنترل پنل گزینه controlpanel.regiterhomepage هم به چشم می‌خورد که اگر رابط کاربری را با این گزینه رجیستر کنیم صفحه اصلی IIS پریده و رابط کاربری ما جایگزینش می‌شود که البته این قسمت را باید با احتیاط با آن برخورد کرد وگرنه اگر بخواهیم همین رابط کاربری را به عنوان صفحه‌ی خانگی رجیستر کنیم، دسترسی ما به دیگر ماژول‌ها قطع خواهد شد.
تا به اینجا این مبحث از سری آموزشی ما بسته می‌شود. در مقالات آینده موارد دیگری از IIS را مورد بررسی قرار خواهیم داد.
نظرات اشتراک‌ها
یک سایت آموزشی / کاربردی خوب برای طراحان صفحات وب
بله دوست عزیز مثالها تفکیک شده نیست چون همون طور که عرض کردم مثالها کاربردی هم هست ... 
اغلب برای تولید یک کامپوننت خوب و بدرد بخور از چند نا تکنولوژی با هم استفاده میکنند . html + css + javascript + .... 
ضمنا در سایت دسته بندی برای موضوعات وجود داره اما دسته بندی بر اساس تکنولوژی نه ! اگر میخواهید در یک زمینه خاص از ابتدا تجربه کسب کنید و بقیه تکنولوژی‌ها رو نمیدونید من کتاب آموزشی و سایتهای آموزشی دیگه رو پیشنهاد میکنم نه این سایت رو . 
بهر حال من فکر میکنم این سایت میتونه برای طراحان سایت جالبی باشه .
اشتراک‌ها
سایت آموزشی ZetCode
سایت فوق شامل آموزش هایی پیرامون زبان‌های مختلف برنامه نویسی همچون سی شارپ، پایتون، پی اچ پی و ...، پایگاه‌های داده ای همچون مای اس کیو ال، اس کیو ال لایت و ... می‌باشد. زبان سایت انگلیسی روان است. از جمله برتری‌های آن نسبت به سایت‌های آموزشی دیگر داشتن خط آموزشی مناسب و پرهیز از توضیحات اضافی و خسته کننده است. این سایت برای افرادی که می‌خواهند برنامه نویسی را در سطح متوسط بیاموزند، مناسب و کارآمد است.
به نقل از این سایت: " مأموریت این سایت آموزش سریع و آسان و فهم تکنولوژی‌های روز است. " 

سایت آموزشی ZetCode