Forwarded from a pessimistic researcher (Kc)
دوستان من مجدد که چک کردم دو تا پیپر اول رو توی ریپو داشت. خلاصه که ریپوی خوبیه و ندیدن چشمان من باعث شد که بهونهای بشه تا یه کمی در مورد این حوزه صحبت کنیم.
Forwarded from DevTwitter | توییت برنامه نویسی
یه راهنمای دوزبانه (فارسی و انگلیسی) برای پرامپتنویسی هوش مصنوعی تو برای مقاله نویسی آماده کردم. پر از تمپلیت و نکات کاربردیه!
لینکش اینجاست:
https://github.com/hamidtech/Advanced-AI-Prompting-Guidelines-For-Research
@DevTwitter | <حاجیم/>
لینکش اینجاست:
https://github.com/hamidtech/Advanced-AI-Prompting-Guidelines-For-Research
@DevTwitter | <حاجیم/>
Forwarded from a pessimistic researcher (Kc)
من حس میکنم زندگی توی یک شهر کوچک، همراه با گشت و گذار توی شهرای کوچک که لابهلای یک طبیعت بکر مثل یک جواهر پنهان شدن باعث شده که کاملا از زندگی کردن توی شهرای بزرگ فراری شم. واقعا امیدوارم که در آینده هم سرنوشت توی یکی از همین شهرها منو پاگیر کنه. شما فکر کن رود Saar رو میای بالا و میرسی به شهر Mettlach از اون سمت رود Mosel رو میگیری میای بالا میرسی به Cochem و Trier و توی طبیعت و زیبایی بینظیرشون غرق میشی. یا مثلا رود Rhein رو میگیری میای بالا میرسی به spyer و dürkheimer در نهایت هم میرسی به شهر Koblenz که محل تلاقی دو رود Mosel و Rhein هستش. تابستونا که میشه شهر به شهر کنار این رودها میشه فستوال wine و کشاورزایی که انگوراشون رو قبل از سرکه شدن توی بطری کردن. همهی اهالی شهر جمع میشن و یک ایونت محلی برپا میشه و شبش هم آتیش بازی برپا میشه که بهش میگن Rhein in Flammen. یک چنین چیزی رو کجای برلین و لوگزامبورگ میشه پیدا کرد؟
بازارهای محلی شنبهها، رستورانای سنتی و منوهای قدیمیشون، آبجوهای ساخت خودشون، دنیای بیانتهای پنیرها و از همه مهم تر Bratwurst.
بازارهای محلی شنبهها، رستورانای سنتی و منوهای قدیمیشون، آبجوهای ساخت خودشون، دنیای بیانتهای پنیرها و از همه مهم تر Bratwurst.
Forwarded from Laravel News
Have five minutes to spare? Help shape the future of Laravel News! Take our quick community survey and tell us what matters most to you. Your input will directly influence our upcoming content and coverage. https://forms.gle/UpK9o2P1999QV6Wq8
Google Docs
Laravel News Audience Survey
Thank you for taking a few minutes to help us better understand our audience. Your input will help us improve Laravel News and attract advertisers who align with your interests. All responses are anonymous unless you choose to provide contact information.
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
این مرج ریکوست رو بخونید
تروالدز مرج داده یکی دیگه با نام هوندِل(که خودش یکی از غولهای اوپنسورسه) ریویو کرده بعد تایید کرده و مرج شده
(خیلی جذابه)
https://github.com/subsurface/libdc/pull/69
پ.ن
حالا برید اکانت گیتهاب اون هوندل رو ببینید. کلا ۵۰۰ نفر فالوش نمیکنن
https://github.com/dirkhh
تروالدز مرج داده یکی دیگه با نام هوندِل(که خودش یکی از غولهای اوپنسورسه) ریویو کرده بعد تایید کرده و مرج شده
(خیلی جذابه)
https://github.com/subsurface/libdc/pull/69
پ.ن
حالا برید اکانت گیتهاب اون هوندل رو ببینید. کلا ۵۰۰ نفر فالوش نمیکنن
https://github.com/dirkhh
GitHub
Garmin: Report correct local time offset by torvalds · Pull Request #69 · subsurface/libdc
We stupidly thought that the local time offset was in the "DEVICE_SETTINGS" message as the time_offset field. I'm pretty sure I've seen something like that before...
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
یه خاطرهای یادم اومد
یبار یکی اومد بهم گفت بیا راجع به یه پروژه صحبت کنیم بیا تو تیممون کار کن
منم رفتم صحبت کنم، طرف یکی رو بهم نشون داد گفت فلانی رو میشناسی؟
گفتم نه کیه؟
گفت تو اینستا ۱۰۰ هزار نفر فالور داره
منم گفتم چقدر خوب ولی من اینستا نیستم
بعدش چاییمو تموم کردم و خدافظی کردم رفتم بیرون
یبار یکی اومد بهم گفت بیا راجع به یه پروژه صحبت کنیم بیا تو تیممون کار کن
منم رفتم صحبت کنم، طرف یکی رو بهم نشون داد گفت فلانی رو میشناسی؟
گفتم نه کیه؟
گفت تو اینستا ۱۰۰ هزار نفر فالور داره
منم گفتم چقدر خوب ولی من اینستا نیستم
بعدش چاییمو تموم کردم و خدافظی کردم رفتم بیرون
Forwarded from Linuxor ?
خلاصه امروز توییتر کامیونیتی برنامه نویسی و کامپیوتر :
تولد لینوس توروالدز بود و حجم بزرگی از کامیونیتی تولدش رو تبریک گفتن.
توی قسمت دیگه عذاب وجدان شدیدی کامیونیتی برنامه نویس ها رو فرا گرفته بود، گویا احساس میکنند با ChatGPT دارن به StackOverFlow خیانت میکنند. اما برنامه نویس های واقعی خودشون رو نشون دادن و گفتن که هنوز دارن از StackOverFlow استفاده میکنن.
@Linuxor
تولد لینوس توروالدز بود و حجم بزرگی از کامیونیتی تولدش رو تبریک گفتن.
توی قسمت دیگه عذاب وجدان شدیدی کامیونیتی برنامه نویس ها رو فرا گرفته بود، گویا احساس میکنند با ChatGPT دارن به StackOverFlow خیانت میکنند. اما برنامه نویس های واقعی خودشون رو نشون دادن و گفتن که هنوز دارن از StackOverFlow استفاده میکنن.
@Linuxor
Forwarded from Linuxor ?
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 مدل تقویم شمسی برای متابیس (Metabase)
یک مدل SQL برای متابیس است که امکانات زیر را به راحتی فراهم میکند:
۱- همگامسازی کامل گزارشها با تقویم شمسی
۲- امکان تحلیلهای پیشرفته در بازههای زمانی مختلف با تقویم شمسی (روز، هفته، ماه، فصل و سال)
۳- یکپارچهسازی تحلیلهای تاریخی با چرخه کسبوکار
۴- محاسبه درست تاریخ در سالهای کبیسه
</Navid Behrangi>
گیت هاب :
https://github.com/navidb/metabase-persian-calendar
#معرفی
@TheRaymondDev
یک مدل SQL برای متابیس است که امکانات زیر را به راحتی فراهم میکند:
۱- همگامسازی کامل گزارشها با تقویم شمسی
۲- امکان تحلیلهای پیشرفته در بازههای زمانی مختلف با تقویم شمسی (روز، هفته، ماه، فصل و سال)
۳- یکپارچهسازی تحلیلهای تاریخی با چرخه کسبوکار
۴- محاسبه درست تاریخ در سالهای کبیسه
</Navid Behrangi>
گیت هاب :
https://github.com/navidb/metabase-persian-calendar
#معرفی
@TheRaymondDev
GitHub
GitHub - navidb/metabase-persian-calendar: A Metabase model that converts Gregorian dates to the Persian (Jalali) calendar system.…
A Metabase model that converts Gregorian dates to the Persian (Jalali) calendar system. This model provides Persian year, month, day, season, and week numbers, making it easy to perform date-based ...
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
اینم بگم جالب بود
یه جلسهای رفتم یبار، که توی اون جلسه همه تحصیلکرده بودن. همراه من داشت همه رو معرفی میکرد بهم. مثلا آقای دکتر فلانی رئیس ستاد بهمان، جناب دکتر ایکس مشاور اجرایی مجمع وای، خانم دکتر پریم مدیر بخش بیسار.
تنها بیسوادشون من بودم.
بعد من بهشون یه پروپوزال ارایه دادم و قرار شد بهم خبر بدن.
چند روز بعد موبایلم زنگ خورد و جواب دادم:
+سلام آقای مهندس
-سلام بفرمایید
+من آقای دکتر فلانی هستم
(حالا من دستپاچه شدم که چی شده خدای نکرده کسی چیزیش نشده باشه)
-از کدوم بیمارستان هستید چیزی شده؟
+نه بیمارستان نیستم اگه حضور ذهن داشته باشید برای اون پروپوزال که ارایه دادید
-آها بله بله. یه جوری گفتید آقای دکتر فلانی هستم گفتم حتما از بیمارستانید
+چرا مگه چی شده
-آخه تا حالا نشنیده بودم کسی خودش رو آقای دکتر خطاب کنه موقع معرفی خودش
بعدش یکم ترش کرد و خدافظی کرد و خبری ندادن
فک کنم از حرفم خوشش نیومد و بهش بر خورد
یه جلسهای رفتم یبار، که توی اون جلسه همه تحصیلکرده بودن. همراه من داشت همه رو معرفی میکرد بهم. مثلا آقای دکتر فلانی رئیس ستاد بهمان، جناب دکتر ایکس مشاور اجرایی مجمع وای، خانم دکتر پریم مدیر بخش بیسار.
تنها بیسوادشون من بودم.
بعد من بهشون یه پروپوزال ارایه دادم و قرار شد بهم خبر بدن.
چند روز بعد موبایلم زنگ خورد و جواب دادم:
+سلام آقای مهندس
-سلام بفرمایید
+من آقای دکتر فلانی هستم
(حالا من دستپاچه شدم که چی شده خدای نکرده کسی چیزیش نشده باشه)
-از کدوم بیمارستان هستید چیزی شده؟
+نه بیمارستان نیستم اگه حضور ذهن داشته باشید برای اون پروپوزال که ارایه دادید
-آها بله بله. یه جوری گفتید آقای دکتر فلانی هستم گفتم حتما از بیمارستانید
+چرا مگه چی شده
-آخه تا حالا نشنیده بودم کسی خودش رو آقای دکتر خطاب کنه موقع معرفی خودش
بعدش یکم ترش کرد و خدافظی کرد و خبری ندادن
فک کنم از حرفم خوشش نیومد و بهش بر خورد
Forwarded from متخصص وردپرس | پوینا
یک تجربه مهم در سئو :
یکی از دوستامون دو تا سایت داشت
دو تا سایت قالبش یکسان بودن
و داخل هر دو تا تقریبا محصولات یکسانی میفروخت
بعد مدتی یکیش کلا از نتایج گوگل حذف شد
یکیش موند و فروشش اوکی بود
بعد از چند ماه بررسی متوجه شدیم همه چیز از اسکیما هست
چون توی اون سایتی که کلا از نتایج گوگل حذف شده بود صفحه محصول رو کاستوم کرده بودیم و تغییرات توش داده بودیم
اما صفحه محصول سایت دوم پیش فرض بود و اسکیماش درست بود
حتما اسکیما هاتون درست کنید وگرنه میتونه به کلی شما رو حذف کنه به خصوص اگر صفحاتتون کاستوم هستن
البته الان با درست کردن اسکیما سایت اول نتایجش داره برمیگرده
@poinair پوینا
یکی از دوستامون دو تا سایت داشت
دو تا سایت قالبش یکسان بودن
و داخل هر دو تا تقریبا محصولات یکسانی میفروخت
بعد مدتی یکیش کلا از نتایج گوگل حذف شد
یکیش موند و فروشش اوکی بود
بعد از چند ماه بررسی متوجه شدیم همه چیز از اسکیما هست
چون توی اون سایتی که کلا از نتایج گوگل حذف شده بود صفحه محصول رو کاستوم کرده بودیم و تغییرات توش داده بودیم
اما صفحه محصول سایت دوم پیش فرض بود و اسکیماش درست بود
حتما اسکیما هاتون درست کنید وگرنه میتونه به کلی شما رو حذف کنه به خصوص اگر صفحاتتون کاستوم هستن
البته الان با درست کردن اسکیما سایت اول نتایجش داره برمیگرده
@poinair پوینا
Forwarded from متخصص وردپرس | پوینا
خرید و فروش طلا !
این روزا کافه بازار پر شده از اپلیکیشن های خرید طلای آب شده حالا هم دیجی کالا مدتی هست آورده
ولی نکته جالب اینه اگر طلات رو فروختی هر روز ۲۰ میلیون بیشتر نمیتونی برداری
فکر کن مثلا ۲۰۰ میلیون طلا از دیجی کالا بدون محدودیت توی یک روز خریدی
حالا بهش میفروشی دیجی کالا بهت اجازه نمیده ۲۰۰ میلیون رو یکجا برداری توی ده روز باید ده تا درخواست ۲۰ میلیونی بزنی
دیگه فکر کنم فهمیدید چی شد
@poinair پوینا
این روزا کافه بازار پر شده از اپلیکیشن های خرید طلای آب شده حالا هم دیجی کالا مدتی هست آورده
ولی نکته جالب اینه اگر طلات رو فروختی هر روز ۲۰ میلیون بیشتر نمیتونی برداری
فکر کن مثلا ۲۰۰ میلیون طلا از دیجی کالا بدون محدودیت توی یک روز خریدی
حالا بهش میفروشی دیجی کالا بهت اجازه نمیده ۲۰۰ میلیون رو یکجا برداری توی ده روز باید ده تا درخواست ۲۰ میلیونی بزنی
دیگه فکر کنم فهمیدید چی شد
@poinair پوینا
Forwarded from کانال مهرداد لینوکس (Mehrdad Linux)
عدم دسترسی کارشناسان نرمافزاری کشورهای تحریم شده به خدمات GitHub
منبع: همکاران سیستم
شرکت GitHub از بزرگترین پلتفرمهای توسعه نرمافزار در جریان سازگاری با تحریمهای تجاری آمریکا دسترسی به سیستمهای خود را برای توسعهدهندگان نرمافزار در کشورهای تحریم شده مسدود کرد. این سایت به اشتراک گذاری کدهای منبع نرمافزاری که از زیرمجموعههای شرکت مایکروسافت محسوب میشود هم اکنون توضیحاتی را در اختیار توسعه دهندگان نرمافزار قرار داده و توضیح داده است که از قوانین تجاری آمریکا پیروی میکند.
این طور که خبرگزاری زد.دی.نت ژوئیه امسال گزارش داد، GitHub پیشتر دسترسی به خدمات اصلی خود را برای توسعه دهندگان نرمافزاری ساکن کشورهای تحت تحریم تجاری آمریکا از جمله کوبا، ایران، کره شمالی و سوریه مسدود کرده بود.
تلاش جدید شرکت GitHub برای مطابقت با کنترلهای طولانی مدت تجاری آمریکا باعث شده است برخی توسعهدهندگان نرمافزار نادیده گرفته شوند و بر این اساس نتوانند به مخازن خصوصی کدهای منبع دسترسی پیدا کنند یا آنها را ایجاد کنند.
«نات فریدمن» مدیرعامل این شرکت توضیح داد که GitHub در تلاش است تا «طبق قوانین ایالات متحده» اقدامی بیشتر از آنچه که معین شده است را انجام ندهد. با این حال، روشهای گاه به گاه این شرکت برای همکاری با شرکتهای مختلف تاثیراتی را بر کسب و کارها و توسعه دهندگان نرمافزار که در کشورهای تحریم نشده سکونت دارند هم برجا گذاشته است و از جمله آنها میتوان به متخصصان و شرکتهای نرمافزاری در بریتانیا اشاره کرد.
یکی از روش هایی که GitHub برای تشخیص میزان دسترسی کاربران به سایت خود از کشورهای تحریم شده مورد استفاده قرار می دهد، اسکن کردن آدرسهای IP است.
منبع: همکاران سیستم
شرکت GitHub از بزرگترین پلتفرمهای توسعه نرمافزار در جریان سازگاری با تحریمهای تجاری آمریکا دسترسی به سیستمهای خود را برای توسعهدهندگان نرمافزار در کشورهای تحریم شده مسدود کرد. این سایت به اشتراک گذاری کدهای منبع نرمافزاری که از زیرمجموعههای شرکت مایکروسافت محسوب میشود هم اکنون توضیحاتی را در اختیار توسعه دهندگان نرمافزار قرار داده و توضیح داده است که از قوانین تجاری آمریکا پیروی میکند.
این طور که خبرگزاری زد.دی.نت ژوئیه امسال گزارش داد، GitHub پیشتر دسترسی به خدمات اصلی خود را برای توسعه دهندگان نرمافزاری ساکن کشورهای تحت تحریم تجاری آمریکا از جمله کوبا، ایران، کره شمالی و سوریه مسدود کرده بود.
تلاش جدید شرکت GitHub برای مطابقت با کنترلهای طولانی مدت تجاری آمریکا باعث شده است برخی توسعهدهندگان نرمافزار نادیده گرفته شوند و بر این اساس نتوانند به مخازن خصوصی کدهای منبع دسترسی پیدا کنند یا آنها را ایجاد کنند.
«نات فریدمن» مدیرعامل این شرکت توضیح داد که GitHub در تلاش است تا «طبق قوانین ایالات متحده» اقدامی بیشتر از آنچه که معین شده است را انجام ندهد. با این حال، روشهای گاه به گاه این شرکت برای همکاری با شرکتهای مختلف تاثیراتی را بر کسب و کارها و توسعه دهندگان نرمافزار که در کشورهای تحریم نشده سکونت دارند هم برجا گذاشته است و از جمله آنها میتوان به متخصصان و شرکتهای نرمافزاری در بریتانیا اشاره کرد.
یکی از روش هایی که GitHub برای تشخیص میزان دسترسی کاربران به سایت خود از کشورهای تحریم شده مورد استفاده قرار می دهد، اسکن کردن آدرسهای IP است.
Forwarded from DevTwitter | توییت برنامه نویسی
بچه ها بیکار بودم یه پکیج npm زدم میاد یه بررسی از پروژتون بهتون میده که چقدر کد زدین چیا دارین چقدر کامنت دارین و اینا
دوست داشتین نگاش کنین
کافیه بزنین
npx react-loc-analyzer
یه خروجی این شکلی باید بده بهتون
اینم npm اشه اگه خواستین کامند دقیق تر بدین
https://npmjs.com/package/react-loc-analyzer
@DevTwitter | <amiram/>
دوست داشتین نگاش کنین
کافیه بزنین
npx react-loc-analyzer
یه خروجی این شکلی باید بده بهتون
اینم npm اشه اگه خواستین کامند دقیق تر بدین
https://npmjs.com/package/react-loc-analyzer
@DevTwitter | <amiram/>
Forwarded from Software Engineer Labdon
🍾یه سری رودمپ بدرد بخور براتون ردیف کردم
🔻Engineering Manager
https://roadmap.sh/engineering-manager
🔻Software Design and Architecture
https://roadmap.sh/software-design-architecture
🔻System Design
https://roadmap.sh/system-design
🔻Software Architect
https://roadmap.sh/software-architect
➖➖➖➖➖➖➖➖
https://t.iss.one/addlist/KpzXaiSpKENkMGM0
🔻Engineering Manager
https://roadmap.sh/engineering-manager
🔻Software Design and Architecture
https://roadmap.sh/software-design-architecture
🔻System Design
https://roadmap.sh/system-design
🔻Software Architect
https://roadmap.sh/software-architect
➖➖➖➖➖➖➖➖
https://t.iss.one/addlist/KpzXaiSpKENkMGM0
Forwarded from Meitix
شاردینگ چیه؟ اصلاً چرا شاردینگ کنیم؟! 😅
وقتی دیتابیسمون بزرگ میشه و دیگه یه دونه سرور جوابگو نیست، باید دیتا رو بین چند تا دیتابیس یا حتی جدول تقسیم کنیم. این میشه همون شاردینگ. حالا بیایم ببینبم روشهاش چیه
---
1⃣ بر اساس رنج (Range-Based)
مثلاً دیتا رو بر اساس بازهی آیدی کاربرها تقسیم کنیم:
شارد ۱: کاربرهای ۱ تا ۱۰۰۰۰
شارد ۲: کاربرهای ۱۰۰۰۱ تا ۲۰۰۰۰
راحت و سادهست، ولی اگه یه بازه خیلی شلوغ باشه، دیتابیس کلافه میشه!
2⃣ بر اساس هش (Hash-Based)
بیا یه فرمول ساده بذاریم:
userID % تعداد شاردها = شماره شارد
اینطوری دیتا تقریباً یکنواخت پخش میشه. ولی اگه یه شارد اضافه یا کم کنیم، کل دیتارو باید دوباره بچینیم. 😩
3⃣ بر اساس جغرافیا (Geographic)
دیتای هر منطقه رو تو یه شارد بذاریم. مثلاً:
شارد ۱: آمریکا
شارد ۲: اروپا
ولی اگه یه منطقه مثل هند خیلی شلوغ بشه، چی؟!
4⃣ زمانی (Time-Based)
دیتا رو بر اساس زمان تقسیم کنیم. مثلاً:
شارد ۱: دیتاهای سال ۲۰۲۴
شارد ۲: دیتاهای سال ۲۰۲۵
این عالیه برای لاگها یا دیتاهای تاریخدار، ولی دیتاهای قدیمی رو کمتر کسی میخواد.
وقتی دیتابیسمون بزرگ میشه و دیگه یه دونه سرور جوابگو نیست، باید دیتا رو بین چند تا دیتابیس یا حتی جدول تقسیم کنیم. این میشه همون شاردینگ. حالا بیایم ببینبم روشهاش چیه
---
1⃣ بر اساس رنج (Range-Based)
مثلاً دیتا رو بر اساس بازهی آیدی کاربرها تقسیم کنیم:
شارد ۱: کاربرهای ۱ تا ۱۰۰۰۰
شارد ۲: کاربرهای ۱۰۰۰۱ تا ۲۰۰۰۰
راحت و سادهست، ولی اگه یه بازه خیلی شلوغ باشه، دیتابیس کلافه میشه!
2⃣ بر اساس هش (Hash-Based)
بیا یه فرمول ساده بذاریم:
userID % تعداد شاردها = شماره شارد
اینطوری دیتا تقریباً یکنواخت پخش میشه. ولی اگه یه شارد اضافه یا کم کنیم، کل دیتارو باید دوباره بچینیم. 😩
3⃣ بر اساس جغرافیا (Geographic)
دیتای هر منطقه رو تو یه شارد بذاریم. مثلاً:
شارد ۱: آمریکا
شارد ۲: اروپا
ولی اگه یه منطقه مثل هند خیلی شلوغ بشه، چی؟!
4⃣ زمانی (Time-Based)
دیتا رو بر اساس زمان تقسیم کنیم. مثلاً:
شارد ۱: دیتاهای سال ۲۰۲۴
شارد ۲: دیتاهای سال ۲۰۲۵
این عالیه برای لاگها یا دیتاهای تاریخدار، ولی دیتاهای قدیمی رو کمتر کسی میخواد.
Forwarded from Go Casts 🚀
معماری Event-Driven یه پارادایم هست که روی produce و consume کردن eventها برای اکشن های مهم سیستم و تغییرات state سیستم تاکید میکنه.
یکی از مهم ترین مزیت هاش چیه؟ اینه که producer خیلی loosely coupled میشه نسبت به consumerها و قسمت های دیگه سیستم.
مزیت های دیگه هم داره از جمله اینکه مقیاس پذیری سیستم رو راحت تر میکنه و انعطاف بیشتری به سیستم میده.
ولی خب چالش هایی هم داره، از جمله اینکه مدیریت eventها پیچیده تر میشه و مدیریت data consistency بین سرویس های مختلف رو سخت تر میکنه.
به همین دلیل، تعریف schemaی مناسب برای eventها و داشتن error handling درست روی produce و consume کردن eventها مهم میشه.
این مقاله رو دوست داشتید بخونید، مفاهیم مقدماتی رو توضیح میده
Introduction to Event-Driven Architecture
https://medium.com/microservicegeeks/introduction-to-event-driven-architecture-e94ef442d824
تعداد مشارکت کنندگاه دوره از ۵۰۰ نفر گذشت 🔥
به همین مناسبت، تخفیف ۵۳ درصدی دوره در نظر گرفتیم
جزییات بیشتر در این پست 👇
https://t.iss.one/gocasts/572
@gocasts
یکی از مهم ترین مزیت هاش چیه؟ اینه که producer خیلی loosely coupled میشه نسبت به consumerها و قسمت های دیگه سیستم.
مزیت های دیگه هم داره از جمله اینکه مقیاس پذیری سیستم رو راحت تر میکنه و انعطاف بیشتری به سیستم میده.
ولی خب چالش هایی هم داره، از جمله اینکه مدیریت eventها پیچیده تر میشه و مدیریت data consistency بین سرویس های مختلف رو سخت تر میکنه.
به همین دلیل، تعریف schemaی مناسب برای eventها و داشتن error handling درست روی produce و consume کردن eventها مهم میشه.
این مقاله رو دوست داشتید بخونید، مفاهیم مقدماتی رو توضیح میده
Introduction to Event-Driven Architecture
https://medium.com/microservicegeeks/introduction-to-event-driven-architecture-e94ef442d824
تعداد مشارکت کنندگاه دوره از ۵۰۰ نفر گذشت 🔥
به همین مناسبت، تخفیف ۵۳ درصدی دوره در نظر گرفتیم
جزییات بیشتر در این پست 👇
https://t.iss.one/gocasts/572
@gocasts
Forwarded from Go Casts 🚀
یه ویدیوی تازه و داغ که یه کتابخونه جدید رو هم معرفی میکنه برای event stream processing
Processing Millions of Events Per Second Reliably Using Generics
https://youtu.be/tedFyfKqKeI?si=HoWXARoDv0BRbQRo
A blazingly fast event stream processing library powering the reveald event processing daemon.
https://github.com/runreveal/kawa
Kawa: The Event Processor for the Grug Brained Developer
https://blog.runreveal.com/kawa-the-event-processor-for-the-grug-brained-developer/
تعداد مشارکت کنندگاه دوره از ۵۰۰ نفر گذشت 🔥
به همین مناسبت، تخفیف ۵۳ درصدی دوره در نظر گرفتیم
جزییات بیشتر در این پست 👇
https://t.iss.one/gocasts/572
@gocasts
Processing Millions of Events Per Second Reliably Using Generics
https://youtu.be/tedFyfKqKeI?si=HoWXARoDv0BRbQRo
A blazingly fast event stream processing library powering the reveald event processing daemon.
https://github.com/runreveal/kawa
Kawa: The Event Processor for the Grug Brained Developer
https://blog.runreveal.com/kawa-the-event-processor-for-the-grug-brained-developer/
تعداد مشارکت کنندگاه دوره از ۵۰۰ نفر گذشت 🔥
به همین مناسبت، تخفیف ۵۳ درصدی دوره در نظر گرفتیم
جزییات بیشتر در این پست 👇
https://t.iss.one/gocasts/572
@gocasts
Forwarded from Meitix
البته البته، انتخاب Shard Key درست یکی از مهمترین قدمها توی طراحی دیتابیس مقیاسپذیره! 😅 اگه شارد کی اشتباهی انتخاب نکنیم، سیستم میتونه خیلی زود دچار مشکلاتی مثل hotspot یا عدم تعادل در شاردها بشه.
1⃣ کاردینالیته بالا!
شارد کی که انتخاب میکنیم باید کاردینالیته بالا داشته باشه. یعنی تعداد مقادیر ممکن باید زیاد باشه تا بتونیم دادهها رو به خوبی بین شاردها تقسیم کنیم. مثلاً یه فیلد booleanخیلی محدود میشه و تعداد شاردها رو به دو تا میرسونه. انتخابهای بهتر مثل userID یا timestamp میتونن کار رو بهتر انجام بدن.
2⃣ توزیع یکنواخت (Frequency)
توی انتخاب شارد کی باید مطمئن بشیم که دادهها به طور یکنواخت پخش بشن. مثلاً اگه از سن به عنوان شارد کی استفاده کنیم، ممکنه همه دادهها توی رنج سنی ۳۰ تا ۴۵ جمع بشه و یه شارد شلوغ بشه! 🤦♂️ پس بهتره از یه شارد کی استفاده کنیم که دادهها توش پخش شده باشن.
3⃣ تغییرات یکنواخت (Monotonic Change)
اگه شارد کی یه ویژگی تغییر یکنواخت داشته باشه، مثلاً timestamp که همیشه بیشتر میشه، ممکنه همش دادههای جدید تو یه شارد بریزه. این کار میتونه باعث بشه یه شارد سنگین بشه و بقیه شاردها خالی بمونن. راهحل اینه که شارد کی رو با یه فیلد دیگه ترکیب کنیم.
1⃣ کاردینالیته بالا!
شارد کی که انتخاب میکنیم باید کاردینالیته بالا داشته باشه. یعنی تعداد مقادیر ممکن باید زیاد باشه تا بتونیم دادهها رو به خوبی بین شاردها تقسیم کنیم. مثلاً یه فیلد booleanخیلی محدود میشه و تعداد شاردها رو به دو تا میرسونه. انتخابهای بهتر مثل userID یا timestamp میتونن کار رو بهتر انجام بدن.
2⃣ توزیع یکنواخت (Frequency)
توی انتخاب شارد کی باید مطمئن بشیم که دادهها به طور یکنواخت پخش بشن. مثلاً اگه از سن به عنوان شارد کی استفاده کنیم، ممکنه همه دادهها توی رنج سنی ۳۰ تا ۴۵ جمع بشه و یه شارد شلوغ بشه! 🤦♂️ پس بهتره از یه شارد کی استفاده کنیم که دادهها توش پخش شده باشن.
3⃣ تغییرات یکنواخت (Monotonic Change)
اگه شارد کی یه ویژگی تغییر یکنواخت داشته باشه، مثلاً timestamp که همیشه بیشتر میشه، ممکنه همش دادههای جدید تو یه شارد بریزه. این کار میتونه باعث بشه یه شارد سنگین بشه و بقیه شاردها خالی بمونن. راهحل اینه که شارد کی رو با یه فیلد دیگه ترکیب کنیم.