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
گوگل یک ابزار جدید (عملا یک سیستم RAG) داده به اسم NotebookLLM که فایل هاتون را بهش میدید و قسمت های مختلف را براتون توضیح میده. اما نکته جالب اینه که یک فایل صوتی که حالت پادکست و مصاحبه طور داره درست میکنه که واقعا عالیه. من یک مقاله بهش دادم و این را درست کرد.
تصور کنید که چه کارهای جالبی میشه باهاش کرد.
https://blog.google/technology/ai/notebooklm-audio-overviews/

@DevTwitter | <Mehdi Allahyari/>
This media is not supported in your browser
VIEW IN TELEGRAM
سلام دوستان امیدوارم حالتون خوب باشه
همایش فرانت چپتر امسال واقعا همایش خفنی بود و از همینجا از همه رفقای فرانت چپتری تشکر میکنم بخاطر این اتفاق خفنی که رقم زدند

من از کل این رویداد مثل سفر و اتفاقات خفنی که در کنار هم رقم زدیم یه ولاگ تهیه کردم که ایشالا امروز اپلود میشه داخل چنل یوتوبم و میتونید ببینید ❤️🔥

این هم چنل یوتوب من هستش

https://youtube.com/@CoolyCode

به محض منتشر شدن لینک ویدیو رو داخل همین گروه میفرستم
توی گروهی بحث دیدم راجب تفاوت های :
.iter(), .iter_mut(), .into_iter().
و دیدم انگار خیلی از اعضا تفاوت هاش رو درک نکردن برای همین closure های داخل متدهایی که با iterator میاد رو متوجه نمیشدند.

گفتم بزنم به ریشه و چون کانال خودمم مقدمات هست اینجا هم مطلب رو بذارم.
تفاوت اصلی توی این هست که چی برمیگردوند یادتون باشه وقتی توی Rust چیزای مشابه میبینید که متوجه نمیشید چرا نسخه های مختلف داره حتما ۲ تا مورد توی ذهنتون باید بیاد :

1- Borrowing and Ownership
2- Memory (stack, heap, binary)


توی iterator ها هم تفاوت روی borrowing and ownership هست؛ وقتی از iter استفاده می کنید چیزی که برای هر آیتم تحویل میگیرید یک immutable reference خواهد بود & خالی وقتی از iter_mut استفاده کنید حتما mutable reference خواهید داشت &mut اما موضوع برای into_iter کمی متفاوت هست.

اگر مستقیم روی value استفاده بشه؛ ownership رو به دست خواهد گرفت.
اگر روی reference ایی از اون value استفاده بشه عملکرد iter رو خواهد داشت.
و در نهایت اگر روی mutable reference ایی از اون value استفاده بشه عملکردش مثل iter_mut خواهد شد.

برای همین توی closure متدهایی که روی اینها میاد مثل map, … حالات مختلفی رو میبینید.


امیوارم منظورم رو رسونده باشم؛ اگر نه حتما توی کامنت بپرسید.
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 از زمانی که پاول توسط فرانسه دستگیر شد که تلگرام مجبور است, قوانین کپی رایت به درستی اجرا کند.

مخصوصا کانال های دانلود انیمه, فایل هاشون به مشکل کپی رایت خوردند و باعث از دست رفتن کانال می شود.

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

@TheRaymondDev
آقا گروهمون رفت بالای صد تا، دیگه نمیتونیم ببینیم کی سین زده... 😔😂

الله اکبر

گروهمونو داشته باشید اگر سوالی داشتید بپرسید

https://t.iss.one/coolycodegap
با الهام گرفتن از اسکریپت nvidia detect دبیان، یک اسکریپت نوشتم برای پارچ که ورژن درایور دقیق گرافیک رو تشخیص بده.

مثلاً گرافیک من که nvidia geforce 430 هستش توسط درایور 390xx لگسی پشتیبانی میشه.


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

۱- از اونجایی که این بسته به صورت انحصاری در دبیان وجود داره و سورس‌کدی ازش در دسترس نیست، استفاده از دیتابیسش به این صورت نمی‌تونه مجاز باشه.

۲- این اسکریپت درصد خطاش پایین باشه که بازهم نیازمند تست شدنه.

اگر مورد اول، به اون صورت باشه نه بسته رو میتونیم بزاریم توی مخزن نه سورس کدش رو :)))

nvidia-detect /usr/share/nvidia/nvidia-legacy-173xx.ids
nvidia-detect /usr/share/nvidia/nvidia-legacy-304xx.ids
nvidia-detect /usr/share/nvidia/nvidia-legacy-340xx.ids
nvidia-detect /usr/share/nvidia/nvidia-legacy-390xx-amd64.ids
nvidia-detect /usr/share/nvidia/nvidia-legacy-390xx.ids
nvidia-detect /usr/share/nvidia/nvidia-legacy-71xx.ids
nvidia-detect /usr/share/nvidia/nvidia-legacy-96xx.ids
nvidia-detect /usr/share/nvidia/nvidia-open.ids
nvidia-detect /usr/share/nvidia/nvidia-tesla-418.ids
nvidia-detect /usr/share/nvidia/nvidia-tesla-440.ids
nvidia-detect /usr/share/nvidia/nvidia-tesla-450.ids
nvidia-detect /usr/share/nvidia/nvidia-tesla-460.ids
nvidia-detect /usr/share/nvidia/nvidia-tesla-470.ids
nvidia-detect /usr/share/nvidia/nvidia.ids

این‌ها لیست فایل‌هایی هستن که توی این بسته هستن (از دبیان) و سورسشون جایی در دسترس نیست و من با استخراج اون بسته nvidia detect بهشون رسیدم.
@SohrabContents
دولوپرهای گرامی این CVE-2024-46982 روی Next.js که در اصل میتواند منجر به Cache Poisoning یا مسمومیت حافظه پنهان شود رو در نظر بگیرید که چند روزه خیلی ازش صحبت میشه و غیره.
بخوانید:
https://securityonline.info/next-js-vulnerability-cve-2024-46982-cache-poisoning-exploit-threatens-deployments/

https://app.netlas.io/responses/?q=http.headers.x_powered_by%3A%22Next.js%22&page=1&indices=

https://zoomeye.hk/searchResult?q=app%3A%22Next.js%22&from=5o6o54m5MjQwOTE5MDE=

@DevTwitter | <Amir/>
با استفاده از yt-dlp و این دستور میتونی playlist های یوتوب رو خیلی راحت دانلود کنی و توی پوشه ای به اسم کانال یوتوب و نام playlist به صورت خودکار ذخیره کنی ، همچنین ویدیوها شماره گذاری هم میشن ، البته yt-dlp رو باید نصب کنی که رایگانه

github.com/yt-dlp/yt-dlp

@DevTwitter | <Sajjad/>
در سال 2019 تحقیقاتی انجام شد

و نزدیک 10 درصد سایتا خطای Too Many Redirects داشتن

این خطا باعث مشکلاتی در سئو و سرعت سایت و همچنین خطای 500 میشد

اما این خطا چطوری شکل میگیره

تصور کنید لینک 1 رو به لینک 2 ریدایرکت کردید

و دوباره لینک 2 رو به به لینک 1 هدایت کردید

اینطوری توی یه حلقه گیر میکنن و در نمیاد و باعث خطای Too Many Redirects میشه

برای حل این مشکل باید به اچ تی اکسس و تنظیمات سئوی خودتون مراجعه کنید و حلش کنید

چه سایتایی بیشتر این مشکل رو دارن

کسایی که هم افزونه سئو دارن هم افزونه ریدایرکت و اینا ضررای زیادی در سئو میکنن

@poinair پوینا
جلوگیری از ویرایش ادمین‌ها در وردپرس

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

php
Copy code
function restrict_admin_editing( $caps, $cap, $user_id, $args ) {
if ( in_array( $cap, ['edit_user', 'remove_user', 'delete_user'] ) ) {
$edit_user_id = $args[0] ?? 0;
if ( in_array( $edit_user_id, [454], true ) ) {
$caps[] = 'do_not_allow';
}
}
return $caps;
}
add_filter( 'map_meta_cap', 'restrict_admin_editing', 10, 4 );

بعد از گذاشتن این کد، به جای 454، آی‌دی ادمینی که نمی‌خواید ویرایش بشه رو وارد کنید

@poinair پوینا
This media is not supported in your browser
VIEW IN TELEGRAM
اسکریپت Nvidia Helper الهام گرفته شده از اسکریپت nvidia-detect دبیان، برای کمک به نصب درایور انویدیا به پارچ اضافه شد.

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

به زودی اسکریپتی دیگر در موازای این اسکریپت برای نصب خودکار درایور انویدیا به پارچ اضافه می‌شود.

نحوه نصب و استفاده:
sudo pacman -Sy
sudo pacman -S nvidia-helper
nvidia-helper


توجه: سورس‌کد این اسکریپت به علت انحصاری بودن دیتابیس‌های انویدیا موقتاً در دسترس نیست و پس از نامه‌نگاری های مربوطه در گیت‌لب پارچ قرار می‌گیرد.



@ParchLinux
‏یکی از کاربران Gitlab با ایجاد یک Issue مشکل timeout در زمان اتصال به سرورهای Gitlab رو گزارش می کنه.
طی یک سال گذشته این مشکل بیشتر خودش رو نشون میده تا می‌فهمن برای سرورهای هتزنر این اتفاق میوفته و اونم به این دلیل هست که IP ایران تشخیص داده میشه!
گوگل هم به این مشکل اضافه می شه و ترافیک رو به همین دلیل از هتزنر بلاک می کنه!
دوباره طی این چند هفته این مشکلات زیاد تر میشه به حدی که تمامی locationهای هتزنر دچار این مشکل شدن که ایران تشخیص داده میشن و این issue رو که Gitlab بسته بود دوباره ۲۰ ساعت پیش باز می کنه!
چیزی که می دونیم اینه که ایرانی های زیادی از سرورهای هتزنر به عنوان VPN استفاده می کردن ولی به نظرم مشکل اصلی به این دلیل هست که چون بسیاری از تنظیمات VPN ها، مبدا ترافیک که ایران بوده رو مخفی نمی کرده و ناشناسی در تنظیمات این VPNها مدنظر نبوده، سامانه های CloudFlare و گوگل به طور خودکار IPهای Hetzner رو flag کردن و ایران تشخیص میدن!
https://gitlab.com/gitlab-com/gl-infra/production/-/issues/8121#note_1237201726

@DevTwitter | <Vahid Nameni/>
Forwarded from CleverDevs (Mammad)
اگه دنبال برنامه ای هستید که توش sql بنویسید و تست کنید MySql Workbench میتونه نیازتون رو برطرف کنه

محیط ساده ای داره
و امکانات خوبی برای مدیریت mysql بهتون میده

من خودم فقط برای تست sql ازش استفاده میکنم اگه از امکانات دیگه‌اش که کارتون رو اسون تر میکنه استفاده میکنید میتونید تو کامنتا بگید

#sql #mysql
@CleverDevs - @CleverDevsGp
‏نمیدونم چرا هرکی میخواد بگه من برنامه نویسم اولین کاری که میکنه میره لینوکس نصب میکنه!! بابا بشین کدتو بزن نصب لینوکس هیچ جا رزومه حساب نمیشه!! والا ما ویندوز داریم برنامه نویسم هستیم. رو ویندوزم میخوایم پروژرو به یکی نشون بدیم فکر میکنه برنامه نویس نیستیم داریم گولش میزنیم

@DevTwitter | <Keyvan matinrad/>
Forwarded from Linuxor ?
آیا همیشه چیز های خفن همه گیر میشن؟


حقیقت تلخ نه هستش، شما بهترین و خفن ترین پروژه دنیا هم بسازید هیچ کس قرار نیست ببینتش چون خفنه

توی این چند سال اخیر لینوکس به اندازه عمر 30 و خورده ای سالش بخاطر پروژه های تجاری مثل Steam تونسته یوزر جذب کنه، شاید حتی بخش بزرگی از یوزرها از مزیت های لینوکس خبر نداشته باشن فقط چون در معرض دیده شدن قرار گرفته اوناهم گفتن "بد نیست یه تستی کنیم"


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


🐧 @Linuxor
Forwarded from Curious Geek ⚡️
ریگار تارگریان دردسترس قرار گرفت

این لُرد وظیفه وصل کردن جامعه های حرفه ای برنامه‌نویسی تلگرامی به یک دیگر را دارد!
تفاوتی نمی‌کند در چه گروهی پیام بدید. کسانی که باید ، پیام را دریافت می‌کنند!

موجب افتخار ماست که تاکنون این جوامع پذیرای ریگار بودند:
@Pluto_Devs @FullstacksJs @LinuxNewbies
🔗 Telegram / Discord
https://pluto.community
🆔 @Pluto_Community
This media is not supported in your browser
VIEW IN TELEGRAM
یکی از ویژگی‌‌های ترمینال پیشفرض پارچ گنوم، امکان اجرا کردن کانتینرها (بارگنج‌ها) با یک کلیک هستش.

شما می‌تونید distrobox و podman را نصب کنید، کانتینرهای مورد نیازتون رو بسازید و سپس با یک کلیک بهشون وارد بشید.


@ParchLinux