Go Casts 🚀 – Telegram
Go Casts 🚀
8.39K subscribers
283 photos
20 videos
13 files
501 links
VP of Eng Zarinpal | Ex Snapp! Senior SE
فوق لیسانس هوش مصنوعی از دانشگاه تهران

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

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

ارتباط
@lifography

Ai for Software
@aicasts_ir
Download Telegram
با گولنگ معمولا فریمورک خاصی رو استفاده نمیکنم، خود گولنگ خیلی ساده ست و لازم نیست چیزی باهاش استفاده بشه

اما این ابزار بنظرم جالب بود، خودم تا حالا امتحانش نکردم، شاید اگه دنبال توسعه خیلی سریع یه سری crud api ساده باشید این ابزار خیلی تسریع کنه روند توسعه رو براتون.

Sponge is a powerful Go development framework, it's easy to develop web and microservice projects.

go-sponge.com
https://github.com/zhufuyi/sponge


@gocasts
👍17
واقعا لذت بردم از این مقاله

نکات ساده و مهمی رو درباره تست نویسی با گولنگ میگه، یه ابزار رو هم معرفی میکنه برای visualize کردن تست ها که خودش نوشته و کمبودش حس میشد در tooling گولنگ.

خودم بارها حین اجرای تست ها در پایپلاین های ci/cd به مشکلات متفاوتی برخوردم در مورد نحوه اجرای موازی یا سریالی تست ها، مخصوصا setup و cleanup کردن ها و migration های دیتابیس برای پکیج های متفاوت که تست دارند میتونه چالش زا باشه و تست ها رو با random behaviour و random failure مواجه کنه.

Optimising and Visualising Go Tests Parallelism: Why more cores don't speed up your Go tests
https://threedots.tech/post/go-test-parallelism/

در مورد تست نویسی این ویدیوهارو در یوتیوب دو سه سال پیش ضبط کردم، بد نیست ببینید
https://news.1rj.ru/str/gocasts/153


همچنین این سری مقاله ای که معرفی کردم ساده و خوبه، سر فرصت بخونید و استفاده کنید
https://news.1rj.ru/str/gocasts/37



توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515


@gocasts

#unit_test #test #gocasts #golang
👍135
Go Casts 🚀
تخفیف ۵۰ درصدی پاییز 🍁 الحمدلله تیمسازی ۳ هم شروع شد 🎉 در ۱۰ ماهی که از فعالیت تیمسازی گذشته دو تا پروژه تیمسازی ۱ و ۲ رو شروع کرده بودیم که در حال حاضر هم ادامه دارن. از هفته پیش تیمسازی ۳ رو شروع کردیم که مطمئن بشیم بچه های تازه وارد هم تا حد خوبی تجربه…
خیلی performance برات مهمه؟ پس احتمالا خوندن این مطلب برات جذاب باشه.

بخشی از کتاب «Efficient Go» رو میخوندم، دقت کنید به کلمه «Efficient» که به معنی «کارآمد» یا «اثربخش» هست. کارآمد بودن لزوما به معنی سریع بودن نیست، لزوما به معنی کمترین مصرف منابع نیست، لزوما به معنی مقیاس پذیر بودن نیست.

خیلی از دیدگاه نویسنده خوشم اومد که تلاش میکنه مخاطب رو تشویق کنه که «نرم افزار کارآمد» بنویسه.


نویسنده معنای software performance رو «how well software runs» یا «به چه میزان نرم افزار خوب کار میکنه» میدونه و سه تا آیتم اصلی رو در نظر میگیره به عنوان اجزای performance که یکی «accurace» هست، یکی «speed» و یکی هم «efficiency».

که accuracy رو میشه نسبت به میزان خطاهای سیستم سنجید. و speed هم میتونه latency یا throughput باشه.
نویسنده efficiency رو نسبتی از بهینگی مصرف منابع در مقایسه با منابع اختصاص یافته میدونه. مثلا فرض کنید که برای خوندن ۶۴ بایت دیتای ارزشمند، نرم افزار شما ۴۲۰ بایت از حافظه RAM رو اشغال کنه، در این صورت بهینگی شما ۱۵ درصد هست.

البته نویسنده اشاره میکنه که efficiency یا کارآمدی تک بعدی نیست و میزان زمان cpu و ابعاد دیگه هم بسته به نوع تسک و کار انجام شده باید در نظر گرفت.


همچنین نویسنده میزان performance رو چنین فرمولی در نظر میگیره:
performance = (accuracy * efficiency * speed)

و میگه که بهبود هر کدوم از آیتم های ذکر شده به بهبود performance کمک میکنه و میتونه reliability, availability, resiliency, overall latency رو بهبود بده.


Efficient Go
https://www.oreilly.com/library/view/efficient-go/9781098105709/



توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515

@gocasts

#golang #performance #efficiency
👍17🔥7👏1
معرفی یه دوره ناب

چهار سال پیش به توصیه استاد عزیز مصطفی جان صولتی شروع کردم به دیدن دوره ویدیویی uncle bob

و نمیتونم بگم دیدن این دوره، حتی در حد ۱۰، ۱۵ جلسه اولش، چقدر به شما دید خوبی میده در مورد مسائل مختلف مهندسی نرم افزار

این دوره رو نبینید که نکاتش رو حفظ کنید، این دوره رو ببینید که از قدرت تحلیل بهره مند بشید.

اصلا مهم نیست چقدر uncle bob رو قبول دارید یا نه، و اصلا مهم نیست که در نهایت قبولش خواهید داشت یا نه، مهم اینه که شنیدن حرف هاش به عنوان یه برنامه نویس با تجربه به شما قدرت تحلیل میده، حتی اگه در نهایت خروجی تحلیل شما باهاش متفاوت بشه، مهم بهره مند شدن از قدرت تحلیل هست و نه خروجی تحلیل…

اون موقع وقت و حوصله بیشتر بود و نکته برداری میکردم و تحلیل میکردم، به همه تون دیدن این سری ویدیویی رو توصیه میکنم

https://cleancoders.com/library/all


توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515


@gocasts


#uncle_bob #clean_architecture #clean_code #software
👍133🔥3
به لطف خدا یکسال از شروع تیمسازی گذشت!

بیش از ۲۰ برنامه نویس در تیمسازی دو پروژه فعال بودند که یه تعدادی از بچه ها استخدام بودند و دنبال شغل نبودند، و از بین افراد باقی مانده حداقل ۵ نفر استخدام شدند.

بیش از ۱۵۰ درخواست merge request پذیرفته شد و مرج شد

بیش از ۷۰ ساعت جلسه آنلاین تیمسازی داشتیم در ۵۰ هفته گذشته


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

هیچ ادعایی نیست، دوره فعلی هم نقص و عیب زیاد داره، اما فکر میکنم ترکیب دوره و تیمسازی میتونه تجربه موثری برای شما باشه


توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515


@gocasts
👍188👏5😁1
زبان اسمبلی یکی از اون درس هایی هست که خیلی خوشحالم در دانشگاه باهاش آشنا شدم.

داشتن آشنایی حداقلی با این زبان بهتون ایده میده که نقش کامپایلر و مفسر چیه و یه کامپیوتر به چه شکلی برنامه های مارو اجرا میکنه.

زبان اسمبلی دقیقا اون مراحلی نیست که کامپیوتر اجرا میکنه، اما نزدیک ترین زبان هست به زبان ماشین.

آشنایی حداقلی ش رو به همه تون پیشنهاد میکنم.

کتابی که خودم در دوران دانشگاه استفاده میکردم این کتاب بود، که بسیار ازش راضی بودم، هم از کتاب و هم از ترجمه خوب دکتر سپیدنام

https://www.amazon.com/80X86-IBM-Compatible-Computers-Programming/dp/0137584830

https://B2n.ir/h54058

این سه تا مقاله میتونه شروع خوبی باشه

https://shikaan.github.io/assembly/x86/guide/2024/09/08/x86-64-introduction-hello.html

https://shikaan.github.io/assembly/x86/guide/2024/09/16/x86-64-conditionals.html

https://shikaan.github.io/assembly/x86/guide/2024/09/26/x86-64-functions.html


توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515


@gocasts
17👍1
من خودم به شخصه سعی میکنم از همون اول repository پروژه رو تنظیم کنم که fast forward mergeهارو بپذیره.

اینطور با استراتژی feature branching پیش میرم و هر موقع که قرار بود با main مرج بشه برنچ مد نظر باز یه بار rebase یا merge میکنم برنچ رو (ترجیح rebase هست) و در نهایت یه commit به عنوان merge commit روی برنچ main اون feature branch رو مرج میکنم بصورت fast-forward.

اینجا در موردش بیشتر میتونید بخونید
What Is a Git Merge Fast Forward?
https://blog.mergify.com/what-is-a-git-merge-fast-forward/


Git Branching Strategies
https://newsletter.techworld-with-milan.com/p/git-branching-strategies

@gocasts
👍10
Go Casts 🚀
تخفیف ۵۰ درصدی پاییز 🍁 الحمدلله تیمسازی ۳ هم شروع شد 🎉 در ۱۰ ماهی که از فعالیت تیمسازی گذشته دو تا پروژه تیمسازی ۱ و ۲ رو شروع کرده بودیم که در حال حاضر هم ادامه دارن. از هفته پیش تیمسازی ۳ رو شروع کردیم که مطمئن بشیم بچه های تازه وارد هم تا حد خوبی تجربه…
تا حالا شده در محیط کار احساس ناکافی بودن کنید؟ یا اینکه از سمت مدیرتون فیدبک ضعیف بودن دریافت کنید؟ یا حتی اعتماد به نفس تون رو از دست داده باشید که احتمالا من برای این کار خوب نیستم؟


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


اگه فیدبک بدی گرفتید از مدیرتون قبل از اینکه به فکر سرزنش خودتون باشید و یا حتی نکوهش مدیر، ببینید چه قسمت هایی از پروسه کاری و تعامل تون با مدیر مشکل داره، سعی کنید اول نحوه تعامل تون رو اصلاح کنید و یا پروسه هایی که به طور روزمره در کارتون برای انجام تسک ها دارید رو بازبینی کنید.
به طور مثال میگم، دوست عزیزی چند وقت پیش ناراحت بود از اینکه کدی که نوشته شده، توسط مدیرش بطور کامل بازنویسی شده، و این موضوع باعث شده که احساس خوبی نداشته باشه.
یا میگفت که شخص پروداکت تغییرات زیادی درخواست میده در حین کار در حالیکه در نهایت مسئولیت تغییرات رو هم نمیپذیره.
خب من حدس میزنم که در این مورد نه مدیر فنی مقصره و نه شخص برنامه نویس، اینجا پروسه تعامل و انجام تسک مشکل داره، تسک بهتره قبل از انجام refine بشه از نظر بیزینسی و داکیومنت بشه و همچنین قبل از انجام حتما solution design فنی داشته باشه. شرکت بهتره ساختار و چارچوب code review داشته باشه و فرآیند کد ریویو بصورت زود به زود انجام بشه.
خیلی اقدامات وجود داره که میتونه روند کاری شما و تیم و شرکت تون رو بهتر کنه، دنبال مقصر نباشید، جنگ روانی و اعصاب برای خودتون و دیگران ایجاد نکنید. با اراده تلاش کنید پروسه های تعاملی و کاری رو بهبود بدید و در این مورد با مدیرتون خیلی شفاف صحبت کنید.



@gocasts
👏409👍6🔥1
Go Casts 🚀
تخفیف ۵۰ درصدی پاییز 🍁 الحمدلله تیمسازی ۳ هم شروع شد 🎉 در ۱۰ ماهی که از فعالیت تیمسازی گذشته دو تا پروژه تیمسازی ۱ و ۲ رو شروع کرده بودیم که در حال حاضر هم ادامه دارن. از هفته پیش تیمسازی ۳ رو شروع کردیم که مطمئن بشیم بچه های تازه وارد هم تا حد خوبی تجربه…
آپدیت تیمسازی + فیدبک یکی از دوستان نسبت به دوره

این هفته ها با بچه های تیمسازی ۳ بیشتر مشغول solution design و آماده کردن code structure برای پروژه ای هستیم که یه پلتفرم برای رستوران و کافه ها باشه، و سعی کردیم با جدا کردن domain های بیزینسی یه سری microservice رو توسعه بدیم.

هر چند که به شخصه دغدغه ای بابت monolith یا microservice بودن ندارم و دلایلم رو در دوره روی کد گفتم که چرا این سوال اون قدرها هم سوال مهمی نیست، هر چند که microserivce بودن overheadهای خودشو داره.

تخفیف پاییز «دوره +‌تیمسازی» در آبان ماه هم پابرجاست

دوره +‌ تیمسازی بکند و گولنگ Go Casts
لینک خرید دوره + تیمسازی با ۵۰ درصد تخفیف به مبلغ ۴ میلیون و ۵۰۰ هزار تومان

https://gocasts.ir

همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://news.1rj.ru/str/gocasts/434

تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://news.1rj.ru/str/gocasts/441

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

@gocasts
👍52
سلام دوستان
اگه تجربه ای با redis callback listener رو key expiration دارید بهم بگید لطفا، چه در گولنگ و چه در زبان های دیگه.


میخوام بدونم چالش خاصی برای پیاده سازی و پرفورمنس داره یا خیر.


کجا میخوام استفاده ش کنم؟ پیاده سازی retry برای تسک ها

به سری جاب تو ردیس دارم، که قراره http request بشه، حالا میخوام اگه fail شد دوباره به عنوان کلید بذارمش تو ردیس با یه ttl که موعد ttl رسید ایونت حذف شدنش از ردیس رو بگیرم و مجدد اجراش کنم، حالا اگه retry threshold هم رسیده بود که کاریش ندارم و در صورت fail دیگه ignore ش میکنم. اون مقدار retry count هم تو همون value مربوط به کلید ردیس ذخیره میکنم.

راه حل زیاده ولی بنظرم این راه حل ساده ایه برای وقتی که خیلی miss شدن جاب حیاتی نباشه.

تجربه و پیشنهادی داشتید بگید.


@gocasts
👍61
نگرانی از آینده شغلی دغدغه خیلی هاست.
این نگرانی فکر میکنم تو شروع مسیر بیشتره و تاثیرگذار تر.

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

چیزی که من بهش فکر میکنم اینه که در نهایت شما باید موفق شدن رو اول از همه به خودتون ثابت کنید.

مهم نیست اون موفقیت چقدر دوام داره، چقدر درآمد میاره و غیره...

دنیا، دنیای خرده مهارت هست، باید تلاش کنید یه خرده مهارت رو برای خودتون انتخاب کنید و در همون مسیر قدم بردارید.

راه رسیدن به موفقیت هم اول و آخرش به تلاش شما وابسته ست.

وقتی که یک مهارت رو کسب میکنید و به موفقیت نسبی میرسید، چند اتفاق مهم رخ میده:

اول از همه خودتون به اعتماد به نفس کافی میرسید که با تلاش کردن میتونید به هدف تون برسید.

دوم اینکه در مسیر کسب مهارت کلی روزنه و فرصت جدید به روی شما باز میشه که تا وارد مسیر نشی و شروع به جنگیدن نکنی نمیتونی پیداشون کنی

سوم اینکه شما برای خودتون به یه چارچوب میرسید که راه یادگیری مهارت و موفقیت رو به شما نشون میده و اگه برای خرده مهارتی که کسب کردید خطری ایجاد بشه، میتونید از همون چارچوب خودتون یه مهارت جدید کسب کنید.

خلاصه ش اینه که اگه دنبال بهونه میگردی که تلاش نکنی، نیاموزی و نجنگی، بهونه خیلی زیاده.

@gocasts
👍2812
مقاله جالبی بود
خیلی فنی و عمیق توضیح داده، ولی کلا خوبه که بدونید این فیچر dedup برای OpenZFS میتونه write to disk رو efficientتر کنه اگه performance نسخه جدیدش قابل قبول باشه.


OpenZFS deduplication is good now and you shouldn't use it
https://despairlabs.com/blog/posts/2024-10-27-openzfs-dedup-is-good-dont-use-it/?utm_source=substack&utm_medium=email

این قضیه مخصوصا تو سرویس های blob storage میتونه کمک کنه، مثلا ceph که به عنوان یکی از solutionهای معروف برای blob storage استفاده میشه از zfs استفاده میکنه به عنوان backend volume
https://docs.ceph.com/en/reef/dev/ceph-volume/zfs/

@gocasts
👍51👏1
اگه دیسک سرورتون پر شده این دستور سرور رو زنده میکنه


truncate -s 0 /var/lib/docker/containers/**/*-json.log



با sudo هم این میشه

sudo sh -c "truncate -s 0 /var/lib/docker/containers/**/*-json.log"


https://stackoverflow.com/questions/42510002/docker-how-to-clear-the-logs-properly-for-a-docker-container


البته دیگه لاگی ندارید بفهمید چه بلایی سر سیستم تون اومده، مواظب باشید!

@gocasts
😁15👍9🔥7
مصاحبه هایی که انجام میدید یه برگ برنده دارید که دست خودتونه، اونم تجربیات شماست، سعی کنید به قدری تجربیات فنی تون رو خوب بیان کنید، که مصاحبه کننده قبل از پرسش هر سوالی قانع بشه که شما به اندازه کافی خوب هستید، معمولا تجربیات شما رو قبل از سوالات دیگه ای میپرسن، پس فرصت خوبیه که با قدرت تمام خودتون رو به رخ بکشید، همچنین ممکنه از دل تجربیات خودتون ازتون سوال بپرسن، که باز این قضیه سوالات مصاحبه کننده رو پیش بینی پذیرتر میکنه براتون. اصلا دست کمش نگیرید، خیلی مهمه از نظر من

Re-imagining Technical Interviews: Valuing Experience Over Exam Skills
https://danielabaron.me/blog/reimagining-technical-interviews


@gocasts
14👍8
دنبال یه سری منبع در مورد golang internals بودم که با این repository آشنا شدم، به صورت موضوعی لینک های خوبی رو معرفی کرده، دوست داشتید بررسی کنید.

A collection of articles and videos to understand Golang internals.
https://github.com/emluque/golang-internals-resources

@gocasts
👍73
استخدام 🚀

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

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

ایمان جان بعد از چند ماه فعالیت جدی در تیمسازی و تلاش برای استخدام موفق شد الحمدلله

دوستانی که خارج از تهران هستند، به خاطر کمتر بودن موقعیت دورکاری نگرانی بیشتری بابت استخدام دارند.

شرح تصاویر
۱ - انگیزه دادن برای شروع
۲ - تاکید بر فعالیت جدی در تیمسازی
۳ - خبر استخدام
۴ - تاکید بر همراهی
۵ - تاییدیه کارفرما


دوره +‌ تیمسازی بکند و گولنگ Go Casts
لینک خرید دوره + تیمسازی با ۵۰ درصد تخفیف به مبلغ ۴ میلیون و ۵۰۰ هزار تومان

https://gocasts.ir

همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://news.1rj.ru/str/gocasts/434

تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://news.1rj.ru/str/gocasts/441

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

@gocasts
🔥106👍1
یکی از مهارت های مهمی که برنامه نویس های باتجربه تیم باید داشته باشن اینه که محصول نرم افزاری رو از اون همه گنگی و ابهام فنی و بیزینسی اول مسیر، از دل جاده پر پیچ و خم خاکی تو کوهستان برسونه به اول اتوبان، بقیه ش دیگه حله..

تو این مسیر سخت، ابهام های بیزینسی شفاف شدن، معماری نرم افزار شفاف شده، ساختار کلی کد و practiceهای جانبی مثل ci/cd و deployment و api documentation و تست به نقطه خوبی رسیدن و بقیه مسیر بقدری راحت شده که برنامه نویس های دیگه هم به خوبی میتونن کار توسعه رو پیش ببرن.


@gocasts
👍234
گولنگ ۱۵ ساله شد.

سرعت رشد خوب گولنگ در فراگیر شدن چشمگیر بوده در این مدت. مخصوصا در حوزه ابزارهای cloud این قضیه خیلی بیشتر دیده میشه.

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

Go Turns 15
https://go.dev/blog/15years


@gocasts
😍23👏42👍2🔥2
Go Casts 🚀
Design by Contract شیوه ای که golang بخش مهمی از simplicityش رو مدیونشه همون اول کار بگم که این ادعا یک برداشت شخصیه که هیچ منبع و مرجع خارجی ای نداره. فعلا یه draft از مقاله آماده شده، اما چون ممکنه اصل تحقیقات طولانی تر بشه بهتر دیدم که نسخه draftش رو هم…
دو سال پیش در مورد design by contract صحبت کردم و سعی کردم در یک ویدیو توضیح بدم در موردش.

بنظرم اگه به این موضوع توجه کنیم، وسواس کمتری در مورد سیاست های کلی کد و معماری به خرج میدیم.

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

تاکید دارم روی تعداد کم، چون اگه زیاد باشه کار خراب میشه.

این لینک توضیحات و داکیومنت گوگل داک
https://news.1rj.ru/str/gocasts/116

اینم لینک ویدیو در یوتیوب
https://youtu.be/uibCosfk4-Y


@gocasts
👍7👏1