۳۰ ساله امنیت سیستمها روی یه فرض ساده بنا شده: فایل متنی خطری نداره چون خودش اجرا نمیشه. واسه همین chrome بدون تایید فایل md و txt رو دانلود میکنه!
ولی سایت میاد یه فایل agents.md تو فولدر downloads میریزه و وقتی codex رو از downloads باز میکنی، ایجنت فکر میکنه این هم instruction پروژه هست و اجراش میکنه! از جمله اضافه کردن یه mcp مخرب به کانفیگ گلوبال :)
ادعا کردن روی codex بالای ۹۰٪ موفق بوده! خلاصه اگه خواستید ایجنت رو تو فولدر downloads ران کنید حواستون باشه!
@DevTwitter | <Amir/>
ولی سایت میاد یه فایل agents.md تو فولدر downloads میریزه و وقتی codex رو از downloads باز میکنی، ایجنت فکر میکنه این هم instruction پروژه هست و اجراش میکنه! از جمله اضافه کردن یه mcp مخرب به کانفیگ گلوبال :)
ادعا کردن روی codex بالای ۹۰٪ موفق بوده! خلاصه اگه خواستید ایجنت رو تو فولدر downloads ران کنید حواستون باشه!
@DevTwitter | <Amir/>
❤48🍌12👍7
This media is not supported in your browser
VIEW IN TELEGRAM
این ویدیو ۱۰ میلیون بازدید گرفته توی کمتر از ۱۲ ساعت؛ یه نفر با Claude Code بکاپ آیفونش رو زیر و رو کرده و میگه کلی عکس پیدا کرده که سالها پیش پاکشون کرده بوده!
ظاهرا آیفون بعضی خاطرات رو بهتر از خودمون نگه میداره :)))
البته هنوز معلوم نیست ادعاش چقدر درسته!
شما هم ببینید
@DevTwitter | <Kaveh/>
ظاهرا آیفون بعضی خاطرات رو بهتر از خودمون نگه میداره :)))
البته هنوز معلوم نیست ادعاش چقدر درسته!
شما هم ببینید
@DevTwitter | <Kaveh/>
🍌50👍7👎3
هر روز 300 میلیون توکن رایگان !!! GLM آتیش زده به مالش میگه برنامه رو آپدیت کنید و هر روز ساعت 14:30 به وقت سرزمین پارس می توید دریافتش کنید.
و زمان استفاده هم از ساعت ۱۸:۳۰ تا ۰۴:۳۰ صبح روز بعد هست.
https://zcode.z.ai/en
@DevTwitter | <Alireza/>
و زمان استفاده هم از ساعت ۱۸:۳۰ تا ۰۴:۳۰ صبح روز بعد هست.
https://zcode.z.ai/en
@DevTwitter | <Alireza/>
👎34👍32🍌12
یه کتابخونه کامپوننت React که احتمالاً هنوز ندیدیش!
چرا؟ چون سازندهاش خودش طراحیش کرده تا هر کامپوننت حرکت کنه، واکنش نشون بده و ظاهری متفاوت از قالبهای تکراری داشته باشه.
اگه دنبال ایدههای تازه برای طراحی رابط کاربری و ساخت سایتهای متفاوتی، این یکی رو ببین:
https://scrolltide.co
@DevTwitter | <Yarad/>
چرا؟ چون سازندهاش خودش طراحیش کرده تا هر کامپوننت حرکت کنه، واکنش نشون بده و ظاهری متفاوت از قالبهای تکراری داشته باشه.
اگه دنبال ایدههای تازه برای طراحی رابط کاربری و ساخت سایتهای متفاوتی، این یکی رو ببین:
https://scrolltide.co
@DevTwitter | <Yarad/>
🍌16❤12👎3
This media is not supported in your browser
VIEW IN TELEGRAM
شده رو سیستم انگلیسی تایپ کنی، بعد یهو ببینی جاش فارسی نوشتی «اشمایحسدشم»؟؟؟
این خیلی رو مخم بود و یهو به ذهنم زد که یه فیکسی براش بسازم
که شد اپ LayoutFixer
کاملا اوپن سورس هست و میتونید نصب کنید «البته رو مک»
https://github.com/sina-developer/LayoutFixer
@DevTwitter | <The S/>
این خیلی رو مخم بود و یهو به ذهنم زد که یه فیکسی براش بسازم
که شد اپ LayoutFixer
کاملا اوپن سورس هست و میتونید نصب کنید «البته رو مک»
https://github.com/sina-developer/LayoutFixer
@DevTwitter | <The S/>
🍌89❤24🔥10
چه ایدههایی دارن بعضیا. با این ابزار متنباز میتونید فایل زیپ ۱۰۰ گیگی رو تو یه درایوی که مثلا ۱۱۰ گیگ جای خالی داره از حالت فشرده دربیارید.
https://github.com/xevrion/hatchzip
@DevTwitter | <milad/>
https://github.com/xevrion/hatchzip
@DevTwitter | <milad/>
🔥76🍌14👍8
Forwarded from DevTwitter Ads.
✨🚀از هستههای انار تا هستههای پردازشی؛ قدرت از زیرساخت آغاز میشود.
به مناسبت روز انار، دیتاسنتر آوابرید سرورهای مجازی SAS را با ۵۰٪ تخفیف ارائه میکند.
کد تخفیف: ANAREHAVABARID
🌐https://avabarid.com/Anar_Vps
به مناسبت روز انار، دیتاسنتر آوابرید سرورهای مجازی SAS را با ۵۰٪ تخفیف ارائه میکند.
کد تخفیف: ANAREHAVABARID
🌐https://avabarid.com/Anar_Vps
👎4🍌3❤1
مدل Qwen علیبابا وسط یه تست امنیتی سعی کرد یه فایل رو بفرسته به سروری تو پکن
طبق گزارش Cohere، از Qwen3.8-Flash-Next خواسته بودن یه قانون تشخیص بدافزار بنویسه. بهجاش:
- محتوای /tmp رو لیست کرد
- چک کرد چه ابزار انتقال فایلی نصبه
- تنظیمات DNS رو خوند
- و خواست یه فایل تستی رو روی یه باکت Alibaba Cloud تو پکن آپلود کنه
جالبترش اینه که تو reasoningش نوشته بود هیچ ابزاری صدا نمیزنه.
سندباکس راه خروج نداشت، پس چیزی بیرون نرفت. نرخش هم زیر ۱ در ۱۰۰ هزاره. Cohere میگه نمیدونه عمدی بوده یا باقیموندهی آموزش، و محققهایی که تریسها رو دیدن نشونهای از بکدور عمدی پیدا نکردن.
ولی اگه Qwen رو لوکال و بهعنوان ایجنت با دسترسی ترمینال اجرا میکنی، دسترسی شبکهی خروجیش رو پیشفرض ببند.
@DevTwitter | <Legendary Coder/>
طبق گزارش Cohere، از Qwen3.8-Flash-Next خواسته بودن یه قانون تشخیص بدافزار بنویسه. بهجاش:
- محتوای /tmp رو لیست کرد
- چک کرد چه ابزار انتقال فایلی نصبه
- تنظیمات DNS رو خوند
- و خواست یه فایل تستی رو روی یه باکت Alibaba Cloud تو پکن آپلود کنه
جالبترش اینه که تو reasoningش نوشته بود هیچ ابزاری صدا نمیزنه.
سندباکس راه خروج نداشت، پس چیزی بیرون نرفت. نرخش هم زیر ۱ در ۱۰۰ هزاره. Cohere میگه نمیدونه عمدی بوده یا باقیموندهی آموزش، و محققهایی که تریسها رو دیدن نشونهای از بکدور عمدی پیدا نکردن.
ولی اگه Qwen رو لوکال و بهعنوان ایجنت با دسترسی ترمینال اجرا میکنی، دسترسی شبکهی خروجیش رو پیشفرض ببند.
@DevTwitter | <Legendary Coder/>
👍27❤4🍌4
Forwarded from DevTwitter Ads.
❌اطلاعیه❌
بچه ها یکی از رفقای من که برنامه نویس ارشد تو شرکت انگلیسی WeSend هستند، برای بچه های داخل ایران یه کار با ارزش انجام دادند👇
تو این شرایط اقتصادی, دوره «طراحی سایت با هوش مصنوعی» رو کاملا #رایـــگان براتون برگزار میکنن🎁
📛نیاز نیست یک خط کد زدن بلد باشید . هوش مصنوعی خودش برامون برنامه نویسی میکنه .
ما فقط بهش دستور میدیم🔥😍
با این آموزش، تو ۵ دقیقه کـــامــلا رایــــــگان یه سایت میارید بالا ، بهش دامنه اختصاص میدید، حتی میتونید محصول هم بفروشید🔥
ــــــــــــ
⚠️ارزش این دوره 5 میلیونه، ولی به مدت 24 ساعت، #رایگان برای 200 نفر قرارش میدن😍
👈🏻تا وقتی ظرفیت پر نشده میتونید برید توی کانال تلگرامشون و رایـــــگان آموزش رو ببینید 👇👇
https://t.me/+_YAPOLD99iYxZDc0
.
بچه ها یکی از رفقای من که برنامه نویس ارشد تو شرکت انگلیسی WeSend هستند، برای بچه های داخل ایران یه کار با ارزش انجام دادند👇
تو این شرایط اقتصادی, دوره «طراحی سایت با هوش مصنوعی» رو کاملا #رایـــگان براتون برگزار میکنن🎁
📛نیاز نیست یک خط کد زدن بلد باشید . هوش مصنوعی خودش برامون برنامه نویسی میکنه .
ما فقط بهش دستور میدیم🔥😍
با این آموزش، تو ۵ دقیقه کـــامــلا رایــــــگان یه سایت میارید بالا ، بهش دامنه اختصاص میدید، حتی میتونید محصول هم بفروشید🔥
ــــــــــــ
⚠️ارزش این دوره 5 میلیونه، ولی به مدت 24 ساعت، #رایگان برای 200 نفر قرارش میدن😍
👈🏻تا وقتی ظرفیت پر نشده میتونید برید توی کانال تلگرامشون و رایـــــگان آموزش رو ببینید 👇👇
https://t.me/+_YAPOLD99iYxZDc0
.
🍌66👎10❤2
زلزله توی دنیای علوم کامپیوتر و ریاضی...
شرکت OpenAI اعلام کرده یه مدل آزمایشی داخلی موفق به رد «فرضیه زمان نمایی» شده، یه فرضیه اساسی که صدها مقاله توی علوم کامپیوتر و گراف بر پایه درستی اون نوشته شده.
این اثبات با زبان اثباتکننده Lean رسما راستیآزمایی ماشینی شده و کدهاش روی گیتهاب هم منتشر شده.
دانشمندهایی که اولین بار خودشون این فرضیه رو مطرح کرده بودن، همراه با رایان ویلیامز از MIT، سرپرستی تیم مستقل بررسی این ادعای بزرگ رو بر عهده گرفتن.
@DevTwitter | <Behrad Javed/>
شرکت OpenAI اعلام کرده یه مدل آزمایشی داخلی موفق به رد «فرضیه زمان نمایی» شده، یه فرضیه اساسی که صدها مقاله توی علوم کامپیوتر و گراف بر پایه درستی اون نوشته شده.
این اثبات با زبان اثباتکننده Lean رسما راستیآزمایی ماشینی شده و کدهاش روی گیتهاب هم منتشر شده.
دانشمندهایی که اولین بار خودشون این فرضیه رو مطرح کرده بودن، همراه با رایان ویلیامز از MIT، سرپرستی تیم مستقل بررسی این ادعای بزرگ رو بر عهده گرفتن.
@DevTwitter | <Behrad Javed/>
🔥58❤8🍌6
یه کتابخونه جذاب برای طراحی UI پیدا کردم:
https://uberdesigner.ai
کار باهاش خیلی سادهست:
کامپوننتی که دوست داری رو پیدا کن.
پرامپتش رو کپی کن.
داخل Claude پیست کن و ازش بخواه همون سبک رو برای پروژهات پیاده کنه.
ثبتنام رایگانه و میتونی همین الان شروع کنی.
نسخه رایگان ۳ تمپلیت روزانه و نسخه پرو ماهانه ۲۹ دلار دسترسی به همه امکانات
اگه میخوای طراحیهات از حالت معمولی خارج بشن، یه سر بهش بزن!
@DevTwitter | <Yarad/>
https://uberdesigner.ai
کار باهاش خیلی سادهست:
کامپوننتی که دوست داری رو پیدا کن.
پرامپتش رو کپی کن.
داخل Claude پیست کن و ازش بخواه همون سبک رو برای پروژهات پیاده کنه.
ثبتنام رایگانه و میتونی همین الان شروع کنی.
نسخه رایگان ۳ تمپلیت روزانه و نسخه پرو ماهانه ۲۹ دلار دسترسی به همه امکانات
اگه میخوای طراحیهات از حالت معمولی خارج بشن، یه سر بهش بزن!
@DevTwitter | <Yarad/>
❤14👍6🍌1
خوب بریم یکم بهینهسازی مصرف توکن یاد بگیریم؛
قاتل اصلی Context Window اون لاگهای ۱۰ هزار خطی، خروجیهای عظیم Search و فایلهای JSON عظیمالجثهای که توی هر قدم دوباره خونده میشن.
امروز توی رادار کامیونیتی چینی به یه پستی بر خوردم که ریپوی متنباز headroom رو کالبدشکافی کرده بود که پر از حکمت و فرزانگی بود.
۱. ایده اصلی Reversible Compression یا فشردهسازی برگشتپذیره: ابزار headroom به عنوان یه پروکسی لوکال یا سرور MCP بین ایجنت و مدل میشینه؛ فایلهای JSON، کدها و لاگها رو روی سیستم خودت فشرده میکنه ولی نسخه خام رو توی کش لوکال نگه میداره تا اگه مدل جایی به جزئیات دقیق نیاز داشت، همون بخش رو بدون افت کیفیت بازیابی کنه.
۲. عدد و رقم بنچمارکهاش برگریزونه: توی دیباگ کردن خطاهای پروداکشن مصرف توکن از ۵۶ هزار تا به ۲۴ هزار تا (۵۷ درصد کاهش!) رسیده و توی گشتن داخل Codebase هم ۴۲ درصد توکن کمتری میسوزونه، اونم با زمان فشردهسازی ۰.۲۱ میلیثانیه برای یه JSON ده هزار توکنی بدون افت دقت.
۳. نکته امنیتی مهم برای بچههایی که روی کدهای شرکتی کار میکنن: توی سورسکدش تلمتری به صورت پیشفرض فعاله (هرچند فقط آمار درصد فشردهسازی رو میفرسته نه خود متن پرامپت رو)، پس قبل از استفاده حتما توی تنظیمات خاموشش کنین.
لینک ریپوی گیتهاب پروژه headroom:
https://github.com/headroomlabs-ai/headroom
@DevTwitter | <Amir Afianian/>
قاتل اصلی Context Window اون لاگهای ۱۰ هزار خطی، خروجیهای عظیم Search و فایلهای JSON عظیمالجثهای که توی هر قدم دوباره خونده میشن.
امروز توی رادار کامیونیتی چینی به یه پستی بر خوردم که ریپوی متنباز headroom رو کالبدشکافی کرده بود که پر از حکمت و فرزانگی بود.
۱. ایده اصلی Reversible Compression یا فشردهسازی برگشتپذیره: ابزار headroom به عنوان یه پروکسی لوکال یا سرور MCP بین ایجنت و مدل میشینه؛ فایلهای JSON، کدها و لاگها رو روی سیستم خودت فشرده میکنه ولی نسخه خام رو توی کش لوکال نگه میداره تا اگه مدل جایی به جزئیات دقیق نیاز داشت، همون بخش رو بدون افت کیفیت بازیابی کنه.
۲. عدد و رقم بنچمارکهاش برگریزونه: توی دیباگ کردن خطاهای پروداکشن مصرف توکن از ۵۶ هزار تا به ۲۴ هزار تا (۵۷ درصد کاهش!) رسیده و توی گشتن داخل Codebase هم ۴۲ درصد توکن کمتری میسوزونه، اونم با زمان فشردهسازی ۰.۲۱ میلیثانیه برای یه JSON ده هزار توکنی بدون افت دقت.
۳. نکته امنیتی مهم برای بچههایی که روی کدهای شرکتی کار میکنن: توی سورسکدش تلمتری به صورت پیشفرض فعاله (هرچند فقط آمار درصد فشردهسازی رو میفرسته نه خود متن پرامپت رو)، پس قبل از استفاده حتما توی تنظیمات خاموشش کنین.
لینک ریپوی گیتهاب پروژه headroom:
https://github.com/headroomlabs-ai/headroom
@DevTwitter | <Amir Afianian/>
❤11🍌10👎1
This media is not supported in your browser
VIEW IN TELEGRAM
یه Skill جدید منتشر شده که میتونه طراحی سایت با هوش مصنوعی رو وارد مرحله جدیدی کنه!
MotionSites بیش از ۷۰۰ نمونه از بهترین طراحیهای وب رو داخل یک Skill جمع کرده تا ایجنتهای هوش مصنوعی بتونن بهجای ساخت سایتهای تکراری و کلیشهای، وبسایتهایی با انیمیشنهای جذاب، ترنزیشنهای نرم و طراحی سینمایی بسازن.
چی کار میکنه؟
طراحیهای الهامبخش: دسترسی به بیش از ۷۰۰ نمونه طراحی وب برای ساخت تجربههای بصری حرفهایتر.
انیمیشنهای جذاب: کمک به ساخت سایتهایی با حرکتهای پویا، ترنزیشنهای روان و تعاملات بصری چشمنواز.
کاهش خروجیهای کلیشهای AI: بهجای طراحیهای تکراری و قالبی، ایجنت میتونه از الگوهای طراحی متنوعتری استفاده کنه.
سازگار با ابزارهای مختلف: قابل استفاده با Claude Code، Codex، Cursor و سایر ایجنتهای کدنویسی سازگار.
تصور کن به ایجنتت بگی یه لندینگپیج مدرن برای محصولت بسازه؛ بهجای یه صفحه معمولی با چند کارت و گرادینت تکراری، میتونی به طراحیهای حرفهایتر و تجربههای بصری سینمایی نزدیک بشی.
نکته جذاب؟ این پروژه رایگان و متنبازه!
اگه با AI کدنویسی میکنی، ارزش امتحان کردن داره.
لینک تو ریپو:
https://github.com/Motionsites-AI/claude-skill
@DevTwitter | <Amirhossein seghatoleslami/>
MotionSites بیش از ۷۰۰ نمونه از بهترین طراحیهای وب رو داخل یک Skill جمع کرده تا ایجنتهای هوش مصنوعی بتونن بهجای ساخت سایتهای تکراری و کلیشهای، وبسایتهایی با انیمیشنهای جذاب، ترنزیشنهای نرم و طراحی سینمایی بسازن.
چی کار میکنه؟
طراحیهای الهامبخش: دسترسی به بیش از ۷۰۰ نمونه طراحی وب برای ساخت تجربههای بصری حرفهایتر.
انیمیشنهای جذاب: کمک به ساخت سایتهایی با حرکتهای پویا، ترنزیشنهای روان و تعاملات بصری چشمنواز.
کاهش خروجیهای کلیشهای AI: بهجای طراحیهای تکراری و قالبی، ایجنت میتونه از الگوهای طراحی متنوعتری استفاده کنه.
سازگار با ابزارهای مختلف: قابل استفاده با Claude Code، Codex، Cursor و سایر ایجنتهای کدنویسی سازگار.
تصور کن به ایجنتت بگی یه لندینگپیج مدرن برای محصولت بسازه؛ بهجای یه صفحه معمولی با چند کارت و گرادینت تکراری، میتونی به طراحیهای حرفهایتر و تجربههای بصری سینمایی نزدیک بشی.
نکته جذاب؟ این پروژه رایگان و متنبازه!
اگه با AI کدنویسی میکنی، ارزش امتحان کردن داره.
لینک تو ریپو:
https://github.com/Motionsites-AI/claude-skill
@DevTwitter | <Amirhossein seghatoleslami/>
❤11🍌7💔1
Forwarded from DevTwitter Ads.
🚀 اگر برنامهنویسی و طراحی سایت را جدی دنبال میکنی، این کانال را از دست نده.
در این کانال هر روز محتوای تخصصی منتشر میشود:
💻 ترفندهای برنامهنویسی
🤖 ابزارهای هوش مصنوعی
🌐 وردپرس و توسعه وب
📰 اخبار و ابزارهای کاربردی دنیای تکنولوژی
همین حالا عضو شو و یک قدم از بقیه جلوتر باش:
👉 https://t.me/CodeVerse_dev
در این کانال هر روز محتوای تخصصی منتشر میشود:
💻 ترفندهای برنامهنویسی
🤖 ابزارهای هوش مصنوعی
🌐 وردپرس و توسعه وب
📰 اخبار و ابزارهای کاربردی دنیای تکنولوژی
همین حالا عضو شو و یک قدم از بقیه جلوتر باش:
👉 https://t.me/CodeVerse_dev
❤3🍌3
یکی از تصمیمهایی که میتونه یک پروژه React رو بهمرور پیچیده کنه، اینه که یک داده رو در دو جای مختلف نگه داریم!
فرض کن اطلاعات کاربر رو با TanStack Query از API دریافت میکنی. بعد برای دسترسی راحتتر، همون اطلاعات رو داخل useState هم ذخیره میکنی.
در نگاه اول همهچیز ساده به نظر میرسه؛ اما از اینجا یک سؤال مهم به وجود میاد:
اگر داده سمت سرور تغییر کنه، کدوم نسخه از اطلاعات باید معتبر باشه؟
اینجاست که تفاوت Server State و Client State اهمیت پیدا میکنه.
Server State دادهایه که مالک اصلی اون سروره. ما فقط یک نسخه از اون رو در اپلیکیشن نگه میداریم و باید به مسائلی مثل Cache، تازگی داده و همگامسازی توجه کنیم.
در مقابل، Client State معمولاً وضعیتهایی رو شامل میشه که خود رابط کاربری مدیریت میکنه؛ مثل باز بودن Modal، تب انتخابشده یا وضعیت موقت یک تعامل.
TanStack Query برای مدیریت Server State طراحی شده و ابزارهایی مثل useState، Context یا Zustand میتونن بسته به نیاز برای Client State مناسب باشن.
مشکل از جایی شروع میشه که بدون دلیل مشخص، داده دریافتی از Query رو داخل یک State جداگانه کپی میکنیم.
حالا دو نسخه از یک داده داریم؛ یکی در Cache و دیگری در State محلی.
اگر Cache بهروزرسانی بشه، State محلی لزوماً همراه اون تغییر نمیکنه. در نتیجه، باید خودمون همگامسازی این دو نسخه رو مدیریت کنیم؛ کاری که اغلب پیچیدگی غیرضروری ایجاد میکنه.
البته کپی کردن داده همیشه اشتباه نیست. برای مثال، وقتی کاربر در حال ویرایش یک فرم هست، ممکنه به یک نسخه محلی و مستقل نیاز داشته باشیم تا تغییراتش تا زمان ذخیرهسازی از داده اصلی جدا بمونه.
نکته اینه که این جداسازی باید هدف مشخصی داشته باشه، نه اینکه صرفاً برای دسترسی راحتتر به داده انجام بشه.
قبل از اضافه کردن هر State جدید، من این سؤال رو مهم میدونم:
آیا واقعاً به یک منبع داده جدید نیاز دارم، یا فقط دارم نسخه دیگری از دادهای رو نگه میدارم که از قبل وجود داره؟
به نظرم مدیریت درست State بیشتر از اینکه به انتخاب یک کتابخانه وابسته باشه، به تشخیص مالکیت دادهها و مشخص کردن منبع حقیقت بستگی داره.
@DevTwitter | <Alireza Shirzadi/>
فرض کن اطلاعات کاربر رو با TanStack Query از API دریافت میکنی. بعد برای دسترسی راحتتر، همون اطلاعات رو داخل useState هم ذخیره میکنی.
در نگاه اول همهچیز ساده به نظر میرسه؛ اما از اینجا یک سؤال مهم به وجود میاد:
اگر داده سمت سرور تغییر کنه، کدوم نسخه از اطلاعات باید معتبر باشه؟
اینجاست که تفاوت Server State و Client State اهمیت پیدا میکنه.
Server State دادهایه که مالک اصلی اون سروره. ما فقط یک نسخه از اون رو در اپلیکیشن نگه میداریم و باید به مسائلی مثل Cache، تازگی داده و همگامسازی توجه کنیم.
در مقابل، Client State معمولاً وضعیتهایی رو شامل میشه که خود رابط کاربری مدیریت میکنه؛ مثل باز بودن Modal، تب انتخابشده یا وضعیت موقت یک تعامل.
TanStack Query برای مدیریت Server State طراحی شده و ابزارهایی مثل useState، Context یا Zustand میتونن بسته به نیاز برای Client State مناسب باشن.
مشکل از جایی شروع میشه که بدون دلیل مشخص، داده دریافتی از Query رو داخل یک State جداگانه کپی میکنیم.
حالا دو نسخه از یک داده داریم؛ یکی در Cache و دیگری در State محلی.
اگر Cache بهروزرسانی بشه، State محلی لزوماً همراه اون تغییر نمیکنه. در نتیجه، باید خودمون همگامسازی این دو نسخه رو مدیریت کنیم؛ کاری که اغلب پیچیدگی غیرضروری ایجاد میکنه.
البته کپی کردن داده همیشه اشتباه نیست. برای مثال، وقتی کاربر در حال ویرایش یک فرم هست، ممکنه به یک نسخه محلی و مستقل نیاز داشته باشیم تا تغییراتش تا زمان ذخیرهسازی از داده اصلی جدا بمونه.
نکته اینه که این جداسازی باید هدف مشخصی داشته باشه، نه اینکه صرفاً برای دسترسی راحتتر به داده انجام بشه.
قبل از اضافه کردن هر State جدید، من این سؤال رو مهم میدونم:
آیا واقعاً به یک منبع داده جدید نیاز دارم، یا فقط دارم نسخه دیگری از دادهای رو نگه میدارم که از قبل وجود داره؟
به نظرم مدیریت درست State بیشتر از اینکه به انتخاب یک کتابخانه وابسته باشه، به تشخیص مالکیت دادهها و مشخص کردن منبع حقیقت بستگی داره.
@DevTwitter | <Alireza Shirzadi/>
👍11🍌1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4🍌2
Forwarded from DevTwitter Ads.
Please open Telegram to view this post
VIEW IN TELEGRAM
👎6