Forwarded from Geek Alerts
آنتروپیک داره رو یه ویژگی به اسم هارمونی کار میکنه که اجازه میده یه دایرکتوری فایل رو مستقیم وصل کنی به Claude تا بتونه کل فایلهای پروژت رو بخونه.
علاوه بر هارمونی، یه قابلیت دیگه به اسم Compass هم در راهه که مثل دستیار تحقیقاتی مدلهای دیگه هست، البته باید قبل از اون Claude ویژگی دسترسی لحظهی به دیتای اینترنت رو اضافه کنه.
🔗 testingcatalog
🤓 @geekalerts
علاوه بر هارمونی، یه قابلیت دیگه به اسم Compass هم در راهه که مثل دستیار تحقیقاتی مدلهای دیگه هست، البته باید قبل از اون Claude ویژگی دسترسی لحظهی به دیتای اینترنت رو اضافه کنه.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
استارلینک در هند فعال میشود
بعد از ملاقات مودی با ایلان ماسک و تصمیم ترامپ برای اعمال تعرفههای تجاری روی هند، شرکتهای مخابراتی جیو و ایرتل که قبلا مخالف استارلینک بودن حالا از علاقشون برای همکاری با استارلینک در هند میگن.
یه دلیلی که تا الان مقاومت میکردن اینه که استارلینک به خاطر تعرفههای خوبش توی آفریقا باعث شده کلی اپراتورهای آفریقایی به مشکل بخورن و احتمال میدن توی هند هم تعرفههای پایینی داشته باشه، ولی به هر حال استارلینک راه خودش رو به هند باز کرد.
🔗 techmeme
🤓 @geekalerts
بعد از ملاقات مودی با ایلان ماسک و تصمیم ترامپ برای اعمال تعرفههای تجاری روی هند، شرکتهای مخابراتی جیو و ایرتل که قبلا مخالف استارلینک بودن حالا از علاقشون برای همکاری با استارلینک در هند میگن.
یه دلیلی که تا الان مقاومت میکردن اینه که استارلینک به خاطر تعرفههای خوبش توی آفریقا باعث شده کلی اپراتورهای آفریقایی به مشکل بخورن و احتمال میدن توی هند هم تعرفههای پایینی داشته باشه، ولی به هر حال استارلینک راه خودش رو به هند باز کرد.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geniuses Group (Omid Hekayati)
تبیین عمیق تر #معماری و #معمار - تو مو بینی و مجنون پیچش مو ( شعری از وحشی بافقی » فرهاد و شیرین)
در ادامه پست تبیین کلمه معماری و معمار، قبل از اینکه به کلمات بعدی مهم در این مسیر بپردازیم، قرار بر این شد که چند مثال عینی و تمرین ذهنی ارائه بدیم. چند مثال را اینجا مطرح کردیم. بیایید یک مثال دیگر نیز در حدود فرآیندهای سیستم را بررسی کنیم، که مشخص شود چرا در نوشته ابتدایی اشاره کردیم، معماری نرم افزار بر خلاف باور رایح صرفا تصمیمات کلان نمی باشد و شامل تصمیمات تمام فرآیندهای یک سیستم می شود.
قبل از اینکه وارد مثال بشیم چون ممکنه فراموش کرده باشید یا اصولا بدلیل عدم مطالعه، با موضوع دیگر که در این پست نیاز به اشاره هست و در دیگر پست ها مثل این نوشته به اشتباه جداسازی تیم ها یا تخصص هایی با نام فرانت و بک اشاره کردیم، پیشنهاد می کنم هم کمی آن موضوعات را مطالعه و هم قطعا کمی تامل و تفکر نمایید. خلاصه اینه که با نگاهی سیستمی متوجه می شویم که توسعه فرآیندها باید با نگاهی به کل سیستم انجام بشه، نه مدل های خطی و محدود و به نوعی ساده انگارانه و جداسازی شده بک و فرانت!
قطعا الگوی Retry را تابحال شنیده اید، الگویی که در ذات بدلیل فهم ناقض و بدتر از آن بدلیل فقدان #تفکر_سیستمی به شدت می تواند #تجربه_کاربر را دچار خدشه کند. به طور مثال اگر و صرفا اگر قرار به پیاده سازی این الگو باشد، عموما این الگو توسط فرآیندهای سیلو شده در تیم های بک اند انجام میپذیرد! دلیل این انتخاب هم عموما وقتی نیازمندی مطرح می شود، به دلیل عدم نگاه سیستمی و وجود مرزهای بوجود آمده (فرانت/بک) فرآیند به شکل صحیح قابلیت ترسیم حتی برای خود توسعه دهندگان ندارد. به دلیل همین فقدان ها یعنی نبود دانش موثر در تصمیم گیری ها، حتی شاید از پیاده سازی این الگو بدلیل پیچیدگی ها زیاد آن صرفنظر می شود و براحتی فراخوانی مجدد فرآیند را به شکل ناشیانه ای به کاربر منتقل می کنند. کاربر کلافه از فرآیندهای ناقض و خسته کننده، اگر با بازار رقابتی روبرو باشد قطعا به عنوان یک کاربر ناراضی سازمان را رها می کند و در اکثر اوقات حتی بدون داده مناسب برای سازمان و حتی خود فرد در خصوص چرایی این اتفاق، سازمان صرفا تماشاگر از دست دادن سهم بازار خواهد بود. هر چند متاسفانه در سازمان های وابسته به حکومت کشورها، این موضوع مهم بدلیل ذات انحصارگرایانه ارائه خدمت عملا منجر به ترک سازمان نمی شود ولی منجر به مشکلات اجتماعی مثل بالا رفتن سطح خشونت در جامعه خواهد شد. اتفاقی که متاسفانه در خیلی از اوقات صرفا با سرکوب معلول (خشم، ...)، بدون حل علت، به دنبال پنهان کردن آنها هستند. وقتی حرف از حل ریشه ای مشکلات می کنیم، نگاه خطی به هیچ عنوان موثر نمی باشد و قطعا نیاز به #تفکر_سیستمی خواهیم داشت.
بگذارید یک مثال واقعی هم که قبلا بهش برخورد کردم را اینجا مطرح کنیم. در نرم افزار ازکی (azki.com) وقتی قصد ثبت یک پلاک جدید دارید و سرویس مورد نظر به هر دلیلی در دسترس نباشد، به شکل عجیبی اول درخواست با استفاده از پروتکل HTTP با کد وضعیت 200 پاسخ داده می شود ولی در عملا در بدنه خطایی ارسال می شود با مضمون به زبان فارسی "در حال حاضر امکان ثبت پلاک وجود ندارد."! متاسفانه بدلیل error handleing ضعیف این نرم افزار، اولا کاربر اصلا متوجه نمی شود که خطایی رخ داده، چون خطایی نمایش داده نمی شود! مشخصا سرویس در سمت سرور قصد برقراری ارتباطی با سرورهای بیمه مرکزی یا پلیس راهور را دارد و بدلیل عدم پاسخگویی آنها، امکان ثبت مهیا نمی باشد. هر چند مشخص نیست. بدلیل ذات طولانی بودن مدت درخواست (16 ثانیه) می شود حدس زد که در سمت سرور حداقل چندبار تلاش (الگوی نام برده شده) اتفاق افتاده است! ولی آیا کاربر عادی 16 ثانیه صبر میدهد بدون اینکه بداند فرآیند در بدون چه وضعیتی می باشد؟ قطعا اگر داده مناسب جمع آوری شود براحتی می توان ادعا کرد بالای 50% از کاربرها به عنوان وجود مشکل به مرورگر دستور بارگزاری مجدد صفحه را می دهند!
قصد نیست در چند خط کوتاه پاسخ قطعی به موضوع بدهیم، ولی از دید شما بهتر نیست فرآیند به شکل عمومی تر دیده بشه و در سمت نرم افزار کاربر، در هر حال فرآیند اخذ اطلاعات و نمایش به عنوان پلاک جدید با یک وضعیت مثلا در حال بررسی نمایش داده شود و در فرآیندهای مستقل تر موضوع تایید پلاک انجام پذیرد؟ و موضوع الگوی تکرار بدون نیاز به دخالت کاربر در زمان مناسب تر انجام پذیرد؟ عموما وقتی در حال ایجاد یک خطا هستید به این فکر کنید که مخاطب خطا کیست؟ آیا اصولا نیاز به وجود این خطا می باشد یا نیاز به اصلاح یا ایجاد فرآیند درست دیگر در جهت حل مشکل در فرآیند. در کامنت های همین پست عکس های مرتبط با ازکی را قرار میدهم که ملموس تر باشد موضوع.
در ادامه پست تبیین کلمه معماری و معمار، قبل از اینکه به کلمات بعدی مهم در این مسیر بپردازیم، قرار بر این شد که چند مثال عینی و تمرین ذهنی ارائه بدیم. چند مثال را اینجا مطرح کردیم. بیایید یک مثال دیگر نیز در حدود فرآیندهای سیستم را بررسی کنیم، که مشخص شود چرا در نوشته ابتدایی اشاره کردیم، معماری نرم افزار بر خلاف باور رایح صرفا تصمیمات کلان نمی باشد و شامل تصمیمات تمام فرآیندهای یک سیستم می شود.
قبل از اینکه وارد مثال بشیم چون ممکنه فراموش کرده باشید یا اصولا بدلیل عدم مطالعه، با موضوع دیگر که در این پست نیاز به اشاره هست و در دیگر پست ها مثل این نوشته به اشتباه جداسازی تیم ها یا تخصص هایی با نام فرانت و بک اشاره کردیم، پیشنهاد می کنم هم کمی آن موضوعات را مطالعه و هم قطعا کمی تامل و تفکر نمایید. خلاصه اینه که با نگاهی سیستمی متوجه می شویم که توسعه فرآیندها باید با نگاهی به کل سیستم انجام بشه، نه مدل های خطی و محدود و به نوعی ساده انگارانه و جداسازی شده بک و فرانت!
قطعا الگوی Retry را تابحال شنیده اید، الگویی که در ذات بدلیل فهم ناقض و بدتر از آن بدلیل فقدان #تفکر_سیستمی به شدت می تواند #تجربه_کاربر را دچار خدشه کند. به طور مثال اگر و صرفا اگر قرار به پیاده سازی این الگو باشد، عموما این الگو توسط فرآیندهای سیلو شده در تیم های بک اند انجام میپذیرد! دلیل این انتخاب هم عموما وقتی نیازمندی مطرح می شود، به دلیل عدم نگاه سیستمی و وجود مرزهای بوجود آمده (فرانت/بک) فرآیند به شکل صحیح قابلیت ترسیم حتی برای خود توسعه دهندگان ندارد. به دلیل همین فقدان ها یعنی نبود دانش موثر در تصمیم گیری ها، حتی شاید از پیاده سازی این الگو بدلیل پیچیدگی ها زیاد آن صرفنظر می شود و براحتی فراخوانی مجدد فرآیند را به شکل ناشیانه ای به کاربر منتقل می کنند. کاربر کلافه از فرآیندهای ناقض و خسته کننده، اگر با بازار رقابتی روبرو باشد قطعا به عنوان یک کاربر ناراضی سازمان را رها می کند و در اکثر اوقات حتی بدون داده مناسب برای سازمان و حتی خود فرد در خصوص چرایی این اتفاق، سازمان صرفا تماشاگر از دست دادن سهم بازار خواهد بود. هر چند متاسفانه در سازمان های وابسته به حکومت کشورها، این موضوع مهم بدلیل ذات انحصارگرایانه ارائه خدمت عملا منجر به ترک سازمان نمی شود ولی منجر به مشکلات اجتماعی مثل بالا رفتن سطح خشونت در جامعه خواهد شد. اتفاقی که متاسفانه در خیلی از اوقات صرفا با سرکوب معلول (خشم، ...)، بدون حل علت، به دنبال پنهان کردن آنها هستند. وقتی حرف از حل ریشه ای مشکلات می کنیم، نگاه خطی به هیچ عنوان موثر نمی باشد و قطعا نیاز به #تفکر_سیستمی خواهیم داشت.
بگذارید یک مثال واقعی هم که قبلا بهش برخورد کردم را اینجا مطرح کنیم. در نرم افزار ازکی (azki.com) وقتی قصد ثبت یک پلاک جدید دارید و سرویس مورد نظر به هر دلیلی در دسترس نباشد، به شکل عجیبی اول درخواست با استفاده از پروتکل HTTP با کد وضعیت 200 پاسخ داده می شود ولی در عملا در بدنه خطایی ارسال می شود با مضمون به زبان فارسی "در حال حاضر امکان ثبت پلاک وجود ندارد."! متاسفانه بدلیل error handleing ضعیف این نرم افزار، اولا کاربر اصلا متوجه نمی شود که خطایی رخ داده، چون خطایی نمایش داده نمی شود! مشخصا سرویس در سمت سرور قصد برقراری ارتباطی با سرورهای بیمه مرکزی یا پلیس راهور را دارد و بدلیل عدم پاسخگویی آنها، امکان ثبت مهیا نمی باشد. هر چند مشخص نیست. بدلیل ذات طولانی بودن مدت درخواست (16 ثانیه) می شود حدس زد که در سمت سرور حداقل چندبار تلاش (الگوی نام برده شده) اتفاق افتاده است! ولی آیا کاربر عادی 16 ثانیه صبر میدهد بدون اینکه بداند فرآیند در بدون چه وضعیتی می باشد؟ قطعا اگر داده مناسب جمع آوری شود براحتی می توان ادعا کرد بالای 50% از کاربرها به عنوان وجود مشکل به مرورگر دستور بارگزاری مجدد صفحه را می دهند!
قصد نیست در چند خط کوتاه پاسخ قطعی به موضوع بدهیم، ولی از دید شما بهتر نیست فرآیند به شکل عمومی تر دیده بشه و در سمت نرم افزار کاربر، در هر حال فرآیند اخذ اطلاعات و نمایش به عنوان پلاک جدید با یک وضعیت مثلا در حال بررسی نمایش داده شود و در فرآیندهای مستقل تر موضوع تایید پلاک انجام پذیرد؟ و موضوع الگوی تکرار بدون نیاز به دخالت کاربر در زمان مناسب تر انجام پذیرد؟ عموما وقتی در حال ایجاد یک خطا هستید به این فکر کنید که مخاطب خطا کیست؟ آیا اصولا نیاز به وجود این خطا می باشد یا نیاز به اصلاح یا ایجاد فرآیند درست دیگر در جهت حل مشکل در فرآیند. در کامنت های همین پست عکس های مرتبط با ازکی را قرار میدهم که ملموس تر باشد موضوع.
Forwarded from Geniuses Group (Omid Hekayati)
حال اگر تمایل داشتید به الگوی مطرح شده و ارتباط موضوع با معماری نرم افزار و نقش (role) معمار (یا معماران همراه با معمار ارشد) در سازمان خود کمی تامل و تفکر کنید. به عنوان تمرین ذهنی پرسش های مناسب در این مسیر ایجاد کنید و سعی کنید پاسخ های محتمل را ایجاد کنید. با دیگر دوستان یا همکاران خود در خصوص پاسخ های مطرح شده گفت گو کنید تا پاسخ احتمالی مناسب را بیابید. اگر هم تمایل داشتید زیر همین پست سوال و جواب های خود را برای همفکری بیشتر با دیگر اعضا ثبت نمایید.
Telegram
Geniuses Group
#معماری و #معمار
بنظر میرسه تعریف خیلی خوب و کوتاه از معماری میشه "فرآیندهای طراحی و ساخت سیستم ها می باشد." و معمار هم قاعدتا میشه "فرد متخصص در حوزه #تصمیم_گیری های مرتبط با معماری یک سیستم"
بنظر تعریف ها جامع و کامل هستند، ولی چرا در عمل، تصمیم گیری های…
بنظر میرسه تعریف خیلی خوب و کوتاه از معماری میشه "فرآیندهای طراحی و ساخت سیستم ها می باشد." و معمار هم قاعدتا میشه "فرد متخصص در حوزه #تصمیم_گیری های مرتبط با معماری یک سیستم"
بنظر تعریف ها جامع و کامل هستند، ولی چرا در عمل، تصمیم گیری های…
Forwarded from Geniuses Group (Omid Hekayati)
تبیین عمیق تر #معماری و #معمار
در ادامه پست تبیین کلمه معماری و معمار، و چند مثال در این پست، بیایید مثالی در حدود فرآیندهای پایین تر را بررسی کنیم، که مشخص شود چرا معماری نرم افزار بر خلاف باور رایح صرفا تصمیمات کلان نمی باشد و شامل تمام فرآیندهای یک سیستم می شود.
قبل از اینکه وارد مثال بشیم، موضوعی در دیگر پست ها مثل این نوشته بهش همیشه اشاره می کنیم که به اشتباه جداسازی تیم ها یا تخصص هایی با نام فرانت و بک اشاره می شود، پیشنهاد می کنم کمی آن موضوعات را مطالعه، تامل و تفکر نمایید. با مثال این نگارش بیشتر موضوع واضح می شود که توسعه فرآیندها باید با نگاهی به کل سیستم انجام بشه، نه مدل های خطی و محدود و به نوعی ساده انگارانه و جداسازی شده مثل تیم محصول، بک و فرانت!
احتمالا با الگوی Retry آشنا هستید، الگویی که در ذات بدلیل فهم ناقض و فقدان #تفکر_سیستمی می تواند #تجربه_کاربر را دچار خدشه کند. به طور مثال حتی اگر قرار به پیاده سازی این الگو باشد، عموما این الگو توسط فرآیندهای سیلو شده در تیم های بک اند انجام میپذیرد! بدلیل عدم نگاه سیستمی و وجود مرزهای بوجود آمده (فرانت/بک) فرآیند به شکل صحیح قابلیت ترسیم حتی برای خود توسعه دهندگان نیز ندارد. به دلیل همین فقدان ها یعنی نبود دانش موثر در تصمیم گیری ها، حتی شاید از پیاده سازی این الگو بدلیل پیچیدگی ها زیاد آن صرفنظر می شود و براحتی فراخوانی مجدد فرآیند را به شکل ناشیانه ای به کاربر منتقل می کنند. کاربر کلافه از فرآیندهای ناقض و خسته کننده، اگر با بازار رقابتی روبرو باشد قطعا به عنوان یک کاربر ناراضی سازمان را رها می کند و در اکثر اوقات حتی بدون داده مناسب برای سازمان و حتی خود فرد در خصوص چرایی این اتفاق، سازمان صرفا تماشاگر از دست دادن سهم بازار خواهد بود. هر چند متاسفانه در سازمان های وابسته به حکومت کشورها، این موضوع مهم بدلیل ذات انحصارگرایانه ارائه خدمت عملا منجر به ترک سازمان نمی شود ولی منجر به مشکلات اجتماعی مثل بالا رفتن سطح خشونت در جامعه خواهد شد. اتفاقی که متاسفانه در خیلی از اوقات صرفا با سرکوب معلول (خشم، ...)، بدون حل علت، به دنبال پنهان کردن آنها هستند. وقتی حرف از حل ریشه ای مشکلات می کنیم، نگاه خطی به هیچ عنوان موثر نمی باشد و قطعا نیاز به #تفکر_سیستمی خواهیم داشت.
بگذارید یک مثال واقعی هم که قبلا بهش برخورد کردم را اینجا مطرح کنیم. در نرم افزار ازکی (azki.com) وقتی قصد ثبت یک پلاک جدید دارید و سرویس مورد نظر به هر دلیلی در دسترس نباشد، به شکل عجیبی اول درخواست با استفاده از پروتکل HTTP با کد وضعیت 200 پاسخ داده می شود ولی در عملا در بدنه خطایی ارسال می شود با مضمون به زبان فارسی "در حال حاضر امکان ثبت پلاک وجود ندارد."! متاسفانه بدلیل error handleing ضعیف این نرم افزار، اولا کاربر اصلا متوجه نمی شود که خطایی رخ داده، چون خطایی نمایش داده نمی شود! مشخصا سرویس در سمت سرور قصد برقراری ارتباطی با سرورهای بیمه مرکزی یا پلیس راهور را دارد و بدلیل عدم پاسخگویی آنها، امکان ثبت مهیا نمی باشد. هر چند مشخص نیست. بدلیل ذات طولانی بودن مدت درخواست (16 ثانیه) می شود حدس زد که در سمت سرور حداقل چندبار تلاش (الگوی نام برده شده) اتفاق افتاده است! ولی آیا کاربر عادی 16 ثانیه صبر میدهد بدون اینکه بداند فرآیند در بدون چه وضعیتی می باشد؟ قطعا اگر داده مناسب جمع آوری شود براحتی می توان ادعا کرد بالای 50% از کاربرها به عنوان وجود مشکل به مرورگر دستور بارگزاری مجدد صفحه را می دهند!
قصد نیست در چند خط کوتاه پاسخ قطعی به موضوع بدهیم، ولی از دید شما بهتر نیست فرآیند به شکل عمومی تر دیده بشه و در سمت نرم افزار کاربر، در هر حال فرآیند اخذ اطلاعات و نمایش به عنوان پلاک جدید با یک وضعیت مثلا در حال بررسی نمایش داده شود و در فرآیندهای مستقل تر موضوع تایید پلاک انجام پذیرد؟ و موضوع الگوی تکرار بدون نیاز به دخالت کاربر در زمان مناسب تر انجام پذیرد؟ عموما وقتی در حال ایجاد یک خطا هستید به این فکر کنید که مخاطب خطا کیست؟ آیا اصولا نیاز به وجود این خطا می باشد یا نیاز به اصلاح یا ایجاد فرآیند درست دیگر در جهت حل مشکل در فرآیند. در کامنت های همین پست عکس های مرتبط با ازکی را قرار میدهم که ملموس تر باشد موضوع.
حال اگر تمایل داشتید به الگوی مطرح شده و ارتباط موضوع با معماری نرم افزار و نقش (role) معمار (یا معماران همراه با معمار ارشد) در سازمان خود کمی تامل و تفکر کنید. به عنوان تمرین ذهنی پرسش های مناسب در این مسیر ایجاد کنید و سعی کنید پاسخ های محتمل را ایجاد کنید. با دیگر دوستان یا همکاران خود در خصوص پاسخ های مطرح شده گفت گو کنید تا پاسخ احتمالی مناسب را بیابید. اگر هم تمایل داشتید زیر همین پست سوال و جواب های خود را برای همفکری بیشتر با دیگر اعضا ثبت نمایید.
در ادامه پست تبیین کلمه معماری و معمار، و چند مثال در این پست، بیایید مثالی در حدود فرآیندهای پایین تر را بررسی کنیم، که مشخص شود چرا معماری نرم افزار بر خلاف باور رایح صرفا تصمیمات کلان نمی باشد و شامل تمام فرآیندهای یک سیستم می شود.
قبل از اینکه وارد مثال بشیم، موضوعی در دیگر پست ها مثل این نوشته بهش همیشه اشاره می کنیم که به اشتباه جداسازی تیم ها یا تخصص هایی با نام فرانت و بک اشاره می شود، پیشنهاد می کنم کمی آن موضوعات را مطالعه، تامل و تفکر نمایید. با مثال این نگارش بیشتر موضوع واضح می شود که توسعه فرآیندها باید با نگاهی به کل سیستم انجام بشه، نه مدل های خطی و محدود و به نوعی ساده انگارانه و جداسازی شده مثل تیم محصول، بک و فرانت!
احتمالا با الگوی Retry آشنا هستید، الگویی که در ذات بدلیل فهم ناقض و فقدان #تفکر_سیستمی می تواند #تجربه_کاربر را دچار خدشه کند. به طور مثال حتی اگر قرار به پیاده سازی این الگو باشد، عموما این الگو توسط فرآیندهای سیلو شده در تیم های بک اند انجام میپذیرد! بدلیل عدم نگاه سیستمی و وجود مرزهای بوجود آمده (فرانت/بک) فرآیند به شکل صحیح قابلیت ترسیم حتی برای خود توسعه دهندگان نیز ندارد. به دلیل همین فقدان ها یعنی نبود دانش موثر در تصمیم گیری ها، حتی شاید از پیاده سازی این الگو بدلیل پیچیدگی ها زیاد آن صرفنظر می شود و براحتی فراخوانی مجدد فرآیند را به شکل ناشیانه ای به کاربر منتقل می کنند. کاربر کلافه از فرآیندهای ناقض و خسته کننده، اگر با بازار رقابتی روبرو باشد قطعا به عنوان یک کاربر ناراضی سازمان را رها می کند و در اکثر اوقات حتی بدون داده مناسب برای سازمان و حتی خود فرد در خصوص چرایی این اتفاق، سازمان صرفا تماشاگر از دست دادن سهم بازار خواهد بود. هر چند متاسفانه در سازمان های وابسته به حکومت کشورها، این موضوع مهم بدلیل ذات انحصارگرایانه ارائه خدمت عملا منجر به ترک سازمان نمی شود ولی منجر به مشکلات اجتماعی مثل بالا رفتن سطح خشونت در جامعه خواهد شد. اتفاقی که متاسفانه در خیلی از اوقات صرفا با سرکوب معلول (خشم، ...)، بدون حل علت، به دنبال پنهان کردن آنها هستند. وقتی حرف از حل ریشه ای مشکلات می کنیم، نگاه خطی به هیچ عنوان موثر نمی باشد و قطعا نیاز به #تفکر_سیستمی خواهیم داشت.
بگذارید یک مثال واقعی هم که قبلا بهش برخورد کردم را اینجا مطرح کنیم. در نرم افزار ازکی (azki.com) وقتی قصد ثبت یک پلاک جدید دارید و سرویس مورد نظر به هر دلیلی در دسترس نباشد، به شکل عجیبی اول درخواست با استفاده از پروتکل HTTP با کد وضعیت 200 پاسخ داده می شود ولی در عملا در بدنه خطایی ارسال می شود با مضمون به زبان فارسی "در حال حاضر امکان ثبت پلاک وجود ندارد."! متاسفانه بدلیل error handleing ضعیف این نرم افزار، اولا کاربر اصلا متوجه نمی شود که خطایی رخ داده، چون خطایی نمایش داده نمی شود! مشخصا سرویس در سمت سرور قصد برقراری ارتباطی با سرورهای بیمه مرکزی یا پلیس راهور را دارد و بدلیل عدم پاسخگویی آنها، امکان ثبت مهیا نمی باشد. هر چند مشخص نیست. بدلیل ذات طولانی بودن مدت درخواست (16 ثانیه) می شود حدس زد که در سمت سرور حداقل چندبار تلاش (الگوی نام برده شده) اتفاق افتاده است! ولی آیا کاربر عادی 16 ثانیه صبر میدهد بدون اینکه بداند فرآیند در بدون چه وضعیتی می باشد؟ قطعا اگر داده مناسب جمع آوری شود براحتی می توان ادعا کرد بالای 50% از کاربرها به عنوان وجود مشکل به مرورگر دستور بارگزاری مجدد صفحه را می دهند!
قصد نیست در چند خط کوتاه پاسخ قطعی به موضوع بدهیم، ولی از دید شما بهتر نیست فرآیند به شکل عمومی تر دیده بشه و در سمت نرم افزار کاربر، در هر حال فرآیند اخذ اطلاعات و نمایش به عنوان پلاک جدید با یک وضعیت مثلا در حال بررسی نمایش داده شود و در فرآیندهای مستقل تر موضوع تایید پلاک انجام پذیرد؟ و موضوع الگوی تکرار بدون نیاز به دخالت کاربر در زمان مناسب تر انجام پذیرد؟ عموما وقتی در حال ایجاد یک خطا هستید به این فکر کنید که مخاطب خطا کیست؟ آیا اصولا نیاز به وجود این خطا می باشد یا نیاز به اصلاح یا ایجاد فرآیند درست دیگر در جهت حل مشکل در فرآیند. در کامنت های همین پست عکس های مرتبط با ازکی را قرار میدهم که ملموس تر باشد موضوع.
حال اگر تمایل داشتید به الگوی مطرح شده و ارتباط موضوع با معماری نرم افزار و نقش (role) معمار (یا معماران همراه با معمار ارشد) در سازمان خود کمی تامل و تفکر کنید. به عنوان تمرین ذهنی پرسش های مناسب در این مسیر ایجاد کنید و سعی کنید پاسخ های محتمل را ایجاد کنید. با دیگر دوستان یا همکاران خود در خصوص پاسخ های مطرح شده گفت گو کنید تا پاسخ احتمالی مناسب را بیابید. اگر هم تمایل داشتید زیر همین پست سوال و جواب های خود را برای همفکری بیشتر با دیگر اعضا ثبت نمایید.
Telegram
Geniuses Group
#معماری و #معمار
بنظر میرسه تعریف خیلی خوب و کوتاه از معماری میشه "فرآیندهای طراحی و ساخت سیستم ها می باشد." و معمار هم قاعدتا میشه "فرد متخصص در حوزه #تصمیم_گیری های مرتبط با معماری یک سیستم"
بنظر تعریف ها جامع و کامل هستند، ولی چرا در عمل، تصمیم گیری های…
بنظر میرسه تعریف خیلی خوب و کوتاه از معماری میشه "فرآیندهای طراحی و ساخت سیستم ها می باشد." و معمار هم قاعدتا میشه "فرد متخصص در حوزه #تصمیم_گیری های مرتبط با معماری یک سیستم"
بنظر تعریف ها جامع و کامل هستند، ولی چرا در عمل، تصمیم گیری های…
🔥1
Forwarded from محتوای آزاد سهراب
امروز تولد ریچارد متیو استالمن بنیانگذار پروژه گنو و آغاز کننده جنبش نرمافزار آزاد هستش.
او همچنین اولین کسی است که ایده یک دانشنامه تمام آزاد مثل ویکیپدیا را داد.
@SohrabContents
او همچنین اولین کسی است که ایده یک دانشنامه تمام آزاد مثل ویکیپدیا را داد.
@SohrabContents
Forwarded from Geek Alerts
حذف متن روی عکس با Gemini
در کنار ساخت تصاویر هر ادیتی بخواید میتونید روی عکس بدید فقط با یه پرامپت. رایگان هست و میتونید کارهایی مثل ویرایش عکسهارو از این پس به Gemini بسپارید.
🔗 https://aistudio.google.com
🤓 @geekalerts
در کنار ساخت تصاویر هر ادیتی بخواید میتونید روی عکس بدید فقط با یه پرامپت. رایگان هست و میتونید کارهایی مثل ویرایش عکسهارو از این پس به Gemini بسپارید.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from کانال اطلاعرسانی توزیع پارچ (Sohrab @sohrab:bsd.cafe)
Forwarded from DevTwitter | توییت برنامه نویسی
یه خبر خوب واسه Javascript بلدها:
اگه میخواید واسه خودتون یه وبسایت یا اپ ساده پیاده سازی کنید نیازی به هزینه هاست و سرور ندارید.
کلادفلر بهترین سرویس رو رایگان و بدون تحریم در اختیارتون گذاشته!
اگه درست پیاده سازی کنید سرعتش فوق العاده است
تقریبا از همه کتابخونه های سمت فرانت پشتیبانی میکنه من با Nextjs امتحان کردم عالی بود لینک مستندات رو میذارم تا امتحان کنید. حتما تجربیاتتون رو به اشتراک بذارید:
https://developers.cloudflare.com/pages/framework-guides/
تنها چیزی که لازم دارید یه اکانت کلادفلر و ابزار کامندلاین wrangler هست.
اگه نیاز به بکاند و دیتابیس ساده دارید، میتونید از worker های کلادفلر استفاده کنید.
من برای بکاند خودم یه سرور trpc با دیتابیس D1 (SQLite) پیاده سازی کردم. برای پیاده سازی کارهای ساده خیلی خوبه.
کلی Integrations خوب هم داره که هنوز تست نکردم. ولی میتونید ورکر خودتون رو از طریق زیرساخت کلادفلر به سرویس های لبه مثل:
Neon Database (managed serverless PostgreSQL)
Supabase (open source Firebase alternative)
و کلی ابزار دیگه که همگی پلن های رایگان دارن.
https://developers.cloudflare.com/workers/
مهمتر از همه اینه که استفاده ازش خیلی آسونه، مستندات خیلی ساده و مثال محوره و کلی ابزار دیگه هم در اختیارتون قرار میده.
@DevTwitter | <Ali Ghorbani/>
اگه میخواید واسه خودتون یه وبسایت یا اپ ساده پیاده سازی کنید نیازی به هزینه هاست و سرور ندارید.
کلادفلر بهترین سرویس رو رایگان و بدون تحریم در اختیارتون گذاشته!
اگه درست پیاده سازی کنید سرعتش فوق العاده است
تقریبا از همه کتابخونه های سمت فرانت پشتیبانی میکنه من با Nextjs امتحان کردم عالی بود لینک مستندات رو میذارم تا امتحان کنید. حتما تجربیاتتون رو به اشتراک بذارید:
https://developers.cloudflare.com/pages/framework-guides/
تنها چیزی که لازم دارید یه اکانت کلادفلر و ابزار کامندلاین wrangler هست.
اگه نیاز به بکاند و دیتابیس ساده دارید، میتونید از worker های کلادفلر استفاده کنید.
من برای بکاند خودم یه سرور trpc با دیتابیس D1 (SQLite) پیاده سازی کردم. برای پیاده سازی کارهای ساده خیلی خوبه.
کلی Integrations خوب هم داره که هنوز تست نکردم. ولی میتونید ورکر خودتون رو از طریق زیرساخت کلادفلر به سرویس های لبه مثل:
Neon Database (managed serverless PostgreSQL)
Supabase (open source Firebase alternative)
و کلی ابزار دیگه که همگی پلن های رایگان دارن.
https://developers.cloudflare.com/workers/
مهمتر از همه اینه که استفاده ازش خیلی آسونه، مستندات خیلی ساده و مثال محوره و کلی ابزار دیگه هم در اختیارتون قرار میده.
@DevTwitter | <Ali Ghorbani/>
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
خیلی جدی دولت فرانسه یه ابزار ساخته به اسم Docs که رقیبی اوپنسورس برای Notion و Outline به حساب میاد. هدف اینه که یه محیط کاربری ساده برای نوشتن، یادداشتبرداری و به اشتراک گذاشتن اسناد باشه. این ابزار امکاناتی مثل ویرایش همزمان، کنترل دسترسی و خروجی با فرمتهای مختلف داره.
طراحیش با Next.js و Django و BlockNote.js هست و میتونه با AI یادداشتهارو هم خلاصه کنه. اگه علاقهمند بودید میشه باهاش سایت هم ساخت، یعنی یه سایت آنلاین خصوصی برای تیم یا شخص خودتون داشته باشید و تو دستگاههای مختلف ازش استفاده کنید همچنین که دیتاهاتون رو پیش خودتون نگهدارید.
🔗 github
🤓 @geekalerts
طراحیش با Next.js و Django و BlockNote.js هست و میتونه با AI یادداشتهارو هم خلاصه کنه. اگه علاقهمند بودید میشه باهاش سایت هم ساخت، یعنی یه سایت آنلاین خصوصی برای تیم یا شخص خودتون داشته باشید و تو دستگاههای مختلف ازش استفاده کنید همچنین که دیتاهاتون رو پیش خودتون نگهدارید.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from PhiloLearn | فیلولرن
دوستان بعد از مدت ها قراره امشب یه ویدیوی یوتیوب برسه به دستتون.
خیلی خیلی ممنون میشم اگر حمایت کنید 😁😁
https://youtube.com/c/@PhiloLearn
خیلی خیلی ممنون میشم اگر حمایت کنید 😁😁
https://youtube.com/c/@PhiloLearn
YouTube
PhiloLearn
یک یادگیری با شوق و ذوق
راستش من تمام سعیم رو میکنم که هر چیزی که بلدم و یاد میگیرم رو با بقیه به اشتراک بذارم، این چنل همین راستاست
خوشحال میشم که به جمع ما بپیوند
راستش من تمام سعیم رو میکنم که هر چیزی که بلدم و یاد میگیرم رو با بقیه به اشتراک بذارم، این چنل همین راستاست
خوشحال میشم که به جمع ما بپیوند
Forwarded from DevTwitter | توییت برنامه نویسی
تغییرات جدید دارت 3.7
نسخه Dart 3.7 با ویژگیها و بهبودهای جدیدی معرفی شده که هدف آن ارتقاء تجربه توسعهدهندگان و سازگاری بهتر با استانداردهای وب است. در این نسخه، تمرکز اصلی بر روی بهبود عملکرد، تغییرات در نحوه فرمتدهی کد، و پشتیبانی از WebAssembly است.
https://code-news.com/p/dart-3-7
@DevTwitter | <Code News/>
نسخه Dart 3.7 با ویژگیها و بهبودهای جدیدی معرفی شده که هدف آن ارتقاء تجربه توسعهدهندگان و سازگاری بهتر با استانداردهای وب است. در این نسخه، تمرکز اصلی بر روی بهبود عملکرد، تغییرات در نحوه فرمتدهی کد، و پشتیبانی از WebAssembly است.
https://code-news.com/p/dart-3-7
@DevTwitter | <Code News/>
Forwarded from IRCF | اینترنت آزاد برای همه
اکانت ویکی تجربه که به بازنشر تجربههای کاری شرکتها میپردازه، از فیلترشدن وبسایت tajrobe.wiki خبر داده.
دولت بارها اعلام کرده که قدمهای مثبتی در راستای کاهش فیلترینگ و محدودیتهای اینترنتی برداشته، با اینحال این سیاستها همچنان جای خودشون رو حفظ کردن و وعدههای پزشکیان همونطور که از ابتدا مشخص بود، محقق نشده باقی مونده!
#فرق_میکنه_کی_رییس_جمهور_باشه
#فیلترنت
🔍 ircf.space
@ircfspace
دولت بارها اعلام کرده که قدمهای مثبتی در راستای کاهش فیلترینگ و محدودیتهای اینترنتی برداشته، با اینحال این سیاستها همچنان جای خودشون رو حفظ کردن و وعدههای پزشکیان همونطور که از ابتدا مشخص بود، محقق نشده باقی مونده!
#فرق_میکنه_کی_رییس_جمهور_باشه
#فیلترنت
🔍 ircf.space
@ircfspace
Forwarded from DevTwitter | توییت برنامه نویسی
#بدرد
تو این پست میخوام 4 تا کلاینت برای کار کردن با دیتابیس رو معرفی کنم که کار رو واقعا راحت تر میکنن. همه کلاینت ها از هر دو سیستم عامل windows و Linux پشتیبانی میکنن.
1. Antares:
- رابط کاربری مدرن و زیبایی داره
- پشتیبانی از قابلیت Backup/Restore
- پشتیبانی از MySQL, PostgreSQL و Firebird SQL
- پشتیبانی از SSH و اتصال به سرور
لینک ریپازیتوری:
https://github.com/antares-sql/antares
2. DbGate:
- پشتیبانی از 10 دیتابیس مختلف
- قابلیت Export/Import دیتابیس
- قابلیت اتصال به سرور از طریق SSH
- پشتیبانی از Extensionها و Pluginها
- نمایش History از کوئری ها و Tabها
- رابط کاربریش تعریف چندانی نداره
لینک ریپازیتوری:
https://github.com/dbgate/dbgate/
3. Beekeeper
- رابط کاربری عالی
- امکان Save کوئری های خاص
- قابلیت History برای کوئری های اجرا شده
- پشتیبانی از 16 دیتابیس مختلف
- پشتیبانی از SSH برای اتصال به سرور
- قابلیت Backup/Restore و بعضی دیتابیس ها نیازمند لایسنس هستن
لینک ریپازیتوری:
https://github.com/beekeeper-studio/beekeeper-studio/
4. Another Redis Desktop Manager
- رابط کاربری ساده
- پشتیبانی از Redis
- قابلیت Auto Refresh
- قابلیت اتصال به سرور از طریق SSH
- ارائه گزارشات و اطلاعات تخصصی از سرور Redis
لینک ریپازیتوری:
https://github.com/qishibo/AnotherRedisDesktopManager
@DevTwitter | <Mohammad Mortazavi/>
تو این پست میخوام 4 تا کلاینت برای کار کردن با دیتابیس رو معرفی کنم که کار رو واقعا راحت تر میکنن. همه کلاینت ها از هر دو سیستم عامل windows و Linux پشتیبانی میکنن.
1. Antares:
- رابط کاربری مدرن و زیبایی داره
- پشتیبانی از قابلیت Backup/Restore
- پشتیبانی از MySQL, PostgreSQL و Firebird SQL
- پشتیبانی از SSH و اتصال به سرور
لینک ریپازیتوری:
https://github.com/antares-sql/antares
2. DbGate:
- پشتیبانی از 10 دیتابیس مختلف
- قابلیت Export/Import دیتابیس
- قابلیت اتصال به سرور از طریق SSH
- پشتیبانی از Extensionها و Pluginها
- نمایش History از کوئری ها و Tabها
- رابط کاربریش تعریف چندانی نداره
لینک ریپازیتوری:
https://github.com/dbgate/dbgate/
3. Beekeeper
- رابط کاربری عالی
- امکان Save کوئری های خاص
- قابلیت History برای کوئری های اجرا شده
- پشتیبانی از 16 دیتابیس مختلف
- پشتیبانی از SSH برای اتصال به سرور
- قابلیت Backup/Restore و بعضی دیتابیس ها نیازمند لایسنس هستن
لینک ریپازیتوری:
https://github.com/beekeeper-studio/beekeeper-studio/
4. Another Redis Desktop Manager
- رابط کاربری ساده
- پشتیبانی از Redis
- قابلیت Auto Refresh
- قابلیت اتصال به سرور از طریق SSH
- ارائه گزارشات و اطلاعات تخصصی از سرور Redis
لینک ریپازیتوری:
https://github.com/qishibo/AnotherRedisDesktopManager
@DevTwitter | <Mohammad Mortazavi/>
Forwarded from Gopher Academy
اینجا یه مجموع helper از کامند های کار کرد با فایل go.mod رو براتون گذاشتم 👇👇👇
https://t.iss.one/gopher_academy/3672
https://t.iss.one/gopher_academy/3673
➖➖➖➖➖➖➖➖
https://t.iss.one/addlist/KpzXaiSpKENkMGM0
https://t.iss.one/gopher_academy/3672
https://t.iss.one/gopher_academy/3673
➖➖➖➖➖➖➖➖
https://t.iss.one/addlist/KpzXaiSpKENkMGM0
Forwarded from Ditty | دیتی
درود دوستان و همراهان خوب دیتی 👋
- من بعد از مدت زیادی که بسیار مشغله داشتم برگشتم و قصد دارم طبق روال قبل مرتب فعالیت داشته باشم و براتون چیزهای خوب خوب بنویسم
- مدتیه که پستهای آموزشی ریاکت رو دارم منتشر میکنم که شامل پستهای آموزشی کوتاه میشه حاصل تجارب شخصی من از محیط کاری و همچنین مصاحبهها هست، و تا الان ۱۴ قسمت از اون منتشر شده و البته که قسمتهای جذاب زیادی از اون هم توی راهه 💥
- پستها رو میتونید از اینجا ببینید:
https://ditty.ir/series/react-101
- این پستها رو طوری نوشتم که بتونید ازشون برای آمادگی مصاحبهها استفاده کنین
#react
- من بعد از مدت زیادی که بسیار مشغله داشتم برگشتم و قصد دارم طبق روال قبل مرتب فعالیت داشته باشم و براتون چیزهای خوب خوب بنویسم
- مدتیه که پستهای آموزشی ریاکت رو دارم منتشر میکنم که شامل پستهای آموزشی کوتاه میشه حاصل تجارب شخصی من از محیط کاری و همچنین مصاحبهها هست، و تا الان ۱۴ قسمت از اون منتشر شده و البته که قسمتهای جذاب زیادی از اون هم توی راهه 💥
- پستها رو میتونید از اینجا ببینید:
https://ditty.ir/series/react-101
- این پستها رو طوری نوشتم که بتونید ازشون برای آمادگی مصاحبهها استفاده کنین
#react
دیتی | Ditty.ir
ریاکت ۱۰۱
این مجموعه پستها شامل نکات و تجربیات ریاکتی پرکاربرد هست که اونها رو به شکل مختصر (و به سبک سوالات مصاحبه) براتون به اشتراک میذارم. بهطوری که بتونین از اونها توی مصاحبهها استفاده کنین.
Forwarded from SoniaCircuit (Sony ARM64v8)
https://odin-lang.org/
دقیقا مثل ترکیب rust , Go میمونه
دقیقا مثل ترکیب rust , Go میمونه
odin-lang.org
Odin Programming Language
Forwarded from ArshA.LRFE
✔️ چرا باید پایتون یاد بگیریم؟ - قسمت اول دوره پایتون
🔗 https://youtu.be/dyPjSyKgdwg 🔗
خب بعد از کلی تلاش و زحمت و درگیری با اینترنت و اذیت کردن کلی آدم سر راهم تونستم که ویدیو رو منتشر کنم.
این ویدیو قراره یه مقدمه ای برای یک دوره ی بشدت جذاب از من باشه (یکم تعریف از خود). امیدوارم شما هم همونقدری که من برای این پروژه هیجان دارم، هیجان داشته باشید.
🔗 https://youtu.be/dyPjSyKgdwg🔗
پ.ن: دونیت کار پسندیده و زیباییه😁😂
#آموزش_پایتون #Python
#ویدیو
#یوتیوب
💙💙 @PhiloLearn💙💙
🔗 https://youtu.be/dyPjSyKgdwg 🔗
خب بعد از کلی تلاش و زحمت و درگیری با اینترنت و اذیت کردن کلی آدم سر راهم تونستم که ویدیو رو منتشر کنم.
این ویدیو قراره یه مقدمه ای برای یک دوره ی بشدت جذاب از من باشه (یکم تعریف از خود). امیدوارم شما هم همونقدری که من برای این پروژه هیجان دارم، هیجان داشته باشید.
🔗 https://youtu.be/dyPjSyKgdwg🔗
پ.ن: دونیت کار پسندیده و زیباییه😁😂
#آموزش_پایتون #Python
#ویدیو
#یوتیوب
💙💙 @PhiloLearn💙💙