fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

| AmirHossein |

| AmirHossein |

رفتن به کانال در Telegram

پنوشته‌های یک برنامه‌نویس ناشی 🫂 @StartBevy

نمایش بیشتر
611
مشترکین
+124 ساعت
+27 روز
+230 روز
آرشیو پست ها
بیاید بیکار نباشیم، هر از گاهی یک سوال چالشی میفرستم که یکم ذهنمون درگیر بشه و یاد بگیریم. از آسون شروع کنیم😁 فرض کنید یک API داریم که داده‌هاش رو از Redis می‌خونه. داده مورد نظر هر ۱۰ دقیقه یک بار Expire میشه و بعد از Expire شدن، اولین درخواست میره دیتابیس رو می‌خونه و مجدد مقدار رو داخل Redis ذخیره می‌کنه. حالا این API حدود ۱۰۰۰ درخواست در ثانیه داره. سوال اینجاست: اگر دقیقاً در لحظه‌ای که Cache Expire شده، ۱۰۰۰ درخواست همزمان به API برسه، چه اتفاقی میفته؟ چه مشکلاتی ممکنه برای Redis، Application و Database ایجاد بشه؟ ایا ۱۰۰۰ درخواست باید به دیتابیس کوئری بزنن؟ شما برای جلوگیری از این مشکل چه راهکارهایی پیشنهاد میدید؟ در پاسخ فقط اسم بردن از راهکارها کافی نیست؛ در مورد نحوه پیاده‌سازی، مزایا، معایب و Trade-off هر راهکار هم توضیح بدید.

خوشبختانه برگشتیم سر کار، و این روزا یکم شلوغ شدم در اولین فرصت که سرم خلوت بشه LaraGram 4 رو تکمیل می‌کنم و ریلیز می‌کنم این ورژن شامل 9 پکیج جدید(تا این لحظه) هست که قراره انقلابی باشه(طبق معمول هیچکس اهمیت نمیده) تا اون موقع لطفا از سیمولا حمایت کنید، به گیت‌هابش استار بدید و به بقیه معرفی کنید خیلی خیلی خوشحالم میشم🤝 https://github.com/laraXgram/Simula .

بعد این همه بدبختی داریم بر می‌گردیم سر خونه اول

Repost from NetBlocks
📈 Confirmed: Live metrics show a partial restoration to internet connectivity in #Iran on day 88, after 2093 hours of near-t
📈 Confirmed: Live metrics show a partial restoration to internet connectivity in #Iran on day 88, after 2093 hours of near-total isolation from international networks, the longest nationwide internet shutdown in modern history. It is unclear if the restoration will be sustained.

با دوستم رفته بودم بیرون مثلا حالمون خوب بشه توی ماشین آهنگ زمونه از هایده پلی بود، و در همین حین که توی افکار خودمون غرق بودیم به مسیر نا‌مشخصی حرکت می‌کردیم یهو به خودم اومد و به دوستم گفتم عجب نسل عجیبی هستیم همسن و سالای ما توی کل دنیا الان توی پارتی‌ان، یا پی خوش‌گذرونی ما چی شدیم، چه بلایی سرمون اومده که یه اهنگ غمگین پلی می‌کنیم و توی سکوت فرو میریم اینم از تفریح ما

یکی دیگه از کارای احمقانه ای که توی نبود اینترنت انجام دادم این Lexer/Parser Generator بود که توسعه ش دادم تجربه جالبی نبود و
یکی دیگه از کارای احمقانه ای که توی نبود اینترنت انجام دادم این Lexer/Parser Generator بود که توسعه ش دادم تجربه جالبی نبود ولی خب بهتر از هیچ کار نکردن بود

در انتظار حمایت‌های بیشتر از simula هستم...

یادش بخیر یه زمانی نگران بودیم AI شغلمونو ازمون بگیره... @DevTwitter

واقعا زیباست
واقعا زیباست

توی این اوضاع چیزی که رو مخم میره یه سری از این استادهای دانشگاه‌ها هستن طرف میگه وویس باز کنید و توی کلاس مشارکت کنید وگرنه نمره کلاسی نمیدم. میگه ۳ جلسه غیب حذفتون می‌کنم. میگه اخر کلاس صدا می‌کنم باید وویس باز کنید و حضورتون رو بزنید. میگه اگر بار اول جواب ندید دیگه حضور نمی‌زنم، اصلا حساب قطعی سامانه و کندی نت رو نمی‌کنه. تهدید می‌کنه که دانشجو پیش من برای نیم نمره گریه کرده. خب که چی استاد عزیز؟ خب که چی؟ کلاسی که مجازی هست، و داره ضبط میشه برای تو چه فرقی داره مم الان حاضر باشم یا بعدا ضبط شده‌ش رو ببینم؟ تو ما رو تهدید می‌کنی که کلاس حذفمون می‌کنی، ولی این اوضاع خیلی از دانشجوهارو تهدید به ترک تحصیل می‌کنه. خیلی‌ها سر کار میرن تا خرج خونواده بدن، در عین حال تحصیل هم بکنن، بعد یه عده بی‌سواد که معلوم نیست چطور استاد دانشگاه شدن اینطور می‌کنن. چند جا رزومه دادم، ولی نمی‌دونم اگر استخدام بشم با این استادها چه کنم مطمئنا ایران برای این طور آدما با ایرانی که ما توش زندگی می‌کنیم فرق می‌کنه.

🖼️ بررسی میرورهای داکر ایران — irdocker ابزاری نوشتم به اسم irdocker که با یه دستور ساده، تمام میرورهای ایرانی رو همزمان چک می‌کنه و مستقیم دستور docker pull رو بهت می‌ده:
irdocker nginx
irdocker gitea/gitea:latest
امکانات: ✅ بررسی همزمان همه میرورها 🌍 نمایش دقیق خطاهای شبکه (timeout، DNS و...) ➕ قابلیت اضافه کردن میرور دلخواه ⚡️ نوشته‌شده با Go — سبک و سریع github repo: https://github.com/matinsoleymni/irdocker

من دوباره حوصله‌م سر رفته، اگر دیدید همین روزا لاراول رو با راست بازنویسی کردم تعجب نکنید
من دوباره حوصله‌م سر رفته، اگر دیدید همین روزا لاراول رو با راست بازنویسی کردم تعجب نکنید

یه چند وقتی هست علاقه‌م به زبان راست بیشتر شده و بیشتر دارم درموردش یاد می‌گیرم اگر قطع نشدم، مثل قدیم پست می‌نویسم و کنار یکم راست یاد می‌گیریم

sticker.webp0.17 KB

یکی از دوستان توی پیام‌رسان بله کانال زده اگر دسترسی به تلگرام براتون سخت هست یا هرچی یه سر به کانالش بزنید: «DevlogIR | نکات و ابزار مورد نیاز برای برنامه‌نویسی» در اینجا ابزار های برنامه‌نویسی مناسب با شرایط نت ملی قرار داده می‌شود. 🆔 شناسه: https://ble.ir/devlogir

یکی از حوزه‌های مورد علاقه من QA (Quality Assurance) یا تضمین کیفیت نرم‌افزار هست. درمورد بازار کارش توی ایران نمی‌دونم که خوب هست یا نه، ولی با یک سرچ توی سایت‌های کاریابی آگهی‌های زیادی ازش دیدم که به نظر خوب هست حقوقش هم نمیشه گفته عالی، ولی بد هم نیست، یک QA سنیور می‌تونه بالا ۵۰ ۶۰ ملیون رو بگیره، بسته به شرکت یا پروژه. خود کار هم نسبت به برنامه نویسی سبک‌تر و راحت‌تره این حرفه یکی از بخش‌های حیاتی توسعه نرم‌افزار هست و کارش تضمین کیفیت، پایداری سیستم و اطمینان از عملکرد کامل قبل از ارائه هست. متخصص QA وظیفه‌ش طراحی تست‌ها، شناسایی خطاها و بهبود عملکرد نرم‌افزار هست و این کار در مراحل مختلف توسعه انجام میشه. قبلا با یکی از دوستان در این مورد یکم بحث کرده بودم، اینجا هم یک پست کوتاهی میذارم. چند وقت پیش یک پروژه‌ای از این حوزه داشتم، و قرار بود طی یک رویدادی تعداد زیادی ممبر به یک سایت هجوم ببره، کار ما تست این سیستم بود که ببینیم آیا می‌تونه این حجم کاربر رو تحمل کنه یا نه. روند کار اول با قلم و کاغذه ما تمام routeهایی که قراره توی رویداد استفاده بشه رو استخراج می‌کنیم، برای هر روت تعداد qps و ops (کوئری های دیتابیس و ردیس در ثانیه) رو مشخص می‌کنیم تا یک فرضیاتی از بار داشته باشیم. پس از اون تخمین میزنیم چه تعداد کاربر قراره وارد سایت بشه، و از این کاربرها چه تعداد قراره همزمان به سایت درخواست بزنن. در مرحله بعد رفتار کاربر رو حدس میزنیم، که هر کاربر، قراره چند بار یک روت رو اجرا کنه، مثلا یک بار لاگین، دو بار home، و یک بار صفحه رویداد. در یک مرحله دیگه مشخص کردن slo و error budget هست، توی این مرحله ما مشخص می‌کنیم چه تعداد ارور برای ما قابل قبول هست، و از چه تعداد به بعد می‌تونه نشانه اشکال باشه، یا چه میزان تاخیر یا latency می‌تونه قابل قبول باشه با همه این اعداد و ارقام ما می‌تونیم باری که قراره طی این رویداد به سایت بیاد رو تخمین بزنیم و در نهایت تست‌ها رو طراحی کنیم و degradation strategy رو مشخص کنیم، و همچنین آلرت‌های مانیتورینگ رو تنظیم کنیم و.... این پروژه و محاسباتش خیلی گسترده‌تر هست که توضیحش توی یک پیام نمی‌گنجه. یکی دیگه از موارد داخل این پروژه Chaos Test یا تست آشوب بود، توی این نوع تست ما خراب‌کاری‌های عمدی انجام میدیم تا بسنجیم برنامه تا چه حد می‌تونه پایداری خودش رو حفظ کنه، مثلا قطع ناگهانی سرور، حذف دیتابیس و مواردی از این قبیل. در کل حوزه جذاب و دوست داشتنی‌ای هست، اگر دوست داشتید درموردش بیشتر مطالعه کنید.