در مورد کامپایل با gcc/g++ و makefile و linking و کلی نکته جالب.
https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html
https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html
از بچگی همیشه برام سوال بود not gate چطوری کار میکنه؟
وقتی ورودیش صفره چطوری ۵ ولت تولید میکنه؟
وقتی ورودیش صفره چطوری ۵ ولت تولید میکنه؟
سوالات گمراه کننده ای که ممکنه هنگام مصاحبه ازتون بپرسن.
https://www.lifehack.org/articles/work/8-misleading-and-really-tough-questions-you-could-asked-job-interviews.html
https://www.lifehack.org/articles/work/8-misleading-and-really-tough-questions-you-could-asked-job-interviews.html
Lifehack
8 Misleading And Really Tough Questions You Could Be Asked In Job Interviews
Preparation is creates successful job interview candidates. This article will show you hidden motives behind job interview questions and allow you to go in calm and confident.
وقتی ازتون کار رایگان میخوان، میتونید این جواب ها رو بدید:
https://medium.com/blankpage/polite-ways-to-say-im-not-doing-that-for-free-737233959df3
https://medium.com/blankpage/polite-ways-to-say-im-not-doing-that-for-free-737233959df3
Medium
Polite Ways to Say “I’m Not Doing That for Free”
Whether it’s a potential client trying to get a freebie or an old acquaintance trying to score free advice, here are professional ways to…
نوشتههای ترمینالی
وقتی ازتون کار رایگان میخوان، میتونید این جواب ها رو بدید: https://medium.com/blankpage/polite-ways-to-say-im-not-doing-that-for-free-737233959df3
البته موقعیت رو هم در نظر بگیرید لطفاً. مثلا استاد که تمرین میده اینا رو بهش نگید.
حقیقت:
لازم نیست محیط توسعه نرم افزار jet brains رو نصب کنید تا بتونید با یه زبانی برنامه نویسی کنید.
لازم نیست محیط توسعه نرم افزار jet brains رو نصب کنید تا بتونید با یه زبانی برنامه نویسی کنید.
آیا روشن کردن بهینهسازی کامپایلر ممکنه باعث باگ بشه؟
بله! چرا که نه.
البته معمولا اگه ازشون اگاه باشیم قابل پیشگیری هستند. اما خب باگه دیگه. کلا باگ رو اگر از قبل اگاه باشی پیشبینیش میکنی و باگ نیست.
جاهایی که پیش میاد ایناست:
+ وقتی که زبان undefined behavior داره. توی حالت دیباگ یه جور رفتار میکنه و شما روش حساب میکنین اما توی حالت بهینه شده یه جور دیگه کار میکنه.
+ کلا کارهای عجیب غریب کردن مثل حساب کردن روی اورفلو شدن یه متغیر کامپایلر رو گیج میکنه.
https://stackoverflow.com/a/2722330/10999348
بله! چرا که نه.
البته معمولا اگه ازشون اگاه باشیم قابل پیشگیری هستند. اما خب باگه دیگه. کلا باگ رو اگر از قبل اگاه باشی پیشبینیش میکنی و باگ نیست.
جاهایی که پیش میاد ایناست:
+ وقتی که زبان undefined behavior داره. توی حالت دیباگ یه جور رفتار میکنه و شما روش حساب میکنین اما توی حالت بهینه شده یه جور دیگه کار میکنه.
+ کلا کارهای عجیب غریب کردن مثل حساب کردن روی اورفلو شدن یه متغیر کامپایلر رو گیج میکنه.
https://stackoverflow.com/a/2722330/10999348
Stack Overflow
Can compiler optimization introduce bugs?
Today I had a discussion with a friend of mine and we debated for a couple of hours about "compiler optimization".
I defended the point that sometimes, a compiler optimization might introduce bugs...
I defended the point that sometimes, a compiler optimization might introduce bugs...
مشکلات امنیتیای که ممکنه به خاطر بهینهسازیهای کامپایلر به وجود بیان (حتی در کرنل لینوکس)
https://www.redhat.com/en/blog/security-flaws-caused-compiler-optimizations
https://www.redhat.com/en/blog/security-flaws-caused-compiler-optimizations
Redhat
Security flaws caused by compiler optimizations
An optimizing compiler is one that tries to maximize some attribute(s) of an executable program at the expense of other attribute(s). Usually the goal is to improve performance or code size at the expense of compiler time and the possibility to debug the…
دیتابیسها (DBMSها) چطوری اطلاعات رو روی دیسک ذخیره میکنند؟
واقعیت اینه که وقتی حجم اطلاعاتمون زیاده و نیاز به پایداری داریم، نگهداریشون توی Ram امکانپذیر نیست و مجبوریم توی دیسک بنویسیم.
اما این DMBSها چطوری اطلاعات رو توی دیسک مینویسن که حداکثر کارایی رو داشته باشه؟
چیزی که خوندم (لینک هاش در پایین) اینطوریه که اطلاعات رو در یکسری بلوک ۴ کیلوبایتی نگهداری میکنن. این ۴کیلوبایت احتمالا یه ضریبی از بلوک های هارد دیسکه، در نتیجه هربار که یه بلوک رو بخواد، هارد دیسک هم همونقدر میخونه نه بیشتر (که باعث هدر رفتنه) نه کمتر (که باعث میشه دو یا چند بار دیسک بلوک بخونه)
علاوه بر این دیتابیس بلوک های خونده شده رو توی رم نگه میداره (تا جایی که سیستم عامل اون دیتا رو باز نبره توی هارد و page fault بشه). حتی اگه یه پیج تغییر کردی هم توی مموری می نویسه ولی یادش هست اون پیج dirty شده و بعدا دوباره مینویسه توی هارد.
منابع:
https://stackoverflow.com/questions/7901581/how-does-a-typical-rdbms-store-and-locate-blocks
و
https://www.quora.com/How-does-a-relational-DBMS-internally-store-its-data-In-what-type-of-data-structure-How-does-it-offer-the-rapid-retrieval-without-loading-the-entire-database-into-the-main-memory-I-have-heard-many-DBMS-use-B-trees
واقعیت اینه که وقتی حجم اطلاعاتمون زیاده و نیاز به پایداری داریم، نگهداریشون توی Ram امکانپذیر نیست و مجبوریم توی دیسک بنویسیم.
اما این DMBSها چطوری اطلاعات رو توی دیسک مینویسن که حداکثر کارایی رو داشته باشه؟
چیزی که خوندم (لینک هاش در پایین) اینطوریه که اطلاعات رو در یکسری بلوک ۴ کیلوبایتی نگهداری میکنن. این ۴کیلوبایت احتمالا یه ضریبی از بلوک های هارد دیسکه، در نتیجه هربار که یه بلوک رو بخواد، هارد دیسک هم همونقدر میخونه نه بیشتر (که باعث هدر رفتنه) نه کمتر (که باعث میشه دو یا چند بار دیسک بلوک بخونه)
علاوه بر این دیتابیس بلوک های خونده شده رو توی رم نگه میداره (تا جایی که سیستم عامل اون دیتا رو باز نبره توی هارد و page fault بشه). حتی اگه یه پیج تغییر کردی هم توی مموری می نویسه ولی یادش هست اون پیج dirty شده و بعدا دوباره مینویسه توی هارد.
منابع:
https://stackoverflow.com/questions/7901581/how-does-a-typical-rdbms-store-and-locate-blocks
و
https://www.quora.com/How-does-a-relational-DBMS-internally-store-its-data-In-what-type-of-data-structure-How-does-it-offer-the-rapid-retrieval-without-loading-the-entire-database-into-the-main-memory-I-have-heard-many-DBMS-use-B-trees
Stack Overflow
How does a typical RDBMS store and locate blocks?
I understand that the block is the fundamental physical element of an FS and DBMS. How does a relational database management system, like MySQL or Oracle, store its block data and later load it into
دوست دارید دوستاتون از طریق دیسکورد بدونن شما مشغول ادیت فایل با ویم هستین؟
این افزونه برای شماست.
https://github.com/vimsence/vimsence
این افزونه برای شماست.
https://github.com/vimsence/vimsence
GitHub
GitHub - vimsence/vimsence: Discord Rich Presence plugin for Vim
Discord Rich Presence plugin for Vim. Contribute to vimsence/vimsence development by creating an account on GitHub.
همونطور که میدونین، همروندی در گو به کمک چنل هاست.
این مدل رو میگن csp یا
communicating sequential processes
در موردش بیشتر بخونین:
https://en.wikipedia.org/wiki/Communicating_sequential_processes
این مدل رو میگن csp یا
communicating sequential processes
در موردش بیشتر بخونین:
https://en.wikipedia.org/wiki/Communicating_sequential_processes
Wikipedia
Communicating sequential processes
formal language for concurrent systems
به نظرم دوستانهترین و واضح ترین مطلبی بود که در مورد چرا لینوکس خونده بودم.
اگر خودمم میخواستم بنویسم همین رو مینوشتم، فقط مثال هام با arch بود.
https://vrgl.ir/zpgFH
اگر خودمم میخواستم بنویسم همین رو مینوشتم، فقط مثال هام با arch بود.
https://vrgl.ir/zpgFH
ویرگول
چرا از لینوکس استفاده میکنم؟
دلایل فنی و علمی و سلیقه ای