وقتی باید از whereIn استفاده کنیم در پروژه و ورودی از کاربر نداریم درین شرایط میتونیم برای افزایش سرعت کوئری از یه متود دیگه با نام ()WhereIntegerInRaw هم استفاده کنیم.✔️
حالا چرا این متود باعث افزایش سرعت میشه؟؟
چون میاد و PDO bindings و اقدامات امنیتی که مربوط به خود لاراول هستن رو نادیده میگیره :)
@GoldenCodeir 💫
به منبع و مثالش دقت کنین👇🏾
https://twitter.com/OussamaMater/status/1785045623382610233?t=ytMU5-dp7lqeeqi1D9A47w&s=19
حالا چرا این متود باعث افزایش سرعت میشه؟؟
چون میاد و PDO bindings و اقدامات امنیتی که مربوط به خود لاراول هستن رو نادیده میگیره :)
@GoldenCodeir 💫
به منبع و مثالش دقت کنین👇🏾
https://twitter.com/OussamaMater/status/1785045623382610233?t=ytMU5-dp7lqeeqi1D9A47w&s=19
X (formerly Twitter)
OussamaMater (@OussamaMater) on X
Laravel Tip💡: Faster Queries with "whereIntegerInRaw"
When using a whereIn query with non-user input, opt for whereIntegerInRaw. This speeds up your query by skipping PDO bindings and Laravel's security measures against SQL injection 🚀
#laravel
When using a whereIn query with non-user input, opt for whereIntegerInRaw. This speeds up your query by skipping PDO bindings and Laravel's security measures against SQL injection 🚀
#laravel
👍4👌1🤡1
Forwarded from دارا وب - تحقیق و توسعه در دنیای دیجیتال
🔸 جلسه هشتم نکات مدیریت فروشگاه اینترنتی
فروش اینترنتی دیگه مثل قبل نیست
کلمات کلیدی درست
زنگ خور زیاد و فروش کم
و...
🆔 @daraweb_channel
فروش اینترنتی دیگه مثل قبل نیست
کلمات کلیدی درست
زنگ خور زیاد و فروش کم
و...
🆔 @daraweb_channel
🤡1
در لاراول چجوری میشه ستون number رو با استفاده از مایگریشن به جدول users اضافه کنیم؟
Anonymous Quiz
13%
php artisan make: migrate create_number_to_users_table --table=users
23%
php artisan make: migrate add_number_to_users_table --table=users
58%
php artisan make: migration add_number_to_users_table --table=users
5%
php artisan make: migration rollback_number_to_users_table --table=users
👍6❤2🔥1🤡1
Forwarded from Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب (Ali)
♨️ آیا کار کردن با webpack براتون سخته؟ راه حل مشکل شما Laravel-Mix اینجاست
ما توی پست قبلی فهمیدیم که Webpack چیه و به چه دردی میخوره ولی یکی از معایب وبپک کانفیگ نسبتا پیچیده و سختی کار با اون هست که شاید افراد مبتدی رو سردرگم و از خودش دور کنه.
برای کسایی که نمیخوان با کانفیگ پیچیده webpack برای پروژه بزرگ و کوچیکشون دست و پنجه نرم کنند Laravel-mix میتونه گزینه عالی باشه
این ابزار خودش از webpack استفاده میکنه ولی کانفیگ هاشو توی پس زمینه انجام داده و یه محیط و کانفیگ خیلی خیلی ساده و در عین حال کاربردی داره.
توصیه میکنم روی یکی از پروژه های آینده تون امتحانش کنید...👌
🌐 https://laravel-mix.com
#Tools
Channel | Group | YouTube
ما توی پست قبلی فهمیدیم که Webpack چیه و به چه دردی میخوره ولی یکی از معایب وبپک کانفیگ نسبتا پیچیده و سختی کار با اون هست که شاید افراد مبتدی رو سردرگم و از خودش دور کنه.
برای کسایی که نمیخوان با کانفیگ پیچیده webpack برای پروژه بزرگ و کوچیکشون دست و پنجه نرم کنند Laravel-mix میتونه گزینه عالی باشه
این ابزار خودش از webpack استفاده میکنه ولی کانفیگ هاشو توی پس زمینه انجام داده و یه محیط و کانفیگ خیلی خیلی ساده و در عین حال کاربردی داره.
توصیه میکنم روی یکی از پروژه های آینده تون امتحانش کنید...👌
🌐 https://laravel-mix.com
#Tools
Channel | Group | YouTube
👍2❤1🤡1
Forwarded from کداکسپلور | CodeExplore (CodeExplore)
1. اصل مسئولیت واحد (SRP): هر کلاس فقط باید یک کار انجام بده. مثلاً اگه یه کلاسی داریم برای مدیریت کاربرا، فقط باید کارای مربوط به کاربرا رو انجام بده، نه اینکه بره سراغ مدیریت سفارشات یا محصولات.
2. اصل باز – بسته (OCP): کلاسها باید طوری طراحی بشن که بشه روشون اضافه کرد، ولی نباید نیاز باشه که خودشون رو عوض کنیم.
3. اصل جایگزینی لیسکوف (LSP): اگه یه کلاسی از یه کلاس دیگه ارث بری کرده، باید بتونیم اون کلاس رو جایگزین کلاس اصلی کنیم بدون اینکه مشکلی پیش بیاد.
4. اصل جداسازی رابط (ISP): هر کلاس فقط باید به اون قسمتهایی از یه رابط که استفاده میکنه وابسته باشه، نه به تمام رابط.
5. اصل وارونگی وابستگی (DIP): کلاسها باید به ایدهها وابسته باشن، نه به جزئیات. یعنی باید به چیزایی که میخوان انجام بدن فکر کنن، نه اینکه چطوری اون کارو انجام میدن.
این اصول کمک میکنن که کدی بنویسیم که بتونیم راحتتر مدیریتش کنیم، بفهمیمش و تستش کنیم.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2🤡1
Forwarded from قالب و افزونه وردپرس
↩️ وبسایتهایی که هاستینگ پروژه رو کاملاً رایگان انجام میدن :
Netlify
Firebase
AWS
Heroku
Github Pages
Vercel
Surge
Render
Gitlab Pages
Stormkit
با استفاده از این هاستهای رایگان میتونی سایت خودت رو به صورت آزمایشی بیاری بالا و از همه لحاظ بررسی و عیب یابیش کنی.
علاوه بر اون اگه برنامه نویسی و کارفرما میخواد پیشرفت توسعهی سایت رو ببینه، میتونید پروژه رو روی این هاستها دیپلوی کنید و براش بفرستین.
➖➖➖➖➖➖➖➖➖
🆔 @ghaleb_fre
🆔 @cht_romm
Netlify
Firebase
AWS
Heroku
Github Pages
Vercel
Surge
Render
Gitlab Pages
Stormkit
با استفاده از این هاستهای رایگان میتونی سایت خودت رو به صورت آزمایشی بیاری بالا و از همه لحاظ بررسی و عیب یابیش کنی.
علاوه بر اون اگه برنامه نویسی و کارفرما میخواد پیشرفت توسعهی سایت رو ببینه، میتونید پروژه رو روی این هاستها دیپلوی کنید و براش بفرستین.
➖➖➖➖➖➖➖➖➖
🆔 @ghaleb_fre
🆔 @cht_romm
👍4❤2🔥1🤡1
اگه تعداد زیادی singletone در پروژه دارین، میتونین حتی اونارو به صورت آرايه singletones$ در کلاس service provider اضافه کنین.
توضیح کلی این نوع ترفند :
با اینکار یه نمونه از هر سرویس فقط یه بار ایجاد میشه و سپس در بقیه بخشا قابل دسترسیه.
📌 برخی از مزایای این نوع ساختار:
مدیریت و پیکربندی و اعمال تغییرات بصورت مرکزی انجام میشه، پس مدیریت پروژه رو ساده میکنه.
✔️ تاثیر مثبت بر کلین کد و قابل فهم تر شدن کد.
✔️ در مبحث تست نویسی هم کارو راحت تر میکنه واسمون وقتی در یه کلاس تعریف میشن.
✔️ بر performance هم تاثیر مثبتش رو میزاره. چجوری ؟
در حالته عادی وقتی هر بار که شما یه سرویس رو میخواین استفاده کنین یه نمونه جدید ازش ساخته میشه اما در همچین ساختاری خیر! 🪴🌴
@GoldenCodeir
(به منبع و مثالش توجه کنین👇🏾)
https://x.com/_newtonjob/status/1787742606476140757?t=M3Op6_XeRtCrp18ebigqug&s=35
توضیح کلی این نوع ترفند :
با اینکار یه نمونه از هر سرویس فقط یه بار ایجاد میشه و سپس در بقیه بخشا قابل دسترسیه.
📌 برخی از مزایای این نوع ساختار:
مدیریت و پیکربندی و اعمال تغییرات بصورت مرکزی انجام میشه، پس مدیریت پروژه رو ساده میکنه.
✔️ تاثیر مثبت بر کلین کد و قابل فهم تر شدن کد.
✔️ در مبحث تست نویسی هم کارو راحت تر میکنه واسمون وقتی در یه کلاس تعریف میشن.
✔️ بر performance هم تاثیر مثبتش رو میزاره. چجوری ؟
در حالته عادی وقتی هر بار که شما یه سرویس رو میخواین استفاده کنین یه نمونه جدید ازش ساخته میشه اما در همچین ساختاری خیر! 🪴🌴
@GoldenCodeir
(به منبع و مثالش توجه کنین👇🏾)
https://x.com/_newtonjob/status/1787742606476140757?t=M3Op6_XeRtCrp18ebigqug&s=35
X (formerly Twitter)
Newton Job (@_newtonjob) on X
💡If you have many simple singletons in your app, you can easily add them to the $singletons array in any service provider class.
#Laravel
#Laravel
🔥4👍3🤡2❤1
Forwarded from Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب (AmirabaS)
❤3👍2🔥2
در لاراول میتونیم برای شرایطی که یک job از طریق صف اجرا شده و با شکست مواجه شده، میتونیم با استفاده از تعریف متود failed در job عملیات های مربوط به مدیریته خطا و cleanups رو انجام بدیم.
📌 یه سر به طرز کارش هم بزنیم :
میتونیم داخل این متود تعیین کنیم چه رویدادی رخ بده در صورت fail شدن ، مثلا ارسال تیکت به بخش فنی رخ بده یا ثبت اطلاعات در لاگ ، تغییر مجدد status هایی که تغییر کردن و ...🪴🌴
#laravel
@GoldenCodeir
(به منبع و مثالش توجه کنید👇🏾)
https://twitter.com/OussamaMater/status/1788299342299763113?s=19
📌 یه سر به طرز کارش هم بزنیم :
میتونیم داخل این متود تعیین کنیم چه رویدادی رخ بده در صورت fail شدن ، مثلا ارسال تیکت به بخش فنی رخ بده یا ثبت اطلاعات در لاگ ، تغییر مجدد status هایی که تغییر کردن و ...🪴🌴
#laravel
@GoldenCodeir
(به منبع و مثالش توجه کنید👇🏾)
https://twitter.com/OussamaMater/status/1788299342299763113?s=19
X (formerly Twitter)
OussamaMater (@OussamaMater) on X
Laravel Tip💡: Clean Up After Failed Jobs
When jobs fail, you may want to send notifications or perform some cleanups. Luckily, Laravel allows you to define a "failed" method to do exactly that 🚀
#laravel
When jobs fail, you may want to send notifications or perform some cleanups. Luckily, Laravel allows you to define a "failed" method to do exactly that 🚀
#laravel
👌4❤1
Forwarded from کداکسپلور | CodeExplore (𔓙)
تا حالا حتما اسم GraphQL و شنیدید ولی دقیقا چه کاربردی داره؟🤔
خب GraphQL یک زبان کوئری اوپنسورس است که از سوی فیسبوک توسعه یافته است. این زبان روشی کارآمد برای طراحی، ایجاد و مصرف API-ها در اختیار ما قرار میدهد و GraphQL اساساً یک جایگزین برای REST محسوب میشود.
برخی از ویژگی های GraphQl🔥
شما دقیقا داده هایی که نیاز دارید و میتونید به دست بیارید. دیگر نیازی به دریافت اطلاعات بیش از حد که در REST مرسوم است نداریم.
زبان GraphQL یک نقطه انتهایی منفرد در اختیار ما قرار میدهد و دیگر نیازی به نسخه 2 یا نسخه 3 برای API یکسان وجود ندارد.
زبان GraphQL دارای «نوعبندی قوی» (strongly-typed) و با استفاده از آن میتوان یک کوئری معتبر درون سیستم نوع GraphQL پیش از اجرا ساخت. GraphQL به ساخت API-های قدرتمند کمک میکند.
پس از این مقدمه کوتاه در مورد GraphQL، دلیل قدرت آن و این که چرا محبوبیت زیادی این روزها کسب کرده است، اگر میخواهید اطلاعات بیشتری در مورد آن کسب کنید، پیشنهاد میکنیم به مستندات موجود در وبسایت آن مراجعه کنید.
#frontend #backend
☕️ @CodeExplore
خب GraphQL یک زبان کوئری اوپنسورس است که از سوی فیسبوک توسعه یافته است. این زبان روشی کارآمد برای طراحی، ایجاد و مصرف API-ها در اختیار ما قرار میدهد و GraphQL اساساً یک جایگزین برای REST محسوب میشود.
برخی از ویژگی های GraphQl
شما دقیقا داده هایی که نیاز دارید و میتونید به دست بیارید. دیگر نیازی به دریافت اطلاعات بیش از حد که در REST مرسوم است نداریم.
زبان GraphQL یک نقطه انتهایی منفرد در اختیار ما قرار میدهد و دیگر نیازی به نسخه 2 یا نسخه 3 برای API یکسان وجود ندارد.
زبان GraphQL دارای «نوعبندی قوی» (strongly-typed) و با استفاده از آن میتوان یک کوئری معتبر درون سیستم نوع GraphQL پیش از اجرا ساخت. GraphQL به ساخت API-های قدرتمند کمک میکند.
پس از این مقدمه کوتاه در مورد GraphQL، دلیل قدرت آن و این که چرا محبوبیت زیادی این روزها کسب کرده است، اگر میخواهید اطلاعات بیشتری در مورد آن کسب کنید، پیشنهاد میکنیم به مستندات موجود در وبسایت آن مراجعه کنید.
#frontend #backend
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥2
با استفاده از کلاس Benchmark در لاراول میتونیم زمان اجرای کد های هر بخش رو مشاهده کنیم.
با این ویژگی میتونیم زمان شروع و پایان یه عملیات مدنظرمون رو ثبت کنیم و مدت زمان اجراش رو مورد بررسی قرار بدیم.
قابلیته مفیدی به حساب میاد !
میتونه بهمون برای بهبود علمکرد پروژه (بهبود کد های دارای ضعف و...) کمک کنه.
در کل داشتن آمار و ارقام از چگونگیه عملکرد پروژه میتونه بر روند تصميمگيری برنامه نویس تاثیر مثبتی بزاره... 🪴🌴
@GoldenCodeir
#Laravel
(به منبع و مثالش دقت کنید👇🏾)
https://x.com/laravelbackpack/status/1788169492016906319?s=09
با این ویژگی میتونیم زمان شروع و پایان یه عملیات مدنظرمون رو ثبت کنیم و مدت زمان اجراش رو مورد بررسی قرار بدیم.
قابلیته مفیدی به حساب میاد !
میتونه بهمون برای بهبود علمکرد پروژه (بهبود کد های دارای ضعف و...) کمک کنه.
در کل داشتن آمار و ارقام از چگونگیه عملکرد پروژه میتونه بر روند تصميمگيری برنامه نویس تاثیر مثبتی بزاره... 🪴🌴
@GoldenCodeir
#Laravel
(به منبع و مثالش دقت کنید👇🏾)
https://x.com/laravelbackpack/status/1788169492016906319?s=09
❤3🔥2👍1👌1
خب بریم یه نگاه به چنتا از ویژگی هایی که blade در اخیتارمون قرار داده و شاید باهاشون اشنا نباشین بندازیم .
(این آپشن ها میتونن در مدیریت اینپوت ها و طراحیشون مطابق با نیازهامون نقش موثری داشته باشن) :
✔️checked
✔️selected
✔️disabled
✔️readonly
✔️required
بریم یه مثال از readonly بزنیم:
یه جاهایی ممکنه نیاز باشه یکی از اطلاعات فرم ،مطابق با خواسته ی ما پر شه و کاربر حق تغییرش رو نداشته باشه.
مثال برای checked:
تعیین مقدار پیشفرض برای یک چک باکس.
( در جایی مثل "تایید شرایط")
📌 نکته امنیتی: برای چیزی مثل required همونطور که مستحضرید نباید صرفا بسنده کرد به کد html و باید سمت سرور هم اعتبار سنجی بشن). 🪴🌴
@GoldenCodeir
#Laravel
(به منبع و مثالش توجه کنین👇🏾)
https://x.com/PovilasKorop/status/1788844182234107945?t=-uMIsLU5NzwyAdXi5sW2Sw&s=35
(این آپشن ها میتونن در مدیریت اینپوت ها و طراحیشون مطابق با نیازهامون نقش موثری داشته باشن) :
✔️checked
✔️selected
✔️disabled
✔️readonly
✔️required
بریم یه مثال از readonly بزنیم:
یه جاهایی ممکنه نیاز باشه یکی از اطلاعات فرم ،مطابق با خواسته ی ما پر شه و کاربر حق تغییرش رو نداشته باشه.
مثال برای checked:
تعیین مقدار پیشفرض برای یک چک باکس.
( در جایی مثل "تایید شرایط")
📌 نکته امنیتی: برای چیزی مثل required همونطور که مستحضرید نباید صرفا بسنده کرد به کد html و باید سمت سرور هم اعتبار سنجی بشن). 🪴🌴
@GoldenCodeir
#Laravel
(به منبع و مثالش توجه کنین👇🏾)
https://x.com/PovilasKorop/status/1788844182234107945?t=-uMIsLU5NzwyAdXi5sW2Sw&s=35
X (formerly Twitter)
Povilas Korop | Laravel Courses Creator & Youtuber (@PovilasKorop) on X
Laravel Blade tip.
5 HTML attributes with conditions - Blade directives you may not know:
- checked
- selected
- disabled
- readonly
- required
Docs: https://t.co/6IyCCHR80s
5 HTML attributes with conditions - Blade directives you may not know:
- checked
- selected
- disabled
- readonly
- required
Docs: https://t.co/6IyCCHR80s
👍3❤2🔥1
Forwarded from کداکسپلور | CodeExplore (𝙰𝚖𝚒𝚗)
🐳اصلا #Docker چی هست و چه کاربردی داره؟
🔹اصلی ترین هدف داکر ساخت و ایجاد یک فضای ایزوله برای اپلیکیشن هایی هست که داریم؛ تا بتونیم به صورت مستقل از هم اجراشون کنیم و برای هر اپلیکیشن تمام وابستگی هاشو (dependencies) کنارش نصب کنیم...
◽️◽️مثال: شما یک وب سایت طراحی کردی، وقتی می بری روی سرور، باید php رو نصب کنی، mysql یا sqlserver یا هر دیتابیس دیگه ای رو برای پروژه نصب کنی، کلی افزونه نیاز هست که باید نصب کنی و ... !
🔹در صورتی که میتونی پروژت رو تویه یک container در بستر داکر docker قرار بدی و از اون موقع به بعد اون container رو هرجایی که می خوای ببری و دیگه بدون نصب هیچ چیزی اجراش کنی.
🔹🔹علاوه بر اینها لوگوی داکر از بین 84 نمونه طراحی شده توسط ریکی آسامانیس طراح گرافیک از اندونزی انتخاب شد.
نهنگی که حامل بستههاییست که نماد 4 ارزش اصلی شرکت داکر است: expedition, automation, encapsulation, simplification
☕️ @CodeExplore
🔹اصلی ترین هدف داکر ساخت و ایجاد یک فضای ایزوله برای اپلیکیشن هایی هست که داریم؛ تا بتونیم به صورت مستقل از هم اجراشون کنیم و برای هر اپلیکیشن تمام وابستگی هاشو (dependencies) کنارش نصب کنیم...
◽️◽️مثال: شما یک وب سایت طراحی کردی، وقتی می بری روی سرور، باید php رو نصب کنی، mysql یا sqlserver یا هر دیتابیس دیگه ای رو برای پروژه نصب کنی، کلی افزونه نیاز هست که باید نصب کنی و ... !
🔹در صورتی که میتونی پروژت رو تویه یک container در بستر داکر docker قرار بدی و از اون موقع به بعد اون container رو هرجایی که می خوای ببری و دیگه بدون نصب هیچ چیزی اجراش کنی.
🔹🔹علاوه بر اینها لوگوی داکر از بین 84 نمونه طراحی شده توسط ریکی آسامانیس طراح گرافیک از اندونزی انتخاب شد.
نهنگی که حامل بستههاییست که نماد 4 ارزش اصلی شرکت داکر است: expedition, automation, encapsulation, simplification
☕️ @CodeExplore
👍3❤🔥1❤1
بعضی اوقات در پروژه نیازه بررسی شه که آیا رکوردهای مدنظرمون در دیتابیس وجود دارن یا نه تا در صورت عدم وجود، ایجاد بشه.
خب واسه پیاده سازیه همچین چیزی متودای مختلفی در اختیارمون قرار داده شده که شاید بهترینش همین ()doesntExist باشه✔️
کاربردش؟؟
میایم میگیم در فرایند ثبت نام اگر کاربر alix در دیتابیس موجود نبود برو و alix رو با ایمیل، و سایر اطلاعاتی که گفته ایجاد کن.
مزایا؟
✔️ استفاده کمتر از شرط نویسی های پیچیده.
✔️ تاثیر مثبت بر کلین کد و خوانایی کد.
(در تصویر زیر تفاوتش با روشای دیگه بررسی شده)🪴🌴
@GoldenCodeir
#Laravel
#لاراول
#نکات_لاراول
#اموزشی_لاراول
(به منبع و مثالش دقت کنین👇🏾)
https://x.com/OussamaMater/status/1790481645125918836?t=wUUKB89hWJZZHIVKQD6YDQ&s=35
خب واسه پیاده سازیه همچین چیزی متودای مختلفی در اختیارمون قرار داده شده که شاید بهترینش همین ()doesntExist باشه✔️
کاربردش؟؟
میایم میگیم در فرایند ثبت نام اگر کاربر alix در دیتابیس موجود نبود برو و alix رو با ایمیل، و سایر اطلاعاتی که گفته ایجاد کن.
مزایا؟
✔️ استفاده کمتر از شرط نویسی های پیچیده.
✔️ تاثیر مثبت بر کلین کد و خوانایی کد.
(در تصویر زیر تفاوتش با روشای دیگه بررسی شده)🪴🌴
@GoldenCodeir
#Laravel
#لاراول
#نکات_لاراول
#اموزشی_لاراول
(به منبع و مثالش دقت کنین👇🏾)
https://x.com/OussamaMater/status/1790481645125918836?t=wUUKB89hWJZZHIVKQD6YDQ&s=35
X (formerly Twitter)
OussamaMater (@OussamaMater) on X
Laravel Tip💡: The "doesntExist" Method
Sometimes you may want to check if certain records do not exist in the database. While checking the count or using the exists() method can do the trick, Laravel ships with the "doesntExist" method to do it elegantly…
Sometimes you may want to check if certain records do not exist in the database. While checking the count or using the exists() method can do the trick, Laravel ships with the "doesntExist" method to do it elegantly…
❤🔥3👍1🔥1
Forwarded from کداکسپلور | CodeExplore (AmirMasoud)
♨️ PWA یا Progressive Web Application چیست؟
یک نوع اپلیکیشن وب است که از ترکیب ویژگیهای مرورگر و ویژگیهای اپلیکیشن سنتی بهره میبرد تا به کاربران تجربهای مشابه اپلیکیشنهای تلفن همراه ارائه دهد. حالا اینکه این چه چیزیه و چطور کار میکنه، در ادامه با هم بررسیش میکنیم.
تصور کن که یه وبسایت داری که بدونی نیاز به دانلود و نصب جداگانه، تو مرورگرهای مختلف و بر روی انواع دستگاهها (موبایل، تبلت یا رایانه)، مثل یک اپلیکیشن عادی رفتار میکنه. اینجوری کاربرها میتونن بدون درگیری با نصب و بروزرسانیهای پیچیده، از دسترسی به ویژگیها و محتوای بهروز شده بهرهمند بشن.
💢چند تا از قابلیت ها و ویژگی های مهم PWA
▪️قابلیت کارآیی آفلاین: PWA میتونه اطلاعات را در حالت آفلاین نیز نمایش بده و کاربران بتونن بدون دسترسی به اینترنت از ویژگیها و محتوا استفاده کنن.
▪️پوش اپلیکیشن: میتونه به کاربران پیامها و اطلاعیهها فعالیت خودکار (Push) بفرسته، حتی زمانی که اپلیکیشن بسته است.
▪️نصب آسان: بهطور مستقیم میتونه بر روی دستگاههای کاربران نصب بشه بدون نیاز به رفتن به فروشگاه اپلیکیشن.
▪️بهبود کارآیی: با بهینهسازیهای حافظه و عملکرد، میتونه تجربه کاربری بهتری نسبت به وبسایتهای سنتی ارائه بده.
#پست_پیشنهادی
#PWA
☕️ @CodeExplore
یک نوع اپلیکیشن وب است که از ترکیب ویژگیهای مرورگر و ویژگیهای اپلیکیشن سنتی بهره میبرد تا به کاربران تجربهای مشابه اپلیکیشنهای تلفن همراه ارائه دهد. حالا اینکه این چه چیزیه و چطور کار میکنه، در ادامه با هم بررسیش میکنیم.
تصور کن که یه وبسایت داری که بدونی نیاز به دانلود و نصب جداگانه، تو مرورگرهای مختلف و بر روی انواع دستگاهها (موبایل، تبلت یا رایانه)، مثل یک اپلیکیشن عادی رفتار میکنه. اینجوری کاربرها میتونن بدون درگیری با نصب و بروزرسانیهای پیچیده، از دسترسی به ویژگیها و محتوای بهروز شده بهرهمند بشن.
💢چند تا از قابلیت ها و ویژگی های مهم PWA
▪️قابلیت کارآیی آفلاین: PWA میتونه اطلاعات را در حالت آفلاین نیز نمایش بده و کاربران بتونن بدون دسترسی به اینترنت از ویژگیها و محتوا استفاده کنن.
▪️پوش اپلیکیشن: میتونه به کاربران پیامها و اطلاعیهها فعالیت خودکار (Push) بفرسته، حتی زمانی که اپلیکیشن بسته است.
▪️نصب آسان: بهطور مستقیم میتونه بر روی دستگاههای کاربران نصب بشه بدون نیاز به رفتن به فروشگاه اپلیکیشن.
▪️بهبود کارآیی: با بهینهسازیهای حافظه و عملکرد، میتونه تجربه کاربری بهتری نسبت به وبسایتهای سنتی ارائه بده.
#پست_پیشنهادی
#PWA
☕️ @CodeExplore
❤4👍1
بیشتره مواقع در فرایند تست نویسی ای که نیازه بررسی کنیم آیا رکوردمون از دیتابیس حذف میشه یا نه میایم از ()assertDatabaseMissing استفاده میکنیم تا ببینیم این یوزری که مشخص کردیم رو میتونه حذف کنه یا خیر.
این یه روش رایج هستش اما میتونیم بجاش از هلپر ()assertModelMissing استفاده کنیم که باعث بهینه تر شدن فرایند تست نویسی هم میشه. 🪴🌴
از جمله مزایای استفاده ازین هلپر :
✔️ قابل فهم تر شدن (حتی از نامش هم مشخصه که میخواد چیکار کنه)
✔️ کوتاه شدن کد (در تصویر قابل رویته)
✔️ تاثیر واضح و قابل رویت بر کلین کد
#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنین 👇🏾)
https://twitter.com/OussamaMater/status/1791200027156652060?s=19
این یه روش رایج هستش اما میتونیم بجاش از هلپر ()assertModelMissing استفاده کنیم که باعث بهینه تر شدن فرایند تست نویسی هم میشه. 🪴🌴
از جمله مزایای استفاده ازین هلپر :
✔️ قابل فهم تر شدن (حتی از نامش هم مشخصه که میخواد چیکار کنه)
✔️ کوتاه شدن کد (در تصویر قابل رویته)
✔️ تاثیر واضح و قابل رویت بر کلین کد
#Laravel
@GoldenCodeir
(به منبع و مثالش دقت کنین 👇🏾)
https://twitter.com/OussamaMater/status/1791200027156652060?s=19
X (formerly Twitter)
OussamaMater (@OussamaMater) on X
Laravel Tip💡: Assert Model Missing
When writing tests, we often use "assertDatabaseMissing()" to check whether a model has been deleted. Did you know that Laravel ships with a cool helper called "assertModelMissing()" to do exactly that? 🚀
#laravel
When writing tests, we often use "assertDatabaseMissing()" to check whether a model has been deleted. Did you know that Laravel ships with a cool helper called "assertModelMissing()" to do exactly that? 🚀
#laravel
🔥3❤1
Forwarded from CodeCrafters (mahyar)
خب در ادامه پست های استفاده از ایندکس در جئداول دیتابیس قرار در این پست با Multi-Column Indexes اشنا بشیم/
ایندکسهای چندستونی (Multi-Column Indexes) برای بهبود کارایی جستجو در جداولی که به طور مکرر از چندین ستون در کوئریهای خود استفاده میکنند، بسیار مفید هستند. این نوع ایندکسها بر روی بیش از یک ستون از جدول ایجاد میشوند و میتوانند به طور همزمان ترتیب چند ستون را برای بهبود سرعت جستجو حفظ کنند.
ویژگیهای ایندکسهای چندستونی
1. ترتیب ستونها:
- ترتیب ستونهایی که در ایندکس تعریف میشوند بسیار مهم است.
- ایندکس ابتدا بر اساس ستون اول مرتب میشود و سپس در داخل هر مقدار ستون اول، بر اساس ستون دوم و به همین ترتیب ادامه مییابد.
- انتخاب ترتیب مناسب ستونها بر اساس الگوهای کوئری معمول، میتواند تاثیر زیادی بر کارایی جستجو داشته باشد.
2. بهبود کارایی:
- ایندکسهای چندستونی میتوانند کارایی کوئریهایی را که از این ستونها در شرط WHERE، ORDER BY، و GROUP BY استفاده میکنند، بهبود بخشند.
- در کوئریهایی که فقط از ستون اول ایندکس استفاده میکنند نیز میتواند بهبود کارایی ایجاد کند.
3. محدودیتها:
- ایندکسهای چندستونی میتوانند فضای بیشتری را نسبت به ایندکسهای تکستونی اشغال کنند.
- بهروزرسانیهای جداولی که دارای ایندکسهای چندستونی هستند میتوانند زمانبرتر باشند به دلیل نیاز به بروزرسانی ساختار ایندکس.
مثالها و کد
فرض کنید یک جدول به نام
ایجاد ایندکس چندستونی
در SQL، ایجاد یک ایندکس چندستونی به شکل زیر است:
این ایندکس ابتدا بر اساس
استفاده از ایندکس چندستونی در کوئریها
مثال 1: جستجو بر اساس هر دو ستون
در این کوئری، هر دو ستون
مثال 2: جستجو بر اساس ستون اول
در این کوئری، تنها ستون
مثال 3: جستجو بر اساس ستون دوم
در این کوئری، تنها ستون
بهروزرسانی و حذف ایندکس
برای حذف یک ایندکس چندستونی:
نکات مهم
1. انتخاب ستونها: ستونهایی را انتخاب کنید که در بیشتر کوئریها استفاده میشوند و ترتیب آنها را بر اساس بیشترین تاثیر بر کارایی جستجو تعیین کنید.
2. نگهداری و بهروزرسانی: با افزایش تعداد ایندکسها، عملیات نوشتن (INSERT, UPDATE, DELETE) کندتر میشود. به همین دلیل، باید توازن مناسبی بین تعداد ایندکسها و نیازهای جستجو برقرار کرد.
3. تحلیل کارایی: استفاده از ابزارهای تحلیل کارایی (مانند EXPLAIN در SQL) برای بررسی تاثیر ایندکسها بر کوئریها مفید است.
با توجه به این نکات، ایندکسهای چندستونی میتوانند به طور قابل توجهی کارایی دیتابیس شما را بهبود بخشند اگر به درستی طراحی و استفاده شوند.
#database
#postgresql
ایندکسهای چندستونی (Multi-Column Indexes) برای بهبود کارایی جستجو در جداولی که به طور مکرر از چندین ستون در کوئریهای خود استفاده میکنند، بسیار مفید هستند. این نوع ایندکسها بر روی بیش از یک ستون از جدول ایجاد میشوند و میتوانند به طور همزمان ترتیب چند ستون را برای بهبود سرعت جستجو حفظ کنند.
ویژگیهای ایندکسهای چندستونی
1. ترتیب ستونها:
- ترتیب ستونهایی که در ایندکس تعریف میشوند بسیار مهم است.
- ایندکس ابتدا بر اساس ستون اول مرتب میشود و سپس در داخل هر مقدار ستون اول، بر اساس ستون دوم و به همین ترتیب ادامه مییابد.
- انتخاب ترتیب مناسب ستونها بر اساس الگوهای کوئری معمول، میتواند تاثیر زیادی بر کارایی جستجو داشته باشد.
2. بهبود کارایی:
- ایندکسهای چندستونی میتوانند کارایی کوئریهایی را که از این ستونها در شرط WHERE، ORDER BY، و GROUP BY استفاده میکنند، بهبود بخشند.
- در کوئریهایی که فقط از ستون اول ایندکس استفاده میکنند نیز میتواند بهبود کارایی ایجاد کند.
3. محدودیتها:
- ایندکسهای چندستونی میتوانند فضای بیشتری را نسبت به ایندکسهای تکستونی اشغال کنند.
- بهروزرسانیهای جداولی که دارای ایندکسهای چندستونی هستند میتوانند زمانبرتر باشند به دلیل نیاز به بروزرسانی ساختار ایندکس.
مثالها و کد
فرض کنید یک جدول به نام
employees داریم که شامل ستونهای first_name، last_name، و department_id است و میخواهیم یک ایندکس چندستونی بر روی ستونهای last_name و department_id ایجاد کنیم.ایجاد ایندکس چندستونی
در SQL، ایجاد یک ایندکس چندستونی به شکل زیر است:
CREATE INDEX idx_lastname_department ON employees (last_name, department_id);
این ایندکس ابتدا بر اساس
last_name و سپس بر اساس department_id مرتب میشود.استفاده از ایندکس چندستونی در کوئریها
مثال 1: جستجو بر اساس هر دو ستون
SELECT * FROM employees WHERE last_name = 'Doe' AND department_id = 5;
در این کوئری، هر دو ستون
last_name و department_id استفاده شدهاند، بنابراین ایندکس idx_lastname_department به طور کامل بهرهبرداری میشود و کارایی جستجو افزایش مییابد.مثال 2: جستجو بر اساس ستون اول
SELECT * FROM employees WHERE last_name = 'Doe';
در این کوئری، تنها ستون
last_name استفاده شده است که ستون اول ایندکس است. بنابراین ایندکس هنوز هم میتواند کارایی جستجو را بهبود بخشد.مثال 3: جستجو بر اساس ستون دوم
SELECT * FROM employees WHERE department_id = 5;
در این کوئری، تنها ستون
department_id استفاده شده است که ستون دوم ایندکس است. این کوئری نمیتواند از ایندکس idx_lastname_department بهرهبرداری کند و به احتمال زیاد از اسکن کامل جدول استفاده خواهد کرد.بهروزرسانی و حذف ایندکس
برای حذف یک ایندکس چندستونی:
DROP INDEX idx_lastname_department ON employees;
نکات مهم
1. انتخاب ستونها: ستونهایی را انتخاب کنید که در بیشتر کوئریها استفاده میشوند و ترتیب آنها را بر اساس بیشترین تاثیر بر کارایی جستجو تعیین کنید.
2. نگهداری و بهروزرسانی: با افزایش تعداد ایندکسها، عملیات نوشتن (INSERT, UPDATE, DELETE) کندتر میشود. به همین دلیل، باید توازن مناسبی بین تعداد ایندکسها و نیازهای جستجو برقرار کرد.
3. تحلیل کارایی: استفاده از ابزارهای تحلیل کارایی (مانند EXPLAIN در SQL) برای بررسی تاثیر ایندکسها بر کوئریها مفید است.
با توجه به این نکات، ایندکسهای چندستونی میتوانند به طور قابل توجهی کارایی دیتابیس شما را بهبود بخشند اگر به درستی طراحی و استفاده شوند.
#database
#postgresql
👍3
این طراحیه route که مشاهده میکنین برای یه سری از مواقع میتونه باعث زیباتر شدن کدتون بشه :)
استفاده از این طرز نوشتاری میتونه در کلین کد و کوتاه تر شدنش موثر واقع بشه و از تکرار یه سری کلمات جلوگیری بشه...
(البته در نظر داشته باشید که باید کنترلر هاشون مشترک باشه)
@GoldenCodeir
#Laravel
(به منبع و مثالش دقت کنین👇🏾)
https://x.com/PovilasKorop/status/1792854101908136134?t=NB4uthliq4x3FxpuaX91vg&s=35
استفاده از این طرز نوشتاری میتونه در کلین کد و کوتاه تر شدنش موثر واقع بشه و از تکرار یه سری کلمات جلوگیری بشه...
(البته در نظر داشته باشید که باید کنترلر هاشون مشترک باشه)
@GoldenCodeir
#Laravel
(به منبع و مثالش دقت کنین👇🏾)
https://x.com/PovilasKorop/status/1792854101908136134?t=NB4uthliq4x3FxpuaX91vg&s=35
X (formerly Twitter)
Povilas Korop | Laravel Courses Creator & Youtuber (@PovilasKorop) on X
Laravel tip.
If you use many non-resource methods of one Controller in your Routes, consider using a Route Controller group, instead.
If you use many non-resource methods of one Controller in your Routes, consider using a Route Controller group, instead.
❤11👍2
Golden Code
در لاراول چجوری میشه ستون number رو با استفاده از مایگریشن به جدول users اضافه کنیم؟
پس از اجرای کد زیر، کاربر چه وضعیتی را مشاهده خواهد کرد؟
php artisan down
php artisan down
Anonymous Quiz
26%
501
11%
502
50%
503
13%
419
👍3❤2🔥2