VIP همه چیز درباره برنامه نویسی

وضعیت
موضوع بسته شده است.

☾♔TALAYEH_A♔☽

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2017/05/18
ارسالی ها
35,488
امتیاز واکنش
104,218
امتیاز
1,376
ویژگیهای عمومی زبان برنامه نویسی PHP
هر کاربری دلایل خاص خود را برای استفاده از PHP و پیاده سازی برنامه ای حساس با آن را دارد. از جهاتی دیگر می توان نشان داد که چنین تمایلاتی به چهار گروه اصلی طبقه بندی می شوند: کاربردی بودن، قوی بودن، امکانات فراوان و هزینه مطلوب.

کاربردی بودن
از همان نسخه های اولیه، PHP با کاربردی بودن آن در ذهن، ساخته شد. هدف اولیه لردورف، طراحی زبان کاملا جدیدی نبود بلکه هدف وی، حل کردن مشکلی بود که در آن زمان، راه حل ساده برای آن وجود نداشت. بعلاوه اکثر تغییر و تحولات اولیه در این زبان، هدف اصلیشان بهبود خود زبان برنامه نویسی نبود بلکه هدف اصلی، افزودن ابزارهای جهت استفاده کاربران بود. نتیجه آن شد که زبانی بوجود آمد که به کاربران اجازه می داد حتی با کمترین دانش، برنامه هایی قدرتمند بسازند. بعنوان نمونه، یک اسکریپت مفید PHP می تواند شامل تنها یک خط PHP باشد. برخلاف C، نیازی به استفاده از اعلان برای استفاده از کتابخانه های استاندارد نیست. برای مثال، دستورات زیر، اسکریپت کالی از PHP را نشان می دهند که هدف آن، نمایش تاریخ جاری به فرمت ماه، روز، سال است:

<?php echo date("F j, Y");?>
مثالی دیگر از زیبایی این زبان در خلاصه نویسی، امکان جاسازی توابع در یکدیگر است. بعنوان نمونه، می توانید تغییرات مختلفی را با اعمال زنجیره ای توابع انجام دهید. مثال زیر رشته ای از پنج کاراکتر الفبایی نظیر a3jh8 را تولید می کند:


$randomStriong = substr(md5(microtime()), 0, 5);
PHP زبانی است که در اصطلاح برنامه نویسی به آن زبان برنامه با تایپ راحت اطلاق می شود. به این مفهوم که نیازی به بیان نوع متغیرها و یا فراخوانی نابودکننده نمی باشد، هر چند می تواند آن کارها را نیز انجام دهید. PHP این موارد را بصورت داخلی انجام می دهد، متغیرها را در مواقع لزوم و هنگامی که در اسکریپت فراخوانی می شوند می سازد و بطور خودکار از مناسبترین فرمولها استفاده میکند تا نوع متغیرها بدرستی در نظر گرفته شوند. برای نمونه، PHP دستورات زیر را کاملا معتبر می داند:


<?php
$number – "5";
$sum = 15 + $number;
$sum = "twenty";
?>
PHP بطور خودکار متغیرها را نابود می کند و منابع استفاده شده را در پایان اسکریپت، به سیستم بر می گرداند. این موارد و در موارد مشابه دیگری که PHP بصورت داخلی، مسائل مدیریتی و امنیتی برنامه نویسان را حل می کند، این امکان را به برنامه نویسان خواهد داد تا منحصرا تنها بر روی هدف نهایی خود تمرکز کنند که همان برنامه ای می باشد که تحت وب بدرستی کار کند.

قوی بودن
برنامه نویسان PHP بیش از 180 کتابخانه را در اختیار خود دارند که در مجموع چیزی بیش از 1.000 تابع را شامل می شود. اگرچه شما احتمالا از قابلیتهای PHP برای ارتباط با پایگاه های داده، تغییر در فرم اطلاعات، و ساخت دینامیک صفحات مطلع هستید، ولی ممکن است ندانید که PHP قادر است کارهای زیر را نیز انجام دهد:

  • ساخت و ویرایش فایلهای در فرمت Adobe Flash و PDF
  • تحلیل حتی پیچیده ترین رشته ها با استفاده از کتابخانه های POSIX و عبارات قانونمند Perl
  • مجوز ورود به کاربران از طریق فایلهای خام، دیتابیس ها، و یا حتی Active Directory مایکروسافت
  • امکان برقراری ارتباط با بسیاری از پروتکلهای مختلف نظیر LDAP، IMAP، POP3، NNTP، و DNS و غیره...
  • امکاناتی نظیر ارتباط با بسیاری از کارتهای اعتباری
و هنوز تا به اینجا حرفی از افزونه های PHP و انبارهای برنامه نویسی Application Repository (PEAR) به میان نیاورده ایم که صدها بسته قابل نصب را برای افزایش امکانات PHP شامل می شود.

امکانات فراوان
برنامه نویسان PHP به ندرت خود را مقید به استفاده از تنها یک روش می کنند. از طرف دیگر، کاربران معمولا از امکانات و اختیارات وسیعی که این زبان به آنها می دهد، دچار وحشت می شوند. بعنوان مثال، انتخابهایی را که PHP برای پشتیبانی از پایگاه های داده، به برنامه نویسان می دهد را در نظر بگیرید. پشتیبانی که در نسخه های اصلی موجود است، شامل پشتیبانی از 25 نوع مختلف دیتابیس است. این دیتابیس ها شامل، Adabas D، dBase، Empress، FilePro، FrontBase، Hyperware، IBM DB2، Infomix، Ingres، InterBase، mSQL، Microsoft SQL Server، MySQL، Oracle، Ovrimos، PostgreSQL، Solid Sybase، Unix dbm، و Velocis می باشند. ضمن آنکه توابعی وجود دارند که امکان دسترسی به پایگاه های داده از نوع Berkeley DB را می دهند. چندین نوع دیگر از پایگاه های داده، به طریق مشابهی پشتیبانی می شوند که از مشهورترین آنها می توان به PDO و MDB2 اشاره کرد.

قابلیتهای انعطاف پذیر پردازش رشته ها در PHP، به کاربرانی با مجموعه مهارتهای متفاوت، امکاناتی را می دهد تا نه تنها خیلی سریع عملیات رشته ای پیچیده را انجام دهند بلکه به همان سرعت از برنامه هایشان در برنامه های مشابه دیگر نظیر Perl و Phyton استفاده نمایند. علاوه بر وجود بیش از 85 تابع برای ویرایش رشته ها، هر دو نوع شکل عبارات قانونمند Perl و POSIX پشتیبانی می شوند.

آیا ترجیح می دهید تا از زبانی استفاده کنید که از برنامه نویسی به شکل مرحله ای (Procedural programming) پشتیبانی کند؟ و همچنین از شی گرایی؟ در اینصورت PHP برای هر دوی آنها، پشتیبانی کاملی را ارائه می کند. اگرچه PHP در ابتدا زبانی کاملا متکی بر توابع بود، ولی توسعه دهندگان آن خیلی زود متوجه اهمیت شی گرایی شدند و گامهایی مناسب برای پیاده سازی آن برداشتند.

PHP به شما اجازه خواهد داد تا به سرعت و در کمترین زمان، از توانایی های فعلی خود استفاده کنید.

هزینه مطلوب
PHP بصورت رایگان در اختیار همگان قرار دارد. از زمان اولین نسخه آن تا به امروز، PHP هیچگونه محدودیتی را در استفاده، ویرایش، و توزیع مجدد آن نداشته است. در سالهای اخیر، برنامه هایی که چنین شرایطی را داشته اند، بعنوان نرم افزارهای سورس باز نام بـرده شده اند. پروژه های سورس باز نظیر Sendmail، Bind، Linux، و Apache همه آنها نقش بسیار بزرگی را در روند توسعه اینترنت در مقیاس وسیع داشته اند. اگرچه رایگان بودن نرم افزارهای سورس بار، مهمترین خواسته مردم است ولی چندین مشخصه دیگر نیز به همان میزان از اهمییت برخوردارند:

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

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

تشویق به مشارکت: تیمهای توسعه دهنده، به سازمان خاصی مربوط نیستند. هر کسی علاقه دارد و توانایی آن را در خود می بیند می تواند در این پروژه شرکت کند. عدم اعمال محدودیت برای اعضا، بطور وحشتناکی اعضای نخبه در یک پروژه را افزایش می دهد که در نهایت منجر به ایجاد محصولی با کیفیتی بالا خواهد شد.
 
  • پیشنهادات
  • ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    حافظه ROM چیست؟
    rom.jpg

    بخش کوچکی از حافظه در کامپیوترها بعنوان حاقظه ای فقط خواندنی در نظر گرفته شده اند (ROM) به این معنی که اطلاعات می توانند خوانده شوند ولی نمی توانند ویرایش شوند. مشابه RAM، آدرسهای ROM می توانند با همان زمان دسترسی در RAM ها در دسترس قرار گیرند. بسیاری از وسایل الکتریکی نظیر ماشین حسابهای دستی و ساعت ها، از ROM استفاده می کنند. در یک کامپیوتر، ROM برای ذخیره سازی ورودی/خروجی های سیستم عامل (BIOS)، مورد استفاده قرار می گیرد. از آنجاییکه اطلاعات ذخیره شده در ROM، قابلیت تغییر را ندارند، در نتیجه محتویات BIOS نمی تواند بروز رسانی شود.

    حافظه فقط خواندنی قابل برنامه ریزی (PROM)، به ما این امکان را می دهد تا اطلاعات مورد نیاز خود را پس از ساخت در آن قرار دهیم. در ROMهای قابل برنامه ریزی و قابل پاک شدن (EPROM)، داده ها می توانند پاک شوند و مجددا توسط نور اشعه ماورای بنفش خاصی (UV)، سوزانده شوند. در ROMهای قابل برنامه ریزی پاک شونده بصورت الکتریکی (EEPROM)، داده ها می توانند توسط روشهای الکترونیکی مناسبی پاک شوند. سخت افزارهای مدرن امروزی، از BIOSهای فلش قابل ارتقا در فرم EEPROM استفاده می کنند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    فایل های باینری اجرایی
    دستورات یا برنامه های هر کامپیوتری، به شکل فایلی باینری و قابل اجرا می باشند که دستورات زبان ماشین را بصورت رمز در خود جا داده است. این فایلها با فراخوانی یا تایپ نام برنامه و سپس با زدن کلید ENTER، یا در یک محیط بصری با کلیک کردن روی آیکون آن، در حافظه رم بارگذاری می شود. برای یافتن فایل باینری مشخص شده، سیستم عامل از طریق مسیر دایرکتوری مشخص شده و همچنین دایرکتوری هایی که کاربر آنها را تعیین کرده است، به دنبال فایل اجرایی مورد نظر می گردد.

    سیکل اجرای دستورات که به آن سیکل فراخوانی-رمزگشایی-اجرا نیز گفته می شود (FDX)، توصیف کننده زمان مورد نیازی است که هر دستور نوشته شده به زبان ماشین لازم دارد تا از حافظه رم خوانده شود، رمز گشایی شود و سپس توسط پردازگر اجرا شود.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    CPU چیست؟
    هسته اصلی سخت افزار کامپپیوتر، پردازشگر مرکزی می باشد که بر روی مادر برد قرار داده شده است. جزء اصلی یک پردازشگر، مایکرو چیپی است که با تکنولوژی مدارات مجتمع فشرده ساخته شده است و واحد پردازشگر مرکزی یک میکرو پروسسور نامیده می شود (CPU). CPU ها امروزه شامل بیش از 50 میلیون ترانزیستور می باشند. وظیفه آنها، انجام محاسبات عددی و انجام تصمیم گیریهای منطقی است که در مجموع به آنها عملیات گفته می شود. واحد کنترل (CU) یک CPU، دستورات را تفسیر و به آنها الویت می دهد و واحد منطق ریاضی (ALU)، دستورات را اجرا خواهد کرد.

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

    CPU قادر است تا داده ها را از بانک های خارجی حافظه دریافت کند، آنها را توسط اجرای دستورات ویرایش کند و سپس نتایج را دوباره به بانک داده ها باز گرداند. اطلاعات گذرا در واحد حافظه محلی با راندمانی فوق العاده بالا نگهداری می شوند که به آنها رجیستر اطلاق می شود. CPU با وسایل دیگر از طریق خطوط باس (bus) تبادل اطلاعات می کند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    بیوس BIOS چیست؟
    سیستم ابتدایی ورودی و خروجی (BIOS)، مجموعه کوچکی از دستورات هستند که در هنگامی که کامپیوتر روشن می شود، اجرا خواهند شد. BIOS ارتباطی با سیستم عامل نداشته و کاملا وابسته به سخت افزارهای الکترونیکی یک کامپیوتر می باشد. هدف اصلی BIOS، فعال سازی صفحه کلید، صفحه نمایش است و پس از آن، برنامه کوچکی فرا خوانده می شود که بارگذار بوت را فرا خوانده که به نوبه خود منجر به راه اندازی سیستم عامل خواهد شد. بارگذار بوت یا بوت لودر، در اولین پارتیشن یک دستگاه ذخیره کننده اطلاعات قرار دارد و به آن بوت سکتور یا مستر بوت رکورد (MBR) گفته می شود. در صورتیکه چندین دستگاه ذخیره کننده اطلاعات موجود باشد، BIOS از طریق لیستی که آن نیز قابل برنامه ریزی بوده، به دنبال اولین بوت لودر موجود خواهد گشت.

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

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    ویژگیهای PHP 4
    در 22 ماه می سال 2000، تقریبا 18 ماه پس از اعلام رسمی در مورد از سر گیری فعالیتهای برنامه نویسی برای نسخه جدید، PHP 4.0 بیرون آمد. بسیاری از مردم، نسخه PHP 4 را جنجالی ترین نسخه از این زبان می دانستند و سخنهایی از آن در اینترنت به گوش می رسید. تنها چند ماه پس از بیرون آمدن این نسخه، Netcraf، گزارشی بیرون داد که تخمین می زد بیشتر از 3.6 میلیون دامنه، PHP را روی دامنه های خود نصب کرده اند.

    PHP 4، تغییرات بسیاری را در خود جای داده بود. تغییرات این نسخه به قرار زیر بودند:

    بهبود در مدیریت منابع: یکی از مشکلات اولیه نسخه های 3.x، عدم تناسب پذیری بود. دلیل این موضوع عمدتا بخاطر آن بود که طراحان این زبان روند پیشرفت سریع این زبان و استفاده در برنامه های بزرگ را کوچک شمرده بودند. زبان PHP در ابتدا برای سایت های بزرگ طراحی نشده بود و ادامه علاقه به استفاده از این زبان برای چنین مقاصدی منجر شد تا برنامه نویسان آن به اکثر مکانیک های این زبان از نو بیاندیشند.

    پشتیبانی از شی-گرایی: نسخه 4، درجه ای از شی گرایی را در خود جای داده بود، اگرچه عمدتا این پیاده سازی، خارج از سطح توقعات بود و حتی خیلی ضعیف پیاده سازی شده بودند. ولی با وجود این، ویژگیهای جدید، نقش مهمی را در جذب کاربرانی که عادت به برنامه نویسی با زبانهای شی گرا (OOP) را داشتند ایفا می کرد. کلاسهای استاندارد و روشهای برنامه نویسی شی گرا در دسترس قرار گرفتند ضمن آنکه ویژگیهایی نیز نظیر سربارگذاری و اطلاعات زمان اجرای کلاسها نیز به این زبان اضافه شده بودند. نسخه کاملتری از شی گرایی، در نسخه 5 این زبان پیاده سازی شد که در فصل 6، به تفصیل به آن خواهیم پرداخت.

    پشتیبانی از مدیریت session ها: مدیریت session های http، در نسخه های 3.x از طریق بسته PHPLIB در اختیار کاربران قرار گرفته بودند (phplib.sourceforge.net)، که در نسخه 4، بصورت یکپارچه توسط برنامه نویسان از نو نوشته شد. این ویژگی به برنامه نویسان ابزاری را ارائه می داد که توسط آن، بتوانند فعالیتهای کاربران و تمایلات آنها را بصورت غیر موازی، راحت و موثر، ردگیری کنند. فصل 18 این قابلیتها را مورد بحث قرار می دهد.

    رمزگذاری: کتابخانه MCrypt، بصورت پیش فرض در این نسخه قرار داده شده بود تا کاربران بتوانند رمزگذاری را بصورت کامل و hash شده و با استفاده از الگوریتمهای رمزگذاری که شامل Blowfish، MD5، SHA1 و TripleDES است انجام دهند. فصل 21 به تفصیل به این قابلیتهای PHP می پردازد.

    پشتیبانی از ISAPI: پشتیبانی از ISAPI به کاربران این قابلیت را میدهد تا از PHP در کنار IIS وب سرور مایکروسافت استفاده نمایند. در فصل 2 نشان خواهیم داد که چگونه PHP را هم بر روی وب سرورهای IIS و هم بر روی وب سرورهای Apache نصب نمایید.

    پشتیبانی از COM/DCOM: یکی دیگر از مزیتهایی که برای کاربران ویندوز در این نسخه از PHP وجود دارد، قابلیت دسترسی و نمونه سازی از اشیای COM است. این قابلیت، تعامل وسیعی را با برنامه های ویندوز بوجود آورد.

    پشتیبانی از جاوا: یکی دیگر از قابلیتهایی که به PHP قدرت می داد، پشتیبانی از بسته بندی اشیای جاوا در یک برنامه PHP بود. این قابلیت در نسخه 4 اضافه شد.

    کتابخانه عبارات قانونمند سازگار با Perl (PCRE): زبان Perl زمانی بعنوانی سلطان پردازش رشته ها قلمداد می شد. توسعه دهندگان PHP به این نکته واقف بودند که قدرت توابع "عبارات قانونمند"، نقش مهمی را در مقبولیت PHP بازی خواهد کرد. در نتیجه آنها تصمیم گرفتند تا توابع Perl را درون برنامه PHP قرار دهند به جای آنکه آن را از نو بسازند. با این تصمیم آنها بسته کتابخانه PCRE را در بسته پیش فرض PHP قرار دادند (نسخه 4.2.0). فصل 9 به تفصیل به این موضوع خواهد پرداخت و مقدمه ای کوتاه را برای دستورات عبارات قانونمند که غالبا گیج کننده هستند را باز خواهد کرد.

    علاوه بر این ویژگیها، صدها تابع دیگر نیز در نسخه 4 به PHP اضافه شدند که منجر به افزایش قابلیتهای این زبان شد.

    PHP 4، جهش بزرگی رو به جلو در بلوغ این زبان بود که ویژگیها جدیدی را ارائه می داد. ولی تیم توسعه دهندگان PHP آرام ننشستند و خیلی زود دست به کار بزرگ دیگری زدند تا یک گوریل 800 پوندی را در دنیای اسکریپت نویسی تحت وب پیاده سازی کنند: PHP 5.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    ++C چیست؟
    cpp.jpg

    زبان برنامه نویسی C++ در سال 1985 توسط Bjarne Stroustup در آزمایشگاه AT&T بعنوان توسعه ای بر زبان C بوجود آمد. افزونه هایی که بر این زبان اضافه شده بودند، از زبان Simula گرفته شده بودند. از آن زمان تا کنون، C++، با سرعت زیادی در راستای نیازهای عملی برای یک زبان برنامه نویسی رو به رشد است، نیازهایی که یک زبان برنامه نویسی را قادر می سازد تا بطور موثری انواع مختلفی از داده ها را در کنار یکدیگر مدیریت نماید. محور اصلی در پیاده سازی این زبان برنامه نویسی، مفهوم برنامه نویسی شی گرا است (OOP). امروزه، C++ بازار تجاری را در اختیار خود گرفته است بطوریکه این زبان برنامه نویسی، هم برای برنامه نویسان سیستم های عامل و هم برای برنامه نویسان نرم افزارهای کاربردی، مورد پسند می باشد.


    برنامه نویسی شی گرا
    برای آنکه مزیتهای یک زبان برنامه نویسی شی گرا را با یک زبان برنامه نویسی ساختاری نظیر MATLAB، FORTRAN 77، یا C نشان دهیم، فرض می کنیم که یک رقیب ورزشی بین المللی، به جمع دوندگانی از سراسر دنیا ملحق شده است. رکورد هر یک از دوندگان، تشکیل شده است از چندین فیلد شامل نام، کشور، شهر زادگاه، زمان تولد، و بهترین رکورد زمانی.

    در یک زبان ساختاری، هر یک از این فیلدها در یک بردار داده ای جداگانه ذخیره خواهند شد. ولی در یک زبان برنامه شی گرا، هر دونده، تبدیل به شی ای خواهد شد که به عنوان عضوی از کلاس دونده ها تعریف می شود و هر عضو با مجموعه ای از این فیلدها توصیف خواهد شد. این روش به ما این امکان را می دهد تا ذخیره سازی، فراخوانی و ویرایش را به هر روش دلخواهی بر روی داده های شخصی هر دونده با استفاده از اپراتورهای سمبولیک ساده انجام دهیم. کلاسهای زیر مجموعه، تشکیل می شوند از بعنوان مثال دوندگانی از یک کشور خاص که به نحوی تعریف می شوند که می توانند به سادگی جزییات بیشتری را از دوندگان ارائه دهد.

    یک زبان شی گرای OPP به ما این امکان را می دهد تا انواع داده های مورد نیاز خود را بصورت یک شی در یک کلاس تعریف کنیم و سپس از آن کلاس به عنوان سنگ بنای توسعه بیشتر استفاده نماییم. این انعطاف پذیری اساسا به ما این امکان را می دهد تا زبانی را بسازیم بدون آنکه کامپایلر آن را نوشته باشیم. با این دید، یک زبان شی گرا یا OPP زبان فوق العاده پیشرفته ای می باشد.


    C و ++C
    C++ بسط یافته زبان برنامه نویسی C است ولی اهدافی والاتر از C را پوشش می دهد بطوریکه باید بعنوان یک زبان مجزا تدریس و آموزش داده شود. لازم به ذکر است که در این مجموعه آموزشی، نیازی به یادگیری زبان C بعنوان پیش نیاز یادگیری C++ نمی باشد اگرچه یاد گرفتن آن می تواند مفید و کمک کننده باشد.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    سیستم باینری چیست؟
    binary.jpg

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

    در ساده ترین روش، پرچمی با دو روی سفید و سیاه به ذهنمان می رسد که جهت سفید و سیاه پرچم به هر تعداد دلخواهی نوسان می کند تا اطلاعات ضروری در ارسال پیام را به شکل مورس مخابره نماید. ذخیره سازی متوالی علانم، بیانگر رشته ای باینری از اعداد 0 و 1 است که صفر بیانگر سفید و 1 بیانگر سیاه است.

    در نتیجه سیستم باینری چهارچوب کاری را به ما خواهد داد تا بتوانیم اعداد را بصورت رشته ای از 0ها و 1 ها نمایش دهیم. به محض اینکه دریافتیم چگونه اعداد را دستکاری کنیم، می توانیم حروف الفبا را نیز مدیریت کنیم. به این ترتیب که به هر حرف کد عددی را نسبت می دهیم. رشته هایی از حروف، کلمات را تشکیل می دهند و رشته هایی از کلمات جملات، دستورات و نتیجه گیریهایی را تشکیل می دهند که می توانند درست یا غلط باشند. در نتیجه یک سیستم جامع ممکن است با استفاده از آشنایی با این مفهوم، به این فرم باینری نمایش داده شود.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    برنامه نویسی سفارشی
    در نویا سیستم، کلیه برنامه های نوشته شده توسط ما، بصورت کاملا سفارشی و اختصاصی می باشند بطوریکه در پایان، برنامه نوشته شده مطابق با مدارکی می باشند که شما از برنامه درخواستی خود، به ما ارائه داده اید. در زیر لیستی از روندی را مشاهده خواهید کرد که برای پیاده سازی یک نرم افزار سفارشی، ما بکار بخواهیم برد.

    مدارک و مستندات برنامه
    هر پروژه برنامه نویسی سفارشی، می بایست مدارک و مستنداتی داشته باشد که کارفرما یا مشتریان، به برنامه نویس، ارائه خواهند داد. همانند یک ساختمان، نرم افزار درخواستی شما نیز می بایست یک نقشه داشته باشد که حاوی تصاویر، و توضیحاتی از پروژه شما باشد. شما با در اختیار قرار دادن یک مدارک به شرکت های برنامه نویسی، قادر خواهید بود تا نرم افزار سفارشی و اختصاصی خود را توسط آن ها پیاده سازی نمایید.

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

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

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

    برنامه نویسی
    هر برنامه نویس در یک تیم برنامه نویسی، پس از دریافت وظایف خود، شروع به کار برنامه نویسی خواهد کرد، بدون آنکه کارها کمترین وابستگی به یکدیگر داشته باشند. در ابتدا برنامه نویسان، با تقسیم کارهای خود به بخش های کوچکتر، کدهای ریزتری را می نویسند که به آنها توابع، کلاس ها، و یا متد اطلاق می شود. به این کار میکرو پروگرامینگ (Micro Programming) یا ریز برنامه نویسی اطلاق می شود.

    مدیر پروژه برنامه نویسی
    مدیر یک پروژه برنامه نویسی، وظیفه مدیریت پروژه و تقسیم وظایف کار میان برنامه نویسان را دارد. مدیر پروژه به خوبی از اهداف پروژه آگاهی دارد و برنامه نویسان در مواردی که شبه ای در کار باشد، می بایست پس از مشورت با مدیر پروژه، به مسیر خود ادامه دهند. در پایان همه برنامه نویسان، کدهای خود را به مدیر پروژه ارائه خواهند داد تا نوبت به فاز تست و آزمایش نرم افزار برسد.

    تست برنامه
    پس از اتمام کار برنامه نویسی، مدیر پروژه با کامپایل نمودن تمام برنامه ها در یک پروژه، پروژه را در اختیار آزمایش کنندگان نرم افزار قرار خواهد داد. به این بتا تستینگ (beta testing) نیز گفته می شود و وظیفه ای غیر از آشکار سازی ایرادات نرم افزاری ندارد. ایرادات به سمت برنامه نویس مرتبط یا برنامه نویسان، ارجاع داده می شود تا برطرف شوند و سپس مجددا آزمایش انجام خواهد تا زمانیکه همه ایرادات بطور کامل برطرف شوند.

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

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    برنامه نویسی حرفه ای
    برای ایجاد یک نرم افزار یا برنامه حرفه ای، پیش از هر چیز، نیاز است تا برنامه نویس یا برنامه نویسان از ماهیت پروژه شما به خوبی آشنا شوند. یک برنامه نویس حرفه ای به خوبی قادر است تا با بررسی مستندات و مدارک پروژه، ساختار اصلی نرم افزار را طراحی کند. به این کار اصطلاحا، آنالیز پروژه گفته می شود.

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

    مدارک می توانند توضیحاتی از نرم افزار، تصاویر و صفحات مورد نیاز، ابزارها و یا اختیارات قابل پیاده سازی باشد. لزوما این مدارک حتما نباید توسط مشتری ارائه داده شود. مدارک می توانند در طی جلسات، با کمک مشتری و برنامه نویس، تهیه و تدوین شوند.

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

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

    - بخش ورود فاکتورها

    - بخش جستجو در فاکتورها

    - بخش نمایش فاکتورهای ثبت شده

    - بخش اطلاعات آماری کل فاکتورهای ثبت شده، نظیر مبلغ کل، فاکتورهای پرداخت نشده، فاکتورهای پرداخت شده.

    - بخش مشاهده مشتریان با امکان مشاهده فاکتورهای آنها

    - بخش ثبت اطلاعات مشتریان

    - بخش جستجو در مشتریان

    همانطور که مشاهده می شود، این پروژه به 7 بخش تقسیم شده است که هر بخش وظیفه خاصی را انجام می دهد.

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

    به این برنامه نویسی، اصطلاحا برنامه نویسی شی گرا یا Object Oriented Programming نیز اطلاق می شود و هدف آن، تنها نزدیک تر کردن دنیای برنامه نویسی با اشیایی است که در بیرون از محیط برنامه وجود دارند (بعنوان مثال فاکتورها و یا مشتریان)
     
    وضعیت
    موضوع بسته شده است.

    برخی موضوعات مشابه

    بالا