Forwarded from laravel-news
تلویند Tailwind CSS v4.0-beta.1 منتشر شد! 🚀
بهترین ابزار برای طراحی رابط کاربری، حالا سریعتر و قویتر از همیشه!
✨ ویژگیهای جدید این نسخه:
✅ 5 برابر build سریعتر و 100 برابر rebuild سریعتر
✅ ابزارهای داخلی مثل Imports و Vendor Prefixing
✅ پشتیبانی از قابلیتهای جدید CSS مثل Container Queries و starting-style 😍
✅ پالت رنگی Wide-Gamut برای رنگهای زندهتر و طبیعیتر
✅ پیکربندی سادهتر و مدرنتر با رویکرد CSS-first
💻 اگر میخواهید این نسخه را تست کنید، کافیه این دستور رو اجرا کنید:
اطلاعات بیشتر در وبسایت رسمی:
🌐 https://tailwindcss.com/docs/v4-beta
#TailwindCSS #CSS #Frontend #WebDevelopment
بهترین ابزار برای طراحی رابط کاربری، حالا سریعتر و قویتر از همیشه!
✨ ویژگیهای جدید این نسخه:
✅ 5 برابر build سریعتر و 100 برابر rebuild سریعتر
✅ ابزارهای داخلی مثل Imports و Vendor Prefixing
✅ پشتیبانی از قابلیتهای جدید CSS مثل Container Queries و starting-style 😍
✅ پالت رنگی Wide-Gamut برای رنگهای زندهتر و طبیعیتر
✅ پیکربندی سادهتر و مدرنتر با رویکرد CSS-first
💻 اگر میخواهید این نسخه را تست کنید، کافیه این دستور رو اجرا کنید:
npm install tailwindcss@next
اطلاعات بیشتر در وبسایت رسمی:
🌐 https://tailwindcss.com/docs/v4-beta
#TailwindCSS #CSS #Frontend #WebDevelopment
👍3
Forwarded from Linuxor ?
اگه دیدین یکی دسکتاپش رو زیبا کاستوم کرده با این برنامه میتونین کل اطلاعات دسکتاپ از جمله ایکون ها فونت و بکگراند و... رو بکاپ بگیرید و روی سیستم خودتون ریستور کنید :
https://github.com/vikdevelop/SaveDesktop
🐧 @Linuxor
https://github.com/vikdevelop/SaveDesktop
🐧 @Linuxor
👍4
🔶 یه کتابخانه ساده با نام GallerySlideshow برای نمایش گالری تصویر محصولات نوشتم.
البته کتابخانه های زیادی وجود داره اما بعضی حجم زیاد و پیچیدگی و استایل جالبی نداره و تصمیم گرفتم خودم یه نمونه ایجاد کنم که در آینده توی پروژه ها استفاده کنم.
پیش نیاز استفاده از آن جی کوئری است.
پیش نمایش آنلاین :
https://rayiumir.github.io/GallerySlideshow/
گیت هاب کتابخانه :
https://github.com/Rayiumir/GallerySlideshow
برای حمایت از ما توی گیت هاب ⭐️ دهید.
اگر تمایل دارید این کتابخانه رو توسعه بدید, می توانید مرج دهید.
#jQuery
@TheRaymondDev
البته کتابخانه های زیادی وجود داره اما بعضی حجم زیاد و پیچیدگی و استایل جالبی نداره و تصمیم گرفتم خودم یه نمونه ایجاد کنم که در آینده توی پروژه ها استفاده کنم.
پیش نیاز استفاده از آن جی کوئری است.
پیش نمایش آنلاین :
https://rayiumir.github.io/GallerySlideshow/
گیت هاب کتابخانه :
https://github.com/Rayiumir/GallerySlideshow
برای حمایت از ما توی گیت هاب ⭐️ دهید.
اگر تمایل دارید این کتابخانه رو توسعه بدید, می توانید مرج دهید.
حجم دانلودش کتابخانه ۹۲ مگابابت هست و به خاطر کیفیت بالای عکس ها است. شرمنده
#jQuery
@TheRaymondDev
👍5🔥1🤬1
🔶 خواهشا ردیس را به عنوان Primary Database استفاده نکنید!
یکی از جذابترین ریفکتور هایی که در اکالا انجام دادم، به ریلیز کردن ۴۰ گیگابایت رم ردیس برای استفاده در سبد خرید و سفارشها مربوط میشه. در این فرآیند، موفق شدم تنها از ۴۰۰ مگابایت رم استفاده کنم!
در شروع کار، به این فکر میکردم که چگونه میتوانم ۴۰ گیگابایت رم را آزاد کنم. اولین راهحلی که به ذهنم رسید، فشردهسازی دادهها بود. اما هیچ کامپرسوری نمیتوانست به اندازه کافی این حجم داده را فشرده کند، و هزینهی Decompress کردن آن بخاطر لود بالای سیستم، بسیار بالا بود.
هر کلید ما حاوی حدود ۱-۲ کیلوبایت JSON بود و مجبور بودیم که هر محصول را بدون TTL در Redis نگه داریم، زیرا Round Trip ما به Redis در لحظه به حدود ۳۰K میرسید و Redis ۴۰ گیگابایتی را مصرف میکرد. هیچ اپلیکیشنی نمیتوانست این حجم Request را با منابع پایین و زمان پاسخدهی ۱۰ میلیثانیه انجام دهد!
در ادامه، وقتی وارد فضای حل مسئله شدم:
پاکسازی دادههای اضافی: اولین قدم ما حذف کلی دادههای غیرضروری بود که هر کلید را به حدوداً ۵۰۰ بایت تبدیل کرد.
استفاده از Protobuf: به این فکر کردم که چرا از JSON استفاده کنیم؟ با استفاده از deserializer و serializer قدرتمندی مثل Protobuf، میتوانستیم حجم دادهها را به طور چشمگیری کاهش دهیم. با تبدیل دادهها به باینری و ذخیره آن، حجم هر کلید به حدود ۳۰۰ بایت کاهش یافت، که به معنای کاهش ۸۰ درصدی مصرف رم بود. با این حال، کیفیت و سرعت بالا در اکالا برای ما بسیار مهم بود.
شکستن کلیدها: کلیدها را به دو بخش تقسیم کردم:
اطلاعات محصول (شامل نام، بارکد، آدرس عکس و...) در یک کلید با حجم تقریباً ۲۰۰ بایت.
موجودی هر محصول در فروشگاهها در کلیدی دیگر با حجم حدود ۱۰۰ بایت.
در روش قبلی، اگر یک میلیون کالا داشتیم، مصرف حدود ۲۸۶ مگابایت بود. اما در روش جدید، فرض کنیم از یک میلیون تا 2000 محصول داریم و برای یک میلیون کالا موجودی در استور های مختلف، حدود ۹۵ مگابایت مصرف میشد!
کش کردن محصولات: همچنین، کالاهای اضافهشده به سبد خرید مشتریان را به مدت ۴ روز کش کردم. به جای استفاده از Redis به عنوان Primary Database و بدون TTL، هرگاه دادهای نداشتیم، از منبع اصلی اطلاعات را میگرفتیم و دوباره به مدت ۴ روز کش میکردیم. اگر کاربری همان کالا را دوباره به سبد خرید اضافه میکرد، TTL آن به صورت Sliding افزایش مییافت.
در نهایت، با همین ۴۰۰ مگابایت، همه چیز به خوبی به هم رسید و ما توانستیم پرفورمنس و سرعت را بدون هیچ افت کیفیتی حفظ کنیم!
</Hasan Arab borzo>
@TheRaymondDev
یکی از جذابترین ریفکتور هایی که در اکالا انجام دادم، به ریلیز کردن ۴۰ گیگابایت رم ردیس برای استفاده در سبد خرید و سفارشها مربوط میشه. در این فرآیند، موفق شدم تنها از ۴۰۰ مگابایت رم استفاده کنم!
در شروع کار، به این فکر میکردم که چگونه میتوانم ۴۰ گیگابایت رم را آزاد کنم. اولین راهحلی که به ذهنم رسید، فشردهسازی دادهها بود. اما هیچ کامپرسوری نمیتوانست به اندازه کافی این حجم داده را فشرده کند، و هزینهی Decompress کردن آن بخاطر لود بالای سیستم، بسیار بالا بود.
هر کلید ما حاوی حدود ۱-۲ کیلوبایت JSON بود و مجبور بودیم که هر محصول را بدون TTL در Redis نگه داریم، زیرا Round Trip ما به Redis در لحظه به حدود ۳۰K میرسید و Redis ۴۰ گیگابایتی را مصرف میکرد. هیچ اپلیکیشنی نمیتوانست این حجم Request را با منابع پایین و زمان پاسخدهی ۱۰ میلیثانیه انجام دهد!
در ادامه، وقتی وارد فضای حل مسئله شدم:
پاکسازی دادههای اضافی: اولین قدم ما حذف کلی دادههای غیرضروری بود که هر کلید را به حدوداً ۵۰۰ بایت تبدیل کرد.
استفاده از Protobuf: به این فکر کردم که چرا از JSON استفاده کنیم؟ با استفاده از deserializer و serializer قدرتمندی مثل Protobuf، میتوانستیم حجم دادهها را به طور چشمگیری کاهش دهیم. با تبدیل دادهها به باینری و ذخیره آن، حجم هر کلید به حدود ۳۰۰ بایت کاهش یافت، که به معنای کاهش ۸۰ درصدی مصرف رم بود. با این حال، کیفیت و سرعت بالا در اکالا برای ما بسیار مهم بود.
شکستن کلیدها: کلیدها را به دو بخش تقسیم کردم:
اطلاعات محصول (شامل نام، بارکد، آدرس عکس و...) در یک کلید با حجم تقریباً ۲۰۰ بایت.
موجودی هر محصول در فروشگاهها در کلیدی دیگر با حجم حدود ۱۰۰ بایت.
در روش قبلی، اگر یک میلیون کالا داشتیم، مصرف حدود ۲۸۶ مگابایت بود. اما در روش جدید، فرض کنیم از یک میلیون تا 2000 محصول داریم و برای یک میلیون کالا موجودی در استور های مختلف، حدود ۹۵ مگابایت مصرف میشد!
کش کردن محصولات: همچنین، کالاهای اضافهشده به سبد خرید مشتریان را به مدت ۴ روز کش کردم. به جای استفاده از Redis به عنوان Primary Database و بدون TTL، هرگاه دادهای نداشتیم، از منبع اصلی اطلاعات را میگرفتیم و دوباره به مدت ۴ روز کش میکردیم. اگر کاربری همان کالا را دوباره به سبد خرید اضافه میکرد، TTL آن به صورت Sliding افزایش مییافت.
در نهایت، با همین ۴۰۰ مگابایت، همه چیز به خوبی به هم رسید و ما توانستیم پرفورمنس و سرعت را بدون هیچ افت کیفیتی حفظ کنیم!
</Hasan Arab borzo>
@TheRaymondDev
Linkedin
خواهشا ردیس را به عنوان Primary Database استفاده نکنید! | Hasan Arab borzo | 94 comments
خواهشا ردیس را به عنوان Primary Database استفاده نکنید! ⚠️
💥 یکی از جذابترین ریفکتور هایی که در اکالا انجام دادم، به ریلیز کردن ۴۰ گیگابایت رم ردیس برای استفاده در سبد خرید و سفارشها مربوط میشه. در این فرآیند، موفق شدم تنها از ۴۰۰ مگابایت رم استفاده کنم!…
💥 یکی از جذابترین ریفکتور هایی که در اکالا انجام دادم، به ریلیز کردن ۴۰ گیگابایت رم ردیس برای استفاده در سبد خرید و سفارشها مربوط میشه. در این فرآیند، موفق شدم تنها از ۴۰۰ مگابایت رم استفاده کنم!…
❤6👍1
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 دوره آموزشی طراحی قالب شرکتی بر پایه وردپرس
1- ایجاد پوشه و فایل ها
2- آپلود پروژه در گیت هاب
3- ایجاد سربرگ و صفحه معرفی
4- خدمات ما
5- نمونه کارها
6- آمار شرکت
7- تیم ما
8- مشتریان ما
9- فوتر
10 - جدا سازی بخش های قالب
11- پویا سازی منوها
12- ایجاد پست تایپ ها
13- پویا سازی خدمات ما با متاباکس
14- پویا سازی تیم ما با متاباکس
15- پویا سازی مشتریان ما با متاباکس
16- پویا سازی آمار شرکت
17- پویا سازی نمونه کار
18- ایجاد متاباکس گالری
19- جاوا اسکریپت برای گالری نمونه کار
20- نمایش گالری عکس در نمونه کارها
21- ایجاد برگه و برگه وبلاگ
22- تک صفحه (Single) برای وبلاگ
23- ابزارک ها
24- ایجاد صفحات ۴۰۴ – دسته بندی – بایگانی – جستجو و برچسب ها
25- نظرات
26- ایجاد تنظیمات سایت با فریم ورک Option Tree و فوتر
https://rayium.ir/?p=1412
#دوره
@TheRaymondDev
1- ایجاد پوشه و فایل ها
2- آپلود پروژه در گیت هاب
3- ایجاد سربرگ و صفحه معرفی
4- خدمات ما
5- نمونه کارها
6- آمار شرکت
7- تیم ما
8- مشتریان ما
9- فوتر
10 - جدا سازی بخش های قالب
11- پویا سازی منوها
12- ایجاد پست تایپ ها
13- پویا سازی خدمات ما با متاباکس
14- پویا سازی تیم ما با متاباکس
15- پویا سازی مشتریان ما با متاباکس
16- پویا سازی آمار شرکت
17- پویا سازی نمونه کار
18- ایجاد متاباکس گالری
19- جاوا اسکریپت برای گالری نمونه کار
20- نمایش گالری عکس در نمونه کارها
21- ایجاد برگه و برگه وبلاگ
22- تک صفحه (Single) برای وبلاگ
23- ابزارک ها
24- ایجاد صفحات ۴۰۴ – دسته بندی – بایگانی – جستجو و برچسب ها
25- نظرات
26- ایجاد تنظیمات سایت با فریم ورک Option Tree و فوتر
قیمت دوره 999,000 تومان
با تخفیف 60 درصد 399,000 تومان
https://rayium.ir/?p=1412
#دوره
@TheRaymondDev
👍1
🔶 کتابخانه (CopyCode JS) کپی - پیست کد ها
اگر به سایت های برنامه نویسی دیدید که در نمایش کدها گوشه ای از آن دکمه کپی کد داره که با کلیک این دکمه کل کد کپی می کند. این قابلیت توی سایت اضافه کردیم که به کتابخانه کوچیک تبدیل کردیم.
پیش نیاز استفاده از کتابخانه جی کوئری است.
پیش نمایش آنلاین :
https://rayiumir.github.io/copycode-js/
گیت هاب :
https://github.com/Rayiumir/copycode-js
برای حمایت از ما توی گیت هاب ⭐️ دهید.
#jQuery
@TheRaymondDev
اگر به سایت های برنامه نویسی دیدید که در نمایش کدها گوشه ای از آن دکمه کپی کد داره که با کلیک این دکمه کل کد کپی می کند. این قابلیت توی سایت اضافه کردیم که به کتابخانه کوچیک تبدیل کردیم.
پیش نیاز استفاده از کتابخانه جی کوئری است.
پیش نمایش آنلاین :
https://rayiumir.github.io/copycode-js/
گیت هاب :
https://github.com/Rayiumir/copycode-js
در استفاده از copycode.js با دو تگ pre و code سروکار دارید. برای تنظیم دکمه، از استایل برای تنظیمات دکمه استفاده کنید و در هر ویرایشگری که از این دو تگ پشتیبانی می کند، سازگار است.
برای حمایت از ما توی گیت هاب ⭐️ دهید.
#jQuery
@TheRaymondDev
GitHub
GitHub - Rayiumir/copycode-js: Simple and Lightweight Library for Copy Codes
Simple and Lightweight Library for Copy Codes. Contribute to Rayiumir/copycode-js development by creating an account on GitHub.
👍2😐1
Forwarded from Golden Code (@lix)
در لاراول وقتی نیاز به پردازش دیتای سنگین داریم میتونیم از lazy collection استفاده کنیم.
با استفاده از lazy collection درواقع دیتاها فقط زمانی که بهشون نیاز باشه لود میشن، پس بدلیل لود تدریجی سرعت بارگزاری بهتر میشه!
این یعنی برخلاف Collection معمولی که همهی دیتاها رو یکجا لود میکنه.
#Laravel
@GoldenCodeir
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/thelarrybarker/status/1855281331770429474?t=W8HppF5MAi6ewngacubEXw&s=35
با استفاده از lazy collection درواقع دیتاها فقط زمانی که بهشون نیاز باشه لود میشن، پس بدلیل لود تدریجی سرعت بارگزاری بهتر میشه!
این یعنی برخلاف Collection معمولی که همهی دیتاها رو یکجا لود میکنه.
#Laravel
@GoldenCodeir
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/thelarrybarker/status/1855281331770429474?t=W8HppF5MAi6ewngacubEXw&s=35
👍3
❤7🤣5🤮1
Forwarded from Linuxor ?
به جزئی از سیستم که همه اجزا به اون وابسته ان و در صورت خرابی، کل سیستم از بین میره، SPOF یا نقطه شکست میگن
جالب اینجاست پیدا کردن SPOF توی یه سیستم کار ساده ای نیست و ممکنه آشکار نباشه که با ریداندنسی و بالانسینگ بین اجزا میشه SPOF رو کاهش داد
مثلا سیستم های ارزی و بانکی تعداد زیادی سرور دارن که به صورت تکراری داده هارو توش بکاپ میگیرن و حتی نیازه که سرور های بکاپ هم تراکنش هارو commit کنن تا حتی یک ثانیه سرور اصلی قطع شه هیچ تراکنشی بلاتکلیف نشه
🐧 @Linuxor
جالب اینجاست پیدا کردن SPOF توی یه سیستم کار ساده ای نیست و ممکنه آشکار نباشه که با ریداندنسی و بالانسینگ بین اجزا میشه SPOF رو کاهش داد
مثلا سیستم های ارزی و بانکی تعداد زیادی سرور دارن که به صورت تکراری داده هارو توش بکاپ میگیرن و حتی نیازه که سرور های بکاپ هم تراکنش هارو commit کنن تا حتی یک ثانیه سرور اصلی قطع شه هیچ تراکنشی بلاتکلیف نشه
🐧 @Linuxor
👍7
🔶 بنابر گزارش تامز هاردور، هستهی لینوکس ۶/۱۱ با بهروزرسانیهای خود، گامی مهم در جهت بهبود پشتیبانی از کارتهای حافظهی SD برداشته است. این بهروزرسانی بهویژه روی کارتهای حافظهی SD با ظرفیت زیاد و سرعت انتقال داده سریع مانند SDUC و UHS-II تمرکز دارد.
یکی از ویژگیهای مهم هستهی لینوکس ۶/۱۱، پشتیبانی کامل از کارتهای حافظهی SDUC است. این کارتها با ظرفیت تئوری ۱۲۸ ترابایت، امکان ذخیره حجم عظیمی از دادهها را فراهم میکنند. با توجه به اینکه درحالحاضر کارتهای حافظهی SDUC با ظرفیت ۸ ترابایت در بازار موجود هستند، میتوان انتظار داشت که در آیندهی نزدیک شاهد تولید کارتهای حافظه با ظرفیتهای بیشتر نیز باشیم.
</Zoomit>
#خبر
@TheRaymondDev
یکی از ویژگیهای مهم هستهی لینوکس ۶/۱۱، پشتیبانی کامل از کارتهای حافظهی SDUC است. این کارتها با ظرفیت تئوری ۱۲۸ ترابایت، امکان ذخیره حجم عظیمی از دادهها را فراهم میکنند. با توجه به اینکه درحالحاضر کارتهای حافظهی SDUC با ظرفیت ۸ ترابایت در بازار موجود هستند، میتوان انتظار داشت که در آیندهی نزدیک شاهد تولید کارتهای حافظه با ظرفیتهای بیشتر نیز باشیم.
</Zoomit>
#خبر
@TheRaymondDev
Tom's Hardware
Linux update adds support for 128 terabyte SD cards— SDUC and UHS-II SD cards are now supported
High-capacity and high-speed SD and microSD cards will receive improved Linux support on the latest 6.11 kernel update.
🔥3👍1
🔶 ابزار Upscayl : افزایش کیفیت عکس با هوش مصنوعی
https://github.com/upscayl/upscayl
برای سیستم عامل های لینوکس, مک او اس, ویندوز در دسترس است.
#AI
@TheRaymondDev
https://github.com/upscayl/upscayl
برای سیستم عامل های لینوکس, مک او اس, ویندوز در دسترس است.
#AI
@TheRaymondDev
GitHub
GitHub - upscayl/upscayl: 🆙 Upscayl - #1 Free and Open Source AI Image Upscaler for Linux, MacOS and Windows.
🆙 Upscayl - #1 Free and Open Source AI Image Upscaler for Linux, MacOS and Windows. - upscayl/upscayl
1❤1👍1
🔶 به نظر میاد بعد از ۳۰ سال ایران صاحب جنگنده سوخو ۳۵ روسی شده است.
طبق گفته ها قرار است به مرور زمان ۲۴ فروند جنگنده سوخو ۳۵ برای مصر تولید شده اند به ایران تحویل داده شوند و حتی صحبت از ایجاد خطوط تولید سوخو ۳۵ در ایران شده که هنوز تایید نشده است.
#Technology
@TheRaymondDev | @PARVAZDAROJ
طبق گفته ها قرار است به مرور زمان ۲۴ فروند جنگنده سوخو ۳۵ برای مصر تولید شده اند به ایران تحویل داده شوند و حتی صحبت از ایجاد خطوط تولید سوخو ۳۵ در ایران شده که هنوز تایید نشده است.
#Technology
@TheRaymondDev | @PARVAZDAROJ
👍7🤣1