شاید براتون جالب باشه، کتابخونهای وجود داره که بهتون اجازه میده با سینتکس CSS برای تلگرام، ربات بنویسید
https://github.com/Bannerets/css-telegram-bot-api
https://github.com/Bannerets/css-telegram-bot-api
🔥6
اگه از آرچلینوکس یا توزیع های مبتنی بر آرچ استفاده میکنید یا به هر دلیل دیگهای پکیجمنیجرتون Pacman هست، توصیه میکنم که Cache اش رو هر از گاهی پاک کنید
پکیج منیجر پکمن بهصورت دیفالت هر پکیجی که نصب/آپدیت میکنید رو داخل Cache اش نگه میداره و بعد از یکسال استفاده و پاک نکردن کش میتونید به وضعیتی که توی عکس فرستادم دچار بشید و براتون 60GB کش ایجاد کنه
برای اطلاع از حجم کش میتونید از دستور زیر استفاده کنید:
پکیج منیجر پکمن بهصورت دیفالت هر پکیجی که نصب/آپدیت میکنید رو داخل Cache اش نگه میداره و بعد از یکسال استفاده و پاک نکردن کش میتونید به وضعیتی که توی عکس فرستادم دچار بشید و براتون 60GB کش ایجاد کنه
برای اطلاع از حجم کش میتونید از دستور زیر استفاده کنید:
du -sh /var/cache/pacman/pkg/و برای پاک کردن کش:
sudo rm -rf /var/cache/pacman/pkg/*و البته که این روش دستی هست و اگر دنبال روش اتوماتیک هستید میتونید یک Pacman Hook بنویسید که اینکار رو براتون انجام بده، اگه هم که از دستور rm نمیخواهید استفاده کنید میتونید از ابزار paccache برای پاک کردن استفاده کنید
🔥8
اگه داخل پروژه های وبی که میزنید و داخل موبایل تست میکنید، نیاز به کنسول دارید، توصیه میکنم از eruda استفاده کنید
یکی از مشکلاتی که معمولا وب دولوپرها حین توسعه وبسایت برای موبایلها دارند، عدم دسترسی به Console هست و بدون دسترسی به کنسول هم منطقا نه دسترسی به لاگ ارورها هست و نه دسترسی به درخواستها و ...
اگه دیوایستون اندرویدی باشه، میتونید از Chrome Dev Tools استفاده کنید که راهاندازیاش دردسر داره و اگر هم که iOS باشید کلا هیچ راهی ندارید معمولا
برای رفع این مشکل میتونید از پکیج Eruda استفاده کنید که با لود کردن کتابخونهاش در پروژهتون، خیلی راحت و بیدردسر بهتون یک Console میده که محیط کاملا مشابه به کنسول اصلی مرورگرها رو داره و میتونید به لاگ و ارورها و درخواستها و کلی چیز های دیگه دسترسی داشته باشید
سمپل آنلاین پروژه:
https://eruda.liriliri.io/
نحوه استفاده از پروژه هم ساده هست و کافیه این دو خط رو به تگ head تون اضافه کنید:
https://github.com/liriliri/eruda
یکی از مشکلاتی که معمولا وب دولوپرها حین توسعه وبسایت برای موبایلها دارند، عدم دسترسی به Console هست و بدون دسترسی به کنسول هم منطقا نه دسترسی به لاگ ارورها هست و نه دسترسی به درخواستها و ...
اگه دیوایستون اندرویدی باشه، میتونید از Chrome Dev Tools استفاده کنید که راهاندازیاش دردسر داره و اگر هم که iOS باشید کلا هیچ راهی ندارید معمولا
برای رفع این مشکل میتونید از پکیج Eruda استفاده کنید که با لود کردن کتابخونهاش در پروژهتون، خیلی راحت و بیدردسر بهتون یک Console میده که محیط کاملا مشابه به کنسول اصلی مرورگرها رو داره و میتونید به لاگ و ارورها و درخواستها و کلی چیز های دیگه دسترسی داشته باشید
سمپل آنلاین پروژه:
https://eruda.liriliri.io/
نحوه استفاده از پروژه هم ساده هست و کافیه این دو خط رو به تگ head تون اضافه کنید:
<script src="//cdn.jsdelivr.net/npm/eruda"></script>لینک گیتهاب پروژه:
<script>eruda.init();</script>
https://github.com/liriliri/eruda
🔥7
| Erfan's Notes |
اگه از آرچلینوکس یا توزیع های مبتنی بر آرچ استفاده میکنید یا به هر دلیل دیگهای پکیجمنیجرتون Pacman هست، توصیه میکنم که Cache اش رو هر از گاهی پاک کنید پکیج منیجر پکمن بهصورت دیفالت هر پکیجی که نصب/آپدیت میکنید رو داخل Cache اش نگه میداره و بعد از…
ظاهرا دایرکتوری .cache داخل ~ هم میتونه انباشته بشه
🔥9
زبان TACT یک زبان جدیدی هست که توسط TON یا به عبارتی The Open Network جدید و Telegram Open Network قدیم توسعه داده شده
تیم توسعهاش ارتباط مستقیمی با تلگرام نداره ولی در نهایت بیربط به تلگرام نیست و TON قرار بود در انحصار تلگرام باشه و بهدلیل محدودیت های اپل از انحصار تلگرام در اومد
در کل، زبان TACT برام جالب بود، که برای TON اومدند و زبانی اختصاصی با کامپایلر و ... نوشتند صرفا برای اینکه Smart Contract بنویسید بر بستر TON
https://tact-lang.org/
تیم توسعهاش ارتباط مستقیمی با تلگرام نداره ولی در نهایت بیربط به تلگرام نیست و TON قرار بود در انحصار تلگرام باشه و بهدلیل محدودیت های اپل از انحصار تلگرام در اومد
در کل، زبان TACT برام جالب بود، که برای TON اومدند و زبانی اختصاصی با کامپایلر و ... نوشتند صرفا برای اینکه Smart Contract بنویسید بر بستر TON
https://tact-lang.org/
🔥8
اگه با گنو/لینوکس کار کرده باشید یا با سرورها سر و کار داشته باشید، قطعا به اهمیت یک ادیتور CLI خوب پی بردید، چون واقعا بدون یک ادیتور معقول، آدم پیر میشه تا بتونه یک فایل رو ویرایش کنه یا بنویسه
گزینه های مرسومی که آدمها سمتش میرن معمولا nano برای مبتدیها هست و vi یا vim برای حرفهایها و گیکها، ولی در نهایت من خودم شخصا نه به محیط vim تونستم عادت کنم در طول سالیان و نه به محیط nano، تا اینکه بالاخره امروز ادیتور cli مورد علاقهام رو پید کردم
اسم این ادیتور، میکرو یا Micro هست و واقعا کمحجم و سریع و دمدست و زیبا و هرچیز خوب دیگهای که فکر رو بکنید، هست
محیطی که توی تصویر بالا میبینید در واقع داخل ترمینال هست و بهتون قابلیت Split کردن پنجره رو میده بدون نیاز به tmux و ...، بهتون شورتکات های معقولی میده و یک command bar قدرتمند هم در اختیارتون قرار میده، با کلی تم و ... خوشگل
اگه از nano یا vim مهاجرت میکنید به میکرو، یهمقداری اوایل کار عادت کردن به شورتکاتها سخته، ولی در نهایت به امتحانش میارزه، اگر شد سعی میکنم یک آموزش درمورد خودش و کاربردش و شورتکاتهاش ضبط کنم
micro-editor.github.io
گزینه های مرسومی که آدمها سمتش میرن معمولا nano برای مبتدیها هست و vi یا vim برای حرفهایها و گیکها، ولی در نهایت من خودم شخصا نه به محیط vim تونستم عادت کنم در طول سالیان و نه به محیط nano، تا اینکه بالاخره امروز ادیتور cli مورد علاقهام رو پید کردم
اسم این ادیتور، میکرو یا Micro هست و واقعا کمحجم و سریع و دمدست و زیبا و هرچیز خوب دیگهای که فکر رو بکنید، هست
محیطی که توی تصویر بالا میبینید در واقع داخل ترمینال هست و بهتون قابلیت Split کردن پنجره رو میده بدون نیاز به tmux و ...، بهتون شورتکات های معقولی میده و یک command bar قدرتمند هم در اختیارتون قرار میده، با کلی تم و ... خوشگل
اگه از nano یا vim مهاجرت میکنید به میکرو، یهمقداری اوایل کار عادت کردن به شورتکاتها سخته، ولی در نهایت به امتحانش میارزه، اگر شد سعی میکنم یک آموزش درمورد خودش و کاربردش و شورتکاتهاش ضبط کنم
micro-editor.github.io
🔥9
💠 دوره آموزش برنامهنویسی ربات تلگرام
دورهای که در اون از پایه شروع میکنیم به توضیح مفاهیم مربوط به ربات و نحوه توسعه رباتهای تلگرامی
قسمتها به صورت تدریجی منتشر میشن
⭕️ پست توضیحات کامل دوره رو میتونید اینجا بخونید
🔰 پلیلیست دوره در یوتیوب رو هم میتونید اینجا ببینید
دورهای که در اون از پایه شروع میکنیم به توضیح مفاهیم مربوط به ربات و نحوه توسعه رباتهای تلگرامی
قسمتها به صورت تدریجی منتشر میشن
⭕️ پست توضیحات کامل دوره رو میتونید اینجا بخونید
🔰 پلیلیست دوره در یوتیوب رو هم میتونید اینجا ببینید
🔥9
💠 قسمت صفر - معرفی دوره
در این قسمت به معرفی دوره پرداختیم و توضیح دادیم که در طول دوره چه مباحثی رو پوشش دادیم و روال دوره به چه صورتی هست
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت به معرفی دوره پرداختیم و توضیح دادیم که در طول دوره چه مباحثی رو پوشش دادیم و روال دوره به چه صورتی هست
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥8
💠 قسمت اول - انواع رباتهای تلگرامی
در این قسمت به بررسی انواع رباتهای تلگرامی پرداختیم و مزایا و معایب هرکدوم رو بررسی کردیم و نوع استفاده شده در دوره رو مشخص کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت به بررسی انواع رباتهای تلگرامی پرداختیم و مزایا و معایب هرکدوم رو بررسی کردیم و نوع استفاده شده در دوره رو مشخص کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥11
💠 قسمت دوم - بررسی ساختار تلگرام
در این قسمت نگاهی به ساختار سرورها و دیتاسنتر های تلگرام انداختیم و ساختار اونها رو تشریح کردیم تا درک بهتری برای انتخاب محیط داشته باشیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت نگاهی به ساختار سرورها و دیتاسنتر های تلگرام انداختیم و ساختار اونها رو تشریح کردیم تا درک بهتری برای انتخاب محیط داشته باشیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥5
یکی از مباحثی که احتمالا بهعنوان یک PHP کار در سال های اخیر شنیدید، اضافه شدن قابلیت JIT از نسخه 8.0 به PHP بوده، قابلیتی که احتمالا صرفا اسمش رو شنیدید و در عمل ازش استفاده نکردید
تصویر بالا شماتیک JIT رو در PHP نشون میده و قابلیت JIT بهعنوان یک افزودنی به اکستنشن OPCache فعال و استفاده میشه و باعث میشه که کد شما بهجای اینکه توسط Zend VM هر بار اجرا بشه، یکبار به بایتکد ماشین کامپایل بشه به صورت AoT یا Ahead Of Time
اگه از قبل OPCache رو فعال نداشتید، فعال کردن OPCache و JIT میتونه زندگیتون رو تغییر بده، ولی اگر همچنان مثل من از قبل OPCache رو فعال داشتید، باز هم JIT میتونه پرفرمنستون رو بهتر کنه، من با فعال کردن JIT در یک برنامه OpenSwoole ای از 32K req/s به 38k req/s رسیدم
تصویر بالا شماتیک JIT رو در PHP نشون میده و قابلیت JIT بهعنوان یک افزودنی به اکستنشن OPCache فعال و استفاده میشه و باعث میشه که کد شما بهجای اینکه توسط Zend VM هر بار اجرا بشه، یکبار به بایتکد ماشین کامپایل بشه به صورت AoT یا Ahead Of Time
اگه از قبل OPCache رو فعال نداشتید، فعال کردن OPCache و JIT میتونه زندگیتون رو تغییر بده، ولی اگر همچنان مثل من از قبل OPCache رو فعال داشتید، باز هم JIT میتونه پرفرمنستون رو بهتر کنه، من با فعال کردن JIT در یک برنامه OpenSwoole ای از 32K req/s به 38k req/s رسیدم
🔥9
💠 قسمت سوم - انتخاب سرور ربات و معیار های سرور مناسب
در این قسمت بهصورت کامل مشخصه های یک سرور ایدهآل برای ربات تلگرامی رو توضیح دادیم و هرکدوم از مشخصهها رو بهدقت بررسی کردیم و توضیح دادیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت بهصورت کامل مشخصه های یک سرور ایدهآل برای ربات تلگرامی رو توضیح دادیم و هرکدوم از مشخصهها رو بهدقت بررسی کردیم و توضیح دادیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥8
💠 قسمت چهارم - توضیح و نصب Bot API Server لوکال
در این قسمت به توضیح و معرفی Bot API Server لوکال پرداختیم و مزیتها و معایب اون رو شرح دادیم و فرآیند نصب اون روی سرور رو هم توضیح دادیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت به توضیح و معرفی Bot API Server لوکال پرداختیم و مزیتها و معایب اون رو شرح دادیم و فرآیند نصب اون روی سرور رو هم توضیح دادیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥9
💠 قسمت پنجم - بررسی Method های تلگرام و نحوه استفاده از آنها
در این قسمت شروع کردیم به ایجاد اولین ربات تلگرامیمون، همچنین مستندات توسعه ربات تلگرام رو مطالعه کردیم و نحوه مطالعه و استفاده از متدهای تلگرام رو بررسی کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت شروع کردیم به ایجاد اولین ربات تلگرامیمون، همچنین مستندات توسعه ربات تلگرام رو مطالعه کردیم و نحوه مطالعه و استفاده از متدهای تلگرام رو بررسی کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥6
💠 قسمت ششم - راهاندازی محیط توسعه آنلاین با استفاده از FTP
در این قسمت با نصب و راهاندازی VSFTPD روی سرور و همچنین افزونه SFTP در VSCode، محیط توسعه ربات لوکالمون رو به محیط سرور آنلاین متصل کردیم تا توسعه راحتتری داشته باشیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت با نصب و راهاندازی VSFTPD روی سرور و همچنین افزونه SFTP در VSCode، محیط توسعه ربات لوکالمون رو به محیط سرور آنلاین متصل کردیم تا توسعه راحتتری داشته باشیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥6
💠 قسمت هفتم - نوشتن اولین ربات با زبان های PHP و Python و JavaScript
در این قسمت اولین ربات تلگرامیمون رو با استفاده از زبان برنامهنویسی PHP نوشتیم، در واقع کدی نوشتیم که با استفاده از اون میتونستیم به سرور تلگرام درخواست بفرستیم و این مثال رو با PHP شروع کردیم و در ادامه مسیر کدی که نوشته بودیم رو به معادل های پایتون و جاوااسکریپتیشون هم تبدیل کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت اولین ربات تلگرامیمون رو با استفاده از زبان برنامهنویسی PHP نوشتیم، در واقع کدی نوشتیم که با استفاده از اون میتونستیم به سرور تلگرام درخواست بفرستیم و این مثال رو با PHP شروع کردیم و در ادامه مسیر کدی که نوشته بودیم رو به معادل های پایتون و جاوااسکریپتیشون هم تبدیل کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥5
💠 قسمت هشتم - شروع به نوشتن کتابخانه TDXLib با استفاده از PHP (اختیاری)
در این قسمت که اختیاری هست، پروژه کتابخانه TDXLib رو با استفاده از زبان PHP شروع کردیم و توضیح دادیم که اساس کار این کتابخونه به چه صورتی هست تا اگر کسی علاقهمند بود در سایر زبانها TDXLib رو بازنویسی کنه
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت که اختیاری هست، پروژه کتابخانه TDXLib رو با استفاده از زبان PHP شروع کردیم و توضیح دادیم که اساس کار این کتابخونه به چه صورتی هست تا اگر کسی علاقهمند بود در سایر زبانها TDXLib رو بازنویسی کنه
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥7
💠 قسمت نهم - اضافه کردن متدهای بیشتر به کتابخانه TDXLib (اختیاری)
در این قسمت که اختیاری هست و ادامه قسمت قبل هست، یکسری متدهای دیگهای رو به کتابخانه TDXLib اضافه کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت که اختیاری هست و ادامه قسمت قبل هست، یکسری متدهای دیگهای رو به کتابخانه TDXLib اضافه کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥5
💠 قسمت دهم - توضیح مفهوم WebHook و پیادهسازی آن در PHP و Python و JavaScript
در این قسمت درمورد مفهوم WebHook توضیح دادیم و نحوه عملی پیادهسازی وبهوک رو در زبان PHP بدون استفاده از ابزار های جانبی توضیح دادیم، همچنین کدی که نوشته بودیم رو به پایتون و جاوااسکریپت تبدیل کردیم و البته که به ارور های عجیب و غریب NodeJS سمت سرور خوردیم و تقریبا نیمساعت آخر ویدیو برای دیباگ کردن کد JS مون تلف شد، اگر نمیخواهید وقتتون اتلاف دیباگ بشه میتونید نیم ساعت آخر رو نبینید (:
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت درمورد مفهوم WebHook توضیح دادیم و نحوه عملی پیادهسازی وبهوک رو در زبان PHP بدون استفاده از ابزار های جانبی توضیح دادیم، همچنین کدی که نوشته بودیم رو به پایتون و جاوااسکریپت تبدیل کردیم و البته که به ارور های عجیب و غریب NodeJS سمت سرور خوردیم و تقریبا نیمساعت آخر ویدیو برای دیباگ کردن کد JS مون تلف شد، اگر نمیخواهید وقتتون اتلاف دیباگ بشه میتونید نیم ساعت آخر رو نبینید (:
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥8
💠 قسمت یازدهم - نکات استفاده از WebHook
در این قسمت بهدلیل طولانی شدن قسمت قبلی، نکاتی که از جلسه قبل درمورد وبهوک یادمون رفته بود بگیم رو گفتیم و بررسی کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت بهدلیل طولانی شدن قسمت قبلی، نکاتی که از جلسه قبل درمورد وبهوک یادمون رفته بود بگیم رو گفتیم و بررسی کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥6
💠 قسمت دوازدهم - نصب افزونه OpenSwoole برای PHP
در این قسمت افزونه OpenSwoole رو برای PHP کامپایل و نصب کردیم و مشکلاتی که حین نصب بهش بر میخوردیم رو حل کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت افزونه OpenSwoole رو برای PHP کامپایل و نصب کردیم و مشکلاتی که حین نصب بهش بر میخوردیم رو حل کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥6