Forwarded from IRCF | اینترنت آزاد برای همه
اظهارات جلیلی (عضو شورای عالی فضای مجازی) در دفاع از #فیلترنت باعث شد چندتا از پلتفرمهای بومی مثل "آپارات و نشان" شیر فلکهرو روش باز کنن!
🔍 ircf.space
@ircfspace
🔍 ircf.space
@ircfspace
Forwarded from Ninja Learn | نینجا لرن
Forwarded from Meitix
هشینگ و مصائب
فرض کنیم یه شبکه از سرور داریم که برای ذخیرهسازی دادهها از Redis استفاده میکنه. حالا برای تقسیم دادهها بین سرورها، به طور معمول ممکنه از یه الگوریتم سادهای مثل "مدولوس" استفاده کنیم. در این روش، دادهها رو بر اساس یه مقدار مثل ID یا شماره کلید هاش میکنیم و با استفاده از تقسیم باقیمانده (mod) اون رو به یکی از سرورها تخصیص میدیم.
مشکل با این روش:
فرض کنیم الان ۳ تا سرور داریم و میخواهیم دادهها رو به طور یکنواخت بین این سرورها تقسیم کنیم. حالا اگر یه سرور جدید اضافه بشه یا یکی از سرورها حذف بشه، همه دادهها باید دوباره توزیع بشن. یعنی باید دوباره کل دادهها رو با استفاده از تقسیم باقیمانده جدید روی سرورهای جدید توزیع کنیم. این کار باعث میشه:
🔹 بار اضافی روی سرورها بیفته چون باید دادهها جابجا بشن.
🔹 سرعت پردازش کاهش پیدا کنه چون همه دادهها باید دوباره پردازش بشن.
به عنوان مثال:
فرض کن ۳ سرور داریم و کلیدهای دادهها به این شکل به سرورها تخصیص داده میشن:
سرور ۱: کلیدهایی که باقیمانده تقسیمشون بر ۳، ۰ میشه.
سرور ۲: کلیدهایی که باقیمانده تقسیمشون بر ۳، ۱ میشه.
سرور ۳: کلیدهایی که باقیمانده تقسیمشون بر ۳، ۲ میشه.
حالا اگر بخواهیم سرور ۴ اضافه کنیم، باید تمام دادهها رو دوباره تقسیم کنیم. مثلا اگر کلیدی که قبلاً به سرور ۳ میرفته، حالا باید به سرور ۴ بره. یا دادههایی که قبلاً به سرور ۲ میرفتن، باید حالا بین سرور ۲ و ۴ تقسیم بشن. این باعث میشه که انتقال دادهها خیلی پیچیده و زمانبر بشه.
راهحل: Consistent Hashing....
فرض کنیم یه شبکه از سرور داریم که برای ذخیرهسازی دادهها از Redis استفاده میکنه. حالا برای تقسیم دادهها بین سرورها، به طور معمول ممکنه از یه الگوریتم سادهای مثل "مدولوس" استفاده کنیم. در این روش، دادهها رو بر اساس یه مقدار مثل ID یا شماره کلید هاش میکنیم و با استفاده از تقسیم باقیمانده (mod) اون رو به یکی از سرورها تخصیص میدیم.
مشکل با این روش:
فرض کنیم الان ۳ تا سرور داریم و میخواهیم دادهها رو به طور یکنواخت بین این سرورها تقسیم کنیم. حالا اگر یه سرور جدید اضافه بشه یا یکی از سرورها حذف بشه، همه دادهها باید دوباره توزیع بشن. یعنی باید دوباره کل دادهها رو با استفاده از تقسیم باقیمانده جدید روی سرورهای جدید توزیع کنیم. این کار باعث میشه:
🔹 بار اضافی روی سرورها بیفته چون باید دادهها جابجا بشن.
🔹 سرعت پردازش کاهش پیدا کنه چون همه دادهها باید دوباره پردازش بشن.
به عنوان مثال:
فرض کن ۳ سرور داریم و کلیدهای دادهها به این شکل به سرورها تخصیص داده میشن:
سرور ۱: کلیدهایی که باقیمانده تقسیمشون بر ۳، ۰ میشه.
سرور ۲: کلیدهایی که باقیمانده تقسیمشون بر ۳، ۱ میشه.
سرور ۳: کلیدهایی که باقیمانده تقسیمشون بر ۳، ۲ میشه.
حالا اگر بخواهیم سرور ۴ اضافه کنیم، باید تمام دادهها رو دوباره تقسیم کنیم. مثلا اگر کلیدی که قبلاً به سرور ۳ میرفته، حالا باید به سرور ۴ بره. یا دادههایی که قبلاً به سرور ۲ میرفتن، باید حالا بین سرور ۲ و ۴ تقسیم بشن. این باعث میشه که انتقال دادهها خیلی پیچیده و زمانبر بشه.
راهحل: Consistent Hashing....
Forwarded from Meitix
📚اConsistent Hashing که بود و چه کرد
یه الگوریتمه که برای توزیع دادهها بین سرورها یا نودها استفاده میشه. این الگوریتم طوری طراحی شده که وقتی یه نود جدید به سیستم اضافه میشه یا یه نود حذف میشه، تغییرات کمتری در توزیع دادهها به وجود بیاد.
مثلا وقتی دادهها باید بین چندین سرور تقسیم بشن. اگه از Consistent Hashing استفاده کنی، هر داده یه "هش" منحصر به فرد پیدا میکنه و بر اساس این هش، به یکی از نودها فرستاده میشه.
مثال با Redis Cluster:
فرض کنیم۳ تا سرور داریم و میخوایم دادهها رو بین این سرورها تقسیم کنیم. هر سرور یه هش خاص برای خودش داره. اگر دادهای رو بخوای ذخیره کنی، اون داده به یک هش تبدیل میشه و سپس داده به نودی که هشش به این مقدار نزدیکتره، ارسال میشه.
1. به هر سرور یه هش اختصاص میدیم:
سرور ۱ -> هش 1
سرور ۲ -> هش 2
...
فرض کنیم یکی از سرورها حذف بشه یا یه سرور جدید اضافه بشه. به جای اینکه کل دادهها دوباره توزیع بشه، فقط یه بخش از دادهها جابجا میشن. مثلا اگر سرور ۳ اضافه بشه، فقط دادههایی که به نزدیکترین سرور قبلی یعنی سرور ۲ میرفتن، به سرور ۳ منتقل میشن
🌏Source
یه الگوریتمه که برای توزیع دادهها بین سرورها یا نودها استفاده میشه. این الگوریتم طوری طراحی شده که وقتی یه نود جدید به سیستم اضافه میشه یا یه نود حذف میشه، تغییرات کمتری در توزیع دادهها به وجود بیاد.
مثلا وقتی دادهها باید بین چندین سرور تقسیم بشن. اگه از Consistent Hashing استفاده کنی، هر داده یه "هش" منحصر به فرد پیدا میکنه و بر اساس این هش، به یکی از نودها فرستاده میشه.
مثال با Redis Cluster:
فرض کنیم۳ تا سرور داریم و میخوایم دادهها رو بین این سرورها تقسیم کنیم. هر سرور یه هش خاص برای خودش داره. اگر دادهای رو بخوای ذخیره کنی، اون داده به یک هش تبدیل میشه و سپس داده به نودی که هشش به این مقدار نزدیکتره، ارسال میشه.
1. به هر سرور یه هش اختصاص میدیم:
سرور ۱ -> هش 1
سرور ۲ -> هش 2
...
فرض کنیم یکی از سرورها حذف بشه یا یه سرور جدید اضافه بشه. به جای اینکه کل دادهها دوباره توزیع بشه، فقط یه بخش از دادهها جابجا میشن. مثلا اگر سرور ۳ اضافه بشه، فقط دادههایی که به نزدیکترین سرور قبلی یعنی سرور ۲ میرفتن، به سرور ۳ منتقل میشن
🌏Source
Forwarded from Meitix
مزایا:
🔹مقیاسپذیری: وقتی تعداد سرورها زیاد میشه، Consistent Hashing به راحتی میتونه بار رو بین سرورها تقسیم کنه بدون اینکه مجبور باشیم همه دادهها رو دوباره جابجا کنیم.
🔹 سادهتر کردن مدیریت سرورها: وقتی یه سرور جدید میاد، فقط یه قسمت کوچکی از دادهها جابجا میشه و این باعث میشه که سرورها به طور خیلی بهتر و متوازنتر کار کنن.
🔹مقیاسپذیری: وقتی تعداد سرورها زیاد میشه، Consistent Hashing به راحتی میتونه بار رو بین سرورها تقسیم کنه بدون اینکه مجبور باشیم همه دادهها رو دوباره جابجا کنیم.
🔹 سادهتر کردن مدیریت سرورها: وقتی یه سرور جدید میاد، فقط یه قسمت کوچکی از دادهها جابجا میشه و این باعث میشه که سرورها به طور خیلی بهتر و متوازنتر کار کنن.
Forwarded from Frontend with Erfun👨🏻💻 (Erfun Ghodoosi)
سلام رفقا امیدوارم حالتون عالی و درجه یک باشه🔥
ابزار هایی که توی این مقاله معرفی شده رو من مدت زیادیه دائما دارم ازشون استفاده میکنم و هم توی پروژه ها به نتایج خوبی میرسم هم تسک های فنی خفن رو باهاشون پیش میبرم(وقتایی که بشه از ابزار های این چنینی استفاده کرد)
https://dev.to/miguelrodriguezp99/frontend-resources-v2-57mj
دریابیدش که خیلی تکمیله✅
ابزار هایی که توی این مقاله معرفی شده رو من مدت زیادیه دائما دارم ازشون استفاده میکنم و هم توی پروژه ها به نتایج خوبی میرسم هم تسک های فنی خفن رو باهاشون پیش میبرم(وقتایی که بشه از ابزار های این چنینی استفاده کرد)
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
درباره یوتیوب مثال می زنم.
یوتیوبرهای ایرانی محتوایی که تولید می کند برای کسب درآمد است و این درآمدی که بدست میاید برای افزایش انگیزه و ادامه کار تولید محتوا می شود. اکثرا همه ما می دانیم که تبلیغاتی که در ویدیوهای یوتیوب نشان می دهد با وی پی ان انجام می شود و تبلیغات فقط برای کشورهای خارجی است و درآمد آن بالا و پایین می شود.
حالا نوبت ایران می رسد که هیچ تبلیغی از ایران ثبت نمی شود و براساس آی پی ایران ممکنه این تبلیغات نشان ندهد که برای یوتیوبر ایرانی درآمد بیاره. توی گوگل ادوردز اسم ایران برای ثبت تبلیغات براساس کشور ایران وجود ندارد و هم گوگل ادسنس برای ثبت درآمد براساس تبلیغ و بازدید بر اساس کشور ایران وجود ندارد.
امیدوارم یوتیوب در مقابل رفع فیلترینگ یوتیوب در ایران تحریم های گوگل ادسنس و گوگل ادوردز را رفع کند که یوتیوبرها بتواند راحتتر در آن فعالیت کند. بدون درآمد برای یوتیوبرهای ایران ممکن است از ادامه فعالیت آن منصرف شوند و محتوای ایرانی در یوتیوب کمرنگ تر شود و تهدیدی برای وب فارسی خواهد بود.
@TheRaymondDev
Forwarded from Meitix
Good naming is like a good joke. If you have to explain it, it’s not funny.
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
Go sync.Once is Simple, But How Does It Work?
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته است به بررسی عمیقتر ساز و کار دستور "sync.Once" در زبان برنامهنویسی گو میپردازد. این دستور به عنوان یک ابزار همگامسازی در گو شناخته شده است و برای اجرای تنها یک بار یک تکه کد بسیار کارآمد است، اما پیچیدگیهایی نیز در آن نهفته است. مقاله توضیح میدهد که چگونه "sync.Once" با استفاده از مکانیزمهای پیچیدهتر مانند قفلها و متغیرهای حالت برای تضمین اجرای منحصر به فرد آن عمل میکند. علاوه بر فرهم آوردن یک سطح بالایی از بررسی فنی، این مقاله نکاتی را درباره موارد کاربرد این دستور و همچنین مشکلات و محدودیتهای احتمالی آن بیان میکند. برای مثال، بحث میشود که "sync.Once" باید با دقت زیادی استفاده شود تا از اختلالات در همزمانی جلوگیری کند. در نهایت، این مقاله ارزیابی کاملی از اهمیت درک درست این ابزار و استفاده مناسب از آن در برنامههای کاربردی مختلف ارائه میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/162417/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
VictoriaMetrics
Go sync.Once is Simple... Does It Really?
The sync.Once is probably the easiest sync primitive to use, but there’s more under the hood than you might think. It’s also a good opportunity to understand how it works by juggling both atomic operations and mutexes.
Forwarded from LearnPOV | لرن پی او وی
در راستای پست بالا یه عزیزی کامنت گذاشت که به نظرم مورد خوبی هست که بزارم شما هم ببینید و متوجه بشید که مشکل این پست چی بوده دقیقا
کامنت دوستمون :
جواب من در تصویر هستش
کامنت دوستمون :
هزینش که صد در صد کمتره
پشتیبانیش ساده تره که فقط سواد میخواد (تو بخش فنی زیاد فرقی نداره)
سرعت توسعه به برنامه نویس مربوطه ولی چون تو وردپرس برای همه چی پلاگین هست خب سریعتره
از سمتی صرفه جویی در قالب
یعنی قالب های اماده خیلی زیادی هست
که نیازی به بخش بک اند نداره و امادست
کلا باید سایت وردپرسی اماده ، ساده و همه گیره
خاص باشی ازش استفاده نمیکنی😂🤍
جواب من در تصویر هستش
🚀 @coolycode
Forwarded from Sadra Codes
اون موزه بود به دیوار چسبونده بودن، امروز تو یه مزایده به مبلغ ۶.۲ میلیون دلار به فروش رفت.
دنیا جای عجیبیه.. شماره عیلون موسک کسی داره؟ راکت میخوام. میخوام برم فضا.
دنیا جای عجیبیه.. شماره عیلون موسک کسی داره؟ راکت میخوام. میخوام برم فضا.
Forwarded from Vahid Online وحید آنلاین
یک موز ۳۵ سنتی به عنوان اثر هنری ۶.۲ میلیون دلار فروخته شد و قرار است خورده شود!
یک موز که به عنوان یک اثر هنری مفهومی به نام «کمدین» با چسب نواری به دیوار مرکز حراجی آثار هنری ساتبیز در نیویورک نصب شده است، چهارشنبه ۳۰ آبان در مزایدهای به ارزش شش میلیون و ۲۰۰ هزار دلار به فروش رسید.
این اثر را مائوریزیو کاتلان، هنرمند ایتالیایی، ساخته است و قیمت اولیه آن بین یک تا یک و نیم میلیون دلار تعیین شده بود. جاستین سان، کارآفرین چینی تبار در حوزه رمزارز، که توانست از میان هفت رقیب در مزایده این اثر را بخرد، گفته است قصد دارد در روزهای آینده این موز را بخورد.
این موز چند ساعت قبل به قیمت ۳۵ سنت از یک میوهفروشی در منهتن خریداری شده بود.
@VahidOOnLine
📡 @VahidOnline
یک موز که به عنوان یک اثر هنری مفهومی به نام «کمدین» با چسب نواری به دیوار مرکز حراجی آثار هنری ساتبیز در نیویورک نصب شده است، چهارشنبه ۳۰ آبان در مزایدهای به ارزش شش میلیون و ۲۰۰ هزار دلار به فروش رسید.
این اثر را مائوریزیو کاتلان، هنرمند ایتالیایی، ساخته است و قیمت اولیه آن بین یک تا یک و نیم میلیون دلار تعیین شده بود. جاستین سان، کارآفرین چینی تبار در حوزه رمزارز، که توانست از میان هفت رقیب در مزایده این اثر را بخرد، گفته است قصد دارد در روزهای آینده این موز را بخورد.
این موز چند ساعت قبل به قیمت ۳۵ سنت از یک میوهفروشی در منهتن خریداری شده بود.
@VahidOOnLine
📡 @VahidOnline
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
Forwarded from Dev