دسته بندی های ارشیو: خلاصه کتاب – تدریس استاد

اصول روش تحقیق و مرجع نویسی به شیوه APA

نگاه کوتاه

از ویکی‌پدیا، دانشنامهٔ آزاد

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

پژوهش پایه (بنیادی) و پژوهش کاربردی

مطالعهٔ اکتشافی، مطالعه‌ای مقدماتی است. که بنا بر نوع تحقیق عمدتا از طریق مطالعات کتابخانه‌ای، مشاهده، یا مصاحبه شکل می‌گیرد. علت انجام مطالعات اکتشافی عبارتند از:

۱- غنی کردن پرسش پژوهش خود.

از طریق مطالعات اکتشافی اهداف مطالعهٔ خود را بهتر شناخته و حوزهٔ معرفتی خود پیرامون موضوع مورد نظر را گسترش می‌دهیم. قابل توجه‌است که مطالعات اکتشافی به دنبال شناخت اجمالی و کلی از مساله زوایای مختلف بحث و دیدگاه‌های مختلف در این زمینه می‌باشند.

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

پژوهش‌های توصیفی و پژوهش‌های تحلیلی

پژوهش توصیفی دارای صورتی «گزارشی» بدون تاکید بر علت‌یابی مساله می‌باشد. مانند: گزارش یک واقعه یا یک اندیشه که در آن تنها به آن‌چه موجود است [و نه چرایی امر موجود] توجه می‌شود. برخی از محققان، مطالعات توصیفی در حوزهٔ وقایع تاریخی (زمان گذشته و نه زمان کنونی) را تحت عنوان پژوهش‌های تاریخی جدا از پژوهش‌های توصیفی مورد مطالعه قرار می‌دهند. صرف نظر از جنبهٔ روش‌شناسی خاص مطالعات تاریخی، بسیاری از آنها هم واجد ویژگی گزارشی بودن می‌باشند.

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

در این پژوهش‌ها توزیع پرسشنامه آنلاین محور پژوهش را تشکیل می‌دهد.

مهیا نمودن پرسشنامه آنلاین – چگونه یک تحقیق آنلاین را مدیریت کنیم؟

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

۱- اهداف اساسی تحقیق را مرور کنید. به دنبال کشف چه چیزی هستید؟ به عنوان نتیجه تحقیق چه کاری می‌خواهید انجام دهید؟ تحقیقات آنلاین تنها یکی از راه‌های جمع آوری داده‌ها و کمی کردن چشم اندازها هست.

۲- تمامی آیتم‌های اطلاعات مربوط را که می‌خواهید داشته باشید، تصور کنید. گزارش نهایی چگونه خواهد بود؟ چه نمودارها و اشکالی تهیه خواهند شد؟ چه اطلاعاتی برای اطمینان از اینکه عمل مورد نظر انجام شده نیاز دارید؟

۳- هر موضوعی در آیتم‌های ۱ و ۲ را بر اساس ارزش آن موضوع رتبه بندی کنید. آیتم‌های یک و دو را برای اطمینان از اینکه اهداف، موضوعات و اطلاعات مورد نیاز کامل هستند، دوباره ببینید. به خاطر داشته باشید که نمی‌توان با پرسیدن سؤالات نادرست، مشکل را حل کرد.

۴- سهولت یا سختی مهیا نمودن اطلاعات در هر کدام از موضوعات برای پاسخگو چگونه است؟ اگر سخت است، آیا راه دیگری برای کسب اطلاعات با پرسیدن سؤالات دیگر وجود دارد؟ شاید این مهم‌ترین قدم باشد. تحقیقات آنلاین بایستی دقیق، واضح و رک باشند. با توجه به ماهیت «وب» و نبود استحکام همراه با آن، اگر پرسشنامه شما هم بسیار پیچیده باشد و به راحتی قابل فهم نباشد، نرخ کسانی که کار را ول می‌کنند، بالا خواهد بود.

۵- دنبالهٔ مناسبی برای موضوعاتی که باید بدون جهت گیری باشند، خلق کنید. مطمئن شوید سؤالاتی که اول پرسیده می‌شوند، نتیجه سؤالی که بعداً پرسیده می‌شود را تحت تأثیر قرار ندهد. گاهی فراهم نمودن اطلاعات فراوان یا واضح نشان دادن هدف تحقیق، خود می‌تواند باعث جهت گیری شود. هنگامی که دنباله‌ای از موضوعات داشته باشید، می‌توانید برنامهٔ اولیه‌ای از یک تحقیق داشته باشید. اضافه کردن یک متن در مقدمه که به توضیح پروژه پرداخته و انتظارات مورد نظر از پاسخ دهنده را ذکر می‌کند، پسندیده‌است. داشتن عباراتی در پایان برای تشکر و نیز اطلاعاتی در مورد اینکه چگونه می‌توانند پس از انتشار از نتیجه تحقیق آگاه شوند، کاری حرفه‌ای است.

۶- نوع سؤالاتی که برای پاسخ‌دهی مناسبترین بوده و از قدرت کافی برای برآورده ساختن نیازهای تحلیلی برخوردارند را تعیین کنید. بدین معنی که آیا می‌خواهید از سؤالات متن باز، دوگزینه‌ای، چند گزینه‌ای، رتبه دهی، مقیاسی یا مجموع ادامه دار (مقیاس نرخی) استفاده کنید. در این‌جا خط درستی وجود دارد که بایستی از روی آن عبور کنید؛ عموماً پیش نیازهای تجزیه و تحلیل قوی به سمت طرح سؤال‌های پیچیده تر رهنمون می‌شوند. به هر حال چند ابزار وجود دارد که می‌تواند کار را راحت تر کند:

  • صفحات بخش بندی شده – از اینکه تحقیقات در یک صفحه گسترده که نیاز به پایین رفتن مداوم داشته باشد، پرهیز کنید. به عنوان یک ضرورت، صفحات بخش بخش شده ارائه کنید. در عین حال از اینکه تنها یک سؤال در هر صفحه داشته باشید نیز دوری کنید. زیرا این مورد باعث زیاد شدن مدت زمان مورد نیاز برای تکمیل تحقیق شده و احتمال ترک کردن تحقیق را بالا می‌برد.
  • پریدن منطقی – به منظور هوشمند کردن تحقیقتان از پریدن منطقی استفاده کنید. از جملاتی نظیر «اگر به سؤال اول پاسخ منفی دادید، آنگاه به سؤال چهارم جواب دهید» پرهیز کنید. این کار باعث دلزدگی پاسخ دهنده شده و نرخ ترک را بالا می‌برد. تحقیق را طوری طراحی کنید که از منطق صفحه استفاده می‌کند؛ بدین ترتیب، مسیر سؤالات درست به صورت خودکار بر اساس پاسخ‌های پیشین تعیین می‌شوند.

۷- سؤالات را بنویسید. ممکن است که نیاز باشد برای هر موضوع چند سؤال نوشته شده و بهترین آنها انتخاب شود. ممکن است که حتی بهتر باشد که تحقیق به چند بخش تقسیم شود.

۸- توالی سؤالات را مشخص کنید تا بدون جهت گیری باشند.

۹- تمامی مراحل فوق را تکرار کنید تا هر سوراخ بزرگی را پیدا کنید. آیا پرسش‌ها واقعاً پاسخ داده شده اند؟ آیا کسی آنها را برایتان مرور کرده است؟

۱۰- مدت تحقیق را زمان بندی کنید. یک تحقیق باید کمتر از پنج دقیقه طول بکشد. با سه تا چهار سؤال در دقیقه شما محدود به حدود پانزده سؤال می‌شوید. یک سؤال متنی باز، معادل سه سؤال چند گزینه‌ای است. اغلب نرم افزارهای آنلاین، مدت زمانی که پاسخگو صرف پاسخ دادن به پرسش‌ها صرف می‌کند را محاسبه می‌کنند.

۱۱- تحقیق را بین بیست نفر یا بیشتر پیش آزمون کنید. بازخور آنها را همراه با جزئیات بگیرید. آن‌ها در مورد کدام قسمت اطمینان نداشتند؟ آیاسؤالی در مورد آن داشتند؟ آیا آنها نسبت به آنچه که شما خواسته بودید، بد فهمی داشتند؟ آیا دیدگاهی داشتند که در پرسش‌ها و پاسخ‌ها منعکس نشده بود؟

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

۱۲- بر اساس بازخوردهایی که می‌گیرید، در پرسشنامه آنلاینتان بازنگری کنید.

۱۳- تحقیق را به همه پاسخ دهندگان بفرستید.

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

رئوس مطالب

اصول روش تحقیق و مرجع نویسی به شیوه APA

این جزوه بر اساس تدریس استاد سرکار خانم دکتر علی مرادیان تدوین گردیده است.
معنی کلمه تحقیق – معنی اصطلاحی  تحقیق – تفاوت سوال با مسئله – پژوهش چیست – روش علمی تحقیق – اهداف تحقیق – ویژه گیهای محقق – ویژه گیهای پژوهش علمی – هدف از انجام تحقیق – برنامه یا طرح کار تحقیق(پروپوزال) – دلایل اهمیت طرح تحقیق – ساختار پیشنهادی طرح تحقیق – اولین مرحله تحقیق – تعیین موضوع تحقیق – یافتن موضوع مناسب تحقیق – بیان مسئله تحقیق – مسئله پژوهش – ارزشیابی مسئله تحقیق – تبدیل مسئله به عنوان پژوهشی – اهمیت بیان مسئله – محتوای بیان مسئله – انتخاب منابع برای نوشتن تحقیق – سبک های رفرنس نویسی – منابع بیان مسئله – مرور مبانی و بررسیهای اولیه تحقیق – تدوین اهداف تحقیق – هدف پژوهش – تدوین اهداف تحقیق – فرضیه یا سئولات مهم  – فرمول برای بیان فرضیه – بررسی روابط بین متغیرها – فرضیه خوب – ویژه گیهای فرضیه – فرضیه های H0 , H1  – فرضیه های بدون جهت و جهت دار – تمرین روش تحقیق – ملاحظات اخلاقی – گستره اخلاق در پژوهش – اصول چهارگانه اخلاق در پژوهش – اخلاق پژوهش – مقررات جاری در اخلاق پژوهشی – تعریف متغیرها و مفاهیم  – تقسیم بندی متغیرها بر اساس عاملها – متغیر مستقل و وابسته – متغیر زمینه ای و مداخله گر – متغیر کمی و کیفی – متغیر ها و مسئله پژوهشی – تعریف متغیر ها در تحقیق – تعاریف مفهومی یا تئوری تحقیق – تعاریف عملی یا عملیاتی تحقیق – مقیاس متغیرها ( اندازه گیری) – مقیاس اسمی – طیف لیکرت – مقیاس رتبه ای( ترتیبی) – مقیاس فاصله ای – مقیاس نسبی – مقایسه متغیرها – ویژه گیهای مقیاس خوب – مثال مقیاس  – متغیر تعدیل کننده – متغیر مداخله گر – راهنمای نگارش مقاله های پژوهشی – جامعه مورد مطالعه ( نمونه گیری)- مراحل نمونه برداری – انواع روش های نمونه برداری – روش نمونه برداری تصادفی ساده – مراحل نمونه برداری تصادفی ساده – روش نمونه برداری تصادفی طبقه ای – مراحل نمونه برداری تصادفی طبقه ای – نمونه برداری خوشه ای – مراحل نمونه برداری خوشه ای – نمونه برداری خوشه ای چند مرحله ای – روش نمونه برداری منظم یا سیستماتیک – روش نمونه برداری در دسترس – روش نمونه برداری هدفمند – نمونه گیری احتمالی – نمونه گیری غیر احتمالی – دسته بندی انواع تحقیق – طبقه بندی تحقیق بر اساس هدف – طبقه بندی بنیادی ، کاربردی ، علمی – طبقه بندی بر اساس ماهیت و روش – طبقه بندی توصیفی ، همبستگی ، زمینه ای – تحقیق پس از وقوع – تحقیق مقایسه ای – تحقیق پیمایشی یا زمینه یابی – روش مقطعی ، روش طولی ، روش دلفی – تحقیق ارزشیابی – تحقیق براوردی  – تحقیق تاریخی   – تحقیق آزمایشی – روش های جمع آوری اطلاعات – طبقه بندی اطلاعات  – پردازش داده ها – تجزیه و تحلیل داده ها – بررسی روشهای جمع آوری اطلاعات – مشاهدات تحقیق – پرسشنامه تحقیق – مصاحبه تحقیق – بررسی اسناد و مدارک – روشهای تجزیه و تفسیر داده ها – تحلیل توصیف داده ها – آمار پارامتریک و غیر پارامتریک – تحلیل و تفسیر استنباطی – پایان نامه – راهنمای تدوین پایان نامه – مرجع نویسی در پایان نامه به روش APA

مروری بر سیستمهای مدیریت محتوا CMS

نگاه کوتاه

سامانه مدیریت محتوا (Content Management System)، نرم‌افزاری که به‌وسیلهٔ آن ساخت و نگهداری وب‌گاهها به شکلی ساده امکان‌پذیر می‌گردد.
سامانه مدیریت کد (Code Management System)، نرم‌افزاری برای بایگانی و نگهداری کد منبع نرم‌افزارها.
سامانه نظارت محاوره‌ای (Conversational Monitor System)، سیستم‌عامل محصول شرکت IBM.
سامانه نرم‌افزار مدیریت مرکزی (central managment software)معنایی که بیشتر در سیستم‌های حفاظتی و امنیتی تصدیق پیدا می‌کند که به منظور کنترل نرم‌افزاری چند نقطهٔ تحت حفاظت دوربین مداربسته در یک سیستم کامپیوتری به وسیله یک نرم افزارصورت می‌گیرد.

سامانه مدیریت محتوا
سامانه مدیریت محتوا (به انگلیسی: Content management system)، یک برنامه رایانه ای است که امکان انتشار، ویرایش و مدیریت محتوا، سازماندهی، حذف و همچنین نگهداری از طریق یک رابط مرکزی فراهم می کند. یک سیستم مدیریت محتوا از دو عنصر تشکیل شده است:

نرم افزار مدیریت محتوا (CMA) که به مدیر محتوا یا نویسنده، که ممکن است دانش لازم در مورد زبان نشانه گزاری (HTML) را نداشته باشد، اجازه میدهد تا ایجاد، ویرایش و حذف محتوای یک وب سایت را بدون نیاز به تخصص یک وب‌مستر، مدیریت کند.

نرم افزار تحویل محتوا (CDA) که با تفسیر و استفاده از آن اطلاعات وب‌گاه را بروز رسانی می کند.

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

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

ویژگی های سیستم مدیریت محتوا یا CMS

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

  • امکان انتشار مبنی بر وب به افراد اجازه می دهد تا با استفاده از یک یا مجموعه از قالب ها، که توسط سازمان تایید شده، اقدام به انتشار و ویرایش محتوا وب کنند.
  • امکان مدیریت قالب این اجازه را می دهد که اسناد شامل اسناد الکترونیکی و اسناد کاغذی اسکن شده به فرمت HTML یا قالب پرتابل (PDF) برای وب سایت تبدیل شوند.
  • مدیریت نسخه این امکان را فراهم می کند که محتوی به نسخه جدیدتر بروزرسانی یا نسخه های قبلی  بازگردانده شوند. مدیریت نسخه همچنین تمام تغییرات روی فایل ها که توسط افراد اعمال می شود را ثبت می کند.
  • ویژگی بعدی، نمایه سازی (indexing)، جستجو و بازیابی است. یک سیستم مدیریت محتوا، داده های داخل یک سازمان یا شاخص سازی می کند. که در نتیجه افراد میتوانند داده ها را از طریق سامانه بازیابی مدیریت محتوا با استفاده از کلمات کلیدی جستجو کنند.

چند سیستم مدیریت محتوا معروف

حال چند نمونه از معروف ترین سیستم های مدیریت محتوا را معرفی می کنیم که افراد با استفاده از آنها می توانند اقدام به طراحی سایت مورد نیاز خود کنند.

  • WordPress : وردپرس یک سیستم مدیریت محتوای ساده ولی قدرتمند است. وردپرس در ابتدا به عنوان یک سیستم وبلاگ نویسی ارائه شد و به آرامی محبوب شد و به محبوب ترین سیستم مدیریت محتوا تبدیل شد.  سهولت در استفاده ، فروم ها و پشتیبانی گسترده، پلاگین های متنوع، مطابقت با استانداردهای سئو و بهینه سازی از جمله ویژگی های برجسته این سیستم مدیریت محتوا ست.
  • Drupal : دروپال یک سیستم مدیریت محتوای ماژولار با امکانات زیاد است که برای بسیاری از انواع وب سایت ها، اعم از وبلاگ شخصی کوچک تا سایت شرکتی بزرگ قابل استفاده است.  ایجاد محتوا با کنترل دسترسی انعطاف پذیر، پشتیبانی از سیستم عامل های مختلف برای ویرایش محتوا، وجود تعداد زیادی ماژول متنوع ، قابلیت انعطاف پذیری برای هر نوع قالب ، طراحی سایت بر اساس تکنیک های سئو و بهینه سازی و قابلیت امنیت بالا از مهمترین ویژگی های دروپال است. انعطاف پذیری و امنیت بالا دروپال ، باعث شده تا وب سایتهای معتبری همچون کاخ سفید ، ناسا ، AOL و Yahoo Research این سیستم مدیریت محتوا را برای طراحی سایت انتخاب کنند.
  • Joomla : جوملا سیستم مدیریت محتوایی است که به شما امکان ساخت و طراحی سایت ها و برنامه های آنلاین قدرتمند را می دهد. بسیاری از ویژگی ها مثل کاربری آسان و قابلیت توسعه ، جوملا را به یکی از بهترین نرم افزار ایجاد وب سایت، تبدیل کرده است. فروم و پشتیانی قوی از دیگر مزایای سیستم مدیریت محتوای جوملا محسوب می شود.
رئوس مطالب

سطح بندی اطلاعات بر اساس گروه های کاربری – شیوه ذخیره سازی اطلاعات در CMS – ویژه گیهای سیستمهای مدیریت محتوا – مزایای استفاده از سیستم مدیریت محتوا نسبت به طراحی سایت اختصاصی – انواع سیستمهای مدیریت محتوا – مقیاس بزرگی وب سایت – انواع CMS از لحاظ نرم افزاری – دوبخش اصلی یک CMS – خصوصیات سیستمهای مدیریت محتوا معتبر – اهداف استفاده از CMS – سئوالاتی که قبل از ایجاد یک CMS باید پرسید؟ – مشکلات سیستمهای نگهدارنده اسناد (سیستمهای قدیمی تر از جوملا) – Sharepoint – امکانات Sharepoint – مزیتهای اصلی Sharepoint – موتورهای جستجوگر Search Engine – اصطلاحات ومفاهیم موتورهای جستجوگر – نحوه کار موتور جستجوگر – انواع موتورهای جستجو – تکنیک های بهینه سازی سایت برای موتورهای جستجوگر – SEO – پورتال Portal – ویژه گیهای پورتال – انواع پورتال

رمزنگاری و امنیت در شبکه

نگاه کوتاه

از ویکی‌پدیا، دانشنامهٔ آزاد 

رمزنگاری[۱] دانشی است که به بررسی و شناختِ اصول و روش‌های انتقال یا ذخیرهٔ اطلاعات به صورت امن (حتی اگر مسیر انتقال اطلاعات و کانال‌های ارتباطی یا محل ذخیره اطلاعات ناامن باشند) می‌پردازد.

رمزنگاری استفاده از تکنیکهای ریاضی، برای برقراری امنیت اطلاعات است. دراصل رمزنگاری دانش تغییر دادن متن پیام یا اطلاعات به کمک کلید رمز و با استفاده از یک الگوریتم رمز است، به صورتی که تنها شخصی که از کلید و الگوریتم مطلع است قادر به استخراج اطلاعات اصلی از اطلاعات رمز شده باشد و شخصی که از یکی یا هر دوی آن‌ها اطلاع ندارد، نتواند به اطلاعات دسترسی پیدا کند. دانش رمزنگاری بر پایه مقدمات بسیاری از قبیل تئوری اطلاعات، نظریه اعداد و آمار بنا شده‌است و امروزه به طور خاص در علم مخابرات مورد بررسی و استفاده قرار می‌گیرد. معادل رمزنگاری در زبان انگلیسی کلمه Cryptography است، که برگرفته از لغات یونانی kryptos به مفهوم «محرمانه» و graphien به معنای «نوشتن» است.

رمزنگاری، پنهان‌نگاری، کدگذاری

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

در رمزنگاری محتویات یک متن به صورت حرف به حرف و در بعضی موارد بیت به بیت تغییر داده می‌شود و هدف تغییر محتوای متن است نه تغییر ساختار زبان‌شناختی آن. در مقابل کدگذاری تبدیلی است که کلمه‌ای را با یک کلمه یا نماد دیگر جایگزین می‌کند و ساختار زبان‌شناختی متن را تغییر می‌دهد.

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

اصول ششگانه کرشُهف

آگوست کرشهف شهرت خود را از پژوهشهای زبانشناسی و کتابهایی که در این خصوص و زبان ولاپوک نوشته بود بدست آورد. او در سال ۱۸۸۳ دو مقاله با عنوان «رمز نگاری نظامی» منتشر کرد. در این دو مقاله شش اصل اساسی وجود داشت که اصل دوم آن به عنوان یکی از قوانین رمز نگاری هنوز هم مورد استفاده دانشمندان در رمز نگاری پیشرفته‌است:

  • سیستم رمزنگاری اگر نه به لحاظ تئوری که در عمل غیرقابل شکست باشد.
  • سیستم رمز نگاری باید هیچ نکته پنهان و محرمانه‌ای نداشته باشد. بلکه تنها چیزی که سری است کلید رمز است.
  • کلید رمز باید به گونه‌ای قابل انتخاب باشد که اولاً بتوان براحتی آن را عوض کرد و ثانیاً بتوان آنرا به خاطر سپرد و نیازی به یاداشت کردن کلید رمز نباشد.
  • متون رمز نگاری باید از طریق خطوط تلگراف قابل مخابره باشند.
  • دستگاه رمز نگاری یا اسناد رمز شده باید توسط یکنفر قابل حمل و نقل باشد.
  • سیستم رمزنگاری باید به سهولت قابل راه‌اندازی باشد.

در توضیح قانون دوم کرشهف باید عنوان کرد که به چند دلیل عمده کلید رمز باید تنها اطلاعات محرمانه در یک سیستم رمزنگاری باشد: ۱- محرمانه نگه داشتن یک رشته بیت ۵۱۲ تایی (به طور معمول) بسیار ساده تر و عملی تر از محرمانه نگه داشتن یک الگوریتم یا روش پیاده سازی است. ۲- اگر کلید رمز افشا شود تنها با اتخاذ یک کلید جدید می توان مجددا به یک سیستم رمزنگاری جدید و امن دست پیدا کرد در صورتیکه اگر امنیت سیستم رمزنگاری وابسته به الگوریتم و روش پیاده سازی باشد با افشای این اطلاعات بازتولید یک سیستم رمزنگاری جدید و امن بسیار دشوار خواهد بود. ۳- وقتی که کلید رمز تنها اطلاعات محرمانه یک سیستم رمزنگاری باشد می توان از یک سیستم مشترک (با کلیدهای متفاوت) برای ارتباط با گیرنده/فرستنده های مختلف استفاده کرد در صورتی که اگر غیر از این می بود برای ارتباط با هر فرستنده/گیرنده به یک الگورتیم و روش پیاده سازی جدید نیاز می بود. ۴- وقتی که الگوریتم و روش پیاده سازی برای همگان قابل دسترسی باشد مشکلات و حفره های امنیتی الگورتیم پیش از آنکه توسط یک حمله گر مورد سوء استفاده قرار بگیرد توسط محققان امنیتی مورد بررسی قرار گرفته و رفع می شود و بنابراین سیستم های رمزنگاری ای که بر اساس الگوریتم های روشن و قابل دسترسی عمل می کنند معمولا قابل اعتمادتر هستند.[۲]

رمزنگاری پیشرفته

با پدید آمدن رایانه‌ها و افزایش قدرت محاسباتی آنها، دانش رمزنگاری وارد حوزهٔ علوم رایانه گردید و این پدیده، موجب بروز سه تغییر مهم در مسائل رمزنگاری شد:

  1. وجود قدرت محاسباتی بالا این امکان را پدید آورد که روش‌های پیچیده‌تر و مؤثرتری برای رمزنگاری به وجود آید.
  2. روش‌های رمزنگاری که تا قبل از آن اصولاً برای رمز کردن پیام به کار می‌رفتند، کاربردهای جدید و متعددی پیدا کردند.
  3. تا قبل از آن، رمزنگاری عمدتاً روی اطلاعات متنی و با استفاده از حروف الفبا انجام می‌گرفت؛ اما ورود رایانه باعث شد که رمزنگاری روی انواع اطلاعات و بر مبنای بیت انجام شود.

تعاریف و اصطلاحات

عناصر مهمی که در رمزنگاری مورد استفاده قرار می‌گیرند به شرح زیر می‌باشد:

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

رمزنگاری دانش گسترده‌ای است که کاربردهای متنوعی دارد. در این حوزهٔ وسیع، تعاریف زیر از اهمیت ویژه‌ای برخوردار هستند:

سرویس رمزنگاری

به طور کلی، سرویس رمزنگاری، به قابلیت و امکانی اطلاق می‌شود که بر اساس فنون رمزنگاری حاصل می‌گردد. قبل از ورود رایانه‌ها به حوزهٔ رمزنگاری، تقریباً کاربرد رمزنگاری محدود به رمز کردن پیام و پنهان کردن مفاد آن می‌شده‌است. اما در رمزنگاری پیشرفته سرویس‌های مختلفی از جمله موارد زیر ارائه گردیده‌است:

به معنای ایجاد اطمینان از صحت اطلاعات و عدم تغییر محتوای اولیهٔ آن در حین ارسال است. تغییر محتوای اولیهٔ اطلاعات ممکن است به صورت اتفاقی (در اثر مشکلات مسیر ارسال) و یا به صورت عمدی باشد.
به معنای تشخیص و ایجاد اطمینان از هویت ارسال‌کننده اطلاعات و عدم امکان جعل هویت افراد می‌باشد.
به این معنی است که ارسال‌کنندهٔ اطلاعات نتواند در آینده ارسال آن را انکار یا مفاد آن را تکذیب نماید.

چهار مورد بالا، سرویس‌های اصلی رمزنگاری تلقی می‌شوند و دیگر اهداف و سرویس‌های رمزنگاری، با ترکیب چهار مورد بالا قابل حصول می‌باشند.

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

پروتکل رمزنگاری

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

معمولاً یک پروتکل رمزنگاری مشخص می‌کند که

  • اطلاعات موجود در چه قالبی باید قرار گیرند
  • چه روشی برای تبدیل اطلاعات به عناصر ریاضی باید اجرا شود
  • کدامیک از الگوریتم‌های رمزنگاری و با کدام پارامترها باید مورد استفاده قرار گیرند
  • روابط ریاضی چگونه به اطلاعات عددی اعمال شوند
  • چه اطلاعاتی باید بین طرف ارسال‌کننده و دریافت‌کننده رد و بدل شود
  • چه مکانیسم ارتباطی برای انتقال اطلاعات مورد نیاز است

به عنوان مثال می‌توان به پروتکل تبادل کلید دیفی-هلمن برای ایجاد و تبادل کلید رمز مشترک بین دو طرف اشاره نمود.

الگوریتم رمزنگاری

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

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

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

بر مبنای تعریف فوق، توابع و الگوریتم‌های مورد استفاده در رمزنگاری به دسته‌های کلی زیر تقسیم می‌شوند:

الگوریتمهای رمزنگاری بسیار متعدد هستند، اما تنها تعداد اندکی از آن‌ها به صورت استاندارد درآمده‌اند.

رمزنگاری کلید متقارن

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

واضح است که در این نوع از رمزنگاری، باید یک کلید رمز مشترک بین دو طرف تعریف گردد. چون کلید رمز باید کاملاً محرمانه باقی بماند، برای ایجاد و رد و بدل کلید رمز مشترک باید از کانال امن استفاده نمود یا از روش‌های رمزنگاری نامتقارن استفاده کرد. نیاز به وجود یک کلید رمز به ازای هر دو نفرِ درگیر در رمزنگاری متقارن، موجب بروز مشکلاتی در مدیریت کلیدهای رمز می‌گردد.

رمزنگاری کلید نامتقارن

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

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

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

مقایسه رمزنگاری کلید متقارن و کلید نامتقارن

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

تجزیه و تحلیل رمز

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

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

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

رمزهای جانشینی

در رمز نگاری جانشینی هر حرف یا گروهی از حروف بایک حرف یا گروهی دیگراز حروف جابجا می‌شوند تا شکل پیام بهم بریزد. یکی از قدیمی‌ترین رمزهای شناخته شده روش رمز نگاری سزار است که ابداع آن به ژولیوس سزار نسبت داده می‌شود. در این روش حرف a به d تبدیل می‌شود bبه c، e به fوبه همین ترتیب تاz که با حروفc جایگزین می‌شوند.

افزونگی

اولین اصل آن است که تمام پیامهای رمز شده بایدشامل مقداری «افزونگی»[داده‌های زائد]باشندبه عبارت دیگر لزومی ندارد که اطلاعات واقعی به همان گونه که هستند رمز و ارسال شوند. یک مثال می‌تواند به فهم دلیل این نیاز کمک کند. فرض کنید یک شرکت به نام TCP با۶۰۰۰۰کالااز طریق سیستم پست الکترونیکی سفارش خرید می‌پذیرد. برنامه نویسان شرکت TCP به خیال آن که برنامه‌های موثر و کار آمدی می‌نویسند پیامهای سفارش کالا را مشتمل بر ۱۶بایت نام مشتری و به دنبال آن سه بایت فیلد داده (شامل یک بایت برای تعدادکالا ودو بایت برای شمارهٔ کالا) در نظر می‌گیرد که سه بایت آخر توسط یک کلید بسیار طولانی رمزنگاری می‌شود واین کلید را فقط مشتری و شرکت TCP می‌داند.

تازگی پیامها

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

راهکاری برای ایجاد تازگی پیام

یک چنین محاسبه‌ای را می‌توان با قرار دادن یک مهر زمان در پیام‌ها پیش بینی کرد به نحوی که پیام‌ها مثلاً برای ده ثانیه معتبر باشد گیرندهٔ پیام می‌تواند آن را برای حدود ده ثانیه نگه دارد تا بتواند پیام‌های جدید را با آن مقایسه کرده و نسخه‌های تکراری را که دارای مهر زمان هستند به عنوان پیام‌های قدیمی شناخته و حذف خواهند شد.

رمزنگاری به صورت سخت‌افزاری

الگوریتم‌های رمزنگاری رامی توان هم به صورت سخت‌افزاری (به منظورسرعت بالاتر) وهم به صورت نرم‌افزاری (برای انعطاف‌پذیری بیشتر) پیاده‌سازی کرد روشهای جانشینی وجایگشتی می‌توانند با یک مدار سادهٔ الکترونیکی پیاده‌سازی شوند. p-box ابزاری است که برای جایگشت بیتهای یک ورودی هشت بیتی کاربرد دارد. بود با سیم بندی و برنامه ریزی درونی این p-box قادراست هر گونه جایگشت بیتی راعملاً با سرعتی نزدیک به سرعت نور انجام بدهد چرا که هیچ گونه محاسبه‌ای لازم نیست وفقط تأخیر انتشار سیگنال وجود دارد. این طراحی از اصل کرکهف تبعیت می‌کند یعنی:حمله کننده از روش عمومی جایگشت بیت‌ها مطلّع است آن چه که او از آن خبر ندارد آن است که کدام بیت به کدام بیت نگاشته می‌شود کلید رمز همین است.

بانکداری الکترونیک

از ویکی‌پدیا، دانشنامهٔ آزاد

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

پیشینه

کهن‌ترین شکل بانک‌داری مربوط به دوران هخامنشیان و در میانرودان (بخشی از ایران آن زمان) است که در آنجا یهودیان عهده‌دار امور بانکداری بوده‌اند. مدارکی از این ناحیه به دست آمده‌است که کاملا حکمچک را دارند. واژهٔ «بانک» نیز در آن زمان به کار می‌رفته‌است و واژهٔ «چک» نیز از آن روزگار تا به امروز باقی مانده‌است. در نوشته‌های ساسانیان به زبان پهلوی به واژهٔ چک برمی‌خوریم و همین واژه از ایران به دیگر نقاط جهان راه یافته‌است.[۱]

تاریخچه بانکداری مدرن

ریشه بانکداری به معنای امروزی این کلمه، می‌توان در دوره رنسانس ایتالیا ودر شهرهای ثروتمند آن درشمال مانند فلورانس، ونیس و ژنووا یافت. خانواده‌های باردی و پروزی در ۴ میلادی بانکداری را در فلورانس با توزیع شعبات در بسیاری از بخشهای دیگر اروپا گسترش دادند؛ و شاید مشهورترین بانک ایتالیا، بانک medici، باشد که توسط جیووانی مدیسی در سال ۱۳۹۷ تاسیس شد. اولین بانک سرمایه‌گذاری ایالتی شناخته شد،بانک سنت جورج (به ایتالیایی: Banco di san Giorgio) در ژنووا ایتالیا در سال ۱۴۰۷، تاسیس شد.

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

تعریف بانک

تعاریفی که از یک بانک ارائه می‌شود از کشوری به کشور دیگر متفاوت است.

انگلستان

طبق قوانین معمول انگلیسی، یک بانکدار به عنوان فردی تعریف شده‌است که دارای شغل بانکداری است و مسئولیت‌هایش که به صورت زیر تعیین شده‌است:

  • انجام محاسبات جاری برای مشتریان
  • جمع‌آوری چک‌های مشتریان

شغل بانکداری در بسیاری از کشورها که قانون متداول انگلیس در آن رایج است از طریق اساسنامه تعریف نشده‌است اما این تعریف طبق قوانین متداول صورت گرفته‌است.

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

ایالات متحده آمریکا

در ایالات متحده آمریکا صنعت بانکداری صنعتی کاملا قانون‌دار با قانونگذاری بسیار دقیق و نکته‌بین است تمامی بانک‌ها با سپردهای تضمین شده ازطریق fdic دارای شرکت نیمه سپرده گذاری فدرال fdic بعنوان یک متعادل کننده هستند گرچه سیستم ذخیره فدرالی اولین تعدیل کننده بانک‌های ایالتی عضو فدرال است اما اداره ممیزی اسکناس occ اولین تعدیل کننده فدرالی بانک‌های داخلی است و اداره نظارت بر پس انداز یا ots اولین تعدیل کننده فدرالی پس‌اندازها می‌باشد.

بانک‌های غیر عضو ایالتی از طریق مراکز ایالتی وهمینطور fdic مورد بررسی قرار می‌گیرند. بانک‌های داخلی یک تعدیل کننده اولیه دارد یعنی occ واسطه‌های واجد شرایط و کارگران کمکی توسط MAIC تعدیل می‌شوند هر مرکز تعدیل مجموعه قوانین ومقررات خاص خودش را دارد که بانک‌ها و صندوق‌های ذخیره باید از آنها پیروی کنند.

شورای نظارت بر موسسات مالی فدرال FFIEC درسال ۱۹۷۹ بعنوان یک بدنه بین نمایندگی‌های رسمی که وکالت دارند تا قوانین وسیاست‌گذاریهای واحد معیارها واستانداردها را تعریف کرده شیوه‌های متداول فدرال بر موسسات مالی را گزارش دهد گرچه FFIEC موجب ایجاد درجهٔ بالاتری از تعدیل بین نمایندگی‌ها وشعب بانک‌ها شده‌است قوانین و مقررات تعدیل دائما در حال تغییر است علاوه بر قوانین در حال تغییر تغییرات در صنعت موجب ادغام موسسات ذخیره فدرال FDIC،OTS،MAIC،OCC در هم شده‌است ادارات بسته شده‌اند.

گونه‌های بانک‌داری

  • بانک‌داری شعبه‌ای: فعالیت بانکی با مجوز تأسیس شعبه.
  • بانک‌داری بی‌شعبه: فعالیت بانکی بدون مجوز تأسیس شعبه.
  • بانک‌داری سرمایه‌گذاری: واسطه‌گری مالی در خرید اوراق بهادار دست اول و عرضه به سرمایه‌گذاران در بازار سرمایه.
  • عمده‌بانک‌داری: انجام عملیات بانکی توسط یک بانک برای یک بنگاه مالی یا بانک دیگر.
  • خرده‌بانک‌داری: انجام عملیات توسط یک بانک برای بنگاه‌ها و اشخاص.

انواع بانک‌ها

بانک‌ها را می‌توان به انواع مختلف تقسیم کرد از قبیل:

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

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

انواع بانک‌های جزئی

انواع بانک‌های سرمایه

  • بانک‌های سرمایه‌ای که پذیره‌نویسی می‌کنند (برای فروش ضمانت می‌کنند) اوراق بهادار و اوراق قرضه، به داد و ستد حساب‌های خودشان می‌پردازند، ایجاد بازار می‌کنند و به شرکت‌ها پیشنهاد فعالیت‌های بازار سرمایه نظیر ادغام‌ها و کسب سود را می‌دهند.
  • بانک‌های بازرگان:از دیرباز بانک‌هایی بودند که ضامن سرمایه‌گذاری –معاملاتی بودند تعریف امروزی آن اشاره دارد به بانک‌هایی که برای شرکت‌ها سرمایه را بصورت سهام عرضه می‌کند نه وام. برخلاف شرکت‌های سرمایه مخاطره‌آمیز، آنها تمایل دارند که در شرکت‌های جدید سرمایه‌گذاری نکنند.

انواع دیگر بانک‌ها

  • بانک‌های مرکزی:که معمولاً تحت مالکیت دولت است و با مسئولیت‌ها قانونی مشابه مدیریت می‌شود؛ نظیر پشتیبانی از بانک‌های تجاری یا مدیریت نرخ سود نقدی به طور کلی آنها که نقدینگی را برای سیستم بانک‌داری فراهم می‌کنند و به عنوان وام‌دهنده در آخرین وهله در شرایط بحران عمل می‌کند.
  • بانک‌های اسلامی: به قوانین اسلامی پای‌بندند. اشکال[مبهم] از بانکداری دور سیاست‌گذاری‌های صحیحی می‌چرخند که بر قوانین اسلامی استوار است تمامی فعالیت‌های بانک‌داری باید از سود (بهره) اجتناب کنند.

مدیریت پروژه فناوری اطلاعات

نگاه کوتاه

 از ویکی‌پدیا، دانشنامهٔ آزاد

تعریف

استاندارد PRINCE2 [۱] دو تعریف را برای پروژه ارائه داده است که اولی به اهداف پروژه و دیگری به ویژگی‌های پروژه توجه دارد. این استاندارد از جهت اهداف ،پروژه را یک محیط مدیریتی که به منظور تحویل یک یا چند محصول تجاری مطابق با یک موقعیت تجاری مشخص ایجاد شده است تعریف می‌کند و در جای دیگر و با توجه به ویژگی‌های پروژه آن را یک سازمان موقتی که باید یک نتیجه منحصربه‌فرد و از پیش تعیین شده را با یک زمان از قبل تعیین شده و منابع مشخص، ایجاد کند می‌داند. استاندارد PMBOK [۲] یک پروژه را تلاشی موقتی که به منظور تولید محصول، خدمت یا نتیجه‌ای منحصربه‌فرد انجام می‌گیرد، می‌داند. و براساس تعریف استاندارد ICB پروژه یک عملکرد محدود شده توسط زمان و هزینه برای دست‌یابی به تحویل شدنی‌های تعریف شده (محدوده تعریف شده برای برآوردن موضوعات پروژه) براساس استانداردهای کیفیت و الزامات است.[۳] قابل توجه است که همه این استانداردها محدودیت زمان، هزینه(منابع) و موقتی بودن را درکنار تولید یک محصول مشخص و منحصربه‌فرد مورد توجه قرار داده‌اند.

ویژگی‌ها

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

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

عموماً در ایران و دیگر نقاط جهان، منظور از نوع پروژه، پروژه های ساختمانی و تاسیساتی است در صورتیکه با توجه به تعریف پروژه میتوان تقسیم بندی زیر را به عنوان نمونه در نظر گرفت:

  • پروژه های تحقیقاتی
  • پروژه های ساختمانی
  • پروژه های مهندسی مجدد
  • پروژه های تدارکات
  • پروژه های پیاده سازی فرایندهای کسب و کار
  • پروژه های اجتماعی

یا:

  • محصول محور
  • ابزار محور
  • سیستم محور
  • استراتژی محور
  • مدیریت پروژه جامع

فازهای پروژه

فاز صفر: طرح توجیهی

فازیک: طراحی اولیه

فاز دو: طراحی تفصیلی

فاز سه: اجرای پیمان

فاز چهار: بهره برداری

مدیریت پروژه

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

  1. – تعیین وضعیت واقعی پروژه
  2. – مقایسه وضعیت واقعی با برنامه
  3. – در نظر گرفت اقدام اصلاحی

مثلث کنترل پروژه،فلش ها: هزینه، طرح، برنامه زمانی

نرم‌افزارهای رایج کنترل پروژه شامل سری نرم‌افزار های پریماورا وهمچنین نسخه های MSP می باشد.

مهندسی مدیریت پروژه

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

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

انجمن مدیرت پروژه APM در سال ۱۹۹۲ اولین سری استاندارد دانش مدیریت پروژه (Project Management Body Of Knowledge) که به اختصار PMBOK خوانده می شود ار ارائه نمود که تاکنون ۴ بار این استاندارد بازنگری شده است .

این استاندارد حاوی الزاماتی برای مدیرت پروژه می باشد که تضمین کننده رسیدن به اهداف پروژه ها می باشد .

بر اساس PMBOK هر پروژه به ۵ مرحله آغاز ، برنامه ریزی ، اجرا، کنترل و خاتمه تقسیم شده و این استاندارد برای اجرای موفق این ۵ مرحله راهنمایی های کاربردی ارائه می کند.

سازمان جهانی استاندارد سازی ( IOS ) با توجه به نتایج موفق به دست آمده از اجرای استاندارد PMBOK اقدام به تدوین استاندارد جهانی ISO 10006 نمود و این استاندارد بین المللی می رود در جهان جانشین موفقی برای سایر روشهای مدیریت پروژه گردد . اجرای این استاندارد ها بویژه به شرکتهایی که پروژه های بزرگ صنعتی و عمرانی را اجرا می کنند و یا در مناقصه های بین المللی شرکت می نمایند توصیه می شود.

برنامه ریزی و کنترل پروژه

  1. تهیه ساختار شکست کار پروژه WBS
  2. برنامه ریزی و کنترل پروژه به روش مسیر بحرانی CPM
  3. برنامه ریزی و کنترل پروژه به روش PERT
  4. بودجه بندی پروژه ها و زمانبندی منابع مورد استفاده
  5. تهیه گزارش از روند و پیشرفت پروژه ها
  6. تهیه گزارش کارگاهی و مدیریتی
  7. مشارکت در تحلیل پروژه و تهیه طرح های بهبود
  8. خدمات هزینه یابی پروژه تهیه صورت وضعیت

آموزش تصویری PHP-MySQL

نگاه کوتاهاز ویکی‌پدیا، دانشنامهٔ آزاد

پی‌اچ‌پی (به انگلیسی: PHP)

یک زبان برنامه‌نویسی است که برای طراحی وب توسعه یافته‌است، اما می‌توان از آن به عنوان یک زبان عمومی نیز استفاده‌کرد. تا ژانویهٔ سال ۲۰۱۳ میلادی پی‌اچ‌پی بر روی ۲۴۴ میلیون وب‌گاه و ۲٫۱ میلیونسرور وب نصب شده‌است.[۳] این زبان در سال ۱۹۹۵ میلادی توسط راسموس لِردورف (به انگلیسی: Rasmus Lerdorf) ساخته‌شد و در حال حاضر توسعهٔ آن بر عهدهٔ گروه پی‌اچ‌پی می‌باشد.[۴] در ابتدا پی‌اچ‌پی از عبارت صفحهٔ خانگی شخصی (به انگلیسی: Personal Home Page) گرفته شده‌بود.[۴] اما اکنون این کلمه مخففِ بازگشتی PHP: Hypertext Preprocessor به معنی پی‌اچ‌پی: پیش‌پردازندهٔ ابرمتن می‌باشد.[۵]

کدهای پی‌اچ‌پی توسط یک سرور وب که نرم‌افزار پی‌اچ‌پی بر روی آن نصب باشد، تفسیر می‌شوند. دستورهای این زبان می‌توانند به صورت مستقیم در درون کدهای اچ‌تی‌ام‌ال قرار بگیرند. زبان پی‌اچ‌پی از نسخهٔ ۴٫۳ به بعد قابلیت پشتیبانی ازواسط خط فرمان را نیز به امکانات خود اضافه کرد. این قابلیت می‌تواند برای ایجاد نرم‌افزارهای غیر وبی و یا نرم‌افزارهایی با واسط گرافیکی کاربر مورد استفاده قرار بگیرد.[۶]

پی‌اچ‌پی یک نرم‌افزار آزاد است که تحت مجوز پی‌اچ‌پی انتشار یافته است. این مجوز به دلیل قرار دادن محدودیت بر روی استفاده از عنوان پی‌اچ‌پی، با مجوز همگانی گنو (GPL) سازگار نیست. پی‌اچ‌پی را می‌توان بر روی اکثر سرورهای وبنصب کرد. همچنین قابلیت نصب آن به صورت یک شل جداگانه بر روی تقریباً تمامی سیستم‌های عامل و پلت‌فرم‌ها (یا سکوها) وجود دارد.[۷] تمامی این استفاده‌ها رایگان است.[۸]

تاریخچه

راسموس لردورف (در تصویر سمت راست) که پی‌اچ‌پی اولیه را نوشت، در کنار اندی گاتمنس و زیو سوراسکی که نویسنده‌های نسخهٔ ۳ پی‌اچ‌پی بودند.

توسعهٔ‌پی‌اچ‌پی از سال ۱۹۹۴ و زمانی که راسموس لردورف تعدادی اسکریپت به زبان سی نوشت تا صفحهٔ خانگی خود را مدیریت کند، آغاز شد. این اسکریپت‌ها که به صورت رابط دروازهٔ مشترک (به انگلیسی: Common Gateway Inteface) نوشته شده‌بودند، مسئول انجام عملیات‌های ساده‌ای مانند نشان دادن رزومهٔ راسموس و بررسی آمارهای بازدید از وب‌گاه او بودند.[۴] با گسترش اسکریپت‌ها و افزودن توانایی تعامل با فرم‌های وب و ارتباط با پایگاه‌های داده، نامصفحهٔ خانگی شخصی/مفسر فرم (به انگلیسی: Personal Home Page/Form Interpreter) یا PHP/FI برای آن‌ها انتخاب شد. PHP/FI می‌توانست برای ایجاد نرم‌افزارهای سادهٔ وب مورد استفاده قرار بگیرد. لردورف در ابتدا برای یافتن خطاهای این اسکریپت‌ها و بهبود آن‌ها، در ۸ جون سال ۱۹۹۵ میلادی اسکریپت‌ها را با نام ابزارهای صفحهٔ خانگی شخصی نسخهٔ ۱٫۰ (به انگلیسی: Personal Home Page Tools version 1.0) تحت مجوز عمومی گنو بر روی گروه خبرییوزنت منتشر کرد.[۹] این نسخهٔ اولیه بسیاری از ویژگی‌های نسخهٔ کنونی این زبان را دارا بود. متغیرها به سبک زبان پرل بودند، مدیریت فرم‌ها وجود داشت و می‌شد کدها را در درون کدهای اچ‌تی‌ام‌ال قرار داد. قواعد پی‌اچ‌پی نیز از زبان پرلپیروی می‌کردند، اما ساده‌تر، محدودتر و ناپایدارتر بودند.[۴] با شکل‌گیری یک گروه برنامه‌نویسی و بعد از انجام تست‌های فراوان بر روی نسخهٔ بتا و بازنویسی موتور تجزیه‌کننده، سرانجام PHP/FI نسخهٔ ۲٫۰ در نوامبر سال ۱۹۹۷ میلادی منتشر گردید.[۴]

اندی گاتسمن و زیو سوراسکی با بازنویسی موتور تجزیه‌کننده در سال ۱۹۹۷ میلادی، پایه و اساس نسخهٔ ۳ پی‌اچ‌پی را بنیان نهادند. این ۲ نفر با همراهی لردورف با تغییر نام پی‌اچ‌پی به پی‌اچ‌پی: پیش‌پردازندهٔ ابرمتن (به انگلیسی: PHP: Hypertext Preprocessor) که یک مخفف بازگشتی است، در ماه جون ۱۹۹۸ میلادی رسماً پی‌اچ‌پی نسخهٔ ۳٫۰ را منتشر کردند.[۴] بعد از این اتفاق گاتسمن و سوراسکی شروع به نوشتن هستهٔ جدیدی برای زبان پی‌اچ‌پی کردند که منجر به به‌وجودآمدن موتور زِند در سال ۱۹۹۹ میلادی شد. آن‌ها همچنین شرکت زِند تکنولوژی را در کشور اسرائیل تاسیس کردند.[۱۰][۱۱]

در تاریخ ۲۲ می سال ۲۰۰۰ میلادی پی‌اچ‌پی نسخهٔ ۴ که از موتور زند نسخهٔ ۱٫۰ استفاده می‌کرد، منتشر شد.[۴] این نسخه تا ماه اوت سال ۲۰۰۸ میلادی توسعه یافت و به زیرنسخهٔ ۴٫۴٫۹ رسید. هم‌اکنون پشتیبانی این نسخه به پایان رسیده‌است و هیچ به‌روزرسانی برای آن منتشر نمی‌شود.[۱۲][۱۳]

در ۱۳ ژوئیه سال ۲۰۰۴ میلادی، نسخهٔ ۵ پی‌اچ‌پی که از موتور زند نسخهٔ ۲ بهره می‌برد، منتشر شد.[۴] نسخهٔ ۵ ویژگی‌های زیادی را به پی‌اچ‌پی اضافه کرد. پشتیبانی کامل از شیء گرایی، افزونهٔ PDO (به انگلیسی: PHP Data Object Extension) (که دسترسی به بانک‌های اطلاعاتی را ممکن می‌ساخت) و بهبود بازدهی از جملهٔ این ویژگی‌ها محسوب می‌شد.[۱۴] از سال ۲۰۰۸ به بعد، با پایان یافتن پشتیبانی از تمامی نسخه‌های قدیمی‌تر پی‌اچ‌پی، نسخهٔ ۵ تنها نسخهٔ در حال گسترش است.

در کنار نسخهٔ ۵ پی‌اچ‌پی یک نسخهٔ اصلی دیگر در حال توسعه است. با توجه به تغییرات عمدهٔ موجود در این نسخه از جمله پشتیبانی کامل از یونیکد، قرار بود این نسخه به عنوان نسخهٔ ۶ پی‌اچ‌پی منتشر گردد. اما پیاده‌سازی پشتیبانی از یونیکد بیش از آنچه انتظار می‌رفت به طول انجامید. این امر باعث شد تا در مارچ سال ۲۰۱۰ میلادی، این نسخه به بخش در حال توسعه (به انگلیسی: Trunk) منتقل شد و دیگر به آن نسخهٔ ۶ گفته نمی‌شود.

مهم‌ترین تغییرات این بخش جدید شامل حذف register_globals،[۱۵] magic quotes و safe mode می‌باشد.[۱۲] دلیل حذف magic quotes تاثیرات غیرقابل پیش‌بینی و دلیل حذف register_globals خطرهای امنیتی بود که در نرم‌افزارها ایجاد می‌کرد. به جای استفاده ازmagic qoutes برنامه‌نویس‌ها می‌توانند از تابع addslashes() و یا توابع دقیق‌تری که برای هر پایگاه داده ایجاد شده‌اند مانند mysql_real_escape_string() که برای پایگاه داده مای‌اس‌کیوال طراحی شده‌است، استفاده کنند. توابعی که قرار است در نسخهٔ ۶ حذف شوند، از نسخهٔ ۵٫۳ به صورت توصیه‌نشده (به انگلیسی: Deprecated) درآمده‌اند و استفاده از آن‌ها باعث بروز هشدار در نرم‌افزار خواهد شد.[۱۶]

تعداد بسیار زیادی از پروژه‌های بزرگ و متن‌باز که از زبان پی‌اچ‌پی استفاده می‌کنند، از سال ۲۰۰۸ با به وجود آمدن جنبش ابتکاری GoPHP5 به معنای برو به پی‌اچ‌پی ۵ دیگر از پی‌اچ‌پی نسخهٔ ۴ استفاده نمی‌کنند. این جنبش توسط بسیاری از توسعه‌دهندگان پی‌اچ‌پی پشتیبانی شد تا بتوانند به گسترش استفاده از نسخهٔ ۵ پی‌اچ‌پی کمک کنند.[۱۷][۱۸][۱۹]

مفسرهای زبان پی‌اچ‌پی برای هر دو معماری ۳۲بیتی و ۶۴بیتی موجود می‌باشند. تنها استثنا سیستم‌عامل ویندوز است که فقط نسخه‌های ۳۲بیتی برای آن منتشر می‌شود. اما مدتی است که نسخه‌های ۶۴بیتی ویندوزی نیز به صورت امتحانی بر روی وب‌گاه پی‌اچ‌پی منتشر می‌شوند. استفاده از نسخه‌های امتحانی ۶۴بیتی ویندوز برای سرورهای بزرگ توصیه نمی‌شود.[۲۰][۲۱]

تاریخچه انتشار

جدول راهنما
رنگ مفهوم وضعیت توسعه
قرمز نسخهٔ قدیمی بدون توسعه
زرد نسخهٔ پایدار تنها به‌روزرسانی‌های امنیتی
سبز نسخهٔ پایدار به‌روزرسانی فعال
آبی نسخهٔ آینده امکانات جدید
نسخه تاریخ انتشار تاریخ اتمام پشتیبانی[۲۲] یادداشت‌ها
۱٫۰ ۱۹۹۵/۰۶/۰۸ این نسخه به صورت رسمی “Personal Home Page Tools” یا “PHP Tools” نامیده شد. کلمهٔ پی‌اچ‌پی اولین بار در اینجا به کار رفت.[۴]
۲٫۰ ۱۹۹۷/۱۱/۰۱
۳٫۰ ۱۹۹۸/۰۶/۰۶ ۲۰۰۰/۱۰/۲۰ توسعه‌دهندگان از یک به چند نفر افزایش یافتند. زیو سوراسکی و اندی گاتمنس هستهٔ این نسخه را بازنویسی کردند.[۴]
۴٫۰ ۲۰۰۰/۰۵/۲۲ ۲۰۰۱/۰۱/۲۳ سیستم دومرحله‌ای تجزیه/اجرای پیشرفته تحت عنوان موتور زند به این نسخه اضافه شد.[۲۳]
۴٫۱ ۲۰۰۱/۱۲/۱۰ ۲۰۰۲/۰۳/۱۲ متغیرهای فوقِ سراسری(Superglobal) معرفی شدند. (GET، $_POST، $_SESSION و…)[۲۳]
۴٫۲ ۲۰۰۲/۰۴/۲۲ ۲۰۰۲/۰۹/۰۶ تنظیم register_globals به صورت پیش‌فرض غیرفعال شد. با این تغییر اطلاعاتی که از طریق شبکه ارسال می‌شدند، دیگر به طور مستقیم در محدودهٔ متغیرهای فوقِ سراسری قرار نمی‌گرفتند. این نکته مشکلات امنیتی احتمالی بسیاری از نرم‌افزارها را برطرف کرد.[۲۳]
۴٫۳ ۲۰۰۲/۱۲/۲۷ ۲۰۰۵/۰۳/۳۱ واسط خط فرمان یا همان CLI به این نسخه اضافه شد.[۲۳]
۴٫۴ ۲۰۰۵/۰۷/۱۱ ۲۰۰۸/۰۸/۰۷ صفحات راهنما(man page) برای درستورات phpsize و config-php اضافه شد.[۲۳]
۵٫۰ ۲۰۰۴/۰۷/۱۳ ۲۰۰۵/۰۹/۰۵ موتور زند نسخهٔ ۲ معرفی شد.[۲۴]
۵٫۱ ۲۰۰۵/۱۱/۲۴ ۲۰۰۶/۰۸/۲۴ بهبود بازدهی با معرفی متغیرهای مترجم (Compiler Variables) در موتور جدید پی‌اچ‌پی.[۲۴] مدل PDO به عنوان یک رابط پایدار برای برقراری ارتباط با بانک‌های اطلاعاتی معرفی شد.[۲۵]
۵٫۲ ۲۰۰۶/۱۱/۰۲ ۲۰۱۱/۰۱/۰۶ افزونهٔ فیلتر (Filter Extension) به صورت پیش‌فرض فعال شد. پشتیبانی از جی‌سَن (JSON) افزوده شد.[۲۴]
۵٫۳ ۲۰۰۹/۰۶/۳۰ ژوئیه ۲۰۱۴[۲۶] پشتیبانی از namespace، late static binding، دستور jump (نسخهٔ ضعیف شدهٔ دستور Goto) و زباله جمع‌کن. پشتیبانی بهتر از سیستم‌عامل ویندوز. پشتیبانی از اس‌کیوال‌لایت نسخهٔ ۳. کتابخانهٔ Mysqlnd جایگزین کتابخانهٔ libmysql (که مسئول برقراری ارتباط با بانک‌اطلاعاتی مای‌اس‌کیوال بود) شد. افزونهٔ fileinfo که کارایی بهتری در مورد MIMEها دارد، جایگزین افزونهٔ mime_magic شد. افزونهٔ بین‌الملل (Internationalization) اضافه شد و توابع ereg از دور خارج شدند.
۵٫۴ ۲۰۱۲/۰۳/۰۱ ۳ سال بعد از انتشار[۲۷] پشتیبانی از Trait. پشتیبانی از آرایه‌ها با فرمت کوتاه. سرور وب داخلی.[۲۸] بهبود کارایی و استفاده از حافظه به میزان کمتر.
توابع حذف شده: register_globals, safe_mode, allow_call_time_pass_reference, session_register
۵٫۵ ۲۰۱۳/۰۶/۲۰ ۳ سال بعد از انتشار[۲۷] جنراتورها افزوده شدند(Generators). بهینه‌ساز زند+ (Zend Optimizer+) افزوده شد.[۲۹]
۵٫۶ مشخص نشده ۳ سال بعد از انتشار[۲۷] قابلیت بازنویسی عملگرها (Operator Overloading). ایجاد تغییرات در GMP یا GNU Multiple Precision.[۳۰]

از تاریخ ۲۸ جون سال ۲۰۱۱ میلادی، گروه پی‌اچ‌پی برنامه‌ای مدون برای انتشار نسخه‌های آیندهٔ این زبان را منتشر کرد.[۲۷] بر اساس این برنامه هر ماه یک انتشار جزئی و هر سال یک انتشار اصلی اتفاق خواهد افتاد. از هر نسخه از پی‌اچ‌پی تا ۳ سال پشتیبانی می‌شود. تا ۲ سال تمامی به‌روزرسانی‌ها و سال سوم تنها به‌روزرسانی‌های امنیتی برای هر نسخه منتشر می‌شود.

مای‌اس‌کیوال (به انگلیسی: MySQL)

یک سامانه مدیریت پایگاه داده‌ها متن‌باز است،[۲] که توسط شرکت اوراکل توسعه، توزیع، و پشتیبانی می‌شود.[۲]

سرور مای‌اس‌کیوال به چندین کاربر اجازه استفاده همزمان از داده‌ها را می‌دهد.

مزیت‌ها

مای‌اس‌کیوال از مزیت‌های زیر بهره‌مند است:[۳]

  • مقیاس‌پذیری و قابلیت انعطاف
  • عملکرد بالا
  • در دسترس‌بودن بالا
  • پشتیبانی از تراکنش‌ها
  • محافظت از داده
  • آسان بودن مدیریت
  • آزاد بودن برنامه
  • پشتیبانی شبانه‌روزی

تاریخچه

توسعه مای‌اس‌کیوال در سال ۱۹۹۴ توسط مایکل وایدنیوس و دیوید آکسمارک آغاز شد.[۴] اولین نسخه داخلی در ۲۳ می ۱۹۹۵ عرضه شد. در سال ۲۰۰۸ سان میکروسیستمز مای‌اس‌کیوال ای‌بی را خریداری کرد.[۵] شرکت اوراکل سان میکروسیستمز را در ۲۷ ژانویه ۲۰۱۰ خریداری کرد.[۶]

قابلیت‌ها

انواع داده

انواع داده‌های پشتیبانی شده در مای‌اس‌کیوال شامل موارد زیر است:[۷]

  • عددی
  • کاراکتری
  • دودویی
  • شمارشی (Enum)
  • زمان و تاریخ
  • نوع‌های داده‌های فضایی (به انگلیسی: Spatial)

موتورهای ذخیره‌سازی

مای‌اس‌کیوال از چندین موتور ذخیره‌سازی پشتیبانی می‌کند که به عنوان نوع‌های جدول مختلف عمل می‌کنند.[۸] برخی انواع موتورهای ذخیره‌سازی در برابر تراکنش‌ها امن، و برخی دیگر در برابر تراکنش‌ها ناامن هستند.

لیست موتورهای ذخیره‌سازی مای‌اس‌کیوال شامل موارد زیر است:

  • اینودی‌بی (به انگلیسی: InnoDB): امن در برابر تراکنش‌ها است. از قواعد جامعیت کلید خارجی پشتیبانی می‌کند. از مای‌اس‌کیوال ۵٫۵٫۵ موتور ذخیره‌سازی پیش‌فرض مای‌اس‌کیوال است.[۹]
  • مای‌آی‌سم (به انگلیسی: MyISAM): قبل از نسخه ۵٫۵٫۵ موتور ذخیره‌سازی پیش‌فرض مای‌اس‌کیوال بود.[۱۰]
  • حافظه (به انگلیسی: Memory): تمام داده را به منظور دسترسی سریع در حافظه نگهداری می‌کند.[۸]
  • ادغام (به انگلیسی: Merge): قابلیت گروه‌بندی کردن چندین جدول مای‌آی‌سم مشابه و ارجاع به آن‌ها به عنوان یک جدول را می‌دهد.[۸]
  • آرشیو (به انگلیسی: Archive): برای نگهداری داده‌های آرشیوی که به ندرت به آن‌ها ارجاع می‌شود.[۸]
  • متحد (به انگلیسی: Federated): برای پیوند زدن چندین سرور مای‌اس‌کیوال مجزا برای ایجاد یک پایگاه‌داده منطقی از چندین سرور فیزیکی.[۸]
  • سی‌اس‌وی (به انگلیسی: CSV): داده را در فایل‌های متنی با قالب مقادیر جداشده با کاما ذخیره‌سازی می‌کند.[۸]
  • سیاه‌چاله (به انگلیسی: Blackhole): ورودی داده را قبول می‌کند، ولی آن را ذخیره نمی‌کند.[۸]

برنامه‌های ذخیره‌شده

در مای‌اس‌کیوال هر برنامه ذخیره‌شده شامل یک بدنه است که از عبارات اس‌کیوال تشکیل شده است.[۱۱] برنامه‌های ذخیره‌شده می‌توانند مقادیر خروجی داشته باشند (ایجاد شده توسط CREATE PROCEDURE) یا نداشته باشند (ایجاد شده توسط CREATE FUNCTION). اگر یک برنامه خروجی داشته باشد، از آن می‌توان در پرس‌وجوی SELECT استفاده کرد.

کاربران سرشناس

از کاربران سرشناس مای‌اس‌کیوال به موارد زیر می‌توان اشاره کرد:[۱۲][۱۳]

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

نگاه کوتاه

ریاضیات

از ویکی‌پدیا، دانشنامهٔ آزاد

صفحه‌ای از کتاب خوارزمی

ریاضیات (در قدیم[نیازمند منبع]، هم‌چنین: اِنگارِش[۱]) را بیش‌تر دانش بررسی کمیتها و ساختارها و فضا و دگرگونی (تغییر) تعریف می‌کنند. دیدگاه دیگری ریاضی را دانشی می‌داند که در آن با استدلال منطقی از اصول و تعریف‌ها به نتایج دقیق و جدیدی می‌رسیم (دیدگاه‌های دیگری نیز در فلسفه ریاضیات بیان شده‌است). با اینکه ریاضیات از علوم طبیعی به شمار نمی‌رود، ولی ساختارهای ویژه‌ای که ریاضی‌دانان می‌پژوهند بیشتر از دانش‌های طبیعی به‌ویژه فیزیک سرچشمه می‌گیرند و در فضایی جدا از طبیعت و محض‌گونه گسترش پیدا می‌کنند، به‌طوری که علوم طبیعی برای حل مسائل خود به ریاضی باز می‌گردند تا جوابشان را با آن مقایسه و بررسی کنند.

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

تاریخچه

مصریان باستان، بیش از ۵ هزار سال پیش، برای اندازه‌گیری و نقشه‌برداری زمین و ساختن اهرام با دقت بسیار بالا، از حساب و هندسه استفاده می‌کردند. علم حساب با اعداد و محاسبه سر و کار دارد. در حساب، چهار عمل اصلی عبارتند از: جمع، تفریق، ضرب و تقسیم. هندسه علم مطالعه خط‌ها، زاویه‌ها، شکل‌ها، و حجم‌ها است. یونانی‌هایی چون اقلیدس، حدود ۲۵۰۰ سال قبل، بیشتر قوانین اصلی هندسه (قضایای هندسه) را تعیین کردند. جبر نوعی خلاصه‌نویسی ریاضیات است که در آن برای نشان دادن کمّیت‌های نامعلوم، از علائمی چون x و y استفاده می‌شود. این علم را نیز دانشمندان ایرانی، حدود ۱۲۰۰ سال قبل توسعه دادند. حساب، هندسه و جبر، پایه‌های ریاضیات هستند.

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

کمیت

مجموعه، رابطه، تابع، عمل، گروه، میدان، عدد، اعداد طبیعی، اعداد حسابی، اعداد صحیح، اعداد اول، اعداد مرکب، اعداد گویا، اعداد گنگ، اعداد حقیقی، اعداد مختلط، اعداد جبری، عدد پی، عدد ای، چهارگان‌ها، هشت‌گان‌ها، شانزدگان‌ها، اعداد پی-ادیک، اعداد فوق پیچیده (Hypercomplex numbers)، اعداد فوق حقیقی (Hyperreal number)، اعداد فراواقعی (Surreal numbers)، بینهایت، اعداد ترتیبی، اعداد اصلی، ثابت‌های ریاضی، پایه

ساختار

Elliptic curve simple.png Group diagram d6.svg
جبر مجرد نظریه اعداد نظریه گروه‌ها
Torus.jpg MorphismComposition-01.png Lattice of the divisibility of 60.svg
توپولوژی نظریه مدول‌ها نظریه ترتیب

جبر مجرد، نظریه اعداد، هندسه جبری، نظریه گروه‌ها، مونوئیدها، آنالیز ریاضی، آنالیز تابعی، توپولوژی، جبر خطی، نظریه گراف، جبر عمومی، نظریه مدول‌ها، نظریه ترتیب، [[نظ

فضا

Torus.jpg Pythagorean.svg Taylorsine.svg Osculating circle.svg Koch curve.svg
توپولوژی هندسه مثلثات هندسه دیفرانسیل هندسه برخال‌ها

توپولوژی، هندسه، مثلثات، هندسه جبری، هندسه دیفرانسیل، توپولوژی دیفرانسیل، توپولوژی جبری، جبر خطی، هندسه برخال‌ها، متری

تغییر

36 \div 9 = 4 Integral as region under curve.png Vectorfield jaredwf.png \int 1_S\,d\mu=\mu(S)
حساب حسابان حساب برداری آنالیز ریاضی
\frac{d^2}{dx^2} y = \frac{d}{dx} y + c Limitcycle.jpg LorenzAttractor.png
معادلات دیفرانسیل سیستم‌های دینامیکی نظریه آشوب

حساب، حسابان، حساب برداری، آنالیز ریاضی، معادلات دیفرانسیل، سیستم‌های دینامیکی، نظریه آشوب، فهرست تابع‌ها

پایه‌ها و روش‌های ریاضیات

فلسفه ریاضیات، شهودگرایی، ساخت‌گرائی، مبانی ریاضیات، نظریه مجموعه‌ها، منطق نمادی، نظریه مدل، نظریه رسته‌ها، منطق ریاضی، ریاضیات معکوس، جدول نمادهای ریاضی

ریاضیات گسسته

[1,2,3][1,3,2]
[2,1,3][2,3,1]
[3,1,2][3,2,1]
Venn A intersect B.svg DFAexample.svg Caesar3.svg 6n-graf.svg
ترکیبیات نظریه شهودی مجموعه‌ها نظریه رایانش رمزنگاری نظریه گراف

ترکیبیات، نظریه شهودی مجموعه‌ها، نظریه رایانش، رمزنگاری، نظریه گراف

ریاضیات کاربردی

فیزیک ریاضی، مکانیک، مکانیک سیالات، آنالیز عددی، بهینه‌سازی، احتمالات، آمار، اقتصاد ریاضی، ریاضیات مالی، نظریه بازی‌ها، ریاضیات زیستی، رمزنگاری، نظریه اطلاعات

گفتاورد (نقل قول)

برتراند راسل زمانی که دربارهٔ روش بُنداشتی (اصل موضوعی) سخن می‌گفت که در آن برخی ویژگی‌های یک ساختار (که چیزی از آن نمی‌دانیم) فرض می‌شود و پیامدهای این فرض از راه منطق نتیجه‌گیری می‌شود گفت:

ریاضیات را می‌توان رشته‌ای تعریف کرد که در آن نه معلوم است از چه سخن می‌گوییم و نه می‌دانیم آنچه می‌گوییم صحت دارد.

ما در ریاضیات مطالب را نمی‌فهمیم، بلکه تنها به آنها عادت می‌کنیم.

ریاضیات گسسته

نگاه کوتاه

ریاضیات

از ویکی‌پدیا، دانشنامهٔ آزاد

صفحه‌ای از کتاب خوارزمی

ریاضیات (در قدیم[نیازمند منبع]، هم‌چنین: اِنگارِش[۱]) را بیش‌تر دانش بررسی کمیتها و ساختارها و فضا و دگرگونی (تغییر) تعریف می‌کنند. دیدگاه دیگری ریاضی را دانشی می‌داند که در آن با استدلال منطقی از اصول و تعریف‌ها به نتایج دقیق و جدیدی می‌رسیم (دیدگاه‌های دیگری نیز در فلسفه ریاضیات بیان شده‌است). با اینکه ریاضیات از علوم طبیعی به شمار نمی‌رود، ولی ساختارهای ویژه‌ای که ریاضی‌دانان می‌پژوهند بیشتر از دانش‌های طبیعی به‌ویژه فیزیک سرچشمه می‌گیرند و در فضایی جدا از طبیعت و محض‌گونه گسترش پیدا می‌کنند، به‌طوری که علوم طبیعی برای حل مسائل خود به ریاضی باز می‌گردند تا جوابشان را با آن مقایسه و بررسی کنند.

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

تاریخچه

مصریان باستان، بیش از ۵ هزار سال پیش، برای اندازه‌گیری و نقشه‌برداری زمین و ساختن اهرام با دقت بسیار بالا، از حساب و هندسه استفاده می‌کردند. علم حساب با اعداد و محاسبه سر و کار دارد. در حساب، چهار عمل اصلی عبارتند از: جمع، تفریق، ضرب و تقسیم. هندسه علم مطالعه خط‌ها، زاویه‌ها، شکل‌ها، و حجم‌ها است. یونانی‌هایی چون اقلیدس، حدود ۲۵۰۰ سال قبل، بیشتر قوانین اصلی هندسه (قضایای هندسه) را تعیین کردند. جبر نوعی خلاصه‌نویسی ریاضیات است که در آن برای نشان دادن کمّیت‌های نامعلوم، از علائمی چون x و y استفاده می‌شود. این علم را نیز دانشمندان ایرانی، حدود ۱۲۰۰ سال قبل توسعه دادند. حساب، هندسه و جبر، پایه‌های ریاضیات هستند.

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

کمیت

مجموعه، رابطه، تابع، عمل، گروه، میدان، عدد، اعداد طبیعی، اعداد حسابی، اعداد صحیح، اعداد اول، اعداد مرکب، اعداد گویا، اعداد گنگ، اعداد حقیقی، اعداد مختلط، اعداد جبری، عدد پی، عدد ای، چهارگان‌ها، هشت‌گان‌ها، شانزدگان‌ها، اعداد پی-ادیک، اعداد فوق پیچیده (Hypercomplex numbers)، اعداد فوق حقیقی (Hyperreal number)، اعداد فراواقعی (Surreal numbers)، بینهایت، اعداد ترتیبی، اعداد اصلی، ثابت‌های ریاضی، پایه

ساختار

Elliptic curve simple.png Group diagram d6.svg
جبر مجرد نظریه اعداد نظریه گروه‌ها
Torus.jpg MorphismComposition-01.png Lattice of the divisibility of 60.svg
توپولوژی نظریه مدول‌ها نظریه ترتیب

جبر مجرد، نظریه اعداد، هندسه جبری، نظریه گروه‌ها، مونوئیدها، آنالیز ریاضی، آنالیز تابعی، توپولوژی، جبر خطی، نظریه گراف، جبر عمومی، نظریه مدول‌ها، نظریه ترتیب، [[نظ

فضا

Torus.jpg Pythagorean.svg Taylorsine.svg Osculating circle.svg Koch curve.svg
توپولوژی هندسه مثلثات هندسه دیفرانسیل هندسه برخال‌ها

توپولوژی، هندسه، مثلثات، هندسه جبری، هندسه دیفرانسیل، توپولوژی دیفرانسیل، توپولوژی جبری، جبر خطی، هندسه برخال‌ها، متری

تغییر

36 \div 9 = 4 Integral as region under curve.png Vectorfield jaredwf.png \int 1_S\,d\mu=\mu(S)
حساب حسابان حساب برداری آنالیز ریاضی
\frac{d^2}{dx^2} y = \frac{d}{dx} y + c Limitcycle.jpg LorenzAttractor.png
معادلات دیفرانسیل سیستم‌های دینامیکی نظریه آشوب

حساب، حسابان، حساب برداری، آنالیز ریاضی، معادلات دیفرانسیل، سیستم‌های دینامیکی، نظریه آشوب، فهرست تابع‌ها

پایه‌ها و روش‌های ریاضیات

فلسفه ریاضیات، شهودگرایی، ساخت‌گرائی، مبانی ریاضیات، نظریه مجموعه‌ها، منطق نمادی، نظریه مدل، نظریه رسته‌ها، منطق ریاضی، ریاضیات معکوس، جدول نمادهای ریاضی

ریاضیات گسسته

[1,2,3][1,3,2]
[2,1,3][2,3,1]
[3,1,2][3,2,1]
Venn A intersect B.svg DFAexample.svg Caesar3.svg 6n-graf.svg
ترکیبیات نظریه شهودی مجموعه‌ها نظریه رایانش رمزنگاری نظریه گراف

ترکیبیات، نظریه شهودی مجموعه‌ها، نظریه رایانش، رمزنگاری، نظریه گراف

ریاضیات کاربردی

فیزیک ریاضی، مکانیک، مکانیک سیالات، آنالیز عددی، بهینه‌سازی، احتمالات، آمار، اقتصاد ریاضی، ریاضیات مالی، نظریه بازی‌ها، ریاضیات زیستی، رمزنگاری، نظریه اطلاعات

گفتاورد (نقل قول)

برتراند راسل زمانی که دربارهٔ روش بُنداشتی (اصل موضوعی) سخن می‌گفت که در آن برخی ویژگی‌های یک ساختار (که چیزی از آن نمی‌دانیم) فرض می‌شود و پیامدهای این فرض از راه منطق نتیجه‌گیری می‌شود گفت:

ریاضیات را می‌توان رشته‌ای تعریف کرد که در آن نه معلوم است از چه سخن می‌گوییم و نه می‌دانیم آنچه می‌گوییم صحت دارد.

ما در ریاضیات مطالب را نمی‌فهمیم، بلکه تنها به آنها عادت می‌کنیم.

طراحی و تحلیل الگوریتمهای برنامه نویسی

نگاه کوتاه

الگوریتم

از ویکی‌پدیا، دانشنامهٔ آزاد

الگوریتم (نسبت: الگوریتمی، خوارزمیک)[۱] یا خوارزمی[۲] مجموعه‌ای متناهی از دستورالعمل‌ها است، که به ترتیب خاصی اجرا می‌شوند و مسئله‌ای را حل می‌کنند. به عبارت دیگر یک الگوریتم، روشی گام به گام برای حل مسئله است. شیوه محاسبه معدل در مدرسه، یکی از نمونه‌های الگوریتم است.

خصوصیات یک الگوریتم

تمام الگوریتم‌ها باید شرایط و معیارهای زیر را دارا باشند:[۳]

  • ورودی:

یک الگوریتم باید هیچ یا چندین پارامتر را به عنوان ورودی بپذیرد؛

  • خروجی:

الگوریتم بایستی حداقل یک کمیت به عنوان خروجی (نتیجه عملیات) تولید کند؛

  • قطعیت:

دستورهای الگوریتم باید با زبانی دقیق، و بی‌ابهام بیان شوند. هر دستورالعمل نیز باید انجام‌پذیر باشد. دستورهایی نظیر «مقدار ۶ یا ۷ را به x اضافه کنید» یا «حاصل تقسیم پنج بر صفر را محاسبه کنید» مجاز نیستند؛ چرا که در مورد مثال اول، معلوم نیست که بالاخره چه عددی باید انتخاب شود، و در خصوص مثال دوم هم تقسیم بر صفر در ریاضیات تعریف نشده‌است.

  • محدودیت:

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

ریشه واژهٔ الگوریتم

واژه الگوریتم از نام ریاضیدان و ستاره‌شناس و جغرافی‌دان نامی ایرانی، ابوجعفر محمد بن موسی خوارزمی (الخوارزمی)، گرفته شده است، که در خوارزم زاده شد و در دانشگاه «بیت الحکمه» بغداد به اوج شهرت رسید. خوارزم یکی از شهرهای «ایران بزرگ» بود، که امروزه در ازبکستان واقع شده است و خیوه نام دارد. رساله‌ای که خوارزمی در قرن ۹ میلادی به عربی نگاشته بود، در قرن ۱۲ به لاتین با نام “Algoritmi de numero Indorum” ترجمه شد؛ یعنی “[کتابی بدست] «الگوریتمی» در مورد اعداد هندی”، که «الگوریتمی» نام الخوارزمی بود که مترجم در تبدیل به لاتین نام وی را جلوی نام اصلی کتاب (در مورد اعداد هندی) آورده بود. در قرن ۱۳ میلادی واژه الگوریسموس(algorismus) به معنای «سیستم شمارش عربی (دهدهی)» (یعنی اعداد ۱ تا ۹ به علاوه صفر، و نیز مفهوم اعشار) بود؛ که هنوز هم یکی از معانی واژه الگوریسم(algorism) است. معنای دیگر الگوریسم «حساب کردن با کمک اعداد عربی» است؛ یعنی فن انجام أعمال حسابی پایه، مانند جمع و ضرب، با قرار دادن اعداد در زیر هم و إعمال قواعدی خاص، که جایگزین به کارگیری اعداد رومی و استفاده از چرتکه شد. حتی روش انجام دستی تقسیم و جذر گرفتن (رادیکال) هم الگوریسم نامیده می‌شود. در قرن ۱۹ این کلمه در فرانسوی به algorithme تغییر شکل پیدا کرد، البته معنایش ثابت ماند. طولی نکشید که این کلمه به شکل algorithm وارد زبان انگلیسی شد؛ ولی فقط در اواخر قرن ۱۹ میلادی بود که معنای عام‌تر امروزی‌اش را یافت، و به «هر مجموعه قواعدی برای انجام یک رویه محاسباتی یا روال رایانه‌ای به کار رود» الگوریتم گفته شد.

تبدیل نام الخوارزمی به الگوریسم و سپس الگوریتم احتمالاً تحت تأثیر واژه یونانی arithmos (به معنای عدد) و arithmetic (به معنای محاسباتی) بوده است. برخی منابع هم کلمه لگاریتم را هم در تبدیل الگوریسم و الگوریتم بی تأثیر ندانسته‌اند.[۴]

نقش الگوریتم‌ها در علوم رایانه

در علوم رایانه، یک الگوریتم را یک روال محاسباتی خوش‌تعریف می‌دانند، که مقدار یا مجموعه‌ای از مقادیر را به عنوان ورودی (Input) دریافت کرده و پس از طی چند گام محاسباتی، ورودی را به خروجی (Output) تبدیل می‌کند. بجز این، الگوریتم را ابزاری برای حل مسائل محاسباتی نیز تعریف کرده‌اند.[۵] ساخت و طراحی الگوریتم مناسب در مرکز فعالیت‌های برنامه‌سازی رایانه قرار دارد. یک برنامه رایانه‌ای، بیان یک یا چند الگوریتم با یک زبان برنامه‌نویسی است.

مفهوم الگوریتم

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

الگوریتم گاه دارای مراحلی است که تکرار می‌شود (در مثال آبگوشت مثلاً چند بار باید نمک زد یا آب اضافه کرد) و یا در مرحله‌ای نیازمند تصمیم‌گیری است (اگر نمک کافی است دیگر نمک نمی‌زنیم، اگر کافی نیست نمک می‌زنیم).

اگر الگوریتم برای عمل مورد نظر مناسب نباشد و یا غلط باشد به نتیجه مورد نظر نمی‌رسیم. مثلاً اگر الگوریتم آبگوشت را با مواد اولیه کباب انجام دهیم واضح است که به آبگوشت نمی‌رسیم.

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

مقدمه‌ای بر تحلیل الگوریتم

نوشتار اصلی: تحلیل الگوریتم‌ها

معمولاً برای حل یک مسئله، روش‌ها و الگوریتم‌های گوناگونی وجود دارند؛ یک الگوریتم ممکن است عمل مورد نظر را با دستورهای مختلف در مدت زمان و یا کار کمتر یا بیشتری نسبت به الگوریتم دیگر انجام دهد. به همین دلیل، انتخاب الگوریتم مناسب و کارا اهمیت زیادی در موفق بودن و کارایی برنامه رایانه‌ای دارد. الگوریتم‌ها به عنوان یک فناوری مطرح هستند[۵] و دانشمندان آنها را طراحی، تحلیل، و مطالعه می‌کنند. مطالعه الگوریتم‌ها زمینه‌های متعددی را در بر می‌گیرد. در زیر به چند نمونه اشاره می‌کنیم که می‌توان آنها را چرخه حیات یک الگوریتم نامید.

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

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

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

ت) پیاده‌سازی الگوریتم‌ها:پیاده‌سازی یک الگوریتم نوشتن آن به زبان برنامه نویسی خاص است که معمولاً بعد از تحلیل مقدم آن صورت می‌گیرد و نام برنامه به آن اطلاق می‌شود.

ث) تست برنامه:تست یک برنامه شامل۱:اشکال زدایی و ۲:تحلیل مؤخر (اندازه‌گیری کارایی) است. اندازه‌گیری کارایی عبارت است از فرایند اجرای الگوریتم صحیح بر روی داده‌های نمونه گیری شده برای به دست آوردن زمان و حافظه مورد نیاز توسط کامپایلر. زمان اجرای یک الگوریتم به پارامترهای مختلفی بستگی دارد که از جمله می‌توان به نوع دستورالعمل‌ها (دستورالعمل‌های جمع، ضرب، نوشتن، خواندن، شرطی و…)کامپایلر مورد استفاده، زبان برنامه نویسی، سخت‌افزار به کار رفته و پارامتری مثل nکه می‌تواند معرف تعداد ورودی‌ها و خروجی‌ها و یا هر دو باشد اشاره کرد

تحلیل الگوریتم‌ها رشته‌ای است که به بررسی کارایی الگوریتم‌ها می‌پردازد. تحلیل الگوریتم‌ها یعنی پیش‌بینی منابع مورد نیاز برای اجرای یک الگوریتم، همچون: حافظه، پهنای‌باند ارتباطی، سخت‌افزار، و از همه مهمتر، زمان.[۶] کارایی یا پیچیدگی هر الگوریتم را با تابعی نشان می‌دهند که تعداد مراحل لازم برای اجرای الگوریتم را برحسب طول داده ورودی، یا میزان محل‌های لازم حافظه را بر حسب طول داده ورودی نشان می‌دهد.

جنبه حقوقی

در بعضی کشورها، مثل آمریکا اگر تعبیه فیزیکی الگوریتمی ممکن باشد (برای مثال، یک الگوریتم ضرب که می‌شود آن را در واحد محاسبهٔ یک ریز پردازنده تعبیه کرد) می‌شود آن الگوریتم را به ثبت رساند.

جستارهای وابسته

تمرینهای تصویری JavaScript

نگاه کوتاه

از ویکی‌پدیا، دانشنامهٔ آزاد

تاریخچه محتویاتجاوااسکریپت (به انگلیسی: JavaScript) زبان برنامه‌نویسی اسکریپت مبتنی بر اشیاء است که توسط NetScape تولید شده‌است. این زبان، یک زبان شی‌گرا[۱] است که بر اساس استاندارد ECMA-262 Edition 3 نوشته شده‌است.
علیرغم اشتباه عمومی، زبان جاوااسکریت با زبان جاوا ارتباطی ندارد، اگر چه ساختار این زبان به سی پلاس پلاس(++C) و جاوا شباهت دارد؛ که این امر برای یادگیری آسان در نظر گرفته شده‌است. از همینرو دستورهای متداول مانند if, for,try..catch ,”while” و… در این زبان هم یافت می‌گردند.
این زبان می‌تواند هم به صورت ساخت یافته و هم به صورت شی گرا مورد استفاده قرار گیرد. در این زبان اشیاء با اضافه شدن متدها و خصوصیات پویا به اشیاء خالی ساخته می‌شوند، بر خلاف جاوا. بعد از ساخته شدن یک شی به روش فوق، این شی می‌تواند به عنوان نمونه‌ای برای ساخته شدن اشیاء مشابه مورد استفاده قرار گیرد.
به علت این قابلیت زبان جاوااسکریپت برای ساختن نمونه از سیستم مناسب می‌باشد.
کاربرد گسترده این زبان در سایتها و صفحات اینترنتی می‌باشد و به کمک این زبان می‌توان به اشیاء داخل صفحات HTML دسترسی پیدا کرد و آنها را تغییر داد. به همین علت برای پویا نمایی در سمت کاربر، از این زبان استفاده می‌شود.
JavaScript به صورت «جاواسکریپت» خوانده می‌شود، ولی در فارسی به صورت «جاوااسکریپت» ترجمه می‌شود و اگر به صورت «جاوا اسکریپت» ترجمه شود اشتباه است چون دو کلمه جدا از هم نیست و اگر به صورت دو کلمه جدا نوشته شود خطلاهای نگارشی ایجاد می‌شود، به طور مثال ممکن است کلمه جاوا در انتهای خط و کلمه اسکریپت در ابتدای خط بعدی نوشته شود.

جاوااسکریپت را در ابتدا شخصی به نام برندان ایچ در شرکت نت‌اسکیپ با نام Mocha طراحی نمود. این نام بعداً به LiveScript و نهایتاً به جاوااسکریپت تغییر یافت.[۲] این تغییر نام تقریباً با افزوده شدن پشتیبانی از جاوا در مرورگر وب Netscape Navigator همزمانی دارد. اولین نسخهٔ جاوااسکریپت در نسخه ۲٫۰B3 این مرورگر در دسامبر ۱۹۹۵ معرفی و عرضه شد. این نام گذاری منجر به سردرگمی‌های زیادی شده و این ابهام را ایجاد می‌کند که جاوااسکریپت با جاوا مرتبط است در حالی که این طور نیست. عدهٔ زیادی این کار را یک ترفند تجاری برای به دست آوردن بخشی از بازار جاوا که در آن موقع زبان جدید مطرح برای برنامه‌نویسی تحت وب بود می‌دانند.[۳][۴]

به دلیل موفقیت عمدهٔ جاوااسکریپت در نقش زبان نویسه‌ای سمت کاربر (client side scripting language) برای صفحات وب، مایکروسافت یک نسخه سازگار از این زبان را ایجاد کرد و به علت مشکلات حقوقی آن را جی اسکریپت نامید. این زبان در نسخه ۳٫۰ از مرورگر اینترنت اکسپلورر و در اوت ۱۹۹۶ داده شد. تفاوت‌های این دو زبان به حدی جزیی است که اغلب جی اسکریپت و جاوااسکریپت به جای هم به کار می‌روند. هرچند که مایکروسافت در اینجا چند ده دلیل برای تفاوت جی اسکریپت با استاندارد ECMA مطرح می‌کند.

نت‌اسکیپ جاوااسکریپت را به سازمان Ecma International برای استاندارد سازی ارسال کرده‌است و نتیجه نسخهٔ استاندارد شده‌ای به نام ECMA Script است.[۵]

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

امکانات زبانی

امکانات زیر (در صورت قید نشدن) همگی مطابق استاندارد ECMA Script می‌باشند.

فریم ورک های مبتنی برجاوا اسکریپت

فریم ورک های زیادی برای این زبان درست شده است مانند جی کوئری و آنگولار جی اس

زبان امری و ساخت یافته

جاوااسکریپت از تمامی نحو ساختاری زبان C پشتیبانی می‌کند. مانند گزاره (if و switch و حلقه‌های while و…) یک مورد استثناء تعیین حوزهٔ متغیرهاست: تعریف حوزه در حد block در جاوااسکریپت وجود ندارد. هر چند جاوااسکریپت ۱٫۷ با کلمهٔ کلیدی let این نوع حوزه دهی را امکان‌پذیر می‌سازد. مانند c در جاوااسکریپت بین عبارت و گزاره تفاوت وجود دارد.

پویایی

؛ تایپ دهی پویا: مانند اکثر زبان‌های نویسه‌ای تایپ به مقدارها منسوب می‌گردد و نه به متغیرها. برای مثال متغیر x ممکن است به یک عدد وابسته سازی شود، و بعداً به یک رشته. جاوااسکریپت برای تعیین تایپ شی راه‌های مختلفی از جمله تایپ دهی اردکی (duck typing) را دارد.[۷]

؛ تایپ دهی ضعیف: زبان جاوااسکریپت از نظر تایپ دهی ضعیف به شمار می‌آید و در آن نتیجهٔ عملیاتی مانند ۵ + “۳۷”، عبارت “۵۳۷” خواهد بود. (عدد را با رشته جمع کرده‌است)

؛ اشیاء به دید آرایه‌های انتسابی: جاوااسکیرپت تقریباً تماماً بر اساس اشیاء است. اشیاء، آرایه‌های انتسابی به همراه یک «ساختار شماتیک» هستند. نام ویژگی اشیاء، کلیدهای آرایه انتسابی هستند و درواقع obj.x = ۱۰ با obj[“x”] = ۱۰ هم ارز هستند و شیوه نگارش با نقطه صرفاً یک سهولت نحوی است. ویژگی‌ها و مقدارهایشان در زمان اجرا قابلیت تغییر اضافه و حذف دارند. همچنین می‌توان روی ویژگیهای یک شی با ساختار for … in پیمایش کرد.

؛ ارزیابی در زمان اجرا: جاوااسکریپت یک تابع eval دارد که قادر است گزاره‌های تولید شده در یک رشته در زمان اجرا را، اجرا کند.

تابعی بودن

؛ تابعی بودن: توابع موجوداتی «درجه اول» محسوب می‌شوند، یعنی خود یک شی هستند؛ بنابراین می‌توانند ویژگی داشته باشند، در آرگومان‌های تابع‌ها داده شوند و مانند هر شی دیگری با آن‌ها رفتار شود

؛ توابع داخلی و بستارها: توابع داخلی (توابع تعریف شده داخل یک تابع دیگر) هر بار که تابع بیرونی فرا خوانده شود، ایجاد می‌شوند و متغیرهای توابع بیرونی تا زمانی که تابع داخلی وجود داشته باشد، وجود خواهند داشت، حتی پس از اتمام آن فراخوانی از تابع بیرونی. (مثال: اگر تابع داخلی به عنوانمقدار برگشتی تابع باشد، هنوز به متغیرهای تابع بیرونی دسترسی دارد) – این مکانیزم بستار گرفتن در جاوااسکریپت است.

ساختار شماتیک» محوری

؛ ساختار شماتیک: جاوااسکریپت به جای رده‌ها برای تعریف ویژگی‌های اشیاء، که شامل متدها و وراثت است از «ساختار شماتیک» استفاده می‌کند (پیش‌نمونه). امکان شبیه‌سازی بسیاری از امکانات رده-محور با ساختارهای شماتیک جاوااسکریپت امکان‌پذیر است.

توابع در نقش سازندهٔ اشیاء

برای توابع علاوه بر نقش عادی، به عنوان سازنده ی اشیاء هم عمل می‌کنند. آوردن یک new قبل فراخوانی تابع، آن را با کلمهٔ کلیدی this وابسته سازی شده به شی جدید اجرا می‌کند. ویژگی prototype از تابع مورد نظر، ساختار شماتیک شی جدید را مشخص می‌کند.

؛ توابع در نقش متد: بر خلاف بیشتر زبان‌های شی گرا تفاوتی میان تعریف تابع و متد وجود ندارد. بلکه تفاوت در زمان فراخوانی تابع است، زمانی که یک تابع به عنوان متد یک شی فراخوانده می‌شود کلمهٔ کلیدی this محلی آن تابع به شی مورد نظر وابسته سازی می‌شود.

امکانات دیگر

امکانات دیگر

جاوااسکریپت برای تأمین اشیاء و متدها که با آن‌ها تعامل کند به یک محیط اجرایی (مانند مرورگر وب) نیاز دارد تا بتواند به این ترتیب با دنیای خارج ارتباط برقرار کند. همچنین برای دسترسی به سایر نویسه‌ها (include) هم به این محیط نیازمند است (مانند تگ <script>در HTML). (البته این یک ویژگی زبانی نیست اما در عمل اغلب این طور پیاده‌سازی شده‌است)

؛ تعداد متغیر پارامتر (variadic): تعداد نامعینی پارامتر را می‌توان به یک تابع ارسال نمود. تابع می‌تواند هم از طریق پارامترهای رسمی و هم از طریق شی محلی arguments به آن‌ها دسترسی داشته باشد.

Literalهای آرایه و شی

مانند بسیاری از زبان‌های نویسه‌ای آرایه‌ها و اشیاء (که در زبان‌های دیگر همان آرایه‌های انتسابی هستند) را می‌توان با یک نحو موجز ایجاد و توصیف نمود. در واقع این شیوهٔ نگارش پایهٔ قالب داده‌ای جی‌سون هم هست.

عبارات منظم

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

نظام تایپ دهی

انواع زیر جزو انواع داده‌های قابل دسترس در زبان جاوااسکریپت است. در استاندارد ECMA انواع دیگری هم تعریف شده که صرفاً داخلی است و برای پیاده‌سازی است.[۸]

تعریف نشده: این تایپ فقط یک مقدار با نام undefined دارد و متعلق به تمام متغییرهای مقدار دهی نشده‌است

نوع تهی: نوع تهی هم فقط یک مقدار دارد با نام null

نوع دودویی: نمایندهٔ یک مقدار منطقی است و دو مقدار true و false را می‌پذیرد.

نوع رشته: در بر گیرندهٔ تمام رشته‌های متناهی از ۰ یا بیشتر عنصر ۱۶ بیتی بدون علامت است. این عناصر با اندیس‌های نامنفی قابل دسترسی هستند. طول رشته تعداد عناصر داخل آن و طول رشتهٔ تهی برابر ۰ است.

زمانی که رشته حاوی متن واقعی باشد هر عنصر به عنوان یک واحد UTF-16 در نظر گرفته می‌شود (مستقل از این که شیوهٔ واقعی نگه داری رشته چه باشد). تمام عملیات بر روی رشته‌ها آن‌ها را به عنوان اعداد صحیح بدون علامت در نظر می‌گیرند و تضمین کنندهٔ تولید رشته به حالت normalize شده نیست و تضمین‌های خاص زمانی هم ندارد. علت این تصمیم گیری سادگی در پیاده‌سازی ذکر شده‌است.

نوع عدد: نوع عدد در جاوااسکریپت مطابق با استادارد IEEE برای اعداد شناور دودویی است (با اندکی تفاوت).

نوع شی: شی در جاوااسکریپت یک مجموعه بدون ترتیب از ویژگی‌ها است. هر ویژگی می‌تواند داخلی، فقط-خواندنی، غیرقابل حذف، و غیرقابل پیمایش باشد (یا ترکیبی از این‌ها یا هیچ‌کدام)

تبدیلات خودکار

این زبان دارای تبدیلات خود کار بین این انواع داده‌ای است.

زمانی که بخواهد یک if را ارزیابی کند یا از عملگرهای منطقی ! و && و || استفاده شود، تبدیل به نوع دودویی را انجام می‌دهد. مقادیر ۰ و ۰- و NaN به false و سایر مقادیر عددی به true نگاشت می‌گردد. همچنین رشتهٔ تهی false و سایر رشته‌ها true در نظر گرفته می‌شود. انواع شی و تابع true و undefined و null هم false در نظر گرفته می‌شود.

زمانی که یکی از عملوندهای عملگر + رشته باشد، تبدیل به رشته صورت می‌گیرد، مانند ۵ + “۳۷” که می‌شود “۵۳۷”

عملگرهای دیگری عددی (جز جمع) منجر به تبدیل به عدد می‌گردد مانند ۳ – “۵۷” که مقدار عددی ۳۴- را به دست می‌دهد.[۹]

وانیلا جاوااسکریپت

وانیلا جاوااسکریپت یا وانیلا جی اس (Vanilla JS) اصطلاحی است که به همان زبان جاوااسکریپت اطلاق می‌شود. در حقیقت، وانیلا جی اس هیچ سکو (framework) یا کتابخانهٔ خاصی نیست. این اصطلاح بیشتر برای کسانی ساخته شده است که گمان می‌کنند برای استفاده از جاوااسکریپت، حتماً باید از کتابخانه‌های موجود یا سکوی خاصی استفاده بکنند.[۱۰]

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

پانویس