💠 قسمت دوازدهم - نصب افزونه OpenSwoole برای PHP
در این قسمت افزونه OpenSwoole رو برای PHP کامپایل و نصب کردیم و مشکلاتی که حین نصب بهش بر میخوردیم رو حل کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت افزونه OpenSwoole رو برای PHP کامپایل و نصب کردیم و مشکلاتی که حین نصب بهش بر میخوردیم رو حل کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥6
💠 قسمت سیزدهم - نصب کتابخانه TDXLib و نحوه استفاده در PHP
در این قسمت نحوه نصب کتابخانه TDXLib رو با استفاده از Composer در PHP توضیح دادیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت نحوه نصب کتابخانه TDXLib رو با استفاده از Composer در PHP توضیح دادیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥4
💠 قسمت چهاردهم - ایجاد ساختار یک ربات با استفاده از OpenSwoole و TDXLib
در این قسمت یک اسکلتبندی یا Boilerplate از یک ربات تلگرامی که از OpenSwoole و TDXLib استفاده میکنه رو ایجاد کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت یک اسکلتبندی یا Boilerplate از یک ربات تلگرامی که از OpenSwoole و TDXLib استفاده میکنه رو ایجاد کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥5
💠 قسمت پانزدهم - توسعه ربات آنتیاسپم و مدیریت گروه (نیازسنجی و ایجاد ساختار)
در این قسمت شروع کردیم به توسعه یک ربات تلگرام واقعی با استفاده از TDXLib در محیط OpenSwoole با زبان PHP، در قسمت اول از نوشتن این ربات ابتدا بهصورت تئوری و روی بورد نیازسنجیهای ربات رو انجام دادیم و بعدش ساختار کلی ربات رو پیادهسازی کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت شروع کردیم به توسعه یک ربات تلگرام واقعی با استفاده از TDXLib در محیط OpenSwoole با زبان PHP، در قسمت اول از نوشتن این ربات ابتدا بهصورت تئوری و روی بورد نیازسنجیهای ربات رو انجام دادیم و بعدش ساختار کلی ربات رو پیادهسازی کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥5
💠 قسمت شانزدهم - توسعه ربات آنتیاسپم و مدیریت گروه (گروه، خصوصی، کالبک)
در این قسمت کدهای مربوط به بخش پیامهای گروه و پیامهای خصوصی ربات رو نوشتیم و همچنین Callback Query های ربات رو هندل کردیم و توضیح دادیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت کدهای مربوط به بخش پیامهای گروه و پیامهای خصوصی ربات رو نوشتیم و همچنین Callback Query های ربات رو هندل کردیم و توضیح دادیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥5
💠 قسمت هفدهم - توسعه ربات آنتیاسپم و مدیریت گروه (سیستم درجهکاربری)
در این قسمت برای دستورات رباتمون سیستم درجهکاربری تعیین کردیم و به هر درجهکاربری یکسری دسترسی هایی دادیم و برای دستوراتمون هم یکسری پیشنیاز هایی تعریف کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت برای دستورات رباتمون سیستم درجهکاربری تعیین کردیم و به هر درجهکاربری یکسری دسترسی هایی دادیم و برای دستوراتمون هم یکسری پیشنیاز هایی تعریف کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥5
💠 قسمت هجدهم - توسعه ربات آنتیاسپم و مدیریت گروه (دستورات مدیریتی)
در این قسمت دستورات مدیریتی ربات از جمله بن و میوت و آنبن و آنمیوت و ... رو پیادهسازی کردیم و تقریبا ربات ساده آنتیاسپم گروهمون رو تکمیل کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت دستورات مدیریتی ربات از جمله بن و میوت و آنبن و آنمیوت و ... رو پیادهسازی کردیم و تقریبا ربات ساده آنتیاسپم گروهمون رو تکمیل کردیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥4
💠 قسمت نوزدهم - توسعه ربات آنتیاسپم و مدیریت گروه (مکانیسم Reload ربات)
در این قسمت نحوه اضافه کردن مکانیسم Reload کردن ربات رو در OpenSwoole توضیح دادیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
در این قسمت نحوه اضافه کردن مکانیسم Reload کردن ربات رو در OpenSwoole توضیح دادیم
⭕️ مشاهده ویدیو
💎 @ErfanMola
🔥4
اگه توی پروژههاتون از Vite استفاده میکنید، یک باگ امنیتی مهم پیدا شده داخلش که اجازه دسترسی UnAuthorized به دایرکتوری root وباپلیکیشنتون رو میده، از خطرات این قضیه میتونه دسترسی پیدا کردن به سورسکد یا حتی dotFile هایی مثل .env یا ... باشه
مشکل از جایی ناشی میشه که از server.fs.deny استفاده کنید و توی مقداری که بهش میدید از // استفاده کنید، پس اگه استفاده کردید، حتما به آخرین نسخه آپدیت کنید
جزئیات آسیبپذیری رو میتونید توی گیتهاب ببینید
https://github.com/advisories/GHSA-353f-5xf4-qw67
مشکل از جایی ناشی میشه که از server.fs.deny استفاده کنید و توی مقداری که بهش میدید از // استفاده کنید، پس اگه استفاده کردید، حتما به آخرین نسخه آپدیت کنید
جزئیات آسیبپذیری رو میتونید توی گیتهاب ببینید
https://github.com/advisories/GHSA-353f-5xf4-qw67
GitHub
CVE-2023-34092 - GitHub Advisory Database
Vite Server Options (server.fs.deny) can be bypassed using double forward-slash (//)
🔥7
یکی از کمبودهایی که در PHP وجود داشته و داره، وجود یک کلاینت سوکت Async بوده و هست
با استفاده از افزونههایی مثل OpenSwoole و … میتونید یک سوکتسرور Async یا Non-Blocking داشته باشید
ولی اگر بخواهیم سوکتکلاینت داشته باشیم، باید چیکار کنیم؟
امروز با این کتابخونه جذاب آشنا شدم که این قابلیت رو میده، توسط توسعهدهنده ReactPHP هم توسعه داده شده و کلی قابلیت دیگه هم داره
جایگزین معقولی میتونه باشه برای socket.io در سمت کلاینت
https://github.com/reactphp/socket
با استفاده از افزونههایی مثل OpenSwoole و … میتونید یک سوکتسرور Async یا Non-Blocking داشته باشید
ولی اگر بخواهیم سوکتکلاینت داشته باشیم، باید چیکار کنیم؟
امروز با این کتابخونه جذاب آشنا شدم که این قابلیت رو میده، توسط توسعهدهنده ReactPHP هم توسعه داده شده و کلی قابلیت دیگه هم داره
جایگزین معقولی میتونه باشه برای socket.io در سمت کلاینت
https://github.com/reactphp/socket
GitHub
GitHub - reactphp/socket: Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP.
Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP. - reactphp/socket
🔥7
من معمولا با دیزاینسیستمهای یکپارچه CSS که سایت های شبیه هم تحویل میدند، مخالف هستم و از جملهاش میشه به Bootstrap و … اشاره کرد
ولی حقیقتا نمیشه درمورد Chakra UI نظر بدی داشت، اگر خواستید تست کنید، برای React هست بهصورت دیفالت ولی خب برای VueJS و … هم داکیومنت داره
https://chakra-ui.com
ولی حقیقتا نمیشه درمورد Chakra UI نظر بدی داشت، اگر خواستید تست کنید، برای React هست بهصورت دیفالت ولی خب برای VueJS و … هم داکیومنت داره
https://chakra-ui.com
Chakra-Ui
Chakra UI
Simple, Modular & Accessible UI Components for your React Applications
🔥7
به نظر میرسه که اینستاگرام نخواسته برای هومپیج threads.net هزینه کنه، گفته فعلا یه چیزی بزنید بعدا که پول دستمون اومد اوکی میکنیم
🔥4
| Erfan's Notes |
به نظر میرسه که اینستاگرام نخواسته برای هومپیج threads.net هزینه کنه، گفته فعلا یه چیزی بزنید بعدا که پول دستمون اومد اوکی میکنیم
البته توی نسخه دسکتاپش متوجه شدم که سهبعدی هست و یک Multi Instance بر محور Helix هست، اگر علاقهمند بودید چنین چیزی بسازید میتونید لینک زیر رو ببینید، پرفرمنس Instancing داخل ThreeJS فوقالعاده خوب هست و کلا یک عدد Draw Call داره به WebGL
https://threejs.org/examples/webgl_instancing_performance.html
https://threejs.org/examples/webgl_instancing_performance.html
🔥4
اولین نسخه آلفا 8.3.0 از PHP به تازگی منتشر شده که میتونید بهصورت PreRelease دانلودش کنید
از جمله قابلیت هایی که توی این نسخه به PHP اضافه شده میتونیم به موارد زیر اشاره کنیم:
💠 بهبود هایی برای پراپرتیهای read-only اضافه شده
💠 متد json_validate اضافه شده و دقیقا از الگوریتم استفاده شده در json_decode استفاده میکنه
💠 بسیاری از جاها قابلیت type declaration اضافه شده
و لیست کاملی از تغییرات که میتونید اینجا بخونید:
https://github.com/php/php-src/blob/php-8.3.0alpha1/UPGRADING
از جمله قابلیت هایی که توی این نسخه به PHP اضافه شده میتونیم به موارد زیر اشاره کنیم:
💠 بهبود هایی برای پراپرتیهای read-only اضافه شده
💠 متد json_validate اضافه شده و دقیقا از الگوریتم استفاده شده در json_decode استفاده میکنه
💠 بسیاری از جاها قابلیت type declaration اضافه شده
و لیست کاملی از تغییرات که میتونید اینجا بخونید:
https://github.com/php/php-src/blob/php-8.3.0alpha1/UPGRADING
GitHub
php-src/UPGRADING at php-8.3.0alpha1 · php/php-src
The PHP Interpreter. Contribute to php/php-src development by creating an account on GitHub.
🔥7
اگر PHP کار میکنید و از زبان های دیگهای مثل C بهش مهاجرت کردید، با استفاده از قابلیت FFI در PHP میتونید کد هایی که به سایر زبانها نوشتید رو داخل PHP استفاده کنید
مبحث FFI یا Foreign Function Interface در PHP ما اجازه میده که کد هامون رو با زبان C بنویسیم و بدون نیاز به کامپایل یا تبدیل به اکستنشن و …، به صورت مستقیم در PHP استفاده کنیم
با استفاده از اینترفیس FFI شما میتونید به صورت مستقیم از داخل PHP کتابخانه های پسوند dll یا so رو لود کنید و با API های سطح پایین سیستم کار کنید
البته که نوشتن بخشی از برنامه با C الزاما به معنی افزایش پرفرمنس نیست، بلکه در حال حاضر دیتا تایپ های FFI تقریبا دو برابر کندتر از دیتا تایپ های خود PHP هستند
ولی خب، میتونید برنامه هایی رو بنویسید که مموری خیلی کمتری مصرف میکنند
برای مطالعه بیشتر میتونید از لینک زیر شروع کنید
https://www.php.net/manual/en/ffi.examples-basic.php
مبحث FFI یا Foreign Function Interface در PHP ما اجازه میده که کد هامون رو با زبان C بنویسیم و بدون نیاز به کامپایل یا تبدیل به اکستنشن و …، به صورت مستقیم در PHP استفاده کنیم
با استفاده از اینترفیس FFI شما میتونید به صورت مستقیم از داخل PHP کتابخانه های پسوند dll یا so رو لود کنید و با API های سطح پایین سیستم کار کنید
البته که نوشتن بخشی از برنامه با C الزاما به معنی افزایش پرفرمنس نیست، بلکه در حال حاضر دیتا تایپ های FFI تقریبا دو برابر کندتر از دیتا تایپ های خود PHP هستند
ولی خب، میتونید برنامه هایی رو بنویسید که مموری خیلی کمتری مصرف میکنند
برای مطالعه بیشتر میتونید از لینک زیر شروع کنید
https://www.php.net/manual/en/ffi.examples-basic.php
🔥13
Forwarded from Milad Nouri(ツ) میلاد نوری
نیتیو پیاچپی (NativePHP) که لحظاتی پیش در کنفرانس Laracon معرفی شد، به شما این امکان رو میده با زبان PHP، برنامههای دسکتاپ بنویسید.
سایت:
https://nativephp.com
گیتهاب:
https://github.com/nativephp/laravel
📝 @MiladNouriChannel
سایت:
https://nativephp.com
گیتهاب:
https://github.com/nativephp/laravel
📝 @MiladNouriChannel
🔥5
Milad Nouri(ツ) میلاد نوری
نیتیو پیاچپی (NativePHP) که لحظاتی پیش در کنفرانس Laracon معرفی شد، به شما این امکان رو میده با زبان PHP، برنامههای دسکتاپ بنویسید. سایت: https://nativephp.com گیتهاب: https://github.com/nativephp/laravel 📝 @MiladNouriChannel
چیز جالبی به نظر میرسه ولی دلیلی برای هایپ برای این موضوع نداره چون چیز جدیدی نیست، از سالیان دور PHPGTK هم وجود داشته ولی خب دلیل عدم محبوبیتش این هست که: واقعا ساختار PHP مناسب چیزی جز محیط سرور نیست
در حالت کلی، با چنگال هم میشه سوپ خورد ولی تا زمانی که قاشق هست، معقول نیست
در حالت کلی، با چنگال هم میشه سوپ خورد ولی تا زمانی که قاشق هست، معقول نیست
🔥6
| Erfan's Notes |
Photo
پروژه KPHP به شما اجازه میده که کد هایی که با سینتکس PHP نوشتید رو به زبان CPP ترنسپایل کنید و بعدش به کد ماشین کامپایل کنید
این پروژه چیز جدیدی نیست و از چند سال پیش وجود داشته، در واقع توسط VK.com توسعه داده شده برای استفاده شخصی خودشون داخل سایت و من بار ها میخواستم امتحان کنم ولی فرصت نمیشد، تا اینکه امروز بالاخره امتحانش کردم و بنچمارکی که گرفتم رو هم داخل تصویر قرار دادم
در تصویر بالا، در سمت راست بنچمارک سرور OpenSwoole هست و در سمت چپ بنچمارک سرور KPHP هست، کدی که برای بنچمارک استفاده کردم در واقع echo کردن عبارت "Hello World" بوده و میتونید ببینید که OpenSwoole به لحاظ RPS حتی بهتر از کد کامپایل شده وبسرور KPHP عمل کرده!
البته که بنچمارک من جنبه عمومی نداره و صرفا در سادهترین حالت تست وبسرور انجام شده، طبیعتا یک کد کامپایل شده میتونه دهها یا حتی صدها برابر سریعتر از نسخه تفسیری باشه
اگر بخواهیم KPHP رو با خود PHP عادی مقایسه کنیم، طبیعتا پرفرمنس چند برابری رو با KPHP تجربه میکنیم با توجه به کامپایل شدن کد، ولی خب استفاده از KPHP محدودیت های خیلی زیادی رو به فرایند توسعهمون اضافه میکنه
در حالت کلی به نظر من، این پروژه مختص خود VK.com نوشته شده و نمیارزه که بقیه هم از اون استفاده کنند، با استفاده از PHP های نسخه جدید و OpenSwoole و بهرهگیری از OPCache و JIT میتونیم یک پرفرمنس حداکثری از خود PHP با کلی قابلیتهای دیگه بگیریم
این پروژه چیز جدیدی نیست و از چند سال پیش وجود داشته، در واقع توسط VK.com توسعه داده شده برای استفاده شخصی خودشون داخل سایت و من بار ها میخواستم امتحان کنم ولی فرصت نمیشد، تا اینکه امروز بالاخره امتحانش کردم و بنچمارکی که گرفتم رو هم داخل تصویر قرار دادم
در تصویر بالا، در سمت راست بنچمارک سرور OpenSwoole هست و در سمت چپ بنچمارک سرور KPHP هست، کدی که برای بنچمارک استفاده کردم در واقع echo کردن عبارت "Hello World" بوده و میتونید ببینید که OpenSwoole به لحاظ RPS حتی بهتر از کد کامپایل شده وبسرور KPHP عمل کرده!
البته که بنچمارک من جنبه عمومی نداره و صرفا در سادهترین حالت تست وبسرور انجام شده، طبیعتا یک کد کامپایل شده میتونه دهها یا حتی صدها برابر سریعتر از نسخه تفسیری باشه
اگر بخواهیم KPHP رو با خود PHP عادی مقایسه کنیم، طبیعتا پرفرمنس چند برابری رو با KPHP تجربه میکنیم با توجه به کامپایل شدن کد، ولی خب استفاده از KPHP محدودیت های خیلی زیادی رو به فرایند توسعهمون اضافه میکنه
در حالت کلی به نظر من، این پروژه مختص خود VK.com نوشته شده و نمیارزه که بقیه هم از اون استفاده کنند، با استفاده از PHP های نسخه جدید و OpenSwoole و بهرهگیری از OPCache و JIT میتونیم یک پرفرمنس حداکثری از خود PHP با کلی قابلیتهای دیگه بگیریم
vkcom.github.io
KPHP — a PHP compiler · KPHP compiles a limited subset of PHP, making it run faster than plain PHP
KPHP — a PHP compiler GitHub page KPHP is a PHP compiler. It compiles a limited subset of PHP to a native binary running faster than PHP. KPHP take...
🔥7