Dev Perfects – Telegram
Dev Perfects
41 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from یک برنامه نویس تنبل (Lazy 🌱)
🔶 در آینده‌ی نزدیک، آب حکم طلا را پیدا خواهد کرد.

یاد فیلم مکس دیوانه افتادم.

@TheRaymondDev
Forwarded from یک برنامه نویس تنبل (Lazy 🌱)
🔶 چه پالت رنگی زیبایی

#ui

@TheRaymondDev
Forwarded from Linuxor ?
مورد داشتیم طرف از چت جی پی تی درخواست فایل apk کرده!

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


@Linuxor
دو نگاه متفاوت به Project Layout در گولنگ
(انتخاب میان سادگی گولنگ و جذابیت ستاره‌های بالا)

مدت‌هاست دو الگوی مشهور برای ساختاردهی پروژه‌های گولنگ مطرح هستند:

۱. الگوی پیشنهادی در سایت رسمی گولنگ:
https://go.dev/doc/modules/layout

۲. ریپوزیتوری پرطرفدار golang-standards/project-layout در گیت‌هاب:
https://github.com/golang-standards/project-layout

ریپوزیتوری گیت‌هاب تعداد زیادی ستاره دارد؛ عددی که ممکن است در نگاه اول تصمیم‌گیری را سخت کند. و تردید ایجاد کند که «نقدی به آن وارد نیست و من اشتباه می‌کنم» اما با وجود این محبوبیت، من دیدگاه خودم را بیان می‌کنم

گولنگ بر فلسفه‌ای ساده بنا شده است؛ فلسفه‌ای که در اسناد رسمی آن کاملاً مشهود است. ساختار رسمی، ساده، شفاف و مستقیم است. اما لایوت پرستاره‌ی گیت‌هاب، با وجود اعلام صریح در README که «استاندارد رسمی نیست»، اما با انتخاب نام golang-standards برای ریپوزیتوری گیت‌هاب خود و نوع ارائه خود رگه‌هایی از پیچیدگی و استانداردسازی غیررسمی را ارایه می‌دهند. که ممکن است به کاربر مبتدی القا ‌کند که استاندارد رسمی است.

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

در نهایت، احترام برای هر دو دیدگاه محفوظ است؛ اما انتخاب من همچنان همان خط رسمی گولنگ است:
سادگی، شفافیت و ساختاری که دقیقاً از نیاز معماری ساخته شود، نه بالعکس.

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

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

موفق باشید! 🌹

@srfirouzi_channel
Forwarded from Armon technical logs (armon Taheri)
پست مرتن مربوط به قطعی سراسری 18 نوامبر 2025
یک نمونه واقعی و مسئولیت پذیرانه از نحوه اصولی واکنش بعد از وقوع یک دیزستر
https://blog.cloudflare.com/18-november-2025-outage/
🚀 Blender 5.0 منتشر شد!
از ویرایش فیلم گرفته تا ساخت انمیشن دو بعدی و سه بعدی نرم‌افزار رایگان، متن‌باز و قدرتمند برای مدل‌سازی سه‌بعدی، انیمیشن، VFX و…
حجم فقط ۳۷۰ مگ حتی بدون نصب اجرا میشه
قدرت ⚡️


آپدیت خفن ، پر از تغییرات بنیادی و قابلیت‌های حرفه‌ای:

🔥🔥ویژگی های جدید
پشتیبانی از HDR / Wide Gamut (روی لینوکس فقط با Wayland + Vulkan)
🎨 سیستم رنگ جدید + AgX HDR View + رنگ‌فضاهای ACES 1.3/2.0
✏️ Curve Drawing بازطراحی شد + ابزارهای جدید برای Curve و Geometry
🧩 ۶ Modifier جدید مبتنی بر Geometry Nodes
🔥 الگوریتم جدید Render حجم‌ها (Null Scattering)
🧍 مش پایهٔ Human Skeleton اضافه شد
📚 Storyboarding Workspace جدید

📥 دانلود نسخهٔ لینوکس
نسخهٔ Universal Binary برای همهٔ توزیع‌ها در دسترس است و بدون نصب اجرا میشه.🤯
(blender.org)
منبع
"When the bad file with more than 200 features was propagated to our servers, this limit was hit — resulting in the system panicking."
"This resulted in the following panic which in turn resulted in a 5xx error:
thread fl2_worker_thread panicked: called Result::unwrap() on an Err value"



اینو یکی از بچه‌ها توی گروه دیگری فرستاد؛ دیروز نصف اینترنت رسماً قطع شد، چرا ؟ کلودفلیر یک باگ خورده بود.

حالا مشخص شده اون باگ از یک خطای انسانی افتضاح میاد.
داستان اینه؛
یک سرور به محدودیت می‌خوره و از دسترس خارج می‌شه که باعث میشه تمام ریسپانس‌هاش خطای ۵۰۰ باشه؛ اما یک توسعه دهنده بجای اینکه response رو بررسی کنه که آیا ۲۰۰ هست یا نه
فرض کرده چون ما داخل دیتاسنتر هستیم و کلودفلیر هیچوقت غیر از ۲۰۰ نمی‌گیریم.
پس unwrap زده و چون غیر از ۲۰۰ گرفته بوده؛ سیستم ترکیده.

چندتا نکته :
۱- هیچ چیزی رو فرض نکنید، همه چیز رو تست کنید.
من هم توی بعضی کدهام unwrap می‌نویسم؛ اما خیلی وقتا عمدی هست چون واقعاً نمی‌دونم خروجی اون تابع یا ماکرو چطور می‌تونه Error باشه!
می‌نویسم که بیزینس در بیاد.

۲- زبان برنامه‌نویسی Rust فقط امنیت روی مموری بهتون میده؛ قراره نیست براتون نون هم بخره.
نکته جالبتر اینکه؛ AI هم این خطاهارو تشخیص نمی‌ده !!
اینه که همیشه از peer-review استقبال باید بشه.

۳- مورد راحتی مثل خطای 5xx توی http و اینکه حتی این مورد ساده هم تست نشده؛ نشون میده کلودفلیر هم که بری؛ قرار شیت کد ببینی.
پس دوست عزیز حداقل تست بنویس.
کاربری به نام اتمیک در پیام اخیر خودش گفته جالبه که دقیقا وقتی کلودفلر دچار مشکل شده، ترافیک اینترنت ایران طوری دیده میشه که انگار کامل بات‌نت شده؛ یعنی شبیه ترافیک مشکوک و غیرعادی. میزان ترافیک مشکوک در کشورهای دیگه حداکثر ۷۰ تا ۸۰ درصد میشه، ولی برای ایران به ۱۰۰ درصد می‌رسه که کاملاً عجیبه.
این کاربر این فرضیه رو مطرح کرده که دولت ایران داره به کلودفلر فشار میاره تا اونها سرویس‌هایی مثل Warp و Workers رو محدود کنن.

🔍 ircf.space
@ircfspace
Forwarded from یه شعر (Poem Bot)
حافظ | قطعات | قطعه شمارهٔ ۲۲

سرور اهل عمایم شمع جمع انجمن
صاحب صاحب قران خواجه قوام الدین حسن
سادس ماه ربیع الاخر اندر نیم روز
روز آدینه به حکم کردگار ذوالمنن
هفت صد و پنجاه و چار از هجرت خیرالبشر
مهر را جوزا مکان و ماه را خوشه وطن
مرغ روحش کـ او همای آشیان قدس بود
شد سوی باغ بهشت از دام این دار محن

#حافظ | گنجور
📍@iipoem
کلودفلر در گزارش رسمی خودش به اختلال گسترده‌ای پرداخت که از حدود ساعت ۱۴:۵۰ روز گذشته آغاز شده بود. این شرکت توضیح داد که مشکل نه به‌خاطر حملهٔ سایبری، بلکه به‌دلیل یک تغییر اشتباه در سطح دسترسی پایگاه‌داده بود که باعث تولید یک فایل پیکربندی معیوب برای سیستم مدیریت بات‌ها شد.
این فایل نادرست در سراسر شبکه پخش شد و چون اندازه‌‌ش از حد مجاز عبور کرده بود، بخش اصلی مسیریابی ترافیک در سرورهای کلودفلر از کار افتاد و خطاهای 5xx به شکل گسترده ظاهر شد.

کلودفلر توضیح داد که در ابتدا تصور می‌کرد با یک حملهٔ بزرگ روبرو باشه، چون رفتار سیستم نوسانی و غیرعادی بود و حتی صفحهٔ وضعیت شرکت هم همزمان دچار اختلال شد. اما پس از مشخص شدن منبع مشکل، انتشار فایل متوقف و نسخهٔ سالم قبلی جایگزین شد. به‌تدریج سرویس‌ها به حالت عادی برگشتن و تا حدود ساعت ۲۰:۳۶ روز ۲۷ آبان، تمامی بخش‌ها کاملاً احیا شدن.

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

👉 blog.cloudflare.com/18-november-2025-outage

🔍 ircf.space
@ircfspace
پروژه OpexCore یک مجموعه ابزار یکپارچه در پایتون هست، که فرآیند مدیریت و تعامل با پنل‌های مختلف VPN رو برای توسعه‌دهندگان ساده می‌کنه. به‌جای اینکه برای هر پنل ماژول جداگانه بسازین یا APIهای متفاوت رو به‌صورت دستی پیاده‌سازی کنین، این ابزار همه اونهارو در قالب یک SDK منسجم گردآوردی کرده.
با پشتیبانی از پنل‌هایی مانند Marzban, Marzneshin, OvPanel, Pasarguard, Remnawave, Rebbeca و ... میشه تنها با یک ساختار واحد، عملیات و درخواست‌های لازم رو روی هر سرویس انجام داد.

👉 github.com/erfjab/OpexCore/releases/latest

🔍 ircf.space
@ircfspace
سرویس استاتوس آروان دیروز به‌دلیل مشکلی که برای کلودفلر پیش اومده بود، از دسترس خارج شد.
مدیرعامل آروان در پاسخ به این موضوع گفته سرویس استاتوس کلودفلر روی AWS و آروان روی کلودفلر هست؛ چون لازمه وقتی سرویس خودت اختلال داره بقیه بتونن از این اختلال مطلع بشن.

🔍 ircf.space
@ircfspace
Forwarded from RandRng
این قشنگ بود 👌
Forwarded from Mr Python | مستر پایتون (حسین)
🟣 اسمبلی x86 - قسمت 21 :تست بیت ها با دستورالعمل TEST

در این ویدیو به بررسی دستورالعمل TEST و نحوه استفاده از آن برای تست کردن یک بیت خاص در یک عدد خواهیم پرداخت .
همچنین به عنوان تمرین عملی برنامه ای برای تشخیص زوج یا فرد بودن یک عدد دلخواه با استفاده از دستورالعمل TEST پیاده خواهیم کرد .

Aparat : https://www.aparat.com/v/zee6oc3
Youtube : https://youtu.be/trVeaeD2b4Y

🆔 : @MrPythonBlog | BOOST
برنامه متن‌باز و رایگان PyWarp که برای ویندوز، لینوکس و مک‌اواس عرضه شده، در تازه‌ترین آپدیتش تغییراتی داده که پروتکل مسک مجددا روی اینترنت‌هایی که Masque رو مسدود کردن قابل استفاده بشه.
خودم تست کردم و جوابگو بود؛ البته ممکنه برای اتصال نیاز باشه چندین مرتبه تلاش کنین.

👉 github.com/saeedmasoudie/pywarp/releases/latest

🔍 ircf.space
@ircfspace
Forwarded from Go Casts 🚀
نکته‌ای که تجربه‌اش رو توی سیستم‌های high-scale دیدم، اینه که بسیاری از این تصمیمات فقط یکبار نیستن — بلکه evolutionary هستن.
مثلاً شروع با monolith منطقی‌ترین انتخاب برای یک سیستم جدید با domain uncertainty بالا هست، اما همون معماری با رشد traffic و team size ممکنه به bottleneck تبدیل بشه. در اون مرحله migration به microservices دیگه یک انتخاب نیست، بلکه یک forced trade-off بین developer productivity، operational complexity و scalability هست.
یا مثلاً انتخاب database: با 10K QPS شاید PostgreSQL با read replica کافی باشه، ولی با 100K+ QPS باید راجع به sharding، caching layer و eventual consistency فکر کنی. همین decision دوباره وابسته میشه به اینکه consistency requirements چقدر سخت‌گیرانه‌ان.
به نظرم شاید یه اصل مهم دیگه هم مثل "it depends" اینه که بدونیم چه موقع باید یک تصمیم رو revisit کنیم. این یعنی داشتن observability و metrics که نشون بدن کِی architectural constraints ما به actual bottleneck تبدیل شدن.


در تایید این پست خوب دوست عزیزم محمد نصر
https://www.linkedin.com/posts/mohammadne_%D8%AF%D8%B1-%D8%B3%D8%A7%D9%84%D9%87%D8%A7%DB%8C%DB%8C-%DA%A9%D9%87-%D8%B1%D9%88%DB%8C-software-architecture-activity-7396796883618217985-GquG?utm_source=share&utm_medium=member_desktop&rcm=ACoAABKaeq4BumiQ-WRCbtW6ppzE1JdD1EBnCUQ


پی نوشت: عذرخواهی میکنم واقعا سخته فارسی کنی کلمات رو و همون معنی رو بده. من خودم انگلیسی م چندان تعریفی نداره و خدای نکرده برداشت بدی نشه. ولی واقعا سخته بعضی جاها. نگم سخته بهتره بگم سریعتره که اینطوری نوشته بشه 🙂. بازم معذرت


@gocasts
This media is not supported in your browser
VIEW IN TELEGRAM
خب جمینای ۳ هم منتشر شد!
نسخه اولیه‌اش تا اینجای کار خیلی جذاب به نظر می‌رسه.

تمرکز جمینای ۳ اینه که برای اولین بار مولتی‌مدل واقعی ارائه بده. علاوه بر این، ادعا می‌کنه بین همه مدل‌ها بهترین توانایی تحلیل عمیق رو داره.

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

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

@DevTwitter | <Farokh/>
Forwarded from Gopher Academy
این تصویر به‌صورت دقیق نحوه‌ی ادغام خلاصه‌ها (summary merging) در مدیریت حافظه‌ی Go را نشان می‌دهد.
ایده‌ی اصلی:
در Go برای مدیریت صفحات آزاد از ساختاری به نام Summary استفاده می‌کند که سه مقدار دارد:

start → تعداد صفحات آزاد در ابتدای محدوده

end → تعداد صفحات آزاد در انتهای محدوده

max → بیشترین دنباله‌ی صفحات آزاد در هر نقطه از محدوده

هر Summary معمولاً ۵۱۲ صفحه را پوشش می‌دهد. وقتی دو محدوده‌ی متوالی (مثل S1 و S2) کنار هم قرار می‌گیرند، Go می‌تواند آنها را با هم ادغام کند تا یک summary بزرگ‌تر بسازد.

👑 @gopher_academy
Forwarded from Gopher Academy
وقتی این دو کنار هم قرار می‌گیرند، Go مقدارهای جدید را به شکل زیر محاسبه می‌کند:

start = S1.start = 3
(از آنجایی که ناحیه پایین‌تر از S1 شروع می‌شود)

end = S2.end = 2
(زیرا انتهای کل محدوده با S2 تمام می‌شود)

max = max(S1.max, S2.max, S1.end + S2.start)
= max(10, 8, 7 + 5)
= max(10, 8, 12)

با ادغام S1 و S2، خلاصه‌ی جدید محدوده‌ی ۱۰۲۴ صفحه‌ای برابر است با:

start = 3, max = 12, end = 2

مزیت این روش:
Go با استفاده از این ساختار سلسله‌مراتبی از summaryها می‌تواند بدون نیاز به اسکن کامل بیت‌مپ‌ها، در چند سطح (arena → chunk → bitmap) سریعاً پیدا کند کجا فضای خالی کافی برای تخصیص span جدید وجود دارد — در نتیجه تخصیص حافظه بسیار سریع‌تر و مقیاس‌پذیرتر انجام می‌شود.

👑 @gopher_academy
Forwarded from Gopher Academy
توضیحات👇👇👇👇

👑 @gopher_academy