Forwarded from thisisnabi.dev [Farsi] (Nabi Karampour)
سلام به همگی تون
می تونید همین امروز خریدتون رو با تخفیف جمعه سیاه انجام بدید.
کورس سیستم دیزاین در دات نت
جزئیات محصول: https://thisisnabi.dev/system-design/dotnet
کورس مایکروسرویس (انبار)
جزئیات محصول: https://thisisnabi.dev/microservices/inventory
صفحه پرداخت: https://thisisnabi.dev/system-design/pricing
باندل هر دو کورس رو هم به مبلغ کمتری می تونید خریداری بفرمایید.
بعد از ثبت نام، حداکثر تا 24 ساعت ایمیل دسترسی به ویدیو ها براتون میاد.
ویدیو ها قابل دانلود هست و هفتگی دسترسیش روی گوگل درایو بهتون داده میشه.
می تونید همین امروز خریدتون رو با تخفیف جمعه سیاه انجام بدید.
کورس سیستم دیزاین در دات نت
جزئیات محصول: https://thisisnabi.dev/system-design/dotnet
کورس مایکروسرویس (انبار)
جزئیات محصول: https://thisisnabi.dev/microservices/inventory
صفحه پرداخت: https://thisisnabi.dev/system-design/pricing
باندل هر دو کورس رو هم به مبلغ کمتری می تونید خریداری بفرمایید.
بعد از ثبت نام، حداکثر تا 24 ساعت ایمیل دسترسی به ویدیو ها براتون میاد.
ویدیو ها قابل دانلود هست و هفتگی دسترسیش روی گوگل درایو بهتون داده میشه.
🔥3
Forwarded from tech-afternoon (Amin Mesbahi)
📽 ویدیو اول از سری آموزشی NET Aspire.
سلام
ویدیو اول از سری آموزشی NET Aspire. که مقدمه و معرفی است روی یوتیوب قرار گرفت.
احتمالا این سری ۳ قسمت داره که قسمت اول، مقدمه، معرفی امکانات و کاربرد و قابلیتهای Aspire است و ویدیو دوم، گامبهگام به پروژه جدید و پروژه موجود اضافه خواهیم کرد. و ویدیو سوم هم نوشتن component و integration جدید رو خواهیم دید.
📽 لینک یوتیوب
امیدوارم زودتر ویدیو دوم رو آماده و منتشر کنم 🏃♂️
♻️🌱 امیدوارم مفید باشه و اگر دوست داشتید به دوستانتون هم معرفی کنید 😊
سلام
ویدیو اول از سری آموزشی NET Aspire. که مقدمه و معرفی است روی یوتیوب قرار گرفت.
احتمالا این سری ۳ قسمت داره که قسمت اول، مقدمه، معرفی امکانات و کاربرد و قابلیتهای Aspire است و ویدیو دوم، گامبهگام به پروژه جدید و پروژه موجود اضافه خواهیم کرد. و ویدیو سوم هم نوشتن component و integration جدید رو خواهیم دید.
📽 لینک یوتیوب
امیدوارم زودتر ویدیو دوم رو آماده و منتشر کنم 🏃♂️
♻️🌱 امیدوارم مفید باشه و اگر دوست داشتید به دوستانتون هم معرفی کنید 😊
YouTube
DotNET Aspire, Part 1 Introduction
این ویدیو اول از سری آموزش داتنت اسپایر است و مقدمهای بر داتنت اسپایر، امکانات و قابلیتها و کاربردش. ویدیو دوم کدنویسی عملی و گامبهگام؛ و ویدیو سوم، آموزش توسعهی کامپوننت و اینتگریشن جدید.
👍3
#سنیور_دات_نت_دلوپر #ریموت #آماده_به_کار 🙌
یه دوست خیلی خفن دارم توی .net که به تازگی مهاجرت کرده، اگر توی تیمتون نیاز به یه سنیور یا مشاور خفن دات نتی دارید به من بگید بهتون وصلش کنم، بسیار آدم باسوادیه قبل رفتنش توی یکی از شرکت های خوب بود و یک تنه، فنی اون سازمان رو رشد داد، به شدت مورد تایید و وثوق من هست.
اگر کامنت بگذارید یا share کنید به شدت به من لطف کردید.
یه دوست خیلی خفن دارم توی .net که به تازگی مهاجرت کرده، اگر توی تیمتون نیاز به یه سنیور یا مشاور خفن دات نتی دارید به من بگید بهتون وصلش کنم، بسیار آدم باسوادیه قبل رفتنش توی یکی از شرکت های خوب بود و یک تنه، فنی اون سازمان رو رشد داد، به شدت مورد تایید و وثوق من هست.
اگر کامنت بگذارید یا share کنید به شدت به من لطف کردید.
👍5❤1🤣1😭1
Forwarded from refhub
علیرضا صفاری عزیز، تکنیکال تیم لید Didar CRM هم به جمع خبرگان رفهاب پیوست :)
خیلی داره این فرآینده ارزشمند و جذاب میشه
داشتن تک تک تون برای ما یه پشتوانه محکمه رفقا
لیست تجربیات یک برنامه نویس به انتخاب علیرضای عزیز
#خبرگان_ما_قوی_تره :)
خیلی داره این فرآینده ارزشمند و جذاب میشه
داشتن تک تک تون برای ما یه پشتوانه محکمه رفقا
لیست تجربیات یک برنامه نویس به انتخاب علیرضای عزیز
#خبرگان_ما_قوی_تره :)
👍7🔥3
Forwarded from tech-afternoon (Amin Mesbahi)
🚀🚀 تست رفتارها و خطاهای API به سادگی، با Dev Proxy
—————————————————————————
تا حالا شده موقع توسعه یه اپلیکیشن، API ای که ازش استفاده میکردید یهو به مشکل بخوره؟ مثلاً سرور پاسخ نده، تأخیر داشته باشه، یا با خطای محدودیت نرخ (Rate Limit) روبهرو بشین؟ خب، اگه یه اپلیکیشن اصولی میسازین، باید بدونین که این اتفاقات واقعیان و ممکنه تجربه کاربر رو خراب کنن.
برای اینکه این مشکلات رو قبل از اینکه وارد دنیای واقعی بشین شبیهسازی کنین، یه ابزار خیلی خوب به اسم Dev Proxy موجود داره برای شبیهسازی این مشکلات. با Dev Proxy میتونین رفتارهای مختلف رو شبیهسازی کنین و مطمئن بشین اپلیکیشنتون تو هر شرایطی سر بلند بیرون میاد.
♻️ کاربرد Dev Proxy: کجا به درد میخوره؟
در واقع Dev Proxy دقیقاً یه پروکسی شبکه است که بین اپلیکیشن شما و API قرار میگیره. وظیفهاش شبیهسازی شرایطیه که ممکنه یه API تو دنیای واقعی تجربه کنه. مثل:
- ایجاد تأخیر (Latency): شبیهسازی شرایطی که سرور کند پاسخ میده.
- خطاهای HTTP: مثل خطاهای 500 (Internal Server Error)، یا 404 (Not Found) یا حتی 429 (Too Many Requests).
- خطای Rate Limiting: مثلا وقتی که اپلیکیشن شما API رو صدا میکنه ولی با خطای محدودیت نرخ درخواستها روبرو میشه چی میشه.
- حذف دادهها یا پاسخهای ناقص از طرف API
⚙️ مثال عملی:
فرض کنین یه اپلیکیشن مالی نوشتین که نرخ تبدیل ارزها رو از یه API میگیره. حالا، اگه API به هر دلیلی کند بشه یا خطا بده، اپلیکیشن شما نباید متوقف بشه یا داده اشتباه نشون بده. با Dev Proxy میتونید این سناریوها رو شبیهسازی کنید و رفتار اپلیکیشن رو در این شرایط بسنجین.
یکی از خوبیهای Dev Proxy اینه که به زبان یا تکنولوژی خاصی وابسته نیست. عملا یه ابزار جمعوجوره که روی مک، لینوکس یا ویندوز نصب میشه و شما میتونید ازش برای هر اپلیکیشنی که با API از نوع HTTP REST یا gRPC کار میکنه، استفاده کنید. فرقی هم نداره اپلیکیشن داتنت، جاوا، پایتون، یا جاوااسکریپت باشه.
من قدیم از Mountebank استفاده میکردم ولی از ده سال پیش دیگه آپدیت نداد، بعدش postman mock server و مدتی از WireMock و یک سالی میشه که اکثرا از Dev Proxy استفاده میکنم، تقریبا از زمانی که دیگه کمکم به ابزار خوبی تبدیل شد، با اینکه هنوز به نسخه ۱ نرسیده ولی اکثر نیازها رو برای توسعه و تست برآورده میکنه و به راحتی توی CI/CD قرار میگیره.
گیتهاب
مستندات رسمی
نصب روی ویندوز:
winget install Microsoft.DevProxy
نصب رو مک:
brew tap microsoft/dev-proxy
brew install dev-proxy
نصب روی لینوکس:
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
مثال:
برای شبیه سازی تاخیر ۲ ثانیهای در پاسخ دادن:
dev-proxy --latency 2000
برای برگردوندن خطای ۵۰۰
dev-proxy --error 500
✨ نظرتون چیه؟ بعد از انتشار ویدیو aspire بریم سراغ ویدیو آموزشی براش؟
—————————————————————————
تا حالا شده موقع توسعه یه اپلیکیشن، API ای که ازش استفاده میکردید یهو به مشکل بخوره؟ مثلاً سرور پاسخ نده، تأخیر داشته باشه، یا با خطای محدودیت نرخ (Rate Limit) روبهرو بشین؟ خب، اگه یه اپلیکیشن اصولی میسازین، باید بدونین که این اتفاقات واقعیان و ممکنه تجربه کاربر رو خراب کنن.
برای اینکه این مشکلات رو قبل از اینکه وارد دنیای واقعی بشین شبیهسازی کنین، یه ابزار خیلی خوب به اسم Dev Proxy موجود داره برای شبیهسازی این مشکلات. با Dev Proxy میتونین رفتارهای مختلف رو شبیهسازی کنین و مطمئن بشین اپلیکیشنتون تو هر شرایطی سر بلند بیرون میاد.
♻️ کاربرد Dev Proxy: کجا به درد میخوره؟
در واقع Dev Proxy دقیقاً یه پروکسی شبکه است که بین اپلیکیشن شما و API قرار میگیره. وظیفهاش شبیهسازی شرایطیه که ممکنه یه API تو دنیای واقعی تجربه کنه. مثل:
- ایجاد تأخیر (Latency): شبیهسازی شرایطی که سرور کند پاسخ میده.
- خطاهای HTTP: مثل خطاهای 500 (Internal Server Error)، یا 404 (Not Found) یا حتی 429 (Too Many Requests).
- خطای Rate Limiting: مثلا وقتی که اپلیکیشن شما API رو صدا میکنه ولی با خطای محدودیت نرخ درخواستها روبرو میشه چی میشه.
- حذف دادهها یا پاسخهای ناقص از طرف API
⚙️ مثال عملی:
فرض کنین یه اپلیکیشن مالی نوشتین که نرخ تبدیل ارزها رو از یه API میگیره. حالا، اگه API به هر دلیلی کند بشه یا خطا بده، اپلیکیشن شما نباید متوقف بشه یا داده اشتباه نشون بده. با Dev Proxy میتونید این سناریوها رو شبیهسازی کنید و رفتار اپلیکیشن رو در این شرایط بسنجین.
یکی از خوبیهای Dev Proxy اینه که به زبان یا تکنولوژی خاصی وابسته نیست. عملا یه ابزار جمعوجوره که روی مک، لینوکس یا ویندوز نصب میشه و شما میتونید ازش برای هر اپلیکیشنی که با API از نوع HTTP REST یا gRPC کار میکنه، استفاده کنید. فرقی هم نداره اپلیکیشن داتنت، جاوا، پایتون، یا جاوااسکریپت باشه.
من قدیم از Mountebank استفاده میکردم ولی از ده سال پیش دیگه آپدیت نداد، بعدش postman mock server و مدتی از WireMock و یک سالی میشه که اکثرا از Dev Proxy استفاده میکنم، تقریبا از زمانی که دیگه کمکم به ابزار خوبی تبدیل شد، با اینکه هنوز به نسخه ۱ نرسیده ولی اکثر نیازها رو برای توسعه و تست برآورده میکنه و به راحتی توی CI/CD قرار میگیره.
گیتهاب
مستندات رسمی
نصب روی ویندوز:
winget install Microsoft.DevProxy
نصب رو مک:
brew tap microsoft/dev-proxy
brew install dev-proxy
نصب روی لینوکس:
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
مثال:
برای شبیه سازی تاخیر ۲ ثانیهای در پاسخ دادن:
dev-proxy --latency 2000
برای برگردوندن خطای ۵۰۰
dev-proxy --error 500
✨ نظرتون چیه؟ بعد از انتشار ویدیو aspire بریم سراغ ویدیو آموزشی براش؟
GitHub
GitHub - dotnet/dev-proxy: Simulate API failures, throttling, and chaos — all from your command line.
Simulate API failures, throttling, and chaos — all from your command line. - dotnet/dev-proxy
👍3🔥1
Forwarded from Azibom Channel (MohammadReza Shabani)
از بچگی خیلی زیاد ازمون پرسیدن بزرگ شدی میخوای چه کاره بشی
تو دبیرستان
نو دانشگاه
بار ها و بارها به این فکر کردیم که واقعا چی دوست داریم و میخوایم روزامون رو صرف چه کاری کنیم
ولی
تا حالا کسی ازتون پرسیده که دوست دارید تو چه لایه ای اون کارو انجام بدید
تا حالا فکر کردید که ممکنه این سوال از سوال اول مهم تر هم باشه!
اینکه دوست دارید تو چه لایه ای کار ها رو انجام بدید
منظورم چیه
مثلا من میفهمم گل و گیاه دوست دارم
ولی
دوست دارم گل و گیاه بکارم؟
یا دوست ندارم گلی بشه دستم و گیاه بکارم ولی دوست دارم یه حیاط از گل و گیاه دیزاین کنم؟
یا دوست دارم آدم هایی که گل و گیاه میکارن رو مدیریت کنم؟
یا دوست دارم یه مسئول سبز کردن یه بخشی از شهر باشم؟
یا اصلا بجنگم برای اینکه جلو خراب شدن جنگل ها رو بگیرم؟
مثلا تا حالا فکر کردید اون آدمی که داره عمیقأ برای یه مسئله ای میجنگه جنگ رو دوست داره یا اون مسئله رو؟! :)
(بقیه هم داشت ولی پاکش کردم فعلا همین قدرش همین جا باشه خوبه)
کاری که دوستش دارید و دارید انجام میدید رو ببینید توی چه لایه ای دارید انجام میدید
بعد ببینید دوست داشتید یه کار دیگه ای توی همون لایه بکنید؟
اگه جواب اولتون واضحا مفنیه یکم وایسید و دوباره از خودتون بپرسید
اگر بعد از مدتی باز هم جوابتون منفیه یکم صبر کنید و دوباره از خودتون بپرسید :))
اگر بعد از مدتی باز هم جوابتون منفیه یکم صبر کنید و دوباره از خودتون بپرسید :)))
فقط لطفا زمان وقفه هاتون هم exponential ای بیشتر بشه که فرآیند به صورت ولیدی پیش بره :)
مراقبت کنید
@azibom
@azibomChannel
Azibom.com
تو دبیرستان
نو دانشگاه
بار ها و بارها به این فکر کردیم که واقعا چی دوست داریم و میخوایم روزامون رو صرف چه کاری کنیم
ولی
تا حالا کسی ازتون پرسیده که دوست دارید تو چه لایه ای اون کارو انجام بدید
تا حالا فکر کردید که ممکنه این سوال از سوال اول مهم تر هم باشه!
اینکه دوست دارید تو چه لایه ای کار ها رو انجام بدید
منظورم چیه
مثلا من میفهمم گل و گیاه دوست دارم
ولی
دوست دارم گل و گیاه بکارم؟
یا دوست ندارم گلی بشه دستم و گیاه بکارم ولی دوست دارم یه حیاط از گل و گیاه دیزاین کنم؟
یا دوست دارم آدم هایی که گل و گیاه میکارن رو مدیریت کنم؟
یا دوست دارم یه مسئول سبز کردن یه بخشی از شهر باشم؟
یا اصلا بجنگم برای اینکه جلو خراب شدن جنگل ها رو بگیرم؟
مثلا تا حالا فکر کردید اون آدمی که داره عمیقأ برای یه مسئله ای میجنگه جنگ رو دوست داره یا اون مسئله رو؟! :)
(بقیه هم داشت ولی پاکش کردم فعلا همین قدرش همین جا باشه خوبه)
کاری که دوستش دارید و دارید انجام میدید رو ببینید توی چه لایه ای دارید انجام میدید
بعد ببینید دوست داشتید یه کار دیگه ای توی همون لایه بکنید؟
اگه جواب اولتون واضحا مفنیه یکم وایسید و دوباره از خودتون بپرسید
اگر بعد از مدتی باز هم جوابتون منفیه یکم صبر کنید و دوباره از خودتون بپرسید :))
اگر بعد از مدتی باز هم جوابتون منفیه یکم صبر کنید و دوباره از خودتون بپرسید :)))
فقط لطفا زمان وقفه هاتون هم exponential ای بیشتر بشه که فرآیند به صورت ولیدی پیش بره :)
مراقبت کنید
@azibom
@azibomChannel
Azibom.com
👏5👍2❤1
این مهم است که فکر کنیم با هر قدم به سمت مرگ، پیری و ناکامی می رویم، یا از مسیر لذت ببریم.
این مهم است.
این مهم است.
💯4
"مشکلی که به خوبی بیان شده باشد، مشکلی ست که نیمی از آن حل شده است "
👍8🔥2
Forwarded from refhub
با افتخار اعلام میکنیم که در طرح "اول آورد 2" توانستیم 100 میلیون تومان اعتبار حمایتی از Avalai.ir عزیز کسب کنیم.
این طرح برای کسب و کارهای بزرگ است که اولین کسب و کار اسنپ فود بود که در این طرح قرار گرفت، اما با حمایت و لطف تیم خوب avalai ، رفهاب هم شامل این طرح شد، این برای ما تجربه ی شگفت آور و با ارزشی ست که گام بزرگی برای رشد Refhub.ir خواهد بود.
این طرح برای کسب و کارهای بزرگ است که اولین کسب و کار اسنپ فود بود که در این طرح قرار گرفت، اما با حمایت و لطف تیم خوب avalai ، رفهاب هم شامل این طرح شد، این برای ما تجربه ی شگفت آور و با ارزشی ست که گام بزرگی برای رشد Refhub.ir خواهد بود.
AvalAI
پلتفرم هوش مصنوعی AvalAI
هوش مصنوعی فارسی، چت جیپیتی GPT5 و DeepSeek رایگان و Gemini 2.5 و Claude 4.1 پردازش فایل و سرچ آنلاین - ارائه API های هوش مصنوعی
❤3
آیا توسعه دهندگان نرم افزار، باید از این بترسند؟
https://bolt.new/
https://bolt.new/
bolt.new
Bolt AI builder: Websites, apps & prototypes
Prompt, run, edit & publish apps
🤩3
Forwarded from tech-afternoon (Amin Mesbahi)
⚙️✨ شاید براتون پیش اومده باشه که نیاز پیدا کرده باشید تا بدون دغدغه یه REST API رو صدا کنید، جواب دلخواهتون رو بگیرید و کارتون رو پیش ببرید.
این API رو شاید از روی سرور صدا کنید، یا شاید در قالب کد بکند یا تست، شاید هم از روی کلاینت و در قالب کد فرانت...
حالا گاهی API هنوز آماده نشده، یا شاید توی محیط توسعه در دسترس نیست یا دلایل دیگه. به بیان ساده نیاز به یک API از نوع Fake دارید که مطمئن باشید در ازای یک ورودی مشخص، قطعا یک خروجی مشخص رو برگردونه.
مفهوم JSON Fake Server چیز جدیدی نیست، نمونههای متعددی هم داره که برای توسعه تست یا نمونهسازی (Prototyping) استفاده میشن. چیزی که بدون نیاز به تنظیمات پیچیده، بلافاصله آماده استفاده باشه.
📃 معرفی اولیه یک ابزار:
- بدون نیاز به تعریف نوعداده یا مسیرها (route) »» دادهها به صورت پویا مدیریت میشن و نیازی به تعریف نوعداده یا مسیرهای API نیست (routing).
- ذخیره دادهها در فایل JSON: دادههایی که با متدهای POST یا PUT میفرستیم سمتش در یک فایل JSON ساده ذخیره میشوند و نیازی به پایگاه داده وجود ندارد.
- نصب و راهاندازی آسون: هیچ پیشنیازی نداره و تنها با اجرای سرور، API آماده استفاده است. نصبش هم با کامندلاین یا داکر یا…
- پیروی از شیوههای توصیهشده طراحی API: سعی شده تا ابزار تمامی اصول یک API استاندارد رو رعایت کنه و میتونه بهعنوان یک مرجع برای طراحی API استفاده بشه.
- چند سکویی: میتونید این ابزار را روی ویندوز، لینوکس و مک اجرا کنید، یا با استفاده از داکر.
- پشتیبانی از مدلهای متنوع مثل GraphQL
📌 قابلیتهای اصلی
- پشتیبانی از همه عملیات CRUD: منظورم متدهای HTTP مثل GET، PUT، POST، PATCH و DELETE.
- پشتیبانی از عملیات اطلاعاتگیری از منابع: مثل HEAD و OPTIONS.
- مدیریت تأخیر و خطا: میتونید تأخیر و خطاها رو برای درخواستها شبیهسازی کنید (مثلا بگید بعد از ۲ ثانیه پاسخ بده یا خطای ۵۰۲ برگردون).
- تایید هویت: از روشهای توکن، Basic و کلید API پشتیبانی میکنه.
- پشتیبانی از WebSocket: برای دریافت اعلانهای تغییر داده.
- پشتیبانی از فایلهای استاتیک و Swagger: برای مستندسازی و تست API.
- فیلتراسیون، صفحهبندی و جستجوی متنی: برای مدیریت دادهها در سناریوهای پیچیدهتر.
- پشتیبانی از GraphQL: قابلیت آزمایشی برای کوئریها و Mutationهای GraphQL.
- کشینگ و مدیریت تداخلات دادهها با استفاده از ETag: برای بهبود عملکرد و هماهنگی درخواستها.
- پشتیبانی از فرمتهای مختلف خروجی: شامل JSON، CSV و XML.
🛠 سرور جعلی JSON چجوری کار میکنه؟
جواب کوتاه: خیلی ساده 😅
جواب یهمقدار جزئیتر: سرور رو از طریق کامندلاین یا داکر اجرا کنید، شماره پورت و فایلی که APIها رو توش تعریف کردید و فایلی که دادهها رو میخواهید توش ذخیره کنید، ذکر کنید. تامام!
همونطور که عرض کردم این نوع نرمافزار، یک مفهوم رایج است، و منحصر به یک ابزار نیست. شاید معروفترینش json-server با بیش از ۷۳هزار ستاره در گیتهابه! ولی مشابه داتنتی هم داره، dotnet-fake-json-server البته با ۳۸۸ ستاره 😂 و اینکه ۲ ساله آپدیت نشده و با داتنت ۶ توسعه داده شده، من این چند روز بعد از ساعت کاری، دارم روی ارتقائش روی داتنت ۹ کار میکنم و امیدوارم زودتر جمع شه و pull request بدم.
جمعبندی: اگر با REST کار میکنید یا GraphQL حتمن OpenAPI و کار با این نوع ابزارها رو خوب و دقیق یاد بگیرید. اگر توی پروژههاتون REST API زیاد دارید، خوبه که روی روشهای tracing خصوصا وقتی APIها زنجیره میشن، دیزاینپترنهای مرتبط با مایکروسرویس یا سیستمهای توزیعشده رو تمرین کنید و هرگز بدون fake و test پیش نرید 😉
💬 اگر موضوع جالبی براتون هست بگید تا ویدیو کوتاه یا مثال بریم باهاش 😊
این API رو شاید از روی سرور صدا کنید، یا شاید در قالب کد بکند یا تست، شاید هم از روی کلاینت و در قالب کد فرانت...
حالا گاهی API هنوز آماده نشده، یا شاید توی محیط توسعه در دسترس نیست یا دلایل دیگه. به بیان ساده نیاز به یک API از نوع Fake دارید که مطمئن باشید در ازای یک ورودی مشخص، قطعا یک خروجی مشخص رو برگردونه.
مفهوم JSON Fake Server چیز جدیدی نیست، نمونههای متعددی هم داره که برای توسعه تست یا نمونهسازی (Prototyping) استفاده میشن. چیزی که بدون نیاز به تنظیمات پیچیده، بلافاصله آماده استفاده باشه.
📃 معرفی اولیه یک ابزار:
- بدون نیاز به تعریف نوعداده یا مسیرها (route) »» دادهها به صورت پویا مدیریت میشن و نیازی به تعریف نوعداده یا مسیرهای API نیست (routing).
- ذخیره دادهها در فایل JSON: دادههایی که با متدهای POST یا PUT میفرستیم سمتش در یک فایل JSON ساده ذخیره میشوند و نیازی به پایگاه داده وجود ندارد.
- نصب و راهاندازی آسون: هیچ پیشنیازی نداره و تنها با اجرای سرور، API آماده استفاده است. نصبش هم با کامندلاین یا داکر یا…
- پیروی از شیوههای توصیهشده طراحی API: سعی شده تا ابزار تمامی اصول یک API استاندارد رو رعایت کنه و میتونه بهعنوان یک مرجع برای طراحی API استفاده بشه.
- چند سکویی: میتونید این ابزار را روی ویندوز، لینوکس و مک اجرا کنید، یا با استفاده از داکر.
- پشتیبانی از مدلهای متنوع مثل GraphQL
📌 قابلیتهای اصلی
- پشتیبانی از همه عملیات CRUD: منظورم متدهای HTTP مثل GET، PUT، POST، PATCH و DELETE.
- پشتیبانی از عملیات اطلاعاتگیری از منابع: مثل HEAD و OPTIONS.
- مدیریت تأخیر و خطا: میتونید تأخیر و خطاها رو برای درخواستها شبیهسازی کنید (مثلا بگید بعد از ۲ ثانیه پاسخ بده یا خطای ۵۰۲ برگردون).
- تایید هویت: از روشهای توکن، Basic و کلید API پشتیبانی میکنه.
- پشتیبانی از WebSocket: برای دریافت اعلانهای تغییر داده.
- پشتیبانی از فایلهای استاتیک و Swagger: برای مستندسازی و تست API.
- فیلتراسیون، صفحهبندی و جستجوی متنی: برای مدیریت دادهها در سناریوهای پیچیدهتر.
- پشتیبانی از GraphQL: قابلیت آزمایشی برای کوئریها و Mutationهای GraphQL.
- کشینگ و مدیریت تداخلات دادهها با استفاده از ETag: برای بهبود عملکرد و هماهنگی درخواستها.
- پشتیبانی از فرمتهای مختلف خروجی: شامل JSON، CSV و XML.
🛠 سرور جعلی JSON چجوری کار میکنه؟
جواب کوتاه: خیلی ساده 😅
جواب یهمقدار جزئیتر: سرور رو از طریق کامندلاین یا داکر اجرا کنید، شماره پورت و فایلی که APIها رو توش تعریف کردید و فایلی که دادهها رو میخواهید توش ذخیره کنید، ذکر کنید. تامام!
همونطور که عرض کردم این نوع نرمافزار، یک مفهوم رایج است، و منحصر به یک ابزار نیست. شاید معروفترینش json-server با بیش از ۷۳هزار ستاره در گیتهابه! ولی مشابه داتنتی هم داره، dotnet-fake-json-server البته با ۳۸۸ ستاره 😂 و اینکه ۲ ساله آپدیت نشده و با داتنت ۶ توسعه داده شده، من این چند روز بعد از ساعت کاری، دارم روی ارتقائش روی داتنت ۹ کار میکنم و امیدوارم زودتر جمع شه و pull request بدم.
fake-server --file data.json --urls http://localhost:57602
جمعبندی: اگر با REST کار میکنید یا GraphQL حتمن OpenAPI و کار با این نوع ابزارها رو خوب و دقیق یاد بگیرید. اگر توی پروژههاتون REST API زیاد دارید، خوبه که روی روشهای tracing خصوصا وقتی APIها زنجیره میشن، دیزاینپترنهای مرتبط با مایکروسرویس یا سیستمهای توزیعشده رو تمرین کنید و هرگز بدون fake و test پیش نرید 😉
💬 اگر موضوع جالبی براتون هست بگید تا ویدیو کوتاه یا مثال بریم باهاش 😊
GitHub
GitHub - typicode/json-server: Get a full fake REST API with zero coding in less than 30 seconds (seriously)
Get a full fake REST API with zero coding in less than 30 seconds (seriously) - typicode/json-server
👍3👎1
Forwarded from PerspectiveData | چشمانداز دیتا
✨ آتومیشنهایی که فروشگاههای آنلاین رو متحول میکنن!
تو دنیای فروشگاههای آنلاین، یه سری آتومیشنها هستن که واقعاً تفاوت ایجاد میکنن. اینجا چندتا از کاربردیترینهاش رو که خودم تجربه کردم براتون آوردم:
🚀 پیگیری سبد خرید رهاشده (Abandoned Cart):
همیشه افرادی هستن که سبدشون رو نصفه رها میکنن. یه پیام دوستانه، یه تخفیف کوچیک یا حتی حس فوریت میتونه این مشتریها رو برگردونه.
🔗 پیشنهاد محصولات مرتبط (Upsell/Cross-sell):
بعد از هر خرید، پیشنهاد محصولاتی که به اون خرید مرتبطه میتونه فروش رو چند برابر کنه.
📩 ایمیل خوشامدگویی (Welcome Email):
برای تازهواردها، معرفی برند یا تخفیف اولین خرید همیشه یه شروع عالیه.
💌 بازگشت مشتریان غیرفعال (Win-back Campaigns):
با یه پیشنهاد جذاب، مشتریهایی که مدتی ازشون خبری نیست رو دوباره فعال کنین.
⏰ یادآوری تمدید یا خرید مجدد (Reorder Reminders):
مخصوص محصولاتی مثل لوازم آرایشی یا مکملها که مصرفشدنی هستن.
🎉 تبریک تولد و مناسبتها (Birthday & Occasion Campaigns):
یه تخفیف تو روز تولد یا مناسبتهای خاص حس خوبی به مشتری میده.
⭐️ جمعآوری نظرات (Review Requests):
مشتریا عاشق اینن که نظرشون شنیده بشه! نظرسنجی کنین و یه پاداش کوچیک هم براشون در نظر بگیرین.
💡 یه نکته مهم:
برای اجرای درست این آتومیشنها، ارسال دقیق دیتاها به ابزارهای مارکتینگ ضروریه. مثلاً وضعیت سبد خرید، تاریخ تولد مشتری یا رفتار کاربر باید بهموقع و درست ارسال بشه.
دیتای دقیق = آتومیشن دقیق = تجربه بهتر مشتری
🔗 شما از چه آتومیشنهایی استفاده کردین؟ برام بنویسین! 👇
منبع
📡 پرسپکتیو دیتا | رسانه داده و گزارش کسبوکارها
تو دنیای فروشگاههای آنلاین، یه سری آتومیشنها هستن که واقعاً تفاوت ایجاد میکنن. اینجا چندتا از کاربردیترینهاش رو که خودم تجربه کردم براتون آوردم:
🚀 پیگیری سبد خرید رهاشده (Abandoned Cart):
همیشه افرادی هستن که سبدشون رو نصفه رها میکنن. یه پیام دوستانه، یه تخفیف کوچیک یا حتی حس فوریت میتونه این مشتریها رو برگردونه.
🔗 پیشنهاد محصولات مرتبط (Upsell/Cross-sell):
بعد از هر خرید، پیشنهاد محصولاتی که به اون خرید مرتبطه میتونه فروش رو چند برابر کنه.
📩 ایمیل خوشامدگویی (Welcome Email):
برای تازهواردها، معرفی برند یا تخفیف اولین خرید همیشه یه شروع عالیه.
💌 بازگشت مشتریان غیرفعال (Win-back Campaigns):
با یه پیشنهاد جذاب، مشتریهایی که مدتی ازشون خبری نیست رو دوباره فعال کنین.
⏰ یادآوری تمدید یا خرید مجدد (Reorder Reminders):
مخصوص محصولاتی مثل لوازم آرایشی یا مکملها که مصرفشدنی هستن.
🎉 تبریک تولد و مناسبتها (Birthday & Occasion Campaigns):
یه تخفیف تو روز تولد یا مناسبتهای خاص حس خوبی به مشتری میده.
⭐️ جمعآوری نظرات (Review Requests):
مشتریا عاشق اینن که نظرشون شنیده بشه! نظرسنجی کنین و یه پاداش کوچیک هم براشون در نظر بگیرین.
💡 یه نکته مهم:
برای اجرای درست این آتومیشنها، ارسال دقیق دیتاها به ابزارهای مارکتینگ ضروریه. مثلاً وضعیت سبد خرید، تاریخ تولد مشتری یا رفتار کاربر باید بهموقع و درست ارسال بشه.
دیتای دقیق = آتومیشن دقیق = تجربه بهتر مشتری
🔗 شما از چه آتومیشنهایی استفاده کردین؟ برام بنویسین! 👇
منبع
📡 پرسپکتیو دیتا | رسانه داده و گزارش کسبوکارها
👍3❤2👎1
Forwarded from Azibom Channel (MohammadReza Shabani)
سلام و درود
امیدوارم خوب باشید
یک موقعیت شغلی برای کارآموزی پایتون به صورت ریموت برای یک استارتاپی که در زمینه بازار های مالی فعال هستند باز شده، فرصت یادگیری خوبی داره و با افراد حرفه ای هم در ارتباط خواهید بود
اگه براتون جذابه بهم پیام بدید و اگر هم share کنید تا برسه به دست کسانی که باید خیلی ممنون میشم
مراقبت کنید
@azibom
@azibomChannel
Azibom.com
امیدوارم خوب باشید
یک موقعیت شغلی برای کارآموزی پایتون به صورت ریموت برای یک استارتاپی که در زمینه بازار های مالی فعال هستند باز شده، فرصت یادگیری خوبی داره و با افراد حرفه ای هم در ارتباط خواهید بود
اگه براتون جذابه بهم پیام بدید و اگر هم share کنید تا برسه به دست کسانی که باید خیلی ممنون میشم
مراقبت کنید
@azibom
@azibomChannel
Azibom.com
🔥1