Go Casts 🚀
تخفیف ۵۰ درصدی پاییز 🍁 الحمدلله تیمسازی ۳ هم شروع شد 🎉 در ۱۰ ماهی که از فعالیت تیمسازی گذشته دو تا پروژه تیمسازی ۱ و ۲ رو شروع کرده بودیم که در حال حاضر هم ادامه دارن. از هفته پیش تیمسازی ۳ رو شروع کردیم که مطمئن بشیم بچه های تازه وارد هم تا حد خوبی تجربه…
یه سری مقاله بهتون معرفی میکنم که سعی کرده best practiceهای گولنگ رو بگه. به شخصه خودم سعی میکنم خیلی محتاطانه از کلمه best practice استفاده کنم، چون practiceها حتی اگه خوب باشن، برای صرفا یه سری مسائل و شرایط خاص خوب هستن، و شما نمیتونید به دنبال یه سری practice باشید که همه جا کورکورانه استفاده شون کنید.
اما خب، خوبه که practiceهای مختلف رو بدونید و بخونید و بعد بر اساس نوع مساله ای که دارید تشخیص بدید چه راه حلی رو استفاده کنید.
Introduction to Golang Best Practices
https://golang.withcodeexample.com/blog/introduction-to-golang-best-practices/
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
اما خب، خوبه که practiceهای مختلف رو بدونید و بخونید و بعد بر اساس نوع مساله ای که دارید تشخیص بدید چه راه حلی رو استفاده کنید.
Introduction to Golang Best Practices
https://golang.withcodeexample.com/blog/introduction-to-golang-best-practices/
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
👍16❤6
Go Casts 🚀
تخفیف ۵۰ درصدی پاییز 🍁 الحمدلله تیمسازی ۳ هم شروع شد 🎉 در ۱۰ ماهی که از فعالیت تیمسازی گذشته دو تا پروژه تیمسازی ۱ و ۲ رو شروع کرده بودیم که در حال حاضر هم ادامه دارن. از هفته پیش تیمسازی ۳ رو شروع کردیم که مطمئن بشیم بچه های تازه وارد هم تا حد خوبی تجربه…
همیشه برای خودم سوال بوده که دیتابیس ها بصورت سنتی روی vm یا بصورت cloud با استفاده از docker و kubernetes چه مزایا و معایبی دارن، هم از نظر هزینه های نگهداری و هم از نظر performance و عملکرد. اگه تجربه ای دارید خوشحال میشم بشنوم.
استقرار دیتابیس روی vm با حالت dockerize شده ش خصوصا برای استارت آپ های کوچیک چه تفاوت هایی میتونه داشته باشه؟
این مقاله هم در همین مورد نکاتی میگه
https://thenewstack.io/kubernetes-for-databases-weighing-the-pros-and-cons/
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
#database #kubernetes
استقرار دیتابیس روی vm با حالت dockerize شده ش خصوصا برای استارت آپ های کوچیک چه تفاوت هایی میتونه داشته باشه؟
این مقاله هم در همین مورد نکاتی میگه
https://thenewstack.io/kubernetes-for-databases-weighing-the-pros-and-cons/
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
#database #kubernetes
👍13❤3
وقتی عبارت network programming رو میبینیم ممکنه فکر کنیم این موضوع خیلی از ما دوره، اما اگه فقط یه ذره وارد جزییات کدی که زدیم بشیم میبینیم که اینطور نیست.
مثلا فقط کافیه شروع کنیم یه ذره کد net/http از گولنگ رو بخونیم که ببینیم این http.ListenAndServeی که استفاده میکنیم دقیقا داره چیکار میکنه
https://github.com/golang/go/blob/master/src/net/http/server.go#L3336
یه مقاله آموزشی خیلی خوب پیدا کردم که خوندنش دید خیلی خوبی میتونه بده که socket programming چه مراحل و جزییاتی داره.
در نهایت چه http server داشته باشید و یا چه http client داشته باشید و حتی اگه websocket استفاده کنید در نرم افزارتون و یا حتی live stream داشته باشید، دارید با socket کار میکنید، و خیلی خوب میشه اگه بدونیم که یه socket چیه، چطوری ایجاد میشه، و life cycleش چه functionalityهایی داره
Beej's Guide to Network Programming
https://beej.us/guide/bgnet/html
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
مثلا فقط کافیه شروع کنیم یه ذره کد net/http از گولنگ رو بخونیم که ببینیم این http.ListenAndServeی که استفاده میکنیم دقیقا داره چیکار میکنه
https://github.com/golang/go/blob/master/src/net/http/server.go#L3336
یه مقاله آموزشی خیلی خوب پیدا کردم که خوندنش دید خیلی خوبی میتونه بده که socket programming چه مراحل و جزییاتی داره.
در نهایت چه http server داشته باشید و یا چه http client داشته باشید و حتی اگه websocket استفاده کنید در نرم افزارتون و یا حتی live stream داشته باشید، دارید با socket کار میکنید، و خیلی خوب میشه اگه بدونیم که یه socket چیه، چطوری ایجاد میشه، و life cycleش چه functionalityهایی داره
Beej's Guide to Network Programming
https://beej.us/guide/bgnet/html
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
👍20❤3
Go Casts 🚀
تخفیف ۵۰ درصدی پاییز 🍁 الحمدلله تیمسازی ۳ هم شروع شد 🎉 در ۱۰ ماهی که از فعالیت تیمسازی گذشته دو تا پروژه تیمسازی ۱ و ۲ رو شروع کرده بودیم که در حال حاضر هم ادامه دارن. از هفته پیش تیمسازی ۳ رو شروع کردیم که مطمئن بشیم بچه های تازه وارد هم تا حد خوبی تجربه…
گاهی اوقات پیش میاد که شما لازم دارید یه حجم زیادی از اطلاعات رو دریافت و پردازش کنید.
این حجم زیاد اطلاعات ممکنه از یک جنس داده باشه و از یک منبع واحد خونده بشن، و یا نه، ممکنه از انواع مختلف باشه و احتیاج باشه که منابع مختلفی رو فراخوانی کنید.
در هر صورت اتفاقی که میفته اینه که زمان پردازش شما زیاد میشه و بهتره که به دنبال بهتر کردنش باشید. یکی از الگوهایی که کمک میکنه این قضیه رو مدیریت کنید الگوی scatter/gather هست، که خیلی وقت پیش در موردش در کانال صحبت شده بود، که میتونید از اینجا بخونید
https://news.1rj.ru/str/gocasts/64
این الگو به شما اجازه میده که پردازش موازی داشته باشید (parallelism)
Scatter-gather pattern
https://docs.aws.amazon.com/prenoscriptive-guidance/latest/cloud-design-patterns/scatter-gather.html
اگه پردازشی که دارید انجام میدید cpu bound هست، میتونید با تقسیم کردن کار بین چند core یا thread پردازنده موازی سازی انجام بدید که در زمان خیلی کمتری پردازش همه داده هارو انجام بدید.
الگوی io bound مخصوصا در معماری microservice میتونه مناسب باشه، ممکنه یک درخواستی برای پردازش چندین سرویس رو درگیر کنه، که اگه پردازش سرویس ها به همدیگه وابستگی نداشته باشن، میشه از این الگو بهره گرفت که بصورت موازی پردازش هر سرویس انجام بشه.
درسته که این الگو رو به شیوه synchronous هم میشه پیاده سازی کرد، اما معمولا به صورت asynchronous و با استفاده از message passing از این الگو استفاده میکنن.
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
این حجم زیاد اطلاعات ممکنه از یک جنس داده باشه و از یک منبع واحد خونده بشن، و یا نه، ممکنه از انواع مختلف باشه و احتیاج باشه که منابع مختلفی رو فراخوانی کنید.
در هر صورت اتفاقی که میفته اینه که زمان پردازش شما زیاد میشه و بهتره که به دنبال بهتر کردنش باشید. یکی از الگوهایی که کمک میکنه این قضیه رو مدیریت کنید الگوی scatter/gather هست، که خیلی وقت پیش در موردش در کانال صحبت شده بود، که میتونید از اینجا بخونید
https://news.1rj.ru/str/gocasts/64
این الگو به شما اجازه میده که پردازش موازی داشته باشید (parallelism)
Scatter-gather pattern
https://docs.aws.amazon.com/prenoscriptive-guidance/latest/cloud-design-patterns/scatter-gather.html
اگه پردازشی که دارید انجام میدید cpu bound هست، میتونید با تقسیم کردن کار بین چند core یا thread پردازنده موازی سازی انجام بدید که در زمان خیلی کمتری پردازش همه داده هارو انجام بدید.
الگوی io bound مخصوصا در معماری microservice میتونه مناسب باشه، ممکنه یک درخواستی برای پردازش چندین سرویس رو درگیر کنه، که اگه پردازش سرویس ها به همدیگه وابستگی نداشته باشن، میشه از این الگو بهره گرفت که بصورت موازی پردازش هر سرویس انجام بشه.
درسته که این الگو رو به شیوه synchronous هم میشه پیاده سازی کرد، اما معمولا به صورت asynchronous و با استفاده از message passing از این الگو استفاده میکنن.
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
Telegram
Go Casts 🚀
سلام دوستان، امیدوارم حالتون خوب باشه، من باز اومدم با یه الگوی دیگه از دنیای distributed systems!
Scatter/Gather
الگوی بعدی که در موردش صحبت میکنیم، الگوی scatter/gather هست.
الگوی replicated از منظر «تعداد درخواست پردازش شده در ثانیه» به scalability توجه…
Scatter/Gather
الگوی بعدی که در موردش صحبت میکنیم، الگوی scatter/gather هست.
الگوی replicated از منظر «تعداد درخواست پردازش شده در ثانیه» به scalability توجه…
👍10❤1🔥1
Go Casts 🚀
تخفیف ۵۰ درصدی پاییز 🍁 الحمدلله تیمسازی ۳ هم شروع شد 🎉 در ۱۰ ماهی که از فعالیت تیمسازی گذشته دو تا پروژه تیمسازی ۱ و ۲ رو شروع کرده بودیم که در حال حاضر هم ادامه دارن. از هفته پیش تیمسازی ۳ رو شروع کردیم که مطمئن بشیم بچه های تازه وارد هم تا حد خوبی تجربه…
سلام بچه ها، یه بازارچه جالب دیدم که سرویس های مختلف هوش مصنوعی رو در قالب api ارائه میده، ایرانی هم هست، اگه محصولی که توسعه میدید با هوش مصنوعی سر و کار داره احتمالا به کارتون بیاد و دردسرهای توسعه اولیه رو کاهش میده براتون، دوست داشتید سر بزنید به این لینک
https://isahab.ir/market?utm_source=linkedin&utm_medium=hosseinnazari&utm_campaign=shahrivar403&utm_id=firstcamp
@gocasts
https://isahab.ir/market?utm_source=linkedin&utm_medium=hosseinnazari&utm_campaign=shahrivar403&utm_id=firstcamp
@gocasts
👍11
خانه ای بی برای بازطراحی وبسایت خود از طراحان UI/UX باتجربه ای که به صورت داوطلبانه حاضر به همکاری هستند، دعوت به عمل می آورد.
لطفا اگر تمایل به همکاری دارید فرم زیر را پر کنید.
https://survey.porsline.ir/s/PTQeSRIi
وبسایت فعلی خانه ای بی
https://ebhome.ngo
اینستاگرام خانه ای بی
https://www.instagram.com/eb_home
@gocasts
لطفا اگر تمایل به همکاری دارید فرم زیر را پر کنید.
https://survey.porsline.ir/s/PTQeSRIi
وبسایت فعلی خانه ای بی
https://ebhome.ngo
اینستاگرام خانه ای بی
https://www.instagram.com/eb_home
@gocasts
Porsline
designer-resume-140307
با پُرسلاین به راحتی پرسشنامه خود را طراحی و ارسال کنید و با گزارشهای لحظهای آن به سرعت تصمیم بگیرید.
❤7
مقاله خوب و جذابی بود، پیشنهاد میکنم بخونید
یه جمله خیلی کلیدی داشت بنظرم که این جمله ست:
"As noted above, our major bottleneck is network IO, and Stephen mentioned this line from the SQLite documentation: "SQLite does not compete with client/server databases. SQLite competes with fopen()."
Rearchitecting: Redis to SQLite
https://wafris.org/blog/rearchitecting-for-sqlite
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
یه جمله خیلی کلیدی داشت بنظرم که این جمله ست:
"As noted above, our major bottleneck is network IO, and Stephen mentioned this line from the SQLite documentation: "SQLite does not compete with client/server databases. SQLite competes with fopen()."
Rearchitecting: Redis to SQLite
https://wafris.org/blog/rearchitecting-for-sqlite
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
wafris.org
Rearchitecting: Redis to SQLite | Wafris
Learn how we approached migrating our Wafris v1 client based on Redis to a new faster, easier to use SQLite architecture.
👍7❤1👏1
وقتی نوبت به نوشتن manifestهای کوبرنتیز میرسه، اسم دو تا ابزار وسط میاد، یکی helm و دیگری kustomize.
به شخصه از این نظر که kustomize همون رویه manifest اصلی کوبرنتیز رو حفظ میکنه و خوانایی خوبی داره، ترجیحش میدم.
اما خب برای اینکه شما در multi environment بخواید استفاده کنید و تفاوت های محیط ها پیچیده باشه شاید helm گزینه بهتری باشه.
در کل هم فکر میکنم کامیونیتی بیشتر helm رو پذیرفته و پیدا کردن helm chart راحت تره برای خیلی از سرویس ها.
خوشحال میشم اگه شما هم تجربه ای در این مورد دارید، به اشتراک بذارید در کامنت ها.
این مقاله توضیحاتی در مورد تفاوت هاشون داده.
https://blog.devops.dev/helm-vs-kustomize-when-to-use-which-tool-in-kubernetes-6500d72ca4b4
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
به شخصه از این نظر که kustomize همون رویه manifest اصلی کوبرنتیز رو حفظ میکنه و خوانایی خوبی داره، ترجیحش میدم.
اما خب برای اینکه شما در multi environment بخواید استفاده کنید و تفاوت های محیط ها پیچیده باشه شاید helm گزینه بهتری باشه.
در کل هم فکر میکنم کامیونیتی بیشتر helm رو پذیرفته و پیدا کردن helm chart راحت تره برای خیلی از سرویس ها.
خوشحال میشم اگه شما هم تجربه ای در این مورد دارید، به اشتراک بذارید در کامنت ها.
این مقاله توضیحاتی در مورد تفاوت هاشون داده.
https://blog.devops.dev/helm-vs-kustomize-when-to-use-which-tool-in-kubernetes-6500d72ca4b4
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
👍11👏1
Go Casts 🚀
تخفیف ۵۰ درصدی پاییز 🍁 الحمدلله تیمسازی ۳ هم شروع شد 🎉 در ۱۰ ماهی که از فعالیت تیمسازی گذشته دو تا پروژه تیمسازی ۱ و ۲ رو شروع کرده بودیم که در حال حاضر هم ادامه دارن. از هفته پیش تیمسازی ۳ رو شروع کردیم که مطمئن بشیم بچه های تازه وارد هم تا حد خوبی تجربه…
داشتم یه نگاهی به کتاب foundations of scalable systems مینداختم که یه بخشی ش در مورد مقیاس پذیر کردن دیتابیس به کمک کش صحبت میکنه.
A well-designed caching scheme can be invaluable in scaling a system. Caching
works great for data that rarely changes and is accessed frequently, such as inventory
catalogs, event information, and contact data. If you can handle a large percentage,
say, 80% or more, of read requests from your cache, then you effectively buy extra
capacity at your databases as they never see a large proportion of requests.
داشتن سرویس scalable و مقیاس پذیر بخش زیادی ش وابسته به رعایت کردن یه سری اصول ساده ست که خیلی هامون در موردش شنیدیم و خوندیم و میدونیم.
استراتژی های caching یکی از همون اصول ساده و مهمه که به مقیاس پذیری سیستم خیلی کمک میکنه.
کش کردن استراتژی های مختلفی داره و نباید کورکورانه استفاده بشه، چالش و دغدغه هایی هم ایجاد میکنه مثل مساله invalidate کردن کش یا thundering herd که در موردش چند روز پیش صحبت کردم.
کش کردن تو لایه های مختلف استفاده میشه و شما میتونید از مزایای این استراتژی در همه لایه ها استفاده کنید.
خود کلاینتی که مثلا اپلیکیشن وب یا موبایل هست میتونه یه سری داده رو کش کنه.
برای کمتر شدن لود سرور میتونید از cdn استفاده کنید که assetهای شمارو کش کنه.
سرویس gateway شما میتونه یه سری api رو کش کنه که لود روی اپلیکیشن شما نیفته.
اپلیکیشن شما میتونه هم روی http server یه سروی api رو کش کنه و هم میتونه تو لایه کوئری زدن به دیتابیس یه سری کوئری ها رو کش کنه.
سرویس دیتابیس هم معمولا خودشون استراتژی های مختلفی دارن برای کش کردن کوئری ها.
سیستم فایل و دیسک هایی که دیتابیس ها استفاده میکنن هم خودشون pageهای دیسکی که بیشتر استفاده میشه رو کش میکنن.
سیستم عامل هم خودش چندین لایه کش داره.
بصورت آشکار و نهان کش یکی از راه های ساده و قوی هست، اما باید با فکر و تحلیل ازش استفاده کنید.
@gocasts
A well-designed caching scheme can be invaluable in scaling a system. Caching
works great for data that rarely changes and is accessed frequently, such as inventory
catalogs, event information, and contact data. If you can handle a large percentage,
say, 80% or more, of read requests from your cache, then you effectively buy extra
capacity at your databases as they never see a large proportion of requests.
داشتن سرویس scalable و مقیاس پذیر بخش زیادی ش وابسته به رعایت کردن یه سری اصول ساده ست که خیلی هامون در موردش شنیدیم و خوندیم و میدونیم.
استراتژی های caching یکی از همون اصول ساده و مهمه که به مقیاس پذیری سیستم خیلی کمک میکنه.
کش کردن استراتژی های مختلفی داره و نباید کورکورانه استفاده بشه، چالش و دغدغه هایی هم ایجاد میکنه مثل مساله invalidate کردن کش یا thundering herd که در موردش چند روز پیش صحبت کردم.
کش کردن تو لایه های مختلف استفاده میشه و شما میتونید از مزایای این استراتژی در همه لایه ها استفاده کنید.
خود کلاینتی که مثلا اپلیکیشن وب یا موبایل هست میتونه یه سری داده رو کش کنه.
برای کمتر شدن لود سرور میتونید از cdn استفاده کنید که assetهای شمارو کش کنه.
سرویس gateway شما میتونه یه سری api رو کش کنه که لود روی اپلیکیشن شما نیفته.
اپلیکیشن شما میتونه هم روی http server یه سروی api رو کش کنه و هم میتونه تو لایه کوئری زدن به دیتابیس یه سری کوئری ها رو کش کنه.
سرویس دیتابیس هم معمولا خودشون استراتژی های مختلفی دارن برای کش کردن کوئری ها.
سیستم فایل و دیسک هایی که دیتابیس ها استفاده میکنن هم خودشون pageهای دیسکی که بیشتر استفاده میشه رو کش میکنن.
سیستم عامل هم خودش چندین لایه کش داره.
بصورت آشکار و نهان کش یکی از راه های ساده و قوی هست، اما باید با فکر و تحلیل ازش استفاده کنید.
@gocasts
❤14👍6
Go Casts 🚀
بسم الله الرحمن الرحیم معرفی کتاب دوستان من سعی می کنم کتاب های خوبی که مطالعه شون میتونه به شما کمک کنه که دید بهتری نسبت به دنیای cloud-native و microservice ها داشته باشید بهتون معرفی کنم و در حد توان نکاتی رو به صورت خلاصه وار در مورد اون ها به شما ارائه…
سه سال پیش در یک مجموعه پست، به صورت خلاصه کتاب designing distributed systems رو در تلگرام منتشر کردم.
تو این کتاب الگوهای خوبی برای طراحی سیستم توضیح داده شده.
نویسنده کتاب هم co-founder ابزار kubernetes هست.
با این هشتگ میتونید به خلاصه ها دسترسی داشته باشید.
#designing_distributed_systems_brendan_burns
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
تو این کتاب الگوهای خوبی برای طراحی سیستم توضیح داده شده.
نویسنده کتاب هم co-founder ابزار kubernetes هست.
با این هشتگ میتونید به خلاصه ها دسترسی داشته باشید.
#designing_distributed_systems_brendan_burns
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
❤17👍5
Go Casts 🚀
سه سال پیش در یک مجموعه پست، به صورت خلاصه کتاب designing distributed systems رو در تلگرام منتشر کردم. تو این کتاب الگوهای خوبی برای طراحی سیستم توضیح داده شده. نویسنده کتاب هم co-founder ابزار kubernetes هست. با این هشتگ میتونید به خلاصه ها دسترسی داشته…
با ما بپّر، یه جایی قُلابت گیر میکنه!
کلیک خوردن مفاهیم مهندسی نرم افزار تو ذهن راه روشن و مشخصی نداره، ولی اگه خودتو درگیرش کنی آخرش یه جایی قلابت گیر میکنه.
تیمسازی ۳ تازه شروع شده، هدفمون از دوره و تیمسازی اینه که اونقدری برات بستر فراهم کنیم که آخرش قلابت گیر کنه و یه سری از مفاهیم مهندسی نرم افزار رو بهتر درک کنی.
با تسک دادن و به چالش کشیدن ذهنت برای طراحی سیستم، درگیرت میکنیم که یه جایی مفاهیم تو ذهنت کلیک بخوره.
سعی میکنیم چالش هایی که طراحی میکنیم به چالش های واقعی مهندسی نزدیک باشه که شرایط برای کلیک خوردن مفاهیم فراهم بشه.
برنامه نویسی و درک مفاهیم مرتبط باهاش کار یکی دو روز نیست، واسه همین بر خلاف بوتکمپ و ورکشاپ های کوتاه مدت، سعی میکنیم اونقدری بهت زمان بدیم که آروم آروم بتونی هضم کنی مفاهیم رو (الحمدلله تیمسازی بیش از ده ماهه که شروع شده و اگه خدا امان بده و سلامتی سعی میکنیم ادامه ش بدیم)
تصویر حاضر، فیدبک یکی از بچه های شرکت کننده در دوره + تیمسازی ۳ هست
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
کلیک خوردن مفاهیم مهندسی نرم افزار تو ذهن راه روشن و مشخصی نداره، ولی اگه خودتو درگیرش کنی آخرش یه جایی قلابت گیر میکنه.
تیمسازی ۳ تازه شروع شده، هدفمون از دوره و تیمسازی اینه که اونقدری برات بستر فراهم کنیم که آخرش قلابت گیر کنه و یه سری از مفاهیم مهندسی نرم افزار رو بهتر درک کنی.
با تسک دادن و به چالش کشیدن ذهنت برای طراحی سیستم، درگیرت میکنیم که یه جایی مفاهیم تو ذهنت کلیک بخوره.
سعی میکنیم چالش هایی که طراحی میکنیم به چالش های واقعی مهندسی نزدیک باشه که شرایط برای کلیک خوردن مفاهیم فراهم بشه.
برنامه نویسی و درک مفاهیم مرتبط باهاش کار یکی دو روز نیست، واسه همین بر خلاف بوتکمپ و ورکشاپ های کوتاه مدت، سعی میکنیم اونقدری بهت زمان بدیم که آروم آروم بتونی هضم کنی مفاهیم رو (الحمدلله تیمسازی بیش از ده ماهه که شروع شده و اگه خدا امان بده و سلامتی سعی میکنیم ادامه ش بدیم)
تصویر حاضر، فیدبک یکی از بچه های شرکت کننده در دوره + تیمسازی ۳ هست
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
👍12❤2
Go Casts 🚀
تخفیف ۵۰ درصدی پاییز 🍁 الحمدلله تیمسازی ۳ هم شروع شد 🎉 در ۱۰ ماهی که از فعالیت تیمسازی گذشته دو تا پروژه تیمسازی ۱ و ۲ رو شروع کرده بودیم که در حال حاضر هم ادامه دارن. از هفته پیش تیمسازی ۳ رو شروع کردیم که مطمئن بشیم بچه های تازه وارد هم تا حد خوبی تجربه…
خلاصه ش اینکه تو شرکت خودروسازی Volvo دارن rust رو برای ECU ماشین ها استفاده می کنن و حالش رو میبرن
https://tweedegolf.nl/en/blog/137/rust-is-rolling-off-the-volvo-assembly-line
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
https://tweedegolf.nl/en/blog/137/rust-is-rolling-off-the-volvo-assembly-line
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
🔥8
آقای Martin Fowler رو احتمالا بشناسید، کتاب های زیادی در مورد مهندسی و معماری نرم افزار نوشته.
ایشون تو این مقاله سعی کرده یه راهنمایی کلی در مورد ابعاد مختلف مهندسی نرم افزار داشته باشه که خوندنش خالی از لطف نیست.
Software Architecture Guide
https://martinfowler.com/architecture/
@gocasts
ایشون تو این مقاله سعی کرده یه راهنمایی کلی در مورد ابعاد مختلف مهندسی نرم افزار داشته باشه که خوندنش خالی از لطف نیست.
Software Architecture Guide
https://martinfowler.com/architecture/
@gocasts
❤6👍4
این پست موسس تلگرام رو بخونید، تجربه جالبی رو به اشتراک گذاشته، نکات مهمی رو هم گفته.
نکته ش شاید تکراری و یه جورایی کلیشه ای باشه، اما واقعیته. اکثر مسائل پیچیده و مبهم رو اگه به قدم های کوچیک و ساده بشکنی حل میشه. معماری و نرم افزار و کدهای خوب و مقیاس پذیر عموما یه سری طراحی و کد ساده هستن که به صورت ماژول های کوچیک و هدفمند توسعه داده شدن.
خیلی وقت ها وقتی یه مساله ای برای ما مبهم و جعبه سیاه هست فکر میکنیم راهکار و راه حل باید چیز عجیب غریبی باشه، در حالیکه معمولا اینطور نیست. ممکنه جزییات خاص و مهمی وجود داشته باشه، اما اگه اصل قضیه رو درست پیش بری، اون نکات ریز و مهم رو هم کم کم متوجه میشی که چی هستن و کجا کاربرد دارن.
https://news.1rj.ru/str/durov/355
@gocasts
نکته ش شاید تکراری و یه جورایی کلیشه ای باشه، اما واقعیته. اکثر مسائل پیچیده و مبهم رو اگه به قدم های کوچیک و ساده بشکنی حل میشه. معماری و نرم افزار و کدهای خوب و مقیاس پذیر عموما یه سری طراحی و کد ساده هستن که به صورت ماژول های کوچیک و هدفمند توسعه داده شدن.
خیلی وقت ها وقتی یه مساله ای برای ما مبهم و جعبه سیاه هست فکر میکنیم راهکار و راه حل باید چیز عجیب غریبی باشه، در حالیکه معمولا اینطور نیست. ممکنه جزییات خاص و مهمی وجود داشته باشه، اما اگه اصل قضیه رو درست پیش بری، اون نکات ریز و مهم رو هم کم کم متوجه میشی که چی هستن و کجا کاربرد دارن.
https://news.1rj.ru/str/durov/355
@gocasts
Telegram
Pavel Durov
#lifestories 🐶
Exactly 18 years ago today, I launched VK—my first large company. Below is the story of how it happened.
I graduated from Saint-Petersburg University in the summer of 2006. I wanted to keep in touch with my former classmates, but I knew…
Exactly 18 years ago today, I launched VK—my first large company. Below is the story of how it happened.
I graduated from Saint-Petersburg University in the summer of 2006. I wanted to keep in touch with my former classmates, but I knew…
👍22❤7😍1
با گولنگ معمولا فریمورک خاصی رو استفاده نمیکنم، خود گولنگ خیلی ساده ست و لازم نیست چیزی باهاش استفاده بشه
اما این ابزار بنظرم جالب بود، خودم تا حالا امتحانش نکردم، شاید اگه دنبال توسعه خیلی سریع یه سری 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
اما این ابزار بنظرم جالب بود، خودم تا حالا امتحانش نکردم، شاید اگه دنبال توسعه خیلی سریع یه سری 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
نکات ساده و مهمی رو درباره تست نویسی با گولنگ میگه، یه ابزار رو هم معرفی میکنه برای 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
👍13❤5
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
بخشی از کتاب «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
O’Reilly Online Learning
Efficient Go
With technological advancements, fast markets, and higher complexity of systems, software engineers tend to skip the uncomfortable topic of software efficiency. However, tactical,... - Selection from Efficient Go [Book]
👍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
چهار سال پیش به توصیه استاد عزیز مصطفی جان صولتی شروع کردم به دیدن دوره ویدیویی 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
👍13❤3🔥3
به لطف خدا یکسال از شروع تیمسازی گذشت!
بیش از ۲۰ برنامه نویس در تیمسازی دو پروژه فعال بودند که یه تعدادی از بچه ها استخدام بودند و دنبال شغل نبودند، و از بین افراد باقی مانده حداقل ۵ نفر استخدام شدند.
بیش از ۱۵۰ درخواست merge request پذیرفته شد و مرج شد
بیش از ۷۰ ساعت جلسه آنلاین تیمسازی داشتیم در ۵۰ هفته گذشته
تیمسازی رو به شدت به همه توصیه میکنم، فکر نمیکنم شبیه این نحوه برگزاری تیمسازی جای دیگه ای در ایران یا خارج برگزار بشه. اینکه به لطف خدا بیشتر از ۱۲ ماهه تقریبا هر هفته داریم با بچه ها جلسه برگزار میکنیم و سعی میکنیم چالش های جدی رو با هم بررسی کنیم و کدهارو ریویو کنیم که تلاش کنیم بچه ها از تجربه حداقلی لازم برای انجام پروژه با کیفیت و ساختار و معماری قابل قبول برخوردار بشن، میتونه تسهیل گر خوبی برای ادامه مسیرشون باشه
هیچ ادعایی نیست، دوره فعلی هم نقص و عیب زیاد داره، اما فکر میکنم ترکیب دوره و تیمسازی میتونه تجربه موثری برای شما باشه
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
بیش از ۲۰ برنامه نویس در تیمسازی دو پروژه فعال بودند که یه تعدادی از بچه ها استخدام بودند و دنبال شغل نبودند، و از بین افراد باقی مانده حداقل ۵ نفر استخدام شدند.
بیش از ۱۵۰ درخواست merge request پذیرفته شد و مرج شد
بیش از ۷۰ ساعت جلسه آنلاین تیمسازی داشتیم در ۵۰ هفته گذشته
تیمسازی رو به شدت به همه توصیه میکنم، فکر نمیکنم شبیه این نحوه برگزاری تیمسازی جای دیگه ای در ایران یا خارج برگزار بشه. اینکه به لطف خدا بیشتر از ۱۲ ماهه تقریبا هر هفته داریم با بچه ها جلسه برگزار میکنیم و سعی میکنیم چالش های جدی رو با هم بررسی کنیم و کدهارو ریویو کنیم که تلاش کنیم بچه ها از تجربه حداقلی لازم برای انجام پروژه با کیفیت و ساختار و معماری قابل قبول برخوردار بشن، میتونه تسهیل گر خوبی برای ادامه مسیرشون باشه
هیچ ادعایی نیست، دوره فعلی هم نقص و عیب زیاد داره، اما فکر میکنم ترکیب دوره و تیمسازی میتونه تجربه موثری برای شما باشه
توضیحات «دوره + تیمسازی بکند و گولنگ Go Casts» و تخفیف ۵۰ درصدی رو در این پست میتونید بخونید 👇
https://news.1rj.ru/str/gocasts/515
@gocasts
👍18❤8👏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
داشتن آشنایی حداقلی با این زبان بهتون ایده میده که نقش کامپایلر و مفسر چیه و یه کامپیوتر به چه شکلی برنامه های مارو اجرا میکنه.
زبان اسمبلی دقیقا اون مراحلی نیست که کامپیوتر اجرا میکنه، اما نزدیک ترین زبان هست به زبان ماشین.
آشنایی حداقلی ش رو به همه تون پیشنهاد میکنم.
کتابی که خودم در دوران دانشگاه استفاده میکردم این کتاب بود، که بسیار ازش راضی بودم، هم از کتاب و هم از ترجمه خوب دکتر سپیدنام
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