Armin codes – Telegram
Armin codes
403 subscribers
90 photos
11 videos
13 files
89 links
👋 Hey there! I'm Armin, a software engineer.

🌟 On this channel, I share:

Handy tools and resources
Behind-the-scenes of my coding journey
My favorite music, hobbies, and experiences

Join in and let's learn, share, and have fun together!🥂
@arminshaikhy
Download Telegram
وقتی حرف از طراحی دیتابیس‌ها یا معماری سیستم‌های توزیع‌شده می‌شه، اسم CAP theorem همیشه وسطه.
این قضیه می‌گه شما نمی‌تونید همزمان هر سه ویژگی رو با هم داشته باشید:
Consistency (سازگاری): همه نودها همون لحظه یک داده‌ی واحد رو ببینن.
Availability (دسترس‌پذیری): همیشه از سیستم پاسخ بگیری، حتی اگر کامل نباشه.
Partition Tolerance (تحمل شکست شبکه): وقتی ارتباط بین نودها قطع بشه، سیستم همچنان کار کنه.
نکته کلیدی اینجاست که در عمل همیشه باید بین این سه مورد تریدآف داشته باشید.
مثال‌ها خیلی روشنه:
دیتابیس‌های سنتی مثل SQL معمولاً روی Consistency + Availability تمرکز دارن.
دیتابیس‌های NoSQL مثل Cassandra بیشتر سمت Availability + Partition tolerance می‌رن.
پس آینده به‌جای فرار از محدودیت CAP، در یاد گرفتن هنر انتخاب درسته. هر پروژه باید بفهمه کدوم ضلع براش حیاتی‌تره.
🔥2
Armin codes
وقتی حرف از طراحی دیتابیس‌ها یا معماری سیستم‌های توزیع‌شده می‌شه، اسم CAP theorem همیشه وسطه. این قضیه می‌گه شما نمی‌تونید همزمان هر سه ویژگی رو با هم داشته باشید: Consistency (سازگاری): همه نودها همون لحظه یک داده‌ی واحد رو ببینن. Availability (دسترس‌پذیری):…
مثلا:
بانکداری آنلاین (CP – قربانی Availability):
وقتی پول جابه‌جا می‌کنی، مهم‌ترین چیز سازگاریه.
حتی اگه چند ثانیه سیستم در دسترس نباشه، اشکالی نداره؛ ولی نمی‌تونه یه بار نشون بده حسابت خالیه و چند لحظه بعد پر.
شبکه‌های اجتماعی (AP – قربانی Consistency):
مثلا توی اینستاگرام ممکنه وقتی پست می‌ذاری، دوستت همون لحظه نبینه یا لایک‌ها با تأخیر بشمارن.
اینجا Availability مهم‌تره؛ چون کاربر انتظار داره همیشه بتونه چیزی رو ببینه یا بذاره، حتی اگر کمی ناسازگاری وجود داشته باشه.
سیستم‌های رزرو آنلاین (CA – قربانی Partition Tolerance):
مثلا رزرو بلیط هواپیما یا هتل: سیستم نمی‌تونه یه صندلی رو همزمان به دو نفر بفروشه.
اما اگر ارتباط بین دیتاسنترها قطع بشه، سیستم رزرو ممکنه برای مدتی در دسترس نباشه.
🔥3🍾1
روز بدقول‌ها، شب بیدار‌ها، ساخته شده با قلب و قهوه، phpهای مرده، پایتون‌های کند، باگ‌های لحظه‌ی دمو، ددلاین‌های رد شده، سورپراز‌های جاوااسکریپت، اینو یه ساعته با ai نوشتم، استک‌اورفلوی تنها...

روز کیبورد‌های خسته، wheelهای خراب موس، دوره‌های نیمه‌کاره مونده، کارفرما هنوز پولمو نداده، یه بازی 4K نوشتم یک بایت حجمشه، زبان هرمز و آقای هاشمی، Go کارهایی که دنیا رو قشنگ می‌کنن، دات نت کارای سن و سال دار، استرس لحظه‌ی لانچ، هک با css تو صداسیما، اشتباهی پوش کردم، 403، کارآموز بدون حقوق، شان اجتماعی بالا و حقوق پایین، ده تا کار همزمان توی شرکت، تحریمه، فیلتره، کشه، از سروره، از بکه، از فرانته، چرخ رو دوباره ساختم، تا چهار صبح بیدار بودم تهش فهمیدم یه سمی‌کالن نذاشتم، کارکردن‌های تو سفر و روز تعطیل، نارضایتی دائمی کارفرما و ...

این روز مخصوص ماست؛ ما که با خطاها زندگی می‌کنیم، با دیباگ رشد می‌کنیم و با یک "It works!" حال دنیامون خوب میشه.

روز برنامه‌نویس مبارک :))

@DevTwitter
🍾12🔥4🍓1
این هفته یه چالش واقعی با تیم بک‌اند داشتیم: چطور API پایدار بسازیم بدون اینکه کار سرویس‌های دیگه یا کاربران خراب بشه؟ 😅
چند نکته که وسط بحث پیش اومد:
Versioning (نسخه‌بندی)
بعضی‌ها می‌خواستن تغییرات جدید رو همون نسخه موجود اعمال کنن، اما من اصرار داشتم: هر تغییر بزرگ = نسخه جدید (v1, v2).
دلیل؟ سرویس‌های قدیمی باید بدون دردسر کار کنن و مشتری‌ها کم‌کم به نسخه جدید مهاجرت کنن.


Backward Compatibility (سازگاری به عقب)
وقتی یه فیلد جدید اضافه می‌شد یا رفتار endpoint تغییر می‌کرد، باید نسخه قبلی هنوز کار می‌کرد. این یکی از بحث‌های داغمون بود؛ چون تیم می‌خواست راحت تغییر بده، من می‌گفتم: «نه، نباید چیزی رو بشکنیم!»


Change Management (مدیریت تغییرات)
مستندسازی و changelog، تست‌های اتوماتیک و قوانین سخت برای حذف فیلدها یا تغییر رفتارها. اول هشدار، بعد تغییر. این مرحله باعث شد همه تیم‌ها روی یک خط باشن و کسی غافلگیر نشه.
💯7🍾1
Forwarded from FullstacksJS — Academy
چرا Bun انتخاب منطقی برای پروداکشن نیست؟

- چطور تشخیص بدیم یک ابزار برای استفاده توی شرکت خوبه؟
- مقایسه Bun و Deno
- مقایسه Bun و Node.JS
- چرا Deno گزینه بهتری از Node.JS هست؟

#exp #bun #deno
🔥6
Forwarded from Codespian | کدسپین
data_types.pdf
951.5 KB
مقاله‌ی «Types» در JavaScript.info مروری مفید و کامل روی انواع داده‌ها در جاوااسکریپت است. در این مطلب موضوعات زیر به زبان ساده و کاربردی توضیح داده شده‌اند:

🔢 انواع عددی (Number, BigInt) — شامل مقادیر ویژه‌ای مثل Infinity، NaN و محدودیت‌های عدد در جاوااسکریپت

🧵 نوع String — نحوه‌ی استفاده از کوتیشن‌ها، بک‌تیک‌ها و قرار دادن عبارات در داخل ${…}

نوع Boolean — نوع داده منطقی با دو مقدار true و false

🚫 نوع null و undefined — مفاهیم «هیچ چیز» و «تعریف نشده» و تفاوت بین آن‌ها

🧱 نوع Object و Symbol — انواع پیچیده‌تر و ساختارهایی که داده‌ها و رفتارها را در خود جای می‌دهند

🧮 اپراتور typeof — ابزار شناسایی نوع یک مقدار در زمان اجرا

🧪 تمرین‌ها (Tasks) — بخش «Tasks» مقاله شامل مثال‌هایی تعاملی است که به شما کمک می‌کند مفاهیم را خودتان تست و تثبیت کنید

📌 منبع مقاله
🔥4
یه مینی‌اپ که متدهای استرینگ توی جاوااسکریپت رو با توضیح و مثال نشون میده.
دم دست و سریع، مخصوص وقتایی که یادت میره کدوم متد چی کار می‌کنه.

دموی آنلاین: https://js-string-methods.vercel.app

سورس‌کد:
https://github.com/DevTwitter/js-string-methods

@DevTwitter
🔥5
استریم (پخش) نسخه‌ی اصلی فیلم Star Wars به صورت ASCII برای کلاینت‌های خط فرمان از طریق SSH یا Telnet.

الهام‌گرفته از asciimation و پروژه‌ی معروف towel.blinkenlights.nl، این بازنویسی با زبان Go یک رابط کاربری تعاملی جدید با پشتیبانی از کیبورد و ماوس معرفی می‌کند.

خیلی پروژه بانمکی بود
telnet starwarstel.net


https://github.com/gabe565/ascii-movie
💯4🔥1🍾1
Forwarded from Tehran React Jobs
ری‌اکت ۱۹.۲ منتشر شد 🎉

ویژگی‌های جالبی در این نسخه منتشر شده که پیشنهاد میکنم حتما بررسی کنید

- <Activity />
- useEffectEvent
- cacheSignal
- Performance Tracks
- Partial Pre-rendering
- and more...


اگر دوست دارین هر کدوم از قسمت رو با مثال و توضیحات خلاصه مطالعه کنید، مطلب زیر رو مطالعه کنید.


🚀 React 19.2 release highlights: here’s what changed! | لینک


امیدوارم مفید باشه 🫶
🔥4
چند وقت پیش موقع توسعه‌ی یک پروژه، به این فکر افتادم که ای کاش می‌شد تغییرات state رو دقیق‌تر روی یک timeline ببینم.
اینکه هر بار state تغییر می‌کنه، چه زمانی و به چه مقداری تغییر کرده، و حتی بتونم به عقب یا جلو برگردم.
همونجا بود که ایده‌ی ساخت یه ابزار ساده شکل گرفت.

ابزاری که نه تنها بتونه تاریخچه‌ی state رو ذخیره کنه، بلکه بشه خیلی راحت:
🔄 Undo / Redo انجام داد
🕓 کل تغییرات رو به شکل یک timeline داشت
🎯 به هر جایی از timeline که خواستی بری
و در عین حال API ساده و سبک داشته باشه

نتیجه شد:
🚀 React State Timeline
این پکیج برای سناریوهای مختلفی می‌تونه مفید باشه:
وقتی روی formهای چند مرحله‌ای کار می‌کنید و می‌خواید بتونید به مقادیر قبلی برگردید.
وقتی در حال ساخت یک editor هستید (مثل ادیتور متن تصویر) و نیاز به undo/redo دارید.
یا هر جایی که نیاز دارید تاریخچه‌ی state رو نگه دارید و مدیریت کنید.

📦 پکیج روی npm منتشر شده:
https://lnkd.in/dwEQEFzj
📖 داکیومنتیشن کامل اینجاست:
https://lnkd.in/dHZ3wyaR
💻 سورس‌کد و امکان مشارکت در گیت‌هاب:
https://lnkd.in/d_aAuykd

@nazari2079 ممد زده:
🔥9🍾2
هوک جدید Next.js که میتونه چند لول UX اپ شمارو بهتر کنه.
اسمش useLinkStatus هست و میاد و وضعیت لودینگ کامپوننت Link والدش رو مشخص میکنه و اگر درحال لودینگ بود pending رو true بر میگردونه.
به این صورت دغدغه بزرگ لودینگ پیج ها حل میشه و متونیم به راحتی در UI به کاربر نمایشش بدیم.
لینک رفرنس:
https://nextjs.org/docs/app/api-reference/functions/use-link-status

@DevTwitter | <Farzad Vahdati/>
🔥8
Forwarded from FullstacksJS — Academy
حدف ۴ صفر از واحد پول کشور، چه چالش‌هایی برای مهندسان نرم‌افزار به وجود میاره و چطور مدیریتش کنیم؟

#exp
🔥5💯1
Forwarded from فرانت چپتر 🥕
🎮 ایونت حضوری منتینو: تقویت مهارت‌های نرم برای برنامه‌نویس‌ها

یه تجربه متفاوت و کاربردی برای برنامه‌نویس‌ها و فعالای دنیای تکنولوژی!
توی این رویداد علاوه بر یه بازی گروهی جذاب که مخصوص تمرین مهارت‌های نرم کلیدی برای برنامه‌نویس‌ها طراحی شده، یه پنل گفت‌وگوی تخصصی هم داریم.

چی در انتظارتونه؟

بازی گروهی تعاملی برای تمرین واقعی مهارت‌هایی مثل:
کار تیمی
ارتباط مؤثر
حل مسئله
تصمیم‌گیری درست
رو به‌طور واقعی تمرین و تقویت می‌کنی.

👥 فرصت عالی برای شبکه‌سازی با آدمای هم‌فکر و هم‌مسیر توی حوزه برنامه‌نویسی و تکنولوژی

💬 پنل گفت‌وگو با چند نفر از افراد باتجربه حوزه نرم‌افزار درباره نقش مهارت‌های نرم در رشد شغلی برنامه‌نویس‌ها

🚀 چند ساعتی کنار هم بازی می‌کنیم، یاد می‌گیریم، تجربه ردوبدل می‌کنیم و کلی کانکشن حرفه‌ای می‌زنیم.

📅 جمعه ۱۸ مهر
🕒 ساعت ۱۵ تا ۲۰
📍 تهران

🎟 ظرفیت محدوده — همین الان ثبت‌نام کن!
https://menteeno.app/fa/event/

منتظر حضور گرمتون در ایونت هستیم  🌱
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
گوگل دوباره داره برای دوره ۵ روزه AI Agents ثبت نام میکنه که از ۱۰ نوامبر شروع میشه. دوره قبلیش لینکش تو همین وب سایت هست که میتونید برید و همه مطالبش را استفاده کنید. ولی دوره جدید موضوعاتش خیلی خیلی جالبند. حتما ثبت نام کنید.
Link: https://rsvp.withgoogle.com/events/google-ai-agents-intensive_2025

@DevTwitter | <Mehdi Allahyari/>
🔥4
Just got my ticket for Next.js Conf 2025 - claim yours!

https://nextjs.org/conf/ticket/t2sdMzbwgV?v=1
🔥7
Forwarded from جینگت دیلی
امروز تولد پاول دوروف، بنیانگذار تلگرامه، و ایشون در پستی بدبینانه حرف‌های تأمل‌برانگیزی زده.

ترجمهٔ پستش:

من ۴۱ ساله می‌شوم، اما میلی به جشن گرفتن ندارم.

نسل ما دارد زمان خود را برای نجات اینترنت آزادی که پدرانمان برایمان بنا کردند، از دست می‌دهد.

آنچه زمانی وعده‌ی تبادل آزاد اطلاعات بود، اکنون دارد به ابزار نهاییِ کنترل بدل می‌شود.

کشورهایی که زمانی آزاد بودند، امروز تدابیری تمامیت‌خواهانه اتخاذ می‌کنند: شناسه‌های دیجیتال (بریتانیا)، بررسی اجباری سن آنلاین (استرالیا) و اسکن انبوه پیام‌های خصوصی (اتحادیه اروپا).

آلمان هر کسی را که جرأت کند مسئولان را در اینترنت نقد کند تحت تعقیب قرار می‌دهد. بریتانیا هزاران نفر را به‌خاطر توییت‌هایشان به زندان انداخته است. فرانسه رهبران فناوری را که از آزادی و حریم خصوصی دفاع می‌کنند، به‌طور کیفری مورد تحقیق قرار می‌دهد.

جهانی تاریک و پادآرمان‌شهری با شتاب در حال نزدیک شدن است ـ در حالی که ما در خواب غفلتیم. نسل ما در خطر است که در تاریخ به‌عنوان آخرین نسلی ثبت شود که آزادی داشت ـ و اجازه داد آن آزادی‌ها از او گرفته شود.

ما را با یک دروغ تغذیه کرده‌اند.

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

با خیانت به میراث نیاکانمان، ما خود را در مسیری به سوی نابودی قرار داده‌ایم ـ نابودی اخلاقی، فکری، اقتصادی و سرانجام زیستی.

پس نه، امروز جشن نخواهم گرفت. زمان من دارد به پایان می‌رسد. زمان ما دارد به پایان می‌رسد.

@Jinget_daily
🔥91
تا حالا شده وسط یاد گرفتن یه فریم‌ورک جدید، یکی بگه «فلان تکنولوژی اومده، دیگه همه دارن میرن سمت اون!» 😅
و تو هم با خودت بگی:
«من چرا هنوز اینو بلد نیستم؟ عقب موندم؟»

اگه آره، پس این جلسه برای توئه 👇

موضوع: FOMO در دنیای فرانت‌اند — چطور باهاش کنار بیایم؟

با حضور:
ریحانه از جاباما
محمد از اسنپ‌پی

یه گفت‌وگوی صادقانه درباره مسیر رشد، یادگیری و فشار “همیشه آپدیت بودن” در دنیای فرانت‌اند.

❤️ تمام درآمد این ایونت می‌ره برای کمک به یک خیریه
ولی اگه فقط می‌خوای شرکت کنی و ترجیح می‌دی مبلغی پرداخت نکنی،
یه کد تخفیف صد درصدی هم برات گذاشتیم تا با خیال راحت
بیای و فقط از بحث لذت ببری 😄

i-dont-help-charity



📅 زمان: پنج شنبه ساعت ۱۹
🔗 ثبت‌نام: evand.com/events/devontap-fomo
1🔥10💯2🍓2
Armin codes pinned a photo
یک صفحه خیلی کاربردی از سایت GeeksforGeeks که لیستی از پروژه‌های قابل اجرا در یادگیری ماشین رو دسته‌بندی کرده — از سطح ساده تا حرفه‌ای.

ویژگی خوبش اینه که برای پروژه‌ها توضیحات و کد کامل و دیتاست رو هم قرار داده.

اگه دنبال شروع پروژه‌های واقعی هستید و نمی‌خواید وقتتون رو صرف گشتن بین ایده‌های پراکنده کنید، این منبع می‌تونه نقطه شروع خیلی خوبی باشه.
https://www.geeksforgeeks.org/machine-learning/machine-learning-projects/

@DevTwitter | <Amirreza M./>
🔥4