آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

بحث در مورد دیتابیس های انلاین

120392  10 سال پیش  10 سال پیش
0 0

حدودا یه ماهی میشه روی یه اپلیکشن کار می کنم که دیتابیسش کلا انلاینه و این وسط کلی مشکل به وجود اومده و تقریبا بعضی هاشو با کمک دوستان حل کردم و بعضی هاشم هنوز معماست واسم

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

 

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

 

اصولا همین پروژه های نیاز به یه سری توضیحات کامل دارن و یا یه پروژه که مشابه باشه و به صورت اموزشی انجام شده باشه ولی در سطح نت چیزی به درد بخوری پیدا نکردم

+1 0
وقتی سیستم آنلاینه دیگه معمولا ایناش قابل درکه که کاربر صبر کنه پاسخ از سرور بیاد مثلا شما وقتی رکوردی حذف میکنی کش رو پاک کن دوباره از سرور بگیر یا مثلا کامنتی ایجاد میکنی دلیلی نداره که تا تو سرور ثبت نشده به کاربر نمایش داده بشه شاید اصلا وسط راه ارتباطش قطع شد تو اپ نشون میده کامنتو در حالی که ثبت نشده (همینطور در حالت حذف شاید حذف نشه ولی تو نمایش به کاربر حذف کنی) باید لودینگ بذاری تا پاسخ سرور بیاد بعد نمایش بدی (10 سال پیش)
0 0
مشکل اینجاست اپ مورد نظر واسه یک شبکه اجتماعیه ...با این حسابی که شما میگین واسه یه لایک کوچیک و یا حتی یه ویرایش کوچیک باید کل اطلاعات به روز بشه ... اونوقت اعصاب خوردن میشه ...بخصوص که واسه هر بار اپدیت چند ثانیه طول بکشه (10 سال پیش)
+1 0
خب باید به کاربر نمایش بدی تغییرات رو، ولی از پشت به سرور بفرستیش، اگر جواب سرور منفی بود تغیرات رو برگردونی. (10 سال پیش)
+2 0
خوبه اگر شبکه اجتماعیه میشه وقتی لایک میکنن دکمه لایک به لودینگ تبدیل بشه (کاربر میتونه با بقیه جاها کار کنه فقط کش اون لایک ست که لود میشه) یا لایک بشه بعد چک بشه جوابش بیاد اگر تایید شد هیچی وگرنه لایکش پاک بشه (فکر کنم اینطور بهتره یه چیز مثل اینستگرام یا فیس بوک رو ملاک قرار بده ببین وقتی کاری میکنی تا تاییدش بیاد چیکار میکنه لود میکنه یا نمایش میده اگر نشد بر میگرده) وقتی کش ها فایلهای کوچیکی باشه مشکلی ایجاد نمیشه به نظرم اصولا کشش هم نباید طولانی باشه هم رکوردهاش کوچک و جدا باشه، شبکه اجتماعی باید آنلاین باشه و هر بار دوباره لود بشه. سرور شبکه اجتماعی هم باید سریع باشه که این مشکلات به حداقل برسه. (10 سال پیش)
0 0
sh.khaksar اینجوری که دردسرش زیاده ... تازه ار کجا باید بدونم که کدوم رو برگردونم ...مثلا فرض کن 3-4 کامنت پشت سر هم ثبت کرده و یکی از اون ها توی دیتابیس سرور ثبت نشده ... قضیه خیلی پیچیده میشه (10 سال پیش)
0 0
سید محمود: ممنون میشم این بخش کش کوچیک رو بیشتر توضیح بدی و مثال بزنی ...من الان کل اطلاعات رو با یه بار کانکت شدن به سرور دریافت میکنم ...حالا اگه بخوام اونا رو اپدیت کنم چون حجم اطلاعات بالاست دردسرش زیاده ... (10 سال پیش)
+1 0
مثلا اگر قسمت لایک کامنت باشه، پوزیشن کامنتت رو توی لیستت میخونی، و بعدش درخواستت رو به سرور میفرسی، توی قسمتی که جواب سرورت رو بررسی میکنی، بهش میگی اگر جواب سرور منفی بود، این کامنت رو با این پوزیشن، دکمه لایکش رو از حالت لایک شده بردار. چیزی که هست اینه که نوشتن همچین چیزی با توجه به نوع کدهات و منطق برنامت متفاوته، ولی راه حل کلیش همونیه که خدمتتون گفتم. (10 سال پیش)
0 0
ممنون از همه درسته ...هرکسی با توجه به منطق برنامه اش باید بیاد و این رو پیاده کنه و من اینجوری پیاده کردم وقتی روی دیکه لایک کلیک می خورد لایک توی سرور ثبت میشه و با توجه به پاسخ سرور به کاربر میگه اطلاعات ثبت شده یا نه و بعد میاد اطلاعات او پست رو از سرور به روز می کنه و توی ارایه ادپتر میزاره ..پس اگه لایک به درستی ثبت شده باشه که خوبه وگرنه چیزی عوض نمیشه ... مشکل اصلی هم که اپدیت شدن ریسیکلر ویو بعد از انجام تغییرات بود که اونم با notifyItemChanged حل میشه و فقط همون ایتم رو به روز میکنه در کل تجربه جالبی بود ... ممنون از دوستانی که شرکت کردن (10 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .