This media is not supported in your browser
VIEW IN TELEGRAM
سه تا از بهترین گیم هایی که بازی کردم، سهگانه دارک سولز
🔥2
داشتم دنبال ریسورس در مورد Multi-Threading توی C میگشتم، بهترین جایی که پیدا کردم سایت Gnu بود. لینکش رو میذارم شاید واسه شما هم جالب باشه و به کارتون بیاد:
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Threads.html
https://www.gnu.org/software/libc/manual/html_node/ISO-C-Threads.html
www.gnu.org
ISO C Threads (The GNU C Library)
Next: POSIX Threads, Up: Threads [Contents][Index]
🔥3❤2👍2
Sam.sh
cloud-coffee.jpg
این چهار پس زمینه رو از این ریپو برداشتم:
https://github.com/orangci/walls-catppuccin-mocha
تصاویرش تم Catppuccin رو داره، اگه از این چهارتا خوشتون اومد، قطعا از تصاویر این ریپو لذت خواهید برد.
https://github.com/orangci/walls-catppuccin-mocha
تصاویرش تم Catppuccin رو داره، اگه از این چهارتا خوشتون اومد، قطعا از تصاویر این ریپو لذت خواهید برد.
👍2
بالاخره بعد از مدت ها فهمیدم مشکل لپتاپم چیه که بعد از Sleep کلا Freeze میشد!
مشکل هارد درایوم بود که بعد از sleep دیگه قابل کنترل نبود. این مشکل فقط با اضافه کردن یه پارامتر به kernel حل شد.
پارامتری که به kernel اضافه کردم: ( این برای HP laptops with AMD CPU هست )
پارامتر اصلی برای سیستم های دیگه:
نحوه اضافه کردن:
1- ادیت فایل زیر
اضافه کردن اون پارامتر به متغیر زیر
بعدش هم ریلود کانفیگ grub با دستور پایین
لینک داکیومنت آرچ:
https://wiki.archlinux.org/noscript/Solid_state_drive/NVMe#Controller_failure_due_to_broken_suspend_support
مشکل هارد درایوم بود که بعد از sleep دیگه قابل کنترل نبود. این مشکل فقط با اضافه کردن یه پارامتر به kernel حل شد.
پارامتری که به kernel اضافه کردم: ( این برای HP laptops with AMD CPU هست )
amd_iommu=off
پارامتر اصلی برای سیستم های دیگه:
iommu=soft
نحوه اضافه کردن:
1- ادیت فایل زیر
/etc/default/grub
اضافه کردن اون پارامتر به متغیر زیر
GRUB_CMDLINE_LINUX_DEFAULT
بعدش هم ریلود کانفیگ grub با دستور پایین
sudo grub-mkconfig -o /boot/grub/grub.cfg
لینک داکیومنت آرچ:
https://wiki.archlinux.org/noscript/Solid_state_drive/NVMe#Controller_failure_due_to_broken_suspend_support
❤3👏3🔥2👍1
📌 همیشه یه سوالی تو ذهنم بوده و اون این بوده که OOP واقعاً چیه؟ (نه اون چیزی که تو کتابا میگن) خیلیها فکر میکنن OOP یعنی کلاس و ارثبری و پلیمورفیسم... ولی اصلش چیز دیگهست.
و OOP واقعی (اوریجینال) از زبونی به اسم Smalltalk اومده اونم تو دهه ۷۰ میلادی. اون موقع تعریف OOP این بود:
«همه چیز یک شیء است و اشیاء با ارسال پیام با هم ارتباط برقرار میکنند.»
منظورم از OOP واقعی همون Objectivism هست.
ویژگیهای OOP واقعی (به سبک Smalltalk):
- همه چیز شیء است
عدد، رشته، تابع، حتی کلاسها خودشون شیء هستن.
- هیچ تابع مستقلی وجود نداره
- همهچیز از طریق ارسال پیام به اشیاء انجام میشه.
مثلا بهجای x + 5 نوشته میشه: x add: 5
- رفتار در کنار داده قرار داره
اشیاء خودشون تعیین میکنن چطور به پیامها پاسخ بدن.
- کپسولهسازی واقعی
شما نمیتونید مستقیماً به دادههای درونی اشیاء دسترسی داشته باشید. فقط از طریق پیام تعامل میکنید.
یعنی چی؟
یعنی تو OOP واقعی، تمرکز روی ساختار نیست، بلکه روی "رفتار" و "تعامل" بین اشیاءه. کد مثل جامعهای از اشیاءه که با هم در ارتباط هستن.
🧩 ارسال و دریافت پیام یعنی چی؟
یعنی به جای اینکه مستقیم یه تابع رو صدا بزنی، یه "درخواست" (پیام) به یه شیء میفرستی، و اون خودش تصمیم میگیره چطور جواب بده.
در C کلاس نداریم، ولی میتونیم با struct و function pointer یه سبک OOP شبیهسازی کنیم:
و OOP واقعی (اوریجینال) از زبونی به اسم Smalltalk اومده اونم تو دهه ۷۰ میلادی. اون موقع تعریف OOP این بود:
«همه چیز یک شیء است و اشیاء با ارسال پیام با هم ارتباط برقرار میکنند.»
منظورم از OOP واقعی همون Objectivism هست.
ویژگیهای OOP واقعی (به سبک Smalltalk):
- همه چیز شیء است
عدد، رشته، تابع، حتی کلاسها خودشون شیء هستن.
- هیچ تابع مستقلی وجود نداره
- همهچیز از طریق ارسال پیام به اشیاء انجام میشه.
مثلا بهجای x + 5 نوشته میشه: x add: 5
- رفتار در کنار داده قرار داره
اشیاء خودشون تعیین میکنن چطور به پیامها پاسخ بدن.
- کپسولهسازی واقعی
شما نمیتونید مستقیماً به دادههای درونی اشیاء دسترسی داشته باشید. فقط از طریق پیام تعامل میکنید.
یعنی چی؟
یعنی تو OOP واقعی، تمرکز روی ساختار نیست، بلکه روی "رفتار" و "تعامل" بین اشیاءه. کد مثل جامعهای از اشیاءه که با هم در ارتباط هستن.
🧩 ارسال و دریافت پیام یعنی چی؟
یعنی به جای اینکه مستقیم یه تابع رو صدا بزنی، یه "درخواست" (پیام) به یه شیء میفرستی، و اون خودش تصمیم میگیره چطور جواب بده.
در C کلاس نداریم، ولی میتونیم با struct و function pointer یه سبک OOP شبیهسازی کنیم:
#include <stdio.h>
typedef struct {
void (*speak)(void);
} Animal;
void dogSpeak() {
printf("Woof!\n");
}
void catSpeak() {
printf("Meow!\n");
}
int main() {
Animal dog = { .speak = dogSpeak };
Animal cat = { .speak = catSpeak };
dog.speak(); // ارسال پیام به سگ
cat.speak(); // ارسال پیام به گربه
}
❤4
این چند وقت من مشکل فرستادن فایل های حجیم واسه دوستام رو داشتم که واسه حل این مشکل یه راه خوب پیدا کردم:
🔁 فرستادن فایلهای حجیم – فقط با یه سرور واسطه!
این روش یه چیز خفن داره:
فایل رو لازم نیست جایی آپلود کنی! فقط لازمه یه VPS موقتی داشته باشی (مثلاً یه سرور ارزون از ابرآروان برای چند ساعت👌)
🚀 روش کار:
۱. روی سیستمت یه فایلسرور راه بنداز:
۲. بعد با این دستور یه تانل از سرور بزن به سیستمت:
۳. حالا کسی که فایل رو میخواد دریافت کنه خیلی راحت روی سیستمش از این لینک که مثال زدم واسه دریافت فایل استفاده میکنه:
و اینطوری فایل مستقیم از سیستمت دانلود میشه.
#ssh #filetransfer #linuxmagic #devtools
🔁 فرستادن فایلهای حجیم – فقط با یه سرور واسطه!
این روش یه چیز خفن داره:
فایل رو لازم نیست جایی آپلود کنی! فقط لازمه یه VPS موقتی داشته باشی (مثلاً یه سرور ارزون از ابرآروان برای چند ساعت👌)
🚀 روش کار:
۱. روی سیستمت یه فایلسرور راه بنداز:
python3 -m http.server 8000
۲. بعد با این دستور یه تانل از سرور بزن به سیستمت:
ssh -R 9090:localhost:8000 user@your-vps-ip
۳. حالا کسی که فایل رو میخواد دریافت کنه خیلی راحت روی سیستمش از این لینک که مثال زدم واسه دریافت فایل استفاده میکنه:
http://your-vps-ip:9090/yourfile.zip
و اینطوری فایل مستقیم از سیستمت دانلود میشه.
#ssh #filetransfer #linuxmagic #devtools
❤3👍1🔥1
❓ چرا به فایلهای ISO میگن Image؟ مگه Image معنی "عکس" نمیده؟
اگه براتم سوال شده که چرا به فایلهایی مثل .iso میگن "ایمیج"، با اینکه ظاهراً هیچ ربطی به عکس ندارن، این پست واسه توئه 👇
توی دنیای کامپیوتر، کلمهی Image فقط به معنی عکس نیست!
اینجا "Image" یعنی یه کپی دقیق و کامل از کل محتویات یه دیسک (مثل CD یا DVD)، با همون ساختار فایلها، سکتورها و حتی boot info!
🧠 یعنی چی؟
فرض کن یه CD داری با کلی فایل و پوشه و اطلاعات بوت. وقتی ازش یه ایمیج میگیری (مثلاً یه ISO)، داری همهی اون چیزا رو تو یه فایل فشردهشده و مرتب ذخیره میکنی.
انگار از کل دیسک یه "تصویر دیجیتال دقیق" گرفتیم، حالا اگه اون فایل رو دوباره روی یه CD یا USB بریزیم، انگار همون دیسک اصلی رو دوباره ساختیم!
با تشکر از فرهان عزیز که این سوال جالب رو مطرح کرد @atracboy
#image #iso #files
اگه براتم سوال شده که چرا به فایلهایی مثل .iso میگن "ایمیج"، با اینکه ظاهراً هیچ ربطی به عکس ندارن، این پست واسه توئه 👇
توی دنیای کامپیوتر، کلمهی Image فقط به معنی عکس نیست!
اینجا "Image" یعنی یه کپی دقیق و کامل از کل محتویات یه دیسک (مثل CD یا DVD)، با همون ساختار فایلها، سکتورها و حتی boot info!
🧠 یعنی چی؟
فرض کن یه CD داری با کلی فایل و پوشه و اطلاعات بوت. وقتی ازش یه ایمیج میگیری (مثلاً یه ISO)، داری همهی اون چیزا رو تو یه فایل فشردهشده و مرتب ذخیره میکنی.
انگار از کل دیسک یه "تصویر دیجیتال دقیق" گرفتیم، حالا اگه اون فایل رو دوباره روی یه CD یا USB بریزیم، انگار همون دیسک اصلی رو دوباره ساختیم!
با تشکر از فرهان عزیز که این سوال جالب رو مطرح کرد @atracboy
#image #iso #files
❤6👍5🔥3
Forwarded from RahaRM | رها آرام
Don't track me Google
Removes the annoying link-conversion at Google Search / maps / ...
for firefox
for chrome
#tool #extension
Removes the annoying link-conversion at Google Search / maps / ...
for firefox
for chrome
#tool #extension
Sam.sh
بالاخره بعد از مدت ها فهمیدم مشکل لپتاپم چیه که بعد از Sleep کلا Freeze میشد! مشکل هارد درایوم بود که بعد از sleep دیگه قابل کنترل نبود. این مشکل فقط با اضافه کردن یه پارامتر به kernel حل شد. پارامتری که به kernel اضافه کردم: ( این برای HP laptops with…
🔒 این IOMMU چیه؟ به چه دردی میخوره؟
تکنولوژی IOMMU یه تکنولوژیه توی سیستمعامل (مثل لینوکس) که موقع کار با کارت گرافیک، کارت شبکه یا هر دستگاهی که مستقیم به رم دسترسی داره، به کار میاد.
✅ کارش چیه؟
۱. کنترل دسترسی: باعث میشه دستگاهها فقط به بخشهایی از رم که اجازه دارن دسترسی داشته باشن، نه کل رم سیستم.
۲. امنیت بیشتر: بدون IOMMU، یه دستگاه ممکنه اشتباهی یا به خاطر یه باگ، بره اطلاعات جاهای اشتباهی از رم رو بخونه یا بنویسه. IOMMU جلوشو میگیره.
۳. برای مجازیسازی لازمه: اگه با ماشین مجازی (مثل QEMU/KVM) کار میکنی و میخوای کارت گرافیک رو بهش پاس بدی، IOMMU باید روشن باشه.
🧠 خلاصه: IOMMU باعث میشه دستگاهها با نظم و امنیت به رم وصل بشن. مخصوصاً برای کارهای حرفهای مثل مجازیسازی یا امنیت سیستم خیلی مهمه.
تکنولوژی IOMMU یه تکنولوژیه توی سیستمعامل (مثل لینوکس) که موقع کار با کارت گرافیک، کارت شبکه یا هر دستگاهی که مستقیم به رم دسترسی داره، به کار میاد.
✅ کارش چیه؟
۱. کنترل دسترسی: باعث میشه دستگاهها فقط به بخشهایی از رم که اجازه دارن دسترسی داشته باشن، نه کل رم سیستم.
۲. امنیت بیشتر: بدون IOMMU، یه دستگاه ممکنه اشتباهی یا به خاطر یه باگ، بره اطلاعات جاهای اشتباهی از رم رو بخونه یا بنویسه. IOMMU جلوشو میگیره.
۳. برای مجازیسازی لازمه: اگه با ماشین مجازی (مثل QEMU/KVM) کار میکنی و میخوای کارت گرافیک رو بهش پاس بدی، IOMMU باید روشن باشه.
🧠 خلاصه: IOMMU باعث میشه دستگاهها با نظم و امنیت به رم وصل بشن. مخصوصاً برای کارهای حرفهای مثل مجازیسازی یا امنیت سیستم خیلی مهمه.
⚡6🍓2
📛سوال: Undefined Behavior (UB) چیه؟
تو C/C++ بعضی کدها نه خطا میدن، نه کرش میکنن، ولی پشت پرده ممکنه کل سیستم رو بریزن به هم! اینا میشن رفتار نامشخص یا همون UB.
🧨 یعنی چی؟
یعنی کامپایلر اجازه داره هر کاری دلش خواست با کدت بکنه. ممکنه:
* کدت درست کار کنه ✅
* کرش کنه 💥
* اصلاً اجرا نشه 🙃
* یا بدتر: در ظاهر درست باشه ولی پشتصحنه فاجعه بسازه 😶🌫️
📎 چند مثال از UB
یک. تقسیم بر صفر 😬
دو. تغییر و استفاده همزمان از یه متغیر
سه. آرایه رو ترکوندی
چهار. استفاده از متغیر مقداردهینشده
پنج. استفاده از حافظه آزادشده با
🛡 چطور جلوگیری کنیم؟
* از کدهای مبهم و پر پیچوخم پرهیز کن
* همیشه مقدار اولیه بده
* تغییر و خواندن همزمان روی یه متغیر نکن
* از ابزارهایی مثل
#C #Cplusplus #ProgrammingTips #UndefinedBehavior
تو C/C++ بعضی کدها نه خطا میدن، نه کرش میکنن، ولی پشت پرده ممکنه کل سیستم رو بریزن به هم! اینا میشن رفتار نامشخص یا همون UB.
🧨 یعنی چی؟
یعنی کامپایلر اجازه داره هر کاری دلش خواست با کدت بکنه. ممکنه:
* کدت درست کار کنه ✅
* کرش کنه 💥
* اصلاً اجرا نشه 🙃
* یا بدتر: در ظاهر درست باشه ولی پشتصحنه فاجعه بسازه 😶🌫️
📎 چند مثال از UB
یک. تقسیم بر صفر 😬
int x = 5 / 0;دو. تغییر و استفاده همزمان از یه متغیر
int a = 5; a += ++a + a++;سه. آرایه رو ترکوندی
int arr[3]; arr[5] = 10;چهار. استفاده از متغیر مقداردهینشده
int x; int y = x + 1;پنج. استفاده از حافظه آزادشده با
free() 🔥🛡 چطور جلوگیری کنیم؟
* از کدهای مبهم و پر پیچوخم پرهیز کن
* همیشه مقدار اولیه بده
* تغییر و خواندن همزمان روی یه متغیر نکن
* از ابزارهایی مثل
UBSan, AddressSanitizer, و کلی هشدار کامپایلر (-Wall -Wextra) استفاده کن#C #Cplusplus #ProgrammingTips #UndefinedBehavior
❤8
اگه دنبال یه فضای صوتی خاص برای تمرکز هستی، پیشنهاد میکنم حتما یه سر به این صفحه بزنی:
twin black lodges - myNoise
یه صدای عجیب و آروم داره که انگار ذهن رو میبره یه جای دیگه. خیلی به درد وقتایی میخوره که میخوای عمیق کار کنی، بنویسی، یا فقط با خودت خلوت کنی.
#music #focus #mynoise
twin black lodges - myNoise
یه صدای عجیب و آروم داره که انگار ذهن رو میبره یه جای دیگه. خیلی به درد وقتایی میخوره که میخوای عمیق کار کنی، بنویسی، یا فقط با خودت خلوت کنی.
#music #focus #mynoise
mynoise.net
Twin Black Lodges — Interactive Music Player
An enigmatic soundscape inspired from an emblematic television series of the nineties.
❤2