Dev Perfects – Telegram
Dev Perfects
40 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 Gopher Academy
راه‌حل 1: بستن کانال

//  صحیح: بستن کانال
func goodExample() {
ch := make(chan int)
go func() {
for val := range ch { // حلقه بعد از بستن پایان می‌یابد
fmt.Println(val)
}
}()

ch <- 1
ch <- 2
close(ch)
}


راه‌حل 2: Context با Timeout

//  صحیح: استفاده از Context Timeout
func goodTimeout() {
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()

result := make(chan string)
go func() {
time.Sleep(2 * time.Second)
result <- "نتیجه"
}()

select {
case res := <-result:
fmt.Println(res)
case <-ctx.Done():
fmt.Println("Timeout!")
}
}


راه‌حل 3: WaitGroup

//  صحیح: استفاده از WaitGroup
func goodWaitGroup() {
var wg sync.WaitGroup

for i := 0; i < 5; i++ {
wg.Add(1)
go func(id int) {
defer wg.Done()
fmt.Println("کارگر", id)
}(i)
}

wg.Wait() // منتظر تمام Goroutine ها
}


---

5. Context، Cancellation و Shutdown

Context چیست؟

Context نحوه‌ای برای انتقال اطلاعات در سراسر Goroutine ها و کنترل lifecycle آن‌ها است.

انواع Context

// 1. Background Context (ریشه)
ctx := context.Background()

// 2. Context با Timeout
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()

// 3. Context با Deadline
deadline := time.Now().Add(5 * time.Second)
ctx, cancel := context.WithDeadline(context.Background(), deadline)
defer cancel()

// 4. Context قابل لغو
ctx, cancel := context.WithCancel(context.Background())
defer cancel()


مثال عملی: Graceful Shutdown

func main() {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()

// شروع سرویس
go serve(ctx)

// منتظر سیگنال خاموشی
sigChan := make(chan os.Signal, 1)
signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)
<-sigChan

fmt.Println("خاموشی شروع...")
cancel() // تمام Goroutine ها را متوقف کن
time.Sleep(time.Second) // فرصت تمیز کردن
}

func serve(ctx context.Context) {
for {
select {
case <-ctx.Done():
fmt.Println("سرویس متوقف شد")
return
default:
// کار انجام بده
time.Sleep(time.Second)
fmt.Println("در حال اجرا...")
}
}
}


Best Practices

- همیشه Context را pass کنید: به تمام تابع‌هایی که Goroutine می‌سازند
- defer cancel(): برای جلوگیری از نشت‌های context
- استفاده از select: برای مراقبت از cancellation

---

6. Scheduler و Runtime Behavior

چطور Scheduler کار می‌کند؟

Scheduler گولنگ یک cooperative scheduler است:

1. Goroutine بر روی P اجرا می‌شود
2. زمانی که یک blocking operation (مثل I/O) اتفاق بیفتد، M برای P دیگری پیدا می‌شود
3. اگر P جدید نباشد، M جدید ایجاد می‌شود

// تعیین تعداد GOMAXPROCS
runtime.GOMAXPROCS(4) // فقط 4 P (CPU cores)

// دریافت اطلاعات runtime
var m runtime.MemStats
runtime.ReadMemStats(&m)
fmt.Printf("Goroutines: %d\n", runtime.NumGoroutine())


Goroutine Scheduling Points

Goroutine‌ها در نقاط خاصی جا به جا می‌شوند:

// نقاط Scheduling:
1. Channel operations: <-ch, ch <-
2. go statement
3. Blocking syscalls
4. sync package operations
5. Garbage Collection


مثال: آثار Scheduling

func main() {
runtime.GOMAXPROCS(1) // فقط یک CPU

var wg sync.WaitGroup

wg.Add(1)
go func() {
defer wg.Done()
for i := 0; i < 5; i++ {
fmt.Println("Goroutine 1:", i)
// بدون scheduling point، این برای همیشه اجرا می‌شود!
}
}()

wg.Add(1)
go func() {
defer wg.Done()
for i := 0; i < 5; i++ {
fmt.Println("Goroutine 2:", i)
}
}()

wg.Wait()
}


نکات کارکرد Runtime

- GOMAXPROCS: تعداد P‌ها (معمولاً برابر CPU cores)
- NumGoroutine(): تعداد Goroutine‌های فعال
- Stack Growth: Goroutine‌ها با stack کوچک شروع و رشد می‌کنند
فقط در ۷۶ دقیقه، خلاصه‌ی تمام دانسته‌های مهندسی هوش مصنوعی

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

در این ویدیو درباره‌ی چیزهایی صحبت می‌شه که نگاهت رو به AI برای همیشه تغییر می‌دن

چرا نباید از صفر مدل بسازی (و چطور باید از مدل‌های آماده استفاده کنی)
چطور (Self-supervised learning) همه‌چیز رو عوض کرده
چرا داده‌های آموزشی همیشه سوگیرانه‌ان و چطور باید باهاش کنار بیای
چرا طولانی‌تر بودن پرامپت همیشه به معنی نتیجه‌ی بهتر نیست
این‌که مدل بزرگ‌تر الزاماً مدل هوشمندتر نیست
چطور یه پرامپت خوب می‌تونه جای هفته‌ها فاین‌تیونینگ رو بگیره RAG چیه و چرا باید جزو ابزار اصلی هر تیم AI باشه

اگه توی مسیر ساخت محصول، رهبری تیم یا توسعه‌ی پروژه‌های هوش مصنوعی هستی،
این ویدیو احتمالاً یکی از مفیدترین ۷۶ دقیقه‌هایی خواهد بود که می‌گذرونی.

https://www.youtube.com/watch?v=JV3pL1_mn2M

@DevTwitter | <Mohsen Rad/>
Forwarded from SoniaCircuit (Sonia Fatholahi)
استفاده از ai تو مصاحبه، آره یا نه؟ از زبون مصاحبه کننده.

https://leaddev.com/ai/why-expect-candidates-ai-hiring-process

نظر شخصی من اینه که در کل مهم نیست از چی استفاده می‌کنید، چه کپی پیست، چه لایبرری، چه GenAI، نهایتا مهمه که بتونید مسئولیتش رو بپذیرید و بدونید چه trade offهایی توش برقراره. به طور خلاصه وقتی پرسیدن چرا اینطوری، بتونید شفاف پاسخ بدید و نگید AI نوشته.
Forwarded from Linuxor ?
This media is not supported in your browser
VIEW IN TELEGRAM
سایت های بزرگ ایران چی بودن و چی شدن؟

@Linuxor ~ hesamkianikhah
اگر #فرگمنت tlshello روی سرویس‌دهنده اینترنت شما مختل شده، می‌تونین از تنظیمات زیر استفاده کنید:

packets = 1-1
length = 3-5
interval = 4-8


برای کاهش پینگ، توصیه میشه از xhttp بهره ببرین، یا اگر از ws استفاده می‌کنین mux رو روشن کنید. همچنین می‌تونید interval رو تا جای ممکن کاهش بدین.

© GFW-knocker

🔍 ircf.space
@ircfspace
وقتی نیاز شخصی‌ات میشه محصول ۵۰۰ میلیون دلاری

سپتامبر ۲۰۲۴، یه برنامه‌نویس به اسم Boris Cherny تازه به Anthropic جوین شده بود. داشت با مدل Claude ور می‌رفت که خودش رو با APIهاشون بیشتر آشنا کنه. اولین ابزارش یه چیز خیلی ساده بود: یه برنامه ترمینال که بهش می‌گفتی الان چه آهنگی داری گوش میدی! خیلی basic، خیلی شخصی، ولی جالب بود. بعد یه روز یهو به ذهن Boris خطور کرد که چرا فقط AppleScript؟ چرا نذاریم فایل‌سیستم رو ببینه؟ چرا نذاریم bash commands بزنه؟

همین که این قابلیت‌ها رو اضافه کرد، دنیاش عوض شد. Claude شروع کرد به explore کردن کد، خوندن فایل‌ها، دنبال کردن importها، و پیدا کردن جواب‌ها. Boris خودش میگه: "این همون لحظه‌ای بود که فهمیدم یه چیز بزرگ داره میشه." ابزاری که برای خودش ساخته بود، یهو تبدیل شد به چیزی که همکاراش هم می‌خواستن ازش استفاده کنن. تا روز پنجم، ۵۰٪ تیم مهندسی Anthropic داشتن باهاش کار می‌کردن!

حالا Claude Code یه ماشین درآمدزایی ۵۰۰ میلیون دلاری شده. یه تیم کامل داره، features جدید هر روز اضافه میشه، و داستانش شبیه همون چیزیه که Ken Thompson درباره Unix گفته بود:
"Unix was built for me. I didn't build it as an operating system for other people, I built it to do games, and to do my stuff."
یعنی Unix هم اول یه ابزار شخصی بود، بعد شد اساس سیستم‌عامل‌های امروزی.

نکته داستان چیه؟ وقتی چیزی می‌سازی که واقعاً نیاز خودت رو رفع کنه، احتمالش خیلی زیاده که برای دیگرانی که نیاز مشابه دارن هم مفید باشه. Boris داشت یه مشکل شخصی حل می‌کرد، نه یه محصول تعریف‌شده. تیم Claude Code الانم با همین فلسفه کار می‌کنه: کمترین کد ممکن، ساده‌ترین معماری، و اجازه بده مدل کارشو بکنه. حتی ۹۰٪ کد Claude Code با خود Claude Code نوشته شده! پس دفعه بعد که احساس می‌کنی یه ابزاری لازمه، نشین منتظر شرکت‌ها یا استارتاپ‌ها. خودت بساز. شاید امروز فقط برای خودته، ولی فردا میشه یکی از بهترین ابزارهای دنیا.

https://newsletter.pragmaticengineer.com/p/how-claude-code-is-built

@DevTwitter | <Hossein Nazari/>
Forwarded from GitHub Trending Daily
🔥 New GitHub Trending Repositories 🔥

Found 8 new trending repositories:

1. material-ui by mui
📝 Material UI: Comprehensive React component library that implements Google's Material Design. Free fo...
💻 JavaScript | 97,046 | 🌟 Today: 70
🔗 Link

2. adk-go by google
📝 An open-source, code-first Go toolkit for building, evaluating, and deploying sophisticated AI agent...
💻 Go | 518 | 🌟 Today: 185
🔗 Link

3. axios by axios
📝 Promise based HTTP client for the browser and node.js
💻 JavaScript | 108,133 | 🌟 Today: 6
🔗 Link

4. HyDE by HyDE-Project
📝 HyDE, your Development Environment 🖥️💻
💻 Shell | 6,860 | 🌟 Today: 19
🔗 Link

5. librespot by librespot-org
📝 Open Source Spotify client library
💻 Rust | 5,900 | 🌟 Today: 23
🔗 Link

6. Kimi-K2 by MoonshotAI
📝 Kimi K2 is the large language model series developed by Moonshot AI team
💻 Star | 8,836 | 🌟 Today: 143
🔗 Link

7. ImHex by WerWolv
📝 🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at...
💻 C++ | 51,222 | 🌟 Today: 146
🔗 Link

8. kotlin by JetBrains
📝 The Kotlin Programming Language.
💻 Kotlin | 51,643 | 🌟 Today: 33
🔗 Link


🔘 @github_trending_daily
Forwarded from Meitix
توی سیستم‌های توزیع‌شده همیشه باید یه نود باشه که نقش هماهنگ‌کننده رو بازی کنه، بهش می‌گن مستر. ولی اگه اون بیافته چی؟ اینجاست که Master election میاد وسط یعنی نودها خودشون تصمیم می‌گیرن کی مستر بعدی باشه.

دوتا روش معروف داره:
توی Bully algorithm هر نود یه id داره و اون که id بزرگ‌تره، انتخاب میشه؛ وقتی مستر قبلی پرید، نودها با هم تماس می‌گیرن و در نهایت اون که آی‌دی بزرگ‌تری داره مستر میشه

ولی توی Raft ماجرا دموکراتیک‌تره. همه نودها اول فالورن، اگه مدتی خبری از مستر نباشه، اولین نفری که میفهمه مستر مرده🖤 خودش رو کاندید می‌کنه و از بقیه رای می‌گیره. هر کی اکثریت رای رو ببره میشه مستر جدید
فقط، نودها فقط به کسی رای میدن که از خودشون عقب‌تر نباشه. یعنی استیت و لاگش جلوتر یا برابر باشه، تا مطمئن شن لیدر جدید داده‌های به‌روزتری داره و عقب مونده نیست😅
Forwarded from Linuxor ?
اینجا یه لیست خیلی خوب از پادکست های برنامه نویسی و تکنولوژی جمع کردن، به زبان انگلیسی و آلمانی و روسی و... هستن، هم برای یادگیری زبان تخصصی خوبه هم خود اون تکنولوژی، فریم ورک یا زبان برنامه نویسی رو دنبال می‌کنید


github.com/rShetty/awesome-podcasts


@Linuxor
Forwarded from  (امیرحسین پناهےفر)
This media is not supported in your browser
VIEW IN TELEGRAM
ذات ادوبی و ویندوز:
کمپانی OpenAI مدل GPT-5-Codex-Mini را معرفی کرد؛ کدنویسی با هزینه کمتر

کمپانی OpenAI نسخه جدیدی از مدل کدنویسی خود با نام GPT-5-Codex-Mini را معرفی کرده است که نسخه‌ای کوچک‌تر و مقرون‌به‌صرفه‌تر نسبت به GPT-5-Codex محسوب می‌شود. این مدل امکان چهار برابر استفاده بیشتر را با کاهش جزئی در قابلیت‌ها فراهم می‌کند و در بنچمارک SWE-bench Verified امتیاز ٧١.٣ درصد کسب کرده است. عملکرد آن در مقایسه با نسخه اصلی قابل‌توجه و رضایت‌بخش ارزیابی شده است.

مدل GPT-5-Codex برای بهبود توانایی در کارهای واقعی مهندسی نرم‌افزار طراحی شده بود و وظایفی مانند ایجاد پروژه‌های جدید، افزودن قابلیت‌ها، تست‌های تازه و بازسازی گسترده کد را پوشش می‌داد. نسخه مینی برای وظایف سبک‌تر یا زمانی که توسعه‌دهندگان به محدودیت‌های مدل اصلی نزدیک می‌شوند توصیه شده است. این مدل اکنون در CLI و افزونه IDE در دسترس است و پشتیبانی API آن نیز به‌زودی فعال خواهد شد.

@DevTwitter | <Digiato/>
Forwarded from Linuxor ?
مایکروسافت یه چیزی توسعه داده به اسم Swin Transformer که یه مدل بینایی کامپیوتریه که مثل Transformerهای NLP کار می‌کنه، ولی مخصوص تصویر طراحی شده. ایده‌ش اینه که تصویر رو به پنجره‌های کوچیک تقسیم می‌کنه و هر پنجره با خودش تمرکز می‌کنه، بعد پنجره‌ها رو شیفت می‌ده تا با هم ارتباط پیدا کنن در نتیجه یه مدل سریع، کارآمد و دقیق برای تشخیص تصویر، تشخیص اشیاء و حتی جداسازی اشیاءه.

این مدل خیلی خوبه وقتی میخواین پروژه‌های واقعی بینایی بسازین، مثل تشخیص شیء تو عکس‌های دوربین، یا طبقه‌بندی و جداسازی تصویر. نسبت به CNNهای قدیمی می‌تونه جزئیات و مقیاس‌های مختلف رو بهتر مدیریت کنه.

برای شروع می‌تونین با نسخه از پیش‌آموزش‌دیده Swin Transformer توی PyTorch کار کنین و مدل رو روی دادهٔ ها خودتون fine-tune کنین. کد هاش :

github.com/microsoft/Swin-Transformer


@Linuxor
اگر دات‌نت کار هستی و علاقه داری هوش مصنوعی رو تو پروژه‌هات استفاده کنی، این پست مال توعه!
همه می‌دونیم که هوش مصنوعی داره با سرعت وارد همه حوزه‌ها میشه، اما ترکیبش با توسعه Backend در دات‌نت واقعا یه سطح بالاتر از کار روزمره‌ست.
یکی از ابزارهایی که حتما باید بشناسید، MCP یا Model Context Protocol هست.
پروتکل MCP یه پروتکل استاندارد برای ارتباط بین مدل‌های زبانی (LLM) و ابزارها یا منابع خارجیه.
با MCP می‌تونیم:
مدل‌های زبانی رو به APIها، دیتابیس‌ها یا ابزارهای دلخواه وصل کنیم.
چند ابزار مختلف رو با هم چین کنیم و فرآیندهای پیچیده بسازیم.
مطمئن باشیم که ارتباط بین Agent و ابزارها استاندارد، قابل اطمینان و قابل توسعه هست.
به زبان ساده:
پروتکل MCP پلیه بین هوش مصنوعی و دنیای واقعی داده‌ها.

چرا تو دات‌نت کاربردیه؟
با Microsoft Agent Framework در دات‌نت، شما می‌تونید:
- ایجنت‌های هوشمند بسازید که قادرن چندمرحله‌ای تصمیم بگیرن.
- ابزارهای خارجی (Tools) رو به Agent اضافه کنید، مثل جستجوی اطلاعات شرکت‌ها، گرفتن جزئیات، تحلیل و جمع‌بندی.
- با MCP، Agent رو مستقل از API خاص بسازید، فقط با رعایت پروتکل JSON-RPC.
- فرآیندهای پیچیده هوشمندانه بسازید: جستجو → تحلیل → پاسخ به کاربر.
مثال کاربردی

فرض کنید می‌خواید یه چت‌بات تجاری هوشمند بسازید که اطلاعات شرکت‌های ایرانی رو از Rasmio بگیره و تحلیل کنه، کد نوشته شده در عکس با Microsoft Agent Framework و MCP.
جمع‌بندی
ابزار MCP یه ابزار فوق‌العاده برای هر کسیه که می‌خواد:
- هوش مصنوعی رو به پروژه‌های واقعی دات‌نت بیاره
- ایجنت‌های چندمرحله‌ای و هوشمند بسازه
- داده‌ها و ابزارهای خارجی رو به راحتی با AI ترکیب کنه

نکته نهایی:
اگه دنبال یه راهکار مدرن، استاندارد و قدرتمند برای AI در .NET هستید، MCP بهترین گزینه‌ست.
با همین ابزار می‌تونید از یک CLI ساده تا یک سیستم هوشمند تجاری واقعی بسازید.

@DevTwitter | <nahid moradi/>
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 به تازگی برای جامعه لاراول کاران وب سایت Laramap رونمایی شده که محل استقرار برنامه نویسان لاراول در کشورها رو نشان می دهد.

اگر برنامه نویس لاراول هستید وارد این سایت شوید و پروفایل خود بسازید و حضور خود اعلام کنید.

https://laramap.dev

#لاراول

@TheRaymondDev
Forwarded from Linuxor ?
بابا انقدر کار کار نکنید من خودم بیکارم، چهار تا از این پستای لینوکسورو ببرین توی لینکدین کپی کنید چهار نفر لایک و کامنتتون می‌کنن و شبکه ارتباطیتون گسترش پیدا می‌کنه و در های بسته به روتون باز می‌شه.

(من که مشکلی ندارم با کپی)


@Linuxor
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 با اینکه افزونه WP Statistics ایرانی هست و خیلی معروفه اما با این حجم بازدیدی که ثبت میشه در واقعیت سایت وردپرس که روی هاست اشتراکی رو نابود می کند.

۱ میلیون بازدید ثبت بشه که ۱۸۰ مگ 💀 حجم دیتابیس برای افزونه WP Statistics تولید می کند و به دلیل اینکه جدول های زیادی برای ثبت چنین داده های اضافی وجود دارد.

#وردپرس

@TheRaymondDev
Forwarded from AiSegaro 👾
Media is too big
VIEW IN TELEGRAM
⚠️این یک پادکست عادی نیست، یک جلسه سه ساعته برای کشف نقشه‌ راه آینده است!🚨

این ویدیو از پادکست "تجربه جو روگان" (Joe Rogan Experience) است که با حضور ایلان ماسک ضبط شده است.با توجه به طولانی بودن ویدیو (بیش از ۳ ساعت) در سه قسمت قرار داده میشود.

🎥 قسمت سوم - آخرین قسمت

🚀 شهر جدید ماسک
👽 پیمان محرمانه: ماسک به جو روگان قول می‌دهد که اگر اسپیس‌ایکس از وجود هرگونه شواهد فضایی یا بیگانگان مطلع شود، قبل از هر کس دیگری، آن را در این پادکست فاش خواهد کرد! و ...

〰️〰️〰️〰️〰️〰️
برای ترجمه این ویدیو زمان و دقت و وسواس زیادی به کار گرفته شده , در صورتی که مایل بودید میتونید از لینک زیر دونیت کنیدتا قسمت های بعدی و موضوعات بیشتری پوشش داده شود.
🌎 donate.isega.ro
〰️〰️〰️〰️〰️〰️

📽 زیرنویس فارسی
🧠 مناسب برای همه، چه مبتدی چه حرفه‌ای
🌐 ترجمه این ویدیو با وب‌سایت isega.ro انجام شده — حتماً سر بزن!
📌 برای دیدن قسمت‌های بعدی کانال رو دنبال کن:
📺🌐 @AiSegaro
🚀 هر روز یک قدم نزدیک‌تر به آینده‌ای هوشمند!
📤 بازنشر آزاد با ذکر منبع 🙏❤️
نسخه ۶ از #فیلترشکن رایگان بگذر برای گوشی‌های اندروید در دسترس قرار گرفت.
افزایش عملکرد برنامه و بهبود فرایند اتصال، اضافه‌شدن قابلیت تست سرعت و بازطراحی رابط کاربری، تغییرات نسخه جدید این‌برنامه هستند.

👉 github.com/Begzar/BegzarApp/releases/latest

🔍 ircf.space/software
@ircfspace