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 Gopher Academy
🔵 عنوان مقاله
doomgeneric: Doom, Ported to Go?

🟢 خلاصه مقاله:

بازی محبوب و کلاسیک تیراندازی اول شخصِ دهه ۹۰، دوم، به شکل‌های مختلفی به محیط‌های نامتعارف منتقل شده است. به عنوان مثال، اجرای آن به صورت جاوااسکریپت درون یک سند PDF. این امر به سؤالی طبیعی منجر شده است: آیا انتقال دوم به زبان برنامه‌نویسی گو هم به آسانی اجرایی است؟ در این راستا، از کامپایلر ccgo برای تبدیل کد C به کد گو استفاده شده است. این پروژه بیشتر به عنوان یک مفهوم اثباتی انجام گرفته و فعلاً تنها در محیط‌های لینوکس قابل اجراست. با این حال، این آزمایش، توانایی‌های کامپایلر ccgo را نشان داده و برای جامعه توسعه‌دهندگان جالب توجه است.

🟣لینک مقاله:
https://golangweekly.com/link/167045/web


👑 @gopher_academy
امروز یه پکیج کوچولو تو npm پابلیش کردم و کلی چالش واسم داشت. ولی تجربه خوبی بود
با این ابزار, کل فایل های جاوااسکریپتی و تایپ اسکریپتی رو اسکن و هرچی console.log داخلش باشه رو حذف میکنه
https://github.com/nafasebra/remove-js-logs

@DevTwitter | <Nafas Ebrahimi/>
Forwarded from 🎄 یک برنامه نویس تنبل (  MΞ)
🔸Code Review | بررسی سورس کد بازی GTA 3

تو این قسمت میخوایم سورس کد بازی نوستالژی و جذاب جی تی ای ۳ رو با هم بررسی کنیم. ببینیم از چه دیزاین پترن ها، تریک ها و تکنولوژی هایی اون موقع برای ساختن بازی موفق جی تی ای ۳ استفاده کردن تا بتونه رو سخت افزار هایی با قابلیت های محدود مثل پی اس ۲ به بهترین شکل اجرا بشه.

https://www.youtube.com/watch?v=INWWQd5zm9E

@TheRaymondDev
#کوته_نیوز

هکرهای بانک سپه اومدن تمام مراحل هک کردن دیتابیس‌ها رو توضیح دادن و آخرش گفتن وسط هک کردن با رمزای مزخرف بانک از خنده روده‌بر شدیم
اکثر جاها رمزش: 'Password-123, 'User-Sepah' بود.

@DevTwitter | <Mahdi BakhshiNezhad/>
Forwarded from Geek Alerts
quake-2-ai-anim.gif
37.1 MB
رونمایی مایکروسافت از بازسازی Quake II با هوش مصنوعی Muse

مایکروسافت اومده یه بازسازی از بازی Quake II رو با هوش مصنوعی Muse خودش زده. این در واقع یه جور دمو تکنولوژیه که قدرت Muse AI رو به نمایش می‌ذاره.

این نسخه رو مستقیم توی مرورگر وب میشه بازی کرد. این حرکت مایکروسافت تو راستای برنامه بزرگترش برای استفاده از هوش مصنوعی تو بازی‌هاست، که اسمش رو گذاشتن Copilot in Gaming.

اگه علاقه داشتید بازی کنید میتونید از این لینک استفاده کنید.
🔗 microsoft
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
یک ترفند جالب در جاوااسکریپت که کمتر کسی استفاده می‌کنه!
وقتی می‌خوایم بررسی کنیم یه مقدار توی آرایه هست یا نه، معمولاً از این روش استفاده می‌کنیم:
if (array.indexOf("banana") !== -1) 


اما یه راه شیک‌تر و سریع‌تر هم داریم!
if (~array.indexOf("banana")) 

چی شد؟! این ~ (تیلدا) چیکار می‌کنه؟
عملگر ~ مقدار indexOf رو بیت‌به‌بیت برعکس می‌کنه.
عدد -1 (یعنی مقدار پیدا نشده) با ~ تبدیل به 0 میشه، که در شرط false محسوب میشه.
اما هر مقدار دیگه‌ای (0 یا بالاتر) تبدیل به یه مقدار منفی غیر 0 میشه که در شرط true حساب میشه!
نتیجه: یه روش خلاصه‌تر و شیک‌تر برای چک کردن وجود مقدار در آرایه!

@DevTwitter | <Hamed Ebrahimi/>
Forwarded from Geek Alerts
حرف موافقان و مخالفان طرح توزیع رایگان وسایل مصرف مواد مخدر

اصل این برنامه‌ها از دهه ۱۹۸۰ در پاسخ به بحران بیماری ایدز و هپاتیت شروع شد، اون زمان گفتن این توزیع‌ها تونسته ۶۰ درصد ابتلا به این بیماری‌هارو کمتر کنه، در کنارش توی این پک‌ها نالوکسان هم توزیع میشد که باعث شد ۸۹۸۵ مورد اوردوز رو ازش جلوگیری کنه.

مخالفان میگن این کارها مصرف موارد مخدر رو تسهیل میکنه، از طرفی مثلا تا سال ۲۰۱۸ حدود ۵.۸ میلیون سوزن توزیع میشه در صورتی که ۲ میلیونش بازگردانی شده و مابقی توی محیط شهری دور ریخته شدن که خطراتی برای مردم داره.

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

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

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

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

یکی از دلایلی که شهردار جدید این طرح رو لغو کرده اینه که صحنه‌های زیادی توی این شهر اتفاق میفته که افراد در حال مصرف مواد مخدر هستن یا سوزن‌هایی که توی شهر دور ریخته شدن.

🔗 kqed
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
نظرتون در مورد طرح توزیع رایگان وسایل مصرف موارد مخدر
Anonymous Poll
45%
موافقم
55%
مخالفم
Forwarded from 🎄 یک برنامه نویس تنبل (  MΞ)
🔸برای نوشتن کد حرفه‌ای، باید طوری بزنیم که بقیه به‌راحتی بتونن کدمون رو بخونن و درک کنن.
همه‌ی اعضای تیم لزوماً در یک سطح از تجربه یا دانش نیستن، به همین دلیل، واضح و قابل‌فهم بودن کد اهمیت زیادی داره.

برای مثال، در بعضی از پروژه‌های بزرگ دیدم که حتی برای بررسی مقدار false در یک مقدار بولین، به‌جای استفاده از:
!isEnabled 

اینطوری میزنن:
isEnabled === false


این کار ممکنه به‌نظر اضافه بیاد، اما باعث می‌شه کد برای افراد بیشتری، به‌خصوص اونایی که با مفاهیم کوتاه‌نویسی آشنا نیستن، قابل فهم‌تر باشه.

@TheRaymondDev
Forwarded from Geek Alerts
ایشون شهردار جدید سان فرانسیسکو هستن، از وقتی اومدن دارن تو شهر تغییراتی میدن مثلا تلاش میکنن تا شرکت‌های tech رو به این شهر برگردونن.

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

🔗 techcrunch
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Gopher Academy
تو پروژه ای که درگیرش هستم آپلود فایل یکی از مهمترین قسمت های این پروژه هست. به خاطر همین سراغ پروتکل TUS که یه پروتکل برای upload resumable هست و تقریبا هم جدید رفتیم که با go هم پیاده سازی شده.
من تو این مقاله سعی کردم تجربیاتم از پیاده سازی سرور tusd و نحوه ارتباطش با backend پروژه رو توضیح بدم .
لینک نمونه کد استفاده شده رو آخر مقاله قرار دادم.

خوشحال میشم بخونید و نظرتون رو بگید.
ارادت
لینک داکیومنت tus
https://tus.github.io/tusd/

لینک مقاله:
https://medium.com/@shabooni.mr/how-to-set-up-tusd-for-resumable-file-uploads-a-complete-guide-1cd8dddb55d5



https://t.iss.one/addlist/KpzXaiSpKENkMGM0
Forwarded from Geek Alerts
بریتانیا یه قانون جدید گذاشته که جلوی هزینه‌های مخفی و نظرات فیک رو میگیره. هزینه‌های مخفی، همون پول‌های اضافی که موقع خرید آنلاین به قیمت اصلی اضافه میشن، مثل کارمزد رزرو یا هزینه خدمات. این هزینه‌ها سالانه حدود ۲.۲ میلیارد پوند حساب شدن و طبق قانون جدید، دیگه باید توی قیمت اصلی کالا یا خدمات لحاظ بشن.

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

🔗 theguardian
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰مدیر بسته‌ APT 3.0 منتشر شد.

🔹ویژگی‌های جدید
🔸نسخه‌ی جدید مدیر بسته‌های APT 3.0 اکنون منتشر شده و به‌عنوان رابط خط فرمان پیش‌فرض در نسخه‌های آینده‌ی دبیان (Debian GNU/Linux 13 "Trixie") و اوبونتو (Ubuntu 25.04) استفاده خواهد شد. در این نسخه، تغییرات بصری و عملکردی مهمی اعمال شده‌اند که تجربه‌ی کار با APT را به‌شکل قابل توجهی بهبود می‌بخشند.

🔸پیرو این پست:
https://t.iss.one/linuxtnt/3904

🔹بهبودهای بصری در رابط خط فرمان
🔸نمایش ستونی (Columnar Layout)
لیست بسته‌ها اکنون به‌صورت ستونی نمایش داده می‌شود که باعث افزایش خوانایی و یافتن سریع‌تر نام بسته‌ها می‌شود.

🔸پشتیبانی از رنگ‌ها در خروجی

رنگ سبز برای نمایش عملیات نصب و ارتقا
رنگ قرمز برای بسته‌هایی که قرار است حذف شوند
این قابلیت باعث می‌شود که وضعیت بسته‌ها در یک نگاه قابل تشخیص باشد.

🔸نوار پیشرفت روان‌تر و مدرن‌تر
با استفاده از کاراکترهای یونیکد، نوار پیشرفت نصب روان‌تر و زیباتر شده است.

🔸کاهش شلوغی و افزایش فضای سفید

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

🔸قابلیت‌های جدید فنی و مدیریتی
حل‌کننده جدید وابستگی‌ها (--solver)

🔸برنامه APT اکنون می‌تواند به نسخه‌های غیرکاندید بازگردد در صورت نیاز.
🔸با استفاده تهاجمی‌تر از autoremove، تنها بسته‌های ضروری نصب‌شده‌ی خودکار را حفظ کند.
🔸پشتیبانی از دستور --target-release در apt list
🔸کاربران می‌توانند بسته‌ها را براساس نسخه‌ی هدف (مثلاً از نسخه‌های پایدار یا ناپایدار) فهرست کنند.
🔸ثبت توضیحات در تاریخچه با گزینه --comment
🔸امکان درج یادداشت هنگام اجرای عملیات مختلف روی بسته‌ها، برای مستندسازی بهتر.
🔸پشتیبانی از ایندکس‌های فشرده‌نشده از mirrorها با پروتکل file:/
🔸بهبود در سرعت و دسترسی به مخازن محلی.
🔸صفحه‌بندی خودکار (auto-paging) شبیه به git
🔸اجرای apt به‌صورت خودکار خروجی‌های طولانی را صفحه‌بندی می‌کند، بدون نیاز به less یا ابزارهای خارجی.
🔸نمایش اطلاعات پینینگ (Pinning) در apt show --full
🔸اطلاعات دقیق‌تر از نسخه‌ها و اولویت‌های بسته‌ها قابل مشاهده است.

🔹 سایر قابلیت‌های جدید و تغییرات داخلی
🔸پشتیبانی از debain-ports برای معماری‌های خاص و تجربی.
🔸معرفی دستور جدید modernize-sources برای به‌روزرسانی منابع بسته‌ها.
🔸محاسبه دقیق‌تر اندازه هسته (kernel) در مسیر /boot.
🔸جایگزینی OpenSSL به‌جای GnuTLS و gcrypt برای رمزنگاری، در جهت یکپارچگی و امنیت بهتر.
🔸اضافه شدن پشتیبانی از تراکنش و شمارش به‌روزرسانی‌ها در pkgDepCache.

🔹 مستندات و بومی‌سازی
🔸به‌روزرسانی‌های گسترده در مستندات رسمی APT.
🔸بهبود ترجمه‌ها و پشتیبانی بهتر از زبان‌های مختلف برای استفاده بین‌المللی.
🔸به‌روزرسانی گسترده ترجمه‌ها برای زبان‌های هلندی، آلمانی، فرانسوی، پرتغالی برزیلی، رومانیایی، کاتالان، سوئدی، چکی و لهستانی
🔸بهبود مستندات و صفحات راهنما (manpages) برای کاربرانی که به منابع محلی وابسته هستند

📌نویسنده: حسین سیلانی
📌منبع :  آکادمی کندوی دانش
https://learninghive.ir
Forwarded from Linuxor ?
یه چیزی هست برای سلنیوم به اسم Selenium Base
اینا اومدن هرچی که برای وب اتومیشن با Selenium نیاز هست رو یه جا جمع کردن
مثلا واسه رد شدن از کلافلر یه مکانیزمی ساختن Chrome Devtools Protocol Mode که می‌تونید فعالش کنید و بات‌تون شبیه آدمیزاد بشه و رد بشید

github.com/seleniumbase/SeleniumBase


@Linuxor ~ teal33t
تا به حال به این فکر کردید که محیط کدنویسی چقدر روی تمرکز و خلاقیت شما تأثیر می‌گذاره؟

بعد از ساعت‌ها بررسی و طراحی، خوشحالم که بالاخره می‌تونم تم اختصاصی VS Code خودم رو معرفی کنم: Aurorain!
یکی از لذت‌بخش‌ترین حس‌ها برای من، استفاده از چیزی بوده که خودم ساختم. بعد مدت‌ها که به این فکر می‌کردم تم خودم رو طراحی کنم بالاخره دو ماه پیش این ایده رو عملی کردم و حالا بعد از کلی آزمون و خطا، نتیجه‌ی نهایی اینجاست!

چرا Aurorain؟ اسم این تم ترکیبی از دو واژه‌ی Aurora و Rain هست.

همین حالا می‌تونید Aurorain رو از VS Code Marketplace دریافت کنید و کدنویسی رو در فضایی جدید و متفاوت تجربه کنید!

https://marketplace.visualstudio.com/items?itemName=MostafaGh.aurorain

@DevTwitter | <Mostafa Gholami/>
Forwarded from Md Daily (Mahan)
چند وقتی بود میخواستم راجب موضوعاتی بنویسم که به دلیل محدودیت های پست های تلگرامی امکانش نبود و باید به صورت وبلاگ نوشته میشد. قبلا یک وبلاگ ایستا و اپن سورس با استفاده از Hugo ایجاد کرده بودم که میتونید از طریق این لینک :

🌐 https://mddaily.web.app

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

ولی یه مشکلی وجود داشت و اونم مدیریت وبلاگ استاتیک بود ، برای همین تصمیم گرفتم تا از نسخه ی بعدی وبلاگ کانال رو نمایی کنم و تشکر میکنم از تیم خوب kubarcloud 🟢 که اسپانسر زیر ساخت شدند.

اولین پست وبلاگ با عنوان "یادگیری Big O یک بار برای همیشه" منتشر شده که توی پست بعدی معرفیش میکنم :)

🌐 https://mddaily.ir/
---

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

🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Md Daily (Mahan)
یادگیری Big O یک بار برای همیشه

کاور پست با GPT تولید شده :)


توی این پست حالت های مختلفی از Big O به همراه کد نمونه بررسی شدن. از ساده ترین حالت یعنی O(n) شروع میکنیم و قدم به قدم تا حالت های پیجیده تری مثل O(n log n) رو بررسی میکنیم.

پیچیدگی زمانی Big O چیه؟
توی علم کامپیوتر، از علامت‌گذاری Big O استفاده می‌شه تا الگوریتم‌ها رو بر اساس اینکه زمان اجرا یا میزان حافظه مورد نیازشون با بزرگ‌تر شدن ورودی چطوری زیاد می‌شه، دسته‌بندی کنن. یا به عبارت دیگه، یه راهیه برای اینکه تحلیل کنیم چقدر زمان می‌بره تا الگوریتم ما با بزرگ‌تر شدن ورودی اجرا بشه. منظور از ‘O’ کل عملیاته، و ‘n’ هم ورودی.

بیاین چند تا مثال رو ببینیم تا قضیه روشن‌تر بشه.

حالت O(n)
شاید ساده‌ترین مثالی که بشه فهمید، همون O(n) باشه، جایی که نرخ رشد خطیه.

یه آرایه نامرتب n رو در نظر بگیرین، یه تابعی بنویسین که بزرگترین مقدار رو برگردو...



لینک کامل مقاله در وبلاگ Mddaily:

🔗 https://mddaily.ir/یادگیری-big-o-یک-بار-برای-همیشه/

---

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

🆔 @MdDaily
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
قدیما روی گوشی ها یه قابلیتی بود به اسم FM Transmitter یا که باهاش می‌تونستی روی موج رادیویی آهنگ پخش کنی، و با یه دستگاه دیگه مثلا داخل ماشین روی همون موج گوشش بدی، البته خیلی زود این قابلیت جمع شد چون پخش روی موج های رادیویی توی اکثر کشورا غیرقانونیه و نیاز به مجوز داره و ممکنه اختلال ایجاد بشه.


@Linuxor
Forwarded from Gopher Academy
🔵 عنوان مقاله
🔒 Protect Against AI Bots, Fraud, and Abuse in Real Time

🟢 خلاصه مقاله:

WorkOS Radar یک راهکار امنیتی پیشرفته است که با استفاده از فناوری تشخیص اثر انگشت دستگاه، برنامه شما را از تهدیدهای سایبری مانند ثبت‌نام‌های جعلی، سوء استفاده از سطح رایگان، حملات ربات و تلاش‌های نفوذ باز می‌دارد. این فناوری با شناسایی منحصربه‌فرد هر دستگاهی که با برنامه شما تعامل دارد، کمک می‌کند تا کاربران مشروع از تهدیدها تمیز داده شوند. این سیستم همچنین تجربه کاربری را بهبود می‌بخشد و برای شرکت‌هایی که می‌خواهند امنیت سایبری خود را تقویت کنند بدون اینکه بر تجربه کاربری تأثیر منفی بگذارند، گزینه‌ی مناسبی است.

🟣لینک مقاله:
https://golangweekly.com/link/167050/web


👑 @gopher_academy
یکی از عجایب دنیا‌ی عجیب و غریب PHP اینه که بعضی وقتا موقع مقایسه‌ی عدد و رشته، یهویی تصمیم میگیره رشته رو به عدد تبدیل کنه و بعد مقایسه کنه! (Type Juggling)
کلی رفتار عجیب و غریب که میتونه آدمو به مرز جنون برسونه!

مثال باورنکردنی:


var_dump("123abc" == 123); // خروجی: true
var_dump("0e12345" == 0); // خروجی: true
var_dump("0e12345" == "0"); // خروجی: false


چرا اینجوریه؟؟؟

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

مثلا "123abc" رو میبینه، میگه خب اولش ۱۲۳ داره، پس همونو عدد حساب میکنه.

یا "0e12345" رو میبینه، میگه اوه این که یه عدد علمی مثل 0 * 10^12345 ــه، پس همون ۰ در نظر گرفته میشه!

امااااا، وقتی "0e12345" رو با "0" مقایسه میکنیم، دیگه رشته به عدد تبدیل نمیشه و خب نتیجه‌اش false میشه!


خطر امنیتی:
این حرکت میتونه توی چک کردن رمز عبور و توکن‌ها باعث بشه بعضی رشته‌ها بدون اینکه واقعا درست باشن، قبول بشن! پس مراقب باشین!

یادتون باشه همیشه از === استفاده کنین تا PHP نتونه این شوخیای عجیب و غریبشو باهاتون بکنه و به جای اینکه برای رمز عبور مستقیم === بذارین، از ابزارای خود PHP استفاده کنین. مثلا برای رمزعبور:

if (password_verify($inputPassword, $hashedPassword)) { 
echo "رمز درسته!";
} else {
echo "رمز اشتباهه!";
}

اینطوری خیالتون راحت تره

@DevTwitter | <Amir Hossein Bagheri/>
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
از اون ویدیوهایی که دوست دارین، توی این ویدیو می‌بینین چطوری می‌شه پرید وسط یه برنامه که پشت در حال اجراست و چیز هایی که چاپ می‌کنه یا stdout اونو دید


@Linuxor