عکس خرید فروش

فرمت ها و قالب بندی های تصاویر

نویسنده: احسان

فرمت ها و قالب بندی های تصاویر

 

iconبرای دانلود کلیک کنید

icon برچسب ها: , , , ,
  • نوشته: admin
  • تاریخ: ۸ بهمن ۱۳۹۰
  • دیدگاه‌ها خاموش
  • آموزش گام به گام ویژیال بیسیک برای مبتدیان

    نویسنده: افشین عباسپور

    آموزش گام به گام ویژیال بیسیک برای مبتدیان

     

    iconبرای دانلود کلیک کنید

    icon برچسب ها: , ,
  • نوشته: admin
  • تاریخ: ۲۵ دی ۱۳۹۰
  • دیدگاه‌ها خاموش
  • Cache – قسمت دوم : Caching Data in the Architecture

    نوشته شده توسط بهزاد عبدالله زاده
      

    دریافت مقاله به صورت فایل PDF 

     

    Download the code for this tutorial

     

    Download this tutorial in PDF format

     

    کش
    کردن داده ها :

     

    در
    مقاله قبلی ما
    یاد گرفتیم که
    چگونه در لایه
    presentation
    بتوانیم
    اطلاعات را کش
    کنیم. در این
    مقاله ما یاد
    خواهیم گرفت
    که چگونه می
    توان یک لایه
    برای کش کردن
    داده ها به
    برنامه
    هایمان اضافه
    نماییم.

     

    مقدمه
    :

     

    همانطور
    که در مقاله
    گذشته نشان داده
    شد، کش کردن داده
    ها بوسیله ObjectDataSource تنها
    با تنظیم کردن
    مجموعه ای از property ها
    قابل پیاده
    سازی است.  متاسفانه
    این کنترل کش
    کردن داده ها را
    در لایه presentation
    انجام می دهد
    ، و طبق صحبت
    هایی که در
    مقاله اول از
    این سری مقالات
    صحبت شد، در
    توسعه نرم
    افزار و
    انعطلف پذیری
    آن خوب عمل
    نمی کند و
    بهتر است که
    لایه جدیدی
    برای این
    منظور در نظر
    گرفته شود.

    برای
    مثال لایه Business Logic
    ، قوانین
    تجاری را از
    صفحات ASP.NET  جدا
    می کند ، در
    حالی که لایه Data Access جزئیات
    دسترسی به
    داده ها را
    جدا می کند. این
    جداسازی ها
    بسیارخوب
    هستند زیرا باعث
    افزایش
    خوانایی ،
    نگهداری ،
    انعطاف پذیری
    برنامه ها در
    مقابل تغییرات
    می شود. سیاست
    جدا سازی لایه
    presentation از caching نیز به
    خاطر همین
    دلایل است.

    در
    این مقاله ما
    به معماری
    قبلیمان لایه
    جدیدی بنام Caching Layer  ( یا به طور
    خلاصه CL ( که تمامی
    عملیات کش
    کردن اطلاعات
    را مدیریت می
    کند ، اضافه
    خواهیم کرد. این
    لایه شامل
    کلاسی بنام ProductsCL که شرایط
    مورد نیاز
    برای دسترسی
    به اطلاعات product
    را بوسیله
    متدهایی
    همچونGetProduct(), GetProductsByCategoryID(categoryID) فراهم می
    کند . این
    متدها در
    ابتدا تلاش می
    کنند که
    اطلاعات را از
    cache استخراج
    کنند . اگر cache  خالی
    باشد، متدهای
    مناسبی را از
    لایه ProductBLL
    فراخوانی
    خواهند کرد.
    در نهایت
    متدهای کلاس ProductBLL دادهای
    استخراج شده
    را قبل از
    برگرداندن ،
    کش خواهند
    کزد.

    همانطور
    که شکل ۱ نشان
    می دهد ، CL (Cache Layer)
    مابین لایه
    های Presentation و Business Logic قرار می
    گیرد.


     

     

    گام
    ۱ : تولید کلاس
    های Caching Layer

     

    در
    این مقاله ما
    یک لایه کش
    بسیار ساده که
    تنها شامل کلاس
    ProductBL است
    را تولید
    خواهیم کرد.
    ایجاد یک لایه
    کش کامل برای
    تمام پروژه
    ممکن است شامل
    ایجاد کلاس های
    CategoriesCL, EmployeedCL
    و SuppliersCL
    و همچنین
    تولید متدی در
    کلاس های این
    لایه برای
    دسترسی به
    داده باشد .
    همچون لایه
    های BLL
    و DAL
    ، این لایه
    نیز بهتر است
    که به عنوان
    یک Class Library
    Project جدا باشد.
    ما دراین جا
    آن را در پوشه App_Code
    بصورت یک کلاس
    پیاده سازی
    خواهیم کرد.

    برای
    اینکه جدا
    بودن کلاس های
    CL را
    از دیگر کلاس
    های DAL
    و BLL  مشخص
    تر باشد ،
    اجازه دهید تا
    یک زیر پوشه
    بنام CL
     در App_Code
    بصورت زیر
    ایجاد کنیم و
    در نهایت در
    آن کلاسی بنام
    ProductsCL.cs
    قرار می دهیم.

     

     

     

    این
    کلاس باید
    شامل مجوعه
    متدهایی
    مشابه در کلاس
    Business Logic
    Layer یعنی ProductBLL باشد. ما
    متدهای GetProducts() و GetProductsByCategoryID(categoryID) را در گام ۳ و
    یک متد UpdateProduct در
    گام ۴ ایجاد
    خواهیم کرد. شما
    می توانید
    دیگر متدهای ProductsCL و کلاس های CategoriesCL, EmployeesCL و SuppliersCL را
    خودتان ایجاد
    نمایید.

     

     

    گام
    دوم : خواندن و
    نوشتن در داخل
    کش

     

    داده کش
    شده می تواند
    بصورت برنامه
    نویسی از داخل
    کدهای یک صفحه
    و یا از دیگر
    کلاس های یک
    پروژه ASP.NET  مورد
    دسترسی قرار
    گیرد. برای
    خواندن یا
    نوشتن از داده
    های کش شده از
    داخل کد صفحه
    می توان از الگوی
    زیر استفاده
    کرد :

     

     

     

    متد insert
    کلاس Cache
    چند حالت overload شده
    دارد. دو حالت Cache[“Key”]=Value و Cache.Insert(Key, Value)
    برای اضافه
    کردن یک آیتم
    به کش با
    استفاده از یک
    کلید تعیین
    شده و بدون
    تعیین زمان expire
    بکار می روند.
    معمولا ، ما
    در مورد کش ها
    تمایل داریم
    که یک زمانی
    را برای expire  شدن (
    براساس dependency و یا
    براساس زمان)
    در نظر بگیریم
    که دو حالت
    بعدی متد Insert این شرایط
    را فراهم می
    کنند.

    متدهایی
    که در لایه کش
    بکار می روند
    ابتدا چک می
    کنند که آیا
    داده درخواست
    شده در داخل
    کش وجود دارد یا
    خیر. اگر داده
    درخواست شده
    در کش موجود
    نباشد، متد
    مناسبی را از لایه
    BLL
    فراخوانی
    میکند. سپس
    مقدار بدست
    آمده کش می شود
    و در نهایت آن
    را به خروجی
    ارسال می کند.
    نمودار sequence این
    فرایند بشرح
    زیر می باشد:

     

     

    نمودار sequence فرایند
    بدست آوردن
    داده از لایه
    کش

     

    نمودار
    sequence نشان داده
    شده در بالا
    در کلاس های CL
    با استفاده از
    الگوی زیر
    کامل می شود :

     

     

     

    در
    این جا، Type ، نوع
    داده ذخیره
    شده در کش است .
    اگر یک آیتم
    با کلید مشخصی
    کش نشده باشد،
    مقدار آن
    برابر null
    خواهد بود و
    مقدار آن باید
    از متد مناسبی
    از لایه BLL
    استخراج و به
    کش اضافه شود. حتما
    مطمئن باشید
    که که از
    الگوی بالا در
    زمان استفاده
    از کش ها
    استفاده کنید.

     

    نکته : کش داده thread-safe است
    ، بنابراین
    شما نیازی به
    همزمان سازی (Synchronize)
    دسترسی داده
    برای خواندن و
    نوشتن ندارید
    . در هر حال ،
    اگر شما نیاز
    دارید که چند
    عملیات را
    بصورت همزمان
    بر روی داده
    ها در کش ، بصورت
    اتومیک انجام
    دهید ، باید
    از یک سری از
    روش ها همچون
    پیاده سازی
    قفل ها استفاده
    نمایید . برای
    اطلاعات
    بیشتر به Synchronizing Access to the ASP.NET Cache مراجعه
    نمایید.

     

    یک
    آیتم را شما
    می توانید
    بصورت برنامه
    نویسی از کش
    با استفاده از
    متد Remove
    بصورت زیر حذف
    نمایید:

     

     

     

     

    گام
    ۳ : بازیابی
    اطلاعات
    محصولات از
    کلاس ProductsCL

     

    در این
    مقاله ما دو
    متد برای
    استخراج داده
    های بدست آمده
    از کلاس ProductCL بنام
    های:  GetProducts()
    و GetProductsByCategoryID(categoryID)
    پیاده سازی
    خواهیم کرد. هدف
    از متد GetProduct() بازیابی
    تمامی
    محصولات است ،
    در حالیکه GetProductByCategoryID(categoryID)
    تمامی
    محصولات
    مربوط به یک
    گروه خاص را
    بر می گرداند.

     

    کدهای
    زیر قسمتی از
    متدهای داخل
    کلاس ProductCL
    را نشان می
    دهد:



     

    iconبرای دانلود کلیک کنید

    icon برچسب ها: , , ,
  • نوشته: admin
  • تاریخ: ۱۷ دی ۱۳۹۰
  • دیدگاه‌ها خاموش
  • کاربرد شبکه های عصبی در امنیت سیستم های کامپیوتری

    نویسنده: حمید پایگذار

    کاربرد شبکه های عصبی در امنیت سیستم های کامپیوتری

     

    iconبرای دانلود کلیک کنید

    icon برچسب ها: , , , ,
  • نوشته: admin
  • تاریخ: ۳۰ آذر ۱۳۹۰
  • دیدگاه‌ها خاموش
  • آموزش کامل تگ های سرویس میهن بلاگ

    نویسنده: محمد سعادت

    آموزش کامل تگ های سرویس میهن بلاگ

     

    iconبرای دانلود کلیک کنید

    icon برچسب ها: , , ,
  • نوشته: admin
  • تاریخ: ۲۹ آذر ۱۳۹۰
  • دیدگاه‌ها خاموش
  • باز کردن تصاویر TIF با IE

    نویسنده: نا مشخص

    باز کردن تصاویر TIF با IE

     

    iconبرای دانلود کلیک کنید

    icon برچسب ها: , , , ,
  • نوشته: admin
  • تاریخ: ۲۰ آذر ۱۳۹۰
  • دیدگاه‌ها خاموش
  • ضمیمه بایت روزنامه خراسان شماره ۷۲


    نویسنده: نا مشخص

    ضمیمه بایت روزنامه خراسان شماره ۷۲

    ناشر: روزنامه خراسان

    توضیحات:


    عناوین ضمیمه بایت روزنامه خراسان شماره ۷۲:

    - تیغ به دست زنگی
    مست ندهید
    - نسل سوم تلفن همراه و ویمکس برنامه هی آتی وزارت ی سی تی یران
    - قطعی فیبر نوری دلیلی بر قطعی ارتباط نیست

     

    iconبرای دانلود کلیک کنید

    icon برچسب ها: , , , ,
  • نوشته: admin
  • تاریخ: ۱۶ آذر ۱۳۹۰
  • دیدگاه‌ها خاموش
  • جزوه آموزشی کلاس ASP.NET همراه با برنامه ها

    نویسنده: وحید نصیری

    جزوه آموزشی کلاس ASP.NET همراه با برنامه ها

     

    iconبرای دانلود کلیک کنید

    icon برچسب ها: , , , ,
  • نوشته: admin
  • تاریخ: ۱۴ آبان ۱۳۹۰
  • دیدگاه‌ها خاموش
  • Shadow Software Attack

    نویسنده: هاشم همدانی

    Shadow Software Attack

     

    iconبرای دانلود کلیک کنید

    icon برچسب ها: , ,
  • نوشته: admin
  • تاریخ: ۱۳ آبان ۱۳۹۰
  • دیدگاه‌ها خاموش
  • آشنایی با فوتوشاپ

    نویسنده: نا مشخص

    آشنایی با فوتوشاپ

     

    iconبرای دانلود کلیک کنید

    icon برچسب ها: ,
  • نوشته: admin
  • تاریخ: ۱۹ مهر ۱۳۹۰
  • دیدگاه‌ها خاموش