Forwarded from Python Hints
چون زیاد سوال شد :
روی اسم کانال بزنید و بخش Posts شامل تمام کتابهای معرفی شده هست
استوری بودند.
روی اسم کانال بزنید و بخش Posts شامل تمام کتابهای معرفی شده هست
استوری بودند.
Forwarded from DevTwitter | توییت برنامه نویسی
استفاده کنید هم باحاله هم کاربردی
داستانش چیه :
KIMI
یه مدل زبانی جدید چینیه که میتونه همزمان تا 50 فایل رو بررسی کنه و متن تا 200,000 توکن رو پردازش کنه. حتی ظاهرشم هم خیلی شبیه دیپسیک هستش
لینک:
https://kimi.ai
@DevTwitter | <Mr.programmer/>
داستانش چیه :
KIMI
یه مدل زبانی جدید چینیه که میتونه همزمان تا 50 فایل رو بررسی کنه و متن تا 200,000 توکن رو پردازش کنه. حتی ظاهرشم هم خیلی شبیه دیپسیک هستش
لینک:
https://kimi.ai
@DevTwitter | <Mr.programmer/>
Forwarded from CleverDevs (Mammad)
Forwarded from (𝙑𝙞𝙥𝙚𝙧 𝘿𝙞𝙨𝙘𝙪𝙨𝙨𝙞𝙤𝙣)™️ (Admin 10)
۲۶ اسفند۱۳۷۶ اتوبوس حامل نخبگان ریاضی شرکتکننده در مسابقات ریاضی در راه بازگشت به تهران در جاده انديمشک-پلدختر به دره سقوط كرد.
در این سانحه ۲ راننده و ۷ نفر از دانشجویان نخبه رياضی دانشگاههای شريف و تهران كشته شدند.
مریم میرزاخانی یکی از بازماندگان این فاجعه بود.
روحشان شاد🙏
در این سانحه ۲ راننده و ۷ نفر از دانشجویان نخبه رياضی دانشگاههای شريف و تهران كشته شدند.
مریم میرزاخانی یکی از بازماندگان این فاجعه بود.
روحشان شاد🙏
Forwarded from Geek Alerts
بایدو یه مدل استدلالی داده به اسم Ernie X1 که میگن خروجی تو سطح R1 از دیپسیک داره با این تفاوت که نصف قیمت اون هست، احتمالا میشه ارزونترین مدل استدلالی توی دنیا.
یه مدل دیگه هم دادن به اسم Ernie 4.5 که قرار هست از ماه جون همین امسال به صورت اوپنسورس هم منتشرش کنن، برای دسترسی به API های این ۲ مدل میشه از پلتفرم Qianfan استفاده کرد.
🔗 nasdaq
🤓 @geekalerts
یه مدل دیگه هم دادن به اسم Ernie 4.5 که قرار هست از ماه جون همین امسال به صورت اوپنسورس هم منتشرش کنن، برای دسترسی به API های این ۲ مدل میشه از پلتفرم Qianfan استفاده کرد.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
مایکروسافت از Copilot for Gaming رونمایی کرد
میشه دستیار بازی کردن شما داخل Xbox، مثلاً، توی یه دمو مربوط به Minecraft نشون دادن که راهنمایی میکنه چجوری بازی کنی یا ابزارهارو چطوری بسازی.
خبر خوب اینکه همین فروردین اولین نسخههای آزمایشی ازش توی Xbox Insiders منتشر میشه و ماههای آینده کاربران Xbox میتونن ازش استفاده کنن.
🔗 techspot
🤓 @geekalerts
میشه دستیار بازی کردن شما داخل Xbox، مثلاً، توی یه دمو مربوط به Minecraft نشون دادن که راهنمایی میکنه چجوری بازی کنی یا ابزارهارو چطوری بسازی.
خبر خوب اینکه همین فروردین اولین نسخههای آزمایشی ازش توی Xbox Insiders منتشر میشه و ماههای آینده کاربران Xbox میتونن ازش استفاده کنن.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Gopher Academy
🔵 عنوان مقاله
Keep Postgres Maintenance from Slowing Down Your Go App
🟢 خلاصه مقاله:
جای خود را برای یادگیری روشهای پیشگیرانه نگهداری تضمین کنید که خطرات پنهان کارایی پایگاه داده،
مانند
پرس و جوهای کند (slow queries)،
رفتار نقطه بازرسی (checkpoint behavior)،
و مسائل اتصال (connection issues)،
را پیش از آنکه تشدید شوند، آشکار میسازند.
🟣لینک مقاله:
https://golangweekly.com/link/166476/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Keep Postgres Maintenance from Slowing Down Your Go App
🟢 خلاصه مقاله:
جای خود را برای یادگیری روشهای پیشگیرانه نگهداری تضمین کنید که خطرات پنهان کارایی پایگاه داده،
مانند
پرس و جوهای کند (slow queries)،
رفتار نقطه بازرسی (checkpoint behavior)،
و مسائل اتصال (connection issues)،
را پیش از آنکه تشدید شوند، آشکار میسازند.
🟣لینک مقاله:
https://golangweekly.com/link/166476/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
events.zoom.us
Webinar | Proactive Postgres Practices to Prevent Performance Bottlenecks
Forwarded from PhiloLearn | فیلولرن
This media is not supported in your browser
VIEW IN TELEGRAM
خب حالا که خیلی زیاد حرف از بیکار شدن برنامه نویس ها توسط AI هست پینک اورکا ی عزیز زحمت کشیدن یک ویدیوی کوتاه آموزشی تهیه کرده در این باره، امیدوارم که به دردتون بخوره
#fun
@PhiloLearn
#fun
@PhiloLearn
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