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 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

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

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

🔗 https://blog.craftyguy.net/cosmic/


و همچنان آرچ آرم داره بسته‌هاشو برای Armv7 بیلد می‌گیره.

@SohrabContents
Please open Telegram to view this post
VIEW IN TELEGRAM
کلاً بندگان خدا (توسعهٔ‌دهندگان آرچ آرم) گردن گیرشون خرابه.

بیشتر دستگاه‌ها الان aarch64 ان اینا دارن برای معماری armv7h بیلد می‌گیرن کازمیک رو.


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



@SohrabContents
Forwarded from Linuxor ?
توی بهترین حالت برنامه نویسی که همون برنامه نوسیه فقط زبان برنامه نویسی زبان انسان می‌شه

اگه هوش مصنوعی بتونه یه برنامه نویس فوق العاده کامل بشه یعنی هر آدم عادی بتونه خفن ترین چیز ممکن که تیم های قوی ساختنش رو بسازه، چون ساختش راحته تعدادش بالا می‌ره و تقاضایی دیگه براش نیست و این چیز خفن دیگه خفن نمی‌مونه !

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


@Linuxor
Forwarded from  (Amiria Maher)
دو میلیون اعتبار اسنپ کارفیکس به قیمت یه میلیون و ۲۰۰ت فروخته می‌شه.

پیام بدید:
@amiria703

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

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

#مولانا | گنجور
📍@iipoem