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  (Amir Hossein 'Amiria' Maher)
التون جان، یکی از پرانرژی‌ترین آدم‌هایی که می‌شناسم هست. در حدی التون رو بالا می‌دونم که جرئت نمی‌کنم چیزی راجع بهش بنویسم. خودتون راجع به این اسطورهٔ موسیقی بخونید.
آهنگ‌هاش یکی از دلایل ادامه دادن من تو هر شرایطیه. :)
امیدوارم سلامت باشه و بمونه.

#note
Images are courtesy of their owners and used under 'fair use'.
@amiria703_channel
Forwarded from  (Amir Hossein 'Amiria' Maher)
مجموعهٔ عظیمی از داده‌ها رو تصوّر کنید که می‌تونید باهاش هر کاری بکنید.

آمریکایی‌هایی که از پدری لهستانی هستند؟
امضای جیمی کارتر، ۳۹مین رئیس جمهور فقید ایالات متّحده؟
خواننده‌های معروفی که در سال ۲۰۲۳ درگذشتند؟

معرّفی می‌کنم، مغز داده‌ای ویکی‌پدیا، ویکی‌نبشته و سایر پروژه‌های ویکی‌مدیا:
ویکی‌داده

برای توضیحات بیشتر راجع به این پایگاه داده، به صفحهٔ زیر برید:
wikidata.org/wiki/Wikidata:Introduction/fa

#wikidata #wikimedia #معرفی
@amiria703_channel
Forwarded from Anony Notes
یه توضیح کامل بدم راجع‌به DynX

اصلا DynX چیه؟
یه سرویس DNS ادبلاکر ( بلاک کننده تبلیغات ) رایگان هست
که خودم سرور و لیست دامین‌هاشو مدیریت می‌کنم

کاراییش چیه؟
برای استفاده توی هسته Xray راه اندازیش کردم ولی خب جاهای دیگه هم کاربرد داره.
به این شکل داخل پنل مرزبان و به این شکل داخل پنل‌های x-ui قابل استفاده هست و تبلیغات و دامنه های کاملا غیر ضروری که مثلا دیتا جمع کنن یا تبلیغ آزار دهنده و زیاد باشن رو بلاک می‌کنه. برای مثال سایت معروف speedtest.net رو اگه باز کنید حالت عادی، تبلیغات زیادی نشون میده و تقریبا صفحه رو پر می‌کنه ولی با dns من هیچ تبلیغی نیست و این روی مصرف مصرف اینترنت، سرعت لود سایت و ... یوزر هاتون تاثیر داره.

چرا کسی باید استفاده کنه و خودش راه‌اندازی نکنه؟
یکیش هزینه هستش چون برای مدیریت کامل باید سرور داشته باشید که هزینه داره. یکیش راحتی کار: من انجام دادم شما صرفا استفاده می کنید.
یکیش اینکه اکثر ادبلاکر های رایگان لیمیت دارن ولی مال من نداره و نخواهد داشت(:
یکیش اینکه کاملا رایگانه

برای تست اینکه چقدر تبلیغ بلاک و چقدر تبلیغ نشون داده می‌شه بهتون، دوتا سایت وجود داره که میذارم براتون:
1. https://d3ward.github.io/toolz/adblock.html
2. https://test.adminforge.de/adblock.html

الان به‌صورت DoH ( توسط ریکوئست‌های https کار می‌کنه و امنیتش یخورده بیشتره که کسی اهمیت نمی‌ده. ) در دسترس هست فقط

اگه دوست داشتید ممنون می‌شم برای دوستانی که پنل دارن بفرستید که استفاده کنن (:

‎صفحه اصلی: https://DynX.pro
صفحه مانیتورینگ و آپ‌تایم: https://monitor.DynX.pro
Forwarded from Linuxor ?
اگه یه کامپیوتر توی یه نامه بنویسه ping بفرسته به یه کامپیوتر دیگه، توی جوابش اون یکی کامپیوتر می‌نویسه pong و از روی ادرس مبدا نامه رو بر می‌گردونه


حالا فرض کنید یه کامپیوتر به 1000 تا کامپیوتر بنویسه ping و آدرس مبدا رو آدرس یه کامپیوتر دیگه بزاره، اون 1000 تا کامپیوتر یه pong واسه اون کامپیوتر بیچاره میفرستن به این حرکت میگن Reflection DDoS یعنی از بقیه به عنوان آینه استفاده می‌شه برای DDoS.

@Linuxor
Forwarded from NET XRAY
کد تخفیف 25 درصدی به مناسبت شروع سال 2025

برای 25 خرید

Code: New2025Year

برید حالشو ببرید 🎄❤️

⚡️~ @NetXraySupport
⚡️~ @XrayShopBot
Forwarded from Linuxor ?
خلاصه امروز توییتر کامیونیتی برنامه نویسی و کامپیوتر :

یه نفر گفته بود به عنوان یه توسعه دهنده نرم افزار چطوری اهمال کاری خودتون رو شکست می‌دین؟ یه کاربر به اسم John Menedrake گفته بود automation.
با automation اصلا نیازی نیست کاری انجام بدین.

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


@Linuxor
Forwarded from Linuxor ?
به امید اینکه پایتون بلدی یه وقت نری سراغ هوش مصنوعیا

@Linuxor
Forwarded from a pessimistic researcher (Kc)
آقااااا :))) من اینو دستم خورد اینجا فرستاده شد :))
کلا هر پستی میاد اینجا یک ساعت وایسید بعد بخونید من یکم بد دستم تو تلگرام :))

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

حالا امشبم چون شب سال نو هستش پاک نمیکنم و باشه به یاد ایام قدیم :)
Forwarded from a pessimistic researcher (Kc)
آقااااا :))) من اینو دستم خورد اینجا فرستاده شد :))
کلا هر پستی میاد اینجا یک ساعت وایسید بعد بخونید من یکم بد دستم تو تلگرام :))

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

حالا امشبم چون شب سال نو هستش پاک نمیکنم و باشه به یاد ایام قدیم :) ولی دیگه از این خبرا نخواهد بود :)
Forwarded from code2 - تکنولوژی و فناوری (Mahdi Taleghani)
👨‍💻When to Use Which?

#javanoscript

🏹 Arrow Functions:
Short, simple functions or callbacks (e.g., event listeners, array methods like map, filter, reduce).
When you need to preserve "this" from the enclosing scope.

👍 Normal Functions:
When defining methods in objects or classes.
When you need dynamic "this" or access to the "arguments" object.
For constructors or functions requiring the "new" keyword.

@code2_ir
Forwarded from Go Casts 🚀
مصاحبه های طراحی سیستم نقش مهمی تو خیلی از مصاحبه های فنی دارن. من با چند برنامه نویس از سطوح مختلف با تجربه های ۴، ۵ سال و کمتر بصورت ناشناس مصاحبه های mock فنی طراحی سیستم انجام دادم که ۶ تا از این مصاحبه ها در دوره قرار گرفته. موضوع مصاحبه ها در مورد سیستم های مختلفی هست از جمله سرویس های پرداخت، بورس، فایل و غیره ست.
الحمدلله که این مصاحبه ها به دوستان کمک کرده تو فرآیند مصاحبه های طراحی سیستم عملکرد بهتری داشته باشن و به استخدام شون کمک کرده.

دوره +‌ تیمسازی بکند و گولنگ Go Casts
لینک خرید دوره + تیمسازی با ۵۰ درصد تخفیف به مبلغ ۴ میلیون و ۵۰۰ هزار تومان
https://survey.porsline.ir/s/PISsWn7f

همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://news.1rj.ru/str/gocasts/434

تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://news.1rj.ru/str/gocasts/441

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


@gocasts
Forwarded from Go Casts 🚀
بهینه سازی مصرف حافظه برای اپلیکیشن گولنگ

چند تا مقاله میفرستم که نکات ریز و خوبی رو اشاره میکنن برای بهینه سازی مصرف حافظه در گولنگ
دقت کنید که هر جایی لازم نیست این موارد رو رعایت کنید، اما یه سری هاش رو اگه از اول تو پروژه رعایت کنید، خیلی زحمتی نداره براتون و کدتون هم بهینه تر میشه، چه اشکالی داره؟!

Optimizing Memory Usage in Go: Reducing Memory Footprint
https://clouddevs.com/go/optimizing-memory-usage/

Memory Optimization and Garbage Collector Management in Go
https://betterprogramming.pub/memory-optimization-and-garbage-collector-management-in-go-71da4612a960

Memory Allocations
https://go101.org/optimizations/0.3-memory-allocations.html

Optimizing Memory Usage in Golang: When is a Variable Allocated to the Heap
https://hackernoon.com/optimizing-memory-usage-in-golang-when-is-a-variable-allocated-to-the-heap

Mastering Go Memory Optimization: 20 Expert Techniques for Efficient Applications
https://dev.to/aaravjoshi/mastering-go-memory-optimization-20-expert-techniques-for-efficient-applications-4bjc

Enhancing Go Struct Efficiency: Essential Tips for Memory Optimization
https://www.codingexplorations.com/blog/enhancing-go-struct-efficiency-essential-tips-for-memory-optimization

How To Perform Memory Optimization and Garbage Collector Management in Go?
https://dev.to/nikl/how-to-perform-memory-optimization-and-garbage-collector-management-in-go-1j7

Golang Writing memory efficient and CPU optimized Go Structs
https://dev.to/deadlock/golang-writing-memory-efficient-and-cpu-optimized-go-structs-2ick


دوره +‌ تیمسازی بکند و گولنگ Go Casts
لینک خرید دوره + تیمسازی با ۵۰ درصد تخفیف به مبلغ ۴ میلیون و ۵۰۰ هزار تومان
https://survey.porsline.ir/s/PISsWn7f


همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://news.1rj.ru/str/gocasts/434

تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://news.1rj.ru/str/gocasts/441

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

@gocasts
سال نو میلادی مبارک🥳
Forwarded from Geniuses Group (Omid Hekayati)
ایجاد روابط #دوستی پایدار، یکی از پایه های اصلی #به_زیستی در زندگی هست.
در ابتدا آغاز سال ۲۰۲۵ رو خدمت تمام عزیزان تبریک عرض میکنیم و برای همه شما بهترین سال‌ها رو آرزو میکنیم! اگر مطالب قبلی را نخونید اینجا و اینجا توضیح دادیم که چرا یادآوری مناسب های تاریخی و جشن گرفتن آنها، برای همه مفید هست.

قبلا در این پست اشاره شد که #ارتباط_برقرار_کردن و داشتن تنوع انواع دوست در #دایره_دوستی ما مهم هست و باید بدونیم برچسب های مختلفی برای انواع دوست وجود داره، مثلا در پی نوشت این پست گفتیم که در زبان عربی ۱۲ لایه دوستی یا برچسب برای دوستان وجود داره! پس بعد از درک اهمیت این موضوع، باید پاسخ بدیم چجوری بین دوستان مختلف خودمون تمایز قائل بشیم یا حتی چجوری از ابتدا به یک فرد اجازه بدیم وارد دایره شناختی فردی (برچسب دوست) ما بشه. یکی از راه های موثر امکان شروع یک گفت و گو در هر فرصتی هست.
شاید برای شما هم پیش اومده باشه در جمعی از افراد باشید و ندونید چجوری سر صحبت را باز کنید تا باهاشون عمیق تر آشنا بشید و حتی یک روز تفریحی خوب را بگذرونید. عبارت کلیدی questions to ask in friends group شما را به لیست جذابی از سوالات میرسونه که می تونه در جمع دوستان فارغ از تخصص افراد باعث ایجاد مشارکت و گفت و گو بشه. یکی از لیست های معروف 36 questions that might lead to love هست که توسط یک روان شناس معروف تهیه شده و سوالات به شدت جذابی داره، پیشنهاد می کنم حتما یکبار در یک جمع همخوانی کنید و پاسخ بدید به سوالاتش. یادمون باشه در اکثر لیست سوال ها با این عبارت کلیدی، اشاره میشه که همون اول شفاف بگید که هر فردی دوست نداره می تونه براحتی سوال را رد کنه و جواب نده و مخاطب خاصی برای سوال ها نگذارید و اصرار اضافه هم نکنید کسی جواب بده، مثل بازی های جرات یا حقیقت!

در انتها یادآوری کنم در ابتدای پست به کلمه #پایدار هم اشاره شد، به این موضوع هم کمی بیشتر فکر کنیم که چجوری میشه روابط را پایدارتر کنیم. مثلا در این پست در لینکدین من اشاره کردم که تمایلی به قبول کردن یا ارسال درخواست ایجاد رابطه وقتی طرف مقابل را نمی شناسم ندارم، به جز اینکه دلیل قوی برای ایجاد رابطه نیاز ببینم. یادمون باشه، از نظر #علوم_شناختی ذهن ما خوشبختانه یا متاسفانه محدودیت های فراوانی داره، یکی از این محدودیت های دایره شناختی ما از انسان ها هست. البته همانطور که در پست لینکدین هم اشاره شد، قصد ایجاد نسخه یکسان برای همه نیست، قصد صرفا #تلنگر_ذهنی هست که یادمون باشه جزییات پیدا و پنهان تاثیرگذار در #تصمیم_گیری ها را فراموش نکنیم.
Audio
ساخت لوگو SVG با AI
رفقا این روشو خودم کشف کردم که واقعا جالب بود و جواب داده خودمم تست گرفتم و لوگوی جدیدی که نیاز داشتم رو تونستم با همین روش ایجاد کنم، استفاده کنید و لذت ببرید ؛)
#AI


خودم از Adobe استفاده کردم برای Convert به SVG که تو ویس توضیح دادم، خروجیش تمیزه واقعا 👌

🚀 @coolycode
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
This media is not supported in your browser
VIEW IN TELEGRAM
🔥دوست دارید شهر و محله خودتان را در Minecraft ببینید؟
قبلا گفتم Minecraft فقط یک بازی نیست

این بار پروژه Arnis با استفاده از اطلاعات OpenStreetMap
شهر ها را با Minecraft برای شما باز سازی میکنه

💠 با استفاده از داده های مکانی از OpenStreetMap و استفاده از قابلیت های قدرتمند زبان Rust ،نرم افزار Arnis یک راه حل کارآمد و قوی برای ایجاد جهان های پیچیده و دقیق در Minecraft ارائه می دهد که منعکس کننده جغرافیا و معماری دنیای واقعی است.

یادش بخیر یاد این جریان افتادم ..
سال ۱۳۸۱ با تعداد 1.5ميليون عکس از منطقه 6 تهران برای ساخت یک بازی به نام رانندگی در تهران با بودجه 2ميليارد تومان هزينه تحقيقاتي به سفارش نيروي انتظامي ساخته شد
یک شخصیتی بود به اسم داش سیا مجری معروف محمد حسيني.
نتیجه بازی هم فکر کنم قابل حدس باشه

فکر میکنید ارزش این پول امروز چقدره؟

❤️ ممنون از حمایت هاتون 💐🌺
Forwarded from Gopher Academy
رفتار متغیرهای حلقه در Go
در Go، وقتی یک حلقه مانند for تعریف می‌شود، متغیرهای حلقه (result در این مثال) به صورت متغیر مشترک (shared) در حافظه استفاده می‌شوند. این بدان معناست که همه goroutineها به یک مرجع (reference) از این متغیر دسترسی دارند، نه به یک کپی از مقدار فعلی آن.

مثال مشکل‌ساز:
فرض کنید کدی شبیه به زیر داریم:

for _, result := range collections {
go func() {
fmt.Println(result.Title) // از result استفاده می‌شود
}()
}



مشکل چیست؟
1. متغیر result به طور مداوم در طول حلقه تغییر می‌کند.
2. goroutineها به دلیل اجرای همزمان (asynchronous execution) ممکن است با تأخیر اجرا شوند.
3. زمانی که goroutine اجرا می‌شود، ممکن است مقدار result تغییر کرده باشد و goroutine به مقدار آخرین تغییر یافته دسترسی داشته باشد، نه مقداری که هنگام تعریف goroutine موجود بود.

نتیجه
تمام goroutineها ممکن است به جای مقادیر مختلف، فقط مقدار آخرین آیتم حلقه را چاپ کنند.

---

راه‌حل: ایجاد کپی مستقل از متغیر حلقه
برای جلوگیری از این مشکل، باید مطمئن شویم که هر goroutine به یک کپی مستقل از مقدار result دسترسی دارد. این کار را با تعریف یک متغیر محلی جدید در هر تکرار حلقه انجام می‌دهیم.

اصلاح کد:

for _, result := range collections {
m := result // یک کپی از `result` ایجاد می‌کنیم
go func() {
fmt.Println(m.Title) // حالا goroutine به کپی مستقل دسترسی دارد
}()
}




تابع ناشناس با پارامتر
یک روش دیگر برای ایجاد کپی، ارسال مقدار متغیر حلقه به تابع ناشناس به صورت پارامتر است.

کد شما:

go func(m articleapp.NewArticle) {
// کد داخل goroutine
}(m)



1. `m` به عنوان آرگومان: متغیر result کپی شده و به عنوان پارامتر m به تابع ناشناس ارسال می‌شود.
2. کپی مستقل: حالا تابع ناشناس داخل goroutine به یک کپی مجزا و مستقل از مقدار متغیر result دسترسی دارد.
3. مشکل حل می‌شود: هر goroutine مقدار درست متغیر مربوط به تکرار خودش را پردازش می‌کند.

---

چرا این کار به جلوگیری از مشکلات همزمانی کمک می‌کند؟

مشکلات همزمانی زمانی رخ می‌دهند که چندین goroutine به صورت همزمان به یک منبع مشترک دسترسی داشته باشند.
در اینجا:

- اگر از متغیر حلقه result مستقیماً استفاده شود، goroutineها به یک مرجع مشترک از این متغیر دسترسی دارند.
- با ایجاد کپی (از طریق m) و ارسال آن به تابع ناشناس، هر goroutine یک نسخه مستقل از مقدار را دارد.
- این جداسازی تضمین می‌کند که مقدار هر goroutine به حلقه وابسته نیست و دیگر دچار تداخل نخواهد شد.

---

مثال عملی
قبل از اصلاح:

collections := []articleapp.NewArticle{
{Title: "A"}, {Title: "B"}, {Title: "C"},
}

for _, result := range collections {
go func() {
fmt.Println(result.Title) // ممکن است همه goroutineها مقدار "C" را چاپ کنند
}()
}


#### بعد از اصلاح:
for _, result := range collections {
go func(m articleapp.NewArticle) {
fmt.Println(m.Title) // هر goroutine مقدار درست را چاپ می‌کند
}(result)
}


---


جمع‌بندی
خط (m):
1. یک کپی مستقل از مقدار result ایجاد می‌کند.
2. این کپی را به تابع ناشناس ارسال می‌کند.
3. به جلوگیری از مشکلات ناشی از استفاده همزمان از متغیرهای حلقه در goroutineها کمک می‌کند.


https://news.1rj.ru/str/addlist/KpzXaiSpKENkMGM0
نسخه Vite 6 منتشر شد!

ویت 6 با معرفی API محیطی جدید، انعطاف‌پذیری بیشتری را برای توسعه‌دهندگان فراهم می‌کند و امکان تجربه توسعه نزدیک‌تر به محیط تولید را میسر می‌سازد. همچنین، پشتیبانی از Node.js 18، 20 و 22+ حفظ شده و پشتیبانی از نسخه 21 حذف شده است.

https://code-news.com/p/vite-6-released

@DevTwitter | <Code News/>
اگه میخواین یه جایگزین بهتر از rm داشته باشید توصیه من به شما rm improved یا همون rip هست.

هم امکان recyclebin رو داره (یا به قول خودشون graveyard) هم خیلی ساده و سرراسته.

https://github.com/nivekuil/rip