828
Subscribers
+124 hours
+37 days
+2230 days
Posts Archive
828
در لاراول اگه بخوایم query ما نتایج تکراری رو حذف کنه، از کدام متود باید استفاده کنیم؟
828
اگه بخواید سرعت پروژهتون (مثل زمان اجرای یک query) رو بررسی کنید و بخشهای کند رو پیدا کنید تا بتونید بهبودش بدید، میتونید از کلاس Benchmark در لاراول استفاده کنید. 🔥
این کلاس به شما کمک میکنه تا مدت زمانی که یه عملیات خاص انجام میده رو بدست بیارید و قسمتهایی که نیاز به بهبود دارن رو شناسایی کنید.
(نحوه استفادش هم در تصویر شرح داده شده)
@GoldenCodeir
#Laravel
(به منبع و مثالش توجه کنین 👇🏾)
https://x.com/laravelbackpack/status/1900162434356432927?t=eC4AGkAMOS2InxZQSXWKkw&s=35
828
Repost from DevTwitter | توییت برنامه نویسی
یه راه حل خیلی ساده برای بالا بردن performance برنامههایی که با PHP نوشتیم:
یکی از مشکلاتی که در PHP وجود داره، مقیاسپذیری و سرعت پایین پردازشهای همزمان هست. یکی از راه حلها استفاده از FrankenPHP میتونه باشه.
در حالت عادی، وقتی برنامه PHP اجرا میشه، هر بار که درخواست جدیدی میاد، PHP باید اسکریپتها رو از نو بارگذاری کنه. این فرآیند باعث میشه که زمان بارگذاری و پاسخدهی افزایش پیدا کنه، مخصوصاً توی برنامههای سنگین یا با ترافیک بالا.
اما با FrankenPHP، این فرآیند تغییر میکنه. FrankenPHP به جای اینکه هر بار اسکریپتها رو دوباره بازگذاری کنه، فقط یک بار فایلهای PHP رو کش میکنه و از همون نسخه کش شده برای درخواستهای بعدی استفاده میکنه. این یعنی توی درخواستهای بعدی دیگه نیاز به اجرای دوباره نیست و PHP خیلی سریعتر جواب میده.
مزایاش چیه؟
سرعت بیشتر: با استفاده از FrankenPHP، کدهای PHP سریعتر اجرا میشن. این یعنی میتونید تعداد درخواستهای بیشتری رو در یک زمان پردازش کنید و بار ترافیکی بالا رو بهتر مدیریت کنید.
برای میکروسرویسها مناسبه: اگر دارید یک سیستم میکروسرویسی میسازید، FrankenPHP میتونه به شدت کمک کنه چون برای این نوع معماری ساخته شده و سرعت و مقیاسپذیری بالایی داره.
مقیاسپذیری راحتتر: FrankenPHP به شما این امکان رو میده که به راحتی مقیاس پروژههاتون رو افزایش بدید بدون اینکه از سرعت و عملکرد کم بشه.
پردازش همزمان: این پلتفرم کمک میکنه که پردازشهای سنگین رو در پسزمینه انجام بدید و در عین حال از سرعت کلی سیستم کاسته نشه.
اگر برنامهای دارید که باید با سرعت بالا به درخواستها پاسخ بده یا نیاز به مقیاسپذیری بیشتر در محیطهای ابری داره، یه سر به FrankenPHP بزنید. با Laravel Octane هم خیلی راحت میشه از FrankenPHP در لاراول استفاده کرد.
@DevTwitter | <Iman Rajabi/>
828
در لاراول میتونیم از متودهایی مثل throwIfStatus برای مدیریت خودکار خطاهامون در هنگام ارسال request به API استفاده کنیم.
این متودها به ما کمک میکنن تا اگه وضعیت response یک API بصورت خطا (مثلا ۴۰۰ یا ۵۰۰) باشه، خودش بطور خودکار یک exception مناسب ایجاد کنه و ما دیگه نیازی به بررسی دستی وضعیت response نخواهیم داشت.
(من فقط یکی ازین متودارو گفتم، مابقیش و چگونگیه استفاده ازین دسته متود ها در تصویر ذکر)
#Laravel
@GoldenCodeir
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/OussamaMater/status/1898800422476788177?t=sQquSOys96KZAxj7UNeTlQ&s=1
828
Repost from آموزش لاراول | LaravelHub
📌 امروز وقتی وارد سرور ویندوزی خودم شدم، یه حس عجیبی داشتم... انگار یه چیزی درست نبود! کمی که دقت کردم، متوجه چند مورد مشکوک شدم و با خودم گفتم: "نکنه هک شدم؟!" 😨
اگه شما هم همچین حسی داشتید، این چکلیست امنیتی رو دنبال کنید تا بفهمید کسی به سرورتون نفوذ کرده یا نه!
✅ ۱. بررسی کاربران جدید
🔹 توی جستجوی ویندوز، عبارت User رو تایپ کنید.
🔹 به بخش Local Users and Groups برید.
🔹 نباید کاربر ناشناسی توی لیست باشه! اگه بود، فوراً حذفش کنید.
✅ ۲. چک کردن لاگهای ورود و خروج
🔹 دکمههای Win + R رو بزنید و تایپ کنید:
eventvwr.msc🔹 بعد برید به مسیر:
Windows Logs > Security🔹 دنبال Event ID 4624 (ورود موفق) و Event ID 4625 (ورود ناموفق) بگردید. اگه آیپی مشکوک دیدید، یعنی کسی غیر از شما وارد شده! 🚨 ✅ ۳. بررسی اتصالات فعال به سرور 🔹 CMD رو باز کنید و این دستور رو بزنید:
netstat -an | findstr "ESTABLISHED"🔹 اگه آیپیهای ناشناس توی لیست بود، یعنی کسی هنوز به سرورتون وصله! 😱 ✅ ۴. چک کردن پردازشهای مشکوک 🔹 Task Manager رو باز کنید (Ctrl + Shift + Esc) 🔹 توی تب Processes ببینید برنامهای هست که نباید باشه؟ 🔹 اگه اسم عجیبوغریب داشت، فوراً End Task کنید! ✅ ۵. بستن دسترسی هکر 🔹 رمز عبور ادمین رو عوض کنید. 🔹 پورت 3389 (RDP) رو توی فایروال ببندید. 🔹 فقط آیپیهای مطمئن رو مجاز کنید. 🔹 با آنتیویروس یه اسکن کامل بزنید. ⚠️ اگه این مراحل رو انجام دادید و چیزی مشکوک پیدا کردید، یعنی سرورتون هک شده! سریعاً اقدام کنید و امنیت رو بالا ببرید. 📢 این مطلبو برای دوستات بفرست که امنیت سرورشون حفظ بشه! 🔐💻 #کدنویسی #امنیت #کشف_جرایم_رایانه_ای 🔥⚡️ کانال آموزشی LaravelHub @LaravelHub
828
متود times در لاراول بهتون این امکان رو میده که یک کار رو چندین بار به راحتی بتونید تکرار کنید بدون نیاز به نوشتن for یا foreach. یعنی شما میگید که یک کار رو مثلاً ۵ بار انجام بده، و لاراول به طور خودکار اون کار رو ۵ بار براتون انجام میده.
کاربردش؟؟
مثلا در تست نویسی(ایجاد رکورد با تعداد مدنظر در دیتابیس)
چجوری کار میکنه؟
در هر تکرار، شمارهی تکرار (که در اینجا number$ هستش) به closure داده میشه و میتونین ازش برای انجام کاری مثل چاپ پیام یا پردازش دیتای مدنظر استفاده کنین.
#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/laravelbackpack/status/1896538556551884968?t=q22doKctgbLdIHAW0U24uA&s=35
828
به گفته ی تیلور:
نسخه ی جدید از لاراول ۱۲ ، روز دوشنبه منتشر میشه که بیشتر بروزرسانی dependency ها و یه سری اصلاحات جزئی رو شامل میشه که در نتیجه تغییرات زیادی در کد برنامهها ایجاد نخواهد کرد.
به همین دلیل بیشتر برنامهها میتونن بدون اعمال تغییر در کد، ازین نسخه استفاده کنند. تمرکز این نسخه از لاراول بر روی بروزرسانی dependency ها، سازگاری با نسخههای جدید PHP و معرفی ویژگیهای جدید هستش.
همچنین هفته آینده ابزارهای جدیدی مانند laravel cloud و starter kit های جدید منتشر میشن.
#Laravel
@GoldenCodeir
https://x.com/taylorotwell/status/1892337776298787188?t=aGz1lPyzd2Wy6zXmwpgUJQ&s=35
828
وقتی که نیاز داریم چندین کلاس رو از یک namespace وارد کنیم، معمولاً هر کدوم رو با use جداگانه درج میکنیم. اما میشه همهی این کلاس هارو توی یک خط use کنیم!
چجوری؟
use Namespace\{ClassA, ClassB, ClassC};
مزایاش چیه؟؟
تمیزتر شدن و کمتر شدنه تعداد خطوط.
#PHP
#clean_code
@GoldenCodeir
(به منبع و مثالش دقت کنید👇🏾)
https://x.com/laravelbackpack/status/1856313510768324670?t=qOO4OC7jKWvPITFKNSHOtA&s=1828
در MySQL میتونیم با استفاده از Table Partitioning جداول بزرگمونو به بخشهای کوچکتر تقسیم کنیم.
فایدش چیه؟؟
این کار query performance رو خیلی میتونه بهینه تر کنه برامون.
مثلا اگه جدول فروشمون خیلی بزرگ باشه و دیتاش شامل تاریخ فروش باشه، میتونیم جدولمونو بر اساس سال پارتیشنبندی کنیم و خب اینطوری وقتی بخوایم دیتاهای یه سال خاصی رو جستجو کنیم، فقط بخش مربوط به همون یه سال بررسی میشه که خب باعث میشه فرایند جستوجو سرعتش بهینه تر بشه.
#Laravel
@GoldenCodeir
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/mmartin_joo/status/1890023138622116289?t=bgrX4CCiL7eaLwpI9CAdYw&s=35
828
در لاراول یه متود داریم با نام ()lockForUpdate که برای جلوگیری از مشکلات Race Conditions استفاده میشه.
وقتی دو یا چند نفر میخوان بطور همزمان یک دیتا رو تغییر بدن، این متود باعث میشه فقط یکی ازونا بتونه دیتا رو تغییر بده و بقیه منتظر بمونن. این کار از یه سری اشتباها و تداخلهای ممکن پیشگیری میکنه. مثلاً وقتی میخوایم status یه سفارش رو تغییرش بدیم ، lockForUpdate() باعث میشه فقط یه نفر بتونه اونو در لحظه تغییر بده تا اشتباهی رخ نده.
#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/thelarrybarker/status/1889738111980118298?t=zQBNvx5a_46OyE2yF8Y4ng&s=35
828
Repost from Database
وقتی Cache بیشتر از این که کمک کنه، دردسر می سازه!
چند وقت پیش روی یه پروژه بزرگ کار می کردم که توش Redis برای کشینگ استفاده می کردیم. همه چیز خوب پیش می رفت تا اینکه یه روز، یه تغییر ظاهرا بی ضرر تو کد باعث شد کش درست Invalid نشه. نتیجه چی شد؟ کاربرا داده های قدیمی رو می دیدن، بعضیا نمی تونستن اطلاعاتشون رو آپدیت کنن، و پشتیبانی حسابی شلوغ شد!
کش توزیع شده یه شمشیر دولبه ست!
از یه طرف، می تونه فشار روی دیتابیس رو کم کنه و سرعت پاسخ گویی رو بالا ببره، ولی از طرف دیگه، اگه درست مدیریت نشه، مشکلاتی مثل:
مشکل Cache Inconsistency – وقتی دیتا تو کش و دیتابیس ناهماهنگ می شه و بعضی کاربرا داده های قدیمی می بینن.
مشکل Cache Stampede – همه درخواست ها همزمان به کش می رسن و فشار زیادی ایجاد می کنن.
مشکل TTL Misconfiguration – تنظیم اشتباه زمان اعتبار کش که باعث می شه یا دیتا زودتر از حد لازم حذف بشه یا تا مدت زیادی به روز نشه.
اون تجربه یه درس مهم بهم داد: کش چیزی نیست که فقط یه بار تنظیمش کنیم و فراموشش کنیم. باید یه استراتژی کش هوشمند داشته باشیم که همیشه بهینه بمونه.
<Hamed Farzanefar/>
➖➖➖➖➖➖➖➖
https://t.me/addlist/KpzXaiSpKENkMGM0
828
سلام دوستان عزیزم!
قالب ولزون (Velzon)، محبوبترین قالب چندمنظوره جهان، اکنون برای فروش در دسترس است! 🎉
📅 منتشر شده در ۲۰ بهمن 1403
🔗 مشاهده پیشنمایش
با این قالب، سرعت، زیبایی و کارایی را در طراحی تجربه کنید! 🚀💡
828
سلام دوستان عزیزم!
قالب ولزون (Velzon)، محبوبترین قالب چندمنظوره جهان، اکنون برای فروش در دسترس است! 🎉
📅 منتشر شده در ۲۰ بهمن 1403
🔗 مشاهده پیشنمایش
با این قالب، سرعت، زیبایی و کارایی را در طراحی تجربه کنید! 🚀💡
828
Repost from DevTwitter | توییت برنامه نویسی
لاراول 12در 6 اسفند عرضه خواهد شد
تیلور اعلام کرده که نسخه 12 لاراول در تاریخ 6 اسفند 1403 عرضه خواهد شد. به گفته او این اولین نسخه اصلی خواهد بود که بدون تغییرات مخرب (zero-breaking changes) عرضه میشود.
@DevTwitter | <Pouya Farshidnia/>
828
در css قابلیته currentColor به ما این امکانو داده که بتونیم از رنگ متن برای باقیه بخش هامون مثل رنگ border یا background به راحتی استفاده کنیم !
بدونه اینکه مجبور بشیم رنگ رو دوباره بنویسیم.
(در تصویر کامل شرح داده شده👌🏾)
#CSS
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/codewithshripal/status/1882792377305432164?t=FGfvEwhgRi4bz7Xslwg47g&s=19
828
هنگام پیادهسازی عملیات pagination ترتیب عملیات از اهمیت بالایی برخورداره، چون وقتی از توابعی مثل SUM، AVG یا COUNT استفاده میکنین، اگر این توابع قبل از paginate فراخوانی بشن، محاسبات برای تمام دیتاها انجام میشه.
اما اگه پس از paginate استفاده کنیم، محاسبات فقط برای دیتاهای صفحهی جاری انجام میشه.
تاثیرش در تصویر زیر بهتر قابل درکه.
#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنید👇🏾)
https://x.com/laravelbackpack/status/1881680653294752188?t=eRGdYYJK8pSEzU_lkpFc7Q&s=19
828
پیشنهاد میکنم یه گوشه کنار داشته باشیدش که لازمتون میشه
(برگ تقلب SQL - JOIN)
#SQL
@GoldenCodeir
https://x.com/denicmarko/status/1876955314009858322?t=xSdqa7O7oRbJeF0AlfSuSA&s=35
828
در لاراول، برای جلوگیری از اجرای همزمان یک عملیات با استفاده از کش، از کدوم متود باید استفاده کنیم؟
828
قابلیت @ supports به ما این امکان رو داده تا بتونیم بررسی کنیم آیا یک ویژگی CSS توسط مرورگر پشتیبانی میشه یا نه.
مثلاً ممکنه یه مرورگر نتونه ویژگیهای جدید رو درست نشون بده.
در صورتیکه از ویژگی پشتیبانی بشه استایل مدنظر اعمال میشه ، و در غیر این صورت میتونیم استایلهای دیگه برای مرورگرهای قدیمیتر تنظیم کنیم با این قابلیت.
(در تصویر مثالش درج شده کامل)
#CSS
@GoldenCodeir
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/codewithshripal/status/1855983339574030540?t=hLQU1LKcGWjs93IvrIrsWA&s=35
828
با استفاده از Fallback Routes در لاراول میتونیم مسیرهایی که وجود ندارن (مثل آدرسهای اشتباه) رو به خوبی مدیریت کنیم.
یعنی بجای نمایش صفحه خطای دیفالته لاراول، یک صفحهی 404 کاستومایز شده و زیبا به کاربران نشون بدیم.
#Laravel
@GoldenCodeir
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/thelarrybarker/status/1873216756585578777?t=XRUrSUzmCADikGkArfGXVA&s=35
