Go Casts 🚀
قرعه کشی خرید دوره به نفع بیماران پروانه ای در هفته احسان و نیکوکاری، دوره بین دوستانی که دوره رو خریداری نکرده اند و فرم زیر را پر کنند قرعه کشی خواهد شد و تمامی مبلغ فروش به حساب خانه ای بی واریز خواهد شد. فیش واریزی این قرعه کشی https://news.1rj.ru/str/c/1525472919/2990…
قرعه کشی دوره GoCasts به نفع بیماران پروانه ای به مناسبت عید نیمه شعبان ❤️
اَلّلهُمَّ عَجِّل لِوَليِّکَ الفَرَج
السلام علیک یا اباصالح المهدی ادرکنی
میلاد آقا صاحب الزمان بر همگان مبارک ❤️❤️
به مناسبت نیمه شعبان دوره GoCasts فقط به قیمت ۲ میلیون تومان فروخته خواهد شد و مبلغ جمع آوری شده تماما به حساب خانه ای بی واریز می گردد
اگه تمایل دارید در قرعه کشی شرکت کنید لطفا نهایتا تا یکشنبه ۲۸ بهمن ۱۴۰۳ فرم زیر رو تکمیل کنید.
https://survey.porsline.ir/s/ZG3YRluN
خیلی خوب میشه اگه در حد توان خودتون از بچه های پروانه ای حمایت کنید، ممنون از محبت تون ❤️
لینک حمایت آنلاین از بچه های پروانه ای
https://ebhome.ngo/support
اینستاگرام خانه ای بی
https://instagram.com/eb_home
@gocasts
اَلّلهُمَّ عَجِّل لِوَليِّکَ الفَرَج
السلام علیک یا اباصالح المهدی ادرکنی
میلاد آقا صاحب الزمان بر همگان مبارک ❤️❤️
به مناسبت نیمه شعبان دوره GoCasts فقط به قیمت ۲ میلیون تومان فروخته خواهد شد و مبلغ جمع آوری شده تماما به حساب خانه ای بی واریز می گردد
اگه تمایل دارید در قرعه کشی شرکت کنید لطفا نهایتا تا یکشنبه ۲۸ بهمن ۱۴۰۳ فرم زیر رو تکمیل کنید.
https://survey.porsline.ir/s/ZG3YRluN
خیلی خوب میشه اگه در حد توان خودتون از بچه های پروانه ای حمایت کنید، ممنون از محبت تون ❤️
لینک حمایت آنلاین از بچه های پروانه ای
https://ebhome.ngo/support
اینستاگرام خانه ای بی
https://instagram.com/eb_home
@gocasts
❤62👍7🔥1
Go Casts 🚀
قرعه کشی دوره GoCasts به نفع بیماران پروانه ای به مناسبت عید نیمه شعبان ❤️ اَلّلهُمَّ عَجِّل لِوَليِّکَ الفَرَج السلام علیک یا اباصالح المهدی ادرکنی میلاد آقا صاحب الزمان بر همگان مبارک ❤️❤️ به مناسبت نیمه شعبان دوره GoCasts فقط به قیمت ۲ میلیون تومان فروخته…
سلام به همه دوستان
نتیجه قرعه کشی اعلام شد و به دوستانی که برنده شدند پیامک ارسال شد
۱۰ میلیون تومان مبلغ قرعه کشی به حساب خانه ای بی واریز شد
فیش واریزی قرعه کشی های قبلی
https://news.1rj.ru/str/c/1525472919/2990
https://news.1rj.ru/str/c/1525472919/2177
https://news.1rj.ru/str/c/1525472919/2504
@gocasts
نتیجه قرعه کشی اعلام شد و به دوستانی که برنده شدند پیامک ارسال شد
۱۰ میلیون تومان مبلغ قرعه کشی به حساب خانه ای بی واریز شد
فیش واریزی قرعه کشی های قبلی
https://news.1rj.ru/str/c/1525472919/2990
https://news.1rj.ru/str/c/1525472919/2177
https://news.1rj.ru/str/c/1525472919/2504
@gocasts
❤26👍1
مقاله جالبیه که نحوه ذخیره سازی تصاویر رو نشون میده، نمونه کد گولنگی هم براش داره
How Are Images REALLY Stored?
https://cefboud.com/posts/image-formats/
@gocasts
How Are Images REALLY Stored?
https://cefboud.com/posts/image-formats/
@gocasts
👍12🔥5❤2
سلام دوستان
روز مهندس مبارک! 🌹
امیدوارم همیشه خوب و خوش و سلامت و موفق باشید و دانش مهندسی تون ارزش آفرین باشه، هم برای خودتون و هم جامعه.
یه تخفیف ویژه برای روز مهندس در نظر گرفتیم که میتونید استفاده کنید.
خرید از سایت با تخفیف ۵۰ درصد + ۵۰۰ هزار تومان با کد تخفیف ویژه روز مهندس
ENGINEER
خرید از سایت
https://gocasts.ir
همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://news.1rj.ru/str/gocasts/434
تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://news.1rj.ru/str/gocasts/441
دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم
https://survey.porsline.ir/s/ATeQL4b4
@gocasts
روز مهندس مبارک! 🌹
امیدوارم همیشه خوب و خوش و سلامت و موفق باشید و دانش مهندسی تون ارزش آفرین باشه، هم برای خودتون و هم جامعه.
یه تخفیف ویژه برای روز مهندس در نظر گرفتیم که میتونید استفاده کنید.
خرید از سایت با تخفیف ۵۰ درصد + ۵۰۰ هزار تومان با کد تخفیف ویژه روز مهندس
ENGINEER
خرید از سایت
https://gocasts.ir
همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://news.1rj.ru/str/gocasts/434
تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://news.1rj.ru/str/gocasts/441
دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم
https://survey.porsline.ir/s/ATeQL4b4
@gocasts
❤18😍3👍2
آقا نکنید… چرا کاری میکنی همه مصاحبه هارو هم حضوری کنن 🙂
جای شما تو مصاحبه لایو کد، کد میزنه، رو پلتفرم های زیادی هم کار میکنه…
Interview Coder is an invisible AI for technical interviews.
https://www.interviewcoder.co/
@gocasts
جای شما تو مصاحبه لایو کد، کد میزنه، رو پلتفرم های زیادی هم کار میکنه…
Interview Coder is an invisible AI for technical interviews.
https://www.interviewcoder.co/
@gocasts
👍34
Forwarded from فرصت شغلی گولنگ و فناوری
We are currently looking for Senior Developers in the following technologies:
✅ React
✅ .NET
✅ Python/Django
✅ Java
✅ .NET/Angular (Full-Stack Developer)
Requirements:
5+ years of experience in software development
Strong expertise in one of the listed technologies
Solid understanding of best coding practices, design patterns, and architecture principles
Experience working with agile methodologies
Fluent in English (both written and verbal)
Strong problem-solving skills and ability to work independently or in a team
What We Offer:
Competitive salary (2000$ - 3000$)
Working in a full remote environment
Opportunity to work with cutting-edge technologies
A talented and supportive team to collaborate with
Growth and learning opportunities
If you’re ready to take your career to the next level, apply today! 🚀
📩 Send your CV to msajjad.jm@gmail.com
@gocasts
✅ React
✅ .NET
✅ Python/Django
✅ Java
✅ .NET/Angular (Full-Stack Developer)
Requirements:
5+ years of experience in software development
Strong expertise in one of the listed technologies
Solid understanding of best coding practices, design patterns, and architecture principles
Experience working with agile methodologies
Fluent in English (both written and verbal)
Strong problem-solving skills and ability to work independently or in a team
What We Offer:
Competitive salary (2000$ - 3000$)
Working in a full remote environment
Opportunity to work with cutting-edge technologies
A talented and supportive team to collaborate with
Growth and learning opportunities
If you’re ready to take your career to the next level, apply today! 🚀
📩 Send your CV to msajjad.jm@gmail.com
@gocasts
❤11👍1
Forwarded from Ai Casts | Ai for Software
هوش مصنوعی حوزه های تخصصی خیلی متنوعی داره، سرعت تغییرش هم وحشتناک زیاده، تو Ai Casts سعی میکنیم تمرکزمون حول محور نقش ai برای توسعه software باشه.
الگوها و practiceهایی که ai بوجود میاره، در مراحل طراحی، پیاده سازی و استفاده از software تاثیر بسزایی داره و بهتره که سعی کنیم این الگوهارو یاد بگیریم و ازشون استفاده کنیم.
یه گروه هم ساخته شده که راحت تر بتونیم با همدیگه در مورد موضوعات مرتبط صحبت کنیم.
از طریق این id میتونید عضو گروه بشید.
@ai_software_eng
کانال AiCasts
@aicasts_ir
کانال GoCasts
@gocasts
الگوها و practiceهایی که ai بوجود میاره، در مراحل طراحی، پیاده سازی و استفاده از software تاثیر بسزایی داره و بهتره که سعی کنیم این الگوهارو یاد بگیریم و ازشون استفاده کنیم.
یه گروه هم ساخته شده که راحت تر بتونیم با همدیگه در مورد موضوعات مرتبط صحبت کنیم.
از طریق این id میتونید عضو گروه بشید.
@ai_software_eng
کانال AiCasts
@aicasts_ir
کانال GoCasts
@gocasts
👍8❤5
This media is not supported in your browser
VIEW IN TELEGRAM
عجب چیز خوبیه این lazygit، با گولنگ نوشته شده
https://github.com/jesseduffield/lazygit
رابط کاربری تر و تمیزی داره، لذت بردم
قبلا هم ازش lazydocker رو معرفی کرده بودم اینجا
https://news.1rj.ru/str/gocasts/598
@gocasts
Ai for Software
@aicasts_ir
https://github.com/jesseduffield/lazygit
رابط کاربری تر و تمیزی داره، لذت بردم
قبلا هم ازش lazydocker رو معرفی کرده بودم اینجا
https://news.1rj.ru/str/gocasts/598
@gocasts
Ai for Software
@aicasts_ir
👍23❤8
استراترژی های cache eviction متنوع هستند و ما معمولا از ساده ترین و دم دست ترین گزینه که eviction by ttl هست استفاده می کنیم. اما شیوه های مختلفی از eviction وجود داره که میتونه کاربردی باشه. مثلا فرض کنید یه فروشگاه دارید که اطلاعات هر محصول رو کش می کنید با ttl مشخص، احتمالا لود این محصولات یکسان نیست و ممکنه محصولی باشه که خیلی دیده میشه و یک محصولی هست که خیلی دیر به دیر دیده میشه، تو این شرایط بهتره سیاست هوشمندانه تری برای eviction داشته باشیم.
1. Least Recently Used (LRU):
- Evicts the least recently accessed items first.
- Assumes that items accessed recently are more likely to be accessed again soon.
- Implemented using a linked list and a hash map for efficient access and updates.
2. First In, First Out (FIFO):
- Evicts the oldest items in the cache first, regardless of how often or recently they were accessed.
- Implemented using a queue.
3. Least Frequently Used (LFU):
- Evicts the least frequently accessed items first.
- Assumes that items accessed frequently are more likely to be accessed again.
- Can be implemented using a min-heap and a hash map.
4. Most Recently Used (MRU):
- Evicts the most recently accessed items first.
- Useful in scenarios where older items are more likely to be accessed again.
- Implemented using a linked list and a hash map.
5. Random Replacement (RR):
- Evicts a random item from the cache.
- Simple to implement but may not be as efficient in terms of cache performance.
6. Least Recently Used with Time-to-Live (LRU-TTL):
- Combines LRU with a time-to-live (TTL) value for each item.
- Evicts items that have expired (TTL has elapsed) first, then falls back to LRU.
7. Segmented LRU (SLRU):
- Divides the cache into two segments: a probationary segment and a protected segment.
- New items enter the probationary segment and are promoted to the protected segment upon subsequent accesses.
- Evicts items from the probationary segment first.
8. 2Q (Two Queues):
- Uses two queues: one for items accessed once (A1 queue) and one for items accessed multiple times (Am queue).
- Evicts items from the A1 queue first, promoting items to the Am queue upon subsequent accesses.
9. Clock (Second Chance):
- Uses a circular buffer (clock) and a reference bit for each item.
- Evicts items with a reference bit of 0, giving items with a reference bit of 1 a "second chance" by resetting their bit.
10. Adaptive Replacement Cache (ARC):
- Combines LRU and LFU to adaptively balance between recency and frequency.
- Maintains two lists: one for recently accessed items and one for frequently accessed items.
- Adjusts the size of these lists dynamically based on access patterns.
11. Greedy-Dual Size (GDS):
- Evicts items based on a cost-to-size ratio, considering both the cost of fetching the item and its size.
- Useful for caches where items have varying sizes and fetch costs.
12. Time-Aware Least Recently Used (TLRU):
- Extends LRU by considering the time of access and the duration since the last access.
- Evicts items that have not been accessed for the longest time.
13. Write-Once:
- Specifically for write caches, evicts items that have been written once and not read.
- Useful in scenarios where write operations are more frequent than read operations.
14. Not Recently Used (NRU):
- Evicts items that have not been used recently, based on a simple heuristic.
- Often implemented using a single reference bit per item.
15. Low Inter-reference Recency Set (LIRS):
- Focuses on the inter-reference recency, which is the time between consecutive accesses to the same item.
- Evicts items with low inter-reference recency.
این مقاله هم خوبه که مطالعه بشه
https://newsletter.systemdesigncodex.com/p/cache-eviction-strategies
@gocasts
Ai for Software
@aicasts_ir
1. Least Recently Used (LRU):
- Evicts the least recently accessed items first.
- Assumes that items accessed recently are more likely to be accessed again soon.
- Implemented using a linked list and a hash map for efficient access and updates.
2. First In, First Out (FIFO):
- Evicts the oldest items in the cache first, regardless of how often or recently they were accessed.
- Implemented using a queue.
3. Least Frequently Used (LFU):
- Evicts the least frequently accessed items first.
- Assumes that items accessed frequently are more likely to be accessed again.
- Can be implemented using a min-heap and a hash map.
4. Most Recently Used (MRU):
- Evicts the most recently accessed items first.
- Useful in scenarios where older items are more likely to be accessed again.
- Implemented using a linked list and a hash map.
5. Random Replacement (RR):
- Evicts a random item from the cache.
- Simple to implement but may not be as efficient in terms of cache performance.
6. Least Recently Used with Time-to-Live (LRU-TTL):
- Combines LRU with a time-to-live (TTL) value for each item.
- Evicts items that have expired (TTL has elapsed) first, then falls back to LRU.
7. Segmented LRU (SLRU):
- Divides the cache into two segments: a probationary segment and a protected segment.
- New items enter the probationary segment and are promoted to the protected segment upon subsequent accesses.
- Evicts items from the probationary segment first.
8. 2Q (Two Queues):
- Uses two queues: one for items accessed once (A1 queue) and one for items accessed multiple times (Am queue).
- Evicts items from the A1 queue first, promoting items to the Am queue upon subsequent accesses.
9. Clock (Second Chance):
- Uses a circular buffer (clock) and a reference bit for each item.
- Evicts items with a reference bit of 0, giving items with a reference bit of 1 a "second chance" by resetting their bit.
10. Adaptive Replacement Cache (ARC):
- Combines LRU and LFU to adaptively balance between recency and frequency.
- Maintains two lists: one for recently accessed items and one for frequently accessed items.
- Adjusts the size of these lists dynamically based on access patterns.
11. Greedy-Dual Size (GDS):
- Evicts items based on a cost-to-size ratio, considering both the cost of fetching the item and its size.
- Useful for caches where items have varying sizes and fetch costs.
12. Time-Aware Least Recently Used (TLRU):
- Extends LRU by considering the time of access and the duration since the last access.
- Evicts items that have not been accessed for the longest time.
13. Write-Once:
- Specifically for write caches, evicts items that have been written once and not read.
- Useful in scenarios where write operations are more frequent than read operations.
14. Not Recently Used (NRU):
- Evicts items that have not been used recently, based on a simple heuristic.
- Often implemented using a single reference bit per item.
15. Low Inter-reference Recency Set (LIRS):
- Focuses on the inter-reference recency, which is the time between consecutive accesses to the same item.
- Evicts items with low inter-reference recency.
این مقاله هم خوبه که مطالعه بشه
https://newsletter.systemdesigncodex.com/p/cache-eviction-strategies
@gocasts
Ai for Software
@aicasts_ir
Systemdesigncodex
Cache Eviction Strategies
Choose the right one for your application
👍24❤6
تخفیف فوق العاده ویژه عید نوروز 🎁
سلام به همه دوستان، پیشاپیش عید نوروز بر همگی مبارک
ان شاءالله سال خیلی خوب و پربرکتی رو پیش رو داشته باشید. ❤️
تخفیف فوق العاده ویژه عید نوروز ۱۴۰۴
۵۰ درصد + ۱ میلیون تومان تخفیف
کد نوروز
NOWRUZ
خرید از سایت
https://gocasts.ir
همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://news.1rj.ru/str/gocasts/434
تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://news.1rj.ru/str/gocasts/441
دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم
https://survey.porsline.ir/s/ATeQL4b4
تصویر از سایت گرافی ماین
https://graphimine.com
@gocasts
Ai for Software
@aicasts_ir
سلام به همه دوستان، پیشاپیش عید نوروز بر همگی مبارک
ان شاءالله سال خیلی خوب و پربرکتی رو پیش رو داشته باشید. ❤️
تخفیف فوق العاده ویژه عید نوروز ۱۴۰۴
۵۰ درصد + ۱ میلیون تومان تخفیف
کد نوروز
NOWRUZ
خرید از سایت
https://gocasts.ir
همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://news.1rj.ru/str/gocasts/434
تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://news.1rj.ru/str/gocasts/441
دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم
https://survey.porsline.ir/s/ATeQL4b4
تصویر از سایت گرافی ماین
https://graphimine.com
@gocasts
Ai for Software
@aicasts_ir
❤16👍6
تا میتونید خودتون رو قدرتمند کنید با استفاده از ابزارهای code assistant مثل claude و cursor و copilot
سرعت توسعه تون رو باید ارتقا بدید، این احتمالا جز اولین چیزاییه که باید با ai یاد بگیرید.
این مقاله هم جالبه بخونید
Cursor for Large Projects
https://getstream.io/blog/cursor-ai-large-projects/
از ai نترسید، فقط سعی کنید بغلش کنید :)
خود این مقاله هم میگه که
Engineering jobs are not going away anytime soon. In fact, we’re hiring faster than ever before—Golang engineers/lead/staff/director in Amsterdam/Boulder/remote.
پس محکم برید جلو
حواستون باشه که ابزارهای code assistant شمارو غافل نکنه از اینکه تو یادگیری تخصص تون تنبل بشید، بگید خب دیگه ai جای من بلده…
خرید دوره بکند و گولنگ gocasts با تخفیف ویژه نوروز 👇
https://news.1rj.ru/str/gocasts/633
@gocasts
Ai for Software
@aicasts_ir
سرعت توسعه تون رو باید ارتقا بدید، این احتمالا جز اولین چیزاییه که باید با ai یاد بگیرید.
این مقاله هم جالبه بخونید
Cursor for Large Projects
https://getstream.io/blog/cursor-ai-large-projects/
از ai نترسید، فقط سعی کنید بغلش کنید :)
خود این مقاله هم میگه که
Engineering jobs are not going away anytime soon. In fact, we’re hiring faster than ever before—Golang engineers/lead/staff/director in Amsterdam/Boulder/remote.
پس محکم برید جلو
حواستون باشه که ابزارهای code assistant شمارو غافل نکنه از اینکه تو یادگیری تخصص تون تنبل بشید، بگید خب دیگه ai جای من بلده…
خرید دوره بکند و گولنگ gocasts با تخفیف ویژه نوروز 👇
https://news.1rj.ru/str/gocasts/633
@gocasts
Ai for Software
@aicasts_ir
👍30❤6🔥2
Forwarded from Ai Casts | Ai for Software
خب بریم سراغ اولین مقاله ای که درباره الگوهای Generative AI در نرم افزار صحبت میکنه
یکی از نویسندگان این مقاله Martin Fowler معروفه
عنوان مقاله هست
Emerging Patterns in Building GenAI Products
این مقاله به بررسی الگوها و روشهای مختلف برای استفاده مؤثر از GenAI در توسعه نرمافزار و سایر حوزهها میپردازه. این مقاله integrate شدن GenAI، به ویژه مدلهای زبانی بزرگ (LLM) در workflowها رو برای افزایش بهرهوری، خلاقیت و حل مسئله بررسی میکنه.
در تصویر، لیستی از الگوهایی که مقاله به بررسی اونها پرداخته رو میبینید که شرح بیشتر هر کدوم در مقاله ارائه شده.
این مقاله تأکید میکند که GenAI ابزاری برای تقویت قابلیتهای انسانی است، نه جایگزینی برای اون، و اهمیت ادغام هوشمندانه و یادگیری مستمر رو برای به حداکثر رساندن پتانسیلش برجسته میکنه.
@gocasts
Ai for Software
@aicasts_ir
یکی از نویسندگان این مقاله Martin Fowler معروفه
عنوان مقاله هست
Emerging Patterns in Building GenAI Products
این مقاله به بررسی الگوها و روشهای مختلف برای استفاده مؤثر از GenAI در توسعه نرمافزار و سایر حوزهها میپردازه. این مقاله integrate شدن GenAI، به ویژه مدلهای زبانی بزرگ (LLM) در workflowها رو برای افزایش بهرهوری، خلاقیت و حل مسئله بررسی میکنه.
در تصویر، لیستی از الگوهایی که مقاله به بررسی اونها پرداخته رو میبینید که شرح بیشتر هر کدوم در مقاله ارائه شده.
این مقاله تأکید میکند که GenAI ابزاری برای تقویت قابلیتهای انسانی است، نه جایگزینی برای اون، و اهمیت ادغام هوشمندانه و یادگیری مستمر رو برای به حداکثر رساندن پتانسیلش برجسته میکنه.
@gocasts
Ai for Software
@aicasts_ir
👍22
ابزار کاربردی برای visualize کردن query plan کار دیباگ کردن performance کوئری های دیتابیس رو میتونه راحت تر کنه
این مقاله چند تا از این ابزارهارو معرفی کرده
Postgres query plan visualization tools
https://www.pgmustard.com/blog/postgres-query-plan-visualization-tools
@gocasts
Ai for Software
@aicasts_ir
این مقاله چند تا از این ابزارهارو معرفی کرده
Postgres query plan visualization tools
https://www.pgmustard.com/blog/postgres-query-plan-visualization-tools
@gocasts
Ai for Software
@aicasts_ir
👍19❤8🔥3
اگه سیستم تون event driven هست و یا حتی message driven، لازم دارید که message payload رو بگونه ای تعریف کنید که سرویس consumer همه اطلاعاتی که لازم دارند رو بتونن از payload بخونن.
اما همیشه به همین سادگی نیست، چالش های مختلفی وجود داره، از جمله اینکه سرویس publisher خودش هم همه اطلاعات رو نداشته باشه موقع ساخت payload، حجم اطلاعات خیلی زیاد باشه و برای broker چالش ایجاد کنه و یا اینکه اطلاعات درون payload حساس هستند و به دلایل امنیتی نمیشه پاسشون داد.
تو اینطور مواقع الگوی claim check میتونه کمک کنه.
هر چند خودش هم عیب هایی داره مثل وابسته شدن به سرویس های خارجی.
مثل همیشه، الگوهای مهندسی نرم افزار صفر و یک نیستند و باید trade-off ها رو بسنجید و تصمیم بگیرید.
What is the Claim-Check Pattern in Event-Driven Systems?
Understanding How to Handle Large & Sensitive Payloads in Distributed Systems
https://newsletter.scalablethread.com/p/what-is-the-claim-check-pattern-in
@gocasts
Ai for Software
@aicasts_ir
اما همیشه به همین سادگی نیست، چالش های مختلفی وجود داره، از جمله اینکه سرویس publisher خودش هم همه اطلاعات رو نداشته باشه موقع ساخت payload، حجم اطلاعات خیلی زیاد باشه و برای broker چالش ایجاد کنه و یا اینکه اطلاعات درون payload حساس هستند و به دلایل امنیتی نمیشه پاسشون داد.
تو اینطور مواقع الگوی claim check میتونه کمک کنه.
هر چند خودش هم عیب هایی داره مثل وابسته شدن به سرویس های خارجی.
مثل همیشه، الگوهای مهندسی نرم افزار صفر و یک نیستند و باید trade-off ها رو بسنجید و تصمیم بگیرید.
What is the Claim-Check Pattern in Event-Driven Systems?
Understanding How to Handle Large & Sensitive Payloads in Distributed Systems
https://newsletter.scalablethread.com/p/what-is-the-claim-check-pattern-in
@gocasts
Ai for Software
@aicasts_ir
👍30
یه تجربه خوبی که روی طراحی یه سیستم با لود زیاد داشتم این بود که تا تونستم در دو سه مرحله قدم به قدم سیستم رو fault tolerant کردم.
من تلاش میکنم تو طراحی، ذهینت let it crash داشته باشم، یعنی یه سری safe point در نظر بگیرم تو سیستم که خیالم راحت باشه اگه پردازش در مراحل مختلف به مشکل خورد، یه نقطه امنی هست که پردازش بتونه recover بشه و ادامه پیدا کنه.
یه نکته مهمی که وجود داره اینه که باید توجه کنیم ذهنیت let it crash با ذهنیت defensive programming در تضاد نیست.
همانطور که در لایه های زیرین declerative programming یه پیاده سازی imperative وجود داره، هر طراحی let it crashی یه پیاده سازی defensive programming میخواد، که مطمئن بشی اون نقاط امن بدرستی state رو ذخیره میکنن. برای defensive programming هم لازمه یه تعداد از خطاها رو مدیریت کنید، دقت کنید امکانپذیر نیست همه خطاهارو مدیریت کنید، تعداد محدودی که درصد قابل قبولی از خطاها رو شامل میشه باید پوشش بدید.
Handling Failures in Distributed Systems
https://betterengineers.substack.com/p/handling-failures-in-distributed
@gocasts
Ai for Software
@aicasts_ir
من تلاش میکنم تو طراحی، ذهینت let it crash داشته باشم، یعنی یه سری safe point در نظر بگیرم تو سیستم که خیالم راحت باشه اگه پردازش در مراحل مختلف به مشکل خورد، یه نقطه امنی هست که پردازش بتونه recover بشه و ادامه پیدا کنه.
یه نکته مهمی که وجود داره اینه که باید توجه کنیم ذهنیت let it crash با ذهنیت defensive programming در تضاد نیست.
همانطور که در لایه های زیرین declerative programming یه پیاده سازی imperative وجود داره، هر طراحی let it crashی یه پیاده سازی defensive programming میخواد، که مطمئن بشی اون نقاط امن بدرستی state رو ذخیره میکنن. برای defensive programming هم لازمه یه تعداد از خطاها رو مدیریت کنید، دقت کنید امکانپذیر نیست همه خطاهارو مدیریت کنید، تعداد محدودی که درصد قابل قبولی از خطاها رو شامل میشه باید پوشش بدید.
Handling Failures in Distributed Systems
https://betterengineers.substack.com/p/handling-failures-in-distributed
@gocasts
Ai for Software
@aicasts_ir
👍34❤4
تیمسازی ۴ به مپ سرور رسید.
اسم ش رو «رُهام» گذاشتیم.
https://github.com/gocastsian/roham
در طول ۱۷ ماه گذشته در gocasts سه تا پروژه تیمسازی رو جلو بردیم، که پروژه تیمسازی ۱ و ۲ دیگه ادامه نداره، تیمسازی ۳ به صورت جدی ادامه داره و در کنارش به تازگی تیمسازی ۴ رو شروع کردیم که تلاش میکنیم یه مپ سرور رو پیاده سازی کنیم. یکی از دوستان با تجربه در همین حوزه هم کنارمون هست که بتونیم بهتر کار رو جلو ببریم.
مثل بقیه پروژه های تیمسازی ذهنیتمون این نیست که این پروژه حتما کامل بشه و لانچ بشه و غیره، میدونیم که همین که در مسیرش هستیم کلی نکته یاد خواهیم گرفت. اینکه تا کجا پیش میریم خدا داند.
@gocasts
اسم ش رو «رُهام» گذاشتیم.
https://github.com/gocastsian/roham
در طول ۱۷ ماه گذشته در gocasts سه تا پروژه تیمسازی رو جلو بردیم، که پروژه تیمسازی ۱ و ۲ دیگه ادامه نداره، تیمسازی ۳ به صورت جدی ادامه داره و در کنارش به تازگی تیمسازی ۴ رو شروع کردیم که تلاش میکنیم یه مپ سرور رو پیاده سازی کنیم. یکی از دوستان با تجربه در همین حوزه هم کنارمون هست که بتونیم بهتر کار رو جلو ببریم.
مثل بقیه پروژه های تیمسازی ذهنیتمون این نیست که این پروژه حتما کامل بشه و لانچ بشه و غیره، میدونیم که همین که در مسیرش هستیم کلی نکته یاد خواهیم گرفت. اینکه تا کجا پیش میریم خدا داند.
@gocasts
👍24❤5
This media is not supported in your browser
VIEW IN TELEGRAM
تصور کن کردیا جان، دختر ده ساله به این نازنینی تا به اینجای زندگی ش فقط ۵ بار عمل بالن انجام داده و ما چه می دانیم عمل بالن چیه
اگه برای حمایت مادی و معنوی از مظلوم ترین و معصوم ترین بچه های دنیا آماده اید، بسم الله، یه یا علی بگیم و شروع کنیم. ببینم چند نفریم، تا میتونید بازنشر بدید، کامنت بذارید و کمک کنید
در خانه ای بی حمایت های شما صرف هزینه های درمانی و معیشتی بیماران پروانه ای میشه، هر گونه سند و مدرکی هم لازم باشه ارائه میشه خدمت تون
لینک حمایت
https://ebhome.ngo/support?utm_campaign=gocasts140312
پیج اینستاگرام خانه ای بی
https://www.instagram.com/reel/DDr-RqRoqBI/?igsh=MW56MWh2cHJidDI5bA==
ان شاءالله که به برکت نگاه مهربان همین بچه ها سال جدید بهترین سال زندگی تون باشه ❤️❤️❤️
@gocasts
اگه برای حمایت مادی و معنوی از مظلوم ترین و معصوم ترین بچه های دنیا آماده اید، بسم الله، یه یا علی بگیم و شروع کنیم. ببینم چند نفریم، تا میتونید بازنشر بدید، کامنت بذارید و کمک کنید
در خانه ای بی حمایت های شما صرف هزینه های درمانی و معیشتی بیماران پروانه ای میشه، هر گونه سند و مدرکی هم لازم باشه ارائه میشه خدمت تون
لینک حمایت
https://ebhome.ngo/support?utm_campaign=gocasts140312
پیج اینستاگرام خانه ای بی
https://www.instagram.com/reel/DDr-RqRoqBI/?igsh=MW56MWh2cHJidDI5bA==
ان شاءالله که به برکت نگاه مهربان همین بچه ها سال جدید بهترین سال زندگی تون باشه ❤️❤️❤️
@gocasts
❤73👍6
Forwarded from Ai Casts | Ai for Software
MCP آشنایی با
چند وقتی هست که شرکت Anthropic سازنده Cluade AI یک استانداردی رو معرفی کرده به اسم Model Context Protocol
خیلی خلاصه بخوام بگم MCP یه راه استاندارد برای integration هست که به AI systemها مثل Cluade اجازه بده به external resourceها مثل دیتابیس، api و غیره وصل بشن برای استخراج اطلاعات.
خودشون اینطوری معرفی کردن که MCP رو چیزی شبیه پورت USB-C ببینید برای اپلیکیشن های ai.
همانطور که پورت usb-c روی دستگاه ها یه روش استاندارد وصل کردن اونا به لوازم جانبی هست، MCP هم یه راه استاندارد برای اتصال مدل های ai به منابع و ابزار متفاوت و متنوع هست.
۳ تا کامپوننت اصلی داره:
هاست یا همون ai application مثل cluade
کلاینت MCP که توسط ai model استفاده میشه تا با منابع خارجی ارتباط بگیره
سرور MCP که مسئولیت برقراری ارتباط بین کلاینت MCP و منبع خارجی رو داره
مزیت ش چیه؟
به شما اجازه میده که ایجنت ها و workflowهای پیچیده بر روی LLMها بسازید و بین LLMهای مختلف سوییچ کنید.
https://modelcontextprotocol.io/introduction
@gocasts
Ai for Software
@aicasts_ir
چند وقتی هست که شرکت Anthropic سازنده Cluade AI یک استانداردی رو معرفی کرده به اسم Model Context Protocol
خیلی خلاصه بخوام بگم MCP یه راه استاندارد برای integration هست که به AI systemها مثل Cluade اجازه بده به external resourceها مثل دیتابیس، api و غیره وصل بشن برای استخراج اطلاعات.
خودشون اینطوری معرفی کردن که MCP رو چیزی شبیه پورت USB-C ببینید برای اپلیکیشن های ai.
همانطور که پورت usb-c روی دستگاه ها یه روش استاندارد وصل کردن اونا به لوازم جانبی هست، MCP هم یه راه استاندارد برای اتصال مدل های ai به منابع و ابزار متفاوت و متنوع هست.
۳ تا کامپوننت اصلی داره:
هاست یا همون ai application مثل cluade
کلاینت MCP که توسط ai model استفاده میشه تا با منابع خارجی ارتباط بگیره
سرور MCP که مسئولیت برقراری ارتباط بین کلاینت MCP و منبع خارجی رو داره
مزیت ش چیه؟
به شما اجازه میده که ایجنت ها و workflowهای پیچیده بر روی LLMها بسازید و بین LLMهای مختلف سوییچ کنید.
https://modelcontextprotocol.io/introduction
@gocasts
Ai for Software
@aicasts_ir
❤10👍7🔥2
استخدام دواپس (جونیور یا میدلول) - سازیتو - بصورت هیبرید
Sazito DevOps Engineer
اگر در موقعیت شغلی DevOps Engineer (جونیور یا میدلول) سابقه فعالیت دارید، لطفا رزومه خود را ارسال کنید.
نوع همکاری تمام وقت و هیبرید است.
لطفا این فرم رو پر کنید.
https://survey.porsline.ir/s/xXuaagrl
@gocasts
Sazito DevOps Engineer
اگر در موقعیت شغلی DevOps Engineer (جونیور یا میدلول) سابقه فعالیت دارید، لطفا رزومه خود را ارسال کنید.
نوع همکاری تمام وقت و هیبرید است.
لطفا این فرم رو پر کنید.
https://survey.porsline.ir/s/xXuaagrl
@gocasts
Porsline
devops-140312-sazito
با پُرسلاین به راحتی پرسشنامه خود را طراحی و ارسال کنید و با گزارشهای لحظهای آن به سرعت تصمیم بگیرید.
🔥14
استخدام نیروی سنیور گولنگ - هیبرید
اگه سوالی دارید میتونید با این آی دی تلگرام در ارتباط باشید
https://news.1rj.ru/str/Delarammajestic
Senior Software Engineer (Golang)
📍 Company: OMPFinex
📍 Location: Tehran, Iran / Hybrid
About Us
OMPFinex is a leading cryptocurrency trading platform, serving traders of all experience levels. Whether you’re a beginner exploring demo markets or an experienced trader executing complex strategies, we provide a fast, secure, and feature-rich environment tailored to your needs. Our mission is to innovate and push the boundaries of digital asset trading technology.
The Role
We are looking for a Senior Software Engineer (Golang) to play a key role in designing, developing, and optimising our trading platform. You will contribute to scalability, stack migrations, reliability improvements, and performance optimisation while working on cutting-edge financial technology.
As part of our engineering team, you will solve complex challenges such as optimising high-throughput algorithms, enhancing system architecture, and improving security measures. This role is critical to building high-performance, fault-tolerant, and scalable services for digital asset trading.
Key Responsibilities
• Design, develop, and maintain high-performance backend services using Go.
• Optimise system architecture for scalability, resilience, and low-latency execution.
• Collaborate with cross-functional teams to design and implement new trading features.
• Improve existing order matching engine and trading algorithms.
• Lead stack migrations and architectural transitions.
• Ensure robust observability, monitoring, and alerting mechanisms for critical services.
• Drive performance tuning efforts, including profiling and optimising database queries, concurrency models, and network communication.
• Develop and enforce secure coding practices to mitigate vulnerabilities in financial systems.
• Participate in code reviews, mentorship, and knowledge-sharing within the team.
Experience & Technical Expertise
✅ 6+ years of experience in software development, focusing on high-performance distributed systems and secure coding.
✅ Strong understanding of data structures, algorithms, and design patterns.
✅ Deep expertise in UNIX/Linux internals, OS fundamentals, and performance tuning.
✅ Expert-level proficiency in Golang, with experience in concurrency, IPC methods, and event-driven architectures.
✅ Experience with workflow orchestration tools like Temporal, Cadence, or Apache Airflow is a plus.
✅ Experience with message queues (Kafka, NATS, or similar) and distributed systems.
✅ Familiarity with databases (PostgreSQL, Redis, or other NoSQL/SQL solutions).
✅ Hands-on experience with containerisation (Docker, Kubernetes) and CI/CD pipelines.
✅ Knowledge of OMS (Order Management Systems) design and trading algorithms is a plus.
✅ Bonus: Experience with Rust, C, or PHP is advantageous.
Soft Skills & Work Approach
🌟 Strong problem-solving mindset with a passion for tackling technical challenges.
🌟 Excellent communication skills, with the ability to collaborate effectively in a dynamic, fast-paced environment.
🌟 Proactive and self-motivated, with a strong sense of ownership over projects.
🌟 Ability to mentor and guide junior developers while contributing to best practices.
🌟 Expert-level proficiency in English, both written and verbal, for effective communication in a global team.
How to Apply
Send your resume and a brief cover letter to hr@ompfinex.io with the subject line: Senior Software Engineer (Go) – OMPFinex.
Join us in building the future of cryptocurrency trading!
@gocasts
اگه سوالی دارید میتونید با این آی دی تلگرام در ارتباط باشید
https://news.1rj.ru/str/Delarammajestic
Senior Software Engineer (Golang)
📍 Company: OMPFinex
📍 Location: Tehran, Iran / Hybrid
About Us
OMPFinex is a leading cryptocurrency trading platform, serving traders of all experience levels. Whether you’re a beginner exploring demo markets or an experienced trader executing complex strategies, we provide a fast, secure, and feature-rich environment tailored to your needs. Our mission is to innovate and push the boundaries of digital asset trading technology.
The Role
We are looking for a Senior Software Engineer (Golang) to play a key role in designing, developing, and optimising our trading platform. You will contribute to scalability, stack migrations, reliability improvements, and performance optimisation while working on cutting-edge financial technology.
As part of our engineering team, you will solve complex challenges such as optimising high-throughput algorithms, enhancing system architecture, and improving security measures. This role is critical to building high-performance, fault-tolerant, and scalable services for digital asset trading.
Key Responsibilities
• Design, develop, and maintain high-performance backend services using Go.
• Optimise system architecture for scalability, resilience, and low-latency execution.
• Collaborate with cross-functional teams to design and implement new trading features.
• Improve existing order matching engine and trading algorithms.
• Lead stack migrations and architectural transitions.
• Ensure robust observability, monitoring, and alerting mechanisms for critical services.
• Drive performance tuning efforts, including profiling and optimising database queries, concurrency models, and network communication.
• Develop and enforce secure coding practices to mitigate vulnerabilities in financial systems.
• Participate in code reviews, mentorship, and knowledge-sharing within the team.
Experience & Technical Expertise
✅ 6+ years of experience in software development, focusing on high-performance distributed systems and secure coding.
✅ Strong understanding of data structures, algorithms, and design patterns.
✅ Deep expertise in UNIX/Linux internals, OS fundamentals, and performance tuning.
✅ Expert-level proficiency in Golang, with experience in concurrency, IPC methods, and event-driven architectures.
✅ Experience with workflow orchestration tools like Temporal, Cadence, or Apache Airflow is a plus.
✅ Experience with message queues (Kafka, NATS, or similar) and distributed systems.
✅ Familiarity with databases (PostgreSQL, Redis, or other NoSQL/SQL solutions).
✅ Hands-on experience with containerisation (Docker, Kubernetes) and CI/CD pipelines.
✅ Knowledge of OMS (Order Management Systems) design and trading algorithms is a plus.
✅ Bonus: Experience with Rust, C, or PHP is advantageous.
Soft Skills & Work Approach
🌟 Strong problem-solving mindset with a passion for tackling technical challenges.
🌟 Excellent communication skills, with the ability to collaborate effectively in a dynamic, fast-paced environment.
🌟 Proactive and self-motivated, with a strong sense of ownership over projects.
🌟 Ability to mentor and guide junior developers while contributing to best practices.
🌟 Expert-level proficiency in English, both written and verbal, for effective communication in a global team.
How to Apply
Send your resume and a brief cover letter to hr@ompfinex.io with the subject line: Senior Software Engineer (Go) – OMPFinex.
Join us in building the future of cryptocurrency trading!
@gocasts
Telegram
Delaram
MahBanoo 👑🦋
👍9❤1👏1