TGViewer
Channel Public Channel
Go Casts | Systems & Agents 🚀

Go Casts | Systems & Agents 🚀

@gocasts

Ex Snapp! Senior Software Engineer
فوق لیسانس هوش مصنوعی از دانشگاه تهران

اشتراک محتوا در مورد مهندسی نرم افزار، ایجنت های هوش مصنوعی
https://gocasts.ir

پروفایل
https://www.linkedin.com/in/gohossein

ارتباط
@lifography

Ai for Software
@aicasts_ir
Subscribers
9.92K
Photos
296
Videos
20
Links
542

Showing posts older than #429 · Back to latest

Older Posts 20 shown
Post #427 4.99K
تو این مقاله نکات جالبی رو اشاره میکنه در مورد concurrency و چرا اینقدر سخته این موضوع

یکی از چالش هایی که بهش اشاره میکنه تعداد stateهای زیاد سیستم هست که باعث میشه ما نتونیم شرایط condition race رو تو ذهنمون به درستی تحلیل کنیم.

What makes concurrency so hard?
https://buttondown.email/hillelwayne/archive/what-makes-concurrency-so-hard/

@gocasts
Buttondown What makes concurrency so hard? Is it something about human brains, or something about the problem domain?
  • 👍 14
  • 🔥 3
Post #426 6.37K
به دنبال ساختار باشید و نه چارچوب

چند روز پیش یه مربی کودک یه حرف خیلی مهمی زد با این مفهوم: «ما اینجا برای بچه ها ساختار تعیین می کنیم نه چارچوب، چارچوب یعنی حد و مرز!»
این جمله رو باید قاب کرد و زد رو دیوار، احتمالا در ابعاد خیلی زیادی از زندگی مهم باشه. در مهندسی نرم افزار و توسعه محصول هم خیلی حرف مهمیه.
بیشتر اوقات ما دنبال چارچوب هستیم در مهندسی نرم افزار، به همین دلیل وقتی خودمون رو به یه چارچوب خاص محدود می کنیم با چالش های زیادی روبرو میشیم. در حالیکه بهتره ما برای توسعه محصول ساختار داشته باشیم و طبق اصول ساختاری کار رو پیش ببریم، اینطوری چالش مون کمتر میشه.
اجازه بدید برداشت خودم از چارچوب و ساختار رو کمی بیشتر باز کنم. ساختار میشه مجموعه از قواعد رفتاری که باید سعی کنیم در توسعه محصول بهشون پایبند باشیم، در مقابل، چارچوب میشه تعیین کردن یه سری حد و مرز مشخص به شیوه ای سختگیرانه.
مثلا اگه بخوام برای توسعه یک سرویس ساختار تعیین کنم احتمالا میگم: این سرویس باید توان پاسخگویی بالایی داشته باشه، در مقابل خطا مقاوم باشه، قابلیت مقیاس پذیری داشته باشه، یک قرارداد ساده و شفاف به کلاینت ها ارائه بده و مواردی از این دست.
اما اگه بخوام چارچوب برای سرویس تعیین کنم احتمالا میگم: ما باید از ساختار کد مبتنی بر clean code یا ddd در فلان repository که خودمون یا دیگران اونو نوشتن پیروی کنیم، باید همه ورودی هارو تو پوشه port قرار بدیم، باید همه مدل هامون تو پوشه models باشه، باید از فلان روش ci/cd استفاده کنیم.

در توسعه محصول تعیین کردن حد و مرز و چارچوب میتونه خوب باشه، اما بشرطی که تعیین این حد و مرز تنها زمان پیاده سازی سرویس باشه و متعهد بشیم که کورکورانه و سختگیرانه نخوایم این چارچوب رو به همه سرویس ها و محصولات تحمیل کنیم.

خیلی از practiceهایی که معروف شدند مثل clean code و ddd و tdd و غیره هم از نظر من بیشتر به دنبال این هستند که به شما کمک کنند که برای کارتون ساختار تعیین کنید. در حالیکه اشتباهی که زیاد رخ میده اینه که ما با خوندن این مطالب احتمالا بیشتر به سمت درآوردن چارچوب میریم... همه ش به دنبال این هستیم که مثلا یه boilerplate داشته باشیم که از clean code پیروی کنه و همون رو همه جا استفاده کنیم.

من گاها به دوستان متذکر میشم که خوندن این الگوها و منابع خیلی خوبه، به شرطی که شما سعی کنی جان کلام و دغدغه اصلی رو متوجه بشی، نه اینکه سعی کنی به دنبال یک راه حل فست فودی و چارچوب مشخص و معین باشی که کورکورانه همه جا ازش استفاده کنی.

شما وقتی برای کارت ساختار داشته باشی میتونی انعطاف پذیر باشی و بسته به نیازت چارچوب تعیین کنی، اما اگه بخوای یه چارچوب معین رو همه جا رعایت کنی احتمالا یه جاهایی اصول ساختاری خودت رو مجبور میشی زیر پا بذاری چون هیچ چارچوب واحدی وجود نداره که برای همه نیازها مناسب باشه.

@gocasts
  • 👍 55
  • 🔥 8
  • ❤ 6
Post #425 4.14K
در یکی دیگر از جلسات تیمسازی لازم شد که برای داشتن distributed lock از etcd استفاده بشه. در همین راستا بررسی کردیم که etcd به چه صورت clusterی از nodeهارو به کمک الگوریتم raft در راستای ha کردن سرویس ش مدیریت میکنه.

https://youtu.be/cJxig3guMvc

@gocasts
YouTube توضیحاتی در مورد الگوریتم raft در یکی دیگر از جلسات تیمسازی لازم شد که برای داشتن distributed lock از etcd استفاده بشه. در همین راستا بررسی کردیم که etcd به چه صورت clusterی از nodeهارو به کمک الگوریتم raft در راستای ha کردن سرویس ش مدیریت میکنه. شما با ثبت نام در دوره، علاوه بر ویدیوهای…
  • 👍 18
Post #420 5.92K
سلام دوستان، یه منبع بهتون معرفی میکنم که کلی tips کوچیک و باحال ارائه داده که بهتون کمک میکنه کد گولنگی بهتری بنویسید.

Go Practical Tips
https://github.com/func25/go-practical-tips/blob/main/tips.md

@gocasts
GitHub go-practical-tips/tips.md at main · func25/go-practical-tips Go Practical Tips. Contribute to func25/go-practical-tips development by creating an account on GitHub.
  • 🔥 24
  • 👍 14
Post #419 4.06K
Go Casts | Systems & Agents 🚀 سلام دوستان عزیز مسلط به گولنگ که به دنبال طرح‌های کسر خدمت، جایگزین خدمت و سرباز فناور جهت گذراندن خدمت سربازی بصورت تخصصی هستند. در صورت تمایل رزومه شون رو برای این ایمیل بفرستند. rasadco.hr@gmail.com @gocasts
سلام
قابل توجه دوستان عزیز مسلط به برنامه نویسی که قصد گذراندن خدمت سربازی را دارند و دنبال طرح‌های کسر خدمت ، جایگزین خدمت و سرباز فناور جهت گذراندن خدمت بصورت تخصصی در موقعیت تهران هستند.

با اولویت زبان های برنامه نویسی:
جاوا
انگولار
گولنگ
کاتلین

در صورت تمایل رزومه شون رو برای این ایمیل بفرستند.
ارتباط فقط از طریق ایمیل
rasadco.hr@gmail.com


@gocasts
Telegram Go Casts | Systems & Agents 🚀 Ex Snapp! Senior Software Engineer فوق لیسانس هوش مصنوعی از دانشگاه تهران اشتراک محتوا در مورد مهندسی نرم افزار، ایجنت های هوش مصنوعی https://gocasts.ir پروفایل https://www.linkedin.com/in/gohossein ارتباط @lifography Ai for Software @aicasts_ir
  • ❤ 1
  • 🔥 1
Post #418 4.14K
سلام
دوستان عزیز مسلط به گولنگ که به دنبال طرح‌های کسر خدمت، جایگزین خدمت و سرباز فناور جهت گذراندن خدمت سربازی بصورت تخصصی هستند.
در صورت تمایل رزومه شون رو برای این ایمیل بفرستند.

rasadco.hr@gmail.com

@gocasts
  • 👍 7
Post #417 4.94K
Post #416 3.74K
Go Casts | Systems & Agents 🚀 تیمسازی Go Casts در تیمسازی چه خبره؟ لینک ویدیو در یوتیوب https://youtu.be/RGnk4gn_AB0 هیچ دوره و منبع آموزشی ای نمیتونه شمارو برنامه نویس کنه، اینا همه ش تسهیل کننده هستند، و اول و آخر این خودتونید که با دیدن و خوندن آموزش، کد زدن و تمرین کردن و تجربه…
📌 تجربه استخدام

به به، چه حسی بهتر از اینکه بچه ها میتونن به هدفشون برسن 🚀
ممنون از امیرحسین جان که تجربه استخدام خودش رو با ما به اشتراک گذاشت
این لینک لینکدین امیرحسین هست
https://www.linkedin.com/in/amirhosein-mir-mohammadi-42b49820b/

این اطلاعات هم ممکنه به شما کمک کنه

وضعیت تحصیلی: دانشجوی لیسانس مهندسی کامپیوتر که اخیرا فارغ التحصیل شده
مدت آموزش: حدودا ۶ ماه
منابع آموزش: آموزش های بوتکمپ و منابع دیگه
تیمسازی: فعالیت در پروژه تیمسازی ۱

چند ماه تلاش کردی واسه استخدام؟ تقریبا ۴ ماه
چندتا رزومه ارسال کردی؟ ۳۰ الی ۵۰
چندتا دعوت به مصاحبه شدی؟ ۳ تا
چندتا رو قبولی شدی؟ ۱

شرایط کار: حضوری و تهران

@gocasts
  • ❤ 14
  • 🔥 8
  • 👍 3
Post #415 3.19K
Go Casts | Systems & Agents 🚀 سلام به همه دوستان دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم https://survey.porsline.ir/s/ATeQL4b4 توضیحات مفصل صوتی در مورد دوره و تیمسازی https://t.me/gocasts/369 نمونه فیلم های دوره…
تیمسازی Go Casts

در تیمسازی چه خبره؟

لینک ویدیو در یوتیوب
https://youtu.be/RGnk4gn_AB0

هیچ دوره و منبع آموزشی ای نمیتونه شمارو برنامه نویس کنه، اینا همه ش تسهیل کننده هستند، و اول و آخر این خودتونید که با دیدن و خوندن آموزش، کد زدن و تمرین کردن و تجربه کردن پروژه، میتونید به برنامه نویسی مسلط بشید.
تیمسازی بستری هست که تلاش میکنه محیطی رو برای شما فراهم کنه که شما خودتون بتونید کد بزنید و تجربه کسب کنید.

این ویدیو یکی از جلسات تیمسازی هست، البته همه جلسات اینقدر بار فنی ندارند، ما سعی میکنیم در تیمسازی در مورد جوانب مختلف تولید محصول نرم افزاری صحبت کنیم.

شما با ثبت نام در دوره، علاوه بر ویدیوهای آموزشی، به ویدیوی جلسات تیمسازی هم دسترسی دارید و میتوانید خودتون هم در تیمسازی شرکت کنید، کد بزنید و تجربه کسب کنید.


لینک جزییات دوره و تیمسازی بکند و گولنگ
https://gocasts.ir/gocasts-bootcamp-140110

توضیحات مفصل صوتی در مورد دوره و تیمسازی
https://t.me/gocasts/369

نمونه فیلم های دوره
https://t.me/gocasts/367

ضمانت بازگشت وجه
https://t.me/gocasts/370

پرسش و پاسخ
https://t.me/gocasts/337

@gocasts
YouTube تیمسازی Go Casts در تیمسازی چه خبره؟ هیچ دوره و منبع آموزشی ای نمیتونه شمارو برنامه نویس کنه، اینا همه ش تسهیل کننده هستند، و اول و آخر این خودتونید که با دیدن و خوندن آموزش، کد زدن و تمرین کردن و تجربه کردن پروژه، میتونید به برنامه نویسی مسلط بشید. تیمسازی بستری هست که…
  • ❤ 1
Post #414 3.04K
Go Casts | Systems & Agents 🚀 تخفیف عید فطر - آخرین تخفیف به قیمت سال گذشته سلام به همگی، عید سعید فطر مبارک توضیحات مفصل صوتی در مورد دوره و تیمسازی https://t.me/gocasts/369 نمونه فیلم های دوره https://t.me/gocasts/367 ضمانت بازگشت وجه https://t.me/gocasts/370 پرسش و پاسخ https…
سلام به همه دوستان

دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم
https://survey.porsline.ir/s/ATeQL4b4


توضیحات مفصل صوتی در مورد دوره و تیمسازی
https://t.me/gocasts/369

نمونه فیلم های دوره
https://t.me/gocasts/367

ضمانت بازگشت وجه
https://t.me/gocasts/370

پرسش و پاسخ
https://t.me/gocasts/337

لینک جزییات دوره
https://gocasts.ir/gocasts-bootcamp-140110


@gocasts
Porsline مشاوره رایگان خرید دوره با پُرس‌لاین به راحتی پرسشنامه خود را طراحی و ارسال کنید و با گزارش‌های لحظه‌ای آن به سرعت تصمیم بگیرید.
  • ❤ 4
  • 🔥 3
  • 👍 2
Post #413 3.57K
سلام
یکی از دوستان موقعیت شغلی ای که ویزا اسپانسرشیپ رو داره معرفی کرده، اگه به کارتون میاد بررسی کنید

بقیه رو اینجا منتشر میکنم که کانال شلوغ نشه
@golangjobs_ir

#job_offer

Senior Golang Engineer (all genders) in SPAIN

company: urban sports club


Our offer to you

Relocation support for you and your family
An interesting Tech Stack. Check it out here.
We’re working in hybrid mode offering you flexibility to work onsite and from home
WorkOUT Life Balance: 30 days paid vacation per year, flexible working hours, free access to our Employee Assistance Program, plus up to 3 months of remote working from anywhere in the EU, desk swap policy allowing additional remote working time from our other European offices
Regular team events and other initiatives helping employees to stay productive, healthy and engaged during hybrid mode
Personal development perks including regular internal trainings, German and English language classes
Many additional perks including: choice of computer/technology, employee referral bonuses, monthly home office allowance, private health insurance, and more
A free Urban Sports Club L Pro Membership

https://jaabz.com/jobs/3873-senior-golang-engineer-all-genders

@gocasts
Jaabz Senior Golang Engineer (all genders) - urban sports club The opportunity We're so much more than just a sports aggregator platform. We're on a mission to disrupt the way people connect with sports, and we do it with a...
  • 👍 13
  • 🔥 6
Post #412 3.8K
Go Casts | Systems & Agents 🚀 بسی لذت بردم از خوندن این مقاله درس بزرگش استفاده از راه حال های خیلی ساده حتی برای scale خیلی بزرگی مثل pinterest هست یکی از نکات جالب این مقاله استفاده از دیتابیس های master بود و از slave فقط برای بکاپ استفاده میکردن، همه read و writeهای production روی…
تیم مهندسی فیگما تصمیم گرفته که راه حل sharding خودش رو پیاده سازی کنه، بحث sharding یکی از چالش هایی هست که در استفاده از دیتابیس های سنتی باهاش مواجه خواهید شد اگه حجم داده های شما بیش از حد زیاد بشه. یکی از ابزارهایی که MySQL داره ProxySQL داره که خیلی ابزار کمک کننده ای هست، هر کدوم از این ابزارها چالش های خودشون رو دارند، اما وقتی که به scale فکر میکنید، برای انتخاب دیتابیس به ابزارهای جانبی دیتابیس هم فکر کنید که مجبور نشید چرخ رو از اول اختراع کنید که براتون دردسر ایجاد کنه.

Why Has Figma Reinvented the Wheel With PostgreSQL?
https://medium.com/@magda7817/why-has-figma-reinveted-the-wheel-with-postgresql-3a1cb2e9297c

ProxySQL
https://proxysql.com/


@gocasts
  • 👍 19
Post #411 3.44K
Go Casts | Systems & Agents 🚀 در این ویدیو سعی کردم به نکته مهمی که گاها در مصاحبه بهش توجه نمیشه بپردازم https://youtu.be/A4XG75rW8xw لینک جزییات دوره و تیمسازی بکند و گولنگ https://gocasts.ir/gocasts-bootcamp-140110 توضیحات مفصل صوتی در مورد دوره و تیمسازی https://t.me/gocasts/369…
یکی از دوستان با ۴، ۵ سال سابقه فرانت چند روز پیش گله میکرد که در پروسه مصاحبه سوالات الکی سخت فنی میپرسن و همین باعث میشه پروسه مصاحبه خوب پیش نره!!!
خدمتش عرض کردم که شما که ۴، ۵ سال سابقه خوب فنی داری، سعی کن تجربیات خودت رو با ادبیات درست فنی بیان کنی که همین باعث میشه نظر مثبت مصاحبه کننده تا حدود زیادی جلب بشه و کمتر سوالات الکی فنی از شما بپرسه...

امروز صبح تماس گرفته میگه که باورم نمیشه که دو تا شرکت مصاحبه دادم، هیچ کدوم سوالات الکی نپرسیدن و یکی شون گفته تجربیات ت خیلی خوبه بیا لید تیم فرانت شو!

میدونم حس «کلید اسرار» بهتون دست داده ولی مبالغه نمیکنم و اتفاقیه که در همین چند روز افتاده...

نکته ای که در ویدیو گفتم در همین رابطه ست

@gocasts
  • 👍 37
  • 🔥 9
  • ❤ 1
Post #410 3.54K
Post #409 3.22K
Go Casts | Systems & Agents 🚀 تخفیف عید فطر - آخرین تخفیف به قیمت سال گذشته سلام به همگی، عید سعید فطر مبارک توضیحات مفصل صوتی در مورد دوره و تیمسازی https://t.me/gocasts/369 نمونه فیلم های دوره https://t.me/gocasts/367 ضمانت بازگشت وجه https://t.me/gocasts/370 پرسش و پاسخ https…
یکی از عوامل مقیاس پذیری سیستم HA کردن سیستم یا High Availability هست که این مقاله پنج استراتژی HA رو بیان کرده

5 Strategies for High-Availability Systems
https://newsletter.systemdesigncodex.com/p/5-strategies-for-high-availability


@gocasts
Systemdesigncodex 5 Strategies for High-Availability Systems Availability is critical to the user experience...
  • 👍 9
  • ❤ 5
Post #408 3.68K
تخفیف عید فطر - آخرین تخفیف به قیمت سال گذشته

سلام به همگی، عید سعید فطر مبارک

توضیحات مفصل صوتی در مورد دوره و تیمسازی
https://t.me/gocasts/369

نمونه فیلم های دوره
https://t.me/gocasts/367

ضمانت بازگشت وجه
https://t.me/gocasts/370

پرسش و پاسخ
https://t.me/gocasts/337

لینک جزییات دوره
https://gocasts.ir/gocasts-bootcamp-140110


دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند
https://survey.porsline.ir/s/ATeQL4b4


@gocasts
  • ❤ 14
  • 👍 3
  • 🔥 3
Post #407 5.35K
Go Casts | Systems & Agents 🚀 معمولا برای سبک شدن docker image نهایی، از استیج build یک scratch image ساخته میشه که فقط فایل باینری نهایی رو شامل میشه، اما این کار میتونه معایبی هم داشته باشه اینجا میتونید در مورد معایبش بیشتر بخونید https://iximiuz.com/en/posts/containers-distroless…
یه مقاله درجه یک درباره container networking

How Container Networking Works: a Docker Bridge Network From Scratch
https://labs.iximiuz.com/tutorials/container-networking-from-scratch

@gocasts
  • ❤ 20
  • 🔥 8
  • 👍 4
Post #406 4.4K
چالش جذابیه، من خودم سعی میکنم به کمک تراکنش دیتابیس موجودی رو در حین عملیات بروز کنم که مشکلی پیش نیاد. یکی از دوستان در کامنت ها اشاره کردن که بهتره یه سری جاب باشه برای مغایرت گیری که خیلی پیشنهاد خوبیه، کلا sanity check داشتن برای اطلاعات مهم سرویس خیلی میتونه به کشف باگ هایی که تشخیص داده نمیشن به شیوه های مرسوم کمک کنه، چون شما مسیر کشف باگ رو معکوس طی میکنی، یعنی جای اینکه کلاینت بگه باگ وجود داره، خود سیستم باگ رو از طریق مغایرت های داده کشف میکنه و تشخیص میده که باگ وجود داره و حالا باید دنبال مسیری که باگ بوجود اومده باشید


https://www.linkedin.com/feed/update/urn:li:activity:7179891071240273920

@gocasts
  • 👍 36
Post #405 3.93K
مقاله ای که لینکش رو گذاشتم نکات جالبی رو اشاره میکنه
من چند ساله که خیلی کم از ORM استفاده می‌کنم، علت های مختلفی داره، از جمله اینکه:
- خود SQL به اندازه کافی یه declarative interface قشنگ بین لایه اپلیکیشن و داده های واقعی دیتابیس هست که بین سرویس های مختلف دیتابیس (mysql و postgres و غیره) هم تا حد زیادی مشترکه و لازم نیست یک لایه interface دیگه اضافه بشه
- اگه repository pattern رعایت بشه معمولا حجمی از کد که باید تغییر کنه قابل مدیریت هست و نگرانی ای بابتش وجود نداره
- اگه قرار به تغییر دیتابیس باشه، احتمالا یه جنس کاملا متفاوت از دیتابیس هست (برخلاف چیزی که مقاله میگه)، یعنی شما قرار نیست از mysql به postgres مهاجرت کنید، احتمالا از mysql به mongodb مهاجرت میکنید که تو این شرایط orm خیلی کمکی بهتون نمیکنه
- سرویس ها اگه modular نوشته بشن یا اگه بصورت microservice و nanoservice باشن، کلا حجم کد اونقدری نمیشه که کدهای لایه دیتابیس بخواد تغییرش دغدغه ایجاد کنه
- کدهای sql خوانایی بیشتری داره تا استفاده از انواع مختلف و عجیب متدهای orm و همچنین انعطاف بیشتری داره و شما مستقیما میتونید با دیتابیس صحبت کنید

طبیعتا بحث من این نیست که orm استفاده نداره، اما در خیلی از موارد ترجیح من plain sql هست


https://www.blackparrotlabs.io/post/architecture-pitfalls-dont-use-your-orm-entities-for-everything

@gocasts
www.blackparrotlabs.io Architecture Pitfalls: Don’t use your ORM entities for everything — embrace the SQL! Black Parrot Labs Blog: When designing an application with JPA/Hibernate, I’ve encountered a common pattern that suggests developers should channel as many of their interactions as possible with their database via their persistence entities and ORM, avoiding…
  • 👍 44
  • 🔥 3
  • ❤ 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →