Code & Life
83 subscribers
24 photos
2 videos
1 file
31 links
اینجا درباره کدنویسی ، چیزهایی که یاد میگیرم و مطالعه میکنم و روزمره‌هام می‌نویسم.

https://erfuuan.github.io/
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
I'll Be Waiting
Blues Cousins
2
This media is not supported in your browser
VIEW IN TELEGRAM
توی المپیک فناوری یکی رو از روسیه اوردن داره ارائه میده که چجوری ترافیک vpn رو تشخیص بدیم و ببندیم :))
😐5👏2💔1
:)
🤔1
Code & Life
https://www.youtube.com/watch?v=H7s1pvuhmTA
یوتوب رو باز کردم و اتقاقی رسیدم به این ویدیو
جالبه ببینید 🙂
3👏1
Historiette No. 5
Fabrizio Paterlini
1👍1
اخیراً توی گیتهاب که می‌چرخیدم، یه پروژه open source پیدا کردم که با API هایی که می‌ده می‌شه باهاش توی واتساپ به کانال‌ها و گروه‌هایی که دارین پیام ارسال کرد و کلی کار دیگه هم انجام داد.

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

یکی از خوبی‌های این پروژه اینه که هم Swagger داره و هم API هاش نسبتاً تمیز و کار کردن باهاش راحت‌تره.
لینک گیت هاب پروژه رو براتون میزارم و راه اندازیش هم ساده س فقط کافیه بعد از clone کردن پروژه یه فایل .env بسازین از روی نمونه example که توی خود پروژه هست و بعدش docker compose رو اجرا کنین

https://github.com/devlikeapro/waha

@erfuuan_dev
🔥2
مدیریت حرفهای دادههای زمانمحور با MongoDB Bucket Pattern

وقتی با دادههای Time Series یا Event های پرتکرار کار میکنیم.
(مثل دادههای سنسورها، لاگ سرور یا رخدادهای پیوسته)،
ذخیره کردن هر رکورد در یک سند جدا، خیلی سریع مشکلساز میشه:

تعداد سندها زیاد میشه 📈
ایندکسها سنگین و کند میشن 🐢
کوئریهای بازهای با تاخیر اجرا میشن

یکی از راه حل ها استفاده از الگوی Bucket
ادامه ش رو توی پست لینکدینم براتون نوشتم :

@erfuuan_dev
🔥3
Code & Life
مدیریت حرفهای دادههای زمانمحور با MongoDB Bucket Pattern وقتی با دادههای Time Series یا Event های پرتکرار کار میکنیم. (مثل دادههای سنسورها، لاگ سرور یا رخدادهای پیوسته)، ذخیره کردن هر رکورد در یک سند جدا، خیلی سریع مشکلساز میشه: تعداد سندها زیاد میشه 📈 ایندکسها…
🔥3
میرور(Mirror) دقیقاً چه کاری انجام می‌دهد؟
میرور به یک نسخه‌ی کامل، مستقل و همگام‌شونده از یک منبع اصلی گفته می‌شود که هدف آن جایگزینی شفاف منبع upstream است، بدون اینکه تغییری در تنظیمات کلاینت ایجاد شود.
به بیان دقیق‌تر، میرور باید بتواند در صورت عدم دسترسی به منبع اصلی، همان داده‌ها را با همان ساختار و همان مسیرها ارائه دهد.

میرور دقیقاً چه چیزی را شامل می‌شود؟
میرور فقط شامل فایل‌ها نیست. یک میرور معتبر باید:
۱. تمام بسته‌ها یا مخازن را به‌صورت کامل نگه دارد
۲. متادیتا (index، manifest، release file و …) را حفظ کند
۳. ساختار دایرکتوری upstream را بدون تغییر بازتولید کند
۴. به‌صورت خودکار و دوره‌ای همگام‌سازی شود
نکته مهم: اگر حتی یکی از این اجزا ناقص باشد، آن سرویس از نظر فنی «میرور» محسوب نمی‌شود.

تفاوت میرور با Cache و Proxy چیست؟
کش برای افزایش سرعت طراحی شده و داده‌ها را به‌صورت موقت و ناقص نگه می‌دارد و پروکسی صرفاً مسیر عبور درخواست‌هاست و به منبع اصلی وابسته می‌ماند اما میرور یک منبع مستقل است که می‌تواند حتی در نبود اتصال خارجی، سرویس‌دهی کامل انجام دهد.

میرور چرا در زیرساخت نرم‌افزار حیاتی است؟
در زیرساخت‌هایی که وابسته به مخازن بسته هستند (مثل سیستم‌های CI/CD)، نبود میرور باعث:
۱. ناپایداری بیلدها
۲. افزایش خطاهای غیرقابل پیش‌بینی
۳. وابستگی کامل به شبکه‌ی خارجی
۴. همچنین میرور کنترل زنجیره تأمین نرم‌افزار در اختیار خود سیستم باشد

پروژه Mirava چه نقشی دارد؟
پروژه Mirava یک ابزار اجرایی نیست، بلکه یک مرجع ساختاریافته از میرورهای داخلی ایران معتبر است که وضعیت دسترسی و نوع سرویس هر میرور را مشخص می‌کند.
هدف این پروژه این است که مشخص شود:
۱. چه میرورهایی واقعاً وجود دارند
۲. هر کدام چه سرویس‌هایی را پوشش می‌دهند
۳. کدام میرورها فعال و قابل اتکا هستند
۴. داشتن میرور به‌تنهایی کافی نیست؛ شناخت میرور قابل اعتماد اهمیت دارد.

نکته: میرور یک قابلیت جانبی نیست، بلکه یک مولفه‌ی پایه‌ای زیرساخت در کنار DNS و رجیستری بسته‌ها محسوب می‌شود.
زیرساختی که میرور ندارد، ذاتاً شکننده و وابسته است

🔗 مخزن پروژه Mirava

@NobarCloud ☁️
2