آریان 5 تنها سی و شش ثانیه پس از بلند شدن در ارتفاع 3700 متری منفجر شد. این یک نقص مکانیکی یا یک خرابکاری نبود، راه اندازی به لطف یک اشکال نرمافزاری ساده با فاجعه به پایان رسید.
ویدیوی این انفجار:
https://youtu.be/5tJPXYA0Nec
هیئت تحقیق علل انفجار را بررسی کرد و در دو هفته گزارشی را منتشر کرد. مشخص شد که علت حادثه یک خطای نرمافزاری بوده است. به طور خاص در فرآیندی در نرمافزار کنترل سرعت افقی موشک نسبت به سکو در یک عدد اعشاری 64 بیتی ذخیزه میشود و سپس در یک حافظه صحیح 16 بیتی ریخته میشود.
بزرگترین مقدار قابل ذخیره در یک عدد صحیح 16 بیتی 32،767 است و سرعت افقی آریان 5 از این مقدار بیشتر بود، و مشکل سرریز، فرآیند را با خطا مواجه میکرد.
نرمافزار پروژه آریان 4 برای آریان 5 توسعه داده شده بود اما آریان 5 محدودیتهای سرعت آریان 4 را پشت سر میگذاشت و این نکته ریز در نظر گرفته نشده بود. سرعت آریان 4 هیچ گاه از این مقدار بیشتر نمیشد و نرمافزار بدون مشکل کار میکرد.
اگر با علوم کامپیوتر آشنایی ندارید تصور کنید سعی میکنید مقدار مثلاً 105.350 کیلومتر را در کیلومترشمار که حداکثر مقدار آن 99.999 است نشان دهید. شمارنده یک دور کامل تا 00،000 میچرخد و سپس تا 5،350 مقدار باقی مانده را شمارش میکند. این همان مشکلی است که آریان 5 را منفجر کرد.
این مشکل از نظر فنی "خطای سرریز" نامیده می شود، به این معنی که اعداد از مقدار حافظه کامپیوتری که برای ذخیزه در نظر گرفته شده است بزرگتر هستند و گاهی اوقات این می تواند باعث خرابی شود.
چنین اشکالاتی علت شکست در پروژههای بسیاری بوده است، دلیل قطع ارتباط ناسا با کاوشگر فضایی Deep Impact در سال 2013، دستیابی نادرست به یک عدد صحیح بود و اخیرا گزارش شد که هواپیماهای بوئینگ 787 نیز دارای یک مشکل مشابه است، در صورتی که بیش از 248 روز روشن باشد، واحد کنترل موتور دچار خطای سرریز میشود و موتورها را خاموش میشوند!
فضای ذخیرهسازی قبلاً بسیار گرانتر از امروز بود و در مصرف آن به شدت صرفهجویی میشد. چیزی که نرمافزارهای امروزی کمتر مشاهده میشود. امروزه در فرآیندهای تست، حداکثر بازهای که محاسبات نرمافزار در آن محدوده قطعا درست کار میکند بررسی میشود تا دیگر شاهد چنین مشکلاتی نباشیم.
@DevTwitter | <حَکیم/>
ویدیوی این انفجار:
https://youtu.be/5tJPXYA0Nec
هیئت تحقیق علل انفجار را بررسی کرد و در دو هفته گزارشی را منتشر کرد. مشخص شد که علت حادثه یک خطای نرمافزاری بوده است. به طور خاص در فرآیندی در نرمافزار کنترل سرعت افقی موشک نسبت به سکو در یک عدد اعشاری 64 بیتی ذخیزه میشود و سپس در یک حافظه صحیح 16 بیتی ریخته میشود.
بزرگترین مقدار قابل ذخیره در یک عدد صحیح 16 بیتی 32،767 است و سرعت افقی آریان 5 از این مقدار بیشتر بود، و مشکل سرریز، فرآیند را با خطا مواجه میکرد.
نرمافزار پروژه آریان 4 برای آریان 5 توسعه داده شده بود اما آریان 5 محدودیتهای سرعت آریان 4 را پشت سر میگذاشت و این نکته ریز در نظر گرفته نشده بود. سرعت آریان 4 هیچ گاه از این مقدار بیشتر نمیشد و نرمافزار بدون مشکل کار میکرد.
اگر با علوم کامپیوتر آشنایی ندارید تصور کنید سعی میکنید مقدار مثلاً 105.350 کیلومتر را در کیلومترشمار که حداکثر مقدار آن 99.999 است نشان دهید. شمارنده یک دور کامل تا 00،000 میچرخد و سپس تا 5،350 مقدار باقی مانده را شمارش میکند. این همان مشکلی است که آریان 5 را منفجر کرد.
این مشکل از نظر فنی "خطای سرریز" نامیده می شود، به این معنی که اعداد از مقدار حافظه کامپیوتری که برای ذخیزه در نظر گرفته شده است بزرگتر هستند و گاهی اوقات این می تواند باعث خرابی شود.
چنین اشکالاتی علت شکست در پروژههای بسیاری بوده است، دلیل قطع ارتباط ناسا با کاوشگر فضایی Deep Impact در سال 2013، دستیابی نادرست به یک عدد صحیح بود و اخیرا گزارش شد که هواپیماهای بوئینگ 787 نیز دارای یک مشکل مشابه است، در صورتی که بیش از 248 روز روشن باشد، واحد کنترل موتور دچار خطای سرریز میشود و موتورها را خاموش میشوند!
فضای ذخیرهسازی قبلاً بسیار گرانتر از امروز بود و در مصرف آن به شدت صرفهجویی میشد. چیزی که نرمافزارهای امروزی کمتر مشاهده میشود. امروزه در فرآیندهای تست، حداکثر بازهای که محاسبات نرمافزار در آن محدوده قطعا درست کار میکند بررسی میشود تا دیگر شاهد چنین مشکلاتی نباشیم.
@DevTwitter | <حَکیم/>
🤯13
#QA ID41
می خوام vps بگیرم برا پروژه های شخصی خودم
رفتم دیدم کلی سایت مختلف هست
قیمتاشون خیلی متفاوت بود
کسی تجربه ای چیزی داره؟
اینکه مثلا چندسال از یه جا گرفتین راضی بودین
یا از یه جا گرفتین پشیمون شدین
یا شینیدین فلان جا خیلی خوبه
@DevTwitter
می خوام vps بگیرم برا پروژه های شخصی خودم
رفتم دیدم کلی سایت مختلف هست
قیمتاشون خیلی متفاوت بود
کسی تجربه ای چیزی داره؟
اینکه مثلا چندسال از یه جا گرفتین راضی بودین
یا از یه جا گرفتین پشیمون شدین
یا شینیدین فلان جا خیلی خوبه
@DevTwitter
👍1
اینکه بکِ یک سرویس (وب) با چی نوشته شده مهم نیست؛ مهم اینه که فرانتش همیشه html و css و js هست و خواهد بود.
[وی تنش میخارد]
@DevTwitter | <Ahmad Karimi/>
[وی تنش میخارد]
@DevTwitter | <Ahmad Karimi/>
👍1
#کدشعر
از جاوا کم نتوان بود به همت زینهار
چون داکِر باز کنی، گوهر شهوار طلب
"جاوا کاران به بهشت نمی روند"
@DevTwitter | <Mr.Linux/>
از جاوا کم نتوان بود به همت زینهار
چون داکِر باز کنی، گوهر شهوار طلب
"جاوا کاران به بهشت نمی روند"
@DevTwitter | <Mr.Linux/>
👍1
#Golang
توی این پست راجع به Alignment و Padding تو گولنگ و نحوهی کاهش مصرف مموری نوشتم.
امیدوارم به دردتون بخوره :))
https://virgool.io/@milad_ibra/hey-golang-where-is-my-memory-oky2gqaxd5ly
@DevTwitter | <خاویر عیبرا/>
توی این پست راجع به Alignment و Padding تو گولنگ و نحوهی کاهش مصرف مموری نوشتم.
امیدوارم به دردتون بخوره :))
https://virgool.io/@milad_ibra/hey-golang-where-is-my-memory-oky2gqaxd5ly
@DevTwitter | <خاویر عیبرا/>
👍1
#IoT
سلام
مطالب در مورد IoT توی این کانال نیس یا خیلی کمه گفتم دست به کار بشم
دوستانی ک با این مبحث آشنایی دارن قطعا اسم هایی مثل Arduino و Raspberry Pi به گوششون خورده
ولی به نظر من آردوینو خیلی برقی-طور و رزبری پای بیشتر شبیه کامپیوتره تا یک ماژول IoT و ب نظر من باید به عنوان ماژول مرکزی استفاده بشه ازش در IoT
به هر حال
اما جدیدا با ی ماژول ساده، جمع و جور آشنا شدم و توی یکی از پروژه های شخصیم ازش استفاده کردم که یچیزی مابین چیزایی که گفتمه
این ماژول اسمش ESP8266 هست و در ساده ترین حالت هاش قیمتش از حدود 40 هزار تومن شروع میشه تا نزدیک 100 تومن!
مقایسه کنید با رزبری پای که الان قیمت میلیونی پیدا کرده و ساده ترین آردوینو که الان بالای 150 قیمتش.
ویژگی اصلی این ماژول اینه که همراه خودش چیپ وای فای و استک TCP/IP داره یعنی خیلی راحت این برد میتونه به یک وای فای محلی وصل بشه یا خودش بشه یک ایستگاه محلی وای فای
به اندازه کافی هم پین ورودی خروجی یا GPIO داره و به راحتی میشه سنسور یا عملگرهای مختلف بهش وصل کرد
فقط کافیه ی کابل میکرو usb داشته باشین و تقریبا تمامی کدهای قابل اجرا روی آردوینو که تقریبا میشه گفت سی پلاس پلاس هستن روی این برد قابل اجراعه
البته که پردازنده اش 160 مگاهرتز بیشتر نیس و چیزی حدود 128 کیلوبایت بیشتر رم ندارید، البته که برای خواندن دیتا ی سنسور معمولی و فرستادنش با وای فای همین کافیه
اگه علاقه مند هستین و تا اینجای متن اومدین مثال میزنم از کاربردهاش و پروژه ای ک خودم استفاده کردم این بوده که با ی سنسور فرا صوت مقدار آب داخل منبع آب رو اندازه گرفتم و با یک وب سرور کوچیک توی همون ماژول دیتارو برودکست میکنم و با بروزر یا حتی اپ اندروید دیتارو چک میکنم
توضیحات بیشتر برای کسایی که بیشتر از این علاقه مند هستن توی لینک زیر:
https://github.com/yamin8000/WaterLevel
@DevTwitter | <یمین/>
سلام
مطالب در مورد IoT توی این کانال نیس یا خیلی کمه گفتم دست به کار بشم
دوستانی ک با این مبحث آشنایی دارن قطعا اسم هایی مثل Arduino و Raspberry Pi به گوششون خورده
ولی به نظر من آردوینو خیلی برقی-طور و رزبری پای بیشتر شبیه کامپیوتره تا یک ماژول IoT و ب نظر من باید به عنوان ماژول مرکزی استفاده بشه ازش در IoT
به هر حال
اما جدیدا با ی ماژول ساده، جمع و جور آشنا شدم و توی یکی از پروژه های شخصیم ازش استفاده کردم که یچیزی مابین چیزایی که گفتمه
این ماژول اسمش ESP8266 هست و در ساده ترین حالت هاش قیمتش از حدود 40 هزار تومن شروع میشه تا نزدیک 100 تومن!
مقایسه کنید با رزبری پای که الان قیمت میلیونی پیدا کرده و ساده ترین آردوینو که الان بالای 150 قیمتش.
ویژگی اصلی این ماژول اینه که همراه خودش چیپ وای فای و استک TCP/IP داره یعنی خیلی راحت این برد میتونه به یک وای فای محلی وصل بشه یا خودش بشه یک ایستگاه محلی وای فای
به اندازه کافی هم پین ورودی خروجی یا GPIO داره و به راحتی میشه سنسور یا عملگرهای مختلف بهش وصل کرد
فقط کافیه ی کابل میکرو usb داشته باشین و تقریبا تمامی کدهای قابل اجرا روی آردوینو که تقریبا میشه گفت سی پلاس پلاس هستن روی این برد قابل اجراعه
البته که پردازنده اش 160 مگاهرتز بیشتر نیس و چیزی حدود 128 کیلوبایت بیشتر رم ندارید، البته که برای خواندن دیتا ی سنسور معمولی و فرستادنش با وای فای همین کافیه
اگه علاقه مند هستین و تا اینجای متن اومدین مثال میزنم از کاربردهاش و پروژه ای ک خودم استفاده کردم این بوده که با ی سنسور فرا صوت مقدار آب داخل منبع آب رو اندازه گرفتم و با یک وب سرور کوچیک توی همون ماژول دیتارو برودکست میکنم و با بروزر یا حتی اپ اندروید دیتارو چک میکنم
توضیحات بیشتر برای کسایی که بیشتر از این علاقه مند هستن توی لینک زیر:
https://github.com/yamin8000/WaterLevel
@DevTwitter | <یمین/>
👍1
#Docker
داکر قوانین و حق اشتراکش رو عوض کرده و شرکتهای متوسط و بزرگ رو هدف قرار داده و داکر دسکتاپ رو پولی کرده براشون. از اونجایی که شرکتهای بزرگ معمولا به پرداخت پول تو این شرایط تمایلی ندارن (مثل قضیه ردیس، الستیکسرچ، ...)، باید دید ته این ریسک چی میشه. :)
https://www.docker.com/blog/updating-product-subnoscriptions/
@DevTwitter | <ایریکس دی/>
داکر قوانین و حق اشتراکش رو عوض کرده و شرکتهای متوسط و بزرگ رو هدف قرار داده و داکر دسکتاپ رو پولی کرده براشون. از اونجایی که شرکتهای بزرگ معمولا به پرداخت پول تو این شرایط تمایلی ندارن (مثل قضیه ردیس، الستیکسرچ، ...)، باید دید ته این ریسک چی میشه. :)
https://www.docker.com/blog/updating-product-subnoscriptions/
@DevTwitter | <ایریکس دی/>
👍1
#Javanoscript
برای اعتبارسنجی (Validation) در فرانت اند به سبک لاراول تو جاوا اسکریپت می تونید از این کتابخونه استفاده کنید:
https://github.com/mikeerickson/validatorjs
@DevTwitter | <Mohammad Salehi/>
برای اعتبارسنجی (Validation) در فرانت اند به سبک لاراول تو جاوا اسکریپت می تونید از این کتابخونه استفاده کنید:
https://github.com/mikeerickson/validatorjs
@DevTwitter | <Mohammad Salehi/>
👍1
چالش های برنامه نویسی در لاراول
مشکل sql_mode=only_full_group_by در لاراول (laravel)، strict در mysql چیست؟ و حذف ONLY_FULL_GROUP_BY از دیتابیس mysql
https://jobteam.ir/ProductUser/478-laravel-sql-mode
@DevTwitter
مشکل sql_mode=only_full_group_by در لاراول (laravel)، strict در mysql چیست؟ و حذف ONLY_FULL_GROUP_BY از دیتابیس mysql
https://jobteam.ir/ProductUser/478-laravel-sql-mode
@DevTwitter
👍1
گل من، اگه بک اند کاری و رفتی یه کم css و جاوا اسکریپت خوندی، یا فرانت اند کاری و رفتی یه کم پایتون یا مونگو دی بی یاد گرفتی، الان شما 'فول استک دولوپر' نیستی ها :)) محض اطلاع
@DevTwitter | <Maxine/>
@DevTwitter | <Maxine/>
👍1
#QA ID42
وقتی با دستگاهی به یه وایفا وصل میشه اگه اینو تو مرورگر بزنیم 192168.1.1 میره به تنظیمات مودم حالا میخوام سایتی که دارم(خودم نوشتم) رو بزارم رو این ای پی و هرکی به مودم وصل شد بتونه ببینه ایا میشه؟
مثلا
192.168.1.1/site
@DevTwitter
وقتی با دستگاهی به یه وایفا وصل میشه اگه اینو تو مرورگر بزنیم 192168.1.1 میره به تنظیمات مودم حالا میخوام سایتی که دارم(خودم نوشتم) رو بزارم رو این ای پی و هرکی به مودم وصل شد بتونه ببینه ایا میشه؟
مثلا
192.168.1.1/site
@DevTwitter
👍1
👍1
امروز خیلی خیلی جدی در حین برنامه نویسی بهم گفت میدونی کد چرخ چیه ؟
منم با حس کنجکاوی شدید گفتم نه !
گفت به وقتی میگن که برنامه نویس داره روی کدهاش اسکرول موس رو مرتب بالا و پایین میکنه :))
خلاصه که وسط کار بدجور سرکارم گذاشت یکی طلبت ....
@DevTwitter | <AliAhkami/>
منم با حس کنجکاوی شدید گفتم نه !
گفت به وقتی میگن که برنامه نویس داره روی کدهاش اسکرول موس رو مرتب بالا و پایین میکنه :))
خلاصه که وسط کار بدجور سرکارم گذاشت یکی طلبت ....
@DevTwitter | <AliAhkami/>
👍1
برنامه نویس های جیگر
هیچ وقت موبایل یا ایمیل کاربر رو بدون ماسک و واقعیشو برای درگاه بانکی یا سرویس های چت آنلاین و ... نذارین!
چون دیتاماینینگ میکنن شنیده شده که مثلا کاربرای یک صرافی رو جمع آوری کردن برای استفاده خودشون :(
اینجوری کنید:
0915*****372
@DevTwitter | <Younes Saeedi/>
هیچ وقت موبایل یا ایمیل کاربر رو بدون ماسک و واقعیشو برای درگاه بانکی یا سرویس های چت آنلاین و ... نذارین!
چون دیتاماینینگ میکنن شنیده شده که مثلا کاربرای یک صرافی رو جمع آوری کردن برای استفاده خودشون :(
اینجوری کنید:
0915*****372
@DevTwitter | <Younes Saeedi/>
👍1
سئوکارها معمولا با برنامهنویسها چالش دارن.
اما حرفهایها میدونن که موفقیت با همکاری همه اعضا تیم بدست میآید و بدون همکاری برنامه نویس، تولیدکننده محتوا، روابط عمومی و بازاریابی، سئو به نتیجه نمیرسه!
حتی بعضی وقتها نقشی که دیگران در موفقیت دارند از نقش سئوکار بیشتره!
@DevTwitter | <Reza Shirazi/>
اما حرفهایها میدونن که موفقیت با همکاری همه اعضا تیم بدست میآید و بدون همکاری برنامه نویس، تولیدکننده محتوا، روابط عمومی و بازاریابی، سئو به نتیجه نمیرسه!
حتی بعضی وقتها نقشی که دیگران در موفقیت دارند از نقش سئوکار بیشتره!
@DevTwitter | <Reza Shirazi/>
👍1