اگر با ابزار curl آشنا باشید و کار کرده باشید، احتمالا ابزار جدید trurl هم براتون جالب باشه، یکی از ابزار هایی که جای خالیاش واقعا حس میشد و جدیدا توسعه داده شده و معرفی شده
ابزار trurl رو سازنده curl نوشته و در واقع بخش زیادی از کدش هم از libcurl استفاده شده و در عمل، یک ابزار همه کاره برای ساخت/تجزیه انواع مختلف URL با پروتکل های مختلف هست
در واقع مثل ابزار tr روی url هست و البته که استفاده اش صرفا به tr محدود نمیشه، یک ابزار قدرتمند همه کاره که میتونید بهش هرنوع url ای بدید و بهتون بهشکل های مختلف parse کنه و مقادیری مثل scheme و domain و query و port و protocol و ... بده
یا میتونید برعکس اینکار رو انجام بدید و بهش مقادیر مختلف رو بدید تا براتون کار یک URL Builder رو انجام بده
معمولا ما برای هندل کردن URL هامون از Regex استفاده میکنیم در زبان های مختلف، که تا حدودی هم جواب میده ولی خب URL ها خیلی خیلی میتونند پیچیده باشند، برای همین چنین ابزاری واقعا جای خالیاش حس میشد
مثلا برای یک IP میتونیم رجکس بنویسیم که 127.0.0.1 رو تشخیص بده، ولی آیپی بالا در واقع معادل 127.1 هست و کاملا هم ولید هست، ولی کمتر جایی پیدا میشه که آیپی دو بخشی رو هندل کرده باشه، این ابزار میتونه چنین کار هایی رو برامون آسونتر کنه
درمورد اینکه آیا از این به بعد باید توی پروژههامون استفاده کنیم یا نه، جای بحث وجود داره، چون که ابزار جدیدی هست و بهصورت دیفالت روی همه محیطها نصب نیست و باید بهصورت جداگانه نصب بشه، ولی خب با گذشت یکی دو سال حدس میزنم مثل curl جا بیوفته و توی اکثر محیطها بهصورت دیفالت نصب باشه و بتونیم استفاده کنیم
البته منظورم از نصب بودن دیفالت، برای محیط های هاستینگ یا ... هست که دسترسی روت نداریم، اگر سرور یا سیستمی دارید که میتونید روش پکیج نصب کنید، قطعا trurl میتونه کمک خوبی بکنه
https://github.com/curl/trurl
ابزار trurl رو سازنده curl نوشته و در واقع بخش زیادی از کدش هم از libcurl استفاده شده و در عمل، یک ابزار همه کاره برای ساخت/تجزیه انواع مختلف URL با پروتکل های مختلف هست
در واقع مثل ابزار tr روی url هست و البته که استفاده اش صرفا به tr محدود نمیشه، یک ابزار قدرتمند همه کاره که میتونید بهش هرنوع url ای بدید و بهتون بهشکل های مختلف parse کنه و مقادیری مثل scheme و domain و query و port و protocol و ... بده
یا میتونید برعکس اینکار رو انجام بدید و بهش مقادیر مختلف رو بدید تا براتون کار یک URL Builder رو انجام بده
معمولا ما برای هندل کردن URL هامون از Regex استفاده میکنیم در زبان های مختلف، که تا حدودی هم جواب میده ولی خب URL ها خیلی خیلی میتونند پیچیده باشند، برای همین چنین ابزاری واقعا جای خالیاش حس میشد
مثلا برای یک IP میتونیم رجکس بنویسیم که 127.0.0.1 رو تشخیص بده، ولی آیپی بالا در واقع معادل 127.1 هست و کاملا هم ولید هست، ولی کمتر جایی پیدا میشه که آیپی دو بخشی رو هندل کرده باشه، این ابزار میتونه چنین کار هایی رو برامون آسونتر کنه
درمورد اینکه آیا از این به بعد باید توی پروژههامون استفاده کنیم یا نه، جای بحث وجود داره، چون که ابزار جدیدی هست و بهصورت دیفالت روی همه محیطها نصب نیست و باید بهصورت جداگانه نصب بشه، ولی خب با گذشت یکی دو سال حدس میزنم مثل curl جا بیوفته و توی اکثر محیطها بهصورت دیفالت نصب باشه و بتونیم استفاده کنیم
البته منظورم از نصب بودن دیفالت، برای محیط های هاستینگ یا ... هست که دسترسی روت نداریم، اگر سرور یا سیستمی دارید که میتونید روش پکیج نصب کنید، قطعا trurl میتونه کمک خوبی بکنه
https://github.com/curl/trurl
GitHub
GitHub - curl/trurl: a command line tool for URL parsing and manipulation.
a command line tool for URL parsing and manipulation. - curl/trurl
🔥6
یکی از علایق من توی دنیای PHP به اکستنشن OpenSwoole هست که بهعبارتی یک تقویتکننده یا SuperCharger یا انرژیزا برای PHP هست، ولی متاسفانه این اکستنشن توسط یک عده حرفهای بیحوصله نوشته شده و Maintain میشه و راهنما و مستندات درست و حسابی نداره، حتی مستنداتش هم زود به زود منسوخ میشن
در اصل یک فورک از Swoole هست، که خب باز Swoole مستندات بهتری داره ولی اکثرا به زبون نقاشی خرچنگ و قورباغهای هست (نمیدونم چینیه یا ژاپنی یا کرهای)
در حالت کلی، حداقل من کامیونیتی فعالی از اوپنسوله ندیدم و به همین دلیل تصمیم گرفتم که یک گروه براش بزنم بهآدرس @OpenSwoole و اگر علاقهمند بودید بهش میتونید جوین بشید
داخلش هم سعی میکنیم درمورد اوپنسوله و پرفرمنس توی PHP و قصه های این مدلی صحبت کنیم، هرچند که الزاما قرار نیست گروه خیلی اکتیو باشه، بیشتر برای همون پرسش و پاسخ یا سوال درمورد سوله میتونه مفید باشه
در اصل یک فورک از Swoole هست، که خب باز Swoole مستندات بهتری داره ولی اکثرا به زبون نقاشی خرچنگ و قورباغهای هست (نمیدونم چینیه یا ژاپنی یا کرهای)
در حالت کلی، حداقل من کامیونیتی فعالی از اوپنسوله ندیدم و به همین دلیل تصمیم گرفتم که یک گروه براش بزنم بهآدرس @OpenSwoole و اگر علاقهمند بودید بهش میتونید جوین بشید
داخلش هم سعی میکنیم درمورد اوپنسوله و پرفرمنس توی PHP و قصه های این مدلی صحبت کنیم، هرچند که الزاما قرار نیست گروه خیلی اکتیو باشه، بیشتر برای همون پرسش و پاسخ یا سوال درمورد سوله میتونه مفید باشه
🔥6
افزونه CArray همونطوری که از اسمش هم پیداست، یک جایگزین پرسرعت برای آرایه های عددی PHP هست که میتونید برای محاسباتتون استفاده کنید
طبق گفته خودش، از کد NumPy الگو گرفته و برای محاسبات روی آرایه های عددی گزینه خیلی خیلی سریعتر و با Memory Footprint کمتری هست
https://github.com/phpsci/phpsci-carray
طبق گفته خودش، از کد NumPy الگو گرفته و برای محاسبات روی آرایه های عددی گزینه خیلی خیلی سریعتر و با Memory Footprint کمتری هست
https://github.com/phpsci/phpsci-carray
GitHub
GitHub - phpsci/phpsci-carray: PHP library for scientific computing powered by C
PHP library for scientific computing powered by C. Contribute to phpsci/phpsci-carray development by creating an account on GitHub.
🔥4
| Erfan's Notes |
افزونه CArray همونطوری که از اسمش هم پیداست، یک جایگزین پرسرعت برای آرایه های عددی PHP هست که میتونید برای محاسباتتون استفاده کنید طبق گفته خودش، از کد NumPy الگو گرفته و برای محاسبات روی آرایه های عددی گزینه خیلی خیلی سریعتر و با Memory Footprint کمتری…
و البته اینکه، من دو قسمت ویدیو ضبط کردم برای توضیح و شروع کار با OpenSwoole که لینکشون رو قرار میدم که اگر علاقهمند بودید ببینید
⭕️ توضیح مکانیسم OpenSwoole
⭕️ نصب و اولین پروژه با OpenSwoole
⭕️ توضیح مکانیسم OpenSwoole
⭕️ نصب و اولین پروژه با OpenSwoole
Telegram
Erfan in OpenSwoole
قسمت اول - معرفی و توضیح مکانیسم OpenSwoole
🔥1
شاید براتون جالب باشه، کتابخونهای وجود داره که بهتون اجازه میده با سینتکس 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