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👍5
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
آخرین جلسه تیمسازی در سال ۱۴۰۳ به لطف خدا برگزار شد.
فقط روی پروژه تیمسازی ۳ در طول ۹ ماه گذشته ۹۸ تا Pull-Request مرج شد و بیش از ۴۰۰ کامیت توسط افراد مختلف زده شد.
در مورد دوره و تیمسازی GoCasts مثل همیشه هیچ ادعایی ندارم و میدونم پر از عیب و نقصه، اما فکر میکنم تیمسازی به این شیوه جز GoCasts در جای دیگه ای برگزار نشده که تقریبا بالای ۸۰ درصد هفته های سال جلسات لایو code-review و طراحی سیستم برگزار بشه و تلاش بشه مخاطب با چالش هایی شبیه چالش های پروژه های واقعی روبرو بشه و خودش کد بزنه و تمرین کنه که درک بهتر و تجربه مهم تری باشه براش.
ممنون از همه دوستانی که مثل همیشه در سال ۱۴۰۳ از GoCasts حمایت کردند، ان شاءالله سال جدید برای همه بهتر از قبل پیش بره.
دم همگی گرم
مخلصم ❤️
خرید تخفیف ویژه عید نوروز ۱۴۰۴
۵۰ درصد + ۱ میلیون تومان
NOWRUZ
خرید از سایت
https://gocasts.ir
توضیحات کامل
https://news.1rj.ru/str/gocasts/633
دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم
https://survey.porsline.ir/s/ATeQL4b4
@gocasts
فقط روی پروژه تیمسازی ۳ در طول ۹ ماه گذشته ۹۸ تا Pull-Request مرج شد و بیش از ۴۰۰ کامیت توسط افراد مختلف زده شد.
در مورد دوره و تیمسازی GoCasts مثل همیشه هیچ ادعایی ندارم و میدونم پر از عیب و نقصه، اما فکر میکنم تیمسازی به این شیوه جز GoCasts در جای دیگه ای برگزار نشده که تقریبا بالای ۸۰ درصد هفته های سال جلسات لایو code-review و طراحی سیستم برگزار بشه و تلاش بشه مخاطب با چالش هایی شبیه چالش های پروژه های واقعی روبرو بشه و خودش کد بزنه و تمرین کنه که درک بهتر و تجربه مهم تری باشه براش.
ممنون از همه دوستانی که مثل همیشه در سال ۱۴۰۳ از GoCasts حمایت کردند، ان شاءالله سال جدید برای همه بهتر از قبل پیش بره.
دم همگی گرم
مخلصم ❤️
خرید تخفیف ویژه عید نوروز ۱۴۰۴
۵۰ درصد + ۱ میلیون تومان
NOWRUZ
خرید از سایت
https://gocasts.ir
توضیحات کامل
https://news.1rj.ru/str/gocasts/633
دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم
https://survey.porsline.ir/s/ATeQL4b4
@gocasts
❤22👍2👏1
سلام به همه دوستان گل، سال نو مبارک باشه 🌹
ان شاءالله سال پر خیر و برکتی پیش رو داشته باشید، سرشار از آرامش، موفقیت، عافیت، سلامتی و رفاه
ممنون از لطف و محبت همه تون، مخلص همگی ❤️
@gocasts
ان شاءالله سال پر خیر و برکتی پیش رو داشته باشید، سرشار از آرامش، موفقیت، عافیت، سلامتی و رفاه
ممنون از لطف و محبت همه تون، مخلص همگی ❤️
@gocasts
❤112👍5
سلام دوستان
امیدوارم خیلی زود حافظه مون ریکاور بشه :)
ان شاءالله که سال خیلی خوبی رو پیش رو داشته باشید، اگه دوست داشتید بگید چه ابزار، زبان یا تکنولوژی جدیدی رو قصد دارید تو سال جدید یاد بگیرید؟
@gocasts
امیدوارم خیلی زود حافظه مون ریکاور بشه :)
ان شاءالله که سال خیلی خوبی رو پیش رو داشته باشید، اگه دوست داشتید بگید چه ابزار، زبان یا تکنولوژی جدیدی رو قصد دارید تو سال جدید یاد بگیرید؟
@gocasts
❤58
تیم JetBrains دیروز مقاله ای رو منتشر کرده با این عنوان که «آیا گولنگ همچنان در حال رشده؟»
آمار جالبی رو منتشر کرده که میتونید کاملش رو تو مقاله خودشون بخونید.
مثلا گزارش شده که ۱ میلیون ۸۰۰ هزار برنامه نویس به عنوان زبان اصلی دارن از گولنگ استفاده میکنن.
نکته دیگه ای که گزارش شده اینه که میزان تقاضا برای برنامه نویس های گولنگ بالا و رو به افزایش هست و یکی از علت هاش اینه که شرکت ها بیش از پیش به سمت معماری cloud-native میرن.
Is Golang Still Growing? Go Language Popularity Trends in 2024
https://blog.jetbrains.com/research/2025/04/is-golang-still-growing-go-language-popularity-trends-in-2024/
چند وقت پیش هم گزارش نظرسنجی JetBrains برای سال ۲۰۲۴ منتشر شده که نتایج جالبش رو بررسی کرده بودیم.
https://news.1rj.ru/str/gocasts/601
@gocasts
Ai for Software
@aicasts_ir
آمار جالبی رو منتشر کرده که میتونید کاملش رو تو مقاله خودشون بخونید.
مثلا گزارش شده که ۱ میلیون ۸۰۰ هزار برنامه نویس به عنوان زبان اصلی دارن از گولنگ استفاده میکنن.
نکته دیگه ای که گزارش شده اینه که میزان تقاضا برای برنامه نویس های گولنگ بالا و رو به افزایش هست و یکی از علت هاش اینه که شرکت ها بیش از پیش به سمت معماری cloud-native میرن.
Is Golang Still Growing? Go Language Popularity Trends in 2024
https://blog.jetbrains.com/research/2025/04/is-golang-still-growing-go-language-popularity-trends-in-2024/
چند وقت پیش هم گزارش نظرسنجی JetBrains برای سال ۲۰۲۴ منتشر شده که نتایج جالبش رو بررسی کرده بودیم.
https://news.1rj.ru/str/gocasts/601
@gocasts
Ai for Software
@aicasts_ir
👍25🔥10😍4😁1
یه گروه تلگرامی داریم به اسم «اشتراک دانش دنیای ابری» که یکی از دوستان سوال جالبی در مورد ابزارهای load test پرسید.
https://news.1rj.ru/str/serversos_ir/241/999
دوستان ابزارهای جالبی رو معرفی کردن از جمله locust که برای خودم جالب بود
https://locust.io
شما هم اگه تجربه موفقی با ابزار خاصی دارید خوشحال میشم بیشتر در موردش بدونم
@gocasts
https://news.1rj.ru/str/serversos_ir/241/999
دوستان ابزارهای جالبی رو معرفی کردن از جمله locust که برای خودم جالب بود
https://locust.io
شما هم اگه تجربه موفقی با ابزار خاصی دارید خوشحال میشم بیشتر در موردش بدونم
@gocasts
locust.io
An open source load testing tool. Define user behaviour with Python code, and swarm your system with millions of simultaneous users.
👍11❤1