روزمرگی های یک کُد نویس

روزمرگی های یک کُد نویس

سلام من در این وبلاگ تجربیات و مطالب مفید درباره ی رشته ی کامپیوتر و شغل برنامه نویسی با شما به اشتراک خواهم گذاشت
روزمرگی های یک کُد نویس

روزمرگی های یک کُد نویس

سلام من در این وبلاگ تجربیات و مطالب مفید درباره ی رشته ی کامپیوتر و شغل برنامه نویسی با شما به اشتراک خواهم گذاشت

چطوری یه ربات تلگرام با PHP برنامه نویسی کنیم

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

چطور یک ربات تلگرامی را برنامه نویسی کنیم ؟


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

دو نوع ربات تلگرامی داریم ، ربات خام و ربات برنامه نویسی شده که به توضیح هرکدام بصورت جدا میپردازیم.
ربات خام در واقع ابتدایی ترین حالت یک ربات تلگرامی است که توسط ربات پدر یا botfather ساخته میشود ، برای ساختن یک ربات خام شما باید به رباتی در تلگرام مراجعه کنید با آیدی @botfather و بعد از استارت زدن آن درون دستورات به دنبال new robot بگردید و ربات را بسازید.


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


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


چطور با زبان PHP یک ربات تلگرامی کامل بسازیم ؟


حالا که تفاوت بین ربات خام و ربات کدنویسی شده را فهمیدیم وقت آن رسیده که چگونگی برنامه نویسی یا ساختن یک ربات کامل با زبان برنامه نویسی پی اچ پی ( PHP ) بررسی کنیم پس بریم تو کارش ...


قبل از هرچیزی شما باید لیست زیر را جهت ساختن یک ربات تهیه کنید : 


  1. یک دامنه ی اینترنتی ( مثلا google.com )
  2. یک هاست یا سرور مجازی مخصوص php که حتما خارج از ایران باشه
  3. یک اسکریپت ربات تلگرامی ( یا خودتان یک اسکریپت ربات را باید بنویسید )
  4. یک اکانت تلگرامی و ساخت ربات خام با استفاده از بات فادر ( botfather )


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


1 - شما ربات را استارت میکنید ، یا دکمه ای را درون ربات فشار میدهید یا پیامی را میفرستید ، اصطلاحا ربات را وادار به پاسخگویی میکنید.


2 - یک پیامی از سمت ربات به سمت سرورهای تلگرام ارسال میشود و درخواست شما را به آنجا میفرستد.


3 - سرورهای تلگرامی میفهمند که پاسخ متناسب را باید از هاست یا سرور مجازی شما بگیرند که اسکریپت شما آنجا هست.


4 - سرور تلگرامی واسطه میباشد ، پاسخ را از هاست یا سرور مجازی شما میگیرد و به ربات تلگرامی تحویل میدهد.


5 - ربات تلگرامی بروزرسانی میشود و نتیجه را به کاربر درون تلگرام نمایش میدهد.


اگر بخواهیم مراحل بالا را بصورت تصویری ببینیم به شکل زیر است : 

نحوه ی کار کردن ربات های تلگرامی


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

جلسه ی اول : 

https://www.aparat.com/v/n617ov9

جلسه ی دوم : 

https://www.aparat.com/v/c1133j2


موفق باشین



پنج زبان برنامه نویسی برای backend

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

برنامه نویسی backend در حیطه ی کاری وب هست ، برنامه نویسی وب به دو دسته بندی کلی backend به معنی سمت سرور و frontend به معنی سمت کلاینت یا کاربر تقسیم بندی میشود.


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


بهترین زبان های برنامه نویسی برای بک اند ( backend )


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

  • پی اچ پی == PHP
  • پایتون == Python
  • گولنگ == Golang
  • جاوااسکریپت در محیط نود جی اس == Node.js
  • جاوا == Java

چرا پی اچ پی یاد بگیریم ؟


پی اچ پی یک زبان برنامه نویسی برای وب در قسمت بک اند یا سمت سرور هست. با پی اچ پی میتوانید هر نوع وب سایتی را بسازید. سایت های بزرگ دنیا از PHP استفاده میکنند اما دلایلی که در زیر آورده ام شمارا ترغیب میکند که پی اچ پی یاد بگیرید :

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


زبان پی اچ پی برای برنامه نویسی بک اند یا سمت سرور


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


چرا پایتون برای backend خوب است؟


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

فریمورک های معروفی همچون جنگو ، فلسک و fast api برای برنامه نویسی انواع وب سایت های پیشرفته و حرفه ای مناسب است.


زبان پایتون برای برنامه نویسی سمت سرور یا backend

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


چرا گولنگ را برای برنامه نویسی وب یاد بگیریم ؟


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

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

همچنین این زبان یک زبان ایستا شبیه به سی و سی پلاس پلاس میباشد.


زبان برنامه نویسی گولنگ ( golang ) برای برنامه نویسی بک اند

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

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


چرا نود جی اس را برای برنامه نویسی بک اند انتخاب کنیم؟


نود جی اس برپایه ی زبان برنامه نویسی جاوااسکریپته ، در واقع نود جی اس یک محیط اجرایی یا runtime هست که به شما اجازه میده با زبان برنامه نویسی javascript در سمت بک اند ، برنامه نویسی وب انجام بدهید.

هدف اصلی بوجود آمدن نود جی اس کنترل ترافیک های بالا در وب ، پروژه های آنی یا realtime و سرعت پاسخگویی بالا بوده است.

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


نود جی اس برای برنامه نویسی سمت سرور

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


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


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

این زبان برنامه نویسی در سمت سرور یا backend نیز قابل استفاده است و با تخصص جاوا میتوانید انواع وب سایت ها را در زمینه های مختلف بسازید.

زبان برنامه نویسی جاوا یا java برای برنامه نویسی وب

زبان جاوا نیز همانند زبان های پی اچ پی و پایتون ، برای دنیای وب فریمورک های کمکی زیادی دارد که شما بعنوان برنامه نویس جاوا باید یکی از این فریمورک ها را یاد بگیرید تا بتوانید در حیطه ی برنامه نویسی بک اند یا سمت سرور کار کنید. معروف ترین فریمورک های جاوا برای برنامه نویسی وب Spring Boot , Hibernate و ... میباشد.


زبان ماشین ، اسمبلی و زبان های برنامه نویسی

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

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

در کل زبان های برنامه نویسی دنیا به سه دسته بندی تقسیم میشه که اگه این سه دسته بندی رو درک کنیم کامل میتونیم بفهمیم که چه اتفاقی در سطوح پایین برای اجرای یک پروژه ی برنامه نویسی میوفته :


  1. زبان ماشین
  2. زبان اسمبلی
  3. زبان های برنامه نویسی سطح پایین بالا و ...

زبان ماشین چیست ؟


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

گوشی موبایل هوشمند

ساعت دیجیتالی

تلویزیون های اسمارت

کامپیوتر یا لپتاپ

همه از این دسته هستند و اگه گفتیم ماشین منظور یه چنین دستگاه هایی هست.

اینا همشون قابل برنامه ریزی هستن یعنی ما بعنوان انسان میتونیم بهشون دستور بدیم و بگیم چیکار بکن

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

زبان ماشین متشکل از اعداده و شما بخای با این دستگاه ها صحبت کنید باید با زبان خود اون ماشین که ترکیبی از اعداد هست صحبت کنی

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


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

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


زبان اسمبلی چیست ؟


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

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

اسم اون مترجم هم باشه اسمبلر

زبان برنامه نویسی اسمبلی چطوری کار میکند

اینجا اسمبلر وظیفه داره که کلمات انگلیسی که برنامه نویس نوشته را به زبان ماشین تبدیل کنه و به ماشین تحویل بده در این صورت ماشین میفهمه که چه کاری باید انجام بده

دقت کنید که این کلمات دقیقا باید منطبق بر اصول برنامه نویسی زبان اسمبلی باشه درغیر این صورت خطا صادر میشه


زبان های برنامه نویسی معمولی


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

همین باعث شد تا دانشمندان کامپیوتر دست به کار شوند و زبان های سطح بالاتری نسبت به اسمبلی را بسازند که راحت تر و امکانات بیشتری نسبت به اسمبلی در اختیار برنامه نویسان بزاره

و اینجا بود که زبان های برنامه نویسی سطح پایین مثل سی و سی پلاس پلاس ساخته شده

سپس همین زبان ها نیز راحت تر شدند و در قالب زبان های سطح بالا مثل جاوا ، پایتون ، سی شارپ ، کاتلین ، پی اچ پی و ... ظاهر شدند

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


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


چطوری برنامه نویسی را درک کنیم؟


برای اینکه برنامه نویس خوبی باشید باید این مبانی را کامل درک کنید و در این صورت هیچ مشکلی نیست که شما نتوانید حل کنید و به سرعت پروژه های برنامه نویسی را جلو میبرید

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

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