Panic Dev – Telegram
Panic Dev
1.11K subscribers
123 photos
29 videos
2 files
132 links
Panic Dev; your Panic's solution 🔥

🍿 Telegram
🔰 t.me/PanicDev

🍿 Laravel Community
🔰 t.me/LaravelGroups

😇 Contact Me
🔰 t.me/MentionHex

Thanks for sharing us 💛
Download Telegram
▶️ امشب ساعت 21:30 به صورت لایو همراهتونیم

👀 لایو توی تلگرامِ کانال برگزار میشه

🎙 موضوع بحث چیه؟
نگاهی عمیق به پروژه‌های ماژولار

چی قراره با هم یاد بگیریم؟
▫️ این‌که پروژه های ماژولار، چطوری ایجاد میشن

▪️ چه دیدگاه و انتظاراتی از مفهوم ماژولار توی لاراول باید داشته باشیم

▫️ چطوری کد توسعه پذیر تری بنویسیم و توی طولانی به Technical debt نخوریم

▪️ چطوری از هاردکد شدن اطلاعات جلوگیری کنیم

▫️ و چند تا چیزِ کوچولوی دیگه که این وسط ممکنه پیش بیاد یا یهویی به ذهنمون برسه

💬 امکان پرسش و پاسخ به صورت متنی/صوتی وجود داره

🔗 استریم رکورد میشه و فایل توی چنل ارسال میشه

🔥 @PanicDev
Please open Telegram to view this post
VIEW IN TELEGRAM
2682
Panic Dev
▶️ امشب ساعت 21:30 به صورت لایو همراهتونیم 👀 لایو توی تلگرامِ کانال برگزار میشه 🎙 موضوع بحث چیه؟ نگاهی عمیق به پروژه‌های ماژولار چی قراره با هم یاد بگیریم؟ ▫️ این‌که پروژه های ماژولار، چطوری ایجاد میشن ▪️ چه دیدگاه و انتظاراتی از مفهوم ماژولار توی لاراول…
Media is too big
VIEW IN TELEGRAM
😎 ویدیو رکورد شده میت

🎙 موضوع بحث چیه؟
نگاهی عمیق به پروژه‌های ماژولار

چی قراره با هم یاد بگیریم؟
▫️ این‌که پروژه های ماژولار، چطوری ایجاد میشن

▪️ چه دیدگاه و انتظاراتی از مفهوم ماژولار توی لاراول باید داشته باشیم

▫️ چطوری کد توسعه پذیر تری بنویسیم و توی طولانی به Technical debt نخوریم

▪️ چطوری از هاردکد شدن اطلاعات جلوگیری کنیم

▫️ و چند تا چیزِ کوچولوی دیگه که این وسط ممکنه پیش بیاد یا یهویی به ذهنمون برسه

🔗 لینک ریپازیتوری گیت‌هاب:
https://github.com/RealMrHex/Modular-Structure

⭐️ اگه دکمه Star ریپازیتوری رو بزنید خیلی خیلی خوشحالمون میکنید

🔥 @PanicDev
Please open Telegram to view this post
VIEW IN TELEGRAM
411
👍 دوره آموزشی 144 تابع کاربردی کالکشن هایِ لاراول

☺️ این دوره به صورت رایگان در دسترسه و همین الان می‌تونید ثبت نام کنید

🗣️ این دوره تحت لیبل برندِ SabzLearn منتشر شده

توی دوره منتظرتونیم ❤️🔥

🌐 https://sabzlearn.ir/course/laravel-collection-mastery/

🔥 @PanicDev
Please open Telegram to view this post
VIEW IN TELEGRAM
325
👍 دوره آموزشی پروژه محور لایووایر (Livewire Master)

☺️ این دوره درحال حاضر با ۶۰٪ تخفیف در دسترسه و همین الان می‌تونید ثبت نام کنید

🗣️ این دوره تحت لیبل برندِ SabzLearn منتشر شده

توی دوره منتظرتونیم ❤️🔥

🌐 https://sabzlearn.ir/course/livewire

🔥 @PanicDev
Please open Telegram to view this post
VIEW IN TELEGRAM
1943
This media is not supported in the widget
VIEW IN TELEGRAM
50119
Panic Dev
This media is not supported in the widget
VIEW IN TELEGRAM
یکی از مواردی که من همیشه بهش برمیخوردم و هربار می‌گفتم کاش تابع سریعتر و کوتاه تری براش وجود داشته باشه مدیریت رفتار foreignKey های لاراوله...

ما اگه بخوایم اون کلید خارجی زمان آپدیت و حذف در هر حالت cascade باشه، restricted باشه یا حتی noAction باشه؛ باید از 2 تابع برای این کار پشت سر هم استفاده می‌کردیم:

برای مثال
->cascadeOnUpdate()->cascadeOnDelete()

اما با این PR ما میتونیم به راحتی از تابع
->cascadeAlways()
استفاده کنیم.

توابع اضافه شده:
cascadeAlways
restrictAlways
noActionAlways
cascadeAndNull
restrictAndNull
noActionAndNull

جزئیات بیشتر از طریق "این لینک" قابل مشاهده‌ست.

👀 از کامنت های همین پست میتونید نحوه استفاده از توابع رو ببینید

البته این PR هنوز مرج نشده و به محض این‌که تایید و مرج بشه همین پست رو اپدیت می‌کنم 🙃

🔥 @PanicDev
Please open Telegram to view this post
VIEW IN TELEGRAM
24111
سلام سلام :))
از اونجایی که فرصت نمیکنم زیاد به کانال سر بزنم و تایم ازادم به شدت محدوده و فرصتِ مناسبی برای بقیه کار ها و تولید محتوا نیست تصمیم گرفتم زمان آزادی که دارم رو هرچند که کم، Giveaway کنم 🎉


روز های پنج‌شنبه و جمعه از ساعت 21 تا 23 میتونیم صحبت کنیم 😁❤️

ترجیح بر اینه که درمورد چالش های پروژه های تحت وب صحبت کنیم.
مواردی که اشتیاق زیادی به صحبت درموردشون هست
1. Laravel
2. Modular Structure
3. Clean Code
4. Livewire 3
5. TailwindCSS
6. AlpineJS
و بقیه موارد مرتبط؛ اما خب اگه یک وقت شکست عشقی خورده بودید خدایی نکرده هم میتونیم بحرفیم شاید کمک کرد (البته من که تراپیست نیستم ولی میتونم دوست یا شنونده خوبی باشم) 🙃

پ.ن: بدیهیه که من ممکنه اون تاپیکِ مشخص مدنظر شمارو بلد نباشم و یا تجربه کار تجاری در اون خصوص رو نداشته باشم پس اگه تاپیک مدنظرتون خیلی تخصصیه قبلش باهام یه دابل چک کنید که وقتتون نسوزه! ♥️


خلاصه که از لینک زیر میتونید میت رو سِت کنید و دور هم یاد بگیریم 🥂

https://calendly.com/mentionhex/giveaway-mentorship

ارادت ✌️
Please open Telegram to view this post
VIEW IN TELEGRAM
206❤‍🔥1
با استفاده از این پکیج میتونید از پیج بیلدرِ GrapesJS توی فیلامنت استفاده کنید و این امکان رو به ادمین یا کاربرِ پنلتون بدید تا با درگ اند دراپ صفحات مد نظرش رو ایجاد کنه 🎉

👨‍💻 PRs are welcome

📦 #filament

🔥 @PanicDev
Please open Telegram to view this post
VIEW IN TELEGRAM
2042
اگه اهل کتاب خوندن هستید و دوس دارید نسخه فیزیکی کتاب هارو با کیفیتِ نزدیک به اصلی داشته باشید میتونید از مجموعه آی‌تی هلو ثبت سفارش کنید.

خیلی سریع به دستتون میرسه و قیمتش هم خیلی مناسبه و معمولا با قیمتِ بازار اختلاف چند صد هزار تومانی داره و ارزون تر میفته :)

کیفیت کارشون هم واقعا بالاست - ما از سفارشایی که دادیم واقعا رضایت داشتیم.

🥂 t.me/itbook_pub
Please open Telegram to view this post
VIEW IN TELEGRAM
81
😎 یه نکته لاراولی کوچولو!
شاید براتون پیش اومده باشه که برای مدیریت صف هاتون از Horizon استفاده کنید.
مشکلی که وجود داره اینه که Horizon بعد از استارت شدن متوجه تغییراتِ کدهاتون توی حالت توسعه نمیشه و باید بعد از هر تغییر یکبار termination pulse رو براش ارسال کنید و مجددا startش کنید.

با استفاده از این پکیج میتونید خیلی راحت بجای اجرا کردن دستور horizon از دستور horizon:watch توی حالت لوکال/توسعه استفاده کنید و به کمک Chokidar بعد از هر تغییر به طور خودکار horizon رو از تغییرات مطلع کنید.

اگه با مستندات مشکل داشتید، از این مقاله میتونید کمک بگیرید.

🔥 @PanicDev
Please open Telegram to view this post
VIEW IN TELEGRAM
16
توی رویداد Laravel MeetUP امشب هم طبق معمولِ همیشه 2 تا تاپیکِ جالب مورد بحث قرار میگیره.

آقای Joel Clermont موسس No Compromises برامون درمورد "Life beyond dd" صحبت میکنن.

آقای Caneco که فول استک دولوپر Medicare کشور پرتغال هستند موضوع بحثشون "CAN YOU SEE MY SCREEN" هست

این میت‌آپ ساعت 17 به وقت UTC و یا ساعت 20:30 به وقت تهران برگزار میشه.

میتونید از وبسایت میت‌آپ ایمیلتون رو برای اطلاع رسانی برگزاری این میت‌آپ ست کنید.

🌻 @PanicDev
Please open Telegram to view this post
VIEW IN TELEGRAM
12211
Forwarded from Hessam
#نکته_روز

ممکن تا حالا براتون پیش امده باشه که دیتای خیلی زیادی داخل دیتابیس دارید
مثلا ۱ میلیون دیتا
و بر حسب یک کوئری یه نتیجه ۲۰۰ هزار تایی براتون به دست امده که باید برای هرکدوم از این رکورد ها یک عملیاتی رو انجام بدید .(مثلا برای هرکدوم یک نوتیفیکیشن ارسال کنید )

- نکته ای که وجود داره اگه بیاید همه رو واکشی کنید و بریزید داخل رم تا chunk کنید بعد بندازید داخل for بعد بدید به جاب ها احتمالا به مموری لیک میخورید .
- یک راهی که وجود داره این هست که دیتا و کوئری رو به صورت paginate بگیرید و به صورت limit - offset دیتا رو تیکه تیکه بگیرید .
— این راه حل هم شدنی هست . ولی یه دوتا مشکل داره .
۱- اولین مشکل این میتونه باشه که هر بار شما یه hit به دیتابیس میزنید و کوئری رو مجدد میگیرید با limit-offset جدید . که این خودش میتونه فشار بیاره به منابع سرور و sql شما .
۲- دومین مشکل میتونه این باشه که اگه نرخ insert دیتابیش شما زیاد باشه ممکنه که به داپلیکیت بخورید .. به این صورت که وقتی دارید روی limit -offset اول کار میکنید . یه سری row مجدد insert میشه که دوباره موقع گرفتن limit-offset دوم از row های قبلی انتخاب بشه و شما مجدد عملیات و انجام بدید و دوبار نوتیفیکشن ارسال کنید .


———————-
حالا راه حل چی میتونه باشه .
یکی از راه حل ها میتونه استفاده از FETCH Cursor مربوط به sql باشه .
چطوری عمل میکنه ؟
به این صورت که شما میاید یک بار کوئری رو به یه orderby مشخص میگیرید بعد دیتارو به صورت تیکه تیکه از mysql یا بقیه sql ها درخواست میکنید .
اینجوری یبار کوئری گرفته نگه داشته و تیکه تیکه به شما میده بدون اینکه هربار بهش hit بزنید و فشار بیاد به منابع .
از طرفی چون هرموقع گرفتن دیتای جدید باید آخرین آیدی رو بهش بدید تا دیتای بعدی رو بگیرید ،‌اینجوری به Duplicate هم نمیخورید .

————-
حالا این چطوری توی لاراول انجام میشه ؟

از لاراول ۸ به بعد اگر اشتباه نکنم یه فیچری امد به اسم cursor pagination که دقیقا میاد همین کارو برای شما انجام میده .
این نوع pagination برای infinite scroll ها و دیتاست های بزرگ خیلی به کار میاد
مثل مثالی که بالاتر زدم

اگر شما هم تجربه ای دارید خوشحال میشم بشنوم .

———
اگه دوست دارید بیشتر بدونید این لینک ها شاید کمک کنه .


https://www.educba.com/fetch-in-sql

https://medium.com/@maryam-bit/offset-vs-cursor-based-pagination-choosing-the-best-approach-2e93702a118b

https://laravel.com/docs/10.x/pagination#cursor-pagination

https://laravel-news.com/cursor-pagination

https://www.laravel-enlightn.com/blog/laravel-offset-vs-cursor-pagination

https://www.youtube.com/watch?v=zwDIN04lIpc&ab_channel=PlanetScale
2511
Episode 01
@PanicCast
🪻 این داستان؛ "بحث‌های سمی"
🍿 درمورد بحث‌های رایج و تعصبی که توی کامیونیتی های برنامه‌نویسی اتفاق میفته صحبت کردیم و ازشون کمی انتقاد می‌کنیم
🦦 این پادکست شامل لحظات خشن می‌باشد؛ پس اگه از اون دسته افرادی هستید که بحث‌های تعصبی راه میندازید؛ این پاد‌کست براتون دلخراش خواهد بود

🔥 @PanicDev
Please open Telegram to view this post
VIEW IN TELEGRAM
2842
upcoming...
231
Available tonight for Free! 🌖
Please open Telegram to view this post
VIEW IN TELEGRAM
332