Forwarded from DevTwitter | توییت برنامه نویسی
همه ما حتما یکبار با params ها داخل اپلیکیشن های فرانت کار کردیم که برای فیلتر کردن سرچ و حتی pagination استفاده میشه و اگر از TypeScript استفاده می کنید حتما به مشکلات تایپ params ها که TypeScript گیر میده بر خورد کردین.
حالا یه کتابخانه ای پیدا کردم به اسم Nuqs که یک type-safe search params هست
به طور خلاصه این کتابخانه یک روشی برای مدیریت state برای query ها در URL هست که مثل هووک useState خود React با ویژگی های خیلی خوب.
خود Nuqs شامل یکسری هووک ها مثل useQueryState یا useQueryStates که مثل هووک seSearchParams عمل میکنه و یکسری parser های داخلی مثل parseAsInteger , parseAsBoolean و parseAsString که برای تبدیل کردن تایپ ها استفاده میشه
مزیت های این کتابخانه چیه؟
- با همه ی فریم ورک های بر پایه React مثل Next.js(App Router,Pages Router) , Remix , React React Router , React SPAs سازگاری کامل داره.
- به صورت اتومات URL رو به شکل Synchronization آپدیت میکنه .
- با ابزاری های مثل createSearchParamsCache با Server-side هم سازگاری داره .
- بهینه سازی عملکرد : nuqs URL ها رو به شکل موثر و کارآمدی آپدیت میکنه و از re-render شدن های اضافی جلوگیری میکنه.
- و از همه مهم تر چون شبیه هووک useState دولوپر ها خیلی راحت میتوند باهاش سازگار بشن !
اگر تو پروژه هاتون زیاد به query params ها کار میکنید حتما یکبار امتحانش کنید
پیشنهاد میکنم برای خوندن داکیومنت و مثال های مختلف به سایت اش سر بزنید:
https://nuqs.47ng.com/
@DevTwitter | <Saman Keighobadi/>
حالا یه کتابخانه ای پیدا کردم به اسم Nuqs که یک type-safe search params هست
به طور خلاصه این کتابخانه یک روشی برای مدیریت state برای query ها در URL هست که مثل هووک useState خود React با ویژگی های خیلی خوب.
خود Nuqs شامل یکسری هووک ها مثل useQueryState یا useQueryStates که مثل هووک seSearchParams عمل میکنه و یکسری parser های داخلی مثل parseAsInteger , parseAsBoolean و parseAsString که برای تبدیل کردن تایپ ها استفاده میشه
مزیت های این کتابخانه چیه؟
- با همه ی فریم ورک های بر پایه React مثل Next.js(App Router,Pages Router) , Remix , React React Router , React SPAs سازگاری کامل داره.
- به صورت اتومات URL رو به شکل Synchronization آپدیت میکنه .
- با ابزاری های مثل createSearchParamsCache با Server-side هم سازگاری داره .
- بهینه سازی عملکرد : nuqs URL ها رو به شکل موثر و کارآمدی آپدیت میکنه و از re-render شدن های اضافی جلوگیری میکنه.
- و از همه مهم تر چون شبیه هووک useState دولوپر ها خیلی راحت میتوند باهاش سازگار بشن !
اگر تو پروژه هاتون زیاد به query params ها کار میکنید حتما یکبار امتحانش کنید
پیشنهاد میکنم برای خوندن داکیومنت و مثال های مختلف به سایت اش سر بزنید:
https://nuqs.47ng.com/
@DevTwitter | <Saman Keighobadi/>
Forwarded from Geek Alerts
احتمال برخورد سیارک «شهرکُش» به ماه کمی افزایش یافت
فضاپیماهای ناسا اعلام کردن که احتمال برخورد سیارک ۲۰۲۴ YR۴ به ماه در دسامبر ۲۰۳۲ بیشتر شده. این سیارک که تقریباً اندازه یه ساختمون ۱۰ طبقه هست، قبلاً احتمال برخوردش ۱.۷ درصد بود ولی توی آخرین پیشبینیها این عدد به ۳.۸ درصد رسیده. البته هنوزم احتمال برخوردش کمه (۹۶.۲ درصد احتمال رد شدن) ولی همین افزایش هم قابل توجهه.
دانشمندان با استفاده از دادههای جدید تلسکوپ فضایی جیمز وب، تونستن اندازه دقیقتری از این سیارک رو محاسبه کنن و فهمیدن که بین ۱۷۴ تا ۲۲۰ فوت (حدود ۵۳ تا ۶۷ متر) قطر داره. یه سیارک با این اندازه اگه به ماه برخورد کنه، احتمالاً یه دهانه بزرگ و قابل دیدن روی سطح ماه ایجاد میکنه.
🔗 bgr
🤓 @geekalerts
فضاپیماهای ناسا اعلام کردن که احتمال برخورد سیارک ۲۰۲۴ YR۴ به ماه در دسامبر ۲۰۳۲ بیشتر شده. این سیارک که تقریباً اندازه یه ساختمون ۱۰ طبقه هست، قبلاً احتمال برخوردش ۱.۷ درصد بود ولی توی آخرین پیشبینیها این عدد به ۳.۸ درصد رسیده. البته هنوزم احتمال برخوردش کمه (۹۶.۲ درصد احتمال رد شدن) ولی همین افزایش هم قابل توجهه.
دانشمندان با استفاده از دادههای جدید تلسکوپ فضایی جیمز وب، تونستن اندازه دقیقتری از این سیارک رو محاسبه کنن و فهمیدن که بین ۱۷۴ تا ۲۲۰ فوت (حدود ۵۳ تا ۶۷ متر) قطر داره. یه سیارک با این اندازه اگه به ماه برخورد کنه، احتمالاً یه دهانه بزرگ و قابل دیدن روی سطح ماه ایجاد میکنه.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
یه اشتباهی که برنامه نویس ها میکنن اینه که برای چک کردن تغییر یه فایل میآن و یه حلقه مینویسن و توش هر لحظه فایلو چکش میکنن در صورتی که لینوکس یه ویژگی داره به اسم inotify و میتونین ازش درخواست کنید که تغییرات فایل رو بهتون اطلاع بده
توی بیشتر زبانهای برنامهنویسی میشه بهراحتی از inotify استفاده کرد و میشه علاوه بر تغییر فایل وقتی که حذف، جابجا، تغییر مجوز یا فایل توسط کسی خونده شد رو از طریق سیستم عامل دریافت کرد.
@Linuxor
توی بیشتر زبانهای برنامهنویسی میشه بهراحتی از inotify استفاده کرد و میشه علاوه بر تغییر فایل وقتی که حذف، جابجا، تغییر مجوز یا فایل توسط کسی خونده شد رو از طریق سیستم عامل دریافت کرد.
@Linuxor
Forwarded from نوشتههای ترمینالی
آیا این که پوشه vendor رو توی پروژه گولنگیمون کامیت و پوش کنیم کار خوبیه؟
این مطلب دلایلی میاره که کار خوبیه و باعث میشه الکی نیاز به دانلودشون نباشه و اگر هم پروژهای دیگه قابل دسترس نبود، همچنان پروژه قابل کامپایل شدن باشه.
https://penkovski.com/post/to-vendor-or-not-to-vendor
این مطلب دلایلی میاره که کار خوبیه و باعث میشه الکی نیاز به دانلودشون نباشه و اگر هم پروژهای دیگه قابل دسترس نبود، همچنان پروژه قابل کامپایل شدن باشه.
https://penkovski.com/post/to-vendor-or-not-to-vendor
Penkovski
To Vendor or Not to Vendor
Should we commit vendor in our Go projects?
Since the introduction of Go modules, the prevalent
opinion on the internet is that we should not commit
the vendor directory of our projects.
The argument against committing vendor is that it’s
unnecessary, because…
Since the introduction of Go modules, the prevalent
opinion on the internet is that we should not commit
the vendor directory of our projects.
The argument against committing vendor is that it’s
unnecessary, because…
Forwarded from 🎄 یک برنامه نویس تنبل ( MΞ)
🔶 راست چین سازی داینامیک (Dynamic RTL)
افزونه کروم برای تشخیص خودکار متن فارسی و عربی در صفحات وب و اعمال جهت راست به چپ (RTL) و فونت مناسب (پیشفرض: وزیرمتن، قابل تنظیم).
گیت هاب :
https://github.com/so-roush/Dynamic-RTL
پ.ن:
افزونه نوشتن واقعا دردسر داره
مثلا قبلا داکیومنتی که داشت ورژن۲ ساپورت میکرد الان دیگه فقط ورژن۳ ساپورت میکنه
ارتباط بین content_scripts و background و popup واقعا اذیت کنندس
توی apiهایی که داره async ساپورت نمیشه
واسه مرورگرهای مختلف مثل کروم-فایرفاکس-... باید ورژنهای جدا manifest نوشته بشه تا ساپورت بشه
خلاصه که بجای این همه دردسر بیاید یوزراسکریپت بسازید هم شما راحت کد بزنید و هم توی همه مرورگرها ساپورت بشه ماهم استفاده کنیم
زحمت کمتر و کیفیت بالاتر
@TheRaymondDev
افزونه کروم برای تشخیص خودکار متن فارسی و عربی در صفحات وب و اعمال جهت راست به چپ (RTL) و فونت مناسب (پیشفرض: وزیرمتن، قابل تنظیم).
گیت هاب :
https://github.com/so-roush/Dynamic-RTL
پ.ن:
افزونه نوشتن واقعا دردسر داره
مثلا قبلا داکیومنتی که داشت ورژن۲ ساپورت میکرد الان دیگه فقط ورژن۳ ساپورت میکنه
ارتباط بین content_scripts و background و popup واقعا اذیت کنندس
توی apiهایی که داره async ساپورت نمیشه
واسه مرورگرهای مختلف مثل کروم-فایرفاکس-... باید ورژنهای جدا manifest نوشته بشه تا ساپورت بشه
خلاصه که بجای این همه دردسر بیاید یوزراسکریپت بسازید هم شما راحت کد بزنید و هم توی همه مرورگرها ساپورت بشه ماهم استفاده کنیم
زحمت کمتر و کیفیت بالاتر
@TheRaymondDev
GitHub
GitHub - so-roush/Dynamic-RTL: A Chrome extension that automatically detects Persian/Arabic text on web pages and applies RTL (Right…
A Chrome extension that automatically detects Persian/Arabic text on web pages and applies RTL (Right-to-Left) direction and appropriate font styling. - so-roush/Dynamic-RTL
Forwarded from جادی | Jadi
الان داشتم عناوین رو مرور می کردم و به نظر که کنفرانس باحالیه. منم در افتتاحیه چند دقیقه کوتاه به شکل ویدئوکنفرانس حرف می زنم. کد تخفیف اگر خواستین JadiPrime امیدوارم کار کنه.
https://linux-fest.ir/
https://linux-fest.ir/
Forwarded from DevTwitter | توییت برنامه نویسی
اگه دنبال ابزاری هستید که دادهها رو برای هوش مصنوعی جمعآوری کنه، نگاهی به Crawl4AI بندازید.
تو گیت هاب خیلی سر صدا کرده و کامینتی فعالی داره و Open source
- ساده، سریع و قدرتمند
- مناسب برای جمعآوری دادههای ساختار یافته
- پشتیبانی از پروژههای AI
https://github.com/unclecode/crawl4ai
@DevTwitter | <OmidDev/>
تو گیت هاب خیلی سر صدا کرده و کامینتی فعالی داره و Open source
- ساده، سریع و قدرتمند
- مناسب برای جمعآوری دادههای ساختار یافته
- پشتیبانی از پروژههای AI
https://github.com/unclecode/crawl4ai
@DevTwitter | <OmidDev/>
Forwarded from DevTwitter | توییت برنامه نویسی
اینجا ی برنامه کوچیک داریم که تشخیص میده روی vm ران میشه یانه، و اگه روی ماشین مجازیه سعی میکنه(فقط سعی میکنه) خودش رو کپی کنه روی سیستم هاست(فعلا فقط همجنس لینوکسی کار میکنه؛ عمری باقی باشه گسترشش میدم:)
https://github.com/manirazii/why-you-run-me-in-VM-
@DevTwitter | <Mani/>
https://github.com/manirazii/why-you-run-me-in-VM-
@DevTwitter | <Mani/>
Forwarded from IRCF | اینترنت آزاد برای همه
امکان ستکردن DNS سفارشی به تنظیمات نسخه ۲.۶۵ از فیلترشکن #oblivionDesktop اضافه شد.
🚀 github.com/bepass-org/oblivion-desktop/releases
🔍 ircf.space/software
@ircfspace
🚀 github.com/bepass-org/oblivion-desktop/releases
🔍 ircf.space/software
@ircfspace
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
روبات چهارپای کاوازاکی با طراحی گرگنما، مخصوص رانندگی در زمینهای ناهموار
شرکت ژاپنی کاوازاکی از یه ربات چهارپا به اسم CORLEO رونمایی کرده که با هیدروژن کار میکنه و قیافهش شبیه گرگه. این ربات برای نمایشگاه ۲۰۲۵ اوزاکا-کانسای طراحی شده و هدفش اینه که یه جور موتورسیکلت باشه که همه جا بشه باهاش رفت و محدود به جاده نباشه.
توش AI هم به کار رفته که تعادل و مسیریابی رو بهتر میکنه. طراحیش هم از بازیهای ویدیویی مثل Horizon Zero Dawn الهام گرفته شده.
نحوه کنترلش هم جالبه، مثل موتورسیکلتهای معمولی نیست، بلکه به حرکات بدن راننده واکنش نشون میده.
🔗 interestingengineering
🤓 @geekalerts
شرکت ژاپنی کاوازاکی از یه ربات چهارپا به اسم CORLEO رونمایی کرده که با هیدروژن کار میکنه و قیافهش شبیه گرگه. این ربات برای نمایشگاه ۲۰۲۵ اوزاکا-کانسای طراحی شده و هدفش اینه که یه جور موتورسیکلت باشه که همه جا بشه باهاش رفت و محدود به جاده نباشه.
توش AI هم به کار رفته که تعادل و مسیریابی رو بهتر میکنه. طراحیش هم از بازیهای ویدیویی مثل Horizon Zero Dawn الهام گرفته شده.
نحوه کنترلش هم جالبه، مثل موتورسیکلتهای معمولی نیست، بلکه به حرکات بدن راننده واکنش نشون میده.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from ⚝ (Amir Hossein (Amiria) Maher)
IMDb
Persepolis (2007) ⭐ 8.0 | Animation, Biography, Drama
1h 36m | PG-13
imdb.com/title/tt0808417
اگه میخواید چیزی که به ایرانیها گذشت رو طی چند ده سال اخیر، به شکل پویانمایی به کسی نشون بدید، پویانمایی پرسپولیس (سال ساخت ۲۰۰۷ و دوبلهٔ انگلیسی، ۲۰۰۸) رو پیشنهاد میکنم.
#animation #معرفی
@amiria703_channel
اگه میخواید چیزی که به ایرانیها گذشت رو طی چند ده سال اخیر، به شکل پویانمایی به کسی نشون بدید، پویانمایی پرسپولیس (سال ساخت ۲۰۰۷ و دوبلهٔ انگلیسی، ۲۰۰۸) رو پیشنهاد میکنم.
#animation #معرفی
@amiria703_channel
Forwarded from گنوم فارسی
نگارش جدید نرمافزار تمرین نوشتن کلیدزنی ارائه شده که با مشارکت هادی عزیز از زبان فارسی پشتیبانی میکنه، نتایج واقعبینانهتری میده و بهروز رسانیهای دیگهای داره که باعث بهبود عملکرد و تشخیص سرخوردگی میشه:
https://blogs.gnome.org/bragefuglseth/2025/04/05/keypunch-6.0
@gnome_fa
https://blogs.gnome.org/bragefuglseth/2025/04/05/keypunch-6.0
@gnome_fa
Forwarded from کانال مهرداد لینوکس
🎯 بلاک کردن IP های یک کشور در لینوکس
✅ لیست IP کشورها را از سایت ipdeny میگیریم مثلا ایران میشه
✅ روش اول استفاده از iptables
✅ روش دوم استفاده از nftables
✅ اکر روی پورت خاصی حمله دارید مثلا SSH میتوانید از Fail2Ban هم استفاده کنید
✅ اگر سرور وب دارید (Nginx یا Apache)، میتوانید از ماژول GeoIP هم استفاده کنید
✅ استفاده از Cloudflare هم یگ گزینه است از قسمت Firewall Rules میتوانید ir را فیلتر کنید
نظر شما چیه ؟
@MehrdadLinuxchannel
✅ لیست IP کشورها را از سایت ipdeny میگیریم مثلا ایران میشه
wget -O ir.zone https://www.ipdeny.com/ipblocks/data/countries/ir.zone
✅ روش اول استفاده از iptables
while read ip; do
iptables -A INPUT -s $ip -j DROP
iptables -A OUTPUT -d $ip -j DROP
done < ir.zone
✅ روش دوم استفاده از nftables
nft add table ip filter
nft add chain ip filter input { type filter hook input priority 0 \; }
while read ip; do
nft add rule ip filter input ip saddr $ip drop
done < ir.zone
✅ اکر روی پورت خاصی حمله دارید مثلا SSH میتوانید از Fail2Ban هم استفاده کنید
/etc/fail2ban/jail.local
[sshd]
enabled = true
bantime = 86400
findtime = 600
maxretry = 3
✅ اگر سرور وب دارید (Nginx یا Apache)، میتوانید از ماژول GeoIP هم استفاده کنید
✅ استفاده از Cloudflare هم یگ گزینه است از قسمت Firewall Rules میتوانید ir را فیلتر کنید
🚀 بهترین ترکیب برای امنیت:
استفاده از iptables + fail2ban + Cloudflare (برای سایتها) + GeoIP در وبسرورها
نظر شما چیه ؟
@MehrdadLinuxchannel
Forwarded from جامعهٔ فارسی زبان کیدیای (Sohrab)
زمانبندی عرضهٔ نگارشهای کیدیای پلاسما
اولین نگارش آزمایشی از پلاسما ۶.۴ که تغییرات زیادی رو هم با خودش در زمینه بهبود تجربهکاربری به همراه داره، در ۲۵ام اردیبهشت ماه خواهد بود و سپس اگر در زمان عرضه مشکلی پیش نیاد پلاسما ۶.۴.۰ در ۲۲ام و یا ۲۶ام خردادماه این سال عرضه خواهد شد.
@kde_fa
اولین نگارش آزمایشی از پلاسما ۶.۴ که تغییرات زیادی رو هم با خودش در زمینه بهبود تجربهکاربری به همراه داره، در ۲۵ام اردیبهشت ماه خواهد بود و سپس اگر در زمان عرضه مشکلی پیش نیاد پلاسما ۶.۴.۰ در ۲۲ام و یا ۲۶ام خردادماه این سال عرضه خواهد شد.
@kde_fa
Forwarded from Linuxor ?
اومدن سوالای المپیاد ریاضی امسال آمریکا رو بلافاصله بعد آزمون دادن به LLM هایی که reasoning دارن و کل اثبات رو چک کردن. نتیجه این شده که همهشون کمتر از 5% نمره رو تونستن بگیرن. این نشون میده که نمرههای خیلی خوب این مدلا تو تستای دیگه؛ احتمالا بخاطر اینه که سوالای شبیهش تو دیتای ترین وجود داشته یا اینکه با اثبات و منطق اشتباه صرفا تونستن جواب آخرو درست دربیارن. (مقاله)
@Linuxor ~ mohammadsh377
@Linuxor ~ mohammadsh377
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱)
🔶 پکیچ Laravel Slugable منتشر شد.
ما در پروژه های لاراولی از پکیچ spatie/laravel-sluggable و cviebrock/eloquent-sluggable استفاده می کنیم و حالا آمدیم یه پکیچ نوشتیم و بدون تنظیمات و غیره ... ساده سازی کردیم
فقط با صدا زدن HasSlugable، قابلیت تولید اسلاگ خودکار رو به مدلها اضافه میکند.
بدون نیاز به config یا تنظیمات
سازگار با لاراول ۹ به بالاتر
بدون وابستگی اضافه
استفاده از Str::slug بومی لاراول
گیت هاب :
https://github.com/Rayiumir/laravel-slugable
#لاراول
@TheRaymondDev
ما در پروژه های لاراولی از پکیچ spatie/laravel-sluggable و cviebrock/eloquent-sluggable استفاده می کنیم و حالا آمدیم یه پکیچ نوشتیم و بدون تنظیمات و غیره ... ساده سازی کردیم
فقط با صدا زدن HasSlugable، قابلیت تولید اسلاگ خودکار رو به مدلها اضافه میکند.
بدون نیاز به config یا تنظیمات
سازگار با لاراول ۹ به بالاتر
بدون وابستگی اضافه
استفاده از Str::slug بومی لاراول
گیت هاب :
https://github.com/Rayiumir/laravel-slugable
#لاراول
@TheRaymondDev
GitHub
GitHub - LaraPire/laravel-slugable: Simple and lightweight with just one HasSlugable in the model
Simple and lightweight with just one HasSlugable in the model - LaraPire/laravel-slugable
Forwarded from Agora (امــیر)
کاملا موافقم.
احاطه به موضوع بیزنس خیلی خوبه. مثلا وقتی شما درگیر ایده پردازی و طراحی یه راه حل هستین، اگر نوع بیزنس و جایگاه حال حاضرش رو بدونین، میتونین تصمیم های بهتری بگیرین.
از یه سری پیچیدگی ها "فعلا" صرف نظر کنین یا یه سری قابلیت های خوب رو اضافه کنین که بعدا ممکنه به کار بیان
احاطه به موضوع بیزنس خیلی خوبه. مثلا وقتی شما درگیر ایده پردازی و طراحی یه راه حل هستین، اگر نوع بیزنس و جایگاه حال حاضرش رو بدونین، میتونین تصمیم های بهتری بگیرین.
از یه سری پیچیدگی ها "فعلا" صرف نظر کنین یا یه سری قابلیت های خوب رو اضافه کنین که بعدا ممکنه به کار بیان
Forwarded from Gopher Academy
🔵 عنوان مقاله
Were Multiple Return Values a Mistake for Go?
🟢 خلاصه مقاله:
در این مقاله، نویسنده به بررسی یکی از تصمیمهای اولیه طراحی زبان برنامهنویسی گو پرداخته که تأثیرات عمیقی در نحوه استفاده از آن برجای گذاشته است. نویسنده معتقد است که نبود پشتیبانی از تاپلها (دادههای ساختاری که چندین عنصر مختلف را در خود جای میدهند) در گو باعث شده تا برنامهنویسان به ساختارهایی سادهتر و کمابیش محدودتر متوسل شوند، که این محدودیت در نگارش کدهای بهینه و خوانا تأثیر میگذارد. نویسنده همچنین به بحثهای موجود در جامعه گو و تفاوت نظرات در مورد این طراحیها اشاره میکند و بر اهمیت بالانس میان سادگی و کارایی در طراحی زبانهای برنامهنویسی تاکید دارد.
🟣لینک مقاله:
https://golangweekly.com/link/167038/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Were Multiple Return Values a Mistake for Go?
🟢 خلاصه مقاله:
در این مقاله، نویسنده به بررسی یکی از تصمیمهای اولیه طراحی زبان برنامهنویسی گو پرداخته که تأثیرات عمیقی در نحوه استفاده از آن برجای گذاشته است. نویسنده معتقد است که نبود پشتیبانی از تاپلها (دادههای ساختاری که چندین عنصر مختلف را در خود جای میدهند) در گو باعث شده تا برنامهنویسان به ساختارهایی سادهتر و کمابیش محدودتر متوسل شوند، که این محدودیت در نگارش کدهای بهینه و خوانا تأثیر میگذارد. نویسنده همچنین به بحثهای موجود در جامعه گو و تفاوت نظرات در مورد این طراحیها اشاره میکند و بر اهمیت بالانس میان سادگی و کارایی در طراحی زبانهای برنامهنویسی تاکید دارد.
🟣لینک مقاله:
https://golangweekly.com/link/167038/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
MOND←TECH MAGAZINE
Were multiple return values Go's biggest mistake?
Yet another article complaining about Go’s error handling.