آکادمی امنیت شبکه و اطلاعات

  • امروز 04، شهریور 1398 می‌باشد.
  • 989901416229+

نقشه راه زبان های برنامه نویسی

ارسال شده توسط : MrPenTester


ارسال شده در تاریخ : 22، فروردین 1398 - 18:00:06


تصویر پیدا نشد

نقشه راه برنامه نویسی

 

برنامه نویسی بخش جدا نشدنی از امنیت و کلا حوزه IT به حساب می آید.

 

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

 

در این مرحله تیم فنی ما یک نقشه گرافیکی از این مسیر ترسیم کرده است که در پایین تر میتوانید مشاهده کنید.

 

در این نقشه ما ابتدا دو زبان برنامه نویسی ++C و Python را مورد بحث قرار میدهیم.

 

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


Functional Programming
Fundation Of Database
Web
Client
Network
Mobile

 

که هر کدام از مسیر ها پیشنهادهای خود را خواهند داشت.

 

 

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


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

 

C Plus Plus یک زبان کامپایلی است که همانند زبان C پیاده‌سازی‌های گوناگونی از آن برای پلتفرم‌ها و سیستم‌عامل‌های مختلف فراهم شده است. گفتنی است ساختار اصلی این زبان از زبان سی الهام گرفته شده است و بسیاری از زبان‌های مدرن امروزی نظیر C# و Java تحت تأثیر C و فرزند خوش‌ نامش CPP شکل گرفته‌اند.

 

ویژگی‌هایی چون شئ گرایی، وراثت، چندریختی، سربارگذاری عملگرها، مدیریت استثنائات و … از جمله ویژگی‌هایی است که علاوه بر قابلیت‌های به ارث برده شده از زبان C در CPP به چشم می‌خورد.

 

امروزه زبان CPP همانند C با اهداف متمایل به برنامه نویسی سیستمی و جاسازی شده (Embedded)، مورد استفاده‌ی فراوان توسعه‌دهندگان قرار می‌گیرد. به علاوه، کارایی و همچنین انعطاف‌پذیری بالای این زبان برنامه نویسی آن را به گزینه‌ی بسیار مناسبی برای توسعه‌ی اپلیکیشن‌های دسکتاپ و همچنین مواردی که به کارایی و عملکرد بالایی نیاز دارند تبدیل کرده است.

 

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

 

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

 

*سوال:حالا چرا زبان سی یا سی پلاس پلاس رو در مرحله اول برای یادگیری برنامه نویسی گذاشتیم؟!


فردی که میخواهد وارد زمینه برنامه نویسی شود بهتر است ابتدا با یک زبان سطح پایین شروع کند تا اصول و syntax برنامه نویسی را در حالت کلی یاد بگیرد سپس اگر به سمت زبان های قدرتمند و سطح بالا (...& Python & Ruby)  رفت بتواند راحتتر و بهتر انها را یاد بگیرد .
 

 

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


 پایتون در دنیا به شدت همه گیر شده است. زبان برنامه نویسی پایتون یک زبان شی گرا است و از ویژگی های پیشرفته شی گرایی مثل : وراثت، چندشکلی، سربار گزاری عملگر و . . . پشتیبانی میکند.

 

سوال:منظور از اسکریپتی بودن پایتون چیست ؟

 

یعنی در حالت معمول به فایل اجرایی تبدیل نمی شود بلکه یک ماشین مجازی (مفسر پایتون) فایل کد رو می خواند و همزمان آن را تفسیر و اجرا میکند. یعنی شما می توانید یک برنامه تو سیستم عامل ویندوز بنویسید و اون برنامه رو بدون تغییر روی لینوکس یا مکینتاش یا هر پلتفرمی که پایتون روی آن نصب است را اجرا کنید.


پایتون یه زبان سطح بالا و شی گرا و تفسیری سمت سرور است.


پایتون به صورت Open Source توسعه یافته است.

 

پایتون سه قابلیت اصلی دارد :


1-سهولت بیشتر
2-فهم راحت تر
3-توسعه ی سریع تر

 

در حقیقت پایتون به قدری سطح بالاست که برنامه نویسی را برای ما دلچسب می کند.


پایتون دارای کتابخانه های بسیار وسیعی است که یادگیری و استفاده ی آن ها در چند روز ممکن است.


نکته ی قابل توجه این است که کدهای نوشته شده با پایتون روی پلتفرم وسیستم عامل  های وسیعی چون GNU/Linux , Windows Mac , FreeBSD  و حتی گوشی های موبایل و… قابل اجرا می باشد.


هم اکنون پایتون در شرکت ها و سازمان های بزرگی مثل ناسا و گوگل و یاهو و .. به صورت گسترده مورد استفاده قرار می گیرد.

 

هدف از بوجود آمدن زبان برنامه نویسی پایتون :

 

1-خوانایی بالای برنامه‌های نوشته شده

2-کوتاهی و بازدهی نسبی بالای آن


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

 

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

 

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

آنالیز داده‌ها - یادگیری ماشینی - خودکارسازی سامانه‌ها - توسعه وب - واسط‌ های رابط برنامه‌نویسی - تحلیل داده‌های بزرگ در علوم و صنایع - امنیت سایبری و تست نفوذ

 

 

یکی از زبان های معروف و کاربردی در حوزه وب، زبان برنامه نویسی PHP می باشد،که  شی گرا برای طراحی وب است.


در واقع PHP یک زبان برنامه نویسی اسکریپتی متن باز (Open Source) و سمت سرور (Server Side) است.

 

وقتی میگوییم سمت سرور است یعنی این که صفحات PHP در مرحله اول توسط سرور Apache یا IIS پردازش می شوند، سپس در مرحله دوم خروجی به صورت کدهای HTML و JavaScript به مرورگر کامپیوتر کاربر ارسال میگردد. به همین دلیل به PHP، زبان سمت سرور میگویند.

 

ساختار زبان PHP بسیار شبیه به زبان C و در نسخه های جدبد شبیه به JAVA می باشد و به همین دلیل از محبوبیت فراوانی برخوردار است. از مشهورترین مدیریت محتوای های ساخته شده با PHP می توان به جوملا، وردپرس ، دروپال و … اشاره نمود. سایت های فراوانی در جهان براساس زبان PHP نوشته شده اند و هر روز نیز بر تعداد آنها افزوده می شود. بر طبق آمار منتشر شده بیش از ۶۰% از سایت های موجود در سرورها با زبان PHP نوشته و بارگذاری شده است که از مهمترین آنها می توان به ویکی پدیا،فیسبوک اشاره کرد.


PHP امکان استفاده از انواع مختلفی از پایگاه داده را از جمله : MySQL,SqlLite,Oracle, IBM DB2, Microsoft SQL Server و … را با دستور هایی ساده فراهم می سازد.

 

PHP روی بیشتر سیستم عامل های معروف از جمله : Linux,Windows,FreeBSD,Mac,Unix و با اغلب سرور های معروف قابل اجراست.

 

*پیش از آغاز به یادگیری PHP شما باید آشنایی کافی با  HTML و Java Script و کار با MySQL را بدانید.

 

حالا به مزیت های و کاربرد زبان PHP بپردازیم و ببینیم چه مزایایی دارد:

 

 زبان PHP یک ابزار ساخت یافته بوده و یادگیری آن بسیار ساده است.


ابزار کار با PHP همه ی آن ها متن باز بوده و استفاده از آن رایگان هستند.


سرعت بالا؛ اجرای یک اسکریپت PHP به طور متوسط تا سه برابر یک اسکریپت ASP است.

 

مفسر PHP تنها کدهایی که در درون جداکننده PHP قرار بگیرند را تفسیر می کنند. معروف ترین این جداکننده ها PHP?> برای ابتدا و <؟ برای انتها استفاده می شوند. نام متغییر در زبان PHP حتما باید با نماد $ آغاز شود و نیازی به مشخص کردن آن نیست. برخلاف نام توابع و کلاس ها نام متغییرها به بزرگی و کوچکی حساس هستند.

 

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

 

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

 

بنابراین شما بعد از یادگیری این زبان میتوانید به تحلیل باگ هایی همچون Authentication Bypass,RFI,CSRF,LFI,...بپردازید و توسط زبان پایتون این اسیب پذیری ها را اکسپلویت کنید.

 

 

جاوااسکریپت یکی از زبان‌های اصلی برنامه نویسی مورد نیاز برای ورود به دنیای وب است. به‌ خصوص که امروزه جاوااسکریپت گسترش و پیشرفت بسیار زیادی داشته و با فریمورک‌های قدرتمندی همچون Angular، React Js، Vue Js Node , React native و ... دراکثر پروژه‌ها مورد استفاده قرار میگیرد.

 

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

 

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

 

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


1- ReactJS که بسیاری از سایت‌ها و سرویس‌های بزرگ بر پایه‌ی این فریمورک توسعه داده‌ شده‌اند.


2- React Native محصول شرکت فیسبوک که به کمک آن با جاوااسکریپت میتوان برنامه IOS , Android را هم زمان نوشت.


3- فریم ورک AngularJs گوگل که آخرین نسخه آنangular 7 است و بسیاری از ابزارها و سرویس‌های بزرگ بر پایه‌‌ی آن توسعه داده‌ شده‌اند.


4-فرم وورک قدرتمند و در عین حال کم حجم vue js که سمت فرانت اند را در اختیار میگیرد و هنگام ترکیب با فرم وورک لاراول در زبان PHP میتوان سایت های خوبی را ساخت.


5- node js که امکان استفاده از جاوا اسکریپت در سمت سرور را ایجاد میکند.


6- فرم وورک Electron js که امکان ساخت اپلیکیشن های دسکتاپ با قابلیت اجرا روی ویندوز، مک و لینوکس را دارد.


7- یکی دیگر از نقاط قوت جاوا اسکریپت استفاده از آن در پردازش تصویر است که با استفاده از webgl , three js امکان ایجاد پروژه های مربوط به پردازش تصویر را به شما می دهد.

 

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


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

 

نویسنده: حامد مقدسی پور و گروه متخصصین نقشه راه فناوری اطلاعات

منبع: آکادمی امنیت شبکه و اطلاعات و گروه ITROADMAP

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده غیر اخلاقی می باشد.

 

 





کلیه حقوق برای آکادمی امنیت شبکه و اطلاعات محفوظ بوده و برداشت غیر مجاز پیگرد قانونی دارد. | Copyright © 2019 Iranian AcademySecurity.ir All rights reserved