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 Meitix
هشینگ و مصائب

فرض کنیم یه شبکه از سرور داریم که برای ذخیره‌سازی داده‌ها از Redis استفاده می‌کنه. حالا برای تقسیم داده‌ها بین سرور‌ها، به طور معمول ممکنه از یه الگوریتم ساده‌ای مثل "مدولوس" استفاده کنیم. در این روش، داده‌ها رو بر اساس یه مقدار مثل ID یا شماره کلید هاش می‌کنیم و با استفاده از تقسیم باقی‌مانده (mod) اون رو به یکی از سرور‌ها تخصیص می‌دیم.

مشکل با این روش:

فرض کنیم الان ۳ تا سرور داریم و می‌خواهیم داده‌ها رو به طور یکنواخت بین این سرور‌ها تقسیم کنیم. حالا اگر یه سرور جدید اضافه بشه یا یکی از سرورها حذف بشه، همه داده‌ها باید دوباره توزیع بشن. یعنی باید دوباره کل داده‌ها رو با استفاده از تقسیم باقی‌مانده جدید روی سرور‌های جدید توزیع کنیم. این کار باعث میشه:

🔹 بار اضافی روی سرور‌ها بیفته چون باید داده‌ها جابجا بشن.
🔹 سرعت پردازش کاهش پیدا کنه چون همه داده‌ها باید دوباره پردازش بشن.


به عنوان مثال:

فرض کن ۳ سرور داریم و کلیدهای داده‌ها به این شکل به سرور‌ها تخصیص داده میشن:

سرور ۱: کلیدهایی که باقی‌مانده تقسیمشون بر ۳، ۰ میشه.

سرور ۲: کلیدهایی که باقی‌مانده تقسیمشون بر ۳، ۱ میشه.

سرور ۳: کلیدهایی که باقی‌مانده تقسیمشون بر ۳، ۲ میشه.


حالا اگر بخواهیم سرور ۴ اضافه کنیم، باید تمام داده‌ها رو دوباره تقسیم کنیم. مثلا اگر کلیدی که قبلاً به سرور ۳ می‌رفته، حالا باید به سرور ۴ بره. یا داده‌هایی که قبلاً به سرور ۲ می‌رفتن، باید حالا بین سرور ۲ و ۴ تقسیم بشن. این باعث میشه که انتقال داده‌ها خیلی پیچیده و زمان‌بر بشه.

راه‌حل: Consistent Hashing....
Forwarded from Meitix
📚اConsistent Hashing که بود و چه کرد

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

مثلا وقتی داده‌ها باید بین چندین سرور تقسیم بشن. اگه از Consistent Hashing استفاده کنی، هر داده یه "هش" منحصر به فرد پیدا می‌کنه و بر اساس این هش، به یکی از نودها فرستاده میشه.

مثال با Redis Cluster:
فرض کنیم۳ تا سرور داریم و می‌خوایم داده‌ها رو بین این سرورها تقسیم کنیم. هر سرور یه هش خاص برای خودش داره. اگر داده‌ای رو بخوای ذخیره کنی، اون داده به یک هش تبدیل میشه و سپس داده به نودی که هشش به این مقدار نزدیک‌تره، ارسال میشه.

1. به هر سرور یه هش اختصاص می‌دیم:

سرور ۱ -> هش 1
سرور ۲ -> هش 2
...
فرض کنیم یکی از سرور‌ها حذف بشه یا یه سرور جدید اضافه بشه. به جای اینکه کل داده‌ها دوباره توزیع بشه، فقط یه بخش از داده‌ها جابجا می‌شن. مثلا اگر سرور ۳ اضافه بشه، فقط داده‌هایی که به نزدیک‌ترین سرور قبلی یعنی سرور ۲ می‌رفتن، به سرور ۳ منتقل می‌شن

🌏Source
Forwarded from Meitix
مزایا:
🔹مقیاس‌پذیری: وقتی تعداد سرور‌ها زیاد میشه، Consistent Hashing به راحتی می‌تونه بار رو بین سرور‌ها تقسیم کنه بدون اینکه مجبور باشیم همه داده‌ها رو دوباره جابجا کنیم.

🔹 ساده‌تر کردن مدیریت سرورها: وقتی یه سرور جدید میاد، فقط یه قسمت کوچکی از داده‌ها جابجا میشه و این باعث میشه که سرورها به طور خیلی بهتر و متوازن‌تر کار کنن.
Forwarded from Frontend with Erfun👨🏻‍💻 (Erfun Ghodoosi)
سلام رفقا امیدوارم حالتون عالی و درجه یک باشه🔥

ابزار‌ هایی که‌ توی این مقاله معرفی شده رو من مدت زیادیه‌ دائما دارم‌ ازشون استفاده میکنم و هم توی پروژه ها به نتایج خوبی میرسم هم تسک های فنی خفن رو باهاشون پیش میبرم(وقتایی که بشه از ابزار های این چنینی استفاده کرد)

https://dev.to/miguelrodriguezp99/frontend-resources-v2-57mj

دریابیدش که خیلی تکمیله
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Frontend with Erfun👨🏻‍💻 (Erfun Ghodoosi)
کلا این سایت dev.to رو خیلی هستم باهاش
یادمه توی مصاحبه فنی اسنپ که بودم سوالای به شدت سخت و عجیب غریب ازم میپرسیدن
بعد من اخرش دیگه اعصابم خورد شده بود از مسئولش پرسیدم اینارو باید از کجا یاد گرفت یکی از منابعی که معرفی کرد همین سایت بود😂

مصاحبه رو که رد شدم ولی کلا خیلی پیشرفت کردم با مقالات داخل این وبسایت

خلاصه که دریابیدش😁
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 در این چند روزی که می گذرد صحبت از رفع فیلترینگ یوتیوب و سایر پلتفرم ها پر رنگ تر می شود.

درباره یوتیوب مثال می زنم.

یوتیوبرهای ایرانی محتوایی که تولید می کند برای کسب درآمد است و این درآمدی که بدست میاید برای افزایش انگیزه و ادامه کار تولید محتوا می شود. اکثرا همه ما می دانیم که تبلیغاتی که در ویدیوهای یوتیوب نشان می دهد با وی پی ان انجام می شود و تبلیغات فقط برای کشورهای خارجی است و درآمد آن بالا و پایین می شود.

حالا نوبت ایران می رسد که هیچ تبلیغی از ایران ثبت نمی شود و براساس آی پی ایران ممکنه این تبلیغات نشان ندهد که برای یوتیوبر ایرانی درآمد بیاره. توی گوگل ادوردز اسم ایران برای ثبت تبلیغات براساس کشور ایران وجود ندارد و هم گوگل ادسنس برای ثبت درآمد براساس تبلیغ و بازدید بر اساس کشور ایران وجود ندارد.

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

@TheRaymondDev
Forwarded from Meitix
Good naming is like a good joke. If you have to explain it, it’s not funny.
Forwarded from Linuxor ?
کرنل لینوکس بزرگ ترین رفرنس برای اثبات خوب بودن زبان C هستش، خبر تلخ اینه که داره به استفاده از Rust بجای C پالس های مثبتی نشون میده.


🐧 @Linuxor
Forwarded from Gopher Academy
🔵 عنوان مقاله
Go sync.Once is Simple, But How Does It Work?

🟢 خلاصه مقاله:
مقاله‌ای که مورد بررسی قرار گرفته است به بررسی عمیق‌تر ساز و کار دستور "sync.Once" در زبان برنامه‌نویسی گو می‌پردازد. این دستور به عنوان یک ابزار همگام‌سازی در گو شناخته شده است و برای اجرای تنها یک بار یک تکه کد بسیار کارآمد است، اما پیچیدگی‌هایی نیز در آن نهفته است. مقاله توضیح می‌دهد که چگونه "sync.Once" با استفاده از مکانیزم‌های پیچیده‌تر مانند قفل‌ها و متغیرهای حالت برای تضمین اجرای منحصر به فرد آن عمل می‌کند. علاوه بر فرهم آوردن یک سطح بالایی از بررسی فنی، این مقاله نکاتی را درباره موارد کاربرد این دستور و همچنین مشکلات و محدودیت‌های احتمالی آن بیان می‌کند. برای مثال، بحث می‌شود که "sync.Once" باید با دقت زیادی استفاده شود تا از اختلالات در همزمانی جلوگیری کند. در نهایت، این مقاله ارزیابی کاملی از اهمیت درک درست این ابزار و استفاده مناسب از آن در برنامه‌های کاربردی مختلف ارائه می‌دهد.

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


👑 @gopher_academy
در راستای پست بالا یه عزیزی کامنت گذاشت که به نظرم مورد خوبی هست که بزارم شما هم ببینید و متوجه بشید که مشکل این پست چی بوده دقیقا

کامنت دوستمون :
هزینش که صد در صد کمتره
پشتیبانیش ساده تره که فقط سواد میخواد (تو بخش فنی زیاد فرقی نداره)
سرعت توسعه به برنامه نویس مربوطه ولی چون تو وردپرس برای همه چی پلاگین هست خب سریعتره
از سمتی صرفه جویی در قالب
یعنی قالب های اماده خیلی زیادی هست
که نیازی به بخش بک اند نداره و امادست


کلا باید سایت وردپرسی اماده ، ساده و همه گیره
خاص باشی ازش استفاده نمیکنی😂🤍


جواب من در تصویر هستش

🚀 @coolycode
Forwarded from Sadra Codes
اون موزه بود به دیوار چسبونده بودن، امروز تو یه مزایده به مبلغ ۶.۲ میلیون دلار به فروش رفت.

دنیا جای عجیبیه.. شماره عیلون موسک کسی داره؟ راکت می‌خوام. می‌خوام برم فضا.
یک موز ۳۵ سنتی به عنوان اثر هنری ۶.۲ میلیون دلار فروخته شد و قرار است خورده شود!

‌یک موز که به عنوان یک اثر هنری مفهومی به نام «کمدین» با چسب نواری به دیوار مرکز حراجی آثار هنری ساتبیز در نیویورک نصب شده است، چهارشنبه ۳۰ آبان در مزایده‌ای به ارزش شش میلیون و ۲۰۰ هزار دلار به فروش رسید.

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

این موز چند ساعت قبل به قیمت ۳۵ سنت از یک میوه‌فروشی در منهتن خریداری شده بود.
@VahidOOnLine

📡 @VahidOnline
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
دنیا خیلی وقته به فنا رفته
ماها هم داریم توی این لجن شنا میکنیم

#موقت
Forwarded from Dev
Anyone can design a 3D model of this prosthesis, send me a message ❤️

@Ayhan_dev
Forwarded from Dev
Forwarded from  (Amir Hossein "Amiria" Maher)
سلام دوستان 👋

اگه با پایتون API توسعه داده باشید، حتماً می‌دونید که پیاده‌سازی pagination هرچند سخت نیست، اما توی پروژه‌های مختلف ممکنه وقت‌گیر و تکراری بشه.
برای همین یه پکیج مینیمال و کاربردی به اسم Pagify نوشتم که مدیریت pagination رو برای شما راحت‌تر و منعطف‌تر می‌کنه.

چی داره براتون؟

پشتیبانی از روش‌های مختلف Pagination:

مثل Offset، Cursor، و Page-based.

سادگی در استفاده:
فقط با چند خط کد می‌تونید نیازهای pagination پروژه‌تون رو برطرف کنید.

مستقل از فریم‌ورک:
چه تو پروژه‌های ساده پایتونی، چه با فریم‌ورک‌هایی مثل Flask و FastAPI، به‌راحتی می‌تونید ازش استفاده کنید.

قابلیت شخصی‌سازی بالا:
تنظیمات و رفتارهاش قابل تغییر و تطبیق با پروژه شماست.

مستندات کامل و شفاف:
شروع کار با Pagify رو ساده و سریع می‌کنه.

هدف این پکیج اینه که توی مدیریت pagination وقت کمتری بذارید و روی بخش‌های اصلی پروژه تمرکز کنید.


پروژه اوپن‌سورسه!
خیلی خوشحال میشم اگه ایده‌ای دارید یا می‌خواید فیچر جدیدی اضافه کنید، توی توسعه این پکیج مشارکت کنید.

ـGitHub رو ببینید، تست کنید، و نظراتتون رو باهام درمیون بذارید:

مشاهده Pagify در GitHub

اگه به دردتون خورد، ستاره یادتون نره

منتظر بازخوردهای ارزشمند شما هستم. 😊

#package #python


🔆 CHANNEL | GROUP
بنظرتون چه پکیجی میتونه کارما دولوپر هارو ساده تر و حرفه ای تر کنه ؟ 🤔
طرف زده ML Engineer توی رزومه‌، باهاش مصاحبه می‌کنم
می‌گه فقط پرامپت نویس هستم، Prompt Engineer میری جلوتر می‌بینی از Enginner بودنش هم سوادی نداره


مثه این می‌مونه که :
عریضه نویس بیاد بگه من وکیل پایه‌ یک دادگستری هستم.

کلا اسم Prompt Engineer اسم خوبی نیست یک چیزی بذارید که توش Engineer نباشه
Forwarded from Linuxor ?
یه روز چند تا http باهم قرار میزارن میشن https


🐧 @Linuxor ~ fun
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰درایور جدید نمایشگر NVIDIA Linux x64 (AMD64/EM64T) - نسخه 560.35.03
🔸ویژگی های نسخه جدید

🔹 نصب‌کننده انویدیا (nvidia-installer) به‌روزرسانی شد: اکنون در سیستم‌هایی که هم ماژول‌های هسته منبع باز و هم اختصاصی انویدیا را پشتیبانی می‌کنند، به‌صورت پیش‌فرض ماژول‌های منبع باز را انتخاب می‌کند.
🔹 رفع باگ نصب درایور: باگی رفع شد که هنگام استفاده از نسخه‌های جایگزین ابزار "tr" (مانند busybox یا toybox) در سیستم، باعث اختلال در نصب درایور گرافیکی می‌شد.
🔹 رفع باگ فرمت تصویر ولکان (Vulkan): باگی رفع شد که هنگام استفاده از یک شیء VkImage با قابلیت VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT در برنامه‌های ولکان، فرمت تصویر اشتباه را برای پاک کردن تصاویر مرحله رندر (render pass) انتخاب می‌کرد
🔹 رفع باگ NvFBC: چندین باگ رفع شد که در هنگام بازخوانی NvFBC منجر به کرش یا رفتارهای غیرمنتظره می‌شدند.
🔹 پشتیبانی از Xwayland: پشتیبانی از EGL_KHR_platform_x11 و EGL_EXT_platform_xcb در Xwayland اضافه شد.
🔹 رفع باگ نمایشگرهای متعدد: باگی رفع شد که در سیستم‌هایی با چندین کارت گرافیک، منجر به نمایش چندباره برخی نمایشگرها در تنظیمات چیدمان صفحه nvidia-settings می‌شد.
🔹 پشتیبانی از PipeWire: یک رابط پشتیبان مبتنی بر PipeWire به NvFBC اضافه شد که به آن امکان کار با مدیران پنجره Wayland را می‌دهد که از اسکرین‌کست (screencast) از طریق XDG Desktop Portal پشتیبانی می‌کنند. این رابط جدید با نسخه بعدی Capture SDK در دسترس خواهد بود.
🔹 پشتیبانی از ضبط مستقیم چند کاربره NvFBC: پشتیبانی از چندین کاربر به طور همزمان برای ضبط مستقیم NvFBC اضافه شد. این یعنی چندین نفر می‌توانند به صورت همزمان از صفحه نمایش خود ضبط بگیرند، بدون اینکه بر عملکرد یکدیگر تأثیری بگذارند.
🔹 اطلاعات ولکان در nvidia-settings: قابلیت گزارش‌دهی اطلاعات ولکان به پنل کنترل nvidia-settings اضافه شد.
🔹 همگام‌سازی صریح DRM-KMS: پشتیبانی از همگام‌سازی صریح DRM-KMS از طریق ویژگی تنظیم حالت IN_FENCE_FD اضافه شد. DRM مخفف Direct Rendering Manager است و یک زیرسیستم هسته لینوکس است که برای مدیریت سخت‌افزار گرافیکی استفاده می‌شود. KMS مخفف Kernel Mode Setting است و به معنای تنظیم حالت هسته است. به زبان ساده‌تر، DRM-KMS رابطی است که نرم‌افزارهای گرافیکی (مانند بازی‌ها و برنامه‌های گرافیکی) از آن برای تعامل با سخت‌افزار گرافیکی استفاده می‌کنند.
🔹 اضافه شدن VRR در Wayland (پیش از Volta): پشتیبانی از VRR (نرخ به‌روزرسانی متغیر) برای Wayland در کارت‌های گرافیک پیش از معماری Volta اضافه شد.
🔹 اضافه شدنVRR روی لپ‌تاپ‌ها با ماژول‌های هسته منبع باز: پشتیبانی از VRR روی لپ‌تاپ‌ها با استفاده از ماژول‌های هسته منبع باز اضافه شد.
🔹 بهبود عملکرد glXWaitVideoSyncSGI(): این امر موجب کاهش لگ فریم (frame stutter) در برخی از پیکربندی‌های KDE با تخلیه (offload) GSP می‌شود.
🔹 رفع باگ بافر سه‌گانه OpenGL: باگی رفع شد که باعث می‌شد بافر سه‌گانه OpenGL مانند بافر دوتایی عمل کند.

لینک مربوط به لیست اسم کارت های قابل پشتیبانی و دانلود
————————
نویسنده: حسین سیلانی
منبع : کانال لینوکسی: لینوکس تی ان تی
@linuxtnt
📌به جمع حامیان کانال بپیوندید با حمایت از کانال📌
https://zarinp.al/learninghive.ir