<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های صالح فیضی</title>
        <link>https://virgool.io/feed/@saspx</link>
        <description>Technology Researcher And Developer</description>
        <language>fa</language>
        <pubDate>2026-06-10 12:46:31</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1770161/avatar/1f8W3S.jpg?height=120&amp;width=120</url>
            <title>صالح فیضی</title>
            <link>https://virgool.io/@saspx</link>
        </image>

                    <item>
                <title>Metabase چیست و چه ویژگی های دارد</title>
                <link>https://virgool.io/@saspx/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%A7%D8%A8%D8%B2%D8%A7%D8%B1%D9%87%D8%A7%DB%8C-%D9%85%D8%B4%D8%A7%D8%A8%D9%87-metabase-%D8%A8%D8%B1%D8%A7%DB%8C-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4-%DA%AF%DB%8C%D8%B1%DB%8C-%D8%AF%D8%B1-%D8%B3%D8%A7%D9%85%D8%A7%D9%86%D9%87-%D9%87%D8%A7%DB%8C-%D8%A8%D8%A7-%D8%AD%D8%AC%D9%85-%D8%A8%D8%A7%D9%84%D8%A7-bqg2drpnfeij</link>
                <description>این روزها همه‌ی کسب‌وکارها به نوعی با داده‌ها سر و کار دارند و برای مدیریت و تحلیل این داده‌ها نیاز به ابزارهایی دارند که کار را راحت‌تر کند. یکی از این ابزارها، Metabase است که خیلی‌ها ازش استفاده می‌کنند. در این مقاله، می‌خواهیم ببینیم چطور می‌توانیم از ابزارهای مشابه Metabase برای ایجاد گزارشات در سامانه‌های با حجم بالای داده استفاده کنیم. راحتی استفاده و دسترسی سریعیکی از بهترین ویژگی‌های این ابزارها اینه که استفاده ازشون خیلی راحت و ساده است. حتی اگه خیلی از تحلیل داده سر در نمیارید، با این ابزارها می‌تونید به راحتی گزارش‌هاتون رو بسازید و داده‌هاتون رو تحلیل کنید. این برای کسب‌وکارهایی که باید سریع تصمیم بگیرند، خیلی خوبه. اتصال به منابع داده مختلفاین ابزارها می‌تونند به انواع منابع داده وصل بشن. مثلاً می‌تونید به پایگاه‌های داده مختلف، فایل‌های CSV، و سرویس‌های ابری وصل بشید و داده‌هاتون رو یکجا جمع کنید. برای سیستم‌هایی که حجم بالای داده دارند، این ویژگی خیلی مهمه چون می‌تونید همه داده‌هاتون رو یکجا داشته باشید و راحت‌تر مدیریت کنید. تجسم و ترسیم نمودار برای داده‌هایکی از مزیت‌های این ابزارها اینه که می‌تونید داده‌هاتون رو به صورت نمودارها و گراف‌های مختلف ببینید. این کار باعث میشه که بتونید الگوها و روندهای مهم رو راحت‌تر شناسایی کنید. توی سیستم‌هایی که حجم بالای داده دارند، این خیلی کمک می‌کنه که سریع‌تر به نتایج برسید. مقیاس‌پذیری و عملکرد بالابرای سیستم‌هایی که حجم بالای داده دارند، خیلی مهمه که ابزارهای گزارش‌گیری بتونند با افزایش حجم داده‌ها همچنان خوب کار کنند. ابزارهایی مثل Metabase معمولاً به خوبی مقیاس‌پذیر هستند و با افزایش حجم داده‌ها سرعت و عملکردشون کاهش پیدا نمی‌کنه. امنیت و مدیریت دسترسییکی دیگه از ویژگی‌های این ابزارها اینه که می‌تونید برای کاربران مختلف دسترسی‌های متفاوتی تعریف کنید. اینطوری می‌تونید مطمئن بشید که فقط افراد مجاز به داده‌ها و گزارش‌ها دسترسی دارند و از دسترسی غیرمجاز جلوگیری کنید. قابلیت توسعه و انعطاف‌پذیریابزارهای مشابه Metabase قابلیت‌های زیادی برای توسعه و سفارشی‌سازی دارند. مثلاً می‌تونید با استفاده از APIها و افزونه‌ها امکانات جدیدی بهشون اضافه کنید و بر اساس نیازهای خاص خودتون سفارشی‌سازیشون کنید. این ویژگی برای سیستم‌هایی که حجم بالای داده دارند خیلی مهمه چون می‌تونید به سرعت به نیازهای جدید پاسخ بدید. مثال کاربردی: سیستم هشدار سریع زلزلهفرض کنید یک سیستم هشدار سریع زلزله داریم که حجم بالای داده از وضعیت ایستگاه‌ها دریافت می‌کنه. با استفاده از ابزاری مثل Metabase، می‌تونید گزارش‌های مختلفی ایجاد کنید. مثلاً:1. گزارش زلزله‌های اخیر: می‌تونید داده‌های مربوط به زلزله‌های اخیر رو از ایستگاه‌ها جمع‌آوری کنید و به صورت نمودار یا جدول نمایش بدید.2. گزارش امواج نویز: می‌تونید داده‌های مربوط به امواج نویز دریافتی از ایستگاه‌ها رو تحلیل کنید و ببینید که آیا این امواج روی دقت سیستم هشدار تاثیر گذاشته‌اند یا نه.3. گزارش شاخص کیفیت شبکه: می‌تونید شاخص‌های کیفیت شبکه رو بر اساس داده‌های دریافتی از ایستگاه‌ها محاسبه کنید و به صورت گرافیکی نمایش بدید تا مشکلات احتمالی رو شناسایی کنید.نمونه ای گزارشات ایجاد شده با ابزار Metabase نتیجه‌گیریابزارهای مشابه Metabase می‌تونند به شما کمک کنند تا داده‌های حجیم خودتون رو به خوبی مدیریت و تحلیل کنید. با استفاده از این ابزارها، می‌تونید به راحتی گزارش‌های مختلفی ایجاد کنید و از داده‌ها برای تصمیم‌گیری‌های بهتر استفاده کنید. این ابزارها با امکاناتی مثل سهولت استفاده، اتصال به منابع مختلف، تجسم داده‌ها، مقیاس‌پذیری، امنیت و قابلیت توسعه، یکی از بهترین انتخاب‌ها برای کسب‌وکارهایی هستند که حجم بالای داده دارند.اموزش نصب Metabase</description>
                <category>صالح فیضی</category>
                <author>صالح فیضی</author>
                <pubDate>Sat, 06 Jul 2024 22:42:19 +0330</pubDate>
            </item>
                    <item>
                <title>Cell Broadcast چیست و چه مزیتی دارد</title>
                <link>https://virgool.io/@saspx/cell-broadcast-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D9%87-%D9%85%D8%B2%DB%8C%D8%AA%DB%8C-%D8%AF%D8%A7%D8%B1%D8%AF-y9qhjzspqozk</link>
                <description>در دنیای ارتباطات امروزی، روش‌های متعددی برای ارسال پیام‌های گروهی به تعداد زیادی از افراد وجود دارد. یکی از این روش‌ها که در شرایط اضطراری و بحرانی بسیار مؤثر واقع می‌شود، Cell Broadcast است. این تکنولوژی قادر است اطلاعات مهم را به سرعت و به صورت گسترده در یک منطقه جغرافیایی خاص ارسال کند. در این مقاله، به بررسی Cell Broadcast، کاربردهای آن و مثال‌های واقعی از استفاده این تکنولوژی در دنیا می‌پردازیم.Cell Broadcast چیست؟Cell Broadcast یک تکنولوژی ارتباطی است که به اپراتورهای تلفن همراه اجازه می‌دهد تا پیام‌های متنی را به صورت همزمان به تمام دستگاه‌های موبایلی که در یک یا چند سلول شبکه تلفن همراه قرار دارند، ارسال کنند. برخلاف پیامک (SMS) که به یک یا چند شماره تلفن خاص ارسال می‌شود، Cell Broadcast پیام‌ها را به تمام دستگاه‌های موجود در محدوده یک سلول ارسال می‌کند، بدون توجه به شماره تلفن.کاربردهای Cell Broadcastهشدارهای اضطراری: یکی از مهم‌ترین کاربردهای Cell Broadcast، ارسال هشدارهای اضطراری در مواقع بحران مانند زلزله، سیل، طوفان و دیگر بلایای طبیعی است. این پیام‌ها می‌توانند اطلاعات حیاتی را به سرعت به افراد در مناطق متاثر برسانند.اطلاع‌رسانی عمومی: دولت‌ها و سازمان‌ها می‌توانند از این تکنولوژی برای اطلاع‌رسانی عمومی مانند اعلام قطعی‌های برق، اختلالات در حمل و نقل عمومی، و یا هشدارهای بهداشتی استفاده کنند.تبلیغات محلی: برخی شرکت‌ها از Cell Broadcast برای ارسال تبلیغات محلی به کاربران در یک منطقه خاص استفاده می‌کنند، اگرچه این کاربرد کمتر رایج است به دلیل احتمال مزاحمت برای کاربران.مزایای Cell Broadcastسرعت بالا: پیام‌ها به سرعت به تمام دستگاه‌های موجود در محدوده ارسال می‌شوند.پوشش گسترده: تمام دستگاه‌های موبایل در محدوده سلول‌ها پیام را دریافت می‌کنند، حتی اگر شبکه مشغول باشد.قابلیت هدف‌گذاری جغرافیایی: پیام‌ها می‌توانند به مناطق خاصی ارسال شوند بدون نیاز به دانستن شماره تلفن کاربران.مثال‌های واقعی از عملکرد Cell Broadcastژاپن - هشدار زلزله: ژاپن یکی از پیشروان استفاده از Cell Broadcast برای هشدارهای زلزله است. این سیستم به محض تشخیص زلزله، پیام‌هایی را به سرعت به تمام دستگاه‌های موبایل در مناطق متاثر ارسال می‌کند، تا مردم بتوانند به موقع اقدام کنند.کره جنوبی - هشدارهای COVID-19: در دوران همه‌گیری COVID-19، دولت کره جنوبی از Cell Broadcast برای ارسال هشدارهای بهداشتی و اطلاعات مربوط به مناطق قرنطینه استفاده کرد. این اقدام به کنترل شیوع ویروس کمک شایانی کرد.هلند - هشدارهای آب و هوا: هلند از این تکنولوژی برای ارسال هشدارهای آب و هوا و اعلام خطرات طوفان و سیلاب استفاده می‌کند. این پیام‌ها به مردم کمک می‌کنند تا برای شرایط بحرانی آماده شوند.نتیجه‌گیریCell Broadcast یک ابزار قدرتمند و مؤثر برای ارسال پیام‌های گروهی در شرایط اضطراری و اطلاع‌رسانی عمومی است. با توانایی ارسال پیام به تعداد زیادی از افراد در کوتاه‌ترین زمان ممکن، این تکنولوژی نقش مهمی در افزایش ایمنی و آگاهی عمومی ایفا می‌کند. مثال‌های واقعی از کشورهای مختلف نشان می‌دهد که چگونه این فناوری می‌تواند در مواقع بحرانی به نجات جان افراد و کاهش خسارات کمک کند.آموزش مفهوم سل برودکست شبکه موبایل  https://youtu.be/Y-ysmowBXtw?si=T91bauZvxgQH-6sM </description>
                <category>صالح فیضی</category>
                <author>صالح فیضی</author>
                <pubDate>Mon, 27 May 2024 23:27:12 +0330</pubDate>
            </item>
                    <item>
                <title>تفاوت دریافت و پردازش پیام از ActiveMQ با PHP و Go !</title>
                <link>https://virgool.io/@saspx/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA-%D9%88-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4-%D9%BE%DB%8C%D8%A7%D9%85-%D8%A7%D8%B2-activemq-%D8%A8%D8%A7-php-%D9%88-go-jlhehkxpv1g7</link>
                <description>تصور کنید که ما n ایستگاه داریم، و هر یک از این ایستگاه‌ها هر ثانیه 1.5 پیام را به سمت سیستم MessageBroker ما ارسال می‌کنند.از سوی دیگر، یک ساب‌اسکرایبر داریم که به سیستم Broker گوش می‌دهد و هر پیامی که دریافت می‌کند را فوراً پردازش می‌دهد. پیام های دریافتی تو قالب یک حلقه از ActiveMQ دریافت میشن و هر پیام شامل پردازش های مختلفهمای تو یک مرحله اومدیم یک صفحه میانه تشکیل دادیم که فرایند ران تایم و لحظه ای ما درگیر نشه ولی با افزایش تعداد ایستگاه و پیام ها مدت زمان تاخیر پردازش پیام ها افزایش پیدا میکرد و گاهی هم به دلایل باگ های سیستم حجم field Job ها بیشتر میشد مجبور به حذف صف میانه شدیم :(این پردازش‌ها شامل محاسبه و شناسایی دو متد زمان، شدت زلزله، نوع لرزش، محدودیت رخداد، یا اعلان‌دهنده پیام، میزان ولتاژ و ... است. لازم به ذکر  که کد PHP ما پس از انجام تعدادی از اصلاحات و بهینه‌سازی‌ها، متوسط زمان اجرای آن را از حداقل ۱۲ تا ۱۰ ثانیه کاهش دادیم و نتیجه فعلی در تصاویری که در این پست به اشتراک گذاشتم رسیدیم. به طور خلاصه تجربیات قبلی که در این پروژه و وضیعت سورس قبلی رو تو این پست براتون قبلا به اشتراک گذاشتم : سفر غیر حرفه‌ای در دنیای کدنویسی : قسمت اول - چگونه در یک پروژه حساس، با یک دست دور توپ تنیس و یک کیبورد خراب اقدام به توسعه دادیم )مقایسه ما اصلا حق به جانب نیست و اینکه در هر دو زبان تا جای که لاگ گرفته شده یک کد مشترک نوشته شده است، نه کمتر نه بیشتر !نتیجه ارتباط با ActiveMQ با php و پردازش پیام نتیجه ارتباط با ActiveMQ با GoLang و پردازش پیامباید بگم توی برخی از پروژه ها حتی ۰.۵ میلی ثانیه ارزش خیلی زیادی داشته باشه که میتونه باعث کاهش کلی هزینه بشه . به شخص باید بگم تو این موردی که خودم درگیرش بودم Go واکنش بهتری نسبت به PHP داشت</description>
                <category>صالح فیضی</category>
                <author>صالح فیضی</author>
                <pubDate>Sun, 07 Apr 2024 02:37:18 +0330</pubDate>
            </item>
                    <item>
                <title>لاراول پالس: در یک داشبورد تمامی رویداد ها اپلیکیشن خود را مشاهده کنید !</title>
                <link>https://virgool.io/@saspx/%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D9%BE%D8%A7%D9%84%D8%B3-%D8%AF%D8%B1-%DB%8C%DA%A9-%D8%AF%D8%A7%D8%B4%D8%A8%D9%88%D8%B1%D8%AF-%D8%AA%D9%85%D8%A7%D9%85%DB%8C-%D8%B1%D9%88%DB%8C%D8%AF%D8%A7%D8%AF-%D9%87%D8%A7-%D8%A7%D9%BE%D9%84%DB%8C%DA%A9%DB%8C%D8%B4%D9%86-%D8%AE%D9%88%D8%AF-%D8%B1%D8%A7-%D9%85%D8%B4%D8%A7%D9%87%D8%AF%D9%87-%DA%A9%D9%86%DB%8C%D8%AF-gxf31m6ndvj9</link>
                <description> لاراول پالس: چیست؟لاراول پالس یک پکیج رایگان و منبع باز برای فریم‌ورک لاراول است که به توسعه‌دهندگان کمک می‌کند تا جوانب مختلف برنامه‌های وب خود را به صورت زمان‌واقعی نظارت کنند.تیلور اُتول، خالق لاراول، گفته است که این ابزار به دلیل ناتوانی لاراول فورج در تشخیص سریع علت کاهش عملکرد سرویس و هویت کاربرانی که این مشکل را ایجاد کرده‌اند، به وجود آمده است.من هنوز هم نمی‌توانم باور کنم که چنین ابزاری می‌تواند رایگان باشد، اما اینجا هستیم! ویژگی‌های ارائه شده توسط لاراول پالس1. استفاده برنامه از کاربران: لاراول پالس به شما این امکان را می‌دهد که ببینید کدام یک از کاربران شما بیشترین منابع را مصرف می‌کنند. این ابزار افشا می‌کند که کدام کاربران بیشترین درخواست را انجام می‌دهند، با ناحیه‌های کندتر ارتباط برقرار می‌کنند و بیشترین کارها را در سراسر برنامه ارسال می‌کنند.2. آمار سرورهای شما: نظارت بر جوانب مختلف سرورهای شما، مانند CPU، حافظه و استفاده از دیسک. همه این‌ها در یک مکان!3. نظارت بر صف: به جای حدس زدن کدام صف نیاز به منابع بیشتری دارد، تصمیمات آگاهانه‌ای بر اساس داده‌های تاریخی بگیرید و به کاربران خود سود واقعی بیاورید.4. نظارت بر عملکرد: باز هم، تصمیم‌گیری بر اساس داده ارزشمند است و لاراول پالس همچنین در زمینه‌های مسیرها، پرس و جوهای پایگاه داده، کارها و حتی درخواست‌های خروجی به شما کمک می‌کند.5. استثناءهای محبوب: مانند داشتن یک ابزار ردیابی خطا بسیار سبک. شما خواهید دید کدام استثناءها بیشترین فراوانی را دارند و چگونه ممکن است به مشکلات عملکرد شما مرتبط باشند.معیارهای دلخواه توسط جامعه: بدون شک، لاراول پالس قابل تنظیم خواهد بود و من هر چیزی را که از جامعه بتوانم در اینجا در وبلاگم به اشتراک خواهم گذاشت.طراحی داشبورد دلخواه: در وب‌سایت رسمی آمده است که طراحی داشبورد قابل تنظیم است، که خبر عالی است!نصب لاراول پالسدر حال حاضر، لاراول پالس نیازمند پایگاه داده MySQL است. اگر چیز دیگری را اجرا می‌کنید، این موضوع مشکلی ندارد، اما شما باید یک اتصال پایگاه داده جدید برای MySQL ایجاد کنید.پالس هنوز در حال بتا است و شما باید برخی تغییرات را در فایل composer.json خود اعمال کنید تا آن را نصب کنید تا زمانی که یک نسخه پایدار منتشر شود. حداقل پایداری را به بتا تغییر دهید و مطمئن شوید که prefer-stable به true تنظیم شده است:&amp;quotminimum-stability&amp;quot: &amp;quotbeta&amp;quot,
&amp;quotprefer-stable&amp;quot: trueسپس فقط برای نصب پالس، دستور زیر را استفاده کنید:composer require laravel/pulseتنظیم لاراول پالسبرای تنظیم لاراول پالس، باید اطمینان حاصل کنید که یک پایگاه داده دارد که می‌تواند داده‌های جمع‌آوری شده را در آن ذخیره کند. شما می‌توانید این کار را با اجرای مایگریشن‌ها (که نیازی به انتشار ندارید) انجام دهید: phpartisan migrateبا انجام این کار، مرورگر خود را باز کرده و به مسیر /pulse بروید. اینقدر ساده بود.</description>
                <category>صالح فیضی</category>
                <author>صالح فیضی</author>
                <pubDate>Sat, 02 Dec 2023 19:25:27 +0330</pubDate>
            </item>
                    <item>
                <title>سفر غیر حرفه‌ای در دنیای کدنویسی : قسمت اول - چگونه در یک پروژه حساس، با یک دست دور توپ تنیس و یک کیبورد خراب اقدام به توسعه دادیم!</title>
                <link>https://virgool.io/@saspx/%D8%B3%D9%81%D8%B1-%D8%BA%DB%8C%D8%B1-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%AF%D8%B1-%D8%AF%D9%86%DB%8C%D8%A7%DB%8C-%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%AF%D8%B1-%DB%8C%DA%A9-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%AD%D8%B3%D8%A7%D8%B3-%D8%A8%D8%A7-%DB%8C%DA%A9-%D8%AF%D8%B3%D8%AA%D9%87-%D8%AF%D9%88%D8%B1-%D8%AA%D9%88%D9%BE-%D8%AA%D9%86%DB%8C%D8%B3-%D9%88-%DB%8C%DA%A9-%DA%A9%DB%8C%D8%A8%D9%88%D8%B1%D8%AF-%D8%AE%D8%B1%D8%A7%D8%A8-%D8%A7%D9%82%D8%AF%D8%A7%D9%85-%D8%A8%D9%87-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D8%AF%D8%A7%D8%AF%DB%8C%D9%85-s5c5nkadlzkl</link>
                <description>در این سفر مهیج به دنیای برنامه نویسی، ما به کاوش در یک پروژه حساس پرداختیم. سفر خودمون رو با این سوال آغاز می کنیم : کار کردن کردن یک سیستم مهم است یا کارایی و عملکرد آن سیستم ؟+ پاسخ توسعه دهنده  MR (فردی که ابتدا اقدام به توسعه و پیاده سازی سیستم کرده است  ، که آن را MR صدا میکنیم )بنظرم تو زمان محدودی که من داشتم و اینکه قالب پروژه مشخص نبود من بهترین کارو انجام دادم و اولیتم صرفا تعهد زمانی بوده که من به طرف قراردادم داشتم بود ،لازم ذکر کنم شرط ادامه این پروژه تحویل سریع این فاز و رونمایی بوده.عالیه بنظرم اینکه نسبت به تعهد زمانی پایند باشی یک اصل مهمیه تو هر پروژه ، ولی به چه قیمتی ؟خب قبل اینکه به سوال بالا پاسخ بدیم همین سوال رو از ChatGPT با در نظر گرفتن پاسخ MR میپرسیم تا ببینم نظر اون چیه :)سوال مطح شده خب این سوالی رو با توجه به ابعاد پروژه و پاسخ اولیه آقای MR از ChatGPT پرسیدیمپاسخ ChatGTPخب برگردیم سر سوال قبلی مون : تعهد زمانی مهم تره یا توسعه درست سیستم ؟ کدومش بیشتر برامون هزینه داره ؟باید بگم هر دو این موارد با توجه به شرایط مهم هستن ولی ! ولی ! ولییییی ! تو رفتی ولی فکر تو سر من موند آقای MR 😂ولی !!!!!ولی بنظر من (شخصیت کمالگرای خودم) اولیت توسعه درست هستش در کنار تعهد زمانیخب چرا اولیت من توسعه درست هستش ؟پاسخ کلیشه ای :چون وقتی تو میخوای پروژه تحویل یکی دیگه بدی ، و پروژه تو هیچ مستندی نداره و طرف بعدی باید حداقل ۳ الی ۴ ماه باید وقت بزار کد شما رو بخونه سرویس های مرتبط رو چک کنه تا بتونه با ساختار کلی سیستم آشنا بشه.پاسخ فنی با توجه تجربه خودم و افرادی که باهاشون در ارتباطم :ببیند توسعه بد یک ویژگی باعث میشه شما یک بنا با پایه کج رو توسعه بدید.هزینه زمانی اولیه شما برابر هستش با : ۱۰ ساعت با میانگین هزینه مالی ۲،۰۰۰،۰۰۰  خب حالا سیستم بالاس و داره کارشو میکنه ( دقت کنید فقط کار میکنه با عملکرد کاری نداریم فعلا )حالا میخواید سیستم رو توسعه بدید و یک متد با در نظر گرفتن مورد &quot;پشته یا Stack &quot; یکی از موارد ساختمان داده هست پیاده سازی کنید . به طوری که متد فعلی شما روی داده قبلی شما که توسط ویژگی قبلی ایجاد شده تاثیر میزاره.خب حالا مورد چیه ؟ (مثال)دیتاتایپ های ایجاد شده در دیتابیس هیچکدوم استاندارد متد جدید شما رو نداره. مثلا یک مقداری که کلا قرار ۱ تا ۱۰ رو نگهداری کنه با فرمت چیه ذخیره شده ؟ یک ضرب المثل قدیمی هست که میگه هیچوقت نزار قدم بعدیتو حدس بزنن 😂باید بگم در وحشتناک ترین حالت این داده با مقدار varchar ذخیره میشه :|که بنظرم استاندارد بود از tinyint استفاده بشه چون فضای ذخیره سازی کمتری میگیره و استاندارد عدد هستش . شاید بگید بابا ۱۰۰ تا رکورد این حرف ها رو نداره . آره ولی یه جدول با ۱۰ میلیون رکورد ندید که کلا ۴ تا سطر داشت ولی ۵۰ گیگ شده بود :|حالا میخواید اصلاح کنید و فیچر جدیدم بنویسید.برای MR عزیزی که ویژگی اول نوشته و میخواد حالا ویژگی جدید با در نظر گرفتن بروز رسانی دیتاتایپش میشه :5 ساعت متد جدید + ۵ ساعت بروزرسانی دیتابیس و اصلاح بخش ها و مایگریت کردن (MR) هزینه زمانی با در نظر گرفتن افزایش حقوق احتمالی بعد از ۶ ماه ( ۳.۰۰۰.۰۰۰)حالا یه فرد جدید که با سیستم تازه اشنا شده و سورسو رو گرفته و میخواد این موضوع رو اصلاح کنه به دلیل آشنایی کمش و ضریب ریسکش ۱۰ ساعت متد جدید + ۲ ساعت سردرگمی در پروژه + ۱۰ ساعت پیدا کردن باگ و ریفکتور کردن ( با احتمال آسیب رساندن به بخش های دیگه ) مجموعا ۲۲ ساعت = هزینه تقریبی نیروی جدید (حداقل ۶.۰۰۰.۰۰۰) !!!حالا توسعه بد هم زمان شما رو اشغال کرده هم کیفیت کارو پایین اورده و ممکنه تاثیر بدتریم بزاره و هزینه بیشتری از نظر مالی رو دست شما گذاشته.ببینید این موارد که گفتم صرفا هزینه زمانی و مالی ریفکتور کردنه ! ریفکتور کردن از توسعه فیچر جدید جلوگیری میکنه و افزودن ویژگی های جدید رو دشوار میکنه. و حتی گاهی اوقات بوده که پرژوه ی میکروسرویسی داشتیم که ۱۳ تا سرویس بوده و نگهداری بسیار دشواری داشته !! چرااااا ؟ چون تحویل مهم تر از کارایی بوده !!!دوستان موقع کد زدن یا زمان دادن برای طراحی و توسعه سیستم دستتون رو کیبورد و موس قرار بدید و با ذهن باز و آگاه کار ببینید !یه دستتون توپ تنیس نباشه دستت دیگه اتون رو کیبورد !اشتباه کوچیک ما میتونه به قیمت جون چند میلیون آدم یا حتی از هم پاشیدن یک کسب و کار بشه !تو پست بعد سعی میکنم حتما نمونه های واقعی از سورس کد ها قرار بدم :)</description>
                <category>صالح فیضی</category>
                <author>صالح فیضی</author>
                <pubDate>Tue, 28 Nov 2023 15:13:11 +0330</pubDate>
            </item>
            </channel>
</rss>