PDA

View Full Version : سوال: می شه به سایتی که روی لوکال هاست بخوبی اجرا می شه اعتماد کرد؟



idocsidocs
سه شنبه 21 تیر 1390, 23:49 عصر
من یه 6 ماهه که یه سایت نوشتم و توی لوکال هاست ازش استفاده می کنم.

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

توی این مدت هیچ اروری نداده، از کار نیافتاده و ضعفی ازش ندیدم. سایت رو توی سرور هم آپلود کردم و هیچ مشکلی نداشت.

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

لطفا توضیح بدید

mohammadian7
چهارشنبه 22 تیر 1390, 00:25 صبح
سلام در حالت عادی بله میشه اطمینان کرد و قابل اطمینان است. ولی مشکل از جایی ممکنه شروع بشه که عوامل خارجی مانند هک شدن سایت یا اسپمرها و ... در سایت ایجاد اختلال کنند. به هر حال هر سایتی برای محک خوردن و قابل استفاده بودن نیاز به آپلود شدن داره :لبخندساده:

idocsidocs
پنج شنبه 23 تیر 1390, 13:21 عصر
سلام در حالت عادی بله میشه اطمینان کرد و قابل اطمینان است. ولی مشکل از جایی ممکنه شروع بشه که عوامل خارجی مانند هک شدن سایت یا اسپمرها و ... در سایت ایجاد اختلال کنند. به هر حال هر سایتی برای محک خوردن و قابل استفاده بودن نیاز به آپلود شدن داره :لبخندساده:
سایت رو یبار آپلود کردم و مشکلی نداشت. جلوی هک و اسپمر رو هم تا اونجا که ممکنه می گیرم می گیرم. ولی می خوام بدونم که پایداری این سایت قابل اطمینان هست؟

چون هیچ خطایی یا مشکلی توش مشاهده نمی کنم.

eshpilen
پنج شنبه 23 تیر 1390, 17:03 عصر
باید در عمل تست بشه.
ضمنا پایداری یه چیزه و امنیت چیز دیگه.

hamed-php
پنج شنبه 23 تیر 1390, 17:47 عصر
اگه ماژولی رو یک فرد دیگر برای شما کار کرده باشه از اون سمت هم میتونه تهدید آمیز باشه،
توابعی رو که تو برنامه استفاده شده رو باید چک کنی

idocsidocs
پنج شنبه 23 تیر 1390, 18:13 عصر
دوستان بحث امنیت نیست.

من سایتی روی لوکال هاست دارم که بدون مشکل اجرا می شه. هر روز حداقل 50 بار واردش می شم و با امکاناتش کار می کنم. هیچ خطا یا اروری نداده.

با توجه به اینکه من یک نفر هستم، اگر سایت برای بازدید بیش از 1000 نفر آپلود بشه، آیا می تونم به کارایی سایت اطمینان داشته باشم؟

از کش کردن، فشرده کردن، سئو، فایلهای خارجی، کد نویسی سه لایه ای و هرچیزی که استاندارد هست استفاده کردم.

eshpilen
پنج شنبه 23 تیر 1390, 18:55 عصر
قربونت اینطور مسائل رو نمیشه بقدر کافی پیشبینی و تضمین کرد (مگر اینکه تجربهء عملی زیادی داشته باشی). در عمل مشخص میشه. مشکلی هم نیست، اگر دیدی یه جایی جواب نمیده میتونی بعدش بخش مشکل ساز رو پیدا و بهینه سازی کنی. بعضی سوالای بیخودی میپرسی یه وقتا :لبخند:
ضمنا بنظر بنده درمورد ترافیک سایتها هم خیلی وقتا اغراق زیادی میشه.
بین کل سایتهای اینترنت و بخصوص کارهایی که من و شما انجام میدیم، کسر واقعا کوچکی از اونا هستن که بازدیدکنندهء همزمان واقعا زیادی داشته باشن.
بطور مثال یه شمارنده روی سایت خاصی گذاشته بودم و بعد از چند ماه تازه آمار بازدید نزدیک هزارتا شده بود. بیشتر سایتهای دیگر هم طوری که دیدم و برآورد میکنم اغلب نباید ترافیک همزمان زیادی داشته باشن.
اما همه طوری صحبت میکنن که انگار بیشتر سایتها اینطور هستن. بنده هرگز در عمل چنین ترافیک هایی رو روی بیشتر سایتهای معمولی مشاهده نکردم و دلیل منطقی ای هم برای عادی بودن وجود چنین ترافیکی وجود نداره.
و بنده فکر نمیکنم ما باید هر سایتی رو با فرض اینکه کاربر و ترافیک عظیمی میخواد روش بیاد طراحی کنیم. چون اینطوری ممکنه کلی زحمت بکشیم و بهینه سازی کنیم و از سیستمهای خاصی استفاده کنیم که در عمل هیچوقت استفاده ای ازشون نشه و هیچ تاثیر مشهود مهمی نداشته باشن.
ضمنا بهینه سازی اغلب موجب پیچیده تر شدن کد میشه که خودش احتمال ایجاد باگ رو کلی بالا میبره.
معمولا الگوریتم هرچی ساده تر و خواناتر باشه قابل اطمینان تر هست.
هروقت نیاز بود یا سایت خاصی بود که اینطور بود خب درستش میکنیم!
بعضی نرم افزارها فرق میکنه شرایطشون. مثلا نرم افزار فروم مسلما باید به موضوع پرفورمنس و حجم دیتابیس و تعداد بالاتر کاربر همزمان اهمیت بیشتری بده (و البته نیاز به سرور قویتری هم داره). یا مثلا یه سایت با امکان دانلودهای حجیم، و غیره.
و اصلا هم بنظر بنده نمیشه باوجود تمام کارهای به ظاهر هوشمندانه ای که خیلی افراد فکر میکنن انجام میدن، از پیش بقدر کافی مطمئن بود (چون این افراد جز وسواس و الکی خوش بودن کار دیگه ای نمیکنن). احتمالا خیلی از بهینه سازیهای وسواسی عملا فایدهء چندانی ندارن یا در موارد خاص و واقعی حاکم نمیشن. معمولا از چند جای دیگه کم میاد و پارامترهای مهمی هستن که وقتی سایت روی یه سرور اشتراکی معمولی باشه تامین نمیشن (البته با فرض اون ترافیک های عظیمی که خیال پردازیش رو میکنن).
یه وقت هست مثلا یه سایت یه دفه به یه علتی مورد توجه عدهء زیادی واقع میشه و ترافیک زیادی روش میاد، اون موقع بنظرم اول سرورش پنچر میشه و جواب نمیده! یه سایت عادی رو که نمیان از اول بذارن روی یه سرور اختصاصی! غیر از اینه؟
حالا سایت شما چیه و چرا فکر میکنی ترافیک همزمان زیادی داره؟ منظورت اینه هزار نفر همزمان؟ (در فاصلهء زمانی بقدر کافی کوتاه).
سایت اگر مهم و پرترافیک هست سرورش هم باید متناسب باشه. وگرنه بهترین بهینه سازی ها هم چیزی رو تضمین نمیکنن و شاید در عمل اثر کمی داشته باشن.
بعضی چیزا بیشتر تجربی هست. همین!
البته شما باید تئوریش رو بدونی تا در عمل بتونی متوجه وجود و منشاء اشکالات و روش رفع اونا بشی.


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

eshpilen
پنج شنبه 23 تیر 1390, 19:33 عصر
- پایداری
- پرفورمنس یا کارایی (البته اصطلاح دوم بنظر بنده ابهام داره و بخاطر همین اصطلاح انگلیسی رو ترجیح میدم)
- امنیت

بنظر بنده اینا هرکدام جدا هستن (ولی ارتباطهایی هم با هم دارن).

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

اصطلاح هایی مثل «قابلیت اعتماد» یا «قابلیت اتکا» هم بعنوان معادل بعضی اصطلاح های بالا بکار میرن، اما بازم بنظر بنده ابهام دارن و همون اصطلاحاتی که بالا لیست کردیم بهتر هستن.

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

idocsidocs
پنج شنبه 23 تیر 1390, 20:28 عصر
قربونت اینطور مسائل رو نمیشه بقدر کافی پیشبینی و تضمین کرد (مگر اینکه تجربهء عملی زیادی داشته باشی). در عمل مشخص میشه. مشکلی هم نیست، اگر دیدی یه جایی جواب نمیده میتونی بعدش بخش مشکل ساز رو پیدا و بهینه سازی کنی. بعضی سوالای بیخودی میپرسی یه وقتا :لبخند:
ضمنا بنظر بنده درمورد ترافیک سایتها هم خیلی وقتا اغراق زیادی میشه.
روزی شونصد بار هم وارد بشی خیلی از باگهای برنامه رو نشون نمیده.
بطور مثال بعضی باگها فقط در دسترسی همزمان (وقتی یک الگوریتم و کد بصورت همزمان توسط دو نفر یا بیشتر اجرا میشه) و در شرایط واقعی خودشون رو نشون میدن.
البته بعضی از اونا رو میشه براحتی کم و بیش شبیه سازی و تست کرد.

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

بنظرم سایتی که روی لوکال گذاشتم و خوب جواب داده برای بازدیدهای پایین بدون مشکل جواب می ده ولی روی بازدید بالا باید تست بشه.