𝑪𝒐𝒅𝒆 & 𝑪𝒉𝒐𝒓𝒅 – Telegram
𝑪𝒐𝒅𝒆 & 𝑪𝒉𝒐𝒓𝒅
152 subscribers
507 photos
79 videos
26 files
397 links
𝑪𝒐𝒅𝒆 & 𝑪𝒉𝒐𝒓𝒅 🎸💻
دیلی، مطالب برنامه نویسی، موزیک، گیتار و این چیزا

👤DM: @hossara
Download Telegram
پروفایل جدید چنل موزیکمون به مناسبت فصل ۵ Stranger Things که امروز پابلیش میشه 🔥🔥🔥

لینک چنل:
@NoSignal
5
𝑪𝒐𝒅𝒆 & 𝑪𝒉𝒐𝒓𝒅
Photo
اینو با مدل جدید banana گوگل درست کردم. عبجبببب چیزیه
3
یه ابزار باحال پیدا کردم، برای مدیریت سرور ها و ssh زدن و دسته بندی کردنشون و اینا.
خیلی کار عجیب غریبی نمیکنه ولی از من مشکلات زیادی رو حل کرد و به شدت یوزر فرندلی و بامزه هست.

https://github.com/grafviktor/goto

[ @code_and_chord ]
3
یه مقاله خلاصه و جمع جور در رابطه با مدیریت Secret در Kubernetes با استفاده از Sops (Secrets OPerationS) و AGE (Actually Good Encryption) که کمک میکنه بتونید رمز ها و سکرت های پروژه کوبرنتیزیتون ذخیره و مدیریت و رمزنگاری کنید:

https://www.linkedin.com/pulse/kubernetes-secret-management-using-age-sops-aditya-joshi-7vzzc

[ @code_and_chord ]
2
Forwarded from Mahi in Tech
👀 چطور توی apiـهامون از درخواست‌های تکراری جلوگیری کنیم؟

سناریوی محتمل:
- کاربر قصد داره خریدی انجام بده و اتصال اینترنت ضعیفی داره
- روی دکمه‌ی «پرداخت» کلیک می‌کنه
- درخواست به سرور میره، پردازش می‌شه و پول از حساب کسر می‌شه
- اما ریسپانس به دلیل قطعی لحظه‌ای اینترنت به کاربر نمی‌رسه
- کاربر فکر می‌کنه دکمه کار نکرده و دوباره (یا چندبار) روی دکمه‌ی پرداخت کلیک می‌کنه
نتیجه: سرور شما تمام درخواست‌ها رو می‌گیره و هردفعه اعتبار رو کم می‌کنه.

راه حل: کلید Idempotency
به زبان ساده، Idempotency یعنی «مهم نیست یک درخواست چندبار به سمت سرور ارسال می‌شه، نتیجه‌ی نهایی باید همیشه یکسان باشه و تغییر اضافه در سیستم ایجاد نکنه»

برای پیاده‌سازی این مورد در متدهای POST یا PATCH، می‌تونیم از یک شناسه‌ی یکتا و Idempotency Key استفاده کنیم.

⚙️ پیاده‌سازی: این فرآیند نیاز به همکاری بین کلاینت و بک‌اند داره؛ به عنوان مثال هر زمان که کاربر فرم‌ای رو پر می‌کنه، کلاینت باید یک UUID یا شناسه‌ی یکتا تولید کنه و اون رو در هدر درخواست قرار بده.
X-Idempotency-Key: 123e4567-e89b-12d3-a456-426614174020

نکته‌ی مهم این هست که اگر درخواست به هردلیلی fail شد و کلاینت خواست retry انجام بده، باید همون کلید قبلی ارسال شه.

در سمت سرور هم، باید ‌یک middleware یا مکانیزمی طراحی شه که قبل از رسیدن درخواست به Controller، وجود اون کلید رو چک کنه و درصورت وجود، ریسپانس اون رو مستقیما از Redis برگردونه و کدهای اصلی بیزنس رو اجرا نکنه.
اگر هم وجود نداشت که خب اجازه می‌ده کد اجرا شه و سپس نتیجه‌ی اون رو توی Redis یا هر مکانیزم کش دیگه‌ای ذخیره می‌کنه.
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
𝑪𝒐𝒅𝒆 & 𝑪𝒉𝒐𝒓𝒅
من خیلی دارم با این کیف میکنم عجب چیزیه
نرم افزار ساده، مینیمال، کاربردی، تر و تمیز روون >>>>>>>> نرم افزار خیلی گنده سنگین عجیب غریب مملو از باگ
🔥2