Dev Perfects
40 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Md Daily (Mahan)
داشتم یه ویدیو تو یوتیوب تحت عنوان What Happens When a Program Calls Sleeps میدیدم که خیلی جالب بود اگه تا حالا از تابع sleep توی برنامه‌نویسی استفاده کردید، شاید براتون سوال شده که چرا اسمش «sleep» هست و نه مثلاً «wait» یا «delay»؟ این ویدیو یه سفر جذاب به پشت صحنه‌ی این تابع ساده‌ست که پر از نکات سخت‌افزاری و نرم‌افزاریه. این تابع تقریباً توی همه زبان‌های برنامه‌نویسی هست (تو جاوااسکریپت داستانش فرق داره).

اولین چیزی که ویدیو بهش می‌پردازه، اینه که تابع sleep چطور توی دنیای واقعی کار می‌کنه. می‌ره سراغ سخت‌افزار و نشون می‌ده که چطور با استفاده از فلیپ‌فلاپ‌ها (یه جور مدار الکترونیکی که مثل سلول‌های حافظه کار می‌کنن) می‌شه یه تایمر ساخت.

این تایمرها توی سی‌پی‌یو مثل یه ساعت شنی دیجیتال عمل می‌کنن: یه عدد اولیه می‌گیرن و با هر تیک ساعت، شمارش معکوس می‌کنن تا به صفر برسن. وقتی یه برنامه sleep رو صدا می‌زنه، سیستم‌عامل با یه system call این تایمر رو تنظیم می‌کنه و وقتی تایمر به صفر رسید، با یه interrupt برنامه رو بیدار می‌کنه.

ولی یه چالش بزرگ وجود داره:
تعداد تایمرهای سخت‌افزاری توی یه چیپ محدوده. مثلاً اگه فقط دو تا تایمر داشته باشیم و سه تا برنامه بخوان sleep کنن، یکی باید منتظر بمونه! اینجا نرم‌افزار وارد بازی می‌شه. ویدیو توضیح می‌ده که چطور سیستم‌عامل با یه تکنیک هوشمندانه، فقط با یه تایمر می‌تونه چندین برنامه رو مدیریت کنه. برنامه‌هایی که sleep صدا می‌زنن، توی یه «صف خواب» می‌رن و سیستم‌عامل با یه تایمر و یه سری محاسبات، مطمئن می‌شه که هر کدوم سر وقت بیدار بشن.

بعدش، ویدیو یه روش قدیمی‌تر به اسم busy waiting رو بررسی می‌کنه که توی اون، برنامه با یه حلقه‌ی بی‌فایده، پردازنده رو مشغول نگه می‌داشت تا زمان بگذره. این روش نه تنها دقت پایینی داره (چون به سرعت پردازنده و نوع دستورات بستگی داره)، بلکه کلی از منابع سیستم رو هدر می‌ده و حتی می‌تونه سیستم رو قفل کنه! خوشبختانه، سیستم‌عامل‌های مدرن با استفاده از برنامه‌ریزی پردازنده (CPU scheduling) این مشکل رو حل کردن. وقتی برنامه sleep رو صدا می‌زنه، عملاً به سیستم‌عامل می‌گه: «من برای یه مدت نمی‌خوام پردازنده رو اشغال کنم، بذار بقیه کار کنن.»

یه نکته‌ی جالب دیگه اینه که دقت sleep همیشه ۱۰۰٪ نیست. چون بعد از بیدار شدن، برنامه می‌ره توی صف آماده و اگه سیستم شلوغ باشه، ممکنه یه کم بیشتر منتظر بمونه. برای همین، وقتی از sleep استفاده می‌کنید، زمان داده‌شده یه حداقل تضمین‌شده‌ست، نه یه عدد دقیق. این موضوع توی سیستم‌های عمومی (غیر real-time) کاملاً عادیه و ویدیو خیلی خوب توضیح می‌ده که چرا نباید انتظار دقت میکروثانیه‌ای داشته باشیم.

در نهایت، ویدیو به این می‌رسه که چرا اسم این تابع «sleep» هست. «wait» می‌تونه گنگ باشه و به هر نوع انتظاری اشاره کنه (مثل busy waiting)، ولی «sleep» یعنی برنامه کاملاً غیرفعال می‌شه، منابع رو آزاد می‌کنه و مثل وقتی که ما می‌خوابیم، منتظر می‌مونه تا بیدار بشه. این اسم حسابی به ماهیت این تابع می‌خوره!

اگه کنجکاو شدید که جزئیات بیشتری درباره‌ی این موضوع بدونید، این ویدیو پر از توضیحات باحال و انیمیشن‌های جذابه که مفاهیم پیچیده رو ساده می‌کنه. حتماً یه سر بزنید و خودتون ببینید:

📹 https://www.youtube.com/watch?v=e5g8eYKEhMw


—-

💡 مثل همیشه کنجکاو بمونید :)

🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
تو دیسک‌های SSD مفهومی داریم به اسم Terabytes Written یا TBW که نشون می‌ده تا چه حجمی از دیتا میتونیم روی دیسک بنویسیم. مثلاً SSD با 600TBW می‌تونه 600 ترابایت دیتا بنویسه قبل از اینکه عمر مفیدش تموم بشه.
برای اینکه عمر SSD رو متوجه بشیم، می‌تونیم TBW رو با استفاده از ابزارهای دیسک مثل CrystalDiskInfo یا smartctl چک کنیم.

مثلاً عدد ۶۰۰ برای TBW: اگه کاربر معمولی باشیم و فرض کنیم روزی ۱۰۰ گیگ اطلاعات رو دیسک مینویسم، حدود ۱۶ سال طول میکشه تا به عدد 600TBW برسیم!

@DevTwitter | <Mohammad/>
آلفا هفتم از میزکار کازمیک عرضه شد.

تغییرات خیلی خوبی داشته. (هنوز میانبر تغییر زبان کیبورد نداره)


https://blog.system76.com/post/cosmic-alpha-7-never-been-beta


@SohrabContents
۱ هفته‌اس دارم نسخه جدید ChatGPT رو روی کد بیس بیش از ۱۵۰۰ خط تست می‌کنم.

مشکلات :
۱- خیلی زود context رو فراموش می‌کنه.
۲- خیلی تغییر syntax داره و استانداردهای پروژه رو عوض می‌کنه.
۳- خیلی وقتا حتی توی context های کوچیک فراموش می‌کنه که یک متغییر یا تابع یا ... جای دیگری تعریف شده.

مزیت:
اگر داکیومنت کتابخونه، خیلی جدید باشه؛ می‌تونید لینک رو بهش بدید و بعد ازش port کردن کدها رو بخواید.
توی این مورد عملکرد فوق‌العاده‌ای داره

(فکر کنم بخاطر همین هم ماکروسافت برای پورت کردن کدها به Rust از مدل‌های هوش مصنوعی بر پایه chatgpt استفاده می‌کنه)

اما ۳ مورد دیگه رو هم تست کردم همزمان :

Grok3, Gemini2.5 Pro, Deepseek

مورد اول، grok بدون شک بسیار عالی جواب میده؛ بخصوص وقتی پرامپت‌ هارو کمی جزئی بهش میدید. همواره رنک اول من هست.

مورد دوم، gemini؛ نمی‌دونم تیم deepmind چیکار کرد ولی بنظر میاد بعد از کار روی پروتئین و دستاوردهای اون سمت تازه فرصت کردند منابع کافی در اختیار اینکار بذارند.
خروجیش اصلا قابل مقایسه با نسخه‌های قبلی نیست.
ولی بعد از چند هفته از experimental گذشتن، دیگه روی کدهای بزرگ خیلی زود بسته میشه دسترسی نهایتاً ۳ تا پرامپت و بعد از اون باید خرید اکانت بزنم.
که خب با توجه به اینکه ۹۹٪ مواقع 403 میگیرم با vpn برام ارزش خرید نداره.

در نهایت deepseek همیشه جواب میده (اگر سرورهاش شلوغ نباشه) محدودیت هم ندارم با ip ایران راحت وصل میشه و سرعت خوبی هم داره.
اما consistency بین پرامپت‌ها نداره و ممکنه یک راهکار رو با مثلاً regex بهتون بده و برای تابع بعدی از Trie استفاده کنه و ...

برای همین خیلی وقتا باید بهش بگم دقیقاً چی نیاز هست.

مواردی مثل claude, .... رو هم تست نمی‌کنم.

این تست‌هارو کامل روی نسخه‌های رایگان انجام دادم که همه دوستان هم بتونند استفاده کنند.

شاید باورتون نشه، اما برای یکی که می‌دونه چیکار داره می‌کنه، حتی نیازی به خرید هم نمی‌بینم دیگه، درنهایت نکته آخر اینکه :

اگر پرامپت‌های کوچیک و ساده دارید هم سراغ chatgpt نرید؛

Duckduckgo ai

بدون هیچ محدودیتی دسترسی به مدل‌های سبک شرکت‌های مختلف رو کامل رایگان بهتون میده و history رو هم فقط روی سیستم خودتون نگهداری می‌کنه.

بیشترین استفاده من پس به این ترتیب هست :
Duckduckgo
Grok3
Deepseek
Chatgpt (if search needed)

Gemini2.5 pro (review final result)


آخری خیلی جوابای خوبی میده ولی خب محدودیتش توی ۲ هفته اخیر خیلی زیاد شده برای همین مجبورم کمتر استفاده کنم.




پینوشت:
پرامپت برای همه مدل‌ها یکسان داده می‌شد. کپی و پیست بسیار داشتم.
کمپین پایان ۱۰ با کمک بنیاد کی‌دی‌ای راه‌اندازی شده و هدفش آگاه کردن افراد نسبت به گزینه‌های جایگزین بعد از پایان پشتیبانی از ویندوز ۱۰ هستش.

ترجمه فارسی وبسایت این کمپین ارسال شده و در دست برسی هستش.

شما هم می‌تونید با طراحی پوستر، ایجاد جشن نصب توزیع و همچنین راه‌اندازی جلساتی برای آگاه‌سازی افراد نسبت به پایان ویندوز ۱۰، در این کمپین مشارکت کنید.

🔗 https://endof10.org/



@kde_fa
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۸۸۶

بسیار بخوانده ام دستان و سمر
از عاشق و معشوق و غم و خون جگر
پای علم عشق همه عشق تو است
تو خود دگری شها و عشق تو دگر

#مولانا | گنجور
📍@iipoem
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱)
🔶 سیستم پرامپت های لو رفته و فاش شده از مدل های زبانی و پلتفرم هایی مثل Cursor رو توی این ریپازیتوری ببینید !

خیلی میتونه بهتون کمک بکنه این سیستم پرامپت ها که هم ایده ازش بگیرید هم توی پروژه هاتون استفاده کنید .

گیت هاب :

https://github.com/alipyth/-

</Ali Jahani>

@TheRaymondDev
Forwarded from کدنویس یکروزه (پدرام رحیمی)
تیشرت های توریستی رمزی
برای صحبت سریع به هر زبان


کافیه یه دونه از اینا بپوشین و توی چین یا هر کشور دیگه هر کاری داشتین با انگشت یکی از این تصاویر رو نشون بدین!
تبدیل اطلاعات از یک قالب به قالب دیگه یا همون کدگذاریه ..
#code  #skill
داشتم مستندات رسمی APIهای ChatGPT رو بررسی می‌کردم که یه نکته مهم دیدم.

خیلی زیاد پیش اومده که کاربرا می‌پرسن:

«چرا این مدل قبلاً یه جور جواب می‌داد، الان یه چیز دیگه می‌گه؟»
مثلاً می‌گن قبلاً جوابش بهتر (یا بدتر) بود، یا لحنش عوض شده و...
جواب خیلی واضح تو خود داکیومنت OpenAI اومده:

اونجا گفته شده که مدل‌ها تو نسخه‌های مختلفشون ممکنه رفتار متفاوتی داشته باشن. یعنی حتی اگه دقیقاً همون سوال قبلی رو دوباره بپرسید، چون نسخه جدیدتری از مدل فعال شده، جوابش ممکنه فرق کنه.

این تغییرات هم می‌تونه توی لحن، دقت، ساختار جواب یا حتی خود محتوای پاسخ باشه.

از اونجایی که خود ChatGPT همیشه از آخرین نسخه مدل استفاده می‌کنه، این تغییرات کاملاً طبیعی و قابل انتظاره.
خلاصه اگه در مدلی از open ai نسبت به گذشته تغییرات حس کردید، دلیلش اینه که مدل آپدیت شده؛ نه اینکه شما کار خاصی کرده باشید یا مدل خراب شده باشه. خود OpenAI هم گفته که این تغییرات بخشی از روند طبیعی به‌روزرسانی مدله.

@DevTwitter | <Amir Javadzadeh/>
Forwarded from کدنویس یکروزه (پدرام رحیمی)
This media is not supported in your browser
VIEW IN TELEGRAM
برای فریلنسر شدن از پیج arashsoruri نظر استاد dariushtasdighi
در اینستاگرام

#skill
صفحه نحوه نصب پارچ در ویکی پارچ نوشته شد.

https://wiki.parchlinux.com/fa/installation

این صفحه به مرور بهبود خواهد یافت، ایرادات این صفحه را می‌توانید در زیر همین پست اعلام کنید.


@ParchLinux
🔥 تخفیف ویژه اشتراک‌های دانشجویی هوش مصنوعی به مدت محدود!

💯 اشتراک بهترین سرویس های هوش مصنوعی جهان، ویژه برنامه‌نویسی، پژوهش، مقاله نویسی، تجزیه و تحلیل مقالات، PDF و... با بهترین قیمت

ChatGPT Plus (یکماهه ۱،۵۴۹)
Perplexity Pro (شش ماهه ۲,۱۹۰)
Gemini Advanced (پانزده ماهه ۳،۹۰۰)
Super Grok (یکماهه ۱,۷۹۰)
You.com Pro (دوازده ماهه ۳,۹۰۰)
اختصاصی روی ایمیل شخصی شما با پشتیبانی تا آخرین روز اشتراک

🛍 جهت مشاوره و خرید:
💬
t.iss.one/PremiumAIs

⚡️اطلاع از سایر پیشنهادات ویژه:
📣
t.iss.one/BEST4PREMIUMS
Forwarded from SoniaCircuit (Sony)
https://trackingai.org/home

این سایت میاد تست IQ مدل های هوش مصنوعی رو به صورت هفتگی میذاره و test score هایی که گذاشته آمار جالبی نشون میده که میتونه به کارتون بیاد از کدوم llm استفاده کنید.

#llm #ai
اینجا می‌تونید بیش از ۴۳ میلیون کتاب و ۹۸ میلیون مقاله رو رایگان مطالعه یا دانلود کنید.
welib.org

@DevTwitter | <Ayub Kokabi/>
Forwarded from Seyed Mahdi Notes (Seyed Mahdi)
چنل pop2 رادیو مون آپدیت شد

راسی اگه تحت وب سختتونه cli هم داریم
جدا از اون با vlc و mpv هم میشه پلی کنید(دکمه برا کپی url چنل هست توی سایت)

پیشنهادی داشتید پیوی بگید
Forwarded from Linuxor ?
Media is too big
VIEW IN TELEGRAM
آیا فقط کلیک کردن روی لینک های ناشناس خطری هم داره؟ آیا الکی بولدش کردن که روی لینک ها کلیک نکنیم؟


@Linuxor
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰نقطه‌ضعف امنیتی خطرناک در io_uring لینوکس، حملات مخفی روت‌کیت را ممکن می‌کند

🔹یک ضعف امنیتی مهم در سیستم‌عامل لینوکس، مربوط به رابطی به نام io_uring، باعث شده است که روت‌کیت‌ها (نرم‌افزارهای مخرب با دسترسی سطح بالا) بتوانند بدون شناسایی توسط نرم‌افزارهای امنیتی پیشرفته در سطح سازمانی، فعالیت کنند.

🔹این مشکل را پژوهشگران شرکت امنیتی ARMO کشف کرده‌اند. آن‌ها برای نشان دادن جدیت این تهدید، یک روت‌کیت آزمایشی به نام Curing طراحی کردند تا نشان دهند که حمله از این مسیر نه‌تنها ممکن، بلکه عملی و خطرناک است.

🔹رابط io_uring یک رابط در هسته لینوکس است که از سال ۲۰۱۹ در نسخه ۵.۱ معرفی شد و هدف آن انجام عملیات ورودی/خروجی به‌شکل کارآمد و غیرهمزمان است. این سیستم به جای استفاده از فراخوانی‌های سیستمی (syscalls) که معمولاً باعث کندی و توقف برنامه‌ها می‌شوند، از ساختارهایی به نام حلقه‌های اشتراکی (ring buffers) استفاده می‌کند تا درخواست‌های I/O را در صف بگذارد و آن‌ها را بدون توقف برنامه انجام دهد.

🔹
رابط io_uring توانایی انجام بیش از ۶۰ نوع عملیات مختلف را دارد، از جمله خواندن و نوشتن فایل، ایجاد و قبول ارتباطات شبکه‌ای، اجرای فرایندهای جدید، تغییر مجوز فایل‌ها، و خواندن محتوای پوشه‌ها؛ که همه این‌ها ابزارهای قدرتمندی برای ساخت روت‌کیت محسوب می‌شوند.

📍به‌دلیل همین خطرات، گوگل تصمیم گرفته که io_uring را به‌طور پیش‌فرض در اندروید و ChromeOS (که هر دو از هسته لینوکس استفاده می‌کنند) غیرفعال کند.

شرکت امنیتی ARMO پیشنهاد می‌کند که برای رفع این مشکل، باید از تکنولوژی KRSI (Kernel Runtime Security Instrumentation) استفاده شود که امکان اتصال برنامه‌های eBPF به رویدادهای امنیتی در سطح هسته را فراهم می‌کند.

📌نویسنده: حسین سیلانی
📌منبع :  آکادمی کندوی دانش
https://learninghive.ir
Forwarded from Linuxor ?
ولی جدی جدی لینوکس پز نیست سبک زندگیمونه !


@Linuxor
Forwarded from گنوم فارسی
مشکل استفادهٔ زیاد حافظه در افزایهٔ فلت‌پک نرم‌افزارهای گنوم که باعث می‌شد این برنامه در حالت پس‌زمینه تا چند صد مگابایت رم اشغال کنه شناسایی و رفع شد و اوایل خرداد ماه در انتشار ۴۸٫۲ گنوم منتشر خواهد شد‌ 🎉

این مشکل به دست یک تازه‌کار به نام اوون چیاونتون شناسایی، بررسی و رفع شد. شما هم برای مشارکت در گنوم و نرم‌افزار‌های آزاد نیازی به دانش و تجربهٔ فوق‌العاده ندارید و فقط علاقه و پشتکار برای پیشرفتتون کافیه.

https://gitlab.gnome.org/GNOME/gnome-software/-/issues/941#note_2417546
چطور اکانت گیتهابم رو حفظ کنم؟ مروری بر 2FA و اهمیت مدیریت دسترسی‌ها 🔥

چند روز پیش یک مشکلی با سیستم 2FA داشتم که خیلی به موقع خودش رو نشون داد. به اپ 2FA در گوشیم دسترسی نداشتم و از اون بدتر، ریکاوری کدهایی که باید ذخیره می‌کردم رو اصلاً نداشتم! (که خب معمولاً خیلیا همینطوری هستن). این شد که یک وضعیت بحرانی پیش اومد و من به از تمام اکانت‌های گیت‌هابم اومده بودم بیرون. تنها راه دسترسی به اکانتم هم یه PAT یا (Personal Access Token) بود که به سختی ساعت‌ها گشتم تا پیداش کنم و در نهایت تونستم وارد بشم. ولی این اتفاق به من یادآوری کرد که چقدر مهمه چند تا نکته امنیتی ساده رو برای اکانت گیت‌هابمون فعال کنیم تا مثل من یهو از زندگی ناامید نشین!

1- سیو کردن ریکاوری کدها
اولین و مهم‌ترین چیزی که باید انجام بدید اینه که ریکاوری کدها رو دانلود کنید و حتما یه جایی ذخیره کنید. نوشتن اونا توی جایی که به راحتی بهش دسترسی داشته باشید (مثلاً یه فایل امن یا یه اپ مخصوص ذخیره‌سازی پسورد) خیلی می‌تونه کمک‌کننده باشه. این کار رو حتما انجام بدید که اگر روزی روزگاری به اپ 2FA دسترسی نداشتید، راحت بتونید وارد بشید.

2- فعال کردن SSH
یکی دیگه از کارهایی که به شدت توصیه می‌کنم، فعال کردن SSH برای اکانت گیت‌هاب هست. این کار کمک می‌کنه که بدون نیاز به وارد کردن پسورد یا توکن، بتونید به راحتی به گیت‌هاب دسترسی پیدا کنید.

نحوه فعال سازی SSH:
- ابتدا باید یک کلید SSH بسازید (با استفاده از ssh-keygen در ترمینال).
- بعد از ساخت کلید، باید اون رو به گیت‌هاب اضافه کنید از طریق تنظیمات SSH Keys در گیت‌هاب.

3- اکسس توکن (PAT)
همچنین به جای استفاده از پسورد برای احراز هویت، می‌تونید از اکسس توکن‌ها (PAT) استفاده کنید. این توکن‌ها برای ارتباط امن‌تر با گیت‌هاب خیلی مفید هستند.

نحوه فعال سازی PAT:
- به تنظیمات اکانت گیت‌هاب برید.
- در قسمت Developer Settings، گزینه Personal Access Tokens رو پیدا کنید.
- توکن جدید بسازید و سطوح دسترسی مورد نظر رو انتخاب کنید.

مهم:
اگر هیچ کدوم از این روش‌ها رو برای اکانتتون فعال نکردید، گیت‌هاب هیچ تضمینی نمیده که بتونید اکانتتون رو بازیابی کنید. نهایتاً ممکنه مجبور میشید ایمیل رو unlink کنید و یه اکانت جدید بسازید، ولی حتی در این صورت هم تاریخچه کامیت‌ها و اطلاعات دیگه رو ممکنه از دست بدید.

#github
@CodeModule