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 Anophel | آنوفل
💢گو(Golang) 1.24 اومد!

اگه شما هم با Golang کد می‌زنید، خبر خوب اینه که ورژن 1.24 قراره تو فوریه 2025 منتشر بشه و کلی بهبود خفن آورده که کارمون رو هم سریع‌تر می‌کنه، هم راحت‌تر.



🔺هایلایت‌های این نسخه:

1️⃣سوئیچ به SwissTable تو کامپایلر:

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



2️⃣ آپدیت استاندارد لایبرری:

دو پکیج جدید داریم:

اولی os.Root برای راحت‌تر کردن کارهای مربوط به دایرکتوری‌ها.

دومی weak برای هندل کردن weak pointers که خیلی وقتا به درد می‌خوره.


یه قابلیت جدید برای alias کردن sliceها که به خصوص با افزایش استفاده از جنریک‌ها خیلی کاربردیه.


3️⃣ بهبود ابزارها (Tooling):

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

خروجی JSON برای go test: تحلیل تست‌ها دیگه یه لذت شده!

و GOAUTH: حالا می‌تونید راحت‌تر به ریپوزیتوری‌های پرایوت مثل GitHub وصل بشید.



🔺نظر شخصی من؟

این نسخه شاید تغییرات انقلابی نداشته باشه، ولی پر از آپدیت‌های کاربردی که واقعاً حس می‌کنید کارتون سریع‌تر و تمیزتر شده. تغییراتی مثل سوئیچ به SwissTable و GOAUTH کار رو برای تیم‌هایی که با پروژه‌های بزرگ و پرایوت کار می‌کنن، بسیار ساده‌تر کرده.



آپدیتش کنید، پشیمون نمی‌شید!

#گولنگ #گولنگ_1_24


#GoLang #Go1_24 #DeveloperExperience #Tooling
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Gopher Academy
🔵 عنوان مقاله
The Day the Linter Broke My Code

🟢 خلاصه مقاله:
**
روزِ خراب‌کاریِ linter یادآور این واقعیت است که تحلیل ایستا همیشه تمامِ زمینه را نمی‌بیند. یک «اصلاح بی‌ضرر»—مثل حذف یک متغیر به‌ظاهر بلااستفاده—می‌تواند رفتار پنهانی یا الگوهای پویا را از کار بیندازد و کد را بشکند. راه‌حل، کنار گذاشتن linter نیست؛ بلکه تنظیم دقیق قوانین، پرهیز از autofix برای تغییرات معنایی، کاهش شدت برخی قوانین، افزودن مستندات و استثناهای صریح، و تکیه بر تست‌ها و بازبینی انسانی است. از lint باید به‌عنوان راهنما استفاده کرد، نه مرجع نهایی؛ به‌ویژه در کدهایی که با الگوهای پویا، reflection یا codegen کار می‌کنند. با بازخورد به نگه‌داران ابزارها، استفاده از حالت‌های آگاه به نوع (مثل ESLint با TypeScript) و سیاست‌های روشن در CI، می‌توان مزایای lint را گرفت و ریسک «اصلاحات خطرناک» را کم کرد.

#linting #staticanalysis #codequality #developerexperience #CI #autofix #falsepositives #softwareengineering

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


👑 @gopher_academy
Forwarded from Gopher Academy
🔵 عنوان مقاله
Valgo 0.7: An Expressive Validator Library

🟢 خلاصه مقاله:
اValgo 0.7 یک کتابخانه اعتبارسنجی است که با تکیه بر generics، API ایمن از نظر نوع و قابل‌گسترش ارائه می‌دهد. به‌جای استفاده از struct tags، قواعد به‌صورت توابع نوشته می‌شوند؛ رویکردی که خوانایی، تست‌پذیری و ترکیب‌پذیری را افزایش می‌دهد و وابستگی به رشته‌ها و reflection را کاهش می‌دهد. نتیجه، اعتبارسنجی شفاف‌تر و قابل‌نگهداری‌تری است که از بررسی‌های ساده تا منطق‌های پیچیده و دامنه‌محور را پوشش می‌دهد و به‌سادگی با لایه‌های مختلف کد ادغام می‌شود.

#Validation #Generics #TypeSafety #Extensibility #CleanCode #DeveloperExperience #SoftwareEngineering

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


👑 @gopher_academy