Sonia Software Notes
A software engineer journey. GitHub : https://t.ly/_RJr
Show more- Subscribers
- Post coverage
- ER - engagement ratio
Data loading in progress...
Data loading in progress...
۱۰ روز پیش امیر به ۳ تا از باتهای ناشناس نفوذ کرد و صحنههایی دیدیم که شکه شدیم، از ۱۴ میلیون یوزر، ۴۵۰ میلیمون چت، ۱۱ میلیون عکس و ۳ میلیون ویدیو ذخیره شده بود! یه فیچر داشت که یه یوزر رو flag میکرد، یعنی هر موقع پیغامی به شخص ارسال میشد طرف میفهمید /
https://t.co/mogujfHd2Nسرانجام، پس از مدتها، به تمایل خود برای نوشتن مقالاتی برای کمک به سایر مهندسان نرمافزار برای پیشرفت شغلی خود پی بردم. با این کار، من قصد…
That’s a lot of layoffs.
This strange tweet got >25k retweets. The author sounds confident, and he uses lots of hex and jargon. There are red flags though... like what's up with the DEI stuff, and who says "stack trace dump"? Let's take a closer look... 🧵1/n
struct Obj {
int a;
int b;
};
Obj* obj = NULL;
print(obj->a);
در این مثال، اشارهگر obj تهی (NULL) است. هنگامی که برنامه سعی میکند به عضو a از شیء obj دسترسی پیدا کند، به دلیل تهی بودن اشارهگر، به یک آدرس نامعتبر دسترسی پیدا میکند و باعث خرابی برنامه میشود.
این مشکل بهخصوص خطرناک بود زیرا در یک درایور سیستمی رخ داد. درایورهای سیستمی دسترسیهای سطح بالایی به منابع سیستم دارند و خرابی در این درایورها میتواند منجر به توقف کل سیستمعامل و نمایش صفحه آبی مرگ (BSOD) شود.
برای جلوگیری از چنین مشکلاتی، برنامهنویسان باید همیشه قبل از دسترسی به اشارهگرها، آنها را بررسی کنند. استفاده از زبانهای برنامهنویسی مدرن مانند Rust که از دسترسیهای نادرست به حافظه جلوگیری میکنند، میتواند به کاهش این خطرات کمک کند.
➖➖➖➖➖➖➖➖
☄️ @GoInsights | @GolangEngineersYour current plan allows analytics for only 5 channels. To get more, please choose a different plan.