Mahi in Tech
410 subscribers
202 photos
17 videos
8 files
255 links
Download Telegram
درود و امید که خوب باشید.

یک‌سری منابع قرار می‌دم که شاید توی این وضعیت‌‌ای که امیدوارم هرچه زودتر به خوبی تموم شه، به‌دردتون بخوره.

دی‌ان‌اس داخلی:
5.202.100.100
5.202.100.101

رجیستری داکر:
hub.hamdocker.ir
docker.mobinhost.com
docker.arvancloud.ir

میرور NPM, PyPi و NuGet:
runflare.com/mirrors

میرور Ubuntu:
mirror.digitalvps.ir/ubuntu
ubuntu.pishgaman.net/ubuntu
ubuntu.pars.host
mirror.arvancloud.ir/ubuntu

داکیومنت یه‌سری از تکنولوژی‌ها و ویکی‌پدیای کامپیوتر:
193.151.130.199

DNSTT Resolver:
8.8.8.8:53
77.88.8.8:53
77.88.8.1:53
2.188.21.130:53
2.189.1.1:53
👍7
Mahi in Tech
درود و امید که خوب باشید. یک‌سری منابع قرار می‌دم که شاید توی این وضعیت‌‌ای که امیدوارم هرچه زودتر به خوبی تموم شه، به‌دردتون بخوره. دی‌ان‌اس داخلی: 5.202.100.100 5.202.100.101 رجیستری داکر: hub.hamdocker.ir docker.mobinhost.com docker.arvancloud.ir …
اگر هم قصد داشتید که یک پیام‌رسان سلف‌هاست بالا بیارید (چیزی که توی این خاموشی ارتباطات به کار میاد) و حوصله‌ی سر و کله زدن با این‌ها و قطعی اینترنت رو برای بالا آوردن mattermost یا rocketchat و یا هرچی نداشتین، می‌تونید از سرویس hamravesh.com استفاده کنید و روش RocketChat خودتون رو بدون دردسر راه‌اندازی کنین، E2EE هم می‌شه روش فعال کرد تا خیال‌تون کمی راحت‌تر باشه.

درغیر این‌صورت ایمیج‌هاشون توی همین رجیستری‌ها موجود هستن، می‌تونید خودتون بالا بیارید.
👍4
عزیزان ایران، اگر وصل شدین یادتون نره این تنظیم رو..
💯3
Mahi in Tech
runflare.com/mirrors
برای دوستان دات‌نت دولوپر،‌
به‌نظر میاد این سرویس رجیستری NuGet هم اضافه کرده، می‌تونید استفاده کنید:
https://mirror-nuget.runflare.com/
👍4
حواستون باشه توی این وضعیت بدون داشتن سشن فعال از اکانت تلگرام‌تون خارج نشید. به‌هیچ وجه کد OTP تلگرام ارسال یا دریافت نمی‌شه بر بستر پیامک.
😭3
این‌ها خیال می‌کنند با کندنِ شکوفه، بهار نمی‌آید.
🕊6
اپ SlipNet یک کلاینت متن‌باز و رایگان برای اندروید هست، که با بهره‌گیری از تونل‌سازی DNS-over-QUIC و موتور Slipstream، امکان انتقال امن و کم‌تاخیر درخواست‌های DNS رو فراهم می‌کنه.
یکی از قابلیت‌های مهم این برنامه اسکن و شناسایی خودکار سرورهای DNS سازگار هست، تا کاربر بدون تنظیمات پیچیده، بهترین گزینه‌های موجود رو پیدا و تست کنه. همچنین امکان ساخت و مدیریت چندین پروفایل مختلف برای سرورها وجود داره، که جابجایی بین تنظیمات مختلف رو ساده و سریع می‌کنه.

👉 github.com/anonvector/SlipNet/releases/latest

🔍 ircf.space
@ircfspace
▪️ حقیقتا توانی برای فعالیت‌های غیرضروری نبوده و نیست، اما خب چه می‌شه کرد؟ مجبوریم با همون شیب ملایمی که همیشه تلاش می‌کردیم پیش بریم. با همه‌ی اتفاقات وحشتناکی که افتاده حس کردم که سکوت کردن، تنها راه برای پردازش این همه درد و اندوه بوده.
👍4❤‍🔥3
👀 Pipeline Pattern در CSharp، وقتی متد Handleت پر از if-else و مسئولیت‌های مختلف می‌شه.

سناریوی واقعی:
داری یک عملیات ثبت سفارش می‌نویسی. باید اعتبارسنجی کنی، موجودی چک کنی، تخفیف حساب کنی، توی دیتابیس ذخیره کنی، نوتیفیکیشن بفرستی و لاگ بگیری.
اگر همه این کارها رو توی یه متد طولانی بنویسی، بعد از چند ماه دیگه هیچ‌کس جرأت تغییرش رو نداره. تستش هم که دیگه کابوسه.

☑️ راه‌حل ساده: Pipeline Pattern
هر مرحله رو یه کلاس مستقل می‌کنیم. یک Context داریم که هم Request و هم Result رو داخلش نگه می‌داره و با پراپرتی HasError جریان رو کنترل می‌کنه. Stateهای مشترک رو هم می‌تونیم توی همین Context نگه داریم.

⚙️ پیاده‌سازی و استفاده‌ش رو هم توی تصاویر بالا گذاشتم.
هر مرحله اطلاعات مورد نیازش رو از Context می‌خونه، Result رو پر یا به‌روزرسانی می‌کنه و در صورت نیاز HasError رو true می‌کنه. اگر جایی HasError صحیح بشه، باقی مراحل اجرا نمی‌شن.

مزایای این روش:
- هر کلاس فقط یک کار مشخص انجام می‌ده
- اضافه کردن مرحله‌ی جدید فقط یه کلاس جدید + یه AddStep
- تست هر مرحله ‌به‌صورت جداگانه راحت‌تره
- کد بیزینس اصلی تمیز می‌مونه

البته که این فقط یک پیاده‌سازی ساده بود و به‌روش‌های مختلفی می‌شه این پترن رو اجرایی کرد.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍22