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

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 2 اولاول 12
نمايش نتايج 11 به 15 از 15

نام تاپيک: امنیت در asp.net دیتا بیس با xml

  1. #11
    آخر فروم باز Guts's Avatar
    تاريخ عضويت
    Nov 2009
    پست ها
    1,651

    پيش فرض

    صحبت‌های دوستمون H2 تا حدودی درسته برای دیتاهای حجیم ساختار XML ساختار مناسبی نیست، ولی اینکه بگی XML اصلاً برای نگه داری دیتا مناسب نیست اشتباهه، در موارد خاصی از XML به عنوان پایگاه داده استفاده میشه البته درسته زمان جستجو، خوندن و یا ذخیره‌ي داده خاص روی فایل XML شاید بیشتر از دیتابیس باشه دلیلشم اینه که فایلهای در قالب XML معمولاً به صورت خط به خط Parse و Tokenize میشن و مثل انجین‌های دیتابیس‌های مختلف الگوریتم‌های خاصی برای جستجو یا ایندکس‌گذاری اطلاعات وجود نداره با این حال از اون جایی که خاصیت XML منطق‌پذیر بودن و امکان اختصاصی‌سازیش هست در خیلی از ابزارهای خاص منظوره به خاطر منطق‌های پیچیده‌ای که روی دیتا میزارن استفاده از پایگاه‌های داده‌ی رابطه‌ای معمولاً غیر ممکنه یا خیلی سخت هست، از طرف دیگه ساختار XML بشدت ساده و روون هست که اینم یکی دیگه از مزایاش هست که تو پیاده‌سازی‌های پیچیده‌ی منطق روی داده‌ها فوق‌العاده کارا هست.
    من خودم تجربه‌ی کار کردن در مورد یک نمونه از همچین مواردی رو که پروژه‌ی هوش‌مصنوعی در مورد پیاده‌سازی یک Chatbot بود دارم که اونجا دیتا و اطلاعات با منطق یا فرمت خاصی در قالب زبونی به اسم AIML در فایل‌های XML ذخیره میشن، و تا 70-80 هزارتا رکورد XML هم که من کار میکردم بدون هیچ مشکلی و افت پرفرمنسی دیتا ذخیره یا بازیابی میشد.

  2. این کاربر از Guts بخاطر این مطلب مفید تشکر کرده است


  3. #12
    داره خودمونی میشه ebse's Avatar
    تاريخ عضويت
    Jan 2011
    پست ها
    125

    پيش فرض

    ممنون از نظرات هر دوی شما
    یه سوال
    حالا گذشته از اینکه بله دیتابیس های هستن بعضیا بهتر بعضیا بد تر و همه اینا رو می دونم ok ؟
    حالا می خوام یه فایلی درست کنم به عنوان دیتا بیس اما نه با هیچ کدوم از برنامه هایی که کار دیتا بیس رو انجام میدن . خودم یه فایلی درست کنم یه پسوندی مثل xxx براش در نظر بگیرمو واسه این فایل یه کلاس درست کنم
    1-افزودن یک رکورد
    2-حذف یک رکورد
    3-ویرایش رکورد

    4-افزودن فیلد ( شرایطی باشه که تحت اون شرایط فیلد اضافه یا حذف شود)
    5-حذف یک فیلد
    6-ویرایش یک فیلد
    و
    .
    .
    .
    که البته مثل xml زیاد فضا اشغال نمیکنه و داخلش از آدرس هایی استفاده می کن که فوق فوقش 1 مگابایت در رم اونم برای کل صفحات بگیره . بنظرتون این خوبه یا نه؟ تازه اطلاعات داخلش رو هم رمز گذاری می کنم تا امنیتش بیشتر بشه . . اصلا هم نمی خوام حتما server ساپورتش کنه خودم دیگه به وسیله اون کلاس و کلاس های دیگه ای که براش تعیین می کنم هر چی رو که بخوام می تونم داخلش بنویسم ازش خذف کنم ویرایشش کنم و . . . . من خیلی رو این فکر کردم کلاس هم واسش نوشتم ولی گفتم احتمالا فکر بی خودی باشه همش رو با فکر کنم حذف کردم .
    با این همه فکری که کردم بازم می تونم بنویسمش فقط می خوام بدونم فکر کردن روی این موضوع فقط وقت تلف کردنه یا اینکه میشه یه کارایی هم کرد
    منتظر جوابم
    ممنون و موفق باشید

  4. #13
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    میبخشید کمی مشکلات شب عیدی داشتم و دیر شد ...
    دید اول:
    طبیعتاً شما میتوانید خودتان فایلی ایجاد کنید و اطلاعات را در آن ذخیره کنید و این میان جریان انتقال اطلاعات را مدیریت کنید.
    این کار شاید برای آموزش و آشنایی با مباحث "ساختمان داده ها" و "ساختار فایل" جالب باشد و کار تحقیقاتی خوبی به شمار آید و مخصوصاً که هدف مثلاً انجام پروژه تحقیقاتی در دانشگاه باشد.

    =====

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

    =====

    از منظر عملی و برنامه نویسی واقعی موردی که میخواهید انجام دهید کار جالب توجهی نیست.
    الآن برنامه های زیادی هستند که توانایی ارتباط و انتقال داده را به بانک های اطلاعاتی رایج مثل Access و MySQL و SQLServer و Oracle و... دارند...
    افرادی که اطلاعات برنامه نویسی هم ندارند با کمکی جستجو میتوانند فایلهای این دیتابیس ها را در محیط های مخصوص ادیتوریشان باز کنند و در صورت نیالز ویرایش کنند، میتوانند خروجی با فرمت های دیگری از بخشی دیتابیس شان تهیه کنند و یا از سایر نرم افزارها برای استفاده مشترک از این دیتابیس استفاده کنند و مثلاً از برنامه های MailMerge برای چاپ یا ارسال نامه های سفارشی برای اعضایشان که مشخصاتشان در این دیتابیس ها قرار دارد استفاده کنند و...

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

    =====

    اگر هم جستجویی روی برنامه های آماده و موجود سایتها بیاندازید متوجه میشوید که اکثر سایتهای PHP از دیتابیس MySQL و اکثر سایتهای ASP.Net از SQLServer استفاده کرده اند.

    اگر هم احیاناً فکر میکنید که کار با MySQL یا SQLServer را بلد نیستید و یا مدام با خطای متفاوتی روبرو میشوید (که ناشی از همان عدم اطلاعات است) و برای انجام کارهای ساده در دیتابیس مشکل دارید و....
    به شما اطمینان میدهم که یادگیری MYSQL و SQLServer + نحوه ارتباط با انها بسیار ساده تر و وقت کمتری میخواهد تا خودتان یک دیتابیس جدید ایجاد کنید (چه در یک پروژه و چه با دید انجام چندین پروزه در طول زمان ...) و در نهایت هم هرچقدر زمان بگذارید به وصعت امکانات دیتابیس های اماده که تیم های بزرگ نرم افزاری سالهای متمادی روی آنها کار کرده اند نخواهید رسید.

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

    =====

    اگر سرور اجاره شده شما خیلی هم ساده و بدون امکانات باشد، باز هم حداقل حداقل دیتابیس Access و MySQL را پشتیبانی میکند و وجود همین دو موتور دیتابیس بنظر من برای عدم انجام کار ذخیره سازی دیتا کافی است.

    این نظر من بود و هرطور صلاح میدانید.
    سال جدید را هم تبریک عرض میکنم و موفق باشید

  5. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  6. #14
    داره خودمونی میشه ebse's Avatar
    تاريخ عضويت
    Jan 2011
    پست ها
    125

    پيش فرض

    سلام
    عید شما هم مبارک
    حرف شما کاملا صحیح
    بله وقت گذاشتن روی اینگونه مثائل واقعا وقت تلف کردن است .
    در مورد دیتا بیس : یه چیزایی راجب mysql میدونم .
    ولی کلا هدف من اینه که آیا می شود که در یک سایت به جای استفاده از دیتابیس های موجود
    از این روش استفاده کرد ؟ ( شاید یه جور کنجکاوی باشه )

  7. #15
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

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

    روش مناسبی که برای انجام این کار به ذهن می رسد ان است که با توجه به حجم هم اطلاعات برای این مورد، کلاسی عمومی و مشخص با نمونه سازی یکتا (یکبار در کل برنامه و برای همه کاربران) ایجاد نمیائید که در اولین درخواست ایجاد شده و کل اطلاعات را یکجا از فایل xml بخواند.
    در مراحل بعدی ریسمان های کاربران بنابه درخواستی که وجود دارد و با توجه به بحث همزمانی ریسمانها به این کلاس مرکزی وصل شده و اطلاعات را خوانده و تغییر دهند.
    کلاس مرکزی بعد هر تغییر یا بعد هر زمان مشخص (مثلاً یک دقیقه و پنج دقیقه و...) و در صورت وجود تغییر از آخرین بار، کل محتویات جاری را مجدد به فرمت xml سریالی کرده و در فایل ذخیره کند.

    این ساده ترین و کاربردی ترین شیوه ای است که الآن به ذهن من میرسد.

  8. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


صفحه 2 از 2 اولاول 12

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •