▌ ||SKYNETWORK . Since 2010||▌
Area Of Experties : Cisco ASA -Juniper - MikroTik - PfSense
vMware vExpert
نه نه اینکه چیزی بلد نباشم
قبل از c# میخواستم php یاد بگیرم ولی اصلا باهاش ارتباط بر قرار نکردم
الان که چند روزه شروع کردم c# یه حس علاقه و پیوند قلبی بهش احساس میکنم :دی
آخه خیلی منظم هست و عیب یابی موقع برنامه نویسی خیلی راحته و آدم میتونه اونو با ذهن خودش منطبق کنه از نظر من
برای همین خیلی دوس دارم ادامش بدم
منتها از asp.net چیزی نمیدونم
▌ ||SKYNETWORK . Since 2010||▌
Area Of Experties : Cisco ASA -Juniper - MikroTik - PfSense
vMware vExpert
دوست عزیز و گرامی
لطفا به برنامه خودتان دو خط زیر را نیز اضافه فرمایید و حاصل را مشاهده کنید.
خواهید دید که برنامه بدون خطا اجرا شده و نوع متغیر b که چند خط بالاتر Double بود حالا شده String !!!کد PHP:
$b="aaa";
echo gettype($b) . '<br/>'.PHP_EOL;
اما اگر شما در ASP.NET چنین حرکتی را انجام دهید برنامه از شما خطا گرفته و Compile نخواهد شد!!!
لذا میتوان به صحت گفته اینجانب پی برد... عزیز دل در PHP اوضاع خراب تر از این حرفاست... در یک برنامه کوچک و CMS و... این اشکالات نمایان نمیشه اما وقتی خواستید یه اتوماسیون اداری بزرگ و پیچیده بنویسید آن وقت به ضعف های PHP و داداشش MySQL پی خواهید برد... به عنوان مثال MySQL برخلاف MS SQL و Oracle هیچگونه Cache ای از داده ها در RAM نگهداری نمی کند و همه درخواست ها را مستقیما از روی هارد دیسک پردازش می کند لذا در پردازش های سنگین و درخواست های بالا کم می آورد!!!
من در مورد خوبی و بدی این دو مورد صحبتی نمیکنم چون اصلا حرفه ای و قابل قبول نیست، ولی در مورد نظرات اشتباه ۱۰۰٪ واکنش نشان خواهم داد!
در مورد کش کردن mysql و استفاده از رم اشتباه کردید:
MySQL :: MySQL 5.5 Reference Manual :: 8.9 Buffering and Caching
لازم به ذکره که دومین وبسایت بزرگ دنیا (فیسبوک) از PHP و داداشش mysql استفاده می کنه!!!!
از اینکه اشتباه مرا با مدرک و دلیل گوش زد فرمودید صمیمانه سپاسگزارم
اما یه سوال:::: چرا رم مورد استفاده MySQL به مرور زمان زیاد نمی شود؟؟؟... اما رم مورد استفاده MS SQL هرچقدر که زمان بگذرد بیشتر می شود مثلا اگر زمان استارت سرور 100MB بوده پس از یکماه این عدد به 1GB می رسد؟؟؟
متشکرم
در جواب دوست خوبم باید بگم . آرایه ها در پی اچ پی یک مزیت بزرگ محسوب می شوند که کمتر زبانی انعطاف پذیری پی اچ پی در آرایه رو داره .
شما می توانید با استفاده از یک آرایه کاملا ساده به این مشکلی که در کد خودتون ایجاد کردید خاتمه بدید
اینم کد ::
موفق باشید .کد PHP:
<!DOCTYPE html>
<html lan="fa">
<head><title>webhostingtalk / wool</title></head>
<body>
<?php
$b[]=5.2;
$b[]='mohammad';
$b[]='aaa';
echo gettype($b[0]) . '<br/>'.PHP_EOL;
echo gettype($b[1]) . '<br/>'.PHP_EOL;
echo gettype($b[2]) . '<br/>'.PHP_EOL;
?>
</body></html>
شماره تماس جدید وی تایم - 09112126115
ضمن عرض ادب و احترام،
فرمایش شما به هیچ عنوان صحیح نیست. توی همین انجمن کم نیستن افرادی که سرورشون به دلیل کانفیگ اشتباه و استفاده بیش از حد از حافظه ( رم) با مشکل مواجه شده. درسته که در کانفیگ اولیه و پیش فرض mysql کش کردن غیرفعال هست، اما mysql علاوه بر query caching که mssql داره، thread caching هم داره! و جالبتر از این، mssql قابلیتی به نام in-memory OLTP ( In-Memory) داره که جداول داده شما رو بر اساس استفاده به حافظه منتقل میکنه و در عوض mysql موتور ذخیره سازی ای به نام memory ( MySQL :: MySQL 5.5 Reference Manual :: 15.4 The MEMORY Storage Engine) داره که تمام داده های جدول رو روی حافظه بارگذاری می کنه!
تنظیمات mysql در فایلی به نام my.cnf ذخیره میشه که شما میتونید به سادگی حداکثر میزان حافظه ای که mysql اجازه استفاده از اون رو داره مشخص کنید. میتونید سقف میزان کش کردن برای هم thread یا query رو هم مشخص کنید. میتونید زمانی که یک query در حافظه میتونه بمونه رو مشخص کنید و همچنین شما توانایی این رو دارید که برای query یا thread ها اولویت در کش شدن مشخص کنید!
همچنین علاوه بر مواردی که عرض کردم، در این صفحه میتونید مشاهده بفرمایید که mssql قابلیت Unique Query Cache رو هم نداره:MySQL :: Why Move to MySQL from Microsoft SQL Server?
اگر علاقه داشته باشید این یکی از جامع ترین مقایسه بین سرور های پایگاه داده هست:Comparison of different SQL implementations
در رابطه با فرمایشتون در مورد متغیر ها در php هم با توجه به اینکه بحث گسترده و مفصلی هست، یک نکته کوتاه رو خدمتتون عرض می کنم:
پاسخ فرمایش شما، در واقع در متن خودتون موجود بود!
فرمودید که "اما اگر شما در ASP.NET چنین حرکتی را انجام دهید برنامه از شما خطا گرفته و Compile نخواهد شد!!!"
خب طبیعیه که وقتی شما برنامه ای رو کامپایل می کنید، به هر متغیر تنها میتونید یک حالت نسبت بدید. چون برنامه شما یکباره کامپایل میشه، نمیتونید نوع متغیر رو تغییر بدید.
اما داستان تو PHP و کلا زبان های برنامه نویسی تفسیری فرق می کنه. فرض کنید در خط اول برنامه شما به متغیر x، مقدار عددی نسبت میدید. خط اول برنامه توسط interperter تفسیر میشه و دستورات مربوط انجام میشن. در خط دهم برنامه مجددا شما به متغیر x مقدار میدید، اما این بار مقدار رو به صورت رشته انتخاب می کنید. مفسر(interperter) متغیر قبلی رو unset می کنه و متغیر جدید رو ست میکنه. در واقع از شما برتری PHP نسبت به ASP، به عنوان یک عیب و یک نقص یاد کردید
در پایان دو تا لینک خدمتتون میدم، در رابطه با مدیریت حافظه در PHP هستن که اتفاقا PHP یکی از قدرتمند ترین زبان های برنامه نویسی تو این زمینه هست!
PHP: Basic memory management - Manual
Henry @ Web Apps: understanding PHP memory management
ارادتمند
سلام دوستان میدونم تاپیک مال حدود 1 ماه پیشه و شرمنده ولی با خوندنش لازم دونستم این مدارک را نشونتون بدم .
php زبان خوب و قابل احترامی هست ولی اینکه بعضی ها میگن امنیت و سرعتش از asp.net بیشتره یکم بزرگ نمایی میکنن .
چند نکته :
1. یاهو و فیسبوک و گوگل که از php استفاده میکنن اونی نیست که شما باهاش کدمیزنید . اونها php اختصاصی خودشون را دارن و خودشون توسعه دادن .
فیسبوک از php توسعه داده توسط خودش که با نام hiphop هست بهره میبره و به گفته ی خودش تا 50درصد از مصرف سرورهاش کمتر شده نسبت به php که قبلا استفاده میکرده .
2. شما php کارها ادعا دارید اپن سورس کار میکنید ولی تو دات نت هم میشه اپن سورس کار کرد .
asp.net mvc اپن سورس هست و میتونید سورسش را تا نسخه ی 3 از اینجا :
Reference Source
دانلود کنید و از نسخه ی 3 به بالاتر را از اینجا :
ASP.NET MVC / Web API / Web Pages - Home
دریافت کنید و توسعه بدید و منتشر کنید .
4. این مطلب را بخونید :
Compiled language - Wikipedia, the free encyclopedia
تا متوجه بشید زبان های مفسری کندتر از زبان های کامپایلری هستن .
5. بعدش حالا اینو ببینید :
نمودار اول: زمان صرف شده برای تولید ونمایش نتایج برای جستجوی وب سایتهای کوچک
همانطور که میبینید زمان متوسط برای سایت PHP، 0.1500 ثانیه و برای سایت ASP.net، 0.0150 ثانیه است. یک تفاوت بزرگ: PHP ده برابر نسبت به ASP.net کندتر است!
نمودار دوم: زمان صرف شده برای تولید و نمایش نتایج برای جستجوی وب سایتهای متوسط
PHP، 1.0097 ثانیه طول میکشد در حالی که ASP.net، 0.0810 ثانیه زمان نیاز دارد. میبینیم که PHP دوازده بار بیشتر از ASP.net زمان میبرد.
آمارهای زیر از سایت معتبر shootout.alioth.debian.org گرفته شده است. این آمارها نحوه اجرای همان کد را بر روی سیستم عامل لینوکسی برای هردو زبان نشان میدهد:
همانطور که مشاهده میکنید در سیستم لینوکسی نیز همچنان ASP.net سریعتر از PHP عمل میکند.
توسعه وب بوسیله PHP کار خوبی است، بسیاری از اپلیکیشنها و وبسایتهای شگفت انگیز توسط این زبان نوشته شده اند. اگر احساس میکنید PHP یک زبان برتر است از آن استفاده کنید اما این دلیل نمیشود که اطلاعات غلط را به دیگران القاء کنید و بدون دلیل و مدرک این زبان را از هر لحاظ برتر بدانید حال آنکه در این مقاله دیدیم که براساس چیزی که ارائه شد، ASP.net سرعت بیشتری نسبت به PHP دارد.
منبع مدارک بالا :
Asp.Net vs php : speed comparison
نمونه کوچکی از سایتهایی که از asp.net استفاده میکنن :
سامانه اعلام نیاز یارانه نقدی
irancel.ir
hiweb.ir
shatel.ir
tebyan.net
varzesh3.com
digikala.com
digionline.ir
mihanmarket.com
softgozar.com
rasekhoon.net
myket.ir --> Android Apps
iranapplecenter.com
mobile.ir
samservice.com
Stackoverflow.com
w3schools.com
raja.ir
sanjesh.org --> old php ,now asp
favanews.com --> news
ict.gov.ir -->وزارت اطلاعات و فناوری اطلاعات
itc.ir --> سازمان فناوری اطلاعات
bankmellat.ir
bmi.ir
tejaratbank.ir
parsian-bank.com
samanepay.com
ikco.com --> ایران خودرو
saipacorp.com --> سایپا
msio.org.ir --> سازمان بیمه سلامت
asemanbooking.com هواپیمایی آسمان
mahan.aero--> هواپیمایی ماهان
ataair.ir هواپیمایی آتا ایر
airplaneticket.ir --> مرکز خرید بلیط هواپیما
etik.ir -->خرید بلیط هواپیما
همانطور که میبینید سایتهای بسیار مهم و پربازدیدی از asp.net برای طراحی خود استفاده میکنن و قطعا بیشترین حملات سایبری را میتونن داشته باشن .اگر Performance و امنیت خوبی نداشتن تا حالا هک شده بودن و یا سرعت و کارایی خوبی نداشتن.
نمونه ی بارزش سایت refahi که برای ثبت نام یارانه ها روزی چندمیلیون بازدید کننده داشت . بیشتر حملات مختلف از جمله Ddos هم به این سایتها میشه که میتونه سرور را Down کنه .
سرورهای ویندوزی به مراتب قیمت بالاتری نسبت به لینوکس دارن . قطعا کسی نمیاد از تکنولوژی استفاده کنه که هم ضعیفه و گرون تره و امنیتش پایینه .
سیستم عامل لینوکس به خودی خود مشکل Performance نداره و امنیتش عالیه ولی اگر مشکلی باشه از طرف تکنولوژی و زبان ها هست که از لینوکس استفاده میکنن .
مثالش میشه سیستم عامل آندروید را نام برد که از هسته ی لینوکس استفاده میکنه ولی کنده و سنگینه . آیا سیستم عامل لینوکس کند و سنگینه ؟
به هر حال انتخاب با خودتونه از هرکدوم فکر میکنید برتر هست استفاده کنید ...
ویرایش توسط H@3!N : August 25th, 2014 در ساعت 08:24
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)