کدهالیک | codehalic
تو یکی از مصاحبههایی که اخیرا برای پوزیشن Software Engineer تو یه شرکت خیلی خوب داخلی داشتم، یه سوال جالب ازم پرسیدن که امروز میخوام راجع بهش باهاتون صحبت کنم. مصاحبهکننده اول پرسید آیا تا به حال از ردیس استفاده کردی؟ گفتم بله. پرسید برای چه کاری؟ جواب…
بچهها بریم سراغ جواب اون سوال مصاحبه که قولش رو داده بودم. وقتی صحبت از استراتژیهای کشینگ میشه، ما چند تا الگوی استاندارد داریم که بسته به سناریو و نیازمندی سیستم باید بهترینش رو انتخاب کنیم.
استراتژی اول: Cache Aside یا Lazy Loading
این رایجترین مدلیه که تو پروژهها میبینید. روند کار اینطوریه که اپلیکیشن شما اول برای گرفتن دیتا میره سراغ ردیس. اگه دیتا اونجا بود که سریع برمیگردونه. اما اگه نبود، میره از دیتابیس اصلی مثل اس کیو ال سرور رکورد رو میخونه، کش رو آپدیت میکنه و بعد جواب رو میده. مثال بارزش خوندن کاتالوگ محصولات یا اطلاعات پایه یه سیستمه که زیاد خونده میشن اما دیر به دیر تغییر میکنن.
استراتژی دوم: Write Through
تو این مدل وقتی کاربر یه دیتایی رو ثبت یا آپدیت میکنه، اپلیکیشن شما همزمان اون دیتا رو هم داخل دیتابیس و هم داخل کش مینویسه. مزیت بزرگش اینه که همیشه دیتای داخل کش کاملا با دیتابیس سینک هست و دیتای کهنه یا منقضی شده به کاربر نمیدید. عیبش اینه که عملیات رایت یه کوچولو کندتر میشه چون دیتا باید هر دو جا نوشته بشه. این روش برای دیتاهایی که هم زیاد خونده میشن و هم آپدیت بودنشون به شدت حیاتیه کاربرد داره.
استراتژی سوم: Write Behind یا Write Back
این الگو برای سیستمهای با ترافیک بالا فوقالعاده است. اینجا شما دیتای جدید رو فقط داخل ردیس مینویسید و بلافاصله به کاربر پاسخ موفقیتآمیز میدید تا معطل نشه. بعدا تو بکگراند یه سرویس یا ورکر میاد این دیتاها رو جمع میکنه و به صورت دستهای میبره سمت دیتابیس اصلی ذخیره میکنه. بهترین مثالش سیستمهای لایک یا شمارشگر بازدید ویدیو هست که حجم نوشتن توشون به شدت بالاست. البته ریسکش اینه که اگه نود ردیس قبل از سینک شدن با دیتابیس کرش کنه، ممکنه بخشی از دیتا از دست بره.
رفرنس :
https://devscape.in/blog/caching-strategies
@codehalics | کدهالیک
استراتژی اول: Cache Aside یا Lazy Loading
این رایجترین مدلیه که تو پروژهها میبینید. روند کار اینطوریه که اپلیکیشن شما اول برای گرفتن دیتا میره سراغ ردیس. اگه دیتا اونجا بود که سریع برمیگردونه. اما اگه نبود، میره از دیتابیس اصلی مثل اس کیو ال سرور رکورد رو میخونه، کش رو آپدیت میکنه و بعد جواب رو میده. مثال بارزش خوندن کاتالوگ محصولات یا اطلاعات پایه یه سیستمه که زیاد خونده میشن اما دیر به دیر تغییر میکنن.
استراتژی دوم: Write Through
تو این مدل وقتی کاربر یه دیتایی رو ثبت یا آپدیت میکنه، اپلیکیشن شما همزمان اون دیتا رو هم داخل دیتابیس و هم داخل کش مینویسه. مزیت بزرگش اینه که همیشه دیتای داخل کش کاملا با دیتابیس سینک هست و دیتای کهنه یا منقضی شده به کاربر نمیدید. عیبش اینه که عملیات رایت یه کوچولو کندتر میشه چون دیتا باید هر دو جا نوشته بشه. این روش برای دیتاهایی که هم زیاد خونده میشن و هم آپدیت بودنشون به شدت حیاتیه کاربرد داره.
استراتژی سوم: Write Behind یا Write Back
این الگو برای سیستمهای با ترافیک بالا فوقالعاده است. اینجا شما دیتای جدید رو فقط داخل ردیس مینویسید و بلافاصله به کاربر پاسخ موفقیتآمیز میدید تا معطل نشه. بعدا تو بکگراند یه سرویس یا ورکر میاد این دیتاها رو جمع میکنه و به صورت دستهای میبره سمت دیتابیس اصلی ذخیره میکنه. بهترین مثالش سیستمهای لایک یا شمارشگر بازدید ویدیو هست که حجم نوشتن توشون به شدت بالاست. البته ریسکش اینه که اگه نود ردیس قبل از سینک شدن با دیتابیس کرش کنه، ممکنه بخشی از دیتا از دست بره.
در نهایت تو پروژههای بزرگ و معماریهای توزیعشده، ما معمولا فقط به یک روش بسنده نمیکنیم و ترکیبی از این استراتژیها رو پیاده میکنیم. هنر شما به عنوان طراح سیستم اینه که بر اساس بار ترافیکی و نیاز بیزینس، الگوی درست رو برای هر بخش از پروژه انتخاب کنید.
رفرنس :
https://devscape.in/blog/caching-strategies
@codehalics | کدهالیک
❤19👍3🔥2👏1
دوستانی که مک دارن پیشنهاد میکنم حتما این اپ رو امتحان کنین خیلی خوبه!
یه آیکون کوچیک توی منوبار که کار دهها اپ پولی رو یکجا انجام میده. رایگان، اوپنسورس و همهچیز فقط روی خود مک اجرا میشه (بدون اکانت، بدون ترکینگ، بدون اشتراک).
امکانات اصلیش ایناست:
• کنترل صدای جدا برای هر اپ (مثل میکسِر ویندوز)
• مانیتور کامل سیستم (CPU، GPU، رم، دما، باتری، شبکه و مصرف انرژی)
• جلوگیری از خواب مک (Keep Awake)
• سوییچر خیلی بهتر پنجرهها با پیشنمایش زنده
• تاریخچه کلیپبورد + شلف فایلها
• آنینستالر تمیز اپها • و کلی ابزار دیگه مثل اسکرینشات پیشرفته، اسنیپت متن، ویندوز اسنپ و...
ماژولاره هم هست؛ فقط چیزایی که لازم داری رو فعال میکنی.
اگه مک داری، حتماً یه نگاهی بهش بنداز:
http://vorssaint.com
GOODRICH ✍️
@codehalics | کدهالیک
یه آیکون کوچیک توی منوبار که کار دهها اپ پولی رو یکجا انجام میده. رایگان، اوپنسورس و همهچیز فقط روی خود مک اجرا میشه (بدون اکانت، بدون ترکینگ، بدون اشتراک).
امکانات اصلیش ایناست:
• کنترل صدای جدا برای هر اپ (مثل میکسِر ویندوز)
• مانیتور کامل سیستم (CPU، GPU، رم، دما، باتری، شبکه و مصرف انرژی)
• جلوگیری از خواب مک (Keep Awake)
• سوییچر خیلی بهتر پنجرهها با پیشنمایش زنده
• تاریخچه کلیپبورد + شلف فایلها
• آنینستالر تمیز اپها • و کلی ابزار دیگه مثل اسکرینشات پیشرفته، اسنیپت متن، ویندوز اسنپ و...
ماژولاره هم هست؛ فقط چیزایی که لازم داری رو فعال میکنی.
اگه مک داری، حتماً یه نگاهی بهش بنداز:
http://vorssaint.com
GOODRICH ✍️
@codehalics | کدهالیک
❤3😁1
پکیج AnimateIcons یه کلکسیون در حال توسعه از آیکونهای متحرک و آمادهست. این ابزار به شما کمک میکنه تا بدون نیاز به طراحی صفر تا صدِ انیمیشنها، ظاهر پروژهتون رو پویاتر و حرفهایتر کنید.
این مجموعه مشخصاً برای اون دسته از برنامهنویسهایی طراحی شده که دوست دارن رابط کاربری (UI) پروژهشون حس تعاملیتری به کاربر بده، اما در عین حال نمیخوان درگیر پیچیدگیهای اضافهی کدنویسی بشن.
https://animateicons.in/
@codehalics | کدهالیک
این مجموعه مشخصاً برای اون دسته از برنامهنویسهایی طراحی شده که دوست دارن رابط کاربری (UI) پروژهشون حس تعاملیتری به کاربر بده، اما در عین حال نمیخوان درگیر پیچیدگیهای اضافهی کدنویسی بشن.
https://animateicons.in/
npm i @animateicons/react
@codehalics | کدهالیک
❤5
این ابزار بهتون اجازه میده همون موقعی که دارید رو سیستم خودتون کد میزنید عمدا کانکشن سرویس هاتون رو دستکاری کنید تا ببینید برنامتون تو شرایط بحرانی چه واکنشی نشون میده. در واقع شما به سرور استیجینگ وصل میشید ولی فقط برای سشن خودتون شبیه سازی میکنید که مثلا دیتابیس کند شده یا ارتباط کلا قطعه بدون اینکه کار بقیه تیم مختل بشه. اینجوری قبل از اینکه کدتون بره رو پروداکشن و فاجعه به بار بیاره قشنگ متوجه میشید که اون لاجیک هایی که برای هندل کردن ارورها و تایم اوت ها نوشتید واقعا کار میکنن یا فقط الکین.
https://metalbear.com/blog/mirrord-chaos-testing
@codehalics | کدهالیک
https://metalbear.com/blog/mirrord-chaos-testing
@codehalics | کدهالیک
❤9
متنهای AI پر از عبارتهای کلیشهای و لحن مصنوعی هستن، Humanizer با بررسی ۳۵ الگوی رایج، عبارتهای کلیشهای، تکرار و لحن مصنوعی رو انسانی و طبیعیتر میکنه؛ بدون تغییر منظور اصلی.
این Skill رایگان و متنبازه و روی Claude Code، Codex و Cursor نصب میشه.
https://github.com/blader/humanizer
Elizaium✍️
@codehalics | کدهالیک
این Skill رایگان و متنبازه و روی Claude Code، Codex و Cursor نصب میشه.
https://github.com/blader/humanizer
Elizaium✍️
@codehalics | کدهالیک
❤5
با نصبِ Claude-Mem، به ایجنتهای کدنویسی حافظه دائمی میده.
کارها و تصمیمهای هر جلسه رو خلاصه میکنه و در چت بعدی فقط اطلاعات مرتبط رو برمیگردونه؛ پس لازم نیست هر بار پروژه رو از اول توضیح بدید.
Elizaium ✍️
@codehalics | کدهالیک
کارها و تصمیمهای هر جلسه رو خلاصه میکنه و در چت بعدی فقط اطلاعات مرتبط رو برمیگردونه؛ پس لازم نیست هر بار پروژه رو از اول توضیح بدید.
Elizaium ✍️
@codehalics | کدهالیک
❤3
با نصبِ gstack که مجموعهای از Skillهاست، Claude Code و Codex شبیه تیم توسعه میشن: ایده رو از نظر محصول و طراحی میسنجه، معماری میچینه، کد رو بازبینی میکنه، با مرورگر تست میکنه و برای انتشار آماده میکنه.
github.com/garrytan/gstack
Elizaium
@codehalics | کدهالیک
github.com/garrytan/gstack
Elizaium
@codehalics | کدهالیک
❤7
یه منبع خیلی عالی برای کامپوننتهای آماده Three.js و شیدرهای تعاملی دیدم که برای ارتقای بصری پروژههای وب واقعا بینظیره و استفاده ازش میتونه حسابی به کارتون بیاد. این سایت یه مجموعهی عظیم از کدهای آماده برای بکگراندهای سهبعدی، دکمههای متحرک، انیمیشنهای متنی و حتی تمپلیتهای کامل لندینگ پیج داره که میتونید خیلی راحت اونها رو کپی کنید و مستقیم توی پروژههاتون به کار ببرید. تازه بهتون Prompt هم میده که با ایجنت ها بتونین این کامپوننت هارو بسازین !
https://threeui.com
@codehalics | کدهالیک
https://threeui.com
@codehalics | کدهالیک
❤7
حتما برای شما هم پیش اومده که موقع کدنویسی، دیباگ کردن یا تحقیق دهها تب رو همزمان باز نگه میدارید و رم سیستم حسابی درگیر میشه. این افزونه با یک کلیک تمام تبهای باز شما رو میبنده و لینک همه اونها رو به صورت یک لیست مرتب توی یک صفحه جدید ذخیره میکنه که طبق گفته سازندههاش میتونه تا نود و پنج درصد مصرف حافظه مرورگر رو کاهش بده. بعدا هر زمان که به اون صفحات نیاز داشتید میتونید به راحتی تکی یا یکجا دوباره بازشون کنید و حتی لیست لینکها رو برای استفادههای بعدی خروجی بگیرید که برای مرتب نگه داشتن محیط کار و تمرکز بیشتر واقعا ابزار مفیدی محسوب میشه.
https://chromewebstore.google.com/detail/onetab/chphlpgkkbolifaimnlloiipkdnihall?hl=de
@codehalics | کدهالیک
https://chromewebstore.google.com/detail/onetab/chphlpgkkbolifaimnlloiipkdnihall?hl=de
@codehalics | کدهالیک
❤6👍1
اگر به دنبال ساخت دموهای حرفهای از پروژههاتون هستید و خروجیهای جذاب و سینمایی ابزارهای پولی مثل اسکرین استودیو رو دوست دارید، حتما یه نگاه به Openvid بیندازید. این ابزار یه ویرایشگر ویدیوی اوپن سورس فوقالعاده است که بدون نیاز به هیچ نصبی مستقیما روی مرورگر اجرا میشه و با استفاده از تکنولوژیهایی مثل واسم و تریجیاس بهتون اجازه میده حرکات دوربین سهبعدی، زومهای نرم و افکتهای بلر رو روی ویدیوها اعمال کنید. یکی از قابلیتهای خیلی کاربردیش اینه که میتونید رکوردهاتون رو داخل فریم مرورگرهایی مثل کروم، سافاری یا آرک قرار بدید و در نهایت یک خروجی باکیفیت تا رزولوشن 4K یا فرمت بدون پسزمینه به صورت کاملا لوکال بگیرید که برای پرزنت کردن محصولات نرمافزاری و تولید محتوا واقعا ابزار بینظیریه.
https://github.com/CristianOlivera1/openvid
@codehalics | کدهالیک
https://github.com/CristianOlivera1/openvid
@codehalics | کدهالیک
❤3
پکیج MoneyPrinterTurbo یه ابزار متنباز باحاله که با هوش مصنوعی برات ویدیو کوتاه میسازه و تمام مراحل تولید محتوا رو خودش ردیف میکنه. فقط کافیه یه موضوع یا کلمه کلیدی بهش بدی تا داستان و سناریو رو بنویسه، تصویر و ویدیوی مناسب پیدا کنه، روش صدا و زیرنویس بذاره و موزیک زمینهشو تنظیم کنه. آخر سر هم یه ویدیوی آماده و باکیفیت تحویلت میده؛ تازه پنل وب، API و محیط متنی هم داره که هرجور راحتی باهاش کار کنی.
https://github.com/harry0703/MoneyPrinterTurbo
@codehalics | کدهالیک
https://github.com/harry0703/MoneyPrinterTurbo
@codehalics | کدهالیک
❤1