HICTE Blog – Telegram
HICTE Blog
1.18K subscribers
382 photos
126 videos
8 files
616 links
گروهمون: @HicteGroup

دسته بندی پست‌ها: t.me/HicteBlog/743
Download Telegram
#علوم_کامپیوتر

چرا از صفر؟

شمارش از صفر که تو اکثر زبان‌های برنامه‌نویسی رایجه، یه‌سری دلایل فنی و تاریخی داره. این روش با آدرس‌دهی حافظه کامپیوتر هماهنگه که از صفر شروع می‌شه. وقتی با آرایه‌ها کار می‌کنیم، ایندکس صفر به اولین خونه حافظه اشاره می‌کنه که محاسبات جابجایی (offset) رو ساده‌تر می‌کنه.

زبان C که دنیس ریچی در دهه ۱۹۷۰ اون رو توسعه داد، نقش مهمی در رواج این قرارداد داشته. سی به برنامه‌نویس‌ها کنترل دقیق روی حافظه می‌ده و روی زبان‌های بعدی تأثیر گذاشته.

از نظر ریاضی، شروع از صفر توی کار با مجموعه‌های پیمانه‌ای (modular sets) و الگوریتم‌هایی مثل جستجوی دودویی (binary search) مفیده. Edsger Dijkstra در سال ۱۹۸۲ یادداشتی نوشت که مزایای نوشتاری و ریاضی شروع از صفر رو توضیح می‌ده. [مطالعهٔ بیشتر]

البته همه زبان‌ها این قاعده رو رعایت نمی‌کنن. مثلا لوآ، R و فورترن از یک شروع می‌کنن که این موضوع گاهی باعث سردرگمی برنامه‌نویس‌ها می‌شه.

شروع از صفر چالش‌هایی هم داره. برای افراد غیرفنی گیج‌کننده‌س و می‌تونه باعث خطاهای اختلاف یک (off-by-one) بشه، جایی که برنامه‌نویس‌ها در محاسبه تعداد عناصر یا ایندکس‌ها اشتباه می‌کنن.

🚁 Hicte Blog <~ @PinkOrca
👍11
#مهندسی_نرم_افزار

Programming patterns aren't 'Good practice' or 'The right way to do things', they exist to help make things easier for you. They're meant as good solutions to common problems. But once they stop being easy, they stop being useful.

🚁 Hicte Blog <~ @seyedmahdidiary
👍7🔥1
#سخن_هیکته

>> linkedin == instagram
>> true

🚁 Hicte Blog
😁11👍7
#میم

البته داستان اصلی ++C رو میتونین اینجا بخونین :)
لینک

🚁 Hicte Blog
😁9👍2🌚1
#گوناگون

داشتم یه کتابی رو میخوندم
اول اشتباها ویرایش قدیمی ترش که برای سال ۲۰۰۹ بود رو گرفتم و بعد رفتم سراغ ویرایش جدید سال ۲۰۲۳
یه نکته‌ای چشمم رو گرفت این بود که
نویسنده تو ویرایش قبلی نوشته بود از ابونتو ۸.۱۰ استفاده میکنه و حالا که اومد سال ۲۰۲۳ ویرایش جدید رو منتشر کنه مینت رو پیشنهاد کرده 😂
باگبونتو 🗿

پ.ن: البته جای تاسف داره که ابونتو به این وضع دچار شده

🚁 Hicte Blog
👍20💅1
#گوناگون

این پست رو تو چنل صدرا دیدم
گفتم خودم برم ببینم که دیدم عه

لینک توئیتر

🚁 Hicte Blog
🤯4😁3🗿2
#علوم_کامپیوتر

برای آدما خوندن اعداد توی مبنای 2 میتونه سرانجام اونا رو روانه تیمارستان کنه. پس اکثر ابزارها اعداد باینری رو به صورت هگز نمایش میدن. بقول آقای Jeff Duntemann:
Hexadecimal is the programmer's shorthand for the computer's binary numbers


حالا چرا 16؟

خب اگه بخوایم از مبنای 32 استفاده کنیم دیگه خوندن کاراکترهایی که به ارقامش تعلق داره باعث میشه مغزمون واشر بزنه ولی توی مبنای 16 فقط A, B, C, D, E, F رو علاوه بر ارقام معمول خودمون داریم.

اگه هم بخوایم از مبنای 8 استفاده کنیم خب یه مقدار اعدادمون طولانی تر میشه.

پس مبنای 16 یجورایی تعادل رو حفظ میکنه از هر دو سمت قضیه.

حالا چرا نیایم از همین مبنای 10 خودمون استفاده کنیم؟!

خب از اونجایی که 16 یه توان از 2 هست تبدیل این دو مبنا به هم خیلی آسونتر هست.
استفاده از مبنای 10 نیاز به محاسبات برای تبدیل به مبنای 2 و برعکس داره ولی برای تبدیل مبنای 2 و 16 به همدیگه میشه از conversion table استفاده کرد.

فرض کنین ما یه جدول از پیش مقدار دهی شده داریم که 16 سطر داره که توی سطر ها ارقام مبنای 16 به معادل باینری‌شون متناظر شدن. حالا وقتی ما یه عدد هگز داریم کافیه فقط بجای هر رقم هگز معادل باینریش رو جایگذاری کنیم و وقتی هم که یه عدد باینری داریم کافیه چهار رقم چهار رقم از راست جدا کنیم (اگه سمت چپ رقم کم اومد 0 میذاریم) و بجای هر گروه چهار بیتی معادل هگزش رو قرار بدیم.

🚁 Hicte Blog
🔥11👌2👍1👨‍💻1
This media is not supported in your browser
VIEW IN TELEGRAM
#فان

صدا رو کم کنین!
منظورش پنگوئن‌های خراب🔞 قطب جنوب هست.

🚁 Hicte Blog
🤣13😐3😁1😱1🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
#خبر

لینوس توروالدز، خالق هسته لینوکس، گفته هوش مصنوعی دنیا رو تغییر خواهد داد ولی در حال حاضر 90 درصد اون مارکتینگ و هایپ هست و تنها 10 درصد چیزهایی که شرکتها ادعا میکنن، واقعیت داره و 5 سال دیگه مشخص میشه که هوش مصنوعی برای کارهای واقعی چقدر مفید و به دردبخور خواهد بود.

🚁 Hicte Blog <~ @TechTube <~ tsarnick
👌20🔥2👍1
#علوم_کامپیوتر

بنظرم ترجمه RAM یا همون Random Access Memory به حافظه دستیابی تصادفی اشتباهه.
اینجا Random بیشتر برای دسترسی آزادانه هست تا تصادفی و اشاره به این داره که هیچ order خاصی برای خوندن یا نوشتن وجود نداره.

قدیما یه SAR داشتیم که Serial Access Memory بود. یه چیزی شبیه به Hard Disk امروزی و برای اینکه به خونه nام از حافظه دسترسی پیدا کنی باید صبر میکردی دیسک بچرخه برسه به اونجا. پس برای دسترسی باید یه sequence رو طی میکرد.

توی RAM هر خونه از حافظه یه آدرس یکتا داره که با اون آدرس میشه در لحظه بهش دسترسی پیدا کرد بدون اینکه کاری به بقیه خونه ها داشته باشیم.

هر چیپ RAM یه تعدادی address pin داره که از طریق اعمال ولتاژ خاصی به اونها؛ که دو حالت صفر و یک رو معنی میده؛ میشه کد باینری مربوط به آدرس خونه درخواستی رو بهش داد و یه مدار خاص داخل چیپ RAM این آدرس رو میگیره و میفهمه که قراره به کدوم خونه فیزیکی دسترسی بده و بعدش از طریق data pin دیتای مربوطه انتقال داده میشه. اینی هم که قراره دیتا خونده بشه یا نوشته هم از طریق pin خاصی مربوط به این موضوع مشخص میشه.

🚁 Hicte Blog
👍13🔥1
#گوناگون

ترجمه How to LUG از علیرضا ارزه‌گر عزیز

بعد از یک ماه تونستم مطلبی که دوست داشتم رو ترجمه کنم. واقعا تایم گذاشتم براش و خب تموم شد بالاخره.
سر این پروژه انصافا پیر شدم. از فرسایشی ترین کارایی بود که کردم. ولی خب هنوز خیلی کار داره.

لینک گیتهاب پروژه:
https://github.com/alirezaarzehgar/HOWTO-LUG
اگه علاقه‌مند بودین مشارکت کنین.

🚁 Hicte Blog
🔥6👍32👏1
#ابزار_لینوکس

جایگزین داف‌تر (خوشگل‌تر) برای df
برای گزارش فضای فایل سیستم ها

نصب در آرچ لینوکس:
# pacman -S duf
گیتهاب پروژه

🚁 Hicte Blog
🔥9🙏2👍1🆒1
#خبر

متأسفانه و در کمال ناباوری به دلیل تحریم‌های روسیه از سمت ایالات متحده آمریکا، لینوس تروالدز در اقدامی عجیب تمامی مشارکت کننده‌های روسی کرنل رو از لیست مشارکت‌کننده ها حذف کرد:
https://www.phoronix.com/news/Linus-Torvalds-Russian-Devs

🚁 Hicte Blog <~ @SohrabContents
😐23🤯3😡2😁1😱1😢1👌1
#متفرقه_لینوکس

سهراب داره یه سری ویدئو ضبط میکنه از آموزش استفاده از گنو/لینوکس برای کاربرای عادی (استفاده‌ی روزمره) 👇

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

🚁 Hicte Blog <~ @SohrabContents
👍12🔥6🤣61
😁19👍3🔥1
👍14🔥1
🤣16💔1💅1