| Erfan's Notes |
190 subscribers
81 photos
10 videos
101 links
Download Telegram
💠 قسمت شانزدهم - توسعه ربات آنتی‌اسپم و مدیریت گروه (گروه، خصوصی، کال‌بک)

در این قسمت کد‌های مربوط به بخش پیام‌های گروه و پیام‌های خصوصی ربات رو نوشتیم و همچنین Callback Query های ربات رو هندل کردیم و توضیح دادیم

⭕️ مشاهده ویدیو

💎 @ErfanMola
🔥5
💠 قسمت هفدهم - توسعه ربات آنتی‌اسپم و مدیریت گروه (سیستم درجه‌کاربری)

در این قسمت برای دستورات ربات‌مون سیستم درجه‌کاربری تعیین کردیم و به هر درجه‌کاربری یک‌سری دسترسی هایی دادیم و برای دستورات‌مون هم یک‌سری پیش‌نیاز هایی تعریف کردیم

⭕️ مشاهده ویدیو

💎 @ErfanMola
🔥5
💠 قسمت هجدهم - توسعه ربات آنتی‌اسپم و مدیریت گروه (دستورات مدیریتی)

در این قسمت دستورات مدیریتی ربات از جمله بن و میوت و آن‌بن و آن‌میوت و ... رو پیاده‌سازی کردیم و تقریبا ربات ساده آنتی‌اسپم گروه‌مون رو تکمیل کردیم

⭕️ مشاهده ویدیو

💎 @ErfanMola
🔥4
💠 قسمت نوزدهم - توسعه ربات آنتی‌اسپم و مدیریت گروه (مکانیسم Reload ربات)

در این قسمت نحوه اضافه کردن مکانیسم Reload کردن ربات رو در OpenSwoole توضیح دادیم

⭕️ مشاهده ویدیو

💎 @ErfanMola
🔥4
اگه توی پروژه‌‌هاتون از Vite استفاده می‌کنید، یک باگ امنیتی مهم پیدا شده داخلش که اجازه دسترسی UnAuthorized به دایرکتوری root وب‌اپلیکیشن‌تون رو میده، از خطرات این قضیه می‌تونه دسترسی پیدا کردن به سورس‌کد یا حتی dotFile هایی مثل .env یا ... باشه

مشکل از جایی ناشی می‌شه که از server.fs.deny استفاده کنید و توی مقداری که بهش میدید از // استفاده کنید، پس اگه استفاده کردید، حتما به آخرین نسخه آپدیت کنید

جزئیات آسیب‌پذیری رو می‌تونید توی گیت‌هاب ببینید
https://github.com/advisories/GHSA-353f-5xf4-qw67
🔥7
یکی از کمبودهایی که در PHP وجود داشته و داره، وجود یک کلاینت سوکت Async بوده و هست

با استفاده از افزونه‌هایی مثل OpenSwoole و … می‌تونید یک سوکت‌سرور Async یا Non-Blocking داشته باشید

ولی اگر بخواهیم سوکت‌کلاینت داشته باشیم، باید چیکار کنیم؟

امروز با این کتابخونه جذاب آشنا شدم که این قابلیت رو می‌ده، توسط توسعه‌دهنده ReactPHP هم توسعه داده شده و کلی قابلیت دیگه هم داره

جایگزین معقولی می‌تونه باشه برای socket.io در سمت کلاینت

https://github.com/reactphp/socket
🔥7
من معمولا با دیزاین‌سیستم‌های یکپارچه CSS که سایت های شبیه هم تحویل می‌دند، مخالف هستم و از جمله‌اش می‌شه به Bootstrap و … اشاره کرد

ولی حقیقتا نمی‌شه درمورد Chakra UI نظر بدی داشت، اگر خواستید تست کنید، برای React هست به‌صورت دیفالت ولی خب برای VueJS و … هم داکیومنت داره

https://chakra-ui.com
🔥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
🔥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
🔥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
🔥13
Forwarded from Milad Nouri(ツ) میلاد نوری
نیتیو پی‌اچ‌پی (NativePHP) که لحظاتی پیش در کنفرانس Laracon معرفی شد، به شما این امکان رو می‌ده با زبان PHP، برنامه‌های دسکتاپ بنویسید.

سایت:
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 با کلی قابلیت‌های دیگه بگیریم
🔥7
یکی از مباحث جالبی که باهاش می‌تونید وارد دنیای سه‌بعدی توی محیط وب بشید، ساخت دریا هست

سمپلی که در این لینک هست به صورت واضح این مبحث رو به تصویر کشیده

روال کار به این صورت هست که در دنیای سه بعدی، تمامی Geometry ها از چندضلعی‌هایی مثل مثلث تشکیل شدند

برای ساخت یک دریا کافی هست که یک Plane بزرگ ایجاد کنیم که متشکل از تعداد زیادی از مثلث هست، بعدش کافی هست که راس های مثلث رو به صورت x و y و z تغییر بدیم تا افکت موج و دریا به وجود بیاد
🔥5
| Erfan's Notes |
یکی از مباحث جالبی که باهاش می‌تونید وارد دنیای سه‌بعدی توی محیط وب بشید، ساخت دریا هست سمپلی که در این لینک هست به صورت واضح این مبحث رو به تصویر کشیده روال کار به این صورت هست که در دنیای سه بعدی، تمامی Geometry ها از چندضلعی‌هایی مثل مثلث تشکیل شدند …
و البته که در این صفحه می‌تونید مثال‌هایی از تمامی قابلیت های ThreeJS ببینید و به قدرتش پی ببرید

یادگیری WebGL و ThreeJS یا حداقل استفاده از ابزار های آماده برای طراحی سه‌بعدی در محیط وب، الان یک "باید" محسوب می‌شه برای کسی که خودش رو فرانت‌کار می‌دونه

https://threejs.org/examples/
🔥2
موافق ایجاد یک گروه فارسی برای وب سه‌بعدی (Spline، ThreeJS، …) هستید؟
Anonymous Poll
76%
موافق هستم
24%
!(موافق هستم)