CleverDevs
به کانال کلوردوز خوش اومدین سعی میکنیم چیزایی که بنظر کاربردی هستن رو باهاتون به اشتراک بزاریم 🔥لینوکس 🔥برنامه نویسی فرانتاند 🔥برنامه نویسی بکاند 🔥اخبار تکنولوژی و... 💢~> @mmdrsdev
Показати більше📈 Аналітичний огляд Telegram-каналу CleverDevs
Канал CleverDevs (@cleverdevs) у мовному сегменті Фарсі є активним учасником. На даний момент спільнота об'єднує 11 140 підписників, посідаючи 11 016 місце в категорії Технології та додатки та 29 504 місце у регіоні Іран.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 11 140 підписників.
За останніми даними від 20 жовтня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 824, а за останні 24 години на 6, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 31.56%. Протягом перших 24 годин після публікації контент зазвичай збирає 14.13% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 3 512 переглядів. Протягом першої доби публікація в середньому набирає 1 572 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 17.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як کاراکتر, لینوکس, باگ, ویندوز, جا.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“به کانال کلوردوز خوش اومدین
سعی میکنیم چیزایی که بنظر کاربردی هستن رو باهاتون به اشتراک بزاریم
🔥لینوکس
🔥برنامه نویسی فرانتاند
🔥برنامه نویسی بکاند
🔥اخبار تکنولوژی و...
💢~> @mmdrsdev”
Завдяки високій частоті оновлень (останні дані отримано 21 жовтня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
/** The day of the month. */ private int dayOfMonth;7 - Commented-Out Code کامنت کردن کد ها هم یکی از بدترین نوع کامنت هاست 8 - Too Much Information یعنی اینکه تو کامنت اطلاعات زیادی بدی انقدر زیاد باشه خوندنش کلی وقت ببره این فصل هم تموم شد و میتونید لیستش رو اینجا ببینید #CleanCode @CleverDevs - @CleverDevsGp
// این کلاس مسئولیت مدیریت رویدادها رو داره
class EventEmitter {
constructor() {
this.events = {}; // اینجا رویدادها و شنوندههاشون رو نگه میداریم
}
// این متد یه شنونده جدید برای یه رویداد خاص ثبت میکنه
on(event, listener) {
if (!this.events[event]) {
this.events[event] = [];
}
this.events[event].push(listener);
}
// این متد همه شنوندههای یه رویداد خاص رو اجرا میکنه
emit(event, args) {
if (this.events[event]) {
this.events[event].forEach(listener => listener(args));
}
}
}
حالا یه کلاس میسازیم که کاربرها رو مدیریت کنه و وقتی کاربری اضافه یا تغییر کرد، رویدادهای مناسب رو صادر کنه:
// این کلاس مسئول مدیریت کاربران و رویدادهای مرتبط با اوناست
class UserManager extends EventEmitter {
constructor() {
super();
this.users = []; // لیست کاربران رو اینجا نگه میداریم
}
// این متد یه کاربر جدید اضافه میکنه
addUser(user) {
this.users.push(user);
this.emit('userAdded', user); // رویداد اضافه شدن کاربر رو صادر میکنیم
}
// این متد اطلاعات یه کاربر رو تغییر میده
updateUser(id, newUser) {
const index = this.users.findIndex(user => user.id === id);
if (index !== -1) {
this.users[index] = { ...this.users[index], ...newUser };
this.emit('userUpdated', this.users[index]); // رویداد بهروزرسانی کاربر رو صادر میکنیم
}
}
}
حالا از UserManager استفاده میکنیم و شنوندههای مختلفی برای رویدادها ثبت میکنیم:
const userManager = new UserManager();
// ثبت یه شنونده برای وقتی که یه کاربر جدید اضافه میشه
userManager.on('userAdded', (user) => {
console.log(`کاربر جدید اضافه شد: ${user.name}`);
// اینجا میتونیم کارهای دیگهای هم انجام بدیم، مثل بهروزرسانی رابط کاربری
});
// ثبت یه شنونده برای وقتی که اطلاعات یه کاربر تغییر میکنه
userManager.on('userUpdated', (user) => {
console.log(`اطلاعات کاربر بهروزرسانی شد: ${user.name}`);
// اینجا میتونیم کارهای دیگهای هم انجام بدیم، مثل بهروزرسانی رابط کاربری
});
// اضافه کردن یه کاربر جدید
userManager.addUser({ id: 1, name: 'Ali', age: 30 });
// نتیجه: کاربر جدید اضافه شد: Ali
// تغییر اطلاعات یه کاربر
userManager.updateUser(1, { name: 'Hassan', age: 35 });
// نتیجه: اطلاعات کاربر بهروزرسانی شد: Hassan
حالا فرض کن میخوای هر وقت کاربری اضافه شد یا تغییر کرد، علاوه بر چاپ توی کنسول، یه نوتیفیکیشن هم نشون بدی:
// ثبت شنونده برای نوتیفیکیشنها
userManager.on('userAdded', (user) => {
alert(`کاربر جدید اضافه شد: ${user.name}`);
});
userManager.on('userUpdated', (user) => {
alert(`اطلاعات کاربر بهروزرسانی شد: ${user.name}`);
});
از این معماری در drawio استفاده شده.
ری اکت و ویو و همچنین Apache Kafka از این معماری استفاده میکنه، اگر علاقه داشتین مثال های بیشتری باهاش میزنیم یا تو یک برنامه ای ازش استفاده میکنیم اصلا
موفق باشید❤️
#Event_driven_Architecture
@CleverDevs - @CleverDevsGp$$typeof propertyتوی React وقتی یه کامپوننت رو لاگ میگیریم، یه پراپرتی با این اسم میبینیم و هدفش جلوگیری از حملاتی مثل Cross-Site Scripting هست؛ حالا چطور انجام میشه؟ مقدار این پراپرتی یه Symbol هست، و یکی از Privitive تایپهای Js هست که نمیتونه به JSON تبدیل بشه، بخاطر همین اگه هکر بخواد یه کامپوننت فیک به سایتمون ارسال کنه ریکت متوجه این قضیه میشه. #React #Js @CleverDevs - @CleverDevsGp
رابط کاربری گرافیکی برای Aria2 دانلود چند بخشی فایل زمانبندی دانلودها صفبندی دانلودها پیدا و دانلود کردن ویدئو از DailyMotion، Vimeo، Youtube، Aparat و ...اگه به لینوکس مهاجرت کردید و دنبال یه جایگزین برای IDM میگردید یا توی سایر سیستم عامل ها میخواید از یه دانلود منیجر آزاد و اوپن سورس استفاده کنید پرسپولیس گزینه مناسبیه اطلاعات بیشتر و نحوه نصب و استفاده : https://persepolisdm.github.io/fa/ #tools #openSource @CleverDevs - @CleverDevsGp
git tag -a v1.0.0 -m "version 1.0.0"
که سوئیچ a به Annotated اشاره میکنه و سوئیچ m هم پیام مربوط به تگه (میتونید توی کامندتون پیام رو ست نکنید در این صورت گیت ادیتور رو براتون باز میکنه تا بنویسید)
نوع دوم lightweight tags هست که هیچ اطلاعات اضافه ای درباره تگ نمیده و فقط به اون کامیتی که تگ روش زده شده اشاره میکنه که بیشتر برای نشانه گذاری های موقت بدرد بخوره برای ایجاد این تگ ها هم باید کامند زیر رو بزنید
git tag v1.0.0
تگ های lightweight دیگه سوئیچ های m و a رو نمیگیرن
اگه خواستید بیشتر دربارش بدونید پیشنهاد میکنم به لینک زیر یه نگاه بندازید
https://www.freecodecamp.org/news/git-tag-explained-how-to-add-remove/
#git
@CleverDevs - @CleverDevsGp