Dev Perfects
43 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
🔵 عنوان مقاله
♟️ Running a Million-Board Chess MMO in a Single Process

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

این مقاله به توضیح دقیقی پرداخته است در رابطه با نحوه ساخت یک بازی شطرنج چندنفره بزرگ توسط یک توسعه‌دهنده بازی، که با استفاده از زبان برنامه‌نویسی Go در پشت‌صحنه، بدون هیچ مشکلی در عملکرد، انجام شده است. توسعه‌دهنده این فرایند را از طریق ویدیویی در یوتیوب به اشتراک گذاشته که هم آموزشی است و هم نمایشی از کاربرد Go در توسعه بازی‌های زمان-واقعی پیچیده. عبارت "Go Blue" به استفاده و حمایت از زبان Go در جامعه فناوری یا بازی‌سازی اشاره دارد.

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


👑 @gopher_academy
Forwarded from Gopher Academy
🔴قابلیت Container-aware GOMAXPROCS ویژگی های جدید گولنگ نسخه 1.25


در Go 1.25، رفتار پیش‌فرض GOMAXPROCS (تعداد هسته‌های مجازی که به اجرای goroutineها اختصاص داده می‌شود) اکنون آگاه به محدودیت‌های cont GOMAXPROCS هم شده 1
* اگر quota عددی کسری ainer/cgroup است:

🧠 چه تغییری ایجاد شده؟

1. پیش‌فرض هوشمندانه در محیط‌های container

قبل از Go 1.25، اگر داخل یک کانتینر با CPU quota=1 اجرا می‌کردید، GOMAXPROCS برابر با تعداد کل CPU های میزبان (مثلاً 8 یا 32) بود.
حالا این مقدار با توجه به quota واقعی کانتینر تنظیم می‌شود:

* اگر quota برابر 1 باشد،باشد (مثلاً 2.3)، با گرد کردن به بالا مقدار 3 می‌گیرد
* حداقل مقدار، حتی برای quota=1 هم 2 خواهد بود، مگر اینکه affinity یا CPU فیزیکی کمتر باشد

2. بروزرسانی پویا در حین اجرای برنامه

اگر پس از شروع برنامه quota تغییر کند (مثلاً از Kubernetes)، runtime به‌صورت دوره‌ای (معمولاً هر ثانیه) مقدار GOMAXPROCS را به‌روز می‌کند .

3. امکان غیرفعال‌سازی

* اگر مقدار GOMAXPROCS دستی تنظیم شده یا در env مشخص شده باشد، این رفتار جدید غیرفعال می‌شود .
* همچنین می‌توانید با تنظیم Gontainermaxprocs=0 یا updatemaxprocs=0 رفتار را خاموش یا بروزرسانی پویا را متوقف کنید ([tip.golang.org][1]).

- 📚 مثال واقعی

فرض کنید در Kubernetes اجرای زیر را داریم:

kubectl run go-app --image=golang:1.25rc1 \
--limits="cpu=1"


درون برنامه:

fmt.Println("GOMAXPROCS:", runtime.GOMAXPROCS(0))


خروجی قبل از Go 1.25:

GOMAXPROCS: 8   // مثلاً روی یک نود ۸ هسته‌ای


در Go 1.25:

GOMAXPROCS: 1


اگر quota = 2.3 باشد، مقدار:

GOMAXPROCS: 3


و اگر quota = 1، ولی نود بزرگتر باشد، مقدار:

GOMAXPROCS: 2


حالا اگر حجم CPU محدودیت افزایش یابد، مثلاً از 1 به 2، مقدار نیز بدون نیاز به ری‌استارت برنامه بروزرسانی می‌شود

برای بازگرداندن به حالت پیش‌فرض پس از تنظیم دستی، می‌توانید بنویسید:

runtime.SetDefaultGOMAXPROCS()


چرا این مهم است؟

1. هماهنگی با منابع کانتینری – دیگر نیازی به تعیین دستی یا بسته شدن برنامه ندارید.

2. کاهش throttling – با منطبق شدن با quota، احتمال deschedule شدن threadها و تأخیر کاهش پیدا می‌کند .

3. کارایی بهتر GC و scheduler – هرچه GOMAXPROCS کمتر به real CPU نزدیک‌تر باشد، مصرف حافظه و context switch کاهش می‌یابد

4. مناسب برای Kubernetes و سرورلس – نیازی نیست ابزار اضافی مثل automaxprocs استفاده شود؛ همین رفتار در runtime تعبیه‌شده کافی است .

✳️ جمع‌بندی

در Go 1.25 به‌صورت هوشمندانه GOMAXPROCS را بر اساس محدودیت واقعی CPU در کانتینر تنظیم و بروزرسانی می‌کند. این ویژگی باعث اجرای بهینه‌تر برنامه‌ها در Kubernetes و محیط‌های مشابه می‌شود و نیاز به تنظیمات اضافی را حذف می‌کند. اگر در پروژه شما محدودیت CPU تعریف نکرده‌اید یا به رفتار پیشین نیاز دارید، می‌توانید با GODEBUG یا runtime.SetDefaultGOMAXPROCS() کنترل کنید.


👑 @gopher_academy
Forwarded from Linuxor ?
وقتی Clean Code بلدی و یه زبان جدید شروع می‌کنی


@Linuxor
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
دوتا دوره عالی از دانشگاه برکلی راجع به ایجنت ها ارائه شده. دوره اول فاندیمنتال و مباحث اصلی را توضیح میده و دوره دوم دوره پیشرفته راجع به ایجنت ها هست. تمام اسلایدها و ویدیوها و مقالات هم موجوده. و موضوعات مهم و اساسی را پوشش می‌ده.

دوره اول:
rdi.berkeley.edu/llm-agents/f24
دوره پیشرفته :
rdi.berkeley.edu/adv-llm-agents/sp25


@Linuxor ~ Mehdi Allahyari
Forwarded from Linuxor ?
شرکت IBM یه دوره رایگان Data Analyst شروع کرده که بهتون مدرک هم می‌ده؛ توی دوره قراره مهارت های ضروری برای کار و یه سری لایبری های پایتون رو بهتون یاد بده

www.coursera.org/professional-certificates/ibm-data-analyst


@Linuxor
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی یه تسک پایتونی داری و با این تصور جلو می‌ری که پایتون مال بچه هاس

@Linuxor
Forwarded from Gopher Academy
🔵 عنوان مقاله
The Evolution of Caching Libraries in Go

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

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

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


👑 @gopher_academy
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
یه موضوعی که بعد از فراگیر شدن استفاده از ChatGPT و برنامه‌های مشابهش مخصوصا توی محیط کار خیلی زیاد شده این موضوع هست که یهو شاهد تغییر در توانایی‌ها و سطح دانش افراد شدیم 😁
مثلا این مدلی که تا دیروز مدل Code Review و کامنت‌ها یه حالت کاملا نرمالی بود که کاملا مشخصه که یک شخص داره این حرف رو میزنه. ولی یهو امروز همون شخص میبینی یه کامنتی میزاره، سوالی میپرسه، یا یه پیشنهادی میده که با خودت میگی لعنتی من که ۲ هفتست دارم روی این موضوع کار میکنم این به ذهنم نرسیده بود تو چطوری توی ۱ ساعت در این حجم از کد متوجهش شدی؟
حالا جالب اینه که وقتی ازش میپرسی که چطوری این رو پیدا کردی و بر چه اساسی این پیشنهاد رو میدی،‌ بعدش متوجه میشی که خیلی درک درستی نداشته از موضوع و کاملا مشخصه که از این برنامه‌‌ها استفاده کرده

من نمیگم که استفاده از این برنامه‌ها بد هست یا نباید استفاده کرد، ولی حرفم اینه که باید یاد بگیریم درست استفاده کنیم.
یهو به خودمون میایم میبینیم که بدون ‌ChatGPT اصلا نمیتونیم کار کنیم. میبینیم که حتی ساده‌ترین مواردی که قبلا ما رو به فکر وا میداشت و بخاطرش فکر میکردیم،‌ الان دیگه فکر نمیکنیم و سریع ازش میپرسیم و هرچی بگه می‌پذیریم و این خیلی بده.
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
"The fundamental cause of the trouble is that in the modern world the stupid are cocksure while the intelligent are full of doubt,"

Bertrand Russell

اینو همین الان یکی از دوستانم به اشتراک گذاشت و واقعا چقدر درسته این حرف

ترجمه گوگل :
علت اساسی مشکل این است که در دنیای مدرن، احمق‌ها کاملاً مطمئن هستند در حالی که باهوش‌ها سرشار از شک و تردیدند.
Forwarded from The Hacker News
🚨 Critical Sudo flaw lets any local user get root access on Linux.

No sudo rules required. Default configs are vulnerable.
It’s been hiding in plain sight—since 2013.

Fixes just dropped. Patch now.

Full details → https://thehackernews.com/2025/07/critical-sudo-vulnerabilities-let-local.html
Forwarded from Linuxor ?
انجمن بلاک چین و سازمان نظام صنفی رایانه ای شروع کرده بودن به جمع آوری IP شرکت هاشون و نامه نگاری که اینترنت بین اللملی بهشون بدن و تو مواقع بحرانی همیشه وصل باشن.

این حرکتشون باعث می‌شد که اینترنت به سمت طبقاتی شدن بره و ملی شدن اینترنت تسهیل بشه، حالا معاون وزیر و رئیس زیر ساخت بهزاد اکبری بهشون گفته "من اصلا باهاتون هماهنگ نکردم که IP بدید خلاصه جمع کنید این کاسه کوزتون رو" (اینطوری رک نگفت با لحن خودم دارم می‌گم)



@Linuxor
Forwarded from 𝘮𝘰𝘯𝘪𝘣 𝘴𝘢𝘭𝘦𝘩𝘪
🎯 به Code Lab خوش اومدی!

اگه فکر می‌کنی برنامه‌نویسی فقط حفظ کردن سینتکسه، وقتشه ذهنتو عوض کنی!
اینجا جاییه که کدنویسی رو با لذت یاد می‌گیریم، نه با فشار و استرس!

📌 توی Code Lab قراره:
• با چالش‌های روزانه مهارتتو تقویت کنی
نکات کاربردی JavaScript و React رو آسون و قابل فهم یاد بگیری
• از تجربه‌های واقعی، اشتباهات رایج و ترفندهای خفن باخبر بشی
• و حتی گاهی درباره‌ی دغدغه‌های ذهنی یه برنامه‌نویس گپ بزنیم (از ایمپاستر سندروم تا مصاحبه کاری!)

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

📲 اگه هنوز عضوی از Code Lab نیستی، همین حالا بیا…
چون آینده‌ات می‌تونه از همین‌جا شروع بشه!

🆔@c0delab | 🧑🏻‍💻👩🏻‍💻
📮Gp CodeLab
Forwarded from یک برنامه نویس تنبل (Lazy 🌱)
🔶 یوتیوب اعلام کرد که برای ویدئوهای تکراری و انبوه تولید شده هیچ درآمدی را پرداخت نمی کند و به یوتیوبرها توصیه می کند خلاقیت بیشتری برای ساخت ویدئوها به خرج دهند.

#خبر

@TheRaymondDev
اکثرمون با index توی DBMS ها آشنا هستیم، ولی یه چیزی که میتونن پرفورمنس رو باز هم بهتر کنه، استفاده از includeـه.
خلاصه اینه که میتونید دیتای یه سری ستون رو داخل leaf node ها بذارید‌ به اسم ترتیب بعضی کوئری ها برای اجرا شدن کلا هیچ نیازی به lookup ندارن. (و کلا io نداریم)

https://atlasgo.io/guides/postgres/included-columns
Forwarded from یک برنامه نویس تنبل (Lazy 🌱)
🔶 انسان‌ها احمق، ناتوان، غیراخلاقی، نادرست، بیمار روانی، معتاد، غیرمنطقی، خودخواه و متکبر هستند.

هوش مصنوعی کامل خواهد بود.

@TheRaymondDev
Forwarded from یک برنامه نویس تنبل (Lazy 🌱)
🔶 براساس گزارش تک کرانچ, مایکروسافت در حال پایان دادن به فعالیت‌های خود در پاکستان است و این به معنای پایان حضور ۲۵ ساله این شرکت در این کشور آسیای جنوبی می‌باشد.

این شرکت مستقر در ردموند روز جمعه به وب‌سایت TechCrunch اعلام کرد که مدل عملیاتی خود در پاکستان را تغییر می‌دهد و از این پس مشتریان خود را از طریق نمایندگان فروش و «دفاتر مایکروسافت در کشورهای نزدیک» پشتیبانی خواهد کرد.

#خبر

@TheRaymondDev
Forwarded from mosTafa Arshadi
وقتی واقعا تو زندگی به ازادی میرسی که دیگه دنبال تایید بقیه نباشی. وقتی کاری که میکنی، حرفی که میزنی، سبکی که زندگی میکنی، برات مهم‌ تر باشه از این که بقیه چی فکر میکنن.

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

باید محکم وایستی. خودت رو برای خودت بسازی، نه برای تایید بقیه.

@hamidreza01
👍1
دوستان اگر باگ پیدا کردید، مثل یه فرد حرفه ای باگ ریپورت کنید نه اینکه تو بوق و کرنا جار بکنید که این باگ داره نرید سراغش.