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 Seyed Mahdi Notes (Seyed Mahdi)
قیمت ارز و دلار و ... لحظه ای . برای یکی از دوستان هست
@iran98price
پیام اخر ادیت میشه که اسپم نشه:)
Forwarded from Sadra Codes
سامان (از رفیقای گلم) یه ایده خفن پیاده کرده. توی چنلش قیمت لحظه‌ای ارزها رو به نمایش می‌ذاره. منظورم از لحظه‌ای اینه که اسپم نمی‌کنه و آخرین پیام کانال هر لحظه آپدیت میشه. ایده جالبیه! :)

@iran98price
Audio
رقص بهار

شهرداد روحانی
#بی_کلام
@nost_music 🔁
Forwarded from LinNews (Benyamin)
نُوا (NOVA) جایگزین Nouveau خواهد شد.

#NVIDIA #Nouveau #Driver #GPU #NOVA

نُوا، یک درایور DRM لینوکس برای کارت‌های گرافیکی ان‌ویدیا است که با زبان Rust نوشته شده و RedHat آن را توسعه داده است. درایور NOVA ازGPUهایی پشتیبانی می‌کند که دارای GPU System Processor(GSP) باشند. این درحالیست که بسیاری از انتزاعات هنوز درحال توسعه هستند یا به‌طور کامل در نسخه بالادست لینوکس قرار نگرفته اند.
این درایور جدید، از کارت‌های گرافیکی Turing (سری RTX 2000) و جدیدتر پشتیبانی می‌کند. همچنین، در تلاش است تا مدرن و قدرتمند باشد. درضمن، GSP الزامیست زیرا وجود GSP باعث سادگی در توسعه درایور می‌شود.

دنیلو کرومریک (Danilo Krummrich) از RedHat، نسخه بسیار ابتدایی درایور را برای ادغام در کرنل لینوکس ارسال کرده است. البته هنوز برای استفاده روزمره یا سازمانی مناسب نیست، زیرا درحال حاضر هدف حضور NOVA به عنوان بخشی از معماری کرنل است.

منبع خبر


@LinAcademy | @LinNews
Forwarded from LinNews (A k)
Forwarded from LinNews (A k)
بالاخره AMD نسخه‌ی 25.3.1 درایور خود را منتشر کرد.
#AMD #RDNA4 #GPU #Driver #Adernalin
این بروزرسانی اولین حضور معماری RDNA 4 هست و عملکرد بهتری را برای سخت افزارهای جدید AMD ارائه می دهد.
ویژگی های اصلی:
پشتیبانی از محصولات جدید:
کارت های گرافیک RX 9070 XT و RX 9070
پردازنده های Ryzen AI Max+ 395 و Ryzen AI 300 Series با گرافیک های Radeon 840m و 860m
فناوری های جدید:
ویژگی AMD FSR 4: بهبود کیفیت تصویر در بازی ها با استفاده از الگوریتم های مبتنی بر یادگیری ماشین
ویژگی نسخه 2.1 فریم جنریشن سخت افزاری AFMF : کاهش تاری و بهبود کیفیت فریم ها در بازی ها
ویژگی AMD Chat: یک ربات مبتنی بر هوش مصنوعی که به سوالات کاربران درباره سخت افزار AMD پاسخ می دهد
ویژگی AMD Image Inspector: ابزاری برای بهبود کیفیت بازی ها با استفاده از هوش مصنوعی
بهبود عملکرد هوش مصنوعی:
افزایش سرعت در نرم افزارهایی مانند Adobe Lightroom (تا ۷۰٪) و DaVinci Resolve تا (۱۰٪)
پشتیبانی از بازی های جدید:
بازی هایی مانند FragPunk و Split Fiction به طور رسمی پشتیبانی شد.
بهبود پشتیبانی از توسعه دهندگان:
اضافه شدن اطلاعات جدید برای معماری های RDNA 4 و RDNA 3.5
انتشار SDK جدید برای بهبود تجربه ی استریمینگ و رسانه
مشکلات شناخته شده:
برخی مشکلات مانند کاهش عملکرد در بازی های Assetto Corsa Competizione و کرش در بازی Marvel's Spider-Man 2 گزارش شده اند. کاربران می توانند به طور موقت با غیرفعال کردن برخی ویژگی ها مانند AMD Image Inspector این مشکلات را برطرف کنند.
این بروزسانی با ارائه ی پشتیبانی از سخت افزارهای جدید و بهبود عملکرد، تجربه ی بهتری را برای کاربران AMD فراهم می کند. برای دریافت حداکثر عملکرد، باید نرم افزار را به نسخه ی آخر ارتقا دهید.
@LinAcademy | @LinNews
#5min_Rust

قبل از اینکه دوپایی بپریم توی معرفی انواع Data type توی Rust یک تفاوت رو بین Rust, Python ببینیم.
توی rust بر خلاف python برنامه‌نویس نمی‌تونه هر زمانی که دلش خواست توی متغییر مقداری با دیتا تابپ متفاوت بریزه؛ کد زیر توی پایتون درست هست:
my_var  = 5
print(f"The content is {my_var} of type {type(my_var).__name__}")
my_var = "@pyrust"
print(f"The content is {my_var} of type {type(my_var).__name__}")

اما توی rust شما اجازه اینکار رو ندارید
fn main() {
let my_var: i32 = 5;
println!("The content is {my_var} of type {}", std::any::type_name::<i32>());

my_var = "Hello"; // ٍError: expected `i32`, found `&str`
}


پس توی rust خیلی مهم هست که مشخص کنید متغیر شما از چه نوعی باید باشه؛‌ البته توی خیلی موارد نیازی به نوشتن نداره و خود کامپایلر می‌تونه بر اساس استفاده‌ای که از متغییر می‌کنید (اولین نوع داده‌ای‌ که داخلش می‌ریزید) تصمیم بگیره.

پس با این حساب یادگیری Data Type مهم میشه و اولین نوع داده‌ای که بررسی می‌کنیم Integer خواهد بود.
بازم بر خلاف پایتون نوع int توی rust خودش چندین مدل داره؛ بصورت پیش‌فرض اگر هیچ موردی رو انتخاب نکنید کامپایلر برای شما i32 رو درنظر می‌گیره ولی این یعنی چی ؟
i32 : i = Signed, 32 = 32-bit value

اگر نوع int شما با i شروع شده بود یعنی Signed هست و این به این معنی هست که این نوع داده شامل اعداد صحیح مثبت و منفی می‌شه.
عدد 32 نشان دهنده تعداد بیت حافظه هست و محدوده اعدادی که این مقدار می‌تونه نگهداره رو شامل میشه.

برای راحتی من با i8, u8 مثال میزم:
اینجا u به معنی unsigned هست و یعنی این نوع داده اعداد منفی قبول نمی‌کنه؛ برای اینکه بفهمیم یک نوع داده چه رنج اعدادی رو داخل خودش نگهداری می‌کنه می‌تونیم از فرمول زیر استفاده کنیم:

i8 : Signed, 8bit
برای بدست آوردن رنج signed کافیه تعداد bit رو داخل این فرمول بذارید :
[-2^(n-1), (2^(n-1))-1] ==> [-2^7, (2^7)-1) ==> [-128, 127]

u8
برای بدست آوردن رنج unsigned ها کافیه تعداد bit رو داخل این فرمول بذارید:
(2^n)-1 ==> (2^8)-1 ==> 255


علامت ^ نماد توان هست.

اگر با اعداد باینری کمی آشنایی داشته باشید نیازی به حفظ کردن فرمول‌ها نیست؛ توی نوع unsigned ازونجایی که عدد مثبت و منفی رو قبول می‌کنه پس ۱ بیت رو از دست میده برای اینکه مشخص کنه عدد منفی هست یا مثبت پس این یعنی بخش توان فرمول -1 رو خواهد داشت فقط برای unsigned ها
اما توی هر دوحالت حاصل محسابات و به توان رسوندن همیشه -1 رو توی بخش مثبت هم داره؛ خیلی ساده دلیلش اینه که بزرگترین عدد مثبتی رو وقتی می‌تونید بسازید که همه‌ی بیت‌های باینری 1 باشند و هروقت بیت اول (از راست) مقدار 1 بگیره حاصل حتما عددی فرد خواهد بود.

بر همین اساس شما همه‌ی آنچه برای درک جدول تصویر پیوست لازمه رو می‌دونید؛ فقط یک مورد می‌مونه :

arch | isize | usize


که یعنی این نوع به معماری سیستم بستگی داره (معماری سیستم روی index گذاری برای دسترسی به خانه‌های RAM مهم هست) برای همین هرجا صحبت از دسترسی به حافظه یا index , ... باشه این نوع داده رو خواهید دید. اگر سیستم ۳۲ بیتی باشه مقدار isize = i32, usize = u32 خواهند بود و برای سیستم‌های ۶۴ بیتی مقادیر isize=i64, usize=u64 رو خواهیم داشت.

بعد از اون نوع داده float رو داریم؛ شامل f32, f64 تفاوتشون توی precision هست (تعداد اعدادی که بعد از اعشار میاد)

f32 precision: 6-9 digits
f64 precision: 15-17 digits

یعنی برای نوع داده f32 بعد از ۶-۹ رقم اعشار دقت رو از دست می‌دیم و حاصل محاسبات بعد از ۶-۹ رقم اعشار رند شده خواهد بود؛ برای f64 این مقدار به ۱۵-۱۷ میرسه؛ بصورت دیفالت کامپایلر متغیرها رو f64 درنظر میگیره مگر اینکه شما مشخص کنید نوع داده چیز دیگری باشه.

اگر رند کردن براتون قابل قبول نیست Decimal رو باید در نظر بگیرید که خب توی این مرحله راجبش صحبت نمی‌کنیم.


برای تعیین نوع داده هم بعد از ساخت متغییر و قبل از مقدار دهی می‌تونید نوع داده رو مشخص کنید:
let red_pixel: u8 = 25;
let my_negative_number: i32 = -5654891;
let pi: f64 = 3.14


بیشترین سوالی که پرسیده میشه؛ آیا باید همیشه برای پرفورمنس بیشتر کوچکترین نوع داده رو انتخاب کنیم ؟
خیر.
اولین و مهمترین موضوع؛ اجرا شدن درست برنامه هست؛ اما بعضی وقتا کاملا میشه مطمئن بود نوع داده‌ای باید چه مقداری باشه.
مثلا فرض کنید ما دارید یک برنامه برای پردازش تصاویر jpg می‌نویسید؛ توی این تصاویر همیشه مقدار هر پیکسل بین 0-255 خواهد بود و این یعنی شما برای متغییرهای کار با پیکسل می‌تونید با خیالت راحت نوع داده رو روی u8 تعریف کنید.
اما برای مواردی که مطمئن نیستید i32 شروع خوبی هست که پیش‌فرض کامپایلر هم همین مقدار هست.
#5min_Rust

از حالت‌های دیگه‌ای که می‌تونید نوع داده رو مشخص کنید استفاده از _ و البته as که ممکن توی کدهای دیگران ببیند.
در نهایت
std::<TYPE>::MIN
std::<TYPE>::MAX

رو هم برای دیدن کوچکترین و بزرگترین مقدار اون نوع داده می‌تونید print کنید.
Forwarded from Geek Alerts
گوگل میگه همه‌ی بازی‌های اندروید روی ویندوز با Google Play Games در دسترس میشن، قبلا اینجوری بود که توسعه‌دهنده‌ها خودشون انتخاب میکردن بازیشون روی این پلتفرم بیاد ولی الان پیش‌فرض همه بازی‌ها میان.

از طرفی گوگل میگه بازی‌هایی که استانداردهای بازی توی کامپیوتر رو هم رعایت کرده باشن (مثلا با دسته بشه بازی کرد) یه سری نشان مثل بهینه‌شده بهشون میده که متوجه بشید.

https://play.google.com/googleplaygames
🔗 theverge
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from  (Amiria Maher)
دنبال کاری؟

بیا تو:
@BAFO_channel

@easyhirng


#موقت
Forwarded from Geek Alerts
عربستان سعودی بازی Pokémon Go را خریداری کرد

در واقع شرکت Scopely خریدار جدید بازی هست که میشه زیرمجموعه‌ی یه شرکت عربستانی به اسم Savvy Games و این شرکت هم مال صندوق سرمایه‌گذاری عمومی دولت عربستان سعودیه.

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

🔗 404media
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
برای اولین بار آمار فروش ساعت‌های هوشمند تو سال ۲۰۲۴ حدود ۷ درصد کمتر از سال قبلش بود که نشون میده مردم دیگه اون هیجان قبل واسه خریدن ساعت هوشمند رو ندارن، البته اوضاع تو بازارهای آسیایی فرق میکنه.

مثلا تو جاهایی مثل چین فروش از ۱۹ درصد به ۲۵ درصد رسیده که نشون میده گجت‌های Tech توی آسیا محبوبیت بیشتری به نسبت اروپا و آمریکا دارن.

🔗 global
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
ویژگی Deep Research جمنای گوگل رایگان شد

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

🔗 gemini.google.com
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
نسخه ارتقا یافته 2.0 Flash Thinking Experimental رایگان شد

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

🔗 gemini.google.com
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
ویژگی Gems در جمنای رایگان شد

این ویژگی Gems اجازه میده یه نسخه شخصی‌سازی شده از جمنای بسازی، یه جورایی چت‌بات اختصاصی خودت رو داشته باشی، مثلا باهاش جمنای رو تبدیل کنی به یه مترجم که بدونه هر بار وقتی بهش پیام میدی باید پیام‌هاتو ترجمه کنه.

🔗 gemini.google.com
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
~> import antigravity

👩‍💻 این یه ایستراگ تو پایتونه که با اجراش یه کمیک xkcd باز می‌شه. (اگه آشنایی ندارید، xkcd یه وب کمیک معروف علمی-فانه که Randall Munroe اون رو درست کرده.)
💥 تو این کمیک خاص (شماره ۳۵۳) یه نفر با import کردن ماژول antigravity پرواز می‌کنه! Guido van Rossum (خالق پایتون) این شوخی رو تو پایتون ۲.۷ اضافه کرده.😎
(تو ویدیو بهتون نشون دادم چطوریه)
🔗 موزیک
#فان #برنامه_نویسی #پایتون
~> @PinkOrca | آزاد بیندیشیم 🩷
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevAcademy
آرایه ها و linked listها

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

https://www.linkedin.com/posts/alirezaporthos_arrays-and-linked-lists-ugcPost-7304433004787953664-Yr9Z?utm_source=share&utm_medium=member_desktop&rcm=ACoAAClra28BavkOYc-F6nhnvSM_iIlDclEXTZI

💻@DevAcaademy
💬
@DevAcademyGroup
Forwarded from Mhmd ⚡
آقا من از همین سورس سگارو استفاده کردم، ولی یه جورایی دست و پا شکسته تغییرش دادم، چون جاوااسکریپت تا حالا کار نکردم و با هوش مصنوعی بوده.

https://github.com/1tsmhmd/Gemini-Translator.git

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

حالا اگه کسی می‌تونه بهترش کنه که خیلی خوب میشه.