Learn Go with test-driven development
با روش TDD زبان برنامهنویسی go رو یاد بگیرید.
#go #golang #tdd #test #red #green #refactor #testing #driven #development
https://github.com/quii/learn-go-with-tests
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
با روش TDD زبان برنامهنویسی go رو یاد بگیرید.
#go #golang #tdd #test #red #green #refactor #testing #driven #development
https://github.com/quii/learn-go-with-tests
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🔥8
سورسکدهای مرتبط با کتاب معروف ۱۰۰ اشتباه برنامهنویسی با زبان Go
#go #golang #mistake #book #list #mistakes #gotcha
https://github.com/teivah/100-go-mistakes
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
#go #golang #mistake #book #list #mistakes #gotcha
https://github.com/teivah/100-go-mistakes
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
GitHub
GitHub - teivah/100-go-mistakes: 📖 100 Go Mistakes and How to Avoid Them
📖 100 Go Mistakes and How to Avoid Them. Contribute to teivah/100-go-mistakes development by creating an account on GitHub.
👍11
📚 فصل اول کتاب زبان برنامه نویسی گو فارسی تمام شد
مفتخریم فصل اول کتاب را تمام کردیم و در کنار این فصل ما یکسری امکانات دیگری به کتاب اضافه کردیم تا در هر شرایطی به کتاب دسترسی داشته باشید.
🚀 ویژگی های جدید :
- اپلیکیشن آفلاین و آنلاین برای انواع پلت فرم های دسکتاپ و موبایل
- ایمیج داکر برای اندازی کانتینر کتاب برای دسترسی آفلاین
- سرورهای مختلف برای دسترسی کتاب
- تکمیل فصل اول
توجه : فصل دوم هم اکنون شروع شده و هنوزم دیر نشده برای اینکه به جمع مشارکت کنندگان بپیوندید.
- https://book.gofarsi.ir
- https://book.ir1.gofarsi.ir
- https://ipfs-book.gofarsi.ir
- https://book.m1.gofarsi.ir
- https://book.m2.gofarsi.ir
مخزن کتاب : https://github.com/GoFarsi/book
لینک مشارکت : https://github.com/GoFarsi/book/blob/main/COUNTRIBUTING.md
#go #golang
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
مفتخریم فصل اول کتاب را تمام کردیم و در کنار این فصل ما یکسری امکانات دیگری به کتاب اضافه کردیم تا در هر شرایطی به کتاب دسترسی داشته باشید.
🚀 ویژگی های جدید :
- اپلیکیشن آفلاین و آنلاین برای انواع پلت فرم های دسکتاپ و موبایل
- ایمیج داکر برای اندازی کانتینر کتاب برای دسترسی آفلاین
- سرورهای مختلف برای دسترسی کتاب
- تکمیل فصل اول
توجه : فصل دوم هم اکنون شروع شده و هنوزم دیر نشده برای اینکه به جمع مشارکت کنندگان بپیوندید.
- https://book.gofarsi.ir
- https://book.ir1.gofarsi.ir
- https://ipfs-book.gofarsi.ir
- https://book.m1.gofarsi.ir
- https://book.m2.gofarsi.ir
مخزن کتاب : https://github.com/GoFarsi/book
لینک مشارکت : https://github.com/GoFarsi/book/blob/main/COUNTRIBUTING.md
#go #golang
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
🕊11👍3🍾3⚡1
Free class remote about writing smart contracts in golang by William Kennedy.
⏳ Limited time for register
🔗 https://www.ardanlabs.com/live-training-events/smart-contracts-with-go-feb-13-2023.html
#go #blockchain
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
⏳ Limited time for register
🔗 https://www.ardanlabs.com/live-training-events/smart-contracts-with-go-feb-13-2023.html
#go #blockchain
➖➖➖➖➖➖➖➖➖
🔰 @gopher_academy
👀4👍3🤩1🍌1
Go With The Domain - DevTwitter.pdf
21.1 MB
#Go
Go With The Domain
Building Modern Business Software in Go
- By Robert Laszczak and Milosz Smolka
- 221 Pages
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
Go With The Domain
Building Modern Business Software in Go
- By Robert Laszczak and Milosz Smolka
- 221 Pages
➖➖➖➖➖➖➖➖
🕊 @gopher_academy
🍾4🔥2💊1
۵۰ نکته برای کسانی که قصد یادگیری زبان برنامهنویسی Go را دارند.
#golang #go #tip #tips
https://golang50shad.es
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
#golang #go #tip #tips
https://golang50shad.es
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
👍6🔥2❤1🍾1
for loop in golang in idiomatic way
» output: 0 1 4 9 16 25 36 49 64 81
#go_idiom
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
func main() {
i := 0
for ok := true; ok; ok = (i != 10) {
fmt.Print(i*i, " ")
i++
}
}
» output: 0 1 4 9 16 25 36 49 64 81
#go_idiom
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
👍3
package main
import "fmt"
func main() {
var values = []string{"1", "2", "3", "4", "5"}
for _, value := range values[1:] {
fmt.Println(value)
}
}
ایجاد و استفاده از حلقه for range در زبان گولنگ و همچنین محدود کردن slice مورد نظر آن به کمک اندیس ها
#go_idiom
➖➖➖➖➖➖➖➖
🕊 @gopher_academy | @GolangEngineers
🍾5👍3 1
🟢Unintended variable shadowing (#1)
🔵Avoiding shadowed variables can help prevent mistakes like referencing the wrong variable or confusing readers.
#tip #go
➖➖➖➖➖➖➖
👑 @gopher_academy
🔵Avoiding shadowed variables can help prevent mistakes like referencing the wrong variable or confusing readers.
#tip #go
➖➖➖➖➖➖➖
👑 @gopher_academy
👍3🎉2
🔵 عنوان مقاله
GitHub's Dependabot now supports
🟢 خلاصه مقاله:
** GitHub قابلیت جدیدی به Dependabot اضافه کرده تا اکنون بتواند Go modules را از private registries نیز بهصورت خودکار بهروزرسانی کند. این تغییر برای تیمهایی که ترکیبی از پکیجهای عمومی و داخلی دارند مهم است، چون دیگر مدیریت نسخههای داخلی دستی یا با ابزارهای سفارشی انجام نمیشود و کل گراف وابستگیها پوشش داده میشود. با پیکربندی dependabot.yml و افزودن اطلاعات دسترسی به رجیستری خصوصی، Dependabot میتواند برای بهروزرسانیها Pull Request بسازد و انتشار وصلههای امنیتی را به کدهای وابسته تسهیل کند. Blake Gentry جزئیات پیکربندی، نمونهها و نکات رفع اشکال را نیز توضیح میدهد.
#Dependabot #GitHub #Go #Golang #PrivateRegistry #DependencyManagement #SoftwareSupplyChain #Security
🟣لینک مقاله:
https://golangweekly.com/link/174441/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub's Dependabot now supports
🟢 خلاصه مقاله:
** GitHub قابلیت جدیدی به Dependabot اضافه کرده تا اکنون بتواند Go modules را از private registries نیز بهصورت خودکار بهروزرسانی کند. این تغییر برای تیمهایی که ترکیبی از پکیجهای عمومی و داخلی دارند مهم است، چون دیگر مدیریت نسخههای داخلی دستی یا با ابزارهای سفارشی انجام نمیشود و کل گراف وابستگیها پوشش داده میشود. با پیکربندی dependabot.yml و افزودن اطلاعات دسترسی به رجیستری خصوصی، Dependabot میتواند برای بهروزرسانیها Pull Request بسازد و انتشار وصلههای امنیتی را به کدهای وابسته تسهیل کند. Blake Gentry جزئیات پیکربندی، نمونهها و نکات رفع اشکال را نیز توضیح میدهد.
#Dependabot #GitHub #Go #Golang #PrivateRegistry #DependencyManagement #SoftwareSupplyChain #Security
🟣لینک مقاله:
https://golangweekly.com/link/174441/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The GitHub Blog
Go private registry support for Dependabot now generally available - GitHub Changelog
Dependabot can now update private Go modules hosted on enterprise registries and behind GOPROXY-compatible private proxies, as well as public modules, within the same workflow. This enables automated version and…
🔵 عنوان مقاله
graphics.gd: Use Go with the Godot Game Engine
🟢 خلاصه مقاله:
اGodot یک موتور محبوب برای ساخت بازیهای 2D و 3D است و با وجود شباهت نام، ربطی به Go ندارد. پروژه graphics.gd پلی میان این دو میزند: یک لایه runtime و ابزار فراهم میکند تا بتوانید منطق بازی و اپ را با Go بنویسید و همزمان از امکانات و گردشکار Godot بهره ببرید. این رویکرد، ویژگیهای کراسپلتفرم Godot را حفظ میکند و اکنون حتی امکان ساخت اپهای iOS با Go را نیز فراهم کرده است. نتیجه، مسیری عملی برای توسعهدهندگان Go و کاربران Godot است که میخواهند کدنویسی را با Go انجام دهند بیآنکه از مزیتهای خود Godot چشمپوشی کنند.
#Go #Godot #Golang #GameDev #iOS #Bindings #CrossPlatform #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/174443/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
graphics.gd: Use Go with the Godot Game Engine
🟢 خلاصه مقاله:
اGodot یک موتور محبوب برای ساخت بازیهای 2D و 3D است و با وجود شباهت نام، ربطی به Go ندارد. پروژه graphics.gd پلی میان این دو میزند: یک لایه runtime و ابزار فراهم میکند تا بتوانید منطق بازی و اپ را با Go بنویسید و همزمان از امکانات و گردشکار Godot بهره ببرید. این رویکرد، ویژگیهای کراسپلتفرم Godot را حفظ میکند و اکنون حتی امکان ساخت اپهای iOS با Go را نیز فراهم کرده است. نتیجه، مسیری عملی برای توسعهدهندگان Go و کاربران Godot است که میخواهند کدنویسی را با Go انجام دهند بیآنکه از مزیتهای خود Godot چشمپوشی کنند.
#Go #Godot #Golang #GameDev #iOS #Bindings #CrossPlatform #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/174443/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - quaadgras/graphics.gd: Go + Godot 4.5
Go + Godot 4.5. Contribute to quaadgras/graphics.gd development by creating an account on GitHub.
🔥1
🔵 عنوان مقاله
Using Go Channels to Solve Interface Impedance Mismatch
🟢 خلاصه مقاله:
استفاده از Go Channels برای رفع ناسازگاری بین رابطها
این یادداشت نشان میدهد که چگونه میتوان از Go Channels نه برای همزمانی، بلکه بهعنوان یک لایه تطبیق سبک استفاده کرد. Zach Musgrave توضیح میدهد که در مواجهه با “interface impedance mismatch”—جایی که یک API داده را بهصورت push میدهد و دیگری آن را بهصورت pull مصرف میکند، یا یکی جریانمحور است و دیگری تکرارشونده—یک Channel میتواند بهعنوان بافری خنثی، این دو جهان را بدون تغییرات اساسی در کد به هم متصل کند. در این الگو، تولیدکننده در همان جریان اجرای عادی دادهها را داخل Channel میگذارد و مصرفکننده با الگوی خواندن رایج از روی Channel آنها را برمیدارد؛ نیازی به goroutine یا معماری همزمانی پیچیده نیست. مزیتها شامل جداسازی بهتر، سادهسازی تبدیل بین رابطها، و تستپذیری بالاتر است؛ با این احتیاطها که اندازه بافر معقول انتخاب شود و استفاده غیرهمزمانی از Channel بهوضوح مستند گردد. پیام اصلی: Channels فقط برای همزمانی نیستند؛ آنها یک واسط ترکیبی مفید برای آشتی دادن APIها—بهویژه در تبدیل push/pull و جریان/تکرار—هستند.
#Go #Golang #Channels #APIDesign #InterfaceImpedanceMismatch #SoftwareEngineering #DesignPatterns #GoTips
🟣لینک مقاله:
https://golangweekly.com/link/174421/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Using Go Channels to Solve Interface Impedance Mismatch
🟢 خلاصه مقاله:
استفاده از Go Channels برای رفع ناسازگاری بین رابطها
این یادداشت نشان میدهد که چگونه میتوان از Go Channels نه برای همزمانی، بلکه بهعنوان یک لایه تطبیق سبک استفاده کرد. Zach Musgrave توضیح میدهد که در مواجهه با “interface impedance mismatch”—جایی که یک API داده را بهصورت push میدهد و دیگری آن را بهصورت pull مصرف میکند، یا یکی جریانمحور است و دیگری تکرارشونده—یک Channel میتواند بهعنوان بافری خنثی، این دو جهان را بدون تغییرات اساسی در کد به هم متصل کند. در این الگو، تولیدکننده در همان جریان اجرای عادی دادهها را داخل Channel میگذارد و مصرفکننده با الگوی خواندن رایج از روی Channel آنها را برمیدارد؛ نیازی به goroutine یا معماری همزمانی پیچیده نیست. مزیتها شامل جداسازی بهتر، سادهسازی تبدیل بین رابطها، و تستپذیری بالاتر است؛ با این احتیاطها که اندازه بافر معقول انتخاب شود و استفاده غیرهمزمانی از Channel بهوضوح مستند گردد. پیام اصلی: Channels فقط برای همزمانی نیستند؛ آنها یک واسط ترکیبی مفید برای آشتی دادن APIها—بهویژه در تبدیل push/pull و جریان/تکرار—هستند.
#Go #Golang #Channels #APIDesign #InterfaceImpedanceMismatch #SoftwareEngineering #DesignPatterns #GoTips
🟣لینک مقاله:
https://golangweekly.com/link/174421/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Dolthub
Go channels to solve interface impedance mismatch
Learn how Go channels can solve a particular form of interface mismatch common in application development.
🔵 عنوان مقاله
GopherCon 2025 Go Contributor Summit Notes
🟢 خلاصه مقاله:
در GopherCon 2025 جمع زیادی از مشارکتکنندگان Go گرد هم آمدند و درباره مدیریت وابستگیها، روند بررسی و پذیرش پیشنهادهای زبانی، کارایی و الگوهای بهینه در cgo، امنیت و پیادهسازی WebAuthn، وضعیت فازینگ و پوشش تست، و هدفگیری WebAssembly (و حتی بهصورت گذرا JVM) گفتگو کردند. محورهای اصلی شامل بهبود reproducible builds و امنیت در اکوسیستم ماژولها، شفافتر و کارآمدتر شدن فرآیند پروپوزالها با درسآموختههای generics و حفظ سازگاری عقبرو، کاهش سربار مرز Go/C در cgo، بلوغ فازینگ و پوشش در CI، و چالشهای Wasm/WASI مانند اندازه باینری، زمان راهاندازی و async بود. هرچند یادداشتها خاماند، اما جهتگیریها، اولویتها و سوالات باز را روشن میکنند و انتظار میرود با مسائل پیگیری، اسناد طراحی و دعوت به بازخورد از سوی جامعه ادامه یابد.
#Go #GopherCon #cgo #WebAuthn #WebAssembly #Fuzzing #DependencyManagement #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/174417/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GopherCon 2025 Go Contributor Summit Notes
🟢 خلاصه مقاله:
در GopherCon 2025 جمع زیادی از مشارکتکنندگان Go گرد هم آمدند و درباره مدیریت وابستگیها، روند بررسی و پذیرش پیشنهادهای زبانی، کارایی و الگوهای بهینه در cgo، امنیت و پیادهسازی WebAuthn، وضعیت فازینگ و پوشش تست، و هدفگیری WebAssembly (و حتی بهصورت گذرا JVM) گفتگو کردند. محورهای اصلی شامل بهبود reproducible builds و امنیت در اکوسیستم ماژولها، شفافتر و کارآمدتر شدن فرآیند پروپوزالها با درسآموختههای generics و حفظ سازگاری عقبرو، کاهش سربار مرز Go/C در cgo، بلوغ فازینگ و پوشش در CI، و چالشهای Wasm/WASI مانند اندازه باینری، زمان راهاندازی و async بود. هرچند یادداشتها خاماند، اما جهتگیریها، اولویتها و سوالات باز را روشن میکنند و انتظار میرود با مسائل پیگیری، اسناد طراحی و دعوت به بازخورد از سوی جامعه ادامه یابد.
#Go #GopherCon #cgo #WebAuthn #WebAssembly #Fuzzing #DependencyManagement #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/174417/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Google Docs
GopherCon 2025 Go Contributor Summit Notes
GopherCon 2025 Go Contributor Summit Notes 2025-08-26 https://go.dev/s/gc25-summit Attendees: Madhav Jivrajani, madhav.jiv@gmail.com Jake Bailey (@jakebailey) Carlos Amedee (@cagedmantis) Filippo Valsorda (@FiloSottile) filippo@golang.org Roxy Light (@zombiezen)…
🔵 عنوان مقاله
How to Implement the Outbox Pattern in Go and Postgres
🟢 خلاصه مقاله:
** این مقاله توضیح میدهد چگونه با الگوی Outbox در کنار Go و Postgres، مشکل دونوشتن را حل کنیم و ارسال رویدادها را قابلاعتماد کنیم. ایده اصلی این است که در یک تراکنش واحد، هم تغییرات دامنه و هم رکورد مربوط به رویداد در جدول outbox ذخیره شود تا یا هر دو باهم انجام شوند یا هیچکدام. سپس یک پردازشگر پسزمینه رکوردهای معوق را با SELECT … FOR UPDATE SKIP LOCKED برداشته، آنها را به سامانهای مثل Kafka یا RabbitMQ یا یک وبهوک ارسال میکند و وضعیتشان را به processed تغییر میدهد.
نکات کلیدی پیادهسازی شامل: طراحی جدول outbox با فیلدهایی مانند type، payload (معمولاً JSON)، status، retry_count و زمانها؛ پوشش هر دو عملیات (نوشتن دامنه و درج outbox) در یک تراکنش؛ پیادهسازی worker در Go برای برداشت دستهای، ارسال، ثبت موفقیت/خطا و بازآزمایی با backoff؛ تکیه بر تحویل حداقل-یکبار همراه با مصرفکنندههای idempotent برای مدیریت تکرار؛ و پایش شاخصهایی مثل تأخیر برداشت و نرخ شکست. برای بهینگی عملیاتی، پاکسازی دورهای رکوردهای پردازششده، ایندکسگذاری مناسب، رسیدگی به پیامهای مشکلدار (dead-letter) و حفظ ترتیب رویدادها در سطح aggregate ضروری است. ترکیب polling با LISTEN/NOTIFY در Postgres میتواند زمان واکنش را بهتر کند. نتیجه، راهکاری ساده و مقیاسپذیر است که بدون تراکنشهای توزیعشده، قابلیت اتکا را در معماری رویدادمحور فراهم میکند.
#OutboxPattern #Go #Postgres #Microservices #EventDriven #TransactionalOutbox #Messaging #Reliability
🟣لینک مقاله:
https://golangweekly.com/link/174422/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
How to Implement the Outbox Pattern in Go and Postgres
🟢 خلاصه مقاله:
** این مقاله توضیح میدهد چگونه با الگوی Outbox در کنار Go و Postgres، مشکل دونوشتن را حل کنیم و ارسال رویدادها را قابلاعتماد کنیم. ایده اصلی این است که در یک تراکنش واحد، هم تغییرات دامنه و هم رکورد مربوط به رویداد در جدول outbox ذخیره شود تا یا هر دو باهم انجام شوند یا هیچکدام. سپس یک پردازشگر پسزمینه رکوردهای معوق را با SELECT … FOR UPDATE SKIP LOCKED برداشته، آنها را به سامانهای مثل Kafka یا RabbitMQ یا یک وبهوک ارسال میکند و وضعیتشان را به processed تغییر میدهد.
نکات کلیدی پیادهسازی شامل: طراحی جدول outbox با فیلدهایی مانند type، payload (معمولاً JSON)، status، retry_count و زمانها؛ پوشش هر دو عملیات (نوشتن دامنه و درج outbox) در یک تراکنش؛ پیادهسازی worker در Go برای برداشت دستهای، ارسال، ثبت موفقیت/خطا و بازآزمایی با backoff؛ تکیه بر تحویل حداقل-یکبار همراه با مصرفکنندههای idempotent برای مدیریت تکرار؛ و پایش شاخصهایی مثل تأخیر برداشت و نرخ شکست. برای بهینگی عملیاتی، پاکسازی دورهای رکوردهای پردازششده، ایندکسگذاری مناسب، رسیدگی به پیامهای مشکلدار (dead-letter) و حفظ ترتیب رویدادها در سطح aggregate ضروری است. ترکیب polling با LISTEN/NOTIFY در Postgres میتواند زمان واکنش را بهتر کند. نتیجه، راهکاری ساده و مقیاسپذیر است که بدون تراکنشهای توزیعشده، قابلیت اتکا را در معماری رویدادمحور فراهم میکند.
#OutboxPattern #Go #Postgres #Microservices #EventDriven #TransactionalOutbox #Messaging #Reliability
🟣لینک مقاله:
https://golangweekly.com/link/174422/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Medium
How to implement the Outbox pattern in Go and Postgres
I was at a ContainerDays conference recently and attended a great talk from Nikolay Kuznetsov about the Outbox pattern and resilient system…
❤2
🔵 عنوان مقاله
It's Survey Time! The 2025 Go Developer Survey is Live
🟢 خلاصه مقاله:
** نظرسنجی 2025 Go Developer Survey آغاز شده و Go team طبق روال دورهای برای تعیین اولویتهای بعدی از جامعه بازخورد میگیرد. این نظرسنجی به تصمیمها درباره زبان، ابزارها، مستندات و اکوسیستم کمک میکند. مهلت شرکت کوتاه است و تا September 30 ادامه دارد—اگر با Go کار میکنید یا به آن علاقهمندید، همین حالا مشارکت کنید و خبرش را به دیگران هم برسانید.
#Go #Golang #DeveloperSurvey #GoCommunity #2025 #Programming #OpenSource #DevTools
🟣لینک مقاله:
https://golangweekly.com/link/174414/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
It's Survey Time! The 2025 Go Developer Survey is Live
🟢 خلاصه مقاله:
** نظرسنجی 2025 Go Developer Survey آغاز شده و Go team طبق روال دورهای برای تعیین اولویتهای بعدی از جامعه بازخورد میگیرد. این نظرسنجی به تصمیمها درباره زبان، ابزارها، مستندات و اکوسیستم کمک میکند. مهلت شرکت کوتاه است و تا September 30 ادامه دارد—اگر با Go کار میکنید یا به آن علاقهمندید، همین حالا مشارکت کنید و خبرش را به دیگران هم برسانید.
#Go #Golang #DeveloperSurvey #GoCommunity #2025 #Programming #OpenSource #DevTools
🟣لینک مقاله:
https://golangweekly.com/link/174414/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
It's survey time! How has Go has been working out for you? - The Go Programming Language
Help shape the future of Go
❤4
🔵 عنوان مقاله
Memory Allocation in Go
🟢 خلاصه مقاله:
مدیریت و تخصیص کارای حافظه، پایهی عملکرد و پایداری برنامههای Go است. این مقاله با مجموعهای از نمودارهای روشن، پشتپردهی تخصیص حافظه در Go را شرح میدهد: از نحوهی درخواست حافظه از سیستمعامل و سازماندهی آن در runtime تا تعامل آن با garbage collector و تأثیر الگوهای تخصیص بر فشار GC، تأخیر و کارایی. هدف مقاله ایجاد یک مدل ذهنی عملی است تا—even با تکیه بر پیشفرضهای منطقی Go—بتوانید بهتر پروفایلها را بخوانید، دربارهی تأخیر نتیجهگیری کنید و از تلههای رایج عملکردی دور بمانید.
#Go #Golang #MemoryManagement #GarbageCollection #Performance #GoRuntime #SystemsProgramming
🟣لینک مقاله:
https://golangweekly.com/link/174413/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Memory Allocation in Go
🟢 خلاصه مقاله:
مدیریت و تخصیص کارای حافظه، پایهی عملکرد و پایداری برنامههای Go است. این مقاله با مجموعهای از نمودارهای روشن، پشتپردهی تخصیص حافظه در Go را شرح میدهد: از نحوهی درخواست حافظه از سیستمعامل و سازماندهی آن در runtime تا تعامل آن با garbage collector و تأثیر الگوهای تخصیص بر فشار GC، تأخیر و کارایی. هدف مقاله ایجاد یک مدل ذهنی عملی است تا—even با تکیه بر پیشفرضهای منطقی Go—بتوانید بهتر پروفایلها را بخوانید، دربارهی تأخیر نتیجهگیری کنید و از تلههای رایج عملکردی دور بمانید.
#Go #Golang #MemoryManagement #GarbageCollection #Performance #GoRuntime #SystemsProgramming
🟣لینک مقاله:
https://golangweekly.com/link/174413/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Melatoni
Memory Allocation in Go
🔥3
🔵 عنوان مقاله
Google Gen AI Go SDK v1.25.0
🟢 خلاصه مقاله: ا
اSDK جدید Google Gen AI Go SDK v1.25.0 یک کتابخانه آمادهٔ تولید است که ادغام مدلهای مولد Google مثل Gemini را از طریق Gemini API و Vertex AI در برنامههای نوشتهشده با Go آسان میکند. این SDK احراز هویت با API key یا Google Cloud credentials، انتخاب مدل، مدیریت prompt و پاسخ، استریم خروجی، تنظیمات ایمنی و دستورالعملهای سیستمی را ساده میسازد و با الگوهای رایج Go مثل context.Context سازگار است. برای ساخت دستیارهای گفتگو، تولید محتوا و کد، خلاصهسازی و پرسشوپاسخ روی اسناد کاربرد دارد. نسخه v1.25.0 بهبودهای پایداری و کارایی و تجربهٔ توسعهدهنده را ارائه میدهد و با نسخههای جدید Gemini و کاتالوگ Vertex AI همسو شده است؛ برای جزئیات، مراجعه به release notes توصیه میشود.
#Go #Golang #GenerativeAI #Google #Gemini #VertexAI #SDK #AIIntegration
🟣لینک مقاله:
https://golangweekly.com/link/174429/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Google Gen AI Go SDK v1.25.0
🟢 خلاصه مقاله: ا
اSDK جدید Google Gen AI Go SDK v1.25.0 یک کتابخانه آمادهٔ تولید است که ادغام مدلهای مولد Google مثل Gemini را از طریق Gemini API و Vertex AI در برنامههای نوشتهشده با Go آسان میکند. این SDK احراز هویت با API key یا Google Cloud credentials، انتخاب مدل، مدیریت prompt و پاسخ، استریم خروجی، تنظیمات ایمنی و دستورالعملهای سیستمی را ساده میسازد و با الگوهای رایج Go مثل context.Context سازگار است. برای ساخت دستیارهای گفتگو، تولید محتوا و کد، خلاصهسازی و پرسشوپاسخ روی اسناد کاربرد دارد. نسخه v1.25.0 بهبودهای پایداری و کارایی و تجربهٔ توسعهدهنده را ارائه میدهد و با نسخههای جدید Gemini و کاتالوگ Vertex AI همسو شده است؛ برای جزئیات، مراجعه به release notes توصیه میشود.
#Go #Golang #GenerativeAI #Google #Gemini #VertexAI #SDK #AIIntegration
🟣لینک مقاله:
https://golangweekly.com/link/174429/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - googleapis/go-genai: Google Gen AI Go SDK provides an interface for developers to integrate Google's generative models…
Google Gen AI Go SDK provides an interface for developers to integrate Google's generative models into their Go applications. - googleapis/go-genai
🔵 عنوان مقاله
Observe Live SQL Queries in Go with DTrace
🟢 خلاصه مقاله:
این مطلب از Golang Weekly نشان میدهد چطور با استفاده از DTrace بدون تغییر کد و توقف سرویس، کوئریهای SQL را در برنامههای Go بهصورت زنده مشاهده کنیم. نویسنده با معرفی کوتاهی از DTrace بهعنوان یک ابزار ردیابی پویا و کمسربار، قدمبهقدم نحوه راهاندازی روی سیستمعاملهای پشتیبانیشده، اتصال به پردازه در حال اجرا و نوشتن اسکریپتهای ساده برای دیدن متن کوئری، زمان اجرا و الگوهای فراوانی را توضیح میدهد؛ همراه با فیلترگذاری برای محدود کردن خروجی به سرویس/کاربر/درایور موردنظر و نکاتی برای حفظ سربار کم.
کاربرد این روش، عیبیابی سریع مسائلی مثل کوئریهای کند، الگوهای N+1، شاخصهای مفقود و ORM پرحرف در شرایط واقعی تولید است. این رویکرد مکمل لاگها و APM است و امکان تشخیص فوری و تأیید سریع اصلاحات را میدهد. در بخش ملاحظات، به تفاوت پشتیبانی پلتفرمها (مثل FreeBSD و برخی نسخههای macOS؛ و پیشنهاد eBPF روی Linux)، نیاز به دسترسیهای بالا، حساسیت دادههای متنی کوئری و ضرورت سنجش سربار در محیط staging اشاره میشود.
#Go #DTrace #SQL #Observability #Performance #GolangWeekly #eBPF #Database
🟣لینک مقاله:
https://golangweekly.com/link/174425/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Observe Live SQL Queries in Go with DTrace
🟢 خلاصه مقاله:
این مطلب از Golang Weekly نشان میدهد چطور با استفاده از DTrace بدون تغییر کد و توقف سرویس، کوئریهای SQL را در برنامههای Go بهصورت زنده مشاهده کنیم. نویسنده با معرفی کوتاهی از DTrace بهعنوان یک ابزار ردیابی پویا و کمسربار، قدمبهقدم نحوه راهاندازی روی سیستمعاملهای پشتیبانیشده، اتصال به پردازه در حال اجرا و نوشتن اسکریپتهای ساده برای دیدن متن کوئری، زمان اجرا و الگوهای فراوانی را توضیح میدهد؛ همراه با فیلترگذاری برای محدود کردن خروجی به سرویس/کاربر/درایور موردنظر و نکاتی برای حفظ سربار کم.
کاربرد این روش، عیبیابی سریع مسائلی مثل کوئریهای کند، الگوهای N+1، شاخصهای مفقود و ORM پرحرف در شرایط واقعی تولید است. این رویکرد مکمل لاگها و APM است و امکان تشخیص فوری و تأیید سریع اصلاحات را میدهد. در بخش ملاحظات، به تفاوت پشتیبانی پلتفرمها (مثل FreeBSD و برخی نسخههای macOS؛ و پیشنهاد eBPF روی Linux)، نیاز به دسترسیهای بالا، حساسیت دادههای متنی کوئری و ضرورت سنجش سربار در محیط staging اشاره میشود.
#Go #DTrace #SQL #Observability #Performance #GolangWeekly #eBPF #Database
🟣لینک مقاله:
https://golangweekly.com/link/174425/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🔥2