ably ably برای هدایت شدن به سایت جدید اینجا کلیک کنید

آموزش برنامه نویسی

آموزش برنامه نویسی وب، اندروید، ویندوز , اسکیوال و...
Tell: 0912 097 5516
| Email: Hello@EduOnline.ir

۸۵ مطلب با کلمه‌ی کلیدی «آموزشگاه برنامه نویسی» ثبت شده است

آموزش User Agent

بسم الله الرحمن الرحیم

User Agent چیست

در این بخش قصد دارم یک بخش ساده از یک درخواست ارسالی از سوی یک مرورگر (کلاینت) به سمت یک سرور را معرفی کنم. در واقع هنگامی که شما یک سایت را فراخوانی می کنید، درخواست شما و سایر اطلاعات مربوط به سیستم کلاینت شما توسط یک استرینگ به نام User Agent به سمت سرور ارسال می شود.

قصد معرفی و طولانی کردن بی جهت مطلب را ندارم، انشالله در بحث های آتی کاربرد این مبحث را کاملا توضیح خواهم داد.

ادامه مطلب...

مفاهیم دیتا ماینینگ

بسم الله الرحمن الرحیم

آموزش دیتا ماینینگ

با توجه به طراحی و پیاده سازی سیستم های اتوماسیون اداری، در حال حاضر بسیاری از سازمان ها از اینگونه نرم افزار ها برای مدیریت فرایندهای درون سازمانی استفاده می کنند. با توجه به این موضوع شاید تجربه از بین رفتن اطلاعات یا قطع شدن سیستم برای بازهای زمانی کوتاه وطولانی و در هر صورت به وجود آمدن مشکلات بسیار بزرگ را داشته باشید.

در تکنولوژی های جمع آوری اطلاعات، مبحثی با عنوان DA  یا به اصطلاح Data Availability که به معنای تداوم پذیری دسترسی به داده ها است به عنوان دغدغه اصلی تمامی سازمان ها می باشد.

ادامه مطلب...

آموزش طراحی قالب Responsive

بسم الله الرحمن الرحیم

آموزش طراحی قالب Responsive

در این بخش قصد دارم به صورت مختصر آموزش ساخت یک قالب Responsive را آموزش دهم. بدون هیچ بحث اضافی سراغ مباحث مربوطه می رویم:

برای نمایش عناصر صفحه در مقایس های مختلف مثل کامپیوتر ها یا تبلت و در نهایت موبایل به نحوی که بتوان اطلاعات را به صورت صحیح نمایش داد نیاز است شما در مورد هر مقایس تصمیمی اخذ نمایید برای این فرایند کافی است از دستور media@ استفاده نمایید. ساختار این دستور بسیار ساده می باشد. در دستور زیر ما مشخص کردیم که اگر خروجی ما صفحه نمایش بود و سایز ما حداقل 1200 پیکسل بود تغییرات مورد نظر صورت گیرد. این کار را به صورت های زیر می توان انجام داد:

درون یک فایل StyleSheet


@media screen and (min-width : 1200px) {  
  /* let's do somethin' */
}

لینک دادن به یک StyleSheet


<link rel="stylesheet" media="screen and (min-width: 1200px)" href="small.css" /> 

در روش بالا اگر سایز ما حداقل 1200 پیکسل بود فایل مشخص شده به صفحه ما اضافه می گردد.

لینک دادن به یک فایل StyleSheet (در صورت موبایل بودن دستگاه یا هر دستگاهی با نهایت وضوح 480 پیکسل)


<link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="mobile.css" />  

لینک دادن به یک فایل StyleSheet درون دستورات CSS


@import urlsmall.css ) screen and ( min-width1200px );  

استفاده از عملگرهای منطقی

AND


@media (min-width: 600px) and (max-width: 800px) {
  html { background: red; }
}

OR


@media (max-width: 600px), (min-width: 800px) {
  html { background: red; }
}

NOT


@media not all and (max-width: 600px) {
  html { background: red; }
}

Exclusive


@media (max-width: 400px) {
  html { background: red; }
}
@media (min-width: 401px) and (max-width: 800px) {
  html { background: green; }
}
@media (min-width: 801px) {
  html { background: blue; }
}

Overriding

@media (min-width: 400px) {
  html { background: red; }
}
@media (min-width: 600px) {
  html { background: green; }
}
@media (min-width: 800px) {
  html { background: blue; }
}

در نهایت یک مثال کامل


@media 
  only screen and (min-width: 100px),
  not all and (min-width: 100px),
  not print and (min-height: 100px),
  (color),
  (min-height: 100px) and (max-height: 1000px),
  handheld and (orientation: landscape)
{
  html { background: red; }
}

مرورگرهایی که دستورات media@ را پشتیبانی می کنند:

  • Firefox 3.5+
  • Opera 9.5+
  • Safari 3+
  • Chrome
  • Internet Explorer 9+

یک قالب سایت ساده برای آموزش

یک مثال برای طراحی

آموزش Bundling

بسم الله الرحمن الرحیم

آموزش asp.net mvc

 در این بخش قصد دارم در خصوص بهینه سازی و افزایش سرعت لود صفحات وب مباحثی را بررسی نماییم.

همان طور که می دانید اگر در یک سایت شما چندین فایل داشته باشید به ازای هر فایل می بایست یک درخواست به سرور ارائه شود و فایل مربوطه بازیابی گردد و این خود باعث طولانی شدن زمان لود صفحات می گردد، راهکاری که برای این مشکل ارائه گردیده است تبدیل چندین فایل به یک فایل می باشد که این روش متاسفانه فقط برای فایل های تصویری، رایج و مورد استفاده است.

واقعا بسیاری از ما نیز، هنوز از این روش رایج استفاده نمی کنیم کافی است که تمامی آیکون ها و تصاویر با سایز کوچکی که در سایت مورد استفاده می خواهیم قرار دهیم را به یک تصویر تبدیل کنیم.

ادامه مطلب...

جداول موقت در SQL Server

بسم الله الرحمن الرحیم

آموزش جداول موقت در SQL Server

همانطور که می دانید در SQL server یک پایگاه داده از پیش تعریف شده با نام Tempdb وجود دارد، در بعضی مواقع شما نیاز به یک جدول موقت نیاز دارید این جداول در این پایگاه داده ذخیره می شود البته جداول به دو دسته تقسیم می شوند یکی ما متغییر هایی از جنس جدول و دیگری جداول موقت، منظور ما جداول موقت است.

خوب برای استفاده از ویژگی متغییر های جداول موقت کافی است مثل مثال زیر عمل نمایید:

 


DECLARE @Table TABLE
(

id INT ,name NVARCHAR(MAX)
);
DECLARE @i INT =0
WHILE(@i<20)
BEGIN
INSERT INTO @Table ([id],[name]) VALUES (@i,'ESH')
SET @i+=1;
END

SELECT * FROM @Table

--UPDATE

--DELETE

 

ادامه مطلب...

ساخت Transaction در سی شارپ

بسم الله الرحمن الرحیم

آموزش برنامه نویسی آسنگرون در سی شارپ

در مطالب گذشته نحوه اجرای Transaction را در اسکیوال بیان کردم، خوب بسیاری از مزایای این کار بیان شد حال همین موارد را می توانیم در سی شارپ پیاده سازی نماییم، بدون توضیحات اضافی مثالی را بررسی می کنیم:

ادامه مطلب...

آموزش PIVOT در SQL Server

بسم الله الرحمن الرحیم

آموزش SQL Server

در بعضی مواقع نیاز است بجای نمایش نام ستون ها، مقدار فیلد به عنوان نام ستون و مقدار آن زیر ستون نمایش داده شود خوب بدون توضیح اضافی یک مثال مطرح می کنیم


SELECT [shiraz],[tehran]
FROM
(
SELECT [name]
      ,[salary]
  FROM [emp]
) AS TEMP
PIVOT
(

SUM(salary) FOR [name] IN ([shiraz],[tehran])
)AS PVT

و در نهایت خروجی دستور

ادامه مطلب...

همگام و ناهمگام در SQL

بسم الله الرحمن الرحیم

آموزش برنامه نویسی ناهمگام در سی شارپ

در این بخش می خواهیم در خصوص نحوه و شیوه های اجرای دستورات در اسکیوال مباحثی را معرفی کنیم. همان طور که شما می دانید در زبان های مختلف برنامه نویسی در خصوص نحوه اجرای دستورات دو روش اصلی Synchronize و  ASynchronize وجود دارد. در روش Synchronize تا اتمام دستورات نرم افزار شما عملا متوقف شده و به اصطلاح Lock می شود خوب وقتی این اتفاق برای ثبت یک رکورد باشد هیچوقت محسوس نیست اما فکر کنید این فرایند برای ثبت تعداد زیادی رکورد اتفاق بیافتد در این حالت سایر پردازش های نرم افزار شما باید منتظر بمانند تا فرایند کار با اسکیوال به پایان برسد!

در روش دوم  ASynchronize، پردازش های اسکیوال شما همراه با سایر پردازش های نرم افزار شما همزمان انجام خواهد شد.

مثال:

برای دانلود مثال لطفا کلیک کنید
عنوان: ASynchronize
حجم: 1.05 کیلوبایت

ادامه مطلب...

چطور سرعت واکشی اطلاعات را افزایش دهیم؟

بسم الله الرحمن الرحیم

 آموزش SQL Server

در بسیاری از پروژه ها به دلیل حجم پایین اطلاعات و تراکنش اندک در RW کردن اطلاعات هیچ نیازی به بهینه سازی اطلاعات نیست، اماممکن است شما هم مثل بنده بخواهید پایگاه داده ای را طراحی کنید که سرعت واکشی بسیار مهم باشد.

مثلا یک سایت بزرگ را در نظر بگیرید، سایتی مثل facebook این سایت چه تعداد کاربر دارد حجم تبادل اطلاعات آن چقدر است و هر روز به صورت نجومی این حجم اطلاعات در حال افزایش است، واقعا خیلی زیبا است که چطور با این حجم اطلاعات بتوان کار کرد (من شخصا پایگاه دادهایی را بیشتر از چندین گیگابایت تجربه کردم ولی تا این حد را تجربه نکردم)  خوب کمی واقعی فکر کنیم! مثلا این را در نظر بگیرید که می خواهید یک سایت جامعه مجازی فقط و فقط برای یک شهر ایران بنویسید و طراحی پایگاه داده آن با شما است.

ادامه مطلب...

معرفی دو DataType در SQL

بسم الله الرحمن االرحیم

آموزش SQL Server

Timestamp

در بعضی مواقع نیاز است شما اطلاعات درون یک پایگاه داده را به صورت Mirror ذخیره کنید، یعنی ما یک پایگاه داده اصلی و یک پایگاه داده پشتیبان داریم که اطلاعات بر روی پایگاه داده اصلی RW می شود و نسخه ای از آن نیز بر روی پایگاه داده دوم بایگانی می شود. خوب فکر کنید این کار را در سطح بسیار کوچکتر و فقط بر روی یک جدول در یک پایگاه داده انجام دهید یعنی اطلاعات این جدول با ارزش بوده و می خواهید به صورت ساده هر تغییری که در اطلاعات جدول شماره یک صورت گرفت بر روی جدول شماره دو انجام شود. راه حل؟

خوب بعضی ها اولین راه را انتخاب می کنند یعنی هر عملیات CUD را بروی جدول شماره یک اگر صورت گرفت بر روی جدول شماره دو نیز همان کار را تکرار می کنند، خوب است.

خوب راه دیگر استفاده از فیلد TimeStamp است که مقدار باینری را در خود نگه می دارد، در صورتی که مقدار رکورد عوض شود مقدار باینری این فیلد نیز عوض خواهد شد

پس اگر بخواهید متوجه شوید که مثلا بر روی رکورد شما توسط کاربر تغییری صورت گرفته می توان با مشاهده مقدار این فیلد، به این جواب برسید مثال:

 

TimeStamp

 

 

ادامه مطلب...

آموزش SQL Transaction

بسم الله الرحمن الرحیم

آموزش SQL Transaction

در این بخش قصد دارم مدیریت تراکنش های اسکیوال را به صورت مختصر توضیح دهم

توسط متغییر Global، @@Error می توانیم شماره خطا را بازیابی نماییم اگر خطایی داشته باشیم مقدار این متغییر از صفر بزرگتر است در غیر این صورت مقدار آن صفر است و در صورتی که از این متغییر استفاده کنیم مجددا مقدار این متغییر صفر می گردد

همچنین جهت خواندن شماره خطا می توانیم از Error_Number() استفاده کنیم و جهت چاپ متن خطا از Error_Message استفاده می کنیم

جهت ایجاد یک خطا به صورت دستی می توانیم از RAISERROR استفاده کنیم

مثال


    RAISERROR('خطایی رخ داده است',16,1)

به دلیل وجود کاراکترهای فارسی و انگلیسی جای متن خطا از ابتدا به انتها منتقل شده به همین دلیل تصویری در انتهای مطلب قراردادم که گویا ی موضوع باشد

عدد 16 محدوده خطا را مشخص می کند بهتر است همیشه از این عدد استفاده کند چون این عدد خطای ایجاد شده را به برنامه ی شما (مثلا سی شارپ) نیز ارسال می کند.

کاربرد این دستور برای مواردی است که شما می خواهید در صورت برقرار نشدن یک شرط دستورات خاتمه یابد مثلا برای جلوگیری از درج یک رکورد جدید در جدول کاربران با نام کاربری که قبلا ثبت شده است.

در مواردی که شما می خواهید در یک تراکنش تنها بخشی را خاتمه دهید ولی تراکنش همچنان ادامه داشته باشد کافی است که شما از دستور Save Point استفاده نمایید

مثال


BEGIN TRAN PARRNT
            INSERT INTO USERS(userName,[password]) VALUES ('A','A')
            PRINT 'INSERTED A'
                              BEGIN TRY
                                          SAVE TRAN INSERT_PART  
                                       RAISERROR ('خطایی رخ داده است',16,1)
                                                INSERT INTO USERS(userName,[password]) VALUES ('B','B')   
                                            PRINT 'INSERTED B'
                              END TRY
                              BEGIN CATCH
                                          ROLLBACK TRAN INSERT_PART
                              END CATCH
            INSERT INTO USERS(userName,[password]) VALUES ('C','C')
            PRINT 'INSERTED C'
COMMIT TRAN PARENT

 

SavePoint

آموزش Constraint

بسم الله الرحمن الرحیم

آموزش SQL Server

در هر پایگاه داده ای که طراحی می شود وابسته به این که این سیستم برای چه محیطی طراحی شده است محدودیت ها و قید و شرطهایی مطرح می شود. مثلا قصد داریم برای یک شرکت تجاری پایگاه داده ای طراحی کنیم و پرسنل این شرکت در هیچ شرایطی در خصوص شروع اضافه کاری نباید ساعات بین 22 الی 6 صبح باشد. راه حل های ساده ای وجود دارد و معمولا اکثر برنامه نویسان این وظیفه را به جای طراحان انجام می دهند و طبیعتا این کار را در Application مورد نظر نوشته می شود خوب راه حل دیگر این است که ما به عنوان طراح این کار را در پایگاه داده انجام دهیم و کمکی به همکار برنامه نویسمان کنیم.

مثال

 

ادامه مطلب...

آشنایی با SQL

بسم الله الرحمن الرحیم

آموزش SQL Server

DataBase Engine

 در واقع مهمترین بخش اسکیو ال است که وظیفه مدیریت و اجرای سرویس های پایه را بر عهده دارد ساخت دیتابیس، مدیریت رشد db، ساخت جداول، جستجو، مرتب سازی، ایندکس کردن، اجرای دستورات، ساخت توابع و پروسیجر و تریگر، امکان برنامه نویسی از راه دور، امنیت، نسخه پشتیبان، اتچ کردن، همه توسط این بخش صورت می گیرد.

 

نرم افزار SQL Server Business Intellgince

به صورت مختصر و مفید باید گفت برنامه ای است که توانایی اجرای دستورات C# را در اسکیوال دارد.

 

SSMS

به صورت مختصر و مفید باید گفت نرم افزاری است که توسط آن می توانیم به تمامی امکانات اسکیوال به صورت گرافیکی دسترسی داشته باشیم.

خوب سعی کردم تمام این مطالب را کمی مختصر مطرح کنم تا برسیم سراغ بحث اصلی خودمان، در بعضی ممکن است شما بخواهید بر روی یک سیستم کارها و دستورات اسکیوال را اجرا کنید ولی به دلیل محدودیت هایی نمی توانید اسکیوال سرور را به صورت کامل نصب کنید تا از بخش های مدیریت آن استفاده کنید، خوب راه حل ؟

شما کافی است از نرم افزار کوچکی به نام SQL Comand در Command line استفاده کنید

ادامه مطلب...

Binding and Behavior

 بسم الله االرحمن الرحیم

آموزش WCF

Binding

 یک تعریف ساده برای Binding توصیف می کند چطور کلاینت با سرویس ارتباط بر قرار خواهد کرد. این مطلب را می توانیم با یک مثال متوجه شویم. این سناریو را در نظر بگیرید، می خواهیم سرویسی را بسازیم که دو نوع مختلف از کلاینت می بایست به آن متصل شوند. یکی از کلاینت ها می بایست به صورت SOAP و با استفاده از http و کلاینت دیگر به صورت Binary و از طریق TCP متصل خواهد شد. این کار چطور می تواند صورت پذیرد؟ با وب سرویس که خیلی سخت خواهد بود، اما در WCF فقط کافی است یک Endpoint ویژه به فایل پیکربندی اضافه کنیم.



<system.serviceModel>
    <services>
      <service name="MathService"
        behaviorConfiguration="MathServiceBehavior">
      <endpoint address="http://localhost:8090/MyService/MathService.svc"
        contract="IMathService"
          binding="wsHttpBinding"/>
<endpoint address="net.tcp://localhost:8080/MyService/MathService.svc"
contract="IMathService"
          binding="netTcpBinding"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="MathServiceBehavior">
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

 

ادامه مطلب...

بخش های یک EndPoint

 بسم الله الرحمن الرحیم

آموزش WCF

End Point

سرویس WCF یک برنامه است که یک مجموعه از End Point را ارائه می دهد. هر End Point یک پرتال است که ارتباط را با دنیا را برقرار می کند.

همه ارتباطات WCF از طریق بستر End Point ایجاد می شود. End point شامل سه بخش می باشد.

Address

درواقعURL ، جایی که این سرویس WCF هاست شده است را مشخص می کند. کلاینت از این آدرس جهت برقراری ارتباط با سرویس استفاده خواهد کرد. مثال:

http://localhost:8090/MyService/SimpleCalculator.svc

Binding

توصیف می کند که کلاینت چطور با این سرویس ارتباط برقرار خواهد کرد. پروتکل های متفاوتی برای برقرار کردن ارتباط با کلانیت وجود دارد. شما میتوانید ذکر کنید پروتکل خود را بر اساس نیازی که دارید.

ادامه مطلب...

مفاهیم اصلی WCF

بسم الله الرحمن الرحیم

آموزش WCFx

پس از بررسی بخش های ابتدایی و معرفی WCF قصد داریم با مفاهیم زیر آشنا شویم

در این بخش مفاهیم اصلی WCF را آموزش خواهم داد.

  • End Point
  • Bindings and Behavior
  • Contracts and Service host
  • Message and Channel
  • WCF client and Metadata

تفاوت بین WCF و وب سرویس

بسم الله الرحمن الرحیم

آموزش برنامه نویسی wcf

Features

وب سرویس

WCF

Hosting

می تواند در IIS  هاست شود

می تواند در IIS  ,

windows activation service, Self-hosting, Windows service

هاست شود

Programming

خصوصیت [WebService] باید به کلاس اضافه شود

خصوصیت [ServiceContract] باید به کلاس اضافه شود

Model

خصوصیت[WebMethod]  باید به متدی که میخواهید در کلاینت ظاهر شود اضافه شود

خصوصیت[OperationContract]  باید به متدی که میخواهید در کلاینت ظاهر شود اضافه شود

Operation

یک طرفه، Request- Response متفاوت پشتیبانی می شود

One-Way, Request-Response, Duplex متفاوت پشتیبانی می شود

XML

نام name space برای سریالایز کردن  System.Xml.serialization است

نام name space برای سریالایز کردن  System.Runtime.Serialization است

Encoding

XML 1.0, MTOM(Message Transmission Optimization Mechanism), DIME, Custom

XML 1.0, MTOM, Binary, Custom

Transports

قابلیت دسترسی از طریق

HTTP, TCP, Custom

قابلیت دسترسی از طریق

 HTTP, TCP, Named pipes, MSMQ,P2P, Custom

Protocols

Security

Security, Reliable messaging, Transactions

 

 

ابزار توسعه WCF

بسم الله الرحمن الرحیم

آموزش WCFx

برنامه های WCF می توانند با Microsoft Visual Studio توسعه داده شوند همچنین Microsoft برنامه داخلی را توسعه و تست نرم افزار های تولید شده WCF ایجاد کرده است که این نرم افزار با استفاده از دستور wcfClient Serviceurl قابل دستیابی است. این نرم افزار به شما این امکان را می دهد که سرویس خود را قبل از ساختن کلاینت تست نمایید.

wcftestclient

ادامه مطلب...

مزایا و معایب WCF

بسم الله الرحمن الرحیم

آموزش wcf به زبان فارسیx

معرفی WCF

Windows Communication Foundation یک پلتفرم برنامه نویسی و سیستم بلادرنگ برای ساختن، توسعه و پیکربندی سرویس های شبکه های توزیع شده است. کد این روش را آبی نیلی می نامند شاید دانستنش برای شما هم جالب باشد.

این روش آخرین روش در تکنولوژی سرویس گرا (Service oriented) و به احتمال زیاد اساس خصوصیت WCF می باشد، البته روش Web Api از این روش بسیار جدیدتر است یعنی در این زمان که درحال آموزش WCF هستیم Web Api  در MVC 4 معرفی شده و بسیار روش جدیدی می باشد که من قبل از پرداختن به آموزش WCF، روش Web Api را نیز معرفی و آموزش داده ام.

این مدل برنامه نویسی یکپارچه فراهم شد در Net Framework 3.0. WCF ترکیب شده از ویژگی های Web Service, Remoting, MSMQ and COM+ می باشد. WCF یک پلتفرم مشترک برای همه ارتباطات NET. فراهم می کند.

 

ادامه مطلب...

دوره آموزشی WCF

بسم الله الرحمن الرحیم

آموزش wcf به زبان فارسیx

قصد دارم مباحث WCF را به صورت کامل توضیح دهم، البته ممکن است در مباحث تئوری توضیحات گیج کننده به نظر برسد و دقیقا متوجه نشوید لطفا صبور باشید و مباحث را ادامه دهید.

چون هیچ منبع مناسب فارسی وجود نداشت سعی کردم مباحث را به صورت کامل از یک منبع کامل برگریم. البته یک آموزش دیگر هم قرار خواهم داد که کوتاه است و فقط برای معرفی و آشنایی خواهد بود که قبلا مطلبی را با همین موضوع انتشار داده ام که انشالله آن را هم نیز ادامه خواهم داد.

در این دوره مفاهیم و نحوه ساختن service وسایر ویژگی های WCF را معرفی کنم. WCF برای شبکه های بزرگ توزیع شده می باشد که توسط مایکروسافت برای ارتباط بین Application ها ایجاد شده است. WCF مخفف عبارت windows communication foundation می باشد، در این بخش تفاوت بین Service و WCF را آموزش خواهم داد.

 

انشالله که مفید واقع شود

یا علی

up
ما را در گوگل محبوب کنید