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 Reza Jafari
درک و مدیریت داده‌های گمشده: MCAR، MAR و MNAR به زبان ساده

وقتی با داده‌ها سروکار داریم، همیشه احتمال وجود مقادیر گمشده یا missing data هست. این مقادیر خالی اگر به درستی مدیریت نشن، می‌تونن کل نتیجه تحلیل یا مدل‌سازی رو تحت تأثیر بذارن. برای اینکه بفهمیم چطور باید با این مشکل برخورد کنیم، اول لازمه بدونیم داده‌ها به چه شکلی گم شدن. معمولاً سه نوع اصلی وجود داره: MCAR، MAR و MNAR.

در حالت MCAR (Missing Completely At Random)، احتمال گم شدن یک مقدار هیچ ربطی به مقدار خودش یا سایر داده‌ها نداره. به عبارت دیگه، کاملاً تصادفی رخ می‌ده. مثلاً فرض کن یک پرسشنامه پستی فرستادی و بعضی برگه‌ها به خاطر مشکلات پست به دستت نمی‌رسه. یا یک سنسور هواشناسی به دلیل قطعی برق بعضی لحظه‌ها داده‌ای ثبت نمی‌کنه. اینها مثال‌های کلاسیک MCAR هستن چون نبود داده هیچ ارتباطی با خود مقدار نداره. اگر داده‌ها واقعاً MCAR باشن، حتی حذف ردیف‌های ناقص هم معمولاً باعث ایجاد سوگیری در نتایج نمی‌شه.

اما در حالت MAR (Missing At Random)، گم شدن داده به متغیرهای قابل مشاهده وابسته است، نه به خود مقدار گمشده. مثلاً در یک نظرسنجی، افراد کم‌سن‌وسال کمتر حاضر می‌شن درآمدشون رو اعلام کنن. این یعنی نبود داده به سن وابسته است، ولی نه به مقدار واقعی درآمد. یا در پرونده‌های پزشکی، افراد مسن‌تر ممکنه بعضی اندازه‌گیری‌ها رو جا بندازن، اما این نبود داده بیشتر به سنشون مربوط می‌شه تا خود مقدار فشار خون. این حالت خیلی رایجه و خوشبختانه می‌شه با روش‌هایی مثل multiple imputation یا مدل‌سازی مبتنی بر متغیرهای دیگه مدیریت‌ش کرد.

سخت‌ترین حالت، MNAR (Missing Not At Random) هست. اینجا گم شدن داده مستقیماً به مقدار خودش بستگی داره. مثلاً کسانی که درآمد خیلی بالا دارن ممکنه به‌عمد جواب نشن چون نمی‌خوان افشا بشه. یا افراد با وزن بالا ممکنه تصمیم بگیرن وزنشون رو گزارش نکنن. در این حالت، نبود داده به خود متغیر وابسته است و نمی‌شه صرفاً با بقیه اطلاعات توضیحش داد. همین باعث می‌شه روش‌های معمول مثل حذف یا ایمپوت ساده، سوگیری جدی ایجاد کنن. برای مواجهه با MNAR معمولاً باید از مدل‌های پیچیده‌تر، تحلیل حساسیت یا فرضیه‌های اضافه استفاده کنیم.

نکته مهم اینه که تشخیص دقیق نوع missingness خیلی دشواره، چون عملاً ما به داده گمشده دسترسی نداریم. معمولاً باید با ترکیبی از منطق، دانش حوزه کاری و بررسی الگوها تصمیم بگیریم. حتی ممکنه در یک ستون، بعضی مقادیر به صورت MAR و بعضی به صورت MNAR گم شده باشن. همچنین با اضافه کردن متغیرهای کمکی مرتبط می‌شه بعضی از داده‌های MNAR رو به MAR نزدیک کرد و مدیریت بهتری داشت. در نهایت انتخاب روش برخورد باید متناسب با شرایط داده و تحلیل باشه: برای MCAR روش‌های ساده جواب می‌دن، برای MAR باید از مدل‌سازی و imputation استفاده کرد، و برای MNAR به ابزارهای پیشرفته‌تر نیاز داریم.


🔤🔤🔤🔤🔤🔤🔤

🥇 اهورا اولین اپراتور هوش مصنوعی راهبردی ایران در حوزه ارائه خدمات و سرویس‌های زیرساخت هوش مصنوعی

🌐 لینک ارتباط با اهورا

@reza_jafari_ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Gopher Academy
🔹 Introduction – Memory Allocation in Go


مدیریت حافظه بخش حیاتی هر زبان برنامه‌نویسی است و Go هم از این قاعده مستثنی نیست. سرعت و کارایی برنامه‌های Go به شدت وابسته به نحوه تخصیص و مدیریت حافظه است.

هرچند Go با APIهای ساده‌ای مثل new(T), &T{} و make پیچیدگی‌ها را از دید برنامه‌نویس پنهان می‌کند، اما درک سازوکار پشت پرده به ما کمک می‌کند:

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

در این سری قرار است:

* با اجزای اصلی memory allocator در Go آشنا شویم،
* نحوه مدیریت حافظه برای اشیاء کوچک، متوسط و بزرگ را ببینیم،
* مدیریت stack در کنار heap را بررسی کنیم،
* و در نهایت با مطالعه case studyها**، تأثیر عملی این استراتژی‌ها را در برنامه‌های واقعی درک کنیم.

قبل از ورود به جزئیات، بهتر است مفاهیم پایه‌ای **Virtual Memory
در سیستم‌عامل مرور شود.


👑 @gopher_academy
Forwarded from Gopher Academy
🔹 Go’s View of Virtual Memory


یک برنامه Go در اصل یک پردازش فضای کاربر (user-space process) است و همان چیدمان استاندارد حافظه مجازی (Stack, Heap, BSS, Data) را دارد.

در Stack، Go از استک خاصی به نام g0 stack استفاده می‌کند که به نخ اصلی runtime (m0) متصل است.

متغیرهای global که مقدار اولیه دارند در بخش Data ذخیره می‌شوند، و متغیرهای global بدون مقدار اولیه در بخش BSS قرار می‌گیرند.

بر خلاف زبان‌های سنتی مثل C که از Heap زیر program break استفاده می‌کنند، Go این Heap سنتی را برای اشیای خود به کار نمی‌برد.

به جای آن، Go برای تخصیص حافظه اشیای heap و استک گوروتین‌ها از memory-mapped segments استفاده می‌کند.

از اینجا به بعد، وقتی از "heap" در Go صحبت می‌کنیم، منظور همان بخش memory-mapped است (و نه heap سنتی زیر program break).

👉 به زبان ساده: Go یک heap اختصاصی روی memory-mapped segments می‌سازد و مدیریت حافظه را خودش انجام می‌دهد، نه اینکه از heap پیش‌فرض سیستم عامل استفاده کند.


👑 @gopher_academy
Forwarded from Gopher Academy
برای مدیریت بهینه‌ی حافظه، Go حافظه‌ی تخصیص‌داده‌شده از طریق memory mapping را به واحدهای سلسله‌مراتبی تقسیم می‌کند:

ساختار حافظه:

Arena (۶۴MB)

بزرگ‌ترین واحد تخصیص در Go.

هر Arena فضایی به اندازه‌ی ثابت ۶۴MB دارد.

اGo سعی می‌کند Arenaها رو پشت‌سر هم قرار بده، ولی همیشه تضمین نمی‌شه (به خاطر رفتار mmap).

Page (۸KB)

هر Arena به صفحات (Page) تقسیم می‌شود.
سایز هر Page: ۸KB.
این Pageها با Pageهای سیستم‌عامل (معمولاً ۴KB) متفاوت هستند.
تخصیص اشیاء:
اگر اندازه‌ی شیء کوچک‌تر از ۸KB باشد → چندین شیء در یک Page جا می‌گیرند.

اگر اندازه‌ی شیء دقیقاً ۸KB باشد → کل Page را اشغال می‌کند.
اگر اندازه‌ی شیء بزرگ‌تر از ۸KB باشد → روی چند Page گسترده می‌شود.

اGoroutine Stack
استک هر goroutine در همین Pageها نگهداری می‌شود.
هر استک در ابتدا فقط ۲KB است.
بنابراین یک Page (۸KB) می‌تواند تا ۴ goroutine stack را در خود جا دهد.

به زبان ساده:
اGo حافظه را اول به Arena (۶۴MB) تقسیم می‌کند، سپس هر Arena را به Page (۸KB) می‌شکند و این Pageها برای اشیاء مختلف یا استک goroutineها استفاده می‌شوند.

👑 @gopher_academy
This media is not supported in your browser
VIEW IN TELEGRAM
علی‌بابا در رقابت با گوگل، مدل ادیت عکس وان۲.۵ با حداقل لزوم پرامپت‌نویسی و بیشترین درک تصویری رو منتشر کرده. پلتفرم‌های زیادی هم این مدل را ارائه کردن.

@DevTwitter | <Setareh/>
Forwarded from Go Casts 🚀
تخفیف مهرماه GoCasts

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

۵۰ درصد + ۲ میلیون تومان تخفیف مهر ماه

دوره +‌ تیمسازی بکند و گولنگ Go Casts

۵۰ درصد + ۲ میلیون تومان تخفیف
کد تخفیف ویژه
MEHR

خرید از سایت
https://gocasts.ir

همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://t.iss.one/gocasts/434

تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://t.iss.one/gocasts/441

دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم
https://survey.porsline.ir/s/ATeQL4b4


@gocasts
Please open Telegram to view this post
VIEW IN TELEGRAM
مدتی هست دارم برای سخت‌افزار یک شرکتی، TUI می‌نویسم و خب Ratatui بهترین گزینه هست توی Rust اما مثال‌های داکیومنت خوبی نداره بنظرم!

دوتای اول خیلی ساده‌اس، مورد سوم هم SoC و ... رو رعایت نکرده

نمی‌دونم وقت بذارم مثال‌های خودشون رو داکیومنتش رو تغییر بدم و استاندارد کنم یا اینکه کلاً کنار پروژه این شرکت یک ابزار TUI دیگه هم بنویسم و منتشر کنم 🤔
Forwarded from Geek Alerts
This media is not supported in your browser
VIEW IN TELEGRAM
اوپن‌ای‌آی قابلیتی جدید به اسم ChatGPT Pulse رو برای کاربران Pro موبایل منتشر کرده. پالس هر روز به شما به‌روزرسانی شخصی‌شده مبتنی بر گفتگوها، بازخوردها و اپلیکیشن‌های متصل‌شده مثل تقویم و جیمیل رو ارائه می‌ده.

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

همچنین می‌تونید Gmail و Google Calendar رو بهش متصل کنید تا پیشنهادهای مرتبط‌تری در اون زمینه بگیرید. با اتصال تقویم، ChatGPT می‌تونه پیش‌نویس دستور جلسه، یادآوری خرید کادوی تولد یا معرفی رستوران برای سفر پیش‌رو رو به شما ارائه بده. این یکپارچه‌سازی‌ها به‌طور پیش‌فرض خاموشن و می‌شه از تنظیمات اون‌ها رو روشن یا خاموش کرد.

با آپشن «curate» شما می‌تونید مشخص کنید که ChatGPT هر روز چه چیزی رو نشون بده یا درباره‌اش تحقیق کنه؛ مثل «فردا فقط روی اخبار تنیس حرفه‌ای تمرکز کن». پالس با یادگیری از بازخوردهای اولیه، برای عرضه به کاربران Plus بهبود پیدا می‌کنه با این هدف که در نهایت برای همه در دسترس قرار بگیره. [L]

🤓 abolfazl @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Gopher Academy
🔵 عنوان مقاله
GoMLX: An Accelerated Machine Learning Framework for Go

🟢 خلاصه مقاله:
اGoMLX یک مجموعه کتابخانه و ابزار یادگیری ماشین برای زبان Go است که با تمرکز بر اجرای شتاب‌گرفته و تجربه‌ای سازگار با اکوسیستم Go ارائه می‌شود. این پروژه عملاً نقش جایگزینی برای PyTorch یا TensorFlow در دنیای Go را بازی می‌کند و ساخت مدل، آموزش، پردازش داده و استنتاج را با APIهای ساده و ایدئوماتیک Go ممکن می‌سازد. با وجود نام مشابه، هیچ ارتباطی با MLX از Apple ندارد و در حال حاضر فقط روی Linux قابل استفاده است؛ انتخابی که آن را برای محیط‌های سروری و کانتینری رایج مناسب می‌کند.

#GoMLX #Go #MachineLearning #PyTorch #TensorFlow #Linux #MLOps

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


👑 @gopher_academy
رفع هشدارهای Git GC (Garbage Collection)

گاهی وقتا موقع اجرای git pull یا git fetch با پیام‌های زیر مواجه میشید:

warning: The last gc run reported the following. Please correct the root cause and remove .git/gc.log

warning: There are too many unreachable loose objects; run 'git prune' to remove them.


این هشدارها یعنی ریپازیتوری شما پر از فایل‌های قدیمی و objectهای غیرقابل دسترس شده. برای پاکسازی و بهینه‌سازی کافیه مراحل زیر رو انجام بدید:

مرحله ۱: پاک کردن لاگ قدیمی GC

rm -f .git/gc.log



مرحله ۲: حذف objectهای غیرقابل دسترس

git prune



مرحله ۳: اجرای Garbage Collection به‌صورت کامل و تهاجمی

git gc --aggressive --prune=now



اگه بخواید همه‌ی مراحل رو یکجا اجرا کنید:

rm -f .git/gc.log && git prune && git gc --aggressive --prune=now


بعد از این کار، ریپازیتوری سبک‌تر میشه و دیگه این هشدارها رو نمی‌بینید

@DevTwitter | <MrBardia72/>
این اپ اندرویدی Metrolist میتونه باعث بشه اسپاتیفای رو تمدید نکنم، خیلی خوبه

https://github.com/mostafaalagamy/Metrolist

@DevTwitter | <iman/>
Forwarded from SoniaCircuit (Sonia Fatholahi)
اکانت من از ریپورتی در اومد ولی کانال نامیرا از ریپورتی در نیومد

خیلی جالبه من تقریبا ۳ بار بهشون ایمیل زدم و یک بار هم ازشون جوابی دریافت نکردم
🎉 نسخه جدید GNU Core Utilities با پشتیبانی از SHA3 منتشر شد

- دستور cksum در GNU Coreutils 9.8 حالا از الگوریتم‌های SHA3 (224/256/384/512) پشتیبانی می‌کنه 😎 مثال:
cksum -a sha3-256 file.txt

خروجی مشابه این خواهد بود: (هش + اندازه فایل + نام فایل)
5c2d7a1b...  1234  file.txt    

نام SHA-3 مخفف «Secure Hash Algorithm 3» است؛ عضوی از خانواده توابع هش رمزنگاری الگوریتم SHA-3 بر پایه‌ی ساختار اسفنجی (sponge construction) کار می‌کنه، که متفاوت از ساختار توابع SHA-1/2

دیگر تغییرات مهم:
- ابزار basenc از Base58 پشتیبانی می‌کند:
echo "linux" | basenc --base58

- دستور fold حالا چندبایتی‌ها را بهتر پشتیبانی می‌کند و گزینه جدید --characters اضافه شده است:
echo "سلام دنیا" | fold --width=3 --characters

- دستور nproc با محدودیت‌های cgroup v2 هماهنگ شده و تعداد CPU مجاز را دقیق‌تر گزارش می‌دهد:
nproc

امکان stty امکان تنظیم baud rate دلخواه را در سیستم‌های پشتیبانی‌شده فراهم کرده است:
 stty speed 250000

@MehrdadLinuxchannel
#Linux #لینوکس #خبر
Forwarded from Gopher Academy
🔵 عنوان مقاله
TableWriter 1.1: Render Rich Text-Based Tables

🟢 خلاصه مقاله:
جدول‌نویسی TableWriter 1.1 یک کتابخانه چندمنظوره برای رندر کردن جدول‌های متنیِ خوانا در قالب‌های مختلف است. خروجی‌های استاندارد مانند ASCII، Unicode، Markdown و HTML را پوشش می‌دهد و برای ترمینال‌های رنگی نیز مناسب است؛ بنابراین برای ابزارهای خط فرمان، گزارش‌ها و مستندسازی انتخابی کاربردی محسوب می‌شود. تمرکز آن بر انعطاف‌پذیری و خوانایی است تا با تنظیم چینش، فاصله‌ها و مرزبندی، داده‌های متفاوت را به شکلی منظم نمایش دهد. README این پروژه با مثال‌های فراوان، شروع کار را سریع و بی‌دردسر می‌کند.

#TableWriter #ASCII #Unicode #Markdown #HTML #Terminal #CLI #OpenSource

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


👑 @gopher_academy
اگر دوست دارید توی یه پروژه نسبتاً ساده ببینید که الگوریتم Q-learning چطور کار می کنه، می‌تونید یه نگاهی به این مخزن بندازید.
https://github.com/naseridev/notch

@DevTwitter | <Nima Naseri/>
Forwarded from GitHub Trending Daily
🔥 New GitHub Trending Repositories 🔥

Found 11 new trending repositories:

1. MoneyPrinterTurbo by harry0703
📝 利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
💻 Python | 40,196 | 🌟 Today: 32
🔗 Link
2. erpnext by frappe
📝 Free and Open Source Enterprise Resource Planning (ERP)
💻 Python | 28,638 | 🌟 Today: 100
🔗 Link
3. typescript-sdk by modelcontextprotocol
📝 The official TypeScript SDK for Model Context Protocol servers and clients
💻 TypeScript | 9,899 | 🌟 Today: 12
🔗 Link
4. directus by directus
📝 The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps...
💻 TypeScript | 32,440 | 🌟 Today: 17
🔗 Link
5. helium by imputnet
📝 Private, fast, and honest web browser
💻 Python | 3,304 | 🌟 Today: 279
🔗 Link
6. supervision by roboflow
📝 We write your reusable computer vision tools. 💜
💻 Python | 35,226 | 🌟 Today: 189
🔗 Link
7. oauth2-proxy by oauth2-proxy
📝 A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identi...
💻 Go | 12,093 | 🌟 Today: 19
🔗 Link
8. dynamo by ai-dynamo
📝 A Datacenter Scale Distributed Inference Serving Framework
💻 Rust | 5,080 | 🌟 Today: 10
🔗 Link
9. awesome-ai-agents by e2b-dev
📝 A list of AI autonomous agents
💻 Star | 22,688 | 🌟 Today: 60
🔗 Link
10. proxypin by wanghongenpin
📝 Open source free capture HTTP(S) traffic software ProxyPin, supporting full platform systems
💻 Dart | 10,367 | 🌟 Today: 12
🔗 Link
11. aspnetcore by dotnet
📝 ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on ...
💻 C# | 37,129 | 🌟 Today: 8
🔗 Link

🔘 @github_trending_daily
Forwarded from a pessimistic researcher (Kc)
IPMMath
Photo
این پست رو که دیدم خواستم بهتون بگم که یادتون باشه حتما Peano Arithmetic رو یاد بگیرید اگر علاقه دارید که وارد computability theory و یا complexity theory بشید. علاوه‌ بر اون حتی تو حوزه‌ی Concurrency theory و reasoning روی سیستم‌های infinite-state هم کاربرد داره ( مثل مدل‌های VASS یا همون Vector addition systems with states)
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
⭐️کتاب 5ام -مفاهیم اولیه لینوکس
🔹این کتاب به عنوان یک راهنمای جامع و کاربردی برای مهاجرت به سیستم‌عامل لینوکس برای شما فراهم میکند. پایه ای ترین مفاهیم بای شروع لینوکس و مفاهیم متن باز

🔹مشخصات کتاب:
🔻11 فصل
🔻 305 صفحه
🔻تماما رنگی
🔻فرمت فایل pdf
🔻انتشارات یافته
🔻نویسنده حسین سیلانی

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

🔹فهرست کامل کتاب به همراه صفحات نمونه:
https://learninghive.ir/wp-content/uploads/2025/09/bk5-wat-linu-sample.pdf

🔹دریافت کتاب:
https://learninghive.ir/linux-books/
This media is not supported in your browser
VIEW IN TELEGRAM
دو تا ابزار pgcli و mycli خیلی میتونه کار با دیتابیس هارو راحت تر و حتی امن تر کنه در محیط ترمینال
اولا که خیلی ux خوبی دارن و auto complete داره خیلی کارو راحت میکنه
دوما اینکه برای دستورات خطرناکی مثل آپدیت و حذف و غیره ازت یه تایید ثانویه دستور میگیره که خیلی ریسک اجرا رو کمتر میکنه اگه ریویو کنی دستور رو قبل از اجرا

pgcli
https://github.com/dbcli/pgcli

mycli
https://github.com/dbcli/mycli

@DevTwitter | <Hossein Nazari/>
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 یه حمله ای به سایت آموزشی راکت انجام شده که کل دوره های آموزشی سایت در کانال تلگرام پاپلیک شده است. 🚬

@TheRaymondDev
این هفته در کی‌دی‌ای جدید هم منتشر شد.

در این هفته‌نامه، تغییراتی رخ داده که در چند سلسله پست باهم مرور می‌کنیم.


به پلاسما ۶.۵.۰ حالت اصلاح رنگ برای افراد دارای کوررنگی اضافه شده که این امکان رو میده تا میزکار رو تماماً سیاه و سفید کنید و یا یک رنگ خاص رو حذف کنید.



@KDE_fa