اگه به برنامه نویسی علاقه دارین شاید توجه به اتفاقاتی که در سطح پایین میوفته هم براتون جالب باشه و هم آموزنده
برای خود من سوال بود که چطور یک پروژه که توسط برنامه نویس نوشته میشه به اجرا در میاد ، حالا ممکنه این پروژه یه اپ موبایل باشه و روی موبایل اجرا شه یا یه سایت باشه توسط سرور اجرا شه هیچ فرقی ندارن یه سری اصول و منطق هایی پشت ماجرا هست که اگه درک کنید کلی در برنامه نویسی پیشرفت میکنید.
در کل زبان های برنامه نویسی دنیا به سه دسته بندی تقسیم میشه که اگه این سه دسته بندی رو درک کنیم کامل میتونیم بفهمیم که چه اتفاقی در سطوح پایین برای اجرای یک پروژه ی برنامه نویسی میوفته :
زبان ماشین
زبان اسمبلی
زبان های برنامه نویسی سطح پایین بالا و ...
زبان ماشین چیست ؟
ماشین در اینجا به هر دستگاهی اشاره میشه که قابلیت پردازش داره ، یا بهتره بگیم درون خودش یک 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 ) بیشتر ربات های تلگرامی با زبان برنامه نویسی پی اچ پی ساخته میشن ولی زبان برنامه نویسی پایتون هم به خاطر راحتی و داشتن کتابخانه های کمکی فراوان برای برنامه نویسی ربات های تلگرامی از محبوبیت بالایی برخورداره
اگر میخوائید بدونید عملکرد ربات و ارتباطات اون چطوریه و یه دید کلی نسبت به برنامه نویسی ربات تلگرامی داشته باشید این ویدیو در آپارات را تماشا کنید :
اگه این مقاله رو میخونید به احتمال زیاد دنبال یاد گرفتن برنامه نویسی هستی و به احتمال زیاد هم به برنامه نویسی بعنوان یه شغل نگاه میکنی من میخام در این نوشته کامل شما رو راهنمایی کنم که بدونید چطور میتونید یک برنامه نویس و البته برنامه نویس موفقی بشید کافیه این مقاله را با حوصله تا انتها مطالعه کنید.
در این نوشته بطور خلاصه مورد های زیر را نوشته ام :
برنامه نویسی چیست و برنامه نویس کیست ؟
یادگیری برنامه نویسی را از کجا شروع کنیم ؟
چطور وارد بازار کار برنامه نویسی شویم ؟ مقایسه حقوق برنامه نویسی و ...
مزایای برنامه نویسی نسبت به دیگر شغل ها چیست ؟
برنامه نویسی چیست و برنامه نویس کیست ؟
به زبان ساده ، برنامه نویسی یعنی نوشتن کدهایی که منجر به تولید یک نرم افزار ، سایت ، اپلیکیشن ، گیم یا هرچیز مشابه دیگر شود. کد چیه ؟ کد ها در واقع همان زبان برنامه نویسی هستند که شما با آن میتوانید به کامپیوتر بفهمانید منظور شما چیست و انتظار دارین چه کاری انجام بگیره
یک مثال ساده :
اپ موبایل در نظر بگیرید که میخواهید صفحه ی ثبت نام داشته باشد ، در این صفحه باید چند ورودی از کاربر بگیرید که شامل نام ، نام خانوادگی و ... باشد شما باید با کد اینها را تعریف کنید و برای هر اقدام بعدی هم با کدنویسی بگویید که موبایل چه کاری برای شما انجام دهد.
موبایل خود یک نوعی کامپیوتر کوچک است وقتی من میگم کامپیوتر منظورم تمام دستگاه هایی هست که توانایی پردازش اطلاعات دارن مثل موبایل ، تلویزیون هوشمند و حتی یک ماشین لباسشویی که هوشمند و قابل برنامه ریزی است...
برنامه نویس کسی هست که مهارت کدنویسی را یاد میگیره و این کدها را مینویسه تا کامپیوتر متوجه شه چیکار باید بکنه ، تمام اینها رو هم جمع شده و یک محصول نهایی تولید میشود.
برای نوشتن یک سایت فروشگاهی ممکن است نیاز باشه شما چند هزار خط کد بنویسید
یا برای نوشتن یه اپلیکیشن خدماتی ممکنه نیاز باشه شما هزار خط کد بنویسید
کدها به زبان برنامه نویسی نوشته میشن که هر حیطه ای زبان برنامه نویسی مخصوص خودش را داره
برای شروع و آشنایی اسم چند زبان برنامه نویسی را در زیر اورده ام که بهتر است در ذهن داشته باشید :
سی پلاس پلاس
پایتون
کاتلین
پی اچ پی
جاوا
جاوااسکریپت
سی شارپ
برنامه نویسی به حوزه های مختلفی تقسیم بندی میشه و شما براساس علاقه ی خود باید یکی را انتخاب کنید و وارد آن حوزه شوید ، زیرا هر حوزه ابزارهای خاص خود و زبان های برنامه نویسی خاص خود را دارد و شما باید دقیقا آنها را یاد بگیرید نه چیزی بیشتر نه چیزی کمتر. در لیست زیر حوزه های مختلف برنامه نویسی را آورده ام :
برنامه نویسی وب
برنامه نویسی موبایل
بازیسازی
هوش مصنوعی
هک و امنیت
برنامه نویسی نرم افزار دسکتاپ
علوم داده
برنامه نویسی میکروپروسسور و رباتیک
برنامه نویسی شبکه
و ...
برای اینکه بفهمید دقیقا چه زبانی مناسب کدام حیطه ی برنامه نویسی است ویدیو زیر را ببینید
بعد از دیدن ویدیو بالا شما میدونید که کدوم زبان یا زبان ها را باید انتخاب کنید بعد باید برید سراغ یادگیری همون زبان ها و کم کم تخصص اون حوزه را کسب کنید.
یادگیری برنامه نویسی را از کجا شروع کنیم ؟
برای شروع برنامه نویسی بهتر است از یک زبان خوب و کامل مثل سی پلاس پلاس شروع کنید ، از کتاب های آموزشی ، دوره های آموزشی آنلاین و ویدیو کلیپ های آموزشی که در سایت هایی مثل یوتیوب ، آپارات و ... منتشر میشود استفاده کنید. در شروع برنامه نویسی بهتر است مفاهیم پایه ای مثل متغیر ها ، شرط ها ، حلقه ها ، توابع و ... را کامل یاد بگیرید زیرا این مباحث مبنای اصلی زبان های برنامه نویسی هستند و تقریبا در هر زبان برنامه نویسی وجود دارند.
توجه کنید که در یادگیری برنامه نویسی ، مهمترین قسمت یادگیری اصول برنامه نویسی و منطق آن هست خود زبان زیاد مهم نیست.
و اینکه بهتر است ویدیو زیر را هم ببینید :
برنامه نویسی چیزیست که با تکرار و تمرین مداوم بدست میاد سعی کنید در شروع کار پروژه های کوچک انجام بدید و رفته رفته آنها را بزرگ کنید تا مهارت برنامه نویسیتون آرام آرام شکل بگیره
در ادامه ی مسیر برنامه نویسی بهتر است در اجتماع برنامه نویسان باشید و انجمن های مختلف برنامه نویسی شرکت کنید مثل انجمن استک اورفلو ( stackoverflow ) و ...
کلید موفقیت در برنامه نویسی به نظر من استمرار است استمرار در هرچیزی استمرار در یادگیری استمرار در کار کردن استمرار در حل مسائل و مشکلات و ... باعث میشود که نتیجه ی کار برای شما راضی کننده باشد.
شرکت در دوره ی آموزشی جامع و کامل در ابتدای کار خیلی مهمه و خیلی شما را جلو میندازه پس دنبال یک دوره ی آموزشی خوبی باشید تا با استفاده از آن بتوانید وارد دنیای برنامه نویسی باشید البته دوره ای که برای شروع انتخاب میکنید بهتر است شامل مبانی برنامه نویسی هم باشه مثل دوره ی ۱۲ قدم شروع برنامه نویسی که برای خود من در شروع برنامه نویسی عالی بوده.
چطور وارد بازار کار برنامه نویسی شویم ؟ بررسی حقوق و مزایا
بعد از اینکه آموزش برنامه نویسی را تمام کردید و چند پروژه ی بصورت تمرینی انجام دادید نوبت آن رسیده است که وارد بازار کار شوید مراحلی که در زیر برای شما آوردم حاصل تجربیات خودمه و صد در صد به شما کمک میکنه تا وارد بازار کار برنامه نویسی شوید.
برنامه نویسی یکی از پردرآمدترین و دردسترس ترین شغل هاست ، ولی اینم شرط داره شرطش اینه که شما واقعا یک تخصصی در یکی از حوزه های برنامه نویسی کسب کنید ، نمونه کارهای قوی داشته باشید و متعهدانه کارکنید. در این صورت است که شما میتونید از برنامه نویسی پول دربیارید
بصورت کلی شغل های برنامه نویسی دو دسته ان :
دورکاری
حضوری
برنامه نویسی شغلیه که تو اینترنت هست و بخاطر همین تمایل به دورکاری داخلش زیاده و بخاطر همین مهم نیس شما کدوم شهر یا منطقه زندگی کنین به راحتی میتونید شغلی داشته باشین و کسب درآمد کنین کافیه یه لپتاپ داشته باشید و یه اینترنت
بعضیا که برنامه نویسیو شروع میکنن ، نمیتونند پروژه بگیرند این به معنی این نیست که پروژه نباشه ، مشکل اینه که نمیدونند چطوری باید پروژه رو بگیرن !
برای حل این مشکلم کارآموزی بصورت حضوری پیشنهاد میشه وقتی شما در محیط یه شرکت باشید که دو سه تا برنامه نویس رو ببینید سرعت پیشرفت شما را چندین برابر زیاد تر میکنه ، پس سعی کنید جایی پیدا کنید تا کارآموز باشید
مدت کارآموزی بین سه تا شش ماهه و معمولا هم نباید انتظار حقوق یا مزایا از سمت مدیر اون شرکت داشته باشین
بعد از طی کردن این مدت زمان بازار کار تقریبا دستتون میاد و بصورت دورکاری هم خیلی راحت میتونین کار کنین
برنامه نویسانی که بتونن از تخصص خود برای ایجاد کسب و کار شخصی خودشون استفاده کنن و اونو به درآمد برسونن از همه جلوتر هستن و درآمد بیشتری ام دارن ، سعی کنید تو این دسته بندی باشید
اگه از من بپرسید شغل برنامه نویسی نسبت به پزشکی راحت تره یا سخت تر قطعا میگم راحت تره ! فکر کنید شما پزشک متخصص هستید و باید روزانه با کلی آدم سر و کله بزنید زحمت و زمان خیلی زیادی هم میخاد استرس بالایی ام داره ولی برنامه نویسی خودت هستی و پروژت ! تکمیل که کردی پولت دستت میرسه
از نظر درآمد شاید پزشکی ابتدا بهتر باشه چون برای یه متخصص خوب همیشه کار و پول هست ولی برای برنامه نویس مبتدی ممکنه اولش هیچ درآمدی نباشه و باید مدت ها روی مهارت هاش کار کنه ولی اگه برنامه نویس پروژه هاشو عملی بکنه به نظرم درآمدش بعدا خیلی بیشتر از یه متخصص خواهد بود.
شخصیو میشناسم که اپلیکیشن مینویسه و در مارکت کافه بازار منتشر میکنه میزان درآمدش در ماه بین 200 تا 300 میلیون تومان متغیره
شخصی ام هست که استخدام یک شرکت استارتاپی هست بعنوان برنامه نویس لاراول و ماهانه حقوق ثابت 60 میلیون تومان میگیره
قطعا میانگین حقوق برنامه نویسی رو میتونید موارد بالا در نظر داشته باشید ولی خب میتونید مبالغ بیشتری ام کسب کنید و این بستگی به هوش و ذکاوت خودتون داره
برخی نمونه حقوق های برنامه نویسان را مشاهده کنید البته حقوق برنامه نویسان قطعا خیلی بیشتر از این اگهی ها میباشد و اینا فقط برای افرادی هست که متخصص یک حوزه ی خاص هستند و البته برنامه نویسی که حقوق ثابت میگیرد داستان درآمدش به همینجا ختم نمیشود بعد از کار در اداره میتواند پروژه های برنامه نویسی هم بگیرد و حقوق خود را مرتبا افزایش دهد.
خب حالا که به انتهای این نوشته رسیدی میخام ببینم قصد داری برنامه نویس بشی یا نه ؟ دنیای برنامه نویسی رشته ای آینده داره ، هر روز به تعداد افرادی که از تکنولوژی استفاده میکنن اضافه میشه
تا حالا دیدید مثلا تعداد گوشی هایی که فروش میره کمتر بشه
یا تعداد کاربرای اینترنت کم بشه ؟
این آمارها همیشه در حال بیشتر شدنه چون جهان در حال حرکت به سمت تکنولوژیه و این تکنولوژی رو برنامه نویسا میسازن
سلام دوستان! اگر میخواهید یک توسعهدهنده بهتر شوید و به دنبال چند نکته کاربردی هستید، جای درستی آمدهاید. در گذشته نقشههای راه زیادی را مثل نقشه راه توسعهدهنده جاوا در سال ۲۰۲۴، نقشه راه توسعهدهنده وب، نقشه راه مهندس DevOps، و نقشه راه توسعهدهنده React.js را به اشتراک گذاشتهام. در این مقاله قصد دارم چند نکته عملی برای تبدیل شدن به یک توسعهدهنده بهتر و همهجانبه در سال ۲۰۲۴ با شما به اشتراک بگذارم.
بسیاری از توسعهدهندگان جاوا از من میپرسند چطور میتوانم یک برنامهنویس بهتر شوم؟ چطور میتوانم مهارتهای برنامهنویسی خود را ارتقا دهم؟ یا مثلاً میگویند من در جاوا خوب هستم ولی توانایی حل مسئله من چندان قوی نیست و غیره.
این واقعیتی است که در دوران امروز بیشتر شاهد حضور متخصصان زبانهای برنامهنویسی هستیم تا برنامهنویسان واقعی. فهمیدن کلمات کلیدی، متدها و APIهای زبان برنامهنویسی جاوا آسان است.
اما در عین حال، حل مسائل عملی، طراحی نرمافزارهای قابل استفاده مجدد و مقاوم، و استفاده بهینه از ساختارهای داده و الگوریتمها چالشبرانگیز است.
من اغلب دیدهام که برنامهنویسان جاوا در مواقعی که از آنها خواسته میشود در زمان محدود یک راهحل طراحی و کدنویسی کنند، چندان خوب عمل نمیکنند، اما در عین حال در مفاهیم و تئوریهای جاوا بسیار مهارت دارند.
10 نکته برای تبدیل شدن به یک برنامهنویس و توسعهدهنده نرمافزار بهتر در سال 2024
برای اینکه یک برنامهنویس بهتر شوید، باید در زمینههایی مثل ساختار دادهها، الگوریتمها، طراحی با استفاده از اصول شیءگرایی (OOP)، چندنخی (multi-threading)، و مفاهیم مختلف برنامهنویسی مثل بازگشت (Recursion)، تقسیم و غلبه (divide and conquer)، نمونهسازی (prototyping) و تست واحد (unit testing) مهارت داشته باشید. برنامهنویسی ترکیبی از مهارتهای مختلف است، بنابراین نمیتوان آن را در زمان کوتاهی یاد گرفت؛ بلکه با گذشت زمان و کسب تجربه به دست میآید، اما این اتفاق خود به خود نمیافتد.
شما میتوانید پنج سال در شغل برنامهنویسی جاوا کار کنید بدون اینکه تبدیل به یک برنامهنویس خوب شوید. چون بیشتر مصاحبههای شغلی جاوا بر تئوری تمرکز دارند نه بر مهارتهای برنامهنویسی و کدنویسی.
بسیاری از برنامهنویسان این مهارتهای ضروری برنامهنویسی را تمرین نمیکنند. اگر تست حل مسئله برنامهنویسی به عنوان یک الزام بود، مطمئنم که برنامهنویسان متوسط عملکرد بهتری داشتند. به هر حال، این لیست من از چیزهایی است که میتواند به شما کمک کند تا یک برنامهنویس خوب شوید.
1 - کدنویسی کدنویسی کدنویسی
چرا کدنویسی را در بالای این فهرست قرار دادهام؟ چون این بخش هم دشوارترین و هم اصلیترین بخش برنامهنویسی است.
با کدنویسی، شما به اشتباهات خود در طراحی، مدیریت خطاها، و چندنخی (threading) پی میبرید و سپس به آن مهارتها بازمیگردید تا آنها را بهبود دهید. شما نمیتوانید تنها بر روی طراحی کار کنید؛ کدنویسی خروجی ایجاد میکند که برای یادگیری و موفقیت حیاتی است.
راستی، بعد از حل مسئله متوقف نشوید؛ همیشه بهتر است اولین راهحل خود را کنار بگذارید. آن فقط یک نمونه اولیه است؛ راهحل بعدی شما باید مشکلات و نیازهای نادیدهای را که در هنگام ساخت نمونه اولیه کشف کردهاید، برطرف کند.
همچنین میتوانید دوره "Clean Code" توسط Maximillian Schwarzmuller برای توسعهدهندگان جاوا اسکریپت و دوره "Clean Code with Java: Learn Simple Design, Refactoring & TDD" برای توسعهدهندگان جاوا را بررسی کنید تا بیشتر در مورد نوشتن کدی با کیفیت تولیدی که بتواند در برابر گذر زمان مقاوم باشد، یاد بگیرید.
2- کتاب بخوانید
کدنویسی گفتنش آسانتر از انجام دادنش است، و تفاوت بزرگی بین کد خوب و کد بد وجود دارد. اما چطور میتوان این تفاوت را تشخیص داد؟ تا زمانی که یک کد خوب را ندیده باشید و ندانید چرا یک کد خاص خوب است، نمیتوانید این تفاوت را درک کنید.
اینجاست که کتابها به کمک میآیند؛ بیشتر اوقات، نویسندگان خودشان برنامهنویسان بزرگی هستند و تجربهشان را به شکل کتاب ارائه میدهند. من کتابها را دوست دارم، اما یکی از کتابهایی که به طور خاص به من کمک کرد، کتاب "Clean Code" اثر عمو باب بود.
با خواندن این کتاب، متوجه شدم که مرتباً مشکلاتی را در کد خود پیدا میکنم و هر از گاهی توصیههای دادهشده در این کتاب را به کار میبرم. توصیه من این است که اگر با چنین کتابهایی روبرو شدید، حتماً آنها را بخوانید. همچنین پیشنهاد میکنم این کتابهای کلاسیک را چندین بار بخوانید و هر از گاهی به آنها مراجعه کنید.
کتاب دیگری که مشابه این است، Effective Java نوشته جاشوا بلاچ است که پر از توصیههای خوب است. همچنین با خواندن کتابها، از تجربه دیگران یاد میگیرید، و فقط دو راه برای بهبود خودتان وجود دارد: یا از تجربه خودتان یاد بگیرید (که بسیار محدود است) یا از تجربه دیگران (که نامحدود است).
به یاد داشته باشید که بیشتر همیشه بهتر نیست. به جای خواندن ۵ کتاب، پیشنهاد میکنم دو کتابی را بخوانید که از خواندن چندباره آنها لذت میبرید. این دو کتاب نیز از فهرست کتابهای ضروری من برای برنامهنویسان جاوا هستند.
3- تمرین مسائل مربوط به ساختار دادهها، الگوریتمها و طراحی سیستم
من فکر کردم که این مورد را به عنوان دومین آیتم قرار دهم، اما در نهایت سوم شد. به نظر من، این مهمترین کاری است که برای تبدیل شدن به یک برنامهنویس بهتر باید انجام دهید. بیشتر برنامهنویسان خوبی که دیدهام و با آنها آشنا شدهام، در زمینه ساختار دادهها، الگوریتمها و اصول پایهای علوم کامپیوتر بسیار مهارت دارند.
با یادگیری این موارد، میتوانید از امکانات موجود بهتر استفاده کنید. از آنجا که ساختار دادهها بخش کلیدی هر برنامهای است، داشتن دانش قوی در این زمینهها به شما در حل مسائل کمک میکند.
به همین ترتیب، آگاهی از اصول کلیدی برنامهنویسی، الگوریتمهای جستجو و مرتبسازی، و دیگر الگوریتمهای شناخته شده، مهارتهای برنامهنویسی شما را توسعه میدهد.
میتوانید در یک دوره جامع مثل "Data Structure and Algorithms: Deep Dive Using Java" شرکت کنید تا بیشتر با ساختارهای دادهای پایه، ویژگیهای آنها و زمان استفاده از آنها در برنامههای خود آشنا شوید. این یکی از بهترین دورههایی است که من در اینترنت پیدا کردهام.
و اگر مطالعه کتاب را بیشتر از دورههای آنلاین دوست دارید، میتوانید از این کتابها برای بهبود دانش خود در زمینه ساختار دادهها و الگوریتمها استفاده کنید.
یکی دیگر از موارد مهم برای تبدیل شدن به یک توسعهدهنده بهتر، یادگیری طراحی سیستم و معماری نرمافزار است. این چیزی است که میتواند تفاوت بین یک برنامهنویس با ۱۰ سال تجربه و یک برنامهنویس باتجربه را ایجاد کند.
شما باید با نحوه کار سیستمها، چگونگی همکاری بخشهای مختلف آنها، انواع مختلف معماریها مانند میکروسرویسها و مونولیت، مزایا و معایب آنها و غیره آشنا باشید.
اگر به منابعی نیاز دارید، من دوره "Grokking System Design Interview" را در وبسایت Educative به شدت توصیه میکنم. این دوره تعاملی و بخش دوم آن که درباره مسائل پیشرفته طراحی است، میتواند چیزهای مفیدی درباره طراحی و بهینهسازی سیستم به شما بیاموزد.
4- مشارکت در پروژههای اوپن سورس
مشارکت در کدهای متنباز، بهویژه از پروژههایی مانند Apache، Google و برخی پروژههای دیگر، روش دیگری برای بهبود مهارتهای برنامهنویسی و تبدیل شدن به یک برنامهنویس بهتر است. تنها عضویت در فهرست پستی آنها و دنبال کردن بحثها، به شما چیزهای زیادی میآموزد.
از آنجا که بیشتر بحثها بین برنامهنویسان خوب انجام میشود، گوش دادن به آنها و درک مشکلات، رویکردها، راهحلها و دیدگاههای آنها به طور خودکار عادتهای برنامهنویسی خوبی را در شما توسعه میدهد.
برای بهرهبرداری بیشتر از این فرصت، فقط به صورت غیرفعال ننشینید، سوال بپرسید، نظر خود را ارائه دهید و به نظر دیگران نیز ارزش قائل شوید. اگر میپرسید که چگونه با مشارکت در پروژههای متنباز شروع کنید، در اینجا مقالات خوبی از Medium برای یادگیری درباره مشارکت در پروژههای متنباز وجود دارد.
5- خواندن وبلاگهای خوب درباره ی برنامه نویسی
خواندن وبلاگهای خوب بخشی کوچک از خواندن کتابها است. چگونه خواندن وبلاگها میتواند به شما کمک کند تا برنامهنویس بهتری شوید؟ خب، واقعاً کمک میکند. از آنجا که وبلاگها معمولاً توسط خود برنامهنویسان نوشته میشوند و بیشتر آنها نظرات و تجربیات شخصی خود را به اشتراک میگذارند، معمولاً محتوای آنها برای شما مرتبط و مفید است.
علاوه بر این، وبلاگها اطلاعاتی مختصر و مفید ارائه میدهند که به راحتی قابل هضم است. وبلاگها همچنین به یادگیری فناوریهای جدید و ویژگیهای جدید زبانها و APIهای موجود کمک میکنند.
بارها پیش آمده که در یک پست وبلاگی کوتاه، نکات ظریف یا چیزهایی را از بخشی شناختهشده از جاوا که ممکن است از قلم افتاده باشد، دیدهام. وقتی به دنبال مقالات خوب توسعه هستم، ترجیح میدهم به وبسایتهایی مثل Dev.to، FreeCodeCamp و Medium، بهویژه نشریات متمرکز بر توسعهدهندگان، مراجعه کنم.
6- خواندن نمونه کدها
اگر خواندن وبلاگها به شما کمک میکند تا برنامهنویس بهتری شوید، خواندن کد حتی بیشتر از آن کمک میکند؛ اما در عین حال، خواندن وبلاگها آسان است و خواندن کد دشوارتر است. آیا مقاومت میبینید؟ پس باید آن را امتحان کنید.
به کد پروژههای متنباز، کد برنامهنویسان همکار، کدهای موجود در کدهای اختصاصی خود، کدهای SDK جاوا نگاه کنید و سعی کنید بفهمید چگونه کار میکنند؛ سعی کنید ببینید آنها چه کارهایی انجام میدهند و چرا این کارها را انجام میدهند.
الگوها را پیدا کنید، مهارتهای ناوبری را توسعه دهید؛ در ابتدا ممکن است این کار خستهکننده و دشوار به نظر برسد، اما با گذشت زمان حس کد خوبی پیدا خواهید کرد که به شما در شناسایی اشتباهات خود، پیدا کردن اشتباهات و کاستیها و بوی بد کد کمک میکند.
این حس کد یکی از نشانههای یک برنامهنویس بهتر است؛ آنها معمولاً به دنبال چیزهایی هستند که شما از دست دادهاید.
7- نوشتن تستهای واحد
تستهای واحد فرآیند تفکر و کدنویسی را تکمیل کرده و به شما کمک میکنند تا طراحی بهتری داشته باشید. هر چیزی که تست کردن آن دشوار باشد، فرصتی برای بهبود دارد. همچنین، نوشتن تستهای واحد در پیدا کردن نامهای بهتر، انتزاع بهتر، رابطهای بهتر، طراحی کلاسهای انتزاعی و به طور کلی بهبود کیفیت کد بسیار کمک میکند.
اما مانند کدنویسی و طراحی، تست واحد نیز برای برنامهنویسان متوسط کار دشواری است و شما مقاومت زیادی را در این زمینه خواهید دید. برخی از برنامهنویسان تستهای بیاهمیت مینویسند به جای اینکه به سناریوهای استفاده فکر کنند.
به یاد داشته باشید، هیچ چیزی نمیتواند جایگزین تفکر در فرآیند شود. پس از تحلیل، طراحی و توسعه، تست واحد فرصتی دیگر برای بررسی سناریوها و شکافهای موجود در کد شماست. این را به یک قاعده تبدیل کنید: همیشه برای کد خود تست واحد بنویسید.
اگر میخواهید تست واحد را در جاوا یاد بگیرید، پیشنهاد میکنم با JUnit و Mockito آشنا شوید، که دو فریمورک ضروری برای تست واحد در جاوا هستند. و اگر به دوره آموزشی نیاز دارید، پیشنهاد میکنم به دوره "JUnit 5 in 20 steps" از Ranga Karnan در Udemy بپیوندید.
اگر میخواهید مفاهیم پایه ای برنامه نویسی را بصورت کامل و اصولی درک کنید بهتر است یک دوره مثل دوره ی 12 قدم برنامه نویسی را طی کنید تا بتوانید منطق برنامه نویسی را بخوبی درک کنید.
این دوره توسط مهندس سام نیک زاد در آموزشگاه برنامه نویسی آواسام برگزار شده است که با سرچ گوگل به راحتی میتوانید در آن شرکت کنید.
8- انجام تست های مختلف کد
مانند تستهای واحد، بررسی کد نیز یکی از روشهای توسعه است که به شما کمک میکند تا برنامهنویس بهتری شوید. بررسی کد به هر دو طرف، یعنی بازبینیکننده و نویسنده، کمک میکند؛ بازبینیکننده حس کد خود را بهبود میبخشد و مشاوره صادقانهای ارائه میدهد، در حالی که نویسنده از اشتباهات خود یاد میگیرد.
اغلب پیش میآید که کدی که فکر میکنید بدون نقص است، دارای باگهایی است که تنها دیگر برنامهنویسان میتوانند آنها را ببینند. بررسی کد و چک کردن توسط دو چشم این کار را برای شما انجام میدهد.
اگر خوششانس باشید و فرصتی برای کار در شرکتی که تستهای واحد و بررسی کد را به عنوان یک قاعده دارد، پیدا کنید، احتمالاً برنامهنویس بهتری خواهید بود. این دو روش به شدت به بهبود مهارتهای برنامهنویسی کمک میکنند.
اگر میپرسید در بررسی کد چه نکاتی را باید بررسی کنید، پیشنهاد میکنم بررسی کنید که آیا کد از نظر عملکردی صحیح است، آیا استانداردها و روشهای طراحی مانند اصول طراحی SOLID و کنوانسیونهای نامگذاری جاوا رعایت شدهاند یا خیر. همچنین میتوانید بررسی کنید که آیا تستهای واحد کافی وجود دارد یا نه، که اغلب نادیده گرفته میشود.
9- صحبت با دیگر برنامه نویسان همکار
خواندن یک فعالیت غیرفعال است در مقایسه با صحبت کردن. صحبت کردن درباره یک برنامه و بحث درباره آن با یک برنامهنویس همکار اغلب به حل بهتری منجر میشود؛ این طبیعی است زیرا ذهن شما وقتی صحبت میکنید و به دیگران گوش میدهید، بیشتر درگیر میشود.
من در حین بحث با اعضای تیم، شکافها، نیازهای گمشده، باگها و نقصهای طراحی را پیدا کردهام. در صنعت نرمافزار، جایی که برنامهنویسان معمولاً خود را با کامپیوترهایشان تنها میسازند، صحبت کردن، به اشتراک گذاشتن و برگزاری جلسات وایتبرد به شدت کمککننده است.
فقط ننشینید و کدنویسی کنید؛ صحبت کنید، گوش دهید، فکر کنید و با برنامهنویسان همکار خود وقت بگذرانید. شرکت در رویدادها نیز مفید است. شما ممکن است نکات مفید و تمرینهایی برای تبدیل شدن به یک توسعهدهنده بهتر شبانه پیدا کنید، مانند این :-)
10- شرکت در StackOverflow و انجمنها، کامنت گذاشتن در وبلاگها
این نیز نوعی فعالیت است که به شما کمک میکند تا دانش خود را مرور کنید. با به اشتراک گذاشتن دانش، اولین کسی که بهرهمند میشود، همان کسی است که دانش را به اشتراک میگذارد. از آنجا که برنامهنویسی بسیار گسترده است، شما ممکن است بسیاری از چیزهایی را که بیش از سه ماه استفاده نکردهاید فراموش کنید.
شرکت در StackOverflow، پاسخ دادن به سوالات دیگران، کامنت گذاشتن در وبلاگها و انجمنها راهی خوب برای مرور دانش و اصلاح تصورات نادرست شماست.
با به نمایش گذاشتن دانش خود به دیگران، هم به آنها کمک میکنید و هم دانش خود را به چالش میکشید. بارها پیش آمده که شخصی از دانش شما بهرهمند شده و در عین حال تصورات نادرست شما نیز اصلاح میشود.
هر برنامهنویسی میخواهد برنامهنویس بهتری شود، اما همه موفق نمیشوند. علاوه بر استعداد طبیعی در برنامهنویسی و حل مسئله، تبدیل شدن به یک برنامهنویس بهتر نیاز به تلاش زیاد، یادگیری مداوم و پشتکار دارد.
هرچه بیشتر در کارهای واقعی مانند کدنویسی، طراحی، تست واحد و بررسی کد فعالیت کنید، بهتر خواهید شد. اگر در حال حاضر فقط میخواهید یک کار را انجام دهید، پیشنهاد میکنم به سراغ خواندن کد تمیز (Clean Code) بروید.
لاراول فریمورکی برای زبان برنامه نویسی PHP است که برای توسعه ی وب سایت ساخته شده است ، امکاناتی که لاراول در اختیار یک برنامه نویس وب میزاره بی نظیر هست و با استفاده از آنها در مدت زمان کم میتونه پروژه های خوبی رو پیاده سازی بکنه.
شما میتونید با Laravel فروشگاه اینترنتی کاملا اختصاصی بسازید و با استفاده از امکانات آن امنیت و سرعت را برای فروشگاه تامین کنید.
لاراول برخلاف فروشگاه سازهای اماده مثل وردپرس ، ووکامرس ، اپن کارت و ... سیستمی به شما تحویل میدهد که کاملا برنامه نویسی شده و کاملا اختصاصی هست.
چرا از لاراول برای برنامه نویسی فروشگاه اینترنتی استفاده کنیم؟
اولین دلیل برای اینکه فریمورک لاراول را انتخاب کنید استفاده از زبان برنامه نویسی پی اچ پی است. پی اچ پی پرمخاطب ترین زبان برنامه نویسی جهان در سمت وب میباشد و قطعا این زبان آزمون های خود را پس داده است و پروژه های بسیار بزرگی در سطح جهانی نیز با این زبان پیاده سازی شده است.
فریمورک لاراول برای زبان برنامه نویسی پی اچ پی ساخته شده است و قطعا برای یادگیری لاراول ابتدا باید پی اچ پی را آموخته باشید.
دومین دلیل بروزرسانی های مداوم فریمورک لاراول و همچنین تامین امنیت و سرعت پروژه ی شما میباشد.
بعلت اینکه بسیاری از امکانات مد نظر در فریمورک لاراول از قبل برنامه نویسی و آماده شده است در زمان توسعه ی یک فروشگاه اینترنتی بسیار صرفه جویی خواهد شد. آموزش های فراوانی برای یادگیری لاراول وجود دارد و من خودم به شخصه از آموزش های مهندس نیکزاد در وب سایت آواسام جهت یادگیری لاراول استفاده کردم.
نمونه سایت معروف ایرانی که برای ساختن فروشگاه اینترنتی خود از فریمورک لاراول استفاده کرده است سایت فروشگاهی باسلام میباشد.
دیجی کالا در ابتدا از سیستم دات نت برای پیاده سازی فروشگاه آنلاین خود بهره میگرفت اما پس از گذشت چند سال و ورود تکنولوژی های بهتر ، تصمیم گرفتند که فروشگاه خود را با زبان برنامه نویسی پی اچ پی و با استفاده از یک فریمورک اختصاصی مشابه لاراول پیاده سازی کنند.
اینکه دیجیکالا از تکنولوژی های دیگری نیز بهره گرفته یا نه تقریبا یک راز است چون هیچکس نمیتواند به سیستمی که در پشت صحنه ی دیجیکالا هست دسترسی داشته باشد و آنها صرفا در سمت سرور به عملیات خود ادامه میدهند و ما فقط نتیجه ی رندر شده و نهایی را میتوانیم ببینیم و شاید براساس آنها حدسیاتی بزنیم
اما تا به حال نشانه ای نبوده که بفهمیم سایت دیجیکالا با فریمورک لاراول پیاده سازی شده باشد.
سایت ها و پروژه های دیگری مثل آپارات مثل باسلام و .... از لاراول استفاده میکنند.
از کجا لاراول را بصورت پروژه محور یاد بگیریم تا بتوانیم فروشگاهی مثل دیجیکالا بسازیم؟
در یکی از پروژه های خودم که مشتری از من درخواست کرده بود یک فروشگاه اینترنتی مشابه دیجیکالا را بسازم و من تجربه ی زیادی را در این مسیر کسب کردم اما تونستم با موفقیت فروشگاه را با لاراول بسازم و تحویل دهم
در این زمان من دنبال فریمورک های دیگری نیز بودم مثل جنگو پایتون و ... اما راه حل نهایی من استفاده از لاراول بود
علاوه بر اینکه تخصص برنامه نویسی با لاراول را یاد گرفتم که در پروژه های بعدی نیز برای من سودمند بود بلکه سورس کد آماده نیز درون دوره بود که من با استفاده از آن سورس کد که مشابه دیجی کالا بود تقریبا 80% جلوافتادم و همیشه هرکجا میگم این بهترین تجربه تو زندگیم بود.
فرض کنید میخواهیم یک کاری را شروع کنیم مثلا ساختن یک آپارتمان ، آیا امکان دارد بدون اینکه پی ریزی خوبی انجام دهیم دیوارهای مستحکمی را روی آن بنا کنیم؟ قطعا نه ! در شروع آموزش برنامه نویسی نیز یک سری مبانی و مقدمات نیاز هست که بدون یاد گرفتن آنها شما نمیتوانید برنامه نویس خوبی بشید.
درک الگوریتم و فلوچارت یکی از این مبانی است که برای هر شخصی که در حیطه ی برنامه نویسی فعالیت میکند واجب است که آنرا به صورت کامل درک کند . در این مقاله بصورت روان و ساده درباره ی الگوریتم و فلوچارت براتون مینویسم.
الگوریتم در برنامه نویسی چیست ؟
به زبان ساده الگوریتم یعنی انجام کارها بصورت مرحله به مرحله و کاملا مشخص و اگر بخوام مثال بزنم فرض کنیم میخواهیم خانه را رنگ آمیزی کنیم. از زمانی که این تصمیم را میگیریم دقیقا کارهایی که میکنیم به شکل زیر است:
رفتن به مغازه رنگ فروشی و خرید رنگ
جمع کردن وسایل خانه
آماده کردن مواد اولیه
شروع کردن به رنگ کردن دیوار شماره 1
اگر دیوار شماره 1 تمام شد برو دیوار 2
بعد از رنگ کامل خانه باز کردن در و پنجره ها برای اینکه رنگ خشک شود
خطوط بالا که مرحله به مرحله و بصورت خیلی ساده شیوه ی انجام یک کار را به شما نشان میدهد در کامپیوتر و برنامه نویسی ، الگوریتم نامگذاری شده است.
علاوه بر اینکه شما میتوانید برای هرکاری یک الگوریتم کاملا جدید بنویسید میتوانید از انواع الگوریتم های اماده که قبلا طراحی شده اند نیز استفاده کنید.
الگوریتم بصورت گسترده ای در دنیای برنامه نویسی ، آی تی ، هوش مصنوعی و زمینه های مشابه استفاده میشود و معمولا مشکلات و مسائل با استفاده از الگوریتم مشخص بصورت گام به گام حل میشود تا در زمان صرفه جویی شود.
کمی که جلوتر میرویم میبینیم که بعضی اوقات قرار است ما چیزی بعنوان ورودی و چیزی به عنوان خروجی داشته باشیم همچنین ما میتوانیم شرط گذاری کنیم. به مثال زیر توجه کنید.
سوال :
الگوریتمی بنویسید که یک عدد را از کاربر دریافت کند و زوج یا فرد بودن آن را نشان دهد . تا زمانی که عدد وارد شده زوج باشه دوباره عدد بگیره و اگه عدد فرد بود برنامه تمام شود.
جواب :
1-شروع 2-یک عدد از کاربر دریافت کن 3-باقیمانده عدد بر 2 را حساب کن 4-اگر باقیمانده صفر بود یعنی زوج است برو خط 5 وگرنه عدد فرد است برو خط 6 5-عبارت " عدد زوج است " را چاپ کن و برو خط 2 6-عبارت " عدد فرد است " را چاپ کن 7-پایان
همانطور که میبینید در پاسخ به سوال بالا ورودی داریم که یک عدد است و خروجی دو عبارت است که نشان میدهد عدد فرد بوده یا زوج و همچنین شرط گذاری کردیم ( در خط 4 )
فلوچارت در برنامه نویسی چیست ؟
در قسمت بالا با الگوریتم و الگوریتم نویسی آشنا شدیم. حال اگر بخواهیم همون الگوریتم ها را بصورت تصویری در بیاریم و با اشکال هندسی نمایش بدیم از فلوچارت استفاده میکنیم.
فلوچارت همون الگوریتم هست ولی بصورت تصویری و با استفاده از چند شکل ساده که هر کدام به منزله ی یک چیز از الگوریتم است که در زیر بهش میپردازیم
شروع و پایان الگوریتم با شکل دایره یا بیضی است
شرط ها با استفاده از شکل لوزی است
محاسبات و مقداردهی ها درون مستطیل است
دریافت ورودی و نمایش خروجی در داخل متساوی الاضلاع است
اهمیت فلوچارت در برنامه نویسی خیلی زیاد است اگر شما بصورت تصویری و با اشکال بتوانید شیوه ی حل مسائل کوچک را یاد بگیرید ، ذهن شما آماده ی حل مسائل بزرگتر در آینده خواهد بود.
شبه کد چیست ؟
بعد از یادگیری الگوریتم و فلوچارت ، اگر بخواهید آنها را بصورت کدهای برنامه نویسی دربیارید باید برنامه نویسی بلد باشید اما همیشه نیاز نیست شما تخصص برنامه نویسی داشته باشید و شما میتوانید با استفاده از شبه کد الگوریتم یا فلوچارت خود را به کد تبدیل کنید.
شبه کد را میتوانید در لپتاپ یا حتی روی کاغذ بنویسید زیرا هرگز نیاز به اجرا ندارد.
شبه کد که نام انگلیسیش Pseudocode در تقویت یادگیری برنامه نویسی بسیار موثر هست و شما میتوانید نحوه ی نوشتن شبه کد را از دوره های مختلفی یاد بگیرید.
از چه دوره ی آموزشی برنامه نویسی را شروع کنیم ؟
یکی از بهترین دوره های آموزشی در وب فارسی که من شخصا ازش راضی بودم دوره ی 12 قدم شروع برنامه نویسی با تدریس مهندس سام نیکزاد بود چون برخلاف دیگر دوره ها توش الگوریتم فلوچارت و... کامل پوشش داده شده و کسی که با این دوره شروع میکند بعدا به مشکلات دیگری که مربوط به مبانی باشد برخورد نمیکنه
همچنین تمام مفاهیم بالا درون دوره به زبان برنامه نویسی سی پلاس پلاس هم تدریس میشه
طبق تجربه ی شخصی خودم ، دوره ی 12 قدم یکی از اصولی ترین دوره های آموزشی برای یادگیری و ورود به دنیای برنامه نویسی است که با دوره های دیگه خیلی متفاوته و واقعا چیزهایی که نیازه را بصورت اصولی به شما آموزش میدهد
امروزه بیشتر کسب و کارها به بستر اینترنت مهاجرت کرده اند ، اینترنت در ایران در حال گسترش است و روز به روز به تعداد کاربران اینترنت اضافه میشود ، این دنیای پرمخاطب بهترین مکان برای کسب و کارها میباشد تا فروش خود را افزایش دهند. اما برای ساخت فروشگاه اینترنتی مثل دیجیکالا که درآمد میلیاردی دارد باید با نحوه ی ساختن آن و علم آن آشنا باشید تا بتوانید خودتان نیز چنین فروشگاهی را بسازید.
فروشگاه آنلاین دیجی کالا الگوی بسیاری از فروشگاه های اینترنتی است و دلیلش هم این است که این فروشگاه از هر نظر برنده ی اینترنت بوده و بسیاری از رقبای خود را کنار زده و به موفقیت بالایی در اینترنت رسیده است. ویدیو ها و آموزش های زیادی در اینترنت منتشر میشود که در عنوان آن ذکر شده است شما میتوانید بدون هیچ دانش و تخصص برنامه نویسی ، فروشگاه اینترنتی بسازید که همگی بیهوده و فقط جنبه ی تبلیغاتی دارند. شما باید خودتان برنامه نویس باشید یا از یک برنامه نویس حرفه ای کمک بگیرید تا بتوانید یک فروشگاه اینترنتی برنامه نویسی کنید.
هر وب سایت یا اپلیکیشن که شما استفاده میکنید توسط برنامه نویس یا برنامه نویسان ساخته شده است و آنها به کمک زبان های برنامه نویسی ( که در ادامه مقاله معرفی خواهم کرد ) آنها را میسازند.
آیا فقط سایت نیازه یا اپلیکیشن هم نیاز دارین ؟
فروشگاه های اینترنتی معمولا ابتدا وب سایت هستند ، سپس برای جذب مشتری بیشتر اپلیکیشن مناسب با اندروید و آیفون نیز تولید و منتشر میکنند.
حال شما باید مشخص کنید آیا سایت برای شما کافی است یا نیاز به اپ موبایلی هم دارید؟
اگر نیاز به اپلیکیشن موبایلی فروشگاهی مثل دیجی کالا داشته باشید باید برنامه نویسی موبایل نیز بلد باشید تا بتوانید اپلیکیشن را برنامه نویسی و منتشر کنید.
شاید بپرسید داشتن اپلیکیشن چه ضرورتی دارد ؟
منتشر کردن اپلیکیشن در مارکت های موبایلی مثل کافه بازار باعث میشود که اپلیکیشن شما در معرض دید میلیون ها کاربر موبایلی قرار بگیرد .
همچنین نصب شدن اپلیکیشن روی گوشی باعث میشود تا کاربر مداوم به فروشگاه شما سر بزند و آنرا فراموش نکند. اگر کاربر یک سایت فروشگاهی را در مرورگر خود باز کند ممکن است بعد مدتی آنرا فراموش کند و احتمال برگشت او بسیار کاهش پیدا میکند.
برای ساختن فروشگاه اینترنتی مثل دیجیکالا با اپلیکیشن چیا باید بلد باشم ؟
بطور خلاصه شما باید برنامه نویسی بلد باشید ، هر سایت و هر اپلیکیشن که استفاده میکنید توسط برنامه نویسان ساخته شده اند.
برخلاف چیزایی که در اینترنت نوشته میشه یادگیری برنامه نویسی اصلا سخت نیست و شما میتوانید با دوره های آموزشی خوب برنامه نویسی که تولید میشن ، برنامه نویسی یاد بگیرید و علاوه بر اینکه میتونید فروشگاه شخصی خودتان را بسازید میتوانیدانواع سایت ها و اپلیکیشن های دیگر را هم تولید کنید.
زبان ها و تکنولوژی های فراوانی وجود دارد که با استفاده از آنها میتوانید سایت و اپلیکیشن بسازید ولی من مناسب ترین آنها را برای برنامه نویسی وب و اپلیکیشن مشابه دیجیکالا آماده کردم و در لیست زیر قرار دادم که میتوانید از انها استفاده کنید.
بعد از سالها تجربه ی برنامه نویسی و تحقیقات فراوان به این نتیجه رسیدم که بهترین زبان برنامه نویسی برای ساختن فروشگاه اینترنتی قطعا زبان PHP است و این زبان یک فریمورک ( چهار چوب ) در کنار خود ارائه میکند به نام لاراول ( Laravel ) که برای ساخت یک فروشگاه اینترنتی کاملا اختصاصی بسیاری مناسب است.
همچنین برای پایگاه داده و ذخیره سازی اطلاعات شما باید کار با mysql را بلد باشید
برای ساختن اپلیکیشن موبایلی نیز شما باید زبان برنامه نویسی کاتلین ( Kotlin ) را یاد بگیرید.
شروع برنامه نویسی وب با زبان های زیر میباشد که به ترتیب باید یاد بگیرید :
html
css
javascript
php - laravel
و برنامه نویسی موبایل نیز نیاز به تخصص های زیر دارد :
Kotlin
Android studio
Jetpack compose
البته توجه فرمایید که برنامه نویسی موبایل با برنامه نویسی وب دو تخصص کاملا جدایی هستند و شما مجبور نیستید هر دو را یاد بگیرید اگر یکی را یاد گرفتید و فروشگاه خود را بالا آوردید میتوانید برای تخصص دومی از یک برنامه نویس دیگر استفاده کنید که آنرا هم میتوانید از طریق اینترنت و سایت های کاریابی مثل جابینجا پیدا کنید.
دنبال آموزش های متنوع رفتم چون من فقط برنامه نویسی وب با PHP بلد بودم و لاراول و کاتلین و ... را اصلا بلد نبودم
تا دوره ی آموزشی پیدا کردم که درونش همه ی موارد بالا را پوشش داده بود و سورس کد آماده ی دیجیکالا را هم درون خود گنجانده بود.
دوره توسط استاد سام نیکزاد برگزار شده و واقعا یکی از بی نظیرترین دوره های آموزشی وب فارسی است
تخصص هایی که توش یاد میده به شرح زیره :
آموزش برنامه نویسی وب با Laravel
آموزش ساخت فروشگاه مثل دیجیکالا با لاراول با تمام امکانات
آموزش کار با دیتابیس
آموزش ساخت وب سرویس یا API با لاراول
آموزش برنامه نویسی اپلیکیشن موبایل با کاتلین
آموزش ساخت اپ مشابه دیجی کالا با کاتلین
این دوره را میتوانید از سایت avasam.ir پیدا کنید البته در گوگل سرچ کنید دوره ی آموزش ساخت دیجیکالا سایت آواسام هم برای شما میاره و میتونید در دوره شرکت کنید و از سورس کدش هم استفاده کنین
سورس کد آماده ی سایت و اپلیکیشن مشابه دیجیکالا
بسیاری از افراد به دنبال سورس کد آماده ی اپلیکیشن و سایت مشابه دیجیکالا میگردند و پیدا کردن آن در سطح وب نیز بسیار سخت است. خیلی از سورس ها با استفاده از سایت ساز های اماده مثل وردپرس یا ووکامرس هستند که اصلا برای پروژه های واقعی پیشنهاد نمیشوند. هرگز سمت چنین سورس ها و قالب هایی نروید چون هدر دادن وقت و پول شما میباشد.
سورس دیجی کالا بصورت کاملا اختصاصی با فریمورک لاراول ( laravel ) و اپلیکیشن مشابه دیجیکالا با زبان کاتلین ( Kotlin ) نوشته شده است که از قدرت ، امنیت و سرعت عالی برخوردار است.
من یک پروژه ی ساخت فروشگاه اینترنتی مشابه دیجیکالا داشتم و بعد از تحقیقات فراوان به سورس کد درج شده در دوره ی اموزش ساخت دیجیکالا سایت آواسام رسیدم و از سورس آن به همراه آموزش استفاده کردم
این سورس از آخرین ورژن لاراول و زبان عالی و جدید کاتلین استفاده میکنه
هیچ مشکلی نداشتم و به راحتی تونستم از سورس کد اماده ی درون این پروژه استفاده کنم و پروژه ی خودم را تحویل بدهم
به همین علت معرفیش میکنم که اگر شما هم نیاز به سورس فروشگاه اینترنتی مشابه دیجیکالا دارید حتما ازش استفاده کنید.
سلام مطالب زیر برگرفته از سایت ها و رزومه ی آقای نیکزاد میباشد. در این مقاله به معرفی یکی از موفق ترین برنامه نویسان ایرانی یعنی سام نیک زاد میپردازیم که استاد هم هستند.
سام نیک زاد متولد ۱۳۷۰ در استان آذربایجان شرقی و شهر تبریز میباشد.
# تحصیلات سام نیک زاد #
فوق لیسانس هوش مصنوعی
مدرک لیسانس مهندسی کامپیوتر گرایش نرم افزار
دیپلم ریاضی فیزیک از مدرسه تیزهوشان
# تخصص های سام نیک زاد #
توسعه دهنده ی بک اند مسلط به زبان های پی اچ پی - جاوااسکریپت ( نود جی اس ) و پایتون
مسلط به فریمورک های بک اند مثل لاراول - کدایگنایتر - جنگو و ...
توسعه دهنده ی فرانت اند مسلط به html css js jquery react.js vue.js ajax bulma ...
... مسلط به کار با پایگاه های داده همچون MySQL MongoDB و ...
توسعه دهنده ی اپ های اندروید با زبان جاوا و کاتلین
مسلط به سی شارپ و بازی سازی در محیط یونیتی ۳ دی
توانایی حل الگوریتم های پیچیده
کار با زبان های سی و سی پلاس پلاس طی سالهای متمادی
مسلط به لینوکس
پادکستر
مدرس
# بیوگرافی سام نیک زاد #
نوشتن اولین پروژه ی برنامه نویسی در ۹ سالگی در سیستم عامل داس و زبان بیسیک
کسب مقام المپیاد کامپیوتر در سطح استانی
دیپلم ریاضی فیزیک از دبیرستان تیزهوشان
دارای مدرک مهندسی کامپیوتر با گرایش نرم افزار
مدیر انجمن علمی کامپیوتر دانشگاه شمال به مدت یکسال
اولین مترجم مستندات زبان پی اچ پی به فارسی
موسس و مدیر شرکت فناوری اطلاعات و ارتباطات آواسام
اکسپ شده در رشته ی کارشناسی ارشد آی تی از دانشگاه سیدنی استرلیا در سال ۲۰۱۳
متخصص در حوزه ی منطق فازی
فعالیت در زمینه ی هوش مصنوعی و خانه های هوشمند
گوینده ی پادکست و کتاب صوتی
مدرس دوره های برنامه نویسی
موسس وب سایت های سامنتا و آواسام بعنوان اولین مراجع آموزش ویدیویی برنامه نویسی
فعال در زمینه ی هک و امنیت به مدت ۱۰ سال
برنامه نویسی برای شرکت کافه بازار
بازی سازی . نویسنده بازی شکار پهپاد و ... برای موبایل
تجربه ی شخصی من با استاد سام نیکزاد
من برنامه نویسی را با دوره های استاد نیکزاد شروع کردم و خداروشکر در این مسیر به هیچ مشکل خاصی برخورد نکردم و با استفاده از دوره ها و آموزش های استاد سام نیکزاد عزیز توانستم برنامه نویسی وب را کاملا مسلط شوم و سپس در شرکتی که مورد علاقه ی خودم بود استخدام شدم.
من برنامه نویسی موبایل با زبان برنامه نویسی kotlin را با دوره ی ایشان طی کردم و به برنامه نویسی کاتلین نیز مسط شدم
پشتیبانی ایشان در سایت آواسام خیلی عالی پاسخگوی مشکلات و سوالات بنده بودند و من کاملا از ایشان و تیم خوبشان راضی هستم.
البته جناب سام نیکزاد فراتر از یه استاد بودند و مشاوره های ایشان در کسب و کار و ... که بصورت آنلاین شروع کردم باعث شد درآمد من به مراتب افزایش پیدا بکند و همه ی اینها را مدیون ایشان و آموزش هایشان هستم.
شما قطعا از سرچ کردن عبارت چطور یک فروشگاه اینترنتی بسازم به این مقاله رسیده اید و من هم اینجا قراره کلی درباره ی این صحبت بکنم و تجربیات خودم را با شما به اشتراک بزارم تا ببینید چطور میشود یک فروشگاه اینترنتی کاملا واقعی و اختصاصی را ساخت ! 🤭
در ابتدای مقاله بهتر است خود را معرفی کنم و در ادامه از تجربیات خودم با شما صحبت خواهم کرد.
من فرهاد سلامی دانشجوی ارشد رشته ی معماری کامپیوتر هستم و قبل تر نیز از رشته ی مهندسی کامپیوتر فارغ التحصیل شده ام. تقریبا پنج سالی است که بصورت حرفه ای وارد دنیای برنامه نویسی شده ام و تا کنون حدود سی عدد پروژه موفق داشته ام. زبان های برنامه نویسی که به آنها مسلط هستم PHP و PYTHON است اما گاهی با JAVA هم کد میزنم. گاهی هم بازی سازی کرده ام که تجربه ی کار در محیط unity 3d را داشته ام و گیم های ساده ای برای موبایل نوشتم و در مارکت منتشر کرده ام از این پس بجای استفاده از واژه ساختن از واژه ی برنامه نویسی استفاده خواهم کرد چون تمرکز ما در این مقاله روی برنامه نویسی یک فروشگاه اینترنتی است .
برنامه نویسی فروشگاه اینترنتی به چه شکل انجام میشود؟ 💻
برای ساختن فرووشگاه آنلاین چندین راه پیش رو دارید که بصورت کلی به دو حالت اختصاصی و غیراختصاصی تقسیم بندی میشود.
اگر بخواهید فروشگاه شما غیراختصاصی باشد شما باید از فروشگاه سازهای اماده استفاده کنید که نام آنها را در لیست زیر قرار داده ام :
✔️ opencart
✔️ woocommerce
✔️ prestashop
✔️ joomla
✔️ magento
✔️ drupal
در لیست بالا شما سیستم هایی را مشاهده میکنید که کمتر به برنامه نویسی نیاز دارند و با نصب کردن آنها میتوانید فروشگاه اینترنتی کاملی را داشته باشید. البته باید در نظر داشته باشید که این فروشگاه ساز ها برای هدف خاصی ساخته نشده اند و انوع فروشگاه ها را پشتیبانی میکنند.
به همین علت فروشگاه سازهای غیراختصاصی و آماده نسبتا سنگین تر از فروشگاه های آنلاین اختصاصی هستند و فروشگاه های بزرگ مثل دیجیکالا باسلام و ... هرگز از آنها استفاده نمیکنند. دلایل بیشتری وجود دارد که این نوع فروشگاه ها برای موفقیت یک کسب و کار در اینترنت مناسب نیستند.
در مقابل نوع دیگری از ساخت فروشگاه آنلاین وجود دارد که به آن ساخت فروشگاه اختصاصی میگویند و برای ساختن آن باید برنامه نویسی بلد باشید. بسیاری از کسب و کارهای آنلاین برنامه نویس استخدام میکنند یا خودشان اقدام به یادگیری میکنند تا بتوانند کسب و کار خود را برنامه نویسی و گسترش دهند.
برای ساخت فروشگاه کاملا اختصاصی شما باید یکی از زبان های برنامه نویسی سمت سرور مثل PHP ، Python ، Java ، Csharp و .... و همچنین شما توانایی طراحی ui سایت با html css js را داشته باشید و در این صورت میتوانید بیزنس آنلاین خود را برنامه نویسی و توسعه دهید.
مراحل ساخت فروشگاه آنلاین 📋
ساختن یک فروشگاه اینترنتی ممکن است ساده تر از آن چیزی باشد که فکرش را میکنید ، کافیست مرحله به مرحله پیش بروید تا به هدف خود برسید و بتوانید بیزنس خود را روی اینترنت در دسترس عموم مردم قرار دهید.
مراحل زیر باید طی کنید تا به یک فروشگاه دسترسی داشته باشید :
یک پلتفرم مناسب برای ساخت فروشگاه انتخاب کنید ( در پایین توضیح مفصل دادم )
یک دامنه ی اینترنتی بخرید ( پایین توضیح دادم )
یک هاست یا سرور مجازی بخرید
برنامه نویسی یاد بگیرید یا یک برنامه نویس پیدا کن
رنگ بندی و قالب فروشگاه خود را تعیین کنید ( براساس تجارت خود )
محصولات خود را موجود و مدیریت کنید
یک پلتفرم مناسب برای ساخت فروشگاه انتخاب کنید
پلتفرم یعنی چه ؟ شما باید تصمیم بگیرید فروشگاه شما روی چه پلتفرمی باشد منظور از پلتفرم یعنی جایی که فروشگاه شما اجرا میشود . مثلا میتواند یک اپلیکیشن قابل نصب روی موبایل باشد یا یک وب سایت که در مرورگر اجرا میشود یا جای دیگری ...
شما باید نسبت به پلتفرمی که انتخاب میکنید زبان برنامه نویسی و ابزارهای مناسب با آن را نیز یاد بگیرید
مثلا اگر میخواهید یک وب سایت فروشگاهی برنامه نویسی کنید بهترین زبان PHP و فریمورک Laravel آن است.
اگر میخواهید اپلیکیشن موبایل فروشگاهی برنامه نویسی کنید یادگیری زبان کاتلین الزامی است.
برای یادگیری تمام این موارد و همچنین داشتن سورس کد آماده ی چنین فروشگاهی که تقریبا مشابه دیجیکالا باشد میتوانید از دوره ی آموزش پروژه محور ساخت فروشگاه اینترنتی مشابه دیجیکالا سایت آواسام با تدریس مهندس نیکزاد مراجعه کنید چون این دوره پروژه محور است و در کنار خودش سورس کد نیز دارد
اگر این دوره را تهیه کنید میتوانید برنامه نویسی وب و برنامه نویسی موبایل مشابه دیجیکالا را انجام بدهید و همچنین تخصص برنامه نویسی کسب کنید که در پروژه های بعدی نیز به دردتان میخورد
شما میتوانید بهترین آموزش ها و دوره های پروژه محور را با تدریس مهندس سام نیکزاد در وب سایت آموزشی آواسام پیدا کنید .
ربات همستر و نات کوین این روزها خیلی سر و صدا کرده اند و این ربات ها برای استخراج سکه و تبدیل ان به ارز های دیجیتالی بصورت کلیکی هستند و کاربر با زدن روی یک سکه در صفحه میتواند سکه جمع کند یا چالش های مختلفی را درون ربات حل کند و دوباره کسب سکه کنه.
اما این ربات ها چطوری ساخته میشوند و اگر قصد داشته باشید یک ربات مشابه ناات کوین و همسترر بسازید که کاملا بومی باشد باید چه کارها بکنید ؟!
چطور یک ربات کلیک ارز دیجیتالی بسازیم
همه ی این نوع ربات ها با برنامه نویسی ساخته میشوند و برای برنامه نویسی یک ربات تلگرامی از زبان های پی اچ پی ( PHP ) یا پایتون ( Python ) استفاده میشود.
پی اچ پی و پایتون زبان های برنامه نویسی سمت سرور هستند و چون هسته ی یک ربات تلگرامی در سمت سرور اجرا میشود شما باید با یکی از این زبان های برنامه نویسی کار کنید تا بتوانید یک ربات تلگرامی کامل بسازید.
برای ساخت ربات مشابه نات کوین یا همستر چه زبان برنامه نویسی انتخاب کنیم؟ برای انتخاب زبان برنامه نویسی باید به چند نکته توجه کنید یکی اینکه شما خودتان چه تخصصی دارید!
اگر برنامه نویس پی اچ پی هستید بهتر است با پی اچ پی ربات را بسازید و اگر با پایتون آشنا هستید با زبان برنامه نویسی پایتون ربات خودتان را بسازید. اما به دلیل محبوبیت زیاد زبان پایتون کتابخانه ها و پکیج های زیادی برای ساختن ربات های تلگرامی وجود دارد و شما میتوانید از انها برای ساختن ربات تلگرامی استفاده کنید.
پایتون یا پی اچ پی
پایتون و پی اچ پی هر دو زبان های برنامه نویسی عالی برای ساختن ربات های تلگرامی هستند از نظر سرعت و کارآیی هر دو خوبن و هیچکس نمیتواند ادعا کند که پایتون بهتر است یا پی اچ پی اما یک سری معایت و مزایا برای خود دارند که در ادامه به آنها میپردازیم.
معایت و مزایای زبان پی اچ پی برای ساخت ربات تلگرامی :
راحتی پیاده سازی
پیدا کردن راحت هاست
وجود فریمورک های قوی مثل لاراول
هزینه ی پایین سرور و هاست
اتصال راحت با دیتابیس
سرعت کم در پروژه های بسیار پیچیده و پرترافیک
معایب و مزایای زبان برنامه نویسی پایتون برای ساخت ربات تلگرامی :
محبوب ترین زبان جهان
وجود کتابخانه های زیاد
سادگی یادگیری
کدنویسی کمتر و راحت تر
اما دقت کنید که باز دلایل بالا دلایلی نیستند که باعث شوند شما فکر کنید یکی بر آن یکی ارجحیت دارد.
پس به تخصص و توانایی های خود نگاه کنید و ببینید با کدام زبان برنامه نویسی راحت هستید با همان زبان برنامه نویسی ربات تلگرامی مشابه نات کوین و همستر را پیاده سازی کنید.
همچنین اگر قصد دارید پروژه خود را برون سپاری کنید بهتر است به تخصص هایی که وجود دارد نگاه کنید اگر فرد متخصص پایتون زیاد است به یک پایتون کار بسپارید و اگر حس میکنید پیدا کردن یک برنامه نویس پی اچ پی راحت تر است پروژه ی خود را به یک پی اچ پی کار بسپارید.
از آنجایی که api های تلگرام محدود به هیچ زبان برنامه نویسی نیست شما میتوانید از دیگر زبان های برنامه نویسی سمت سرور مثل جاوا ، نود جی اس ، گولنگ ، دات نت و .... هم برای پیاده سازی ربات های تلگرامی استفاده کنید.
خب حالا که با زبان های برنامه نویسی آشنا شدیم و فهمیدیم برای ساختن ربات تلگرامی بهتر است از چه زبان برنامه نویسی استفاده کنیم باید بدانیم که داستان به یادگیری یک زبان برنامه نویسی ختم نمیشود شما باید تخصص های دیگری هم داشته باشید تا بتوانید یک ربات مشابه نات کوین یا همستر را داشته باشید از جمله :
مسلط به کار با دیتابیس مسلط به طراحی ui ux جهت طراحی ظاهر ربات مسلط به موارد امنیتی تا ربات شما هک نشود و ...
دوره ی آموزش ساخت ربات مشابه نات کوین و همستر
من در اینترنت دنبال چنین دوره ای میگشتم که بعد از تحقیق و جستجو به سایت آواسام رسیدم و پکیج آموزشی ساخت ربات مشابه نات کوین و همستر را دیدم که برام خیلی جالب بود و بعد از تهیه دوره و مشاوره با مدرس دوره خواستم این دوره را اینجا هم معرفی کنم
دوره با زبان برنامه نویسی پایتون هست و در این دوره جلسه به جلسه که آموزش داده میشود سورس کدها بصورت جدا گانه وجود دارد و در پایان نیز یک سورس کامل ربات مشابه نات کوین و همستر را در دسترس دارید که خیلی عالیه برای کسایی که پروژه مشابه همستر یا نات کوین دارن و میخان سریعا یک ربات مثل اونو راه اندازی کنن
من که دوره را شرکت کردم و چون زبانش پایتون و فریمورک عالی flask بود مشتاق شدم معرفی هم بکنم
ضمنا مدرس این دوره آقای سام نیکزاد هستند که سابقه ی عالی در تدریس برنامه نویسی دارند و از برنامه نویس های قدیمی ایرانی هستند که کیفیت کارهاشون خیلی بالاست
سخن آخرم اینه که الان موقعیت برای ساختن یک چنین رباتی عالیه و همستر و نات کوین در ایران خیلی عالی عمل کردن مخصوصا همستر کامبت که ترکونده ... من در حال ساخت یه ربات کاملا متفاوت ولی مشابه با همستر هستم که عملکردش مثل همونه ولی کلا داستان بازی متفاوته
اگر شما هم میتونید به نظرم این کار الان آینده عالی داره و حتما بزنید تو کار ساخت ربات مشابه همستر و نات کوین