🔶 فرهنگستان زبان و ادب فارسی، واژه فارسی «فرسته» را معادل واژه فرنگی «پٌست» تصویب کرد.
🤦♂️
@TheRaymondDev
🤦♂️
@TheRaymondDev
😁5👏1
Forwarded from Node Unique
🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2
🔶 جایگزین Gmail , OutLook, Yahoo Mail اضافه شد.
https://github.com/Rayiumir/List-of-alternatives
@TheRaymondDev
https://github.com/Rayiumir/List-of-alternatives
@TheRaymondDev
GitHub
GitHub - Rayiumir/List-of-alternatives: Introducing the site and alternative software
Introducing the site and alternative software. Contribute to Rayiumir/List-of-alternatives development by creating an account on GitHub.
👍6
🔶 براساس گزارش آسوشیتدپرس نیوز, به گفته مقامات کره جنوبی ، جعبه های سیاه در سقوط هواپیمای کره جنوبی نتوانستند 4 دقیقه پایانی را ثبت کنند و هیچ داده ای در جعبه سیاه هواپیمای ججو ایر کره جنوبی وجود ندارد.
#خبر
@TheRaymondDev
#خبر
@TheRaymondDev
AP News
Black boxes from South Korea plane crash failed to record final 4 minutes, officials say
Officials say the black boxes of a Boeing jetliner that crashed in South Korea last month stopped recording about four minutes before the accident. The discovery could complicate investigations into the cause of the disaster that killed 179 people.
🤨6
Forwarded from LearnPOV | لرن پی او وی
💎 آشنایی با ORMها، چی هستد و به چه کاری میان 💎
کلمه ORM و یا همون Object-Relational Mapping ابزاریه که به شما این امکان رو میده تا با استفاده از زبان های برنامهنویسی شیگرا، به راحتی با دیتابیس کار بکنید.
✅ مزایای ORMها
➊ کاهش کد نویسی
➋ افزایش خوانایی کد
➌ قابلیتهای جابجایی
➍ مدیریت خودکار ریلیشنها
❌ معایب ORMها
➊ عملکرد کمتر
➋ پیشرفته بودن برای مبتدیان
➌ محدودیتهای عملکردی
💯 بهترین ORM ها برای Node.js
1. Sequelize
2. TypeORM
کلمه ORM و یا همون Object-Relational Mapping ابزاریه که به شما این امکان رو میده تا با استفاده از زبان های برنامهنویسی شیگرا، به راحتی با دیتابیس کار بکنید.
یعنی دیگه نیازی نیست خودتون به صورت دستی به نوشتن کوئریهای پیچیده با sql خام بپردازید و میتونید تمرکز بیشتری رو روی منطق برنامهنویسی داشته باشید 💥
✅ مزایای ORMها
➊ کاهش کد نویسی
با استفاده از ORM، نیاز به نوشتن کد SQL کاهش پیدا میکنه و عملیات دیتابیس به صورت خودکار انجام میشه
➋ افزایش خوانایی کد
کد ORM بیشتر به زبان برنامهنویسی شما نزدیکه و فهم اون سادهتره.
➌ قابلیتهای جابجایی
با ORM میتونید به سادگی از یک دیتابیس به یک دیتابیس دیگه منتقل شد.
➍ مدیریت خودکار ریلیشنها
با ORM ها مدیریت روابط ( ریلیشنها ) بین جداول مختلف خیلی ساده تر میشه
❌ معایب ORMها
➊ عملکرد کمتر
برای برخی از عملیاتهای پیچیده مثل گذارش گیری ها ممکنه کارایی کمتری نسبت به نوشتن کد SQL خالص داشته باشن.
➋ پیشرفته بودن برای مبتدیان
درک کامل عملکرد ORM و چگونگی کارکرد اون میتونه برای برخی از دولوپرهای تازهکار سخت تر باشه.
➌ محدودیتهای عملکردی
برای سناریوهایی با نیازهای خاص و پیچیده، ممکنه ORM همه نیازهای مارو برآورده نکنه.
💯 بهترین ORM ها برای Node.js
1. Sequelize
یک ORM قدرتمند برای Node.js و دیتابیس های SQL با پشتیبانی از تعریف مدل، روابط پیچیده، و Migration.
2. TypeORM
به شخصه typeorm رو برای NestJS توصیه میکنم چون فوقالعاده مناسب برای TypeScript هستش که از database های SQL و NoSQL پشتیبانی میکنه.3. Mongoose
این یکی برای MongoDB بهکار میره و درواقع ODM هستش که با Schemaها، Middleware و قابلیت Validation، مدیریت دیتای NoSQL رو براتون اسون تر میکنه.4. Prisma
یک ORM مدرن و TypeScript-friendly برای دیتابیس های SQL با تمرکز بر سرعت، Type-Safty کوئریها.
#️⃣ #lazyloading #javanoscript
🫶 𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
👍3
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 چگونه دیتا براساس مقام در لاراول نمایش دهیم؟
فرض کنید می خواهید دیتا براساس مقام در یک صفحه نمایش دهید و در حالت عادی دو دیتای کلی در یک صفحه نشون میده هم در مدیر و کاربر عادی.
کد زیر:
اما چگونه براساس کاربر مدیر و عادی این دو نمایش دهیم.
با استفاده تابع کوئری :
و اینم تابع Roles در مدل User:
اینجاست من دیتا براساس گیرنده owner_id یعنی کاربر عادی ثبت کردم و اگر کاربری که عضو شد به عنوان کاربر عادی دیتاهای مدیر کل سایت دیده نمی شود و فقط دیتا کاربر عادی می ببیند. بنابراین با
#لاراول
@TheRaymondDev
فرض کنید می خواهید دیتا براساس مقام در یک صفحه نمایش دهید و در حالت عادی دو دیتای کلی در یک صفحه نشون میده هم در مدیر و کاربر عادی.
کد زیر:
$tasks = Task::paginate(10);
$tasks = Task::where('owner_id', Auth::id())->paginate(10);
اما چگونه براساس کاربر مدیر و عادی این دو نمایش دهیم.
با استفاده تابع کوئری :
$tasks = Task::when(!Auth::user()->isAdmin(), function ($query) {
$query->where('owner_id', Auth::id());
})->paginate(10);و اینم تابع Roles در مدل User:
public function isAdmin(): bool
{
return $this->roles()->where('noscript', 'isAdmin')->count() > 0;
}
اینجاست من دیتا براساس گیرنده owner_id یعنی کاربر عادی ثبت کردم و اگر کاربری که عضو شد به عنوان کاربر عادی دیتاهای مدیر کل سایت دیده نمی شود و فقط دیتا کاربر عادی می ببیند. بنابراین با
isAdmin() براساس مقام در نمایش دیتاها محدودیت ایجاد کردم.#لاراول
@TheRaymondDev
👍4🌚1
Forwarded from Sudoer (Morteza Bashsiz)
سناریو شماره ۷ - افت پرفورمنس به دلیل RAM و swap
توی این ویدیو یه سرویسی داریم که افت پرفورمنس داشته به دلیل استفاده نادرست یک پروسس از مموری. با مفاهیم swap آشنا میشیم و اینکه چطوری داره کار میکنه
https://youtu.be/haxr3Lh8lxU
توی این ویدیو یه سرویسی داریم که افت پرفورمنس داشته به دلیل استفاده نادرست یک پروسس از مموری. با مفاهیم swap آشنا میشیم و اینکه چطوری داره کار میکنه
https://youtu.be/haxr3Lh8lxU
🔶 کدوم یک از فریم ورک های CSS در پروژه استفاده کنیم؟
دو فریم ورک معروف در دنیای CSS داریم: ۱- بوت استرپ (Bootstrap) ۲- تیلویند (TailwindCSS)
۱- بوت استرپ (Bootstrap) :
فریم ورک بوت استرپ رسپانسیو سازی و سرعت توسعه بالایی داره و هم سازگار با جاوا اسکریپت است. دارای سیستم گرید قدرتمند برای رسپانسیو سازی المان ها است و قابلیت شخصی سازی خوبی دارد. اگر در پروژه ای می خواهید مداوم تغییراتی اعمال کنید, فریم ورک بوت استرپ پیشنهاد می کنم که دردسرهای شخصی سازی با دستورات خاص برای اعمال کلاس ها را ندارید و دارای کامپوننتهای آماده است.
۲- تیلویند (TailwindCSS) :
با استفاده از تیلویند (Tailwind CSS) می توانید کلاسهای از پیش تعریف شده، به سرعت رابطهای کاربری سفارشی و واکنشگرا ایجاد کنید و رسپانسیو سازی و قابلیت های شخصی بالایی دارد و هم سازگار با جاوا اسکریپت است. اگر در پروژه تغییرات چندانی ندارد و نیازی به اعمال مداوم کلاس ها ندارید رو تیلویند (Tailwind CSS) پیشنهاد می کنم. اما یه سری ایراداتی هست که پیچیدگی در خوانایی کدهای HTML دارد و نیاز به تنظیمات اولیه, وابستگی به ابزارهای ساخت (Build Tools) مانند Webpack، PostCSS یا Vite برای اعمال کلاس ها و دستورات خاص دارید.
#CSS
@TheRaymondDev
دو فریم ورک معروف در دنیای CSS داریم: ۱- بوت استرپ (Bootstrap) ۲- تیلویند (TailwindCSS)
۱- بوت استرپ (Bootstrap) :
فریم ورک بوت استرپ رسپانسیو سازی و سرعت توسعه بالایی داره و هم سازگار با جاوا اسکریپت است. دارای سیستم گرید قدرتمند برای رسپانسیو سازی المان ها است و قابلیت شخصی سازی خوبی دارد. اگر در پروژه ای می خواهید مداوم تغییراتی اعمال کنید, فریم ورک بوت استرپ پیشنهاد می کنم که دردسرهای شخصی سازی با دستورات خاص برای اعمال کلاس ها را ندارید و دارای کامپوننتهای آماده است.
۲- تیلویند (TailwindCSS) :
با استفاده از تیلویند (Tailwind CSS) می توانید کلاسهای از پیش تعریف شده، به سرعت رابطهای کاربری سفارشی و واکنشگرا ایجاد کنید و رسپانسیو سازی و قابلیت های شخصی بالایی دارد و هم سازگار با جاوا اسکریپت است. اگر در پروژه تغییرات چندانی ندارد و نیازی به اعمال مداوم کلاس ها ندارید رو تیلویند (Tailwind CSS) پیشنهاد می کنم. اما یه سری ایراداتی هست که پیچیدگی در خوانایی کدهای HTML دارد و نیاز به تنظیمات اولیه, وابستگی به ابزارهای ساخت (Build Tools) مانند Webpack، PostCSS یا Vite برای اعمال کلاس ها و دستورات خاص دارید.
#CSS
@TheRaymondDev
👍1
Forwarded from DevTwitter | توییت برنامه نویسی
چرا بعضی Unit Testها به هیچ دردی نمی خورن؟
تا حالا براتون پیش اومده که بعد از کلی وقت گذاشتن روی نوشتن تست های واحد، بازم سیستم با یه باگ ناجور منفجر بشه؟ اون حس ناامیدی که انگار همه اون تست ها فقط وقت تلف کردن...
خب، چرا این اتفاق می افته؟
یه سری اشتباهات رایج باعث می شه تست ها بی اثر بشن. مثلا:
استفاده از داده های واقعی به جای داده های ساختگی:
فکر کنید تست تون روی دیتابیس واقعی اجرا بشه. اگه رکوردها تغییر کنن یا دسترسی به دیتابیس قطع بشه، تست می ترکه. تست خوب باید مستقل از محیط باشه.
عدم استفاده از Mocking:
وقتی همه وابستگی های کد واقعی باشن، دارین کل سیستم رو تست می کنید، نه فقط یه بخش خاص رو. این دیگه Unit Test نیست! استفاده از Mock باعث می شه به جای اینکه به API واقعی یا دیتابیس وصل بشید، شبیه ساز اون ها رو تست کنید.
نوشتن تست های زیاد ولی بدون هدف مشخص:
یه زمانی فکر می کردم هرچی تعداد تست ها بیشتر باشه بهتره. بعد فهمیدم تستی که هدفمند نباشه، فقط کد رو شلوغ می کنه و باعث می شه موقع تغییرات کلی مشکل زا بشه.
حالا راه حل چیه؟
۱. وابستگی ها رو Mock کنید. با ابزارهایی مثل Mockito می تونید رفتار وابستگی ها رو شبیه سازی کنید.
۲. از داده های ثابت و ساختگی (Fake Data) استفاده کنید که تغییر نمی کنن.
۳. روی سناریوهای کلیدی تمرکز کنید. مثلا یه تابع مهم چطوری ورودی های خاص رو هندل می کنه؟ این مهم تر از اینه که صد تا تست بنویسید که همشون بی هدف باشن.
@DevTwitter | <Hamed Farzanefar/>
تا حالا براتون پیش اومده که بعد از کلی وقت گذاشتن روی نوشتن تست های واحد، بازم سیستم با یه باگ ناجور منفجر بشه؟ اون حس ناامیدی که انگار همه اون تست ها فقط وقت تلف کردن...
خب، چرا این اتفاق می افته؟
یه سری اشتباهات رایج باعث می شه تست ها بی اثر بشن. مثلا:
استفاده از داده های واقعی به جای داده های ساختگی:
فکر کنید تست تون روی دیتابیس واقعی اجرا بشه. اگه رکوردها تغییر کنن یا دسترسی به دیتابیس قطع بشه، تست می ترکه. تست خوب باید مستقل از محیط باشه.
عدم استفاده از Mocking:
وقتی همه وابستگی های کد واقعی باشن، دارین کل سیستم رو تست می کنید، نه فقط یه بخش خاص رو. این دیگه Unit Test نیست! استفاده از Mock باعث می شه به جای اینکه به API واقعی یا دیتابیس وصل بشید، شبیه ساز اون ها رو تست کنید.
نوشتن تست های زیاد ولی بدون هدف مشخص:
یه زمانی فکر می کردم هرچی تعداد تست ها بیشتر باشه بهتره. بعد فهمیدم تستی که هدفمند نباشه، فقط کد رو شلوغ می کنه و باعث می شه موقع تغییرات کلی مشکل زا بشه.
حالا راه حل چیه؟
۱. وابستگی ها رو Mock کنید. با ابزارهایی مثل Mockito می تونید رفتار وابستگی ها رو شبیه سازی کنید.
۲. از داده های ثابت و ساختگی (Fake Data) استفاده کنید که تغییر نمی کنن.
۳. روی سناریوهای کلیدی تمرکز کنید. مثلا یه تابع مهم چطوری ورودی های خاص رو هندل می کنه؟ این مهم تر از اینه که صد تا تست بنویسید که همشون بی هدف باشن.
@DevTwitter | <Hamed Farzanefar/>
👍3
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 دوره طراحی قالب فروشگاهی ووکامرس منتشر شد!
۱- معرفی دوره
۲- فراخوانی فایل ها
۳- ایحاد سربرگ و منوها
۴- اسلایدر – تبلیغات ها
۵- اطلاعات – محصولات جدید – پرفروش – باتخفیف – بلاگ – لوگوها – فوتر
۶- صفحه Single محصول
۷- نصب وردپرس و ووکامرس – کار با آن
۸- پارتیشن بندی قالب ووکامرس
۹- پویا سازی سربرگ و منوها
۱۰- پویا سازی اسلایدر
۱۱- ایجاد پست تایپ و متاباکس
۱۲- پویا سازی صفحه اول فروشگاه
۱۳- پویا سازی صفحه Single محصول
۱۴- ایجاد صفحه سبد خرید – پارت ۱
۱۵- صفحه سبد خرید – پارت ۲
۱۶- ایجاد صفحه تسویه حساب
۱۷- استایل دهی به صفحه تسویه حساب و سبد خرید
۱۸- ایجاد صفحه حساب کاربری
۱۹- ایجاد دسته بندی – آرشیو – برچسب ها و ایجاد ابزارک برای ووکامرس
۲۰- ابزارک نویسی فیلتر سفارشی قیمت محصولات برای ووکامرس
۲۱- ایجاد وبلاگ و Single آن
۲۲- ایجاد نظرات و استایل دهی آن
۲۳- ایجاد تابع View Post برای نمایش بازدید های پست بدون افزونه
۲۴- ایجاد تب های پست جدید و دیدگاه ها در جایگاه ابزارک ها
۲۵- محصولات مرتبط - رفع اشکال آن (به زودی منتشر می شود)
۲۶- برچسب - دسته بندی - آرشیو - ۴۰۴ (به زودی منتشر می شود)
۲۷- ایجاد محدودیت دسترسی برای دکمه های ورود و عضویت (به زودی منتشر می شود)
۲۸- استایل قیمت ها و افزودن به سبد خرید در Single محصولات (به زودی منتشر می شود)
۲۹- ایجاد تنظیمات قالب با Option Tree (به زودی منتشر می شود)
قیمت دوره ۱.۵ میلیون تومان با تخفیف ۸۰ درصدی ۳۰۰۰۰۰ تومان
https://rayium.ir/?p=1247
#ووکامرس
@TheRaymondDev
۱- معرفی دوره
۲- فراخوانی فایل ها
۳- ایحاد سربرگ و منوها
۴- اسلایدر – تبلیغات ها
۵- اطلاعات – محصولات جدید – پرفروش – باتخفیف – بلاگ – لوگوها – فوتر
۶- صفحه Single محصول
۷- نصب وردپرس و ووکامرس – کار با آن
۸- پارتیشن بندی قالب ووکامرس
۹- پویا سازی سربرگ و منوها
۱۰- پویا سازی اسلایدر
۱۱- ایجاد پست تایپ و متاباکس
۱۲- پویا سازی صفحه اول فروشگاه
۱۳- پویا سازی صفحه Single محصول
۱۴- ایجاد صفحه سبد خرید – پارت ۱
۱۵- صفحه سبد خرید – پارت ۲
۱۶- ایجاد صفحه تسویه حساب
۱۷- استایل دهی به صفحه تسویه حساب و سبد خرید
۱۸- ایجاد صفحه حساب کاربری
۱۹- ایجاد دسته بندی – آرشیو – برچسب ها و ایجاد ابزارک برای ووکامرس
۲۰- ابزارک نویسی فیلتر سفارشی قیمت محصولات برای ووکامرس
۲۱- ایجاد وبلاگ و Single آن
۲۲- ایجاد نظرات و استایل دهی آن
۲۳- ایجاد تابع View Post برای نمایش بازدید های پست بدون افزونه
۲۴- ایجاد تب های پست جدید و دیدگاه ها در جایگاه ابزارک ها
۲۵- محصولات مرتبط - رفع اشکال آن (به زودی منتشر می شود)
۲۶- برچسب - دسته بندی - آرشیو - ۴۰۴ (به زودی منتشر می شود)
۲۷- ایجاد محدودیت دسترسی برای دکمه های ورود و عضویت (به زودی منتشر می شود)
۲۸- استایل قیمت ها و افزودن به سبد خرید در Single محصولات (به زودی منتشر می شود)
۲۹- ایجاد تنظیمات قالب با Option Tree (به زودی منتشر می شود)
قیمت دوره ۱.۵ میلیون تومان با تخفیف ۸۰ درصدی ۳۰۰۰۰۰ تومان
https://rayium.ir/?p=1247
#ووکامرس
@TheRaymondDev
👍1
🔶 بالاخره پروژه مدیریت تسک (TaskSquad) با لاراول - لایو وایر تمام شد!
در این پروژه شما می توانید کارهای وظایفی ایجاد کنید و از شرکت یا راه دور وظیفه یا پروژه ها برای هم تیمی خود تعریف و مدیریت کنید. این پروژه پیچیدگی چندانی ندارد و طوری نوشته شده است که کار با آن ساده باشد.
امکانات نظیر : مدیریت کاربران - گروه ها - مقام ها - دسترسی ها - وظیفه ها - پروژه ها
گیت هاب :
https://github.com/Rayiumir/TaskSquad
نمی دونم قابلیت تجاری سازی داره یا نه
شما می توانید این پروژه مشارکت و فورک و توسعه دهید و امکاناتی که مد نظر است را در تسک اسکواد اضافه کنید که کم کم پروژه بزرگتر شود.
برای حمایت ⭐️ دهید.
@TheRaymondDev
در این پروژه شما می توانید کارهای وظایفی ایجاد کنید و از شرکت یا راه دور وظیفه یا پروژه ها برای هم تیمی خود تعریف و مدیریت کنید. این پروژه پیچیدگی چندانی ندارد و طوری نوشته شده است که کار با آن ساده باشد.
امکانات نظیر : مدیریت کاربران - گروه ها - مقام ها - دسترسی ها - وظیفه ها - پروژه ها
گیت هاب :
https://github.com/Rayiumir/TaskSquad
نمی دونم قابلیت تجاری سازی داره یا نه
شما می توانید این پروژه مشارکت و فورک و توسعه دهید و امکاناتی که مد نظر است را در تسک اسکواد اضافه کنید که کم کم پروژه بزرگتر شود.
برای حمایت ⭐️ دهید.
@TheRaymondDev
👍2
🎄 یک برنامه نویس تنبل
🔶 بالاخره پروژه مدیریت تسک (TaskSquad) با لاراول - لایو وایر تمام شد! در این پروژه شما می توانید کارهای وظایفی ایجاد کنید و از شرکت یا راه دور وظیفه یا پروژه ها برای هم تیمی خود تعریف و مدیریت کنید. این پروژه پیچیدگی چندانی ندارد و طوری نوشته شده است که کار…
🔶 بالاخره پروژه مدیریت تسک (TaskSquad) با لاراول - لایو وایر تمام شد!
در این پروژه شما می توانید کارهای وظایفی ایجاد کنید و از شرکت یا راه دور وظیفه یا پروژه ها برای هم تیمی خود تعریف و مدیریت کنید. این پروژه پیچیدگی چندانی ندارد و طوری نوشته شده است که کار با آن ساده باشد.
امکانات نظیر : مدیریت کاربران - گروه ها - مقام ها - دسترسی ها - وظیفه ها - پروژه ها
گیت هاب :
https://github.com/Rayiumir/TaskSquad
نمی دونم قابلیت تجاری سازی داره یا نه
شما می توانید این پروژه مشارکت و فورک و توسعه دهید و امکاناتی که مد نظر است را در تسک اسکواد اضافه کنید که کم کم پروژه بزرگتر شود.
برای حمایت ⭐️ دهید.
@TheRaymondDev
در این پروژه شما می توانید کارهای وظایفی ایجاد کنید و از شرکت یا راه دور وظیفه یا پروژه ها برای هم تیمی خود تعریف و مدیریت کنید. این پروژه پیچیدگی چندانی ندارد و طوری نوشته شده است که کار با آن ساده باشد.
امکانات نظیر : مدیریت کاربران - گروه ها - مقام ها - دسترسی ها - وظیفه ها - پروژه ها
گیت هاب :
https://github.com/Rayiumir/TaskSquad
نمی دونم قابلیت تجاری سازی داره یا نه
شما می توانید این پروژه مشارکت و فورک و توسعه دهید و امکاناتی که مد نظر است را در تسک اسکواد اضافه کنید که کم کم پروژه بزرگتر شود.
برای حمایت ⭐️ دهید.
@TheRaymondDev
GitHub
GitHub - Rayiumir/TaskSquad: A Tasks Management Project Based on Laravel and Livewire
A Tasks Management Project Based on Laravel and Livewire - Rayiumir/TaskSquad
👏6👍1