PDA

View Full Version : سوال: کمک برای انتخاب زبان برنامه نویسی وب سایت



mehrdad1991h
پنج شنبه 18 خرداد 1391, 12:46 عصر
سلام
دوستان یه نفر یه سایت میخواد تاسیس کنه اومد یه مشورتی بکنه منم توش موندم
از شما کمک میخوام
یه سایت میخواد تاسیس کنه که حجم اطلاعات و داده هاش زیاده مثل 1000 تا درخواست همزمان !!!
و پورتالش هم خیلی بزرگه و شرکتی هستش و احتمال این که بخوان هم هکش کنن زیاد می باشد !
حالا این پورتال شرکت چون خیلی بزرگه و کارمنداش هم زیاد هستن و تازه درخواست های همزمان کارمنداش ممکنه مثلا 1000 تا بشه چه پیشنهادی براش دارین
بنده خدا تا الان سراغ 5-6 تا شرکت برنامه نویسی رفته هر کس یه چیزی گفته بهش یکی میگه ASP.net و SQL Server اون یکی میگه PHP و MYSQL هر کودوم بهش یه چیزی میگن هیچ کس هم بی طرفانه نمیاد کمکش کنه برا انتخاب زبان مناسب
اصلا مونده تو همه چی واقعا همه سر در گمش کردن
برا سیستم عامل سرور هم مونده !!! ویندوز /لینوکس - اون یکی میگه نه پی اچ پی و لینوکس اون یکی میگه نه ای اس پی و ویندوز

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

حالا در خواست بنده اینه با توجه به توضیحات فوق (لطفا بخونید این توضیحات بالا را) این چه زبانی و چه بانک اطلاعاتی را انتخاب کنه ؟
ASP.net - SQL Server
ASP.net - MYSQL
PHP - MYSQL
PHP - SQL Server
یا... ؟؟؟؟؟


-----------
مدیران گرامی تاپیک تکراری نیست ! سرچ بسیار کردم
ولی برا اینکه سایت شرکتیه نتونستم نتیجه گیری کنم بزارید به یه نتیجه برسم لطفا

farhadfery
پنج شنبه 18 خرداد 1391, 14:12 عصر
حالا در خواست بنده اینه با توجه به توضیحات فوق (لطفا بخونید این توضیحات بالا را) این چه زبانی و چه بانک اطلاعاتی را انتخاب کنه ؟
ASP.net - SQL Server
ASP.net - MYSQL
PHP - MYSQL
PHP - SQL Server
یا... ؟؟؟؟؟

داداش عجب ترکیباتی راه انداختی:قهقهه:
مهمتر از همه اینکه چقدر می خواد هزینه کنه. و اینکه اینطور کارها تیم پشتیبان درست هم می خواد که باید ساپورت مالی خوبی بشند.
و اما در باب زبان:
به نظر من asp یا php فرقی نداره. باید برنامه نویست واقعا برنامه نویس باشه. تیم قوی باید باشه.
-----
من چون php هستم به شما می گم با php و بعدشم می گم کار فریمورک ZEND هست.
سرور هم که linux
database هم mysql
---------------------------------------------------

vandusoft
پنج شنبه 18 خرداد 1391, 14:21 عصر
منم دقیقا نظر farhadfery رو دارم. مطمئن باشید جواب خیلی ها همینه. ترکیب PHP و MySQL از نظر سرعت در اکثر اوقات بهتر از ترکیب ASP و SQL Server جواب میده. هر چند مدل کد نویسی شرط هست و نه ابزار مورد استفاده...

Unique
پنج شنبه 18 خرداد 1391, 15:22 عصر
من نمیخوام بهتون سیستم خاصی را پیشنهاد کنم ! دلیلش هم اینه که اصلا شما روشتون در انتخاب غلطه ! کارفرما اصلا نیاز نیست بدونه که سیستم مورد نظرش با چه تکنولوژی هایی اجرا میشه بلکه اون باید نیازمندی هاش را اعلام کنه و نتیجه مورد نظرش را پس از اجرا ببینه! به جای اینکه با 100 نفر مشورت کنین از 10 نفر بخواین تا نمونه کارهایی که در حد و حدود سایت شما هستش بهتون معرفی کنن ! بعدش برین سراغ صاحبان اون سایت ها یا پرتال ها یا نرم افزار ها یا هر چی ! ببینین از نرم افزار و پشتیبانی در چه حدی راضی هستند و مشکلاتشون با اون مجری مورد نظر چه چیز هایی بوده ! اینها مواردی هست که کارفرما باید پیگیری کنه و نه اینکه سر استفاده از تکنولوژی با مجری در بیفته !

این کار دخالت در انتخاب تکنولوژی ها با توجه به شریط بسیار فاجعه اقتصادی جاری صنف برناه نویس ها باعث میشه مجری شما بدون توجه به مهارت های خود و با وجود آشنایی کم با تکنولوژی که شما میخواین قبول کنه با تکنولوژی مورد نظر کار را انجام بده تا پول را به دست بیاره و این وسط فقط شما لطمه میبینید !

در آخر خدمت شما بگم ! MYSQL,MSSQL,Oracle و چند تا DBMS دیگه و زبان هایی مثل ASP NET,PHP,JSP,Python,Ruby به راحتی از پس پروژه شما بر میاند و تنها برتری که ترکیب MYSQL,PHP,LINUX که برای شما فراهم میکنه (یا هر ترکیب دیگه ای که در لینوکس اجرا بشه) بحث مادی خواهد بود ! که در این مورد سیستم های سورس آزاد بسیار با صرفه تر از Misro$oft هستند !

mehrdad1991h
پنج شنبه 18 خرداد 1391, 16:08 عصر
مسئله ی مادی را اصلا در نظر نگیریم باشه ؟!
خوب حالا مشکل اینه که سیستمی مثل اینی که این داره میگه من اصلا ندیدم اخه خودش هم ندیده به هرکی هم گفته چیز خاصی معرفی نکرده ! ولی کار هایی که میخواد بکنه در نگاه اول خیلی دردسر داره کسی زیر بارش نمیره ولی
همه چیزا شدنیه ، خودش که خیلی تحقیق کرده رو پروژش نحوه اجرای همه را برات میاد میگه :) نشسته قشنگ برا من توضیح میده با برنامه فلان باید اینجوری پیش بره برنامه نویس با چی چجوری و.... !!!:خجالت:((به خدا اگه خودش برنامه نویس بود خیلی راحت از پسش بر میومد ، چون میدونید مهمترین کار تو برنامه نویسی روش عملی کردن برنامه هستش))

جناب Unique (http://barnamenevis.org/member.php?11933-Unique)
از اتفاق این شرکت هم که من دارم میگم ماله اصفهان هستش

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

بهتر میبینم مشکلات را بگم شما برا هر کدوم راه حل بدید و با استفاده از راه حل ها زبان مد نظر انتخاب بشه
جلوگیری از هک شدن (امنیت مطلق غیر ممکنه ولی خوب میشه امنیت را زیاد کرد)
از نظر سرعت (حرف شما را قبول دارم - برنامه نویس باید حرفه ای باشه )
حجم داده ها و درخواست های بالای همزمان و تعداد زیاد (برا این چه دیتا بیسی باشه که تو حجم بالا هنگ نکنه ؟ رو سرور لینوکس و ویندوز بودن تاثیری داره ؟)
اختصاصی بودن پروژه (میخواد یه جوری باشه که کاملا اختصاصی باشه و هر کس رسید نتونه کاری کنه و عین همین 10000 تا سایت دیگه پیدا نشه)
بروز رسانی کردن سورس برنامه (چون باید مثلا ماهی یه بار یه سری چیزاش تغییر کنه)


و چیزی که من شنیدم
اینجور که من میدونم برای اختصاصی بودن بهترین روش استفاده از ASP هست
برای سرعت هم میگن چون کامپایل میشه سرعت بیشتره
هک هم میگن چون اوپن سورس نیست کمتر هک میشه و امنیتش بیشتره
بروز رسانی ASP را میگن کمی سخت تره
ولی دیتابیس را شنیدم با ASP که پیش بره بانک داده در حجم بالا و تعداد درخواست همزمان بالا هنگ میکنه

با این حساب منASP دارای 3 تا مزیت 2 تا ضرر هست
از PHP زیاد سر در نمیارم شما لطف کنید راهنکمایی کنید که فقط همین 5 مشکل حل بشه بسه
میشه برا این مشکلات راه حل بگید ؟
باز راهنمایی کنید !

سپاس از نظراتتون

MMSHFE
پنج شنبه 18 خرداد 1391, 18:35 عصر
دوست گرامی، الآن بزرگترین سایت دنیا یعنی Facebook با حدود 1.5 میلیارد کاربر و حدوداً 15 میلیون درخواست همزمان با PHP نوشته شده ولی آیا این گفته به تنهایی باعث میشه بگیم PHP بهتره؟ قطعاً نه چون تیمی که قراره سایت شما رو طراحی کنه، اعضایی مثل مارک زوکربرگ نداره!!! اما در کل اگه توان و قدرت برنامه نویسی رو در یک سطح درنظر بگیریم یعنی برنامه نویسان PHP شما همونقدر توی PHP وارد باشن و درست و اصولی بنویسن که برنامه نویسان ASP.NET شما توی ASP.NET مسلط هستن، اونوقت میشه یک مقایسه بدون غرض ورزی بین این دو داشته باشیم:
1- اختصاصی بودن: توی هر دو زبان میتونید کدی بنویسید که منحصر به فرد باشه و اون کد رو به کسی ندین یا کدگذاری کنید و از هاست اختصاصی استفاده کنید تا سورس کدتون یک موقع Null نشه. فکر نکنید کدهای ASP.NET رو نمیشه رمزگشایی کرد. اصلاً پای امنیت که میاد وسط صحبت از مایکروسافت، چیزی در حد شوخیه. هرجا هم به شما گفتن Obfuscate و... فقط بهشون یک لبخند ملیح تحویل بدین چون در عرض کمتر از نیم ساعت میشه سورس کد اصلی رو درآورد. البته این موضوع درمورد کدهای PHP هم صحت داره ها. یکوقت فکر نکنید کدهای PHP قابل رمزگشایی نیستن. بخاطر همین هم هست که میگم هاست اختصاصی بگیرین تا سایت دیگری روی هاست شما آپلود نشه و با روشهایی مثل Shell و... نتونن سورس کدهای شما رو در بیارن. وقتی هم سورس کد رو ندارن، چه رمزگذاری بکنید و چه نکنید، چیزی دست هکر نیست که بخواد ازش استفاده کنه (چه بصورت خام و چه بعد از رمزگشایی).
2- سرعت: 90٪ بستگی به الگوریتم استفاده شده و رعایت اصول طراحی و کدنویسی داره. مثلاً برای استخراج اطلاعات حجیم از دیتابیس، حتی الأمکان با شرطهای مختلف دامنه رکوردهایی که استخراج میشه رو توی خود کوئری که به DBMS ارسال میشه کاهش بدیم و از حلقه های خود زبانهای برنامه نویسی استفاده نکنیم. کامپایل شدن کمی سرعت رو میبره بالا اما فقط کمی. چون ASP.NET هم دوبار کامپایل داره. فکر نکنید کدی که کامپایل میشه، Native Code بهتون تحویل میده. در اصل شما یک کد واسط مایکروسافت دارین (MSIL) که باز موقع اجرا باید توسط JIT Compiler یک کامپایل مجدد بشه و به زبان ماشین تبدیل بشه. اینکه چرا اینطوریه رو نیاز نیست توضیح بدم چون قرار نیست درباره معماری NET. صحبت کنیم. فقط خواستم بدونید کامپایل کدهای ASP.NET آنچنان سرعت رو افزایش نمیده. بعلاوه PHP هم با HipHop قابل کامپایل شدن و استفاده بصورت CGI هست.
3- هک شدن: اصلاً و ابداً ربطی به Open Source و... نداره. Open Source یعنی سورس کد خود PHP در اختیار هکر هست نه سورس کد سایتی که شما نوشتین. درنتیجه میتونه PHP مخصوص خودش رو بسازه ولی تا وقتی که نتونه اون رو روی سایت شما آپلود و نصب کنه، به درد خودش میخوره. حالا مثلاً ASP.NET که Open Source نیست هک نشده؟ اینکه میگن کمتر هک شده رو هم بعنوان ملاک قبول نکنید چون کلاً تعداد سایتهایی که با ASP.NET ساخته شدن کمتر از سایتهای ایجاد شده با PHP هست و طبیعتاً تعداد سایتهای هک شده PHP بیشتر خواهد بود. برای مثال، بد نیست بدونید PHP از این الگوریتمهای رمزنگاری پشتیبانی کامل میکنه:


md2
md4
md5
sha1
sha224
sha256
sha384
sha512
ripemd128
ripemd160
ripemd256
ripemd320
whirlpool
tiger128,3
tiger160,3
tiger192,3
tiger128,4
tiger160,4
tiger192,4
snefru
snefru256
gost
adler32
crc32
crc32b
salsa10
salsa20
haval128,3
haval160,3
haval192,3
haval224,3
haval256,3
haval128,4
haval160,4
haval192,4
haval224,4
haval256,4
haval128,5
haval160,5
haval192,5
haval224,5
haval256,5

این یعنی PHP ازنظر توان رمزگذاری و رمزگشایی بطور بالقوه قویتر از ASP.NET هست اما در عمل چقدر این مسئله مفیده؟ پاسخ: همونقدر که برنامه نویساتون از این الگوریتمها در جای درستش استفاده کنن. مثلاً اگه شما توی جعبه ابزارتون آچار فرانسه داشته باشین ولی باز بخواین یک مهره رو با دست باز کنید و نتونین این کار رو انجام بدین، وجود اون آچار فرانسه به هیچ دردی نمیخوره. اینجا نمیشه بگیم جعبه ابزار ناقص بوده. در عوض باید بگیم کسی که از اون جعبه ابزار استفاده نکرده، توی کارش ناشی بوده که نتونسته مهره رو باز کنه.
4- بروزرسانی: ربطی به سایت شما نداره. خود ASP.NET و PHP تقریباً هر چند ماه یکبار بروزرسانی میشن ولی شما که قرار نیست هرروز نسخه جدید نصب کنید تا لازم بشه کد سایتتون رو تغییر بدین. درسته که معمولاً مایکروسافت توی هر نسخه جدید از NET. کاربران نسخه های قبلی رو غافلگیر میکنه و کلی چیزای جدید اضافه میکنه و نصف قبلیها منسوخ میشن و اصلاً هم از قبل خبر نمیده ولی شما مجبور نیستین مرتباً نسخه جدید NET. رو روی هاستتون نصب کنید تا مجبور بشین کدها رو هم تغییر بدین. پس این مورد نباید نگرانتون کنه. البته باز هم میگم به شرط اینکه هاست اختصاصی داشته باشین و خودتون کنترل نسخه زبان برنامه نویسی نصب شده رو در اختیار داشته باشین.
5- حجم بالای اطلاعات: در این مورد MySQL از MSSQL - فقط و فقط توی وب - بهتر عمل میکنه. چون از اول برای وب ساخته شده و ساختارش برای درخواستهای کم حجم که ازطریق پروتکل HTTP قابل ارسال باشن بهینه هست. البته اگه بتونید از Oracle استفاده کنید که نور علی نوره!!!
6- سادگی کد نویسی: این مورد رو که شما بهش اشاره نکردین هم باید درنظر بگیریم. بطور کلی کدنویسی PHP ساده تر از ASP.NET هست اما در عین سادگی چیزی از قدرت ASP.NET کم نداره. شما توی PHP فقط یک زبان یعنی PHP رو باید یاد بگیرین ولی توی ASP.NET باید علاوه بر یک زبان مثل #C یا VB.NET باید معماری ASP.NET و کلاً NET Framework. رو یاد بگیرین و اصلاً یک ثانیه هم فکر نکنید ASP و ASP.NET شبیه هم هستند! اما در عوض کارکردن با ASP.NET بخاطر ادیتور قدرتمندی که داره یعنی Visual Studio خیلی راحتتره و با چند تا کلیک میتونید خیلی از کارها رو بدون اینکه واقعاً بدونید در پشت پرده چطور انجام میشن، اجرا کنید. البته این مشکل امروزه به کمک ادیتورهایی مثل Zend Studio توی PHP تا حدود زیادی رفع شده ولی درهرحال همه برنامه نویسان کلاهشون رو به احترام Visual Studio بر میدارن.
-----
با توجه به موارد گفته شده، ببینید کدوم مورد برای رفع نیاز شما مناسبه.
موفق باشید.

Unique
پنج شنبه 18 خرداد 1391, 22:15 عصر
اما در عوض کارکردن با ASP.NET بخاطر ادیتور قدرتمندی که داره یعنی Visual Studio خیلی راحتتره و با چند تا کلیک میتونید خیلی از کارها رو بدون اینکه واقعاً بدونید در پشت پرده چطور انجام میشن، اجرا کنید.

به نظر من بزرگترین مشکل ASP .NET همینه ! 90% برنامه نویس های .net اگه Grid را ازشون بگیری هنگ میکنن ! چه برسه به برنامشون ! در ضمن این کامپوننت ها بعضی وقتها به قدری بار اضافی روی سایت میگذاره که اعصاب و روان را خورد میکنه ! برنامه نویس های حرفهای net. اصلا از ابزار آماده اون استفاده چندانی نمیکنند.


درسته که معمولاً مایکروسافت توی هر نسخه جدید از NET. کاربران نسخه های قبلی رو غافلگیر میکنه و کلی چیزای جدید اضافه میکنه و نصف قبلیها منسوخ میشن و اصلاً هم از قبل خبر نمیده ولی شما مجبور نیستین مرتباً نسخه جدید NET. رو روی هاستتون نصب کنید

این یکی از بزرگترین ایرادهای Micro$oft هستش و واقعا تغییراتی که میده زیاده و زیاد منسوخ میکنه و اصلا کاری نداره بیچاره برنامه نویس اگه بخواد ارتقا بده پدرش در میاد! شما اگه سایتی را با ورژن 1.1 در .net ساخته باشی و بخوای مثلا بری به 2 .net به محض کامپایل کردن دیباگر کلی warning و error بهت میده که خیلی ها بی خیال قضیه میشوند ! تازه به محض Upload شدن روی هاست کلی تغییرات توی web.config باید بدی. جالب اینجاست همون 90 درصدی که ازشون صحبت کردم خیلی از تنظیمات ابتدایی web.config را نمیدونند و اگه مثلا ازشون بخوای بجای Visual Studio با Sharp Develope کار کنند کلی مصیبت باید بکشند و احساس خواهند کرد هیچ چیز از net. بلد نیستند !

توجه : اگه از دوستان تالا net. کسی اینها را میخونه جبهه نگیره چون خودم 7 سال با net. برنامه نویسی کردم و مزیت ها و مشکلاتش دستمه.

mehrdad1991h
پنج شنبه 18 خرداد 1391, 23:00 عصر
حالا یه مسئله دیگه
به این نتیجه رسیدم که PHP با MYSQL یا Oracle به شرطی که برنامه نویسش حرفه ای و کار بلد باشه میتونه بهترین انتخاب باشه
ولی از اونجایی هم که برنامه نویسان مخصوصا ایرانیا نمیان همه را خودشون بنویسن و برنامه درست حسابی برنامه نویسی نمیشه و همش /اکثرا از کد های اماده که حتی حاضر نمیشن ببین چی نوشتن میان استفاده میکنن و امنیت زیر سوال بسیار بزرگی فرو میره و ممکنه ضررش بیشتر از سودش باشه و از اونجا که ASP.net چون کنترل های آماده داره و برنامه نویس هم یکم بیشتر وقت میکنه به اصل مطلب فک کنه و بپردازه باز به شرطی که حداقل برنامه نویس یکم حرفه ای باشه میتونه انتخاب بهتری باشه
ولی اینجا یک مشکل پیش میاد سایت خود ماکروسافت را نگاه کنید میبینید که با همه مرورگر ها سازگاری نداره تو هر کدوم یه سازی میزنه و این هم دوباره نتیجه میده PHP بهتره

نظر شخصیم اینه الان که اگر بشه سایت را با همه مرورگر ها هماهنگش کرد ، میشه یا نمیشه چون خود سایت ماکروسافت با فایرفکس مثلا مشکل داره برا من که اینجوریه !؟؟؟؟

انتخابم ASP.net و MYSQL یا Oracleهستش (البته اگه هماهنگ بشه - یکی از دلایلش این انتخاب اینه که کار با ویندوز را خیلی راحت بلدیم هممون دیگه ولی لینوکس ! )
حال ایا این درسته که پردازش تویه لینوکس خیلی سریع تر انجام میشه ؟

و یک سوال بسیار مهم کسی برنامه نویس واقعا حرفه ای تو زمینه PHP میشناسه (اصفهان ترجیحا) ؟ میشه معرفی کنید ؟ واقعا نیاز به مشاوره دارم باهاش !:گریه:

به نظرتون انتخابم میتونه اشتباه باشه برای زبان ASPو ایا به نظر شما نیاز به تجدید نظر داره ؟

farhadfery
پنج شنبه 18 خرداد 1391, 23:25 عصر
بابا انقدر به خودت گیر نده! به جای اینکه گیر asp.net یا php هستی؛ بگرد دنبال یه تیم قوی و کار درست. به قول unique:


جای اینکه با 100 نفر مشورت کنین از 10 نفر بخواین تا نمونه کارهایی که در حد و حدود سایت شما هستش بهتون معرفی کنن ! بعدش برین سراغ صاحبان اون سایت ها یا پرتال ها یا نرم افزار ها یا هر چی ! ببینین از نرم افزار و پشتیبانی در چه حدی راضی هستند و مشکلاتشون با اون مجری مورد نظر چه چیز هایی بوده ! اینها مواردی هست که کارفرما باید پیگیری کنه و نه اینکه سر استفاده از تکنولوژی با مجری در بیفته !



ولی از اونجایی هم که برنامه نویسان مخصوصا ایرانیا نمیان همه را خودشون بنویسن و برنامه درست حسابی برنامه نویسی نمیشه و همش /اکثرا از کد های اماده که حتی حاضر نمیشن ببین چی نوشتن میان استفاده میکنن و امنیت زیر سوال بسیار بزرگی فرو میره و
نه داداش. اینطوری هم نیست که همه کپی پیست کنند. یک زمان یک ابزار مفید و شناخته شده هست که از اون استفاده می کنی. اما گروهی که از پس کارهای بزرگ بر بیاد؛ گیر یه سورس نیست! خودشون فشنگی می زنند.


ولی اینجا یک مشکل پیش میاد سایت خود ماکروسافت را نگاه کنید میبینید که با همه مرورگر ها سازگاری نداره تو هر کدوم یه سازی میزنه و این هم دوباره نتیجه میده PHP بهتره

با عرض معذرت, با این جمله فهمیدم که شما هم مثل من از وب هیچی نمی دونید! باز هم پوزش می طلبم.

mehrdad1991h
پنج شنبه 18 خرداد 1391, 23:59 عصر
با عرض معذرت, با این جمله فهمیدم که شما هم مثل من از وب هیچی نمی دونید! باز هم پوزش می طلبم.

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

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

------------
ولی واقعیت اینه که الان با توجه به توضیحات و تحقیقاتی که خودم هم تو نت داشتم واقعا متوجه شدم مشکل اصلی همون پیدا کردن برنامه نویس خوب و قوی هست !
چرا که هر دو برنامه PHP و ASP.net میتونه برای پروژه جوابگو و بهترین گزینه یا بدترین گزینه باشه و همش هم به برنامه نویسیش ربط داره !!!
کسی میتونه به ما یه جای خوب معرفی کنه ؟(اگه میشه پیغام خصوصی بدید)
بنده اصفهانم !

Unique
جمعه 19 خرداد 1391, 03:07 صبح
ولی از اونجایی هم که برنامه نویسان مخصوصا ایرانیا نمیان همه را خودشون بنویسن و برنامه درست حسابی برنامه نویسی نمیشه
این صحبت شما شاید توی این انجمن زیاد مصداق نداشته باشه ، اگه منظورتون Joomla یا Phpnuke یا ... یا CMS های آماده باشه ، خوب بالاخره بعضی ها ترجیح میدن با کمتر کد زدن و Scale کردن این برنامه ها مطابق نیازشون کار کنن (این افراد اتفاقا خیلی هم موفق هستند ، مگه فروشگاه سازها و سایت های آماده از Template هایی برای joomla و wordpress را نمیبینین چطور همه جا را گرفته یا حتی همین vBulletin) اما خیلی از سایت ها هست که از Scratch کد نویسی شده و از هیچ Framework یا CMS ی هم استفاده نشده. کلا صحبت شما را نمیشه جمع بست و همه جا همه جور برنامه نویسی هست !


ولی اینجا یک مشکل پیش میاد سایت خود ماکروسافت را نگاه کنید میبینید که با همه مرورگر ها سازگاری نداره تو هر کدوم یه سازی میزنه و این هم دوباره نتیجه میده PHP بهتره
نمیدونم ولی شاید کمی بی انصافی باشه ! من وقت نمیکنم سایت مایکروسافت را چک کنم اما احتمالا شما دارین اشتباه میکنین ! و توی IE7 به بالا و Firefox3.5 به بالا و Chrome حتما درست نشون میده ! بقیه Browser ها هم کلا 2 یا 3 درصد کل اینترنت هستند و از نظر من بی اهمیت اما مایکروسافت را بعید میدونم !


نظر شخصیم اینه الان که اگر بشه سایت را با همه مرورگر ها هماهنگش کرد
این یکی از مهمترین مشکلات طراحان هستش (نه برنامه نویسان) که البته شدنیه اما باید قبول کرد اگه بخوایم برای سال 2012 کد بزنیم باید IE6 را ازش خداحافظی کنیم ! تنها Browser ی که واقعا مشکل سازه همین IE6 هست و اگه طراح استاندارد CSS و HTML را رعایت کنه (با کمی IE Hack) میشه سایتی نوشت که همه جا یه یک شکل نمایش در بیاد و این هم به نظر من اصل هست چه بسا خیلی از سایت ها هنوز خودشون را با IE هماهنگ میکنن که اشتباه بزرگیه !

باز هم میگم توی کار برنامه نویس دخالت نکنین سعی کنین برنامه نویس (یا گروهی) با سابقه خوب و شاخص پیدا کنین شما دارین با تعین تکنولوژی به بیراهه میرین !

eshpilen
جمعه 19 خرداد 1391, 10:25 صبح
بنظرتون یکی از موضوعات اصلی سخت افزار و پهنای باند سرور نیست؟
با شیرهاست هم که همچین چیزی نمیشه بنظرم.
یک سرور اختصاصی با قدرت کافی احتمالا همهء مشکلات رو حل میکنه. نه؟

farhadfery
جمعه 19 خرداد 1391, 10:41 صبح
بنظرتون یکی از موضوعات اصلی سخت افزار و پهنای باند سرور نیست؟
با شیرهاست هم که همچین چیزی نمیشه بنظرم.
یک سرور اختصاصی با قدرت کافی احتمالا همهء مشکلات رو حل میکنه. نه؟
این که مشخص هست که هاست شیر به درد این کار نمی خوره.

eshpilen
جمعه 19 خرداد 1391, 11:09 صبح
آره 99% مشخصه. ولی چون بنظرم در این جا راجع به هاست اشتراکی هم صحبتی شده بود گفتم.
بعد من میگم اصلا شاید سوال اصلی یا اول زبان برنامه نویسی و دیتابیس نیست. احتمالا اول مشخصات سخت افزاری سرور مهمه.
کارفرما هم نباید انتظار داشته باشه که برنامه نویس معجزه بکنه. شاید نمیخوان پول خرج کنن و برنامه نویس رو میخوان تحت فشار بذارن تا هزینه هاشون هرچه کمتر بشه. با خرج کردن پول بیشتر برای سرور اختصاصی با قدرت کافی شاید حل کردن مسئله خیلی راحتتر باشه.

استارتر محترم میگم شما بیا سوالت رو توی این فروم هم مطرح کن: http://forum.iranphp.org/
چون ادمین اون فروم بنظرم خودش دستش توی کاره و اطلاعات و تجربش خوبه در این زمینه.
اینجا که سوال میپرسی خیلی افراد صرفا از دید برنامه نویسی بهش نگاه میکنن و بدون اینکه اطلاعات و تجربهء عملی یا موثقی داشته باشن بر اساس تصور و حدسیات خودشون جواب میدن.
تازه سوال شما هم بنظرم مشکل داره و حداقلش ناقصه. چون باید بحث سخت افزار رو هم مطرح میکردی یا میگفتی که مثلا از نظر سخت افزاری و سرور فلان مشخصات رو درنظر گرفتیم (هزینش رو هم میگفتی خوب بود جهت اطلاع).
تا حالا درمورد سرور مورد نیاز تحقیق و تصمیم یا برآوردی داشتید یا نه؟

Unique
جمعه 19 خرداد 1391, 13:51 عصر
هیچ سایتی از روز اول به این شدت مخاطب نداره ! اگه هم یه پرتال داخلی باشه با 1000 بازدید در مثلا 15 دقیقه فشار زیادی به سرویس دهنده نمیاد !
هاستینگ های Shared برای شروع کار بسیار مناسب هستند به چندین دلیل ! اول و مهمتر از همه اینکه شما پول بسیار کمتری پرداخت خواهید کرد ، دوم اینکه Virtual Host های Managed خیلی گرون در میان و اگه Unmanaged بگیرین تازه باید یکی براتون تنظیمات را درست و با امنیت مناسب انجام بده ! Dedicated هم که هزینش سر به فلک میزنه و بعید میدونم کسی حتی با روزی 1000000 درخواست سراغ Dedicated بره ! سوم اینکه سرویس های Shared اگه از Provider های خوبی خریداری شده باشن Server های خیلی قدرتمندی هستند و تعداد بازدید در حدی که شما مطرح کردین را اگه کد خوبی نوشته شده باشه چه از لحاظ Script ، چه از لحاظ Cache کردن و همینطور بحث بهینه سازی پایگاه داده با index های مناسب query های شما و استفاده از view ها و Stored Procedure ها در جای خودشون براحتی Handle میکنه.

منظور کلی من اینه که Shared Server و زماین که واقعا مشکل از Server باشه اونوق Virtual Server و ...

mehrdad1991h
جمعه 19 خرداد 1391, 14:44 عصر
خوب بحث سرور مطرح شد ، بهتره بگم که سرور اختصاصی دارن و از همون به عنوان هاستشون استفاده میکنن که بحث امنیت هم بالا بره
سرور اختصاصی هم پهنا باند که هرچی بخوان خریداری میکنن فعلا مثل اینکه 15 ترابایت در ماه هست
مشخصاتش هم 16 گیگ رم - سیپیو اینتل ای 7 و هارد هم 6 ترابایت هارد هست 2 تا 3 ترابایت - پورت سرور هم 1 گیگ

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

چیز دیگه ای هم نیازه بگید تا به یه نتیجه برسیم !

eshpilen
جمعه 19 خرداد 1391, 15:15 عصر
هیچ سایتی از روز اول به این شدت مخاطب نداره ! اگه هم یه پرتال داخلی باشه با 1000 بازدید در مثلا 15 دقیقه فشار زیادی به سرویس دهنده نمیاد !
...

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

البته شایدم بیانش درست نبوده یا ناخودآگاه اغراق صورت گرفته.

mehrdad1991h
جمعه 19 خرداد 1391, 15:26 عصر
ببین ایشون گفته 1000 درخواست همزمان. بازهء زمانی مشخص نکرده.
بنابراین آدم فکر میکنه مدام یا بطور متوسط یک چنین ترافیکی ممکنه داشته باشه.
یعنی ممکنه در خیلی کمتر از 15 دقیقه هزارتا درخواست داشته باشه.
یا اینکه ممکنه در یک زمانهای خاصی، مثلا در طول یک ساعت در کل روز کاری، چنین ترافیک سنگینی باشه و مهم باشه که سرور بتونه جواب بده.

البته شایدم بیانش درست نبوده یا ناخودآگاه اغراق صورت گرفته.

در بعضی ساعات واقعا ترافیک سنگینه و تقریبا هر 10 دیقه چنین درخواستایی هست ولی در سایر اوقات میشه گفت ساعتی 1000 تا درخواست دیگه هست حداقل
بعد یه چیز دیگه هست
با مشخصاتی که گفتم 2 تا سرور هست که میخوان یه جوری این ترافیک کاری بین هر دو تقسیم بشه که فشار به یه دونه نیاد
و از اونجا که این سایت روز اولش نیست ! مطمئن باشید اقراق نشده
الان هم که داره دنبال برنامه نویس میگرده به خاطر اینه که دوباره چند دفعه هک شده ظاهرا باگ های اصاصی/اساسی (غلط املایی بگیرید حالا :دی) داره برنامه فعلیش و برا همین میخواد یه زبان که خوب باشه انتخاب کنه
که طی صحبت های انجام شده تا الان مشخص شد که زبان مشکل نداره برنامه نویس باید حرفه ای باشه ! که در موارد قبل نبوده !

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

میبینید همه جا همه حرفی شنیده که خیلی گیج شده
بازم سپاس

MMSHFE
جمعه 19 خرداد 1391, 15:33 عصر
با توجه به توضیحات فوق بنظرم اگه برنامه رو با #C یا ++VC بنویسید و به EXE تبدیل کنید و بعد با CGI باهاش کار کنید و فقط یک Interface با PHP/ASP.NET طراحی کنید، نتیجه خیلی بهتری دریافت خواهید کرد.

mehrdad1991h
جمعه 19 خرداد 1391, 15:54 عصر
با توجه به توضیحات فوق بنظرم اگه برنامه رو با #C یا ++VC بنویسید و به EXE تبدیل کنید و بعد با CGI باهاش کار کنید و فقط یک Interface با PHP/ASP.NET طراحی کنید، نتیجه خیلی بهتری دریافت خواهید کرد.

تقریبا یه چنین فکری هم داشتم من ولی دو تا مسئله
اول اینکه با چنین حجمی با هنگ برنامه مواجه نمیشیم ؟
و اینکه بازم با چنین حجمی به نظرتون بررسی همه اینا خیلی زمان بر نمیشه برا برنامه همون مسئله هنگ کردن به نوعی !

حالا با این روش به نظر من رو سرور لینوکس میتونه نتیجه ی خوبی بگیره !
حالا نظر شما چیست؟

از تمامی دوستان هم به خاطر این که این بحث یه مقدار کش دار و طولانی شده و وقتشون را میگیره و حاظر شدن به خاطر بنده وقت بزارن عذر خواهی و تشکر میکنم
سپاس

MMSHFE
جمعه 19 خرداد 1391, 16:17 عصر
دوست گرامی، PHP و NET. و... همه و همه با ++C نوشته شدن. پس مطمئن باشین اگه برنامه نوشته شده با ++C هنگ کنه، برنامه های نوشته شده با اونها هم هنگ خواهند کرد. البته به شرط اینکه کسی که با ++C برنامه مینویسه، کارش رو بلد باشه. بطور کلی CGI اگه به درستی استفاده بشه، سرعت بالاتری رو فراهم میکنه. البته مشکلات خاص خودش رو هم داره و طبیعتاً طراحی چنین سیستمی مشکلتر از کار با Request/Responseهای HTTP هست که توسط وب سرور مدیریت میشن. اما قطعاً نتیجه بهتری عایدتون میشه. بخصوص اینکه توسط زبانهایی مثل ++C دسترسی سیستمی هم برای شما فراهم هست. مثلاً با کمک اشاره گرها میتونید با سرعت خیلی زیادی حافظه رو مورد جستجو و واکشی قرار بدین. بنابراین باز هم پیشنهاد میکنم حالا که سرور در اختیار خودتون هست و چنین قدرتی هم داره، یک برنامه با زبانهای سیستمی مثل ++C یا Delphi یا Java (منظورم J2EE هست) بنویسید که فقط درخواستها رو میگیره (حالا یا بصورت سرویس یا بصورت دستورات Command Line) و کارهای لازم رو انجام میده (مثلاً استخراج اطلاعات از دیتابیس) و خروجی رو برمیگردونه. اونوقت کافیه یک GUI ساده با HTML و CSS و JS و... بسازین که درخواستها رو میگیره و به برنامه تحویل میده. اون هم جواب رو بعد از پردازشهای لازم برمیگردونه و اون جواب تحویل کلاینت داده میشه. فکر نمیکنم اینجا کسی باشه که توی سرعت و قدرت ++C یا Delphi و Java نسبت به NET. و PHP و امثالهم بحثی داشته باشه.
موفق باشید.

eshpilen
جمعه 19 خرداد 1391, 20:50 عصر
اینطور که ایشون گفتن حجم ترافیک و بار سرورشون اونقدرها هم زیاد و غیرعادی نیست. 1000 درخواست در 10 دقیقه میشه کمتر از دو درخواست در ثانیه که اگر سرور قدرت معمولی هم داشته باشه بنظرم نباید هیچ مشکلی پیش بیاد. البته مگر اینکه اون درخواستها و عملیات انجام شده خیلی بیشتر از حد عادی سنگین و زمانبر باشن.
ایشون که گفت سرور اختصاصی هم دارن. پس بنظرم چند برابر این ترافیک رو هم خیلی راحت جواب میده.

بنابراین لزومی نداره با زبانهای سطح پایین تر کار کنن که کار رو مشکل تر و پیچیده تر میکنه و احتمال باگ رو بالا میبره. تازه گذشته از دنگ و فنگ کامپایل و کتابخانه های لازم و تنظیمات سرور و احتمالا گرفتن پورت و غیره. یه چیزی رو به حرف گفتن ساده است، اما در عمل ممکنه خیلی دردسر داشته باشه.

البته اگر برنامهء خاصی باشه که یک بخش Performance critical داشته باشه که Bottleneck مهمی باشه اونوقت ممکنه نوشتن اون بخش خاص (و نه لزوما کل برنامه) در یک زبان با پرفورمنس بالا بتونه مفید یا لازم باشه. اما این کار هم تنها درصورتیکه ضرورت باشه یا در عمل خیلی مفید باشه انجام میشه. وگرنه امروزه معقول نیست کسی همینطور بیاد بخاطر پرفورمنس بیشتر بره سراغ زبانهای سطح پایین تر و برنامه نویسی دشوارتر و پیچیده تر. باید حساب همه جا رو بکنید. پیچیدگی کار رو کند و دشوار میکنه. احتمال باگ زیاد میشه. تست و باگیابی دشوار میشه. سازگاری با بخشها و برنامه های دیگر کمتر میشه. گسترش و تغییر و نگهداری مشکل میشه. نیاز و وابستگی به برنامه نویس های با تخصص خاصتر و کمیاب تر و پرهزینه تر ایجاد میشه. خلاصه هزار و یک جور دنگ و فنگ میتونه داشته باشه.

اگر نیاز بشه یک برنامه نویس روی بخشهای سی++ کار کنه و یکی دیگه روی بخشهای PHP یا ASP.NET مثلا، اونوقت هماهنگی و ارتباط و سازگاری اون برنامه نویسها هم خودش به هزینه ها و مشکلات و زمان توسعه اضافه میکنه. گذشته از هزینهء بیشتری که باید به دو نفر پرداخت بشه. اینم که بگید همهء بخشها رو با یک زبان سطح پایین و عمومی مثل سی++ بنویسیم باز خودش کار رو بیشتر مشکل و پیچیده و زمانبر میکنه و از نظر هزینه حتی میتونه بیشتر هم بشه، و اصلا معقول هم نیست این کار.
بنابراین ترجیحا بهتره یک نفر مسلط به هر دو زبان باشه و هر دو بخش رو یک نفر انجام بده. اما تعداد چنین افرادی فکر میکنید چقدر زیاده؟

MMSHFE
جمعه 19 خرداد 1391, 20:56 عصر
درسته. من هم کلیات رو گفتم. راههایی که جلوی پای ایشون هست رو مشخص کردم. حالا تصمیم با خود ایشونه که کدوم راه براش مناسبتره. اگه شخصاً نظر من رو بخوان، ترکیب LAMP رو پیشنهاد میکنم:
Linux + Apache + MySQL + PHP