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
چندین بار اومدم از تجربم روی راه‌اندازی H200 بگم و Sync کردن و تست‌های مختلف که چندروز درگیرش بودم.

ولی واقعاً انگیزه‌ای نیست!

بقول صاحب شرکت؛
آقا من ۱۸ میلیارد پول اینارو دادم ولی با این وضعیت دیگه پول متخصص ندارم بدم!

چیزی که متوجه شدم:
سفارش‌ها ۱ روز قبل جنگ انجام شده؛
بعد جنگ شده و کلی عقب افتاد
در نهایت هر قطعه از یک راهی وارد شده (جهت دور زدن تحریم مثل اینکه)
بعد از جنگ یک سری قراردادهاشون لغو شده
الان هم توی این شرایط یک سری دیگر ...
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۱۷۰۹

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

#مولانا | گنجور
📍@iipoem
📄 دستور mkdir در لینوکس
دستور mkdir (make directory) در Linux برای ساختن دایرکتوری استفاده میشه
اپشن‌های متداول:
mkdir test ساخت دایرکتوری 
mkdir dir1 dir2 dir3 چند دایرکتوری
mkdir -p a/b/c پوشه‌های تو در تو
mkdir -m 700 private دسترسی خاص
mkdir -v newdir با گزارش

🔥 ترفندهای ترکیبی و حرفه‌ای:
mkdir project_{A,B,C} → ساخت با الگو 
mkdir release_{01..12} → پوشه‌های شماره‌دار ۰۱ تا ۱۲
mkdir "$(date +%Y-%m-%d)" → نام تاریخ امروز
mkdir "$(whoami)_data" → اسم کاربر فعلی
mkdir new && cd $_ → ساخت پوشه و ورود

🔥 برای اسکریپت‌نویسی خیلی کاربردیه، مثلا ساخت ساختار پروژه😎:
mkdir -p project/{src/{lib,tests},docs,bin}

عالیه تا اینجا آمدی 💐 به نظرت کار دستور زیر چیه ؟ و کاربردش چیه؟
TMPDIR=$(mktemp -d /tmp/mydir.XXXXXX) 

#دیوار_لینوکس
@MehrdadLinuxchannel
#Linux #لینوکس
#linux_command
Forwarded from Gopher Academy
🔵 عنوان مقاله
Go's Support for Valgrind Instrumentation

🟢 خلاصه مقاله:
این مقاله درباره پشتیبانی آزمایشی Go از Valgrind است؛ چارچوبی که با ابزارهایی مانند Memcheck، Helgrind، DRD، Cachegrind، Callgrind و Massif برای پروفایلینگ و یافتن خطاهای حافظه و هم‌زمانی به‌کار می‌رود. با این پشتیبانی، برنامه‌های Go می‌توانند به شکل عمیق‌تری پایش شوند—به‌ویژه در مرزهای cgo—و علاوه بر ابزارهای داخلی مانند pprof و race detector، گزینه‌های تشخیصی بیشتری در اختیار دارند. بااین‌حال، به دلیل سربار اجرایی بالا و ماهیت آزمایشی، نتایج ممکن است شامل خطا یا مثبت کاذب باشد و بهتر است با بیلدهای دیباگ و بارهای کاری کنترل‌شده استفاده شود. این قابلیت مکمل ابزارهای بومی Go است و جایگزین آن‌ها محسوب نمی‌شود.
#Go #Valgrind #Instrumentation #Profiling #MemoryLeaks #Concurrency #Performance #Debugging

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


👑 @gopher_academy
ورژن جدید جاوااسکریپت ECMAScript 2026 یه متود جدید به اسم try به Promise اضافه کرده

باهاش می‌تونید یه تابع sync رو با ظاهر async اجرا کنید و فرقش با حالت then اینه که این همون لحظه اجرا میشه اما then اجرا رو به میکروتسک بعدی منتقل می‌کنه، یعنی کمی تأخیر داره.

@DevTwitter | <Nimo/>
#فیلترینگ
وزارت ارشاد با صدور یک دستورالعمل، اقدام به مسدودسازی وب‌سایت‌های رسمی و سامانه‌های فروش ۲۵ شرکت فعال در حوزه مواد غذایی صادرات‌محور کرده. شرق گزارش داده که این تصمیم به‌دلیل تبلیغ این شرکت‌ها در ماهواره‌ اتخاذ شده!
همینطور ارائه دهنده پکت‌لاس که ابزاری برای سنجش کیفیت و پایداری اینترنت هست، گفته "سایتشون بی‌دلیل روی اینترنت ثابت و همراه درحال مسدود شدن هست".

🔍 ircf.space
@ircfspace
قصه غم‌انگیز هوش مصنوعی در ایران

رده‌های بالای سازمانی دستور میدن که هوش مصنوعی رو وارد سازمان کنید.

رده‌های میانی هم میان یه مشت داکیومنت از ته انبار ورمیدارن میارن میگن بیاید برای ما چت‌بات بسازید.

نه فکری...نه حساب کتابی...نه نیازسنجی...هیچی

@DevTwitter | <Reza Jafari/>
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