این مهم است که فکر کنیم با هر قدم به سمت مرگ، پیری و ناکامی می رویم، یا از مسیر لذت ببریم.
این مهم است.
این مهم است.
💯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
Forwarded from AvalAI | هوش مصنوعی
AvalAI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Forwarded from Learning With M (Masoud DaneshPour)
با انواع Test Double ها آشنایی دارید ؟
در فرآیند توسعه نرمافزار و تست نرمافزار، وقتی میخواهیم یک بخش از سیستم را ایزوله تست کنیم (بهعنوان مثال یک واحد کد را بدون درگیر شدن با وابستگیهای خارجی آن تست کنیم)، از مفهومی به نام "Test Double" استفاده میکنیم. Test Double یک موجودیت جایگزین برای شیء یا ماژول واقعی هست تا وابستگیهای خارجی را در زمان تست کنترلپذیر و سادهتر بشن.
مارتین فاولر بزرگ انواع Test Double را به صورت کلی به پنج دسته تقسیم کرده است که هرکدام هدف و کاربرد خاصی دارند:
Dummy: فقط برای پر کردن جای خالی پارامترها و عدم استفاده عَملی در تست
Stub: برگرداندن پاسخهای ثابت و ساده برای حذف وابستگیهای خارجی
Fake: پیادهسازی سادهشده و درون حافظهای یک سرویس خارجی واقعی
Spy: مانند Stub اما با قابلیت نظارت و ثبت تعاملات برای بررسی پس از اجرا
Mock: تعریف انتظارات قبل از اجرا و کنترل دقیق تعاملات برای تست رفتار
@learning_with_m
در فرآیند توسعه نرمافزار و تست نرمافزار، وقتی میخواهیم یک بخش از سیستم را ایزوله تست کنیم (بهعنوان مثال یک واحد کد را بدون درگیر شدن با وابستگیهای خارجی آن تست کنیم)، از مفهومی به نام "Test Double" استفاده میکنیم. Test Double یک موجودیت جایگزین برای شیء یا ماژول واقعی هست تا وابستگیهای خارجی را در زمان تست کنترلپذیر و سادهتر بشن.
مارتین فاولر بزرگ انواع Test Double را به صورت کلی به پنج دسته تقسیم کرده است که هرکدام هدف و کاربرد خاصی دارند:
Dummy: فقط برای پر کردن جای خالی پارامترها و عدم استفاده عَملی در تست
Stub: برگرداندن پاسخهای ثابت و ساده برای حذف وابستگیهای خارجی
Fake: پیادهسازی سادهشده و درون حافظهای یک سرویس خارجی واقعی
Spy: مانند Stub اما با قابلیت نظارت و ثبت تعاملات برای بررسی پس از اجرا
Mock: تعریف انتظارات قبل از اجرا و کنترل دقیق تعاملات برای تست رفتار
@learning_with_m
Forwarded from refhub
به لطف Avalai.ir عزیز، برای شروع، کلیه کتاب های برجسته ی ما که از لینک زیر قابل مشاهده هست، دارای خلاصه و معرفی فارسی صوتی بر پایه مدل gpt-4o-audio-preview شدند، از این پس، اگر حوصله مطالعه جزییات و توضیحات کتاب ها را نداشتید، می توانید سری به بخش صوتی و معرفی فارسی کتاب هم بزنید
برای ما به عنوان کتابفروشی هوشمند، استفاده از تمام پتانسیل های مناسب و مرتبط AI یک ارزش نهادینه است که امیدواریم به کار شما کتابخوان های عزیز بیاید
https://refhub.ir/fa/featured_refrences/
با عشق
تیم توسعه Refhub.ir
برای ما به عنوان کتابفروشی هوشمند، استفاده از تمام پتانسیل های مناسب و مرتبط AI یک ارزش نهادینه است که امیدواریم به کار شما کتابخوان های عزیز بیاید
https://refhub.ir/fa/featured_refrences/
با عشق
تیم توسعه Refhub.ir
refhub.ir
کتاب های برجسته
RefHub - Reference Hub | Freedom of Knowledge
🔥7👍2👏1🤩1
Forwarded from Azibom Channel (MohammadReza Shabani)
سلام و درود دوستان امیدوارم خوب باشید
برای روز ۱۳ دی من یه تاک دارم داخل Digikala Next و قراره درباره soft skills صحبت کنم
- Overwork
- Micromanage
- Career development
- ...
ارائه خوبی میشه از نظر خودم:) صحبت کردم و ۷ ۸ نفر میتونن به عنوان مهمان از طرف من حضور داشته باشن
اگر دوست داشتید بهم پیام بدین تا هماهنگ کنیم
لطفا پیامتون در این قالب باشه
نام و نام خانوادگی:
سابقه کاریتون:
آخرین مشکل سافت اسکیلی ای باهاش دست و پنجه نرم کردید:
اگرم share کنید که برسه به دست کسانی که باید خیلی ممنون میشم
مراقبت کنید
@azibom
@azibomChannel
Azibom.com
برای روز ۱۳ دی من یه تاک دارم داخل Digikala Next و قراره درباره soft skills صحبت کنم
- Overwork
- Micromanage
- Career development
- ...
ارائه خوبی میشه از نظر خودم:) صحبت کردم و ۷ ۸ نفر میتونن به عنوان مهمان از طرف من حضور داشته باشن
اگر دوست داشتید بهم پیام بدین تا هماهنگ کنیم
لطفا پیامتون در این قالب باشه
نام و نام خانوادگی:
سابقه کاریتون:
آخرین مشکل سافت اسکیلی ای باهاش دست و پنجه نرم کردید:
اگرم share کنید که برسه به دست کسانی که باید خیلی ممنون میشم
مراقبت کنید
@azibom
@azibomChannel
Azibom.com
❤8
Forwarded from tech-afternoon (Amin Mesbahi)
📌 ربعبندی بدهی فنی (Technical Debt Quadrant)
دیروز یه توییتی زدم که برای توضیح بهتر منظورم (که هیچ ربطی هم به نرمافزار نداشت)، از توصیف بدهی فنی ناآگاهانهی بیپروا استفاده کردم، این شد که گفتم شاید بد نباشه کمی عمیقتر در مورد بدهی فنی گپ بزنیم...
مارتین فولر سالها پیش یک ربعبندی (Quadrant) برای طبقهبندی انواع بدهی های فنی معرفی کرد که تا امروز هم قابل تعمیم و استفاده است، برای اینکه دید بهتری نسبت به بدهی فنیهامون داشته باشیم. برای «احمقانه»ها توجیه نتراشیم... بابت عاقلانهترها هم خودمون رو بیش از حد سرزنش نکنیم.
1. بیپروا و غیرآگاهانه (Reckless & Inadvertent)
بدون آگاهی و بیبرنامه ایجاد شده.
2. بیپروا و آگاهانه (Reckless & Deliberate)
تیم آگاهانه و به صورت بیپروا برای سرعت بخشیدن به کار ایجاد کرده.
3. محتاطانه و غیرآگاهانه (Prudent & Inadvertent)
به صورت تصادفی اما با رعایت اصول اولیه ایجاد شده.
4. محتاطانه و آگاهانه (Prudent & Deliberate)
آگاهانه و با برنامهریزی برای دستیابی به اهداف کوتاهمدت ایجاد شده.
ریاکشن 🤓 برای اعلام تمایل برای توضیح بیشتر و مثال و...
دیروز یه توییتی زدم که برای توضیح بهتر منظورم (که هیچ ربطی هم به نرمافزار نداشت)، از توصیف بدهی فنی ناآگاهانهی بیپروا استفاده کردم، این شد که گفتم شاید بد نباشه کمی عمیقتر در مورد بدهی فنی گپ بزنیم...
مارتین فولر سالها پیش یک ربعبندی (Quadrant) برای طبقهبندی انواع بدهی های فنی معرفی کرد که تا امروز هم قابل تعمیم و استفاده است، برای اینکه دید بهتری نسبت به بدهی فنیهامون داشته باشیم. برای «احمقانه»ها توجیه نتراشیم... بابت عاقلانهترها هم خودمون رو بیش از حد سرزنش نکنیم.
1. بیپروا و غیرآگاهانه (Reckless & Inadvertent)
بدون آگاهی و بیبرنامه ایجاد شده.
2. بیپروا و آگاهانه (Reckless & Deliberate)
تیم آگاهانه و به صورت بیپروا برای سرعت بخشیدن به کار ایجاد کرده.
3. محتاطانه و غیرآگاهانه (Prudent & Inadvertent)
به صورت تصادفی اما با رعایت اصول اولیه ایجاد شده.
4. محتاطانه و آگاهانه (Prudent & Deliberate)
آگاهانه و با برنامهریزی برای دستیابی به اهداف کوتاهمدت ایجاد شده.
ریاکشن 🤓 برای اعلام تمایل برای توضیح بیشتر و مثال و...
🏆3👍1
tech-afternoon
📌 ربعبندی بدهی فنی (Technical Debt Quadrant) دیروز یه توییتی زدم که برای توضیح بهتر منظورم (که هیچ ربطی هم به نرمافزار نداشت)، از توصیف بدهی فنی ناآگاهانهی بیپروا استفاده کردم، این شد که گفتم شاید بد نباشه کمی عمیقتر در مورد بدهی فنی گپ بزنیم... مارتین…
یک از خوشبختی های این روزهای من اینه که مسعود دانشپور عزیز و امین مصباحی عزیزم کانال های تلگرامشون رو فعال کردن، این آرزوی پارسال من بود که میکروفن تک در اکوسیستم ایران دست آدم های صالح و با سواد باشه و خیلی خوشحالم که میتونیم بیشتر ازشون بخونیم و یاد بگیریم
🔥7
Forwarded from refhub
رفقا یه کتابخوان اندرویدی تر و تمیز داشته باشید برای کتاب های ما حاضرید براش ، حق اشتراک ماهیانه بدین؟
Anonymous Poll
54%
بلی
46%
خیر
Forwarded from refhub
اگه کتابخوان به کارتون میاد، حاضرید برای اشتراک ماهیانه چقدر پرداخت کنید ؟
Anonymous Poll
74%
50 هزار تومان
26%
70 هزار تومان
Forwarded from Learning With M (Masoud DaneshPour)
🚀 من همیشه اصول پایه ای رو دوست دارم، برای همین خیلی وقت ها برای خودم مرورشون می کنم.
امروز داشتم OOP رو مطالعه می کردم، برای همین گفتم با شما هم Share کنم :
در برنامهنویسی شیءگرا (Object-Oriented Programming – OOP)، مفاهیمی معرفی میشند که هدفشان سادهسازی طراحی، توسعه و نگهداشت کد هست که عبارت اند از :
Encapsulation: پنهان کردن جزئیات و ارائه واسط عمومی
Abstraction: سادهسازی و انتزاعسازی مفاهیم بدون نمایش جزئیات غیرضروری
Inheritance: استفادهی مجدد از کد و ایجاد سلسلهمراتب بین کلاسها
Polymorphism: رفتارهای مختلف برای یک متد واحد بسته به کلاس یا نوع شیء
@learning_with_m
که می دونیم که Polymorphism دو نوع داره که شامل :
Overriding: اگر کلاس فرزند متدی را که در کلاس والد تعریف شده بازتعریف کند، بسته به نوع شیء در زمان اجرا متد مناسب صدا زده میشود. (Runtime polymorphism)
Overloading: در یک کلاس چند متد با نام یکسان ولی پارامترهای متفاوت تعریف میکنیم، و بسته به تعداد و نوع پارامترها، متد مناسب در زمان کامپایل انتخاب میشود. (Compile-time polymorphism)
امروز داشتم OOP رو مطالعه می کردم، برای همین گفتم با شما هم Share کنم :
در برنامهنویسی شیءگرا (Object-Oriented Programming – OOP)، مفاهیمی معرفی میشند که هدفشان سادهسازی طراحی، توسعه و نگهداشت کد هست که عبارت اند از :
Encapsulation: پنهان کردن جزئیات و ارائه واسط عمومی
Abstraction: سادهسازی و انتزاعسازی مفاهیم بدون نمایش جزئیات غیرضروری
Inheritance: استفادهی مجدد از کد و ایجاد سلسلهمراتب بین کلاسها
Polymorphism: رفتارهای مختلف برای یک متد واحد بسته به کلاس یا نوع شیء
@learning_with_m
که می دونیم که Polymorphism دو نوع داره که شامل :
Overriding: اگر کلاس فرزند متدی را که در کلاس والد تعریف شده بازتعریف کند، بسته به نوع شیء در زمان اجرا متد مناسب صدا زده میشود. (Runtime polymorphism)
Overloading: در یک کلاس چند متد با نام یکسان ولی پارامترهای متفاوت تعریف میکنیم، و بسته به تعداد و نوع پارامترها، متد مناسب در زمان کامپایل انتخاب میشود. (Compile-time polymorphism)
❓ حالا شما به من بگید، در S.O.L.I.D، حرف L که برای Liskov Substitution Principle (LSP) هست، کدوم یکی از مفاهیم بالا رو هدف قرار داده ؟ اصلا چه ربطی بین LSP و مفاهیم بالا هست ؟
❤4
TondTech
<unknown> – Brick Man, Massoud Beygi
Brav.ai هم داره خوب جلو میره تو این مسیر. یه سمپل دادم بهش بسازه از شعرای قدیمی، ببینید چه کرد..
آقا برگام... Brev داره میزنه جلو از suno 😎
ببینید شعرمو چیکار کرد لامصبببب
https://brev.ai/music/1864004-jorm
آقا برگام... Brev داره میزنه جلو از suno 😎
ببینید شعرمو چیکار کرد لامصبببب
https://brev.ai/music/1864004-jorm
brev.ai
Jorm Listen and Download | AI Music Generator
Dive into the intense emotional depths of 'Jorm,' a dark, hard rock masterpiece generated by Suno AI. Experience the powerful fusion of Persian lyrics and brooding melodies, reflecting on guilt, loss, and a haunting future. An AI-generated exploration of…
Forwarded from فرصتهای شغلی تراز اول
🎯 Senior .Net Developer
💵 حقوق سالانه: قابل مذاکره
📍محل کار: تهران - حضوری
⚙️ صنعت: تکنولوژی
🌟 مهارتهای کلیدی:
• مسلط بر توسعه نرمافزار با .Net
• تجربه در زمینه ساختار نرمافزار
• مهارت حل مسئله
📩 برای ارسال رزومه میتوانید از طریق این لینک و یا آیدی تلگرام @HRBamboosHeadHunter اقدام نمایید.
-------------
برای اطلاع از آخرین موقعیتهای شغلی ما را در لینکدین و واتساپ دنبال کنید.
#Senior_DotNET_Developer #DotNET #موقعیت_شغلی #استخدام
💵 حقوق سالانه: قابل مذاکره
📍محل کار: تهران - حضوری
⚙️ صنعت: تکنولوژی
🌟 مهارتهای کلیدی:
• مسلط بر توسعه نرمافزار با .Net
• تجربه در زمینه ساختار نرمافزار
• مهارت حل مسئله
📩 برای ارسال رزومه میتوانید از طریق این لینک و یا آیدی تلگرام @HRBamboosHeadHunter اقدام نمایید.
-------------
برای اطلاع از آخرین موقعیتهای شغلی ما را در لینکدین و واتساپ دنبال کنید.
#Senior_DotNET_Developer #DotNET #موقعیت_شغلی #استخدام