Forwarded from Linuxor ?
یه چیزی برای گولنگ پیدا کردم طلاست، پیدا کردن منابع برای گولنگ کار راحتی نیست و منابع کمی نسبت به بقیه زبانا در دسترسه اینجا اومدن لیستی از کتاب های مفید برای یادگیری گولنگ رو جمع کردن از مبتدی بگیر تا پیشرفته و برنامه نویسی بکند وب:
github.com/dariubs/GoBooks
نکته خوبش اینه برای هر کتاب یه پاراگراف توضیح هم نوشته که قبلش ببینید براتون مفیده یا نه
@Linuxor
github.com/dariubs/GoBooks
نکته خوبش اینه برای هر کتاب یه پاراگراف توضیح هم نوشته که قبلش ببینید براتون مفیده یا نه
@Linuxor
Forwarded from Accio
Finally, It's here. AI models literally plot to blackmail and murder employees when given the chance in order to survive:
Youtube Video
Original paper
Youtube Video
Original paper
Forwarded from جادی | Jadi
نیما دوست قدیمی منه و آدم با سوادی در حوزه فلسفه و ادبیات است. گفتم این دوره اش رو اینجا بذارم شاید دوره و کانالش برای افرادی جالب باشه.
Forwarded from هزارتو
وقتی قصه آغاز میشود
قصه، جادو میکند. این شاید سرراستترین مواجهه با داستان باشد. طی هزارههای متمادی، این قصهها همواره ما را با خود همراه کرده، به هزارتوی پررمزوراز سرگذشتهای گونهگون بردهاند. پس قصهگویی انگار بهقدمت خود انسان است.
حیوان قصهگو، جدیدترین تعریفی است که از انسان شده. پیشتر تفاوت او را با جانداران دیگر، در سخنگفتن میدانستند. اما این، بهنظر کافی نمیآمد. انسان میتواند قصه بگوید. حالا تعریف دقیقتری داریم.
@hezaartoomag
قصه، جادو میکند. این شاید سرراستترین مواجهه با داستان باشد. طی هزارههای متمادی، این قصهها همواره ما را با خود همراه کرده، به هزارتوی پررمزوراز سرگذشتهای گونهگون بردهاند. پس قصهگویی انگار بهقدمت خود انسان است.
حیوان قصهگو، جدیدترین تعریفی است که از انسان شده. پیشتر تفاوت او را با جانداران دیگر، در سخنگفتن میدانستند. اما این، بهنظر کافی نمیآمد. انسان میتواند قصه بگوید. حالا تعریف دقیقتری داریم.
پس قصهپردازی و روایتگری، وجه تمایز این جاندار سخنگوست. یعنی قصهگویی، معرف ماهیت و سرشت انسان است. اما قصه، که سرشت انسان را میسازد، خودش چیست؟ از کجا آمده؟ و چرا انسان را جادو میکند؟
@hezaartoomag
Forwarded from DevTwitter | توییت برنامه نویسی
کامپایلرهای درجا (JIT Compilers) در JVM چگونه پرفورمنس برنامهها را بهبود میدهند؟
میدونیم که برنامههای نوشته شده با جاوا، ابتدا به بایتکد (bytecode) کامپایل میشن و JVM بایتکدها رو بهصورت مفسری اجرا میکنه. این فرآیند نسبت به این که کدهای جاوا مستقیم به زبان ماشین کامپایل و اجرا بشن کندتره اما وجود همین مکانیزمه که جاوا رو کراسپلتفرم میکنه.
برای حل این مساله، دو کامپایلر درجا به نامهای C1 و C2 در JVM وجود دارن. وظیفه این کامپایلرها بهطور خلاصه اینه که قسمتهایی از برنامه که بیشتر از میزان مشخصی اجرا میشن (اصطلاحا نقاط داغ) رو به زبان ماشین کامپایل میکنن تا اون قسمتها دیگه بهصورت مفسری اجرا نشن. کدهای ماشینی که این کامپایلرها تولید میکنن در محلی از حافظه به نام Code Cache ذخیره میشه.
واحد کامپایل برای کامپایلرهای درجا، متده. تعداد دفعاتی که یه متد اجرا میشه توسط JVM ذخیره میشه و وقتی این تعداد از میزان مشخصی بالاتر بره، کامپایلرهای درجا وارد عمل میشن.
نحوه عملکرد این دو کامپایلر بهطور خلاصه به این صورته:
۱- متد بهصورت پیشفرض، مفسری اجرا میشه.
۲- وقتی تعداد دفعات اجرای متد از مقدار خاصی بیشتر بشه، کامپایلر C1 اون متد رو به زبان ماشین کامپایل میکنه. همچنین C1 دستورهایی رو در متد کامپایل شده قرار میده تا اطلاعاتی رو درباره جزئیات عملکرد متد در طول اجرای برنامه جمعآوری کنن (پروفایلینگ). این اطلاعات بعدا توسط C2 استفاده میشن.
۳- اگر متد همچنان زیاد اجرا بشه یعنی واقعا متد پرکاربرد و اصطلاحا داغیه. اینجا C2 وارد عمل میشه و متد رو دوباره به کد ماشین کامپایل میکنه. اما این بار C2 از اطلاعاتی که از اجرای متد در طول برنامه جمعآوری شده (با استفاده از دستورایی که C1 به متد اضافه کرده بود) استفاده میکنه و با این اطلاعات میتونه بهینهترین و سریعترین کد ماشین ممکن رو تولید کنه.
پس ممکنه متدی که کم اجرا میشه هیچوقت به کد ماشین کامپایل نشه. یا متدی با C1 کامپایل بشه اما به اندازهای زیاد اجرا نشه که C2 کامپایلش کنه. این که دقیقا بعد از چندبار اجرای یه متد این دوتا کامپایلر وارد عمل بشن قابل تنظیمه اما مقادیر پیشفرضی که دارن احتمالا برای اکثر برنامهها مناسبه و نیازی به تغییرشون نیست.
@DevTwitter | <Mostafa Nasiri/>
میدونیم که برنامههای نوشته شده با جاوا، ابتدا به بایتکد (bytecode) کامپایل میشن و JVM بایتکدها رو بهصورت مفسری اجرا میکنه. این فرآیند نسبت به این که کدهای جاوا مستقیم به زبان ماشین کامپایل و اجرا بشن کندتره اما وجود همین مکانیزمه که جاوا رو کراسپلتفرم میکنه.
برای حل این مساله، دو کامپایلر درجا به نامهای C1 و C2 در JVM وجود دارن. وظیفه این کامپایلرها بهطور خلاصه اینه که قسمتهایی از برنامه که بیشتر از میزان مشخصی اجرا میشن (اصطلاحا نقاط داغ) رو به زبان ماشین کامپایل میکنن تا اون قسمتها دیگه بهصورت مفسری اجرا نشن. کدهای ماشینی که این کامپایلرها تولید میکنن در محلی از حافظه به نام Code Cache ذخیره میشه.
واحد کامپایل برای کامپایلرهای درجا، متده. تعداد دفعاتی که یه متد اجرا میشه توسط JVM ذخیره میشه و وقتی این تعداد از میزان مشخصی بالاتر بره، کامپایلرهای درجا وارد عمل میشن.
نحوه عملکرد این دو کامپایلر بهطور خلاصه به این صورته:
۱- متد بهصورت پیشفرض، مفسری اجرا میشه.
۲- وقتی تعداد دفعات اجرای متد از مقدار خاصی بیشتر بشه، کامپایلر C1 اون متد رو به زبان ماشین کامپایل میکنه. همچنین C1 دستورهایی رو در متد کامپایل شده قرار میده تا اطلاعاتی رو درباره جزئیات عملکرد متد در طول اجرای برنامه جمعآوری کنن (پروفایلینگ). این اطلاعات بعدا توسط C2 استفاده میشن.
۳- اگر متد همچنان زیاد اجرا بشه یعنی واقعا متد پرکاربرد و اصطلاحا داغیه. اینجا C2 وارد عمل میشه و متد رو دوباره به کد ماشین کامپایل میکنه. اما این بار C2 از اطلاعاتی که از اجرای متد در طول برنامه جمعآوری شده (با استفاده از دستورایی که C1 به متد اضافه کرده بود) استفاده میکنه و با این اطلاعات میتونه بهینهترین و سریعترین کد ماشین ممکن رو تولید کنه.
پس ممکنه متدی که کم اجرا میشه هیچوقت به کد ماشین کامپایل نشه. یا متدی با C1 کامپایل بشه اما به اندازهای زیاد اجرا نشه که C2 کامپایلش کنه. این که دقیقا بعد از چندبار اجرای یه متد این دوتا کامپایلر وارد عمل بشن قابل تنظیمه اما مقادیر پیشفرضی که دارن احتمالا برای اکثر برنامهها مناسبه و نیازی به تغییرشون نیست.
@DevTwitter | <Mostafa Nasiri/>
Forwarded from Linuxor ?
خبر های خوبی برای هکرا توی راهه ...
توی 12 ماه گذشته، برنامههای باگ بانتی HackerOne بهطور کلی 81 میلیون دلار پرداخت کردن که افزایشی 13 درصدی نسبت به سال گذشته داشته. تنها 10 برنامه برتر سهمی برابر با 21.6 میلیون دلار داشتن.
هکر وان (پلتفرمی که به هکرا بابت پیدا کردن باگ پول میده) گزارش رسمی خودشو منتشر کرده و جدول هزینه هایی که بابت باگ ها میداده رو منتشر کرده. این جدول میانگین پرداخت ها توی صنایع مختلفه اگه خواستید وارد باگ بانتی بشید کمک میکنه تصمیم بهتری بگیرید.
@Linuxor
توی 12 ماه گذشته، برنامههای باگ بانتی HackerOne بهطور کلی 81 میلیون دلار پرداخت کردن که افزایشی 13 درصدی نسبت به سال گذشته داشته. تنها 10 برنامه برتر سهمی برابر با 21.6 میلیون دلار داشتن.
هکر وان (پلتفرمی که به هکرا بابت پیدا کردن باگ پول میده) گزارش رسمی خودشو منتشر کرده و جدول هزینه هایی که بابت باگ ها میداده رو منتشر کرده. این جدول میانگین پرداخت ها توی صنایع مختلفه اگه خواستید وارد باگ بانتی بشید کمک میکنه تصمیم بهتری بگیرید.
@Linuxor
Forwarded from SUT Ad
سال ۹۵ بود...
یه کانال کوچیک زدیم برای اینکه با چندتا از رفقای شریفی، خاطرات و روزمرگیهای دانشجوییمونو با چاشنی طنز بنویسیم. نمیدونستیم یه روز میتونه تبدیل بشه به یکی از بزرگترین کانالهای دانشجویی تلگرام!
🔸 اسمش رو هم گذاشتیم:
👉🔥 SUT Twitter
توی این سالها، چندبار تعطیلمون کردن، هر بار برگشتیم و با کمک نسلهای جدید ورودیها تونستیم یه فضای باحال و خودمونی برای بچههای دانشگاه بسازیم.
اگر تو هم دوست داری مطالب بامزه دانشجویی بخونی به جمعمون بیا: 👇
یه کانال کوچیک زدیم برای اینکه با چندتا از رفقای شریفی، خاطرات و روزمرگیهای دانشجوییمونو با چاشنی طنز بنویسیم. نمیدونستیم یه روز میتونه تبدیل بشه به یکی از بزرگترین کانالهای دانشجویی تلگرام!
👉
توی این سالها، چندبار تعطیلمون کردن، هر بار برگشتیم و با کمک نسلهای جدید ورودیها تونستیم یه فضای باحال و خودمونی برای بچههای دانشگاه بسازیم.
اگر تو هم دوست داری مطالب بامزه دانشجویی بخونی به جمعمون بیا: 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
SUT Twitter
به توییتر دانشجویی شریف خوش آمدید!
پادکست بعدش چی:
@baadeshchi
ارسال توییت:
twitter.com/sut_tw_admin
درآمدهای اهدایی به خیریه:
@suttw
تبلیغات:
@sut_twit
بیان نظرات و انتقادات:
@sutfeedback
پادکست بعدش چی:
@baadeshchi
ارسال توییت:
twitter.com/sut_tw_admin
درآمدهای اهدایی به خیریه:
@suttw
تبلیغات:
@sut_twit
بیان نظرات و انتقادات:
@sutfeedback
Forwarded from Linuxor ?
جدیدا کار با داده های سنگین خیلی ترند شده و مسلما بازار کار خوبی هم براش ایجاد شده، ولی مسیر ورود بهش و یادگیریش یکم گنگه
اینجا یه دوره رایگان 9 هفته ای همراه با تمرین داره برگزار کنندش یه سری افراد رندوم توی کشور های مختلفه که بسیار مناسب برای مهندسای نرم افزاره (فقط چیزای ابتدایی مثل پایتون و SQL و... رو باید یکم بدونید) هم ویدیو توی یوتیوب میزارن هم آموزش عملی میدن.
آینده در دست بیگ دیتاس اگه نمیدونید چی یاد بگیرید حتما برید دربارش تحقیق کنید و این دوره هم دنبال کنید چیزای خوبی یاد میگیرید
github.com/DataTalksClub/data-engineering-zoomcamp
@Linuxor
اینجا یه دوره رایگان 9 هفته ای همراه با تمرین داره برگزار کنندش یه سری افراد رندوم توی کشور های مختلفه که بسیار مناسب برای مهندسای نرم افزاره (فقط چیزای ابتدایی مثل پایتون و SQL و... رو باید یکم بدونید) هم ویدیو توی یوتیوب میزارن هم آموزش عملی میدن.
آینده در دست بیگ دیتاس اگه نمیدونید چی یاد بگیرید حتما برید دربارش تحقیق کنید و این دوره هم دنبال کنید چیزای خوبی یاد میگیرید
github.com/DataTalksClub/data-engineering-zoomcamp
@Linuxor
Forwarded from DevTwitter | توییت برنامه نویسی
گیتهاب نسخه سه بعدی و قابل چاپ رابرداک رو برای چاپ توی پرینتر سه بعدی به صورت متن باز و رایگان گذاشته:
https://github.com/martinwoodward/octoprints
@DevTwitter | <Mohsen Shabanian/>
https://github.com/martinwoodward/octoprints
@DevTwitter | <Mohsen Shabanian/>
Forwarded from Linuxor ?
میدونستین بنیاد لینوکس یه پلتفرم داره به اسم Hyperledger Fabric؟ این پلتفرم به سازمانها امکان میده که شبکههای بلاکچین خصوصی و مجاز بسازن که امن، مقیاسپذیر و قابل سفارشیسازی باشه.
برای مثال، Walmart باهاش تونست زنجیره تأمین مواد غذاییشو شفاف کنه. با این سیستم، هر محصول از مزرعه تا فروشگاه قابل ردیابی شد و اگر مشکلی مثل آلودگی یا فساد وجود داشت، محل دقیق منبع محصول در عرض چند ثانیه شناسایی میشد. قبل از استفاده از بلاکچین، این فرآیند ممکن بود روزها طول بکشه و هزینه و ریسک زیادی داشت، اما با Fabric، هم سرعت بالا رفت و هم اعتماد به اطلاعات تامینکنندگان و محصولات زیاد شد.
برای شروع یادگیری و استفاده از Hyperledger Fabric، میتونید از منابع رسمی و نمونههای آماده این پلتفرم استفاده کنید. اول راه مستندات رسمی Fabric رو بخونید تا با معماری، اجزا و مفاهیم پایهای مثل Peer، Orderer، Chaincode و Channel آشنا بشید. بعدش میتونید با نمونههای کد های زیر تمرین کنید و یه شبکه بلاکچین ساده بسازید، قرارداد هوشمند بنویسید و تراکنشها رو اجرا کنید.
github.com/hyperledger/fabric-samples
@Linuxor
برای مثال، Walmart باهاش تونست زنجیره تأمین مواد غذاییشو شفاف کنه. با این سیستم، هر محصول از مزرعه تا فروشگاه قابل ردیابی شد و اگر مشکلی مثل آلودگی یا فساد وجود داشت، محل دقیق منبع محصول در عرض چند ثانیه شناسایی میشد. قبل از استفاده از بلاکچین، این فرآیند ممکن بود روزها طول بکشه و هزینه و ریسک زیادی داشت، اما با Fabric، هم سرعت بالا رفت و هم اعتماد به اطلاعات تامینکنندگان و محصولات زیاد شد.
برای شروع یادگیری و استفاده از Hyperledger Fabric، میتونید از منابع رسمی و نمونههای آماده این پلتفرم استفاده کنید. اول راه مستندات رسمی Fabric رو بخونید تا با معماری، اجزا و مفاهیم پایهای مثل Peer، Orderer، Chaincode و Channel آشنا بشید. بعدش میتونید با نمونههای کد های زیر تمرین کنید و یه شبکه بلاکچین ساده بسازید، قرارداد هوشمند بنویسید و تراکنشها رو اجرا کنید.
github.com/hyperledger/fabric-samples
@Linuxor
Forwarded from Linuxor ?
Media is too big
VIEW IN TELEGRAM
تست نوشتن یکی از مهمترین بخشهای توسعه وبسایت و نرمافزاره و یکی از معروفترین ابزارها برای وب Playwright هستش که باهاش تست های خودکار برای مرورگر میتونید بنویسید زبانهای برنامهنویسی مختلف مثل JavaScript، Python و C#، ساپورت میکنه باهاش میتونید تستهای end-to-end بنویسید تستهای چندصفحهای و حتی سناریوهای همزمان رو به راحتی اجرا کرد. اگه آشنایی با تست نوشتن ندارید این ویدیوی معرفیش رو ببینید و ببینید چطوری به سادگی تست ها نوشته میشن و اجرا میشن هوش مصنوعی هم داره و خطا هاتون رو فیکس میکنه چیز معروفیه اکثرا ازش استفاده میکنن و حتی امکان ریکورد کردن زنده هم داره و به صورت زنده هرجایی از صفحه وب کلیک کنید کدش رو براتون مینویسه. (ویدیو رو کامل ببینید)
@Linuxor
@Linuxor
Forwarded from Linuxor ?
تاحالا به این فکر کردین که چرا هکرا نمیآن و یه چیزی برای شبیه سازی حمملاتشون به صورت داکری بسازن که بقیه بتونن با یه کامند اجراش کنن ؟
این کارو کردن و اسمش vulhub هستش اینجارو کلون کنید روی سیستمتون و هر فولدرش یه آسیب پذیری معروف (با فلان CVE) وجود داره فقط کافیه مثل عکس بالا برید توش و بعدش با داکر کامپوز با یه کامند بالا بیارینش و روی دامین و سایت آسیب پذیر یا لوکالتون تستش کنید
برای نصبش صفحه اصلی ریپو رو بخونید :
github.com/vulhub/vulhub
@Linuxor
این کارو کردن و اسمش vulhub هستش اینجارو کلون کنید روی سیستمتون و هر فولدرش یه آسیب پذیری معروف (با فلان CVE) وجود داره فقط کافیه مثل عکس بالا برید توش و بعدش با داکر کامپوز با یه کامند بالا بیارینش و روی دامین و سایت آسیب پذیر یا لوکالتون تستش کنید
برای نصبش صفحه اصلی ریپو رو بخونید :
github.com/vulhub/vulhub
@Linuxor
Forwarded from DevTwitter | توییت برنامه نویسی
Qwen dropped smaller (competitive) VLM - competitive to GPT-5 Mini
> 30B A3B MoE
> Reasoning and non-reasoning
> 256K context (can go up to 1M)
> Multilingual (32 languages)
https://huggingface.co/Qwen/Qwen3-VL-30B-A3B-Instruct
@DevTwitter | <Vaibhav (VB) Srivastav/>
> 30B A3B MoE
> Reasoning and non-reasoning
> 256K context (can go up to 1M)
> Multilingual (32 languages)
https://huggingface.co/Qwen/Qwen3-VL-30B-A3B-Instruct
@DevTwitter | <Vaibhav (VB) Srivastav/>
Forwarded from DevTwitter | توییت برنامه نویسی
مبحث جذاب و پر کاربرد Accessor در لاراول
فرض کنید، قصد دارید یکسری از دیتا هارو قبل از اینکه به دست کاربر برسه، شامل تغییراتی بشه به عنوان مثال میخوایید عکس هارو لینک دار کنید، به راحتی میتونید اینکارو با accessor ها در مدل مربوطه انجام بدین
به شدت شبیه cast ها هستن ولی یک تفاوت جزئی اما مهم دارن، اونم اینه که از cast ها معمولا برای تغییر دیتا تایپ مورد نظر استفاده میشه
حالا چه مزیت هایی برای شما داره؟؟! اینکه دیگه نیاز نیست در بیزینیس لاجیک خودتون دیتا رو map و یا حتی transform کنید که باعث میشه کد بیس اصلی مرتب و تمیز تر باشه
نکته : accessor ها تا حدودی سنگین هستن، پس عملیات های پیچیده رو به هیچ عنوان در این متد ها قرار ندین
@DevTwitter | <Mojtaba Zaferani/>
فرض کنید، قصد دارید یکسری از دیتا هارو قبل از اینکه به دست کاربر برسه، شامل تغییراتی بشه به عنوان مثال میخوایید عکس هارو لینک دار کنید، به راحتی میتونید اینکارو با accessor ها در مدل مربوطه انجام بدین
به شدت شبیه cast ها هستن ولی یک تفاوت جزئی اما مهم دارن، اونم اینه که از cast ها معمولا برای تغییر دیتا تایپ مورد نظر استفاده میشه
حالا چه مزیت هایی برای شما داره؟؟! اینکه دیگه نیاز نیست در بیزینیس لاجیک خودتون دیتا رو map و یا حتی transform کنید که باعث میشه کد بیس اصلی مرتب و تمیز تر باشه
نکته : accessor ها تا حدودی سنگین هستن، پس عملیات های پیچیده رو به هیچ عنوان در این متد ها قرار ندین
@DevTwitter | <Mojtaba Zaferani/>
Forwarded from Meitix
چرا کافکا سریعه؟
یکی از حقههای اصلیش بهش میگن zero copy. معمولا وقتی یه برنامه بخواد دادهای رو از دیسک بفرسته رو شبکه، چند بار بیخود کپی میشه بین بافرهای مختلف: یه بار از دیسک به حافظه، یه بار از حافظه به فضای کاربر، یه بار از اونجا به بافر سوکت، بعد تازه میره بیرون. یعنی انگار یه بسته رو هی از یه دست به یه دست دیگه میدی تا آخر برسه دست پستچی.
کافکا میگه نه، این همه کار برای چیه؟ از یه ترفند کرنل لینوکس به اسم sendfile استفاده کرد. اون باعث میشه داده مستقیم از دیسک بره توی سوکت شبکه، بدون اینکه وسط راه تو حافظهی برنامه کپی بشه. اینجوری CPU کمتر درگیر میشه، حافظه کمتر مصرف میشه، و کل جریان سریعتر تموم میشه.
و اینکه برعکس بیشتر سیستمها که دادهها رو اینور و اونور دیسک پخش میکنن، کافکا فقط پشتسرهم مینویسه، مثل ضبطصوتی که رو یه نوار داره جلو میره. این خیلی مهمه چون دیسک وقتی قراره بپره از یه نقطه به نقطهی دیگه، کلی زمان تلف میکنه. اما وقتی فقط داره پشتسرهم مینویسه، سرعتش میره بالا، حتی نزدیک سرعت رم.
یکی از حقههای اصلیش بهش میگن zero copy. معمولا وقتی یه برنامه بخواد دادهای رو از دیسک بفرسته رو شبکه، چند بار بیخود کپی میشه بین بافرهای مختلف: یه بار از دیسک به حافظه، یه بار از حافظه به فضای کاربر، یه بار از اونجا به بافر سوکت، بعد تازه میره بیرون. یعنی انگار یه بسته رو هی از یه دست به یه دست دیگه میدی تا آخر برسه دست پستچی.
کافکا میگه نه، این همه کار برای چیه؟ از یه ترفند کرنل لینوکس به اسم sendfile استفاده کرد. اون باعث میشه داده مستقیم از دیسک بره توی سوکت شبکه، بدون اینکه وسط راه تو حافظهی برنامه کپی بشه. اینجوری CPU کمتر درگیر میشه، حافظه کمتر مصرف میشه، و کل جریان سریعتر تموم میشه.
و اینکه برعکس بیشتر سیستمها که دادهها رو اینور و اونور دیسک پخش میکنن، کافکا فقط پشتسرهم مینویسه، مثل ضبطصوتی که رو یه نوار داره جلو میره. این خیلی مهمه چون دیسک وقتی قراره بپره از یه نقطه به نقطهی دیگه، کلی زمان تلف میکنه. اما وقتی فقط داره پشتسرهم مینویسه، سرعتش میره بالا، حتی نزدیک سرعت رم.
Forwarded from Meitix
از طرفی کافکا درخواست هارو دونه دونه نمیزنه میزاره batch میزنه
Forwarded from Meitix
کافکا پیاماش رو بصورت json یا text نمیفزستهروی پروتکل خودش میفرسته
Forwarded from Meitix
یه زمانی Kafka برای کارای مدیریتی خودش یه قیم داشت به اسم ZooKeeper
یعنی هر وقت میخواست بدونه کدوم broker الان زندهست، leader کدوم پارتیشنه، یا کِی باید failover کنه، باید میرفت سراغ اون. یعنی قدرت تصمیم گیری با زوکیپر بود
باید دو تا سیستم جدا بالا میآوردی، هماهنگی بینشون زمان میبردتا اینکه Kafka گفت:
«اگه قراره distributed باشم، پس بذار مغزم هم مال خودم باشه 😅.»
و اینجوری KRaft اومد — یعنی Kafka Raft.
اKafka خودش یه گروه از نودها داره که با الگوریتم Raft بین خودشون تصمیم میگیرن.
مثلاً کی leader باشه، متادیتا کجا ذخیره شه، یا اگه یکی مرد، کِی جاش پر بشه.
همهی این تصمیمها تو خود Kafka گرفته میشن، سریعتر و با یه منطق یکپارچه.
عملا الان فقط یه cluster داری، نه دو تا.
راهاندازیش راحتتر شده، failoverها سریعترن، و consistencyاش هم تمیزتره.
یعنی هر وقت میخواست بدونه کدوم broker الان زندهست، leader کدوم پارتیشنه، یا کِی باید failover کنه، باید میرفت سراغ اون. یعنی قدرت تصمیم گیری با زوکیپر بود
باید دو تا سیستم جدا بالا میآوردی، هماهنگی بینشون زمان میبردتا اینکه Kafka گفت:
«اگه قراره distributed باشم، پس بذار مغزم هم مال خودم باشه 😅.»
و اینجوری KRaft اومد — یعنی Kafka Raft.
اKafka خودش یه گروه از نودها داره که با الگوریتم Raft بین خودشون تصمیم میگیرن.
مثلاً کی leader باشه، متادیتا کجا ذخیره شه، یا اگه یکی مرد، کِی جاش پر بشه.
همهی این تصمیمها تو خود Kafka گرفته میشن، سریعتر و با یه منطق یکپارچه.
عملا الان فقط یه cluster داری، نه دو تا.
راهاندازیش راحتتر شده، failoverها سریعترن، و consistencyاش هم تمیزتره.
Forwarded from Byteforge / بایــت فورج 🛸