🤣11
چرا 0.1 + 0.2 میشه 0.30000000000000004؟!
توی دنیای برنامه نویسی ؟؟؟
واقعا چرا؟
تاحالا شده یه جمع ساده توی جاوااسکریپت، پایتون یا سی بزنید و جواب عجیب بگیرید؟ مثلا اینو تست کن:
ولی چرااااا؟ مگه جمع اینا نباید بشه 0.3؟!
دلیلش چیه؟ مشکل از پایهی ریاضی کامپیوتره عزیز جان!
اعداد توی کامپیوتر توی مبنای 2 (باینری) ذخیره میشن، نه مبنای 10 (دهدهی) که ما باهاش راحتیم. مثلا:
▫️عدد ۰.۵ توی باینری: 0.1₂
▫️عدد ۰.۲۵ توی باینری: 0.01₂
اما عدد ۰.۱ توی باینری چی؟
عدد 0.1 توی مبنای ۲ یه عدد تکرارشوندهی بینهایت میشه، مثل این:
حالا مشکل چیه؟ کامپیوتر فقط ۵۳ بیت برای ذخیرهی این عدد داره، پس یه جایی مجبوره گردش کنه و عدد واقعی یه کوچولو خطا داره. این خطا وقتی جمع بشه، همون خروجی عجیب رو میده
چجوری حلش کنیم حالا اینو؟
گزینه اول: استفاده از Decimal توی پایتون
گزینه دوم: گرد کردن نتیجه
در آخر اینو بگم که این یه باگ نیست، یه محدودیت ریاضیه!
این مشکل توی حسابداری، پردازشهای علمی و حتی انیمیشنها میتونه دردسرساز بشه، پس اگه عدد دقیق نیاز داری، باید حواست به این قضیه باشه ،عجیب بود نه؟ دیگه دنیای کامپیوتر همینه
@code_cache
توی دنیای برنامه نویسی ؟؟؟
واقعا چرا؟
تاحالا شده یه جمع ساده توی جاوااسکریپت، پایتون یا سی بزنید و جواب عجیب بگیرید؟ مثلا اینو تست کن:
console.log(0.1 + 0.2); // 0.30000000000000004
ولی چرااااا؟ مگه جمع اینا نباید بشه 0.3؟!
دلیلش چیه؟ مشکل از پایهی ریاضی کامپیوتره عزیز جان!
اعداد توی کامپیوتر توی مبنای 2 (باینری) ذخیره میشن، نه مبنای 10 (دهدهی) که ما باهاش راحتیم. مثلا:
▫️عدد ۰.۵ توی باینری: 0.1₂
▫️عدد ۰.۲۵ توی باینری: 0.01₂
اما عدد ۰.۱ توی باینری چی؟
عدد 0.1 توی مبنای ۲ یه عدد تکرارشوندهی بینهایت میشه، مثل این:
0.1 (Decimal) = 0.00011001100110011001100110011001100... (Binary)حالا مشکل چیه؟ کامپیوتر فقط ۵۳ بیت برای ذخیرهی این عدد داره، پس یه جایی مجبوره گردش کنه و عدد واقعی یه کوچولو خطا داره. این خطا وقتی جمع بشه، همون خروجی عجیب رو میده
چجوری حلش کنیم حالا اینو؟
گزینه اول: استفاده از Decimal توی پایتون
from decimal import Decimal
print(Decimal('0.1') + Decimal('0.2')) # 0.3 دقیق!
گزینه دوم: گرد کردن نتیجه
console.log((0.1 + 0.2).toFixed(1)); // 0.3
در آخر اینو بگم که این یه باگ نیست، یه محدودیت ریاضیه!
این مشکل توی حسابداری، پردازشهای علمی و حتی انیمیشنها میتونه دردسرساز بشه، پس اگه عدد دقیق نیاز داری، باید حواست به این قضیه باشه ،عجیب بود نه؟ دیگه دنیای کامپیوتر همینه
@code_cache
🔥9
اگر توی جنگل با یک خرس روبرو شدید که قصد حمله به شما رو داشت، بهترین کار اینه که از خرس بخواین پول رکوئست شما رو در گیتهاب ریویو کنه. بعدش میبینین خرس وانمود میکنه شما رو ندیده و میره.
@code_cache
@code_cache
🤣2
This media is not supported in your browser
VIEW IN TELEGRAM
ی نفر از ChatGPT میپرسه چند سال باید کار کنم تا بتونم تو ایران یه ماشین BMW بخرم؟
جوابایی که میده عالیه😂
@code_cache
جوابایی که میده عالیه😂
@code_cache
This media is not supported in your browser
VIEW IN TELEGRAM
مطمئنا جزو قشنگترین دوران زندگی همه ما بود
روزایی که نه غصه دلار بود نه غصه بنزین نه گرونی نه...
#نوستالژی 👨🏿🦯
@code_cache
روزایی که نه غصه دلار بود نه غصه بنزین نه گرونی نه...
#نوستالژی 👨🏿🦯
@code_cache
👍6❤1
اگر اسمتون نیل، نیلو، نلی، نیلا یا مشابه اینهاست متاسفانه پارتنر برنامهنویس مخصوصن زبان Go نمیتونید پیدا کنید.
@code_cache
@code_cache
👍5
یه محقق کلا 20 خط کد کرنل لینوکس تغییر داده و unnecessary IRQ رو حذف کرده ۴۴ درصد پرفورمانس استک networking لینوکس بهبود داده و مصرف برق دیتاسنترهای hyperscale با این تغییر به شکل چشمگیری کاهش پیدا میکنه!
لینک منبع
@code_cache
لینک منبع
@code_cache
TechRadar
Changing a few lines of code in Linux could apparently save hyperscalers billions, research claims, but I am not convinced
The tweak has been added to the latest Linux kernel release, version 6.13
🔥6❤1
آخرای نود جی اسه؟ Bun و Deno جایگزین خواهند شد؟
آیا زمان خداحافظی با Node.js رسیده است؟
اخیرا، نود جی اس دو رقیب جدید پیدا کرده: Deno و Bun. هر دو وعده دادن که مشکلات Node.js را حل کنن و تجربه توسعه را بهبود ببخشن. ولی واقعا میتونن؟
نود جی اس(Node.js)؛ پیر ولی قدرتمند
- کامیونیتی بزرگ و اکوسیستم غنی (NPM)
- پشتیبانی گسترده در شرکتهای بزرگ
- عملکرد خوب در پروژههای تولیدی
- تجربه توسعهدهنده آشنا و پایدار
اما در کنار این نقاط قوت، چالشهایی هم دارد:
- مدیریت دیپندسی ها (node_modules کابوس همیشگی!)
- سرعت پایینتر در اجرای برخی اسکریپتها
- امنیت پیشفرض ضعیفتر نسبت به Deno
دینو(Deno)؛ با آینده!
دینو Deno، ساخته شده توسط خالق Node.js (Ryan Dahl)، قصد داره اشتباهات گذشتش را جبران کنه:
- امنیت داخلی (اجازههای محدود برای فایلها و شبکه)
- پشتیبانی از TypeScript بهصورت پیشفرض
- عدم نیاز به package.json و node_modules
- استفاده از URL برای مدیریت پکیجها
اما هنوز مشکلاتی دارد:
- کامیونیتی و پکیجهای کمتر نسبت به NPM
- نبود برخی ویژگیهای پرکاربرد Node.js
بان(Bun)؛ سریعتر!
بان اومده تا نهتنها جایگزین Node.js باشه، بلکه تجربه توسعهدهنده را بهبود بده:
- سرعت بینظیر در اجرای جاوااسکریپت (بیشتر از 3 برابر سریعتر از Node.js)
- ای پی آی Built-in Web APIs (مانند Fetch، WebSockets، و Buffer)
- جایگزین مستقیم npm، yarn و pnpm (مدیریت پکیج فوقسریع!)
- کاملاً سازگار با Node.js API
اما
- هنوز به پایداری و تست گسترده در پروژههای بزرگ نرسیده
- اکوسیستم کوچکتر از Node.js
کدومو انتخاب کنیم؟
- پروژت پروداکشن و پایداره؟ هنوز Node.js بهترین گزینه س.
- اگه امنیت و TypeScript پیشفرض برات مهمه؟ Deno رو استفاده کن.
- اگه نهایت سرعتو میخوای؟ Bun رو تست کن.
@code_cache
آیا زمان خداحافظی با Node.js رسیده است؟
اخیرا، نود جی اس دو رقیب جدید پیدا کرده: Deno و Bun. هر دو وعده دادن که مشکلات Node.js را حل کنن و تجربه توسعه را بهبود ببخشن. ولی واقعا میتونن؟
نود جی اس(Node.js)؛ پیر ولی قدرتمند
- کامیونیتی بزرگ و اکوسیستم غنی (NPM)
- پشتیبانی گسترده در شرکتهای بزرگ
- عملکرد خوب در پروژههای تولیدی
- تجربه توسعهدهنده آشنا و پایدار
اما در کنار این نقاط قوت، چالشهایی هم دارد:
- مدیریت دیپندسی ها (node_modules کابوس همیشگی!)
- سرعت پایینتر در اجرای برخی اسکریپتها
- امنیت پیشفرض ضعیفتر نسبت به Deno
دینو(Deno)؛ با آینده!
دینو Deno، ساخته شده توسط خالق Node.js (Ryan Dahl)، قصد داره اشتباهات گذشتش را جبران کنه:
- امنیت داخلی (اجازههای محدود برای فایلها و شبکه)
- پشتیبانی از TypeScript بهصورت پیشفرض
- عدم نیاز به package.json و node_modules
- استفاده از URL برای مدیریت پکیجها
اما هنوز مشکلاتی دارد:
- کامیونیتی و پکیجهای کمتر نسبت به NPM
- نبود برخی ویژگیهای پرکاربرد Node.js
بان(Bun)؛ سریعتر!
بان اومده تا نهتنها جایگزین Node.js باشه، بلکه تجربه توسعهدهنده را بهبود بده:
- سرعت بینظیر در اجرای جاوااسکریپت (بیشتر از 3 برابر سریعتر از Node.js)
- ای پی آی Built-in Web APIs (مانند Fetch، WebSockets، و Buffer)
- جایگزین مستقیم npm، yarn و pnpm (مدیریت پکیج فوقسریع!)
- کاملاً سازگار با Node.js API
اما
- هنوز به پایداری و تست گسترده در پروژههای بزرگ نرسیده
- اکوسیستم کوچکتر از Node.js
کدومو انتخاب کنیم؟
- پروژت پروداکشن و پایداره؟ هنوز Node.js بهترین گزینه س.
- اگه امنیت و TypeScript پیشفرض برات مهمه؟ Deno رو استفاده کن.
- اگه نهایت سرعتو میخوای؟ Bun رو تست کن.
@code_cache
👍3👎1
🔥5