سلام بچه های گل دوباره برگشتم با یه مطلب جدید و مفید در دنیای برنامه نویسی امیدوارم به دردتون بخوره مخصوصا اونایی که تازه برنامه نویسیو شروع کردن
برنامه نویسی backend در حیطه ی کاری وب هست ، برنامه نویسی وب به دو دسته بندی کلی backend به معنی سمت سرور و frontend به معنی سمت کلاینت یا کاربر تقسیم بندی میشود.
بزارید اول مقاله بگم که این نوشته ترجمه نیست ، از آمارهای خارجی نیست و .... اینا همشون حاصل تحقیقات خودمه که هم برای بازار کار ایران صدق میکنه هم خارج از ایران ، خاستم یه چیز معیار در بیارم که همه جا به درد بخوره و ترتیب هایی که در لیست پایین هست هم مهمه هرکدوم اول گفتم اهمیت بالاتری داره هر کدوم آخر اهمیت کمتری داره
در لیست پایین اسم زبان های برنامه نویسی مناسب بک اند را آوردم و از بالا به پایین اهمیتشون کمتر میشه یعنی هر کدوم بالاتره بازار کار بهتری داره ، برای بک اند مناسب تره ، راحت تره و کلی فاکتور دیگه ....
پی اچ پی == PHP
پایتون == Python
گولنگ == Golang
جاوااسکریپت در محیط نود جی اس == Node.js
جاوا == Java
چرا پی اچ پی یاد بگیریم ؟
پی اچ پی یک زبان برنامه نویسی برای وب در قسمت بک اند یا سمت سرور هست. با پی اچ پی میتوانید هر نوع وب سایتی را بسازید. سایت های بزرگ دنیا از PHP استفاده میکنند اما دلایلی که در زیر آورده ام شمارا ترغیب میکند که پی اچ پی یاد بگیرید :
محبوب ترین زبان برنامه نویسی سمت سرور است. فریمورک های محبوبی مثل لاراول و ... برای پی اچ پی است. با این زبان میتوانید برای وردپرس قالب و افزونه بنویسید. فروشگاه سازهای مختلفی مثل اپن کارت با این زبان طراحی شده است. تهیه هاست و سرور مجازی برای پی اچ پی راحت و ارزانتر است.
پایتون یک زبان همه کاره هست و تقریبا در هر پلتفرمی قابل استفاده است ، فریمورک ها و کتابخانه های زیاد پایتون در زمینه ی برنامه نویسی وب و backend باعث شده این زبان برنامه نویسی یکی از محبوبترین زبان های برنامه نویسی وب باشد.
فریمورک های معروفی همچون جنگو ، فلسک و fast api برای برنامه نویسی انواع وب سایت های پیشرفته و حرفه ای مناسب است.
پایتون برای پروژه های وب که از حجم بالای کاربران برخوردار است مناسبه البته ترافیک بسیار بالا را شاید به کندی حل بکنه و بجاش از نود جی اس یا گولنگ استفاده میشود ولی در نوع خود فریمورک جنگو زبان پایتون سرعت توسعه ی پروژه های وب را بسیار افزایش میده
چرا گولنگ را برای برنامه نویسی وب یاد بگیریم ؟
گولنگ زبان برنامه نویسی نسبتا جدیدی نسبت به پایتون و پی اچ پی هست و از محبوبیت کمتری هم نسبت به آنها برخوردار است چون زبان برنامه نویسی تخصصی تری است . یکی از مهم ترین دلایل که برنامه نویسان به سمت زبان برنامه نویسی گولنگ مهاجرت میکنند پرفرمنس عالی این زبان در بحث برنامه نویسی وب است.
سایت هایی که ترافیک بالایی دارند یا اصطلاحا از نوع بیگ دیتا حساب میشوند برای کنترل بار ترافیک بسیار بالا گولنگ واقعا عالی هست
همچنین این زبان یک زبان ایستا شبیه به سی و سی پلاس پلاس میباشد.
این زبان برنامه نویسی تقریبا ساده است و اگر قبلا زبان های برنامه نویسی مثل java یا سی پلاس پلاس را کار کرده باشید به راحتی میتوانید گولنگ را یاد بگیرید و در برنامه نویسی وب استفاده کنید.
محبوبیت گولنگ رو به افزایش است و در پروژه های بزرگی نیز استفاده میشود ، اگر به فکر یادگیری آن هستید و نگران آینده هست معطل نشوید و همین الان شروع کنید چون احتمال زیاد آینده ی این زبان در برنامه نویسی بک اند عالی خواهد بود.
چرا نود جی اس را برای برنامه نویسی بک اند انتخاب کنیم؟
نود جی اس برپایه ی زبان برنامه نویسی جاوااسکریپته ، در واقع نود جی اس یک محیط اجرایی یا runtime هست که به شما اجازه میده با زبان برنامه نویسی javascript در سمت بک اند ، برنامه نویسی وب انجام بدهید.
هدف اصلی بوجود آمدن نود جی اس کنترل ترافیک های بالا در وب ، پروژه های آنی یا realtime و سرعت پاسخگویی بالا بوده است.
به همین علت بیشتر پیام رسان ها و اپلیکیشن های چت با نود جی اس نوشته میشود چون نیاز به برقراری ارتباط دائم با سرور دارند یا اصطلاحا پروژه های realtime هستند.
نود جی اس در زمان بسیار کمی که منتشر شده است توانسته به شدت محبوب شود و در بسیاری از پروژه های جهانی مورد استفاده قرار میگیرد.
چرا از جاوا در بک اند وب استفاده کنیم؟
جاوا یکی از زبان های برنامه نویسی قدیمی است که در پلتفرم های مختلفی کاربرد دارد. از برنامه نویسی نرم افزار دسکتاپ بگیر تا ساخت بازی و اپلیکیشن های موبایلی از جاوا استفاده میشود.
این زبان برنامه نویسی در سمت سرور یا backend نیز قابل استفاده است و با تخصص جاوا میتوانید انواع وب سایت ها را در زمینه های مختلف بسازید.
زبان جاوا نیز همانند زبان های پی اچ پی و پایتون ، برای دنیای وب فریمورک های کمکی زیادی دارد که شما بعنوان برنامه نویس جاوا باید یکی از این فریمورک ها را یاد بگیرید تا بتوانید در حیطه ی برنامه نویسی بک اند یا سمت سرور کار کنید. معروف ترین فریمورک های جاوا برای برنامه نویسی وب Spring Boot , Hibernate و ... میباشد.
اگه به برنامه نویسی علاقه دارین شاید توجه به اتفاقاتی که در سطح پایین میوفته هم براتون جالب باشه و هم آموزنده
برای خود من سوال بود که چطور یک پروژه که توسط برنامه نویس نوشته میشه به اجرا در میاد ، حالا ممکنه این پروژه یه اپ موبایل باشه و روی موبایل اجرا شه یا یه سایت باشه توسط سرور اجرا شه هیچ فرقی ندارن یه سری اصول و منطق هایی پشت ماجرا هست که اگه درک کنید کلی در برنامه نویسی پیشرفت میکنید.
در کل زبان های برنامه نویسی دنیا به سه دسته بندی تقسیم میشه که اگه این سه دسته بندی رو درک کنیم کامل میتونیم بفهمیم که چه اتفاقی در سطوح پایین برای اجرای یک پروژه ی برنامه نویسی میوفته :
زبان ماشین
زبان اسمبلی
زبان های برنامه نویسی سطح پایین بالا و ...
زبان ماشین چیست ؟
ماشین در اینجا به هر دستگاهی اشاره میشه که قابلیت پردازش داره ، یا بهتره بگیم درون خودش یک CPU داره که اطلاعات را مثل کامپیوتر پردازش میکنه
گوشی موبایل هوشمند
ساعت دیجیتالی
تلویزیون های اسمارت
کامپیوتر یا لپتاپ
همه از این دسته هستند و اگه گفتیم ماشین منظور یه چنین دستگاه هایی هست.
اینا همشون قابل برنامه ریزی هستن یعنی ما بعنوان انسان میتونیم بهشون دستور بدیم و بگیم چیکار بکن
ولی این دستگاه ها زبون ما آدم ها حالیشون نمیشه یه زبان خاص برای خودشان دارن که بهش گفته میشه زبان ماشین
زبان ماشین متشکل از اعداده و شما بخای با این دستگاه ها صحبت کنید باید با زبان خود اون ماشین که ترکیبی از اعداد هست صحبت کنی
پس ماشین زبان انسان رو نمیفهمه و اگر با اعداد خاصی باهاش صحبت کنید دقیقا میفهمه چی میخایید. برنامه نویس ها دیدن که چنین گفتاری واقعا سخته و برنامه نویسا برای نوشتن ساده ترین برنامه ها باید کلی زمان بزارن درصد خطا بالا خواهد رفت و دیگر داستانا
اینجا بود که زبان اسمبلی اختراع شد.
زبان اسمبلی چیست ؟
همونطور که در بالا دیدید صحبت کردن با خود ماشین یعنی دستگاه هوشمند واقعا سخته ، شما بعنوان برنامه نویس نمیتونی یه اپلیکیشن موبایل رو صرفا با اعداد بنویسی
اینجا بود که دانشمندان کامپیوتر زبان جدیدی خلق کردن و گفتن ما بجای گفتن اعداد بهتره اونا رو تبدیل به کلمات انگلیسی کنیم و به کامپیوتر بگیم و این وسط یه مترجم بزاریم که اونا رو به زبان ماشین ترجمه کنه
اسم اون مترجم هم باشه اسمبلر
اینجا اسمبلر وظیفه داره که کلمات انگلیسی که برنامه نویس نوشته را به زبان ماشین تبدیل کنه و به ماشین تحویل بده در این صورت ماشین میفهمه که چه کاری باید انجام بده
دقت کنید که این کلمات دقیقا باید منطبق بر اصول برنامه نویسی زبان اسمبلی باشه درغیر این صورت خطا صادر میشه
زبان های برنامه نویسی معمولی
بعد از اینکه زبان اسمبلی اختراع شد برنامه نویس با آن باز هم سخت و پیچیده تر بود ، استفاده مجدد بخشی از کدها وجود نداشت ، شرط گذاری سخت بود و خیلی پیچیدگی های دیگری وجود داشت
همین باعث شد تا دانشمندان کامپیوتر دست به کار شوند و زبان های سطح بالاتری نسبت به اسمبلی را بسازند که راحت تر و امکانات بیشتری نسبت به اسمبلی در اختیار برنامه نویسان بزاره
و اینجا بود که زبان های برنامه نویسی سطح پایین مثل سی و سی پلاس پلاس ساخته شده
سپس همین زبان ها نیز راحت تر شدند و در قالب زبان های سطح بالا مثل جاوا ، پایتون ، سی شارپ ، کاتلین ، پی اچ پی و ... ظاهر شدند
در این حالت شما یک زبان برنامه نویسی کاملا خوانا و نزدیک به زبان انگلیسی دارید و خیلی راحت کدنویسی میکنید . کدهای شما توسط یک کامپایلر یا یک مفسر به ماشین زبان ترجمه میشود و ماشین متوجه میشود شما چه چیزی نوشته اید.
چطوری برنامه نویسی را درک کنیم؟
برای اینکه برنامه نویس خوبی باشید باید این مبانی را کامل درک کنید و در این صورت هیچ مشکلی نیست که شما نتوانید حل کنید و به سرعت پروژه های برنامه نویسی را جلو میبرید
اما اگر درک درستی از برنامه نویسی نداشته باشید یا از دوره ی درک برنامه نویسی کسی استفاده کنید که شما را بیشتر گمراه کند ، ممکن است مدت های زیادی سردرگم شوید و مطالب برنامه نویسی برای شما گنگ باشد و تعجب کنید که چرا موفق نمیشوید.
بهترین دوره برای درک برنامه نویسی و یادگیری آن دوره ی 12 قدم شروع برنامه نویسی استاد نیکزاد میباشد. حتما در گوگل جستجو کنید و اگر قصد دارید برنامه نویسی را قوی شروع کنید و کامل درک کنید از این دوره ی خوب استفاده کنید.
ربات تلگرامی یکی از عالی ترین امکانات پیام رسان تلگرام هست که به کاربران اجازه میدهد درون تلگرام با استفاده از ربات ها با کاربران خود در تعامل باشند. ربات ها میتوانند هر نوع وظیفه ای که برای آن برنامه نویسی شده باشند را انجام دهند.
با استفاده از ربات تلگرامی میتوانید فروشگاه آنلاین بسازید یا میتوانید یک برنامه ی فال یا یک مدیر برای گروه یا کانال خود بسازید که کارهایی را انجام دهد.
ما در تلگرام دو نوع ربات داریم :
ربات خام و برنامه نویسی نشده
ربات برنامه نویسی شده و دارای مغز
گزینه ی اول ربات هایی هست که توسط ربات @botfather به تازگی ساخته شده اند و هیچ هسته و عملکردی ندارند ، این نوع ربات ها فقط تصویر پروفایل ، عنوان ، توضیحات مختصری دارند ولی هیچ عملکری از خود نشان نمیدهند و به هیچ دستوری پاسخگو نیستند.
گزینه ی دوم ربات هایی هستند که تکمیل شده ی نوع 1 هستند برای آنها مغز نوشته شده و هوشمند هستند میتوانند به دستوراتی که تعریف شده پاسخ مناسب بدهند و در کل هرچیزی که یک برنامه نویس ربات تلگرامی در مغز آن گنجانده باشد را میتواند به نحوه عالی انجام دهد.
چگونه یک ربات تلگرامی را برنامه نویسی کنیم ؟
برای اینکه بتوانیم یک ربات تلگرامی را برنامه نویسی کنیم باید یک زبان سمت سرور بلد باشیم و یک هاست یا سرور مجازی تهیه کنیم. هسته ی ربات توسط یکی از زبان های برنامه نویسی سمت سرور توسط خود ما باید نوشته و به ربات خام متصل شود همچنین وظیفه ی نگهداری از اطلاعات و کدهای مربوط به ربات برعهده ی خود ما میباشد نه تلگرام.
زبان های برنامه نویسی مناسب برای ساختن ربات های تلگرامی زبان های زیر هستند :
پی اچ پی ( PHP )
پایتون ( PYTHON )
نود جی اس ( NODE.JS )
دات نت
جاوا
و هر زبانی که سمت سرور قابل اجراست.
وقتی یک سورس کدی در سمت سرور اجرا میشود طبیعتا دیتابیس یا پایگاه اطلاعاتی هم در همان سرور ذخیره سازی میشود.
آموزش گام به گام ساختن یک ربات تلگرامی خام
در این جا به شما بصورت گام به گام آموزش میدم که چطور یک ربات تلگرامی ساده و خام را با استفاده از بات فادر بسازید و توضیحات تصویر پروفایل و عنوان برای آن انتخاب کنید.
ابتدا تلگرام خود را باز کنید و جایی این آیدی را بنویسید تا بصورت لینک در بیاید : @botfather
بعد از اینکه روی آیدی بالا زدید یک ربات به اسم BothFather شبیه به تصویر زیر برای شما بالا می آید :
حالا میتوانید به این ربات با گزینه ی SEND MESSAGE پیام بدهید و اگر عبارت start را بزنید ربات شروع به کار میکند و میتوانید ربات جدیدی بسازید. برای ساختن ربات جدید روی دستور newbot طبق تصویر زیر بزنید :
بعد از زدن روی گزینه ی newbot از شما اطلاعات اولیه ربات خاسته میشود که بایستی تکمیل کنید. در ابتدا باید یک نام برای ربات خود انتخاب کنید مثلا ربات فروشگاهی و سپس باید یک آیدی برای ربات خود انتخاب کنید که با عبارت bot تمام شود. طبق تصویر زیر :
در تصویر بالا ابتدا نام ربات که میتواند کلمات فارسی نیز باشد وارد شده و سپس آیدی ربات که باید حتما با bot تمام شود انتخاب شده که ما اینجا نام ربات را shopeman_bot انتخاب کردیم هر وقت اول این آیدی @ قرار دهید و جایی بنویسید به ربات لینک میشود و با زدن روی آن ربات بالا می آید.
همچنین در تصویر بالا یک عدد توکن که شامل حرف و عدد هست نمایش داده شده از این توکن برای برنامه نویسی مغز ربات استفاده خواهیم کرد این پل ارتباطی بین اسکریپت شما و ربات خام تلگرامی خواهد بود.
خب حالا میتونیم جزئیات بیشتری به رباتمون از طریق همین بات فادر اضافه کنیم . کافیه روی Menu بزنیم و سپس گزینه ی my bots رو بزنیم تا لیست ربات های از پیش ساخته شده ی مارو نشون بده و یکی از اونا رو انتخاب کنیم:
بعد از اینکه نام ربات خود را انتخاب کردید چند دکمه ی شیشه ای به شما نمایش داده میشود که یکی از انها edit bot هست و ما به این نیاز داریم
بعد از زدن دکمه ی Edit Bot شما میتوانید گزینه های زیر را داشته باشید که هرکدام کار خاصی را برای شما انجام میدهد :
Edit Name برای تغییر نام ربات
Edit About برای تغییر متن بایو یا همان متن روی ربات
Edit Description برای تغییر متنی که در هنگام باز کردن ربات در وسط صفحه نمایش داده میشود
Edit Description Picture برای تغییر عکس مربوط به اولین بازدید از ربات که بالای توضیحات نمایش داده میشود
Edit Bot Pic برای تغییر عکس پروفایل ربات
Edit Commands برای تغییر لیست دستورات موجود برای ربات
در تصویر زیر دکمه های بالا که عملکرد هرکدوم رو توضیح دادم میبینید :
با آموزش بالا شما میتوانید یک ربات تلگرامی کاملا خام و اماده داشته باشید . این ربات عکس پروفایل دارد توضیحات دارد آیدی و عنوان دارد ولی هیچ عملکردی ندارد یعنی هرچقدر دستور بدهید هیچ کاری نمیکند چون هنوز برنامه نویسی نشده و بهش نگفتیم که چه کارها و وظایفی رو باید انجام بدهی
اینا رو چطوری به ربات میگن ؟ در ادامه به این موضوع خواهیم پرداخت.
آموزش برنامه نویسی ربات تلگرامی
همانطور که در بالا مشاهده کردید یک ربات تلگرامی کاملا خام ساختیم و آماده ی برنامه نویسی است. برای برنامه نویسی یک ربات تلگرامی به چند چیز نیاز داریم که باید ابتدا آنها را فراهم کنیم :
یک هاست یا سرور مجازی که درون آن کدهای اسکریپت ربات را قرار بدهیم
یک دامنه
یک ربات خام که با بات فادر ساخته شده باشه و توکن آن هم در دسترس باشه
دانش برنامه نویسی یکی از زبان های سمت سرور
شما باید تخصص برنامه نویسی یکی از زبان های سمت سرور را داشته باشید که البته محبوب ترین آنها پی اچ پی ( php ) و سپس زبان پایتون میباشد.
ابتدا باید آموزش برنامه نویسی ربات تلگرام با پی اچ پی را طی کنید و سپس هسته ی ربات خود را براساس نیازمندی های خود بسازید و در هاست یا سرور مجازی قرار دهید چون وظیفه ی نگهداری از کدهای مربوط به ربات برعهده ی خودتان هست و جایی باید آنها را به اجرا در بیاورید.
ربات های تلگرامی اکثرا با چه چیزی ساخته میشوند ؟
شاید این سوال براتون پیش اومده باشه که بیشتر ربات های تلگرامی با چه زبان برنامه نویسی ساخته میشوند؟ به دلیل محبوبیت و راحت بودن پیاده سازی زبان برنامه نویسی پی اچ پی ( PHP ) بیشتر ربات های تلگرامی با زبان برنامه نویسی پی اچ پی ساخته میشن ولی زبان برنامه نویسی پایتون هم به خاطر راحتی و داشتن کتابخانه های کمکی فراوان برای برنامه نویسی ربات های تلگرامی از محبوبیت بالایی برخورداره
اگر میخوائید بدونید عملکرد ربات و ارتباطات اون چطوریه و یه دید کلی نسبت به برنامه نویسی ربات تلگرامی داشته باشید این ویدیو در آپارات را تماشا کنید :