مشکلات امنیتیای که ممکنه به خاطر بهینهسازیهای کامپایلر به وجود بیان (حتی در کرنل لینوکس)
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
ویرگول
چرا از لینوکس استفاده میکنم؟
دلایل فنی و علمی و سلیقه ای
کامپتیبل بودن باگ ها! برای اطمینان از backward compatibility
https://en.wikipedia.org/wiki/Bug_compatibility
https://en.wikipedia.org/wiki/Bug_compatibility
Wikipedia
Bug compatibility
exact compatibility between computer systems, replicating even undesirable behavior
سامانه هوشمند قطعی برق رو یکی وصل کنه حالا
https://shahab.tbtb.ir/public/map/index
https://shahab.tbtb.ir/public/map/index
به نظرم سورس کد yay به عنوان یه پروژه قشنگ Go بخونید.
اونقدرم پیچیده نیست ولی زیباست.
https://github.com/Jguer/yay
اونقدرم پیچیده نیست ولی زیباست.
https://github.com/Jguer/yay
GitHub
GitHub - Jguer/yay: Yet another Yogurt - An AUR Helper written in Go
Yet another Yogurt - An AUR Helper written in Go. Contribute to Jguer/yay development by creating an account on GitHub.
اشتباهات برنامه نویسات مبتدی
https://jscomplete.com/learn/pro-programmer/beginner-programmers-mistakes
https://jscomplete.com/learn/pro-programmer/beginner-programmers-mistakes
jsComplete.com
Beginner Programmers' Mistakes :: The Professional Programmer
The mistakes beginner programmers usually make. Learn to identify these situations and avoid them. :: My tips and advice on your journey from a beginner programmer into a professional one
شاید براتون پیش اومده باشه که چطوری خود gitignore رو از git ایگنور کنیم؟
برای اینکار دو تا ایده هست.
اولی
https://luisdalmolin.dev/blog/ignoring-files-in-git-without-gitignore/
دومی هم igtignore سراسری
https://stackoverflow.com/questions/7335420/global-git-ignore
برای اینکار دو تا ایده هست.
اولی
.git/info/exclude
https://luisdalmolin.dev/blog/ignoring-files-in-git-without-gitignore/
دومی هم igtignore سراسری
https://stackoverflow.com/questions/7335420/global-git-ignore
Stack Overflow
Global Git ignore
I want to set up Git to globally ignore certain files.
I have added a .gitignore file to my home directory (/Users/me/) and I have added the following line to it:
*.tmproj
But it is not ignoring ...
I have added a .gitignore file to my home directory (/Users/me/) and I have added the following line to it:
*.tmproj
But it is not ignoring ...
👍2
آیا امنه که یه برنامه سی رو فقط کامپایل کنیم؟ (ران نه)
جواب اینه که متاسفانه نه.
https://security.stackexchange.com/questions/138881/is-it-dangerous-to-compile-arbitrary-c
جواب اینه که متاسفانه نه.
https://security.stackexchange.com/questions/138881/is-it-dangerous-to-compile-arbitrary-c
Information Security Stack Exchange
Is it dangerous to compile arbitrary C?
I have a small server and I would like to check compile times on C programs provided by users. The programs would never be run only compiled.
What risks are there to allowing users to compile
What risks are there to allowing users to compile