Codoloper Articles
18 subscribers
44 photos
44 links
مقاله های کدلپر اینجا منتشر میشن

کانال اصلی:
@Codoloper
Download Telegram
Forwarded from Codoloper
ایندکس در دیتابیس، نوشته جدیدیه که منتشر کردیم 📝✨

اگر یک سایت، اپلیکیشن یا هر چیزی دارید که به صورت مکرر از یک کوئری استفاده میکنه، ممکنه که بهتر باشه ایندکسش کنید تا سریع تر بشه 🚀 چون خیلی وقت‌ها حس میکنید که چقدر دردسر داره لود کردن از دیتابیس 💻🐌

داخل این نوشته، ایندکس کردن داخل دیتابیس
رو بررسی کردیم 🔍📚

امیدواریم مفید باشه
https://codoloper.ir/blog/ayndks-dytabys-chra-yk-kwery-sadh-gahy-chnd-thanyh-twl-mykshh

#آموزش #دیتابیس
Forwarded from Codoloper
نوشته جدید: شاردینگ در مبحث دیتابیس 🗄️

داخل این نوشته می‌خونیم که چطوری وقتی یک دیتابیس اونقدر بزرگ میشه که روی یک سرور جاش نمیشه، میشه پخش کرد دیتارو بین سرور های مختلف 🌐💾.

چه زمانی باید از مفهوم شاردینگ استفاده کنیم؟ 🤔
چنتا ابزار هم برای این کار و دلیل ایجاد اون ابزار هارو هم معرفی کردیم 🛠️.

امیدواریم مفید باشه ✨
https://codoloper.ir/blog/shardyng-dytabys-wqty-yk-srwr-dygh-jayy-bray-dadh-ndarh

#آموزش 📚 #دیتابیس 🔑
Forwarded from Codoloper
نوشته جدید: Replication در دیتابیس

فرض کن سرور دیتابیس اصلی یک پروژه، به هر دلیلی — خرابی سخت‌افزار 💻، آپدیت نادرست 🛠️، قطعی برق دیتاسنتر ⚡ — از دسترس خارج بشه. اگه فقط یک نسخه از داده‌ات جایی وجود داشته باشه، این یعنی کل سرویس تا وقتی اون سرور برنگرده، از کار می‌افته 🛑.

ریپلیکیشن دقیقاً برای جلوگیری از همین سناریو ساخته شده 🔄: به‌جای نگه‌داشتن داده روی یک سرور تنها، یک یا چند کپی زنده و همیشه به‌روز از همون داده رو روی سرورهای دیگه نگه میداری 🌐.

امیدواریم مفید باشه 😊👍

در این نوشته این مفهوم رو بررسی کردیم:
https://codoloper.ir/blog/ryplykyshn-dytabys-yk-kpy-zndh-az-dadh-ha-hmyshh-aamadh

#آموزش #دیتابیس
Forwarded from Codoloper
نوشته جدید: Elasticsearch: قدرتمند، سنگین، و نه همیشه انتخاب درست 🔍

الاستیک سرچ یکی از قدرتمندترین ابزارهای جستجو و پالایش داده هست که میتونید ازش برای خیلی چیزها، افزون بر جستجوی بسیار هوشمند و سریع، استفاده کنید. 💻📊

ولی آیا به صرفه هست استفاده‌ش؟ یا حتی به این قدرت نیاز دارید؟ 🤔💰

امیدواریم براتون مفید باشه ✨

https://codoloper.ir/blog/elasticsearch-qdrtmnd-sngyn-w-nh-hmyshh-antkhab-drst

#آموزش #جستجو
Forwarded from Codoloper
نوشته جدید: cuid و cuid2 - چرا نسخه‌ی دوم عملاً از صفر بازنویسی شد 🔄

وقتی می‌خوای برای رکوردهای دیتابیست یک شناسه‌ی یکتا بسازی، احتمالاً اول به auto increment فکر می‌کنی، بعد به UUID، و اگه دنبال چیزی سبک‌تر و url-friendly تر باشی، به cuid می‌رسی. ولی نکته‌ای که خیلی وقت‌ها گم می‌شه اینه که cuid و cuid2 دو چیز کاملاً متفاوتن — نه یک آپدیت جزئی، بلکه یک بازطراحی کامل با فرض‌های امنیتی متفاوت 🔐🔧

یک نکته بگم که اگر از zod استفاده می‌کنید، ورژن جدید cuid دپریکیت شده. پس این موضوع مهمه ⚠️

امیدواریم مفید باشه ✨

https://codoloper.ir/blog/cuid-w-cuid2-chra-nskhhy-dwm-amlaan-az-sfr-baznwysy-shd

#آموزش
Forwarded from Codoloper
نوشته جدید: Rate Limiting 🔒

فرض کن یک endpoint ساده داری که لیست محصولات رو برمیگردونه 📦. یک روز متوجه میشی سرورت زیر فشار عجیبی رفته، درحالی‌که تعداد کاربر واقعی زیاد نشده 📉. وقتی لاگ‌ها رو نگاه میکنی، میبینی یک IP تنها، چند هزار درخواست در ثانیه فرستاده — یا یک اسکریپت خرابه 🤖، یا یک نفر داره عمداً داده‌هات رو میخراشه (scrape میکنه) 🕸️، یا حتی داره تلاش میکنه با حجم درخواست سرویس رو از کار بندازه 🛑. Rate limiting دقیقاً همون لایه‌ایه که جلوی این سناریو رو میگیره 🛡️: تعیین میکنه هر کلاینت (بر اساس IP، کاربر، یا API key) توی یک بازه‌ی زمانی مشخص، حداکثر چند درخواست میتونه بفرسته ⏱️.

لایه‌های مختلف این مفهوم رو بررسی کردیم، روی وب سرور بزاریم یا روی اپلیکیشن یا اصلا نزاریم؟ 🤔 و خیلی مسائل دیگه...

امیدواریم مفید باشه ✨
https://codoloper.ir/blog/rate-limiting-chra-hr-api-bayd-yk-sqf-msrf-dashth-bashh
#آموزش
Forwarded from Codoloper
نوشته جدید: Message Queues 📬

در مقاله‌ی جدید کدلپر، از صفر توضیح دادیم که queue دقیقاً چیکار می‌کنه 🤔، چرا فقط یه background thread ساده کافی نیست، و چطور مفاهیمی مثل durability و retry باعث می‌شن سیستم در برابر کرش و قطعی مقاوم‌تر بشه 🛡.

مقایسه‌ی RabbitMQ و Kafka هم توش هست — با یه جمع‌بندی ساده از اینکه کِی کدومشون منطقی‌تره ⚖️.

نکته‌ای هم درباره‌ی idempotency و dead letter queue گفتیم که تو خیلی از tutorial ها نادیده گرفته می‌شه ولی زیر لود بالا خودش رو نشون می‌ده .

امیدواریم مفید باشه ✨

https://codoloper.ir/blog/message-queue-chyh-w-chra-hr-brnamhnwysy-bayd-bahash-aashna-bashh
#آموزش 📚
Forwarded from Codoloper
نوشته جدید: قضیه CAP در دیتابیس

یکی از مهم ترین مباحثی که باید راجع به دیتابیس های توزیع شده بدونید قضیه CAP هست

میگن که یک دیتابیس هیچ‌وقت نمیتونه این سه تا رو باهم تضمین کنه Consistancy, Availability و Partition tolerance

این مطلب مهمی هست در کل

امیدواریم مفید باشه
https://codoloper.ir/blog/qdhyhy-cap-chra-hych-dytabys-twzyashdhay-nmytwnh-hmhchyz-rw-ba-hm-dashth-bashh

#آموزش
Forwarded from Codoloper
⚙️ یه سؤال ساده: وقتی یه سرور کش رو اضافه یا حذف می‌کنی، چرا یهو کل کش خالی می‌شه و همه‌ی درخواست‌ها می‌ریزن رو دیتابیس؟ 🤔

جواب این سؤال به یه فرمول ساده برمی‌گرده: hash(key) % N. تا وقتی N ثابته همه‌چیز خوبه ✅، ولی همین که یه سرور کم یا زیاد بشه، تقریباً همه‌ی کلیدها جابه‌جا می‌شن 🔄. تو مقاله‌ی جدید کدلپر، از صفر توضیح دادیم consistent hashing چطور این مشکل رو حل می‌کنه 🛠️ و چرا فقط K/N کلید (به‌جای همه‌شون) جابه‌جا می‌شه.

توش رفتیم سراغ:
🔹 یه پیاده‌سازی واقعی با پایتون 🐍
🔹 مفهوم virtual node و این‌که چرا بدونش توزیع بار روی سرورها اصلاً یکنواخت نمی‌شه ⚖️
🔹 کاربردهای واقعیش تو Cassandra، DynamoDB و Memcached 🗄️
🔹 محدودیت‌هایی که کمتر کسی درباره‌شون حرف می‌زنه؛ مثل چالش سرورهای با ظرفیت متفاوت و رابطه‌ش با replication 🚧

👉 https://codoloper.ir/blog/consistent-hashing-chtwr-yh-systm-twzyashdh-rw-dr-brabr-adhafh-w-km-shdn-srwr-mqawm-myknh

#آموزش
Forwarded from Codoloper
نوشته جدید: اصول SOLID 🛠️

اصول SOLID احتمالاً یکی از پرتکرارترین موضوعاتی هست که تو مصاحبه‌های برنامه‌نویسی ازش سؤال می‌شه 🤔، ولی همین تکرار زیاد باعث شده خیلی وقت‌ها به یه سری تعریف حفظی تبدیل بشه که کسی واقعاً نمی‌دونه کِی و چرا باید ازشون استفاده کنه. 🧠

این پنج اصل، راهنمای طراحی کلاس‌ها و ماژول‌ها هستن که هدفشون کد قابل نگهداری‌تر و کمتر شکننده در برابر تغییره 🛡️؛ نه یه سری قانون مقدس که باید همیشه و همه‌جا کورکورانه اجراشون کنی. ✨

امیدواریم مفید باشه 🚀

https://codoloper.ir/blog/aswl-solid-chyzy-kh-hmh-azsh-asm-mybrn-wly-kmtr-ksy-drst-azsh-astfadh-myknh
#آموزش 📚
Forwarded from Codoloper
نوشته جدید: Test-Driven Development 🧪📝

داخل این آموزش بررسی کردیم که چطوری میشه اول تست نوشت، بعد برای اون تست لاجیک نوشت و اصلا چرا باید اینکار رو بکنیم؟ 🤔

ببینید، اگر یک اینترفیس ورودی و یک اسکیما/فرمت خاص خروجی دارید، و تجربه دارید که کار رو از همون اول در بیارید این روش صرفا یک لایه اطمینان هست. ✅ اما در غیر اینصورت پیشنهاد میکنم حتما تست رو بنویسید و یا به یک روشی از ورودی و خروجی کدتون اطمینان حاصل کنید.

این روش بسیار برای کسانی که میخوان بزرگ کد بزنن کمک کننده هست. 🚀

امیدواریم مفید باشه 🌟
https://codoloper.ir/blog/tdd-chyh-w-chra-nwshtn-tst-qbl-az-kd-mntqytr-az-chyzyh-kh-bh-nzr-myrsh

#آموزش
Forwarded from Codoloper
نوشته جدید: wget vs curl 🛠️

اگه تا حالا تو ترمینال یه فایل دانلود کردی یا یه API رو تست کردی، احتمالاً با هر دوی این ابزارها برخورد داشتی. هر دو کارشون رفتن سراغ یه URL و گرفتن داده از اونه، و تو خیلی از موارد ساده، هر کدوم رو که استفاده کنی فرقی نمی‌کنه. ولی وقتی پای موارد پیچیده‌تر وسط بیاد، این دو تا فلسفه کاملاً متفاوتی دارن که دونستنش از انتخاب اشتباه و کلنجار رفتن با فلگ‌های اضافه جلوگیری می‌کنه. 🚀📉

امیدواریم مفید باشه 💡
https://codoloper.ir/blog/curl-dr-mqabl-wget-kdwm-rw-key-astfadh-knym
#آموزش 📚
Forwarded from Codoloper
نوشته جدید: Design Patterns

دیزاین پترن‌ها یکی از اون موضوعاتیه که تو مصاحبه‌ها خیلی می‌پرسنش، ولی همین تکرار زیاد باعث شده خیلی‌ها فقط ۲-۳ تا پترن رو حفظ کنن بدون اینکه بدونن دقیقاً چه مشکلی رو حل می‌کنن 🤔. نتیجه‌ش می‌شه کدی که پر شده از Factory، Strategy و Observer 🏗، در حالی که خود پروژه اصلاً به هیچ‌کدومشون نیاز نداشته! 🙄

فرض کن شش ماه پیش یه پروژه رو تموم کردی 🗓. امروز مدیرت میگه فقط یه قابلیت کوچیک بهش اضافه کن ➕. پروژه رو باز می‌کنی، ولی بعد از چند دقیقه می‌بینی خودتم نمی‌دونی چرا اون کدها رو اون‌جوری نوشتی 🤷‍♂️. هر تغییری یه جای دیگه رو میشکنه 🧱 و انگار پروژه تبدیل شده به یه دومینوی آماده سقوط 🃏. اگه این تجربه برات آشناست 🤝، احتمالاً همینجاست که به اهمیت واقعی دیزاین پترن‌ها نزدیک می‌شی 💡.

امیدواریم مفید باشه
https://codoloper.ir/blog/dyzayn-ptrnha-chyzy-kh-hmh-asmshw-bldn-wly-kmtr-ksy-mydwnh-key-bayd-azsh-astfadh-knh

نویسنده: آرش بهادری
#آموزش
Forwarded from Codoloper
نوشته جدید: Bun vs Deno vs Node 🚀

هر سه‌ی این‌ها یه runtime کامل جاوااسکریپت/تایپ‌اسکریپت هستن؛ یعنی هر کدوم می‌تونه کد سمت سرور رو اجرا کنه، پکیج نصب کنه، و پروژه رو build کنه. تفاوتشون تو فلسفه‌ی طراحی، عملکرد، و چیزیه که هر کدوم به‌صورت پیش‌فرض بهت می‌دن. تو این مقاله این سه تا رو کنار هم می‌ذاریم تا ببینیم کدوم برای چه نوع پروژه‌ای منطقی‌تره. 💡🔍

امیدواریم مفید باشه ✨
https://codoloper.ir/blog/bun-vs-deno-vs-nodejs-kdwm-rw-antkhab-knym

#آموزش 📚 #مقایسه ⚖️
Forwarded from Codoloper
اگه چند وقتیه دنبال اخبار دنیای دیتابیس‌ها و کش بودی 🗄️، احتمالاً اسم Valkey رو دیدی و برات سؤال شده چرا یهو یه رقیب جدی برای Redis ظاهر شده 🆚، در حالی که تا همین چند سال پیش Redis عملاً بدون رقیب تو حوزه‌ی خودش بود 🏆. داستان این fork، بیشتر به یه تغییر لایسنس برمی‌گرده تا یه اختلاف فنی ⚖️.

امیدواریم مفید باشه ✨
https://codoloper.ir/blog/valkey-vs-redis-chra-yh-fork-jdyd-awmd-w-kdwm-rw-bayd-antkhab-kny

کانال:
@codoloper 📢

#مقایسه
Forwarded from Codoloper
✨ مقایسه - React vs Vue: واقعا یکیش از یکی دیگه بهتره ؟ ✨

ری‌اکت و Vue دو تا از پرکاربردترین ابزارها برای ساخت رابط کاربری هستن، و اختلافشون بیشتر از یه بحث سینتکسی ساده‌ست؛ فلسفه‌ی طراحی، مدل reactivity، و نوع تجربه‌ی توسعه‌ای که بهت می‌دن کاملاً متفاوته. تو این مقاله این دو تا رو از چند زاویه‌ی عملی کنار هم می‌ذاریم.

💡 امیدواریم مفید باشه

🔗 مشاهده پست

✍️ نویسنده: عرفان دهقانی

🏷️ #آموزشی #فریمورک #نقد_و_بررسی

📣 @codoloper
Forwarded from Codoloper
✨ معماری هگزاگونال (Ports and Adapters): جدا کردن منطق اصلی برنامه از دنیای بیرون ✨

یه سناریوی آشنا رو تصور کن: تصمیم می‌گیرن از PostgreSQL به یه دیتابیس دیگه سوییچ کنن و متوجه می‌شی این وابستگی تا عمق منطق اصلی برنامه نفوذ کرده. معماری هگزاگونال دقیقاً برای جلوگیری از این مشکل طراحی شده. این وابستگی میتونی هر چیزی باشه، یک کتابخونه، لایه API ها و ...

💡 امیدواریم مفید باشه

🔗 مشاهده پست

✍️ نویسنده: عرفان دهقانی

🏷️ #آموزشی #توسعه_نرم‌افزار

📣 @codoloper
Forwarded from Codoloper
✨ کدوم مناسب پروژه من هست ؟ Next.js vs Nuxt vs SvelteKit vs TanStack Start vs Remix ✨

اگه امروز بخوای یه پروژه‌ی فرانت‌اند جدی بسازی، احتمالاً دیگه مستقیم سراغ React یا Vue خام نمی‌ری؛ سراغ یه meta-framework می‌ری که routing، server-side rendering، و بهینه‌سازی‌ها رو از قبل برات حل کرده. مشکل اینجاست که الان پنج تا گزینه‌ی جدی داری، هر کدوم با فلسفه‌ی متفاوت. ت...

💡 امیدواریم مفید باشه

🔗 مشاهده پست

✍️ نویسنده: عرفان دهقانی

🏷️ #فریمورک #نقد_و_بررسی

📣 @codoloper
Forwarded from Codoloper
✨ اومنی‌روت (OmniRoute): گیت‌وی متن‌باز برای ۳۳۹ مدل زبانی ✨

اگه از چند تا ابزار agentic (Claude Code، Cursor، Codex، Cline) هم‌زمان استفاده می‌کنی و خسته شدی از این‌که هر کدوم rate limit جدا داره، یا هر وقت quota یکی تموم می‌شه مجبوری دستی سوییچ کنی، OmniRoute دقیقاً برای همین مشکل ساخته شده. این یه AI gateway متن‌باز و local-first است که همه‌ی...

💡 امیدواریم مفید باشه

🔗 مشاهده پست

✍️ نویسنده: عرفان دهقانی

🏷️ #نقد_و_بررسی #هوش_مصنوعی

📣 @codoloper
Forwarded from Codoloper
✨ وب اسمبلی (WebAssembly) چیه و چرا این‌قدر سروصدا کرده ✨

اگه اسم WebAssembly (یا به اختصار Wasm) رو شنیدی و کنجکاو شدی دقیقاً چیه، جواب کوتاهش اینه: یه فرمت باینری برای اجرای کد با سرعت نزدیک به native، مستقیم تو مرورگر (و جاهای دیگه). ولی این جواب کوتاه نمی‌گه چرا این تکنولوژی این‌قدر مهمه. برای فهمیدنش بهتره از مشکلی شروع کنیم که Wasm حلش می‌کنه.

💡 امیدواریم مفید باشه

🔗 مشاهده پست

✍️ نویسنده: عرفان دهقانی

🏷️ #آموزشی #توسعه_نرم‌افزار #شبکه

📣 @codoloper
❤1
Forwarded from Codoloper
✨ اومنی‌روت (OmniRoute) vs 9Router: کدوم گیت‌وی رایگان برای مدیریت چند AI Provider بهتره؟ ✨

هر دوی این ابزارها یه مشکل مشترک رو حل می‌کنن: خسته شدن از rate limit و جابه‌جایی دستی بین چند تا provider مدل زبانی. هر دو هم متن‌باز، رایگان، و زیر لایسنس MIT هستن، و هر دو یه endpoint سازگار با OpenAI رو رو localhost:20128/v1 بالا میارن (که خودش نشون می‌ده این دو تا از یه فضای مشترک الهام گرفت...

💡 امیدواریم مفید باشه

🔗 مشاهده پست

✍️ نویسنده: عرفان دهقانی

🏷️ #نقد_و_بررسی #هوش_مصنوعی

📣 @codoloper