🔵 عنوان مقاله
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)…
🔵 عنوان مقاله
qjs: Run JavaScript in Go
🟢 خلاصه مقاله:
qjs یک روش تازه برای اجرای JavaScript داخل اپهای Go است که بدون نیاز به Cgo کار میکند. بهجای اتصال به یک کتابخانه بومی، نسخه فورکشدهای از QuickJS را به WebAssembly کامپایل کرده و آن را زیر Wazero اجرا میکند. این رویکرد کل زنجیره را در محیط خالص Go نگه میدارد و فرایند بیلد، استاتیکسازی و کراسکامپایل را سادهتر میکند. مزیت دیگر، ایزولهسازی و سندباکس طبیعی ناشی از WebAssembly است. هرچند احتمالاً نسبت به اتصال بومی اندکی سربار دارد، اما برای سناریوهایی مثل اسکریپتنویسی، افزونهها و اجرای امن منطق کاربر، توازن خوبی بین سادگی، پرتابلبودن و امنیت ارائه میدهد.
#Go #JavaScript #WebAssembly #Wazero #QuickJS #Cgo #GoLang #Embedding
🟣لینک مقاله:
https://golangweekly.com/link/175350/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
qjs: Run JavaScript in Go
🟢 خلاصه مقاله:
qjs یک روش تازه برای اجرای JavaScript داخل اپهای Go است که بدون نیاز به Cgo کار میکند. بهجای اتصال به یک کتابخانه بومی، نسخه فورکشدهای از QuickJS را به WebAssembly کامپایل کرده و آن را زیر Wazero اجرا میکند. این رویکرد کل زنجیره را در محیط خالص Go نگه میدارد و فرایند بیلد، استاتیکسازی و کراسکامپایل را سادهتر میکند. مزیت دیگر، ایزولهسازی و سندباکس طبیعی ناشی از WebAssembly است. هرچند احتمالاً نسبت به اتصال بومی اندکی سربار دارد، اما برای سناریوهایی مثل اسکریپتنویسی، افزونهها و اجرای امن منطق کاربر، توازن خوبی بین سادگی، پرتابلبودن و امنیت ارائه میدهد.
#Go #JavaScript #WebAssembly #Wazero #QuickJS #Cgo #GoLang #Embedding
🟣لینک مقاله:
https://golangweekly.com/link/175350/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - fastschema/qjs: QJS is a CGO-Free, modern, secure JavaScript runtime for Go applications, built on the powerful QuickJS…
QJS is a CGO-Free, modern, secure JavaScript runtime for Go applications, built on the powerful QuickJS engine and Wazero WebAssembly runtime - fastschema/qjs
🔵 عنوان مقاله
go-sqlite3: Go Bindings to SQLite Using Wazero
🟢 خلاصه مقاله:
این کتابخانه با نام go-sqlite3 امکان استفاده از SQLite در Go را بدون cgo فراهم میکند. هسته SQLite بهصورت WebAssembly اجرا و درون runtimeِ wazero بارگذاری میشود، در حالیکه رابطی سازگار با database/sql ارائه میدهد. نتیجه این است که بیشتر کدهای موجود مبتنی بر database/sql با کمترین تغییر کار میکنند و در عوض، مزایایی مثل باینریهای کاملاً استاتیک، کراسکامپایل آسان، وابستگیهای کمتر به سیستمعامل و استقرار سادهتر (بهویژه در کانتینر و Serverless) به دست میآید. اجرای SQLite داخل WebAssembly علاوهبر یک محیط ایزوله و قابل پیشبینی، ممکن است محدودیتهایی هم داشته باشد؛ از جمله عدم پشتیبانی برخی افزونههای بومی و کارایی پایینتر نسبت به نسخههای cgo. با این حال برای بسیاری از کاربردها مانند ابزارهای خط فرمان، سرویسهای سبک، تستها و محیطهای ابری، این مبادله بهخاطر قابلحمل بودن و سادگی عملیاتی ارزشمند است.
#Go #SQLite #WebAssembly #wazero #database_sql #cgo #GoBindings #Serverless
🟣لینک مقاله:
https://golangweekly.com/link/176633/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go-sqlite3: Go Bindings to SQLite Using Wazero
🟢 خلاصه مقاله:
این کتابخانه با نام go-sqlite3 امکان استفاده از SQLite در Go را بدون cgo فراهم میکند. هسته SQLite بهصورت WebAssembly اجرا و درون runtimeِ wazero بارگذاری میشود، در حالیکه رابطی سازگار با database/sql ارائه میدهد. نتیجه این است که بیشتر کدهای موجود مبتنی بر database/sql با کمترین تغییر کار میکنند و در عوض، مزایایی مثل باینریهای کاملاً استاتیک، کراسکامپایل آسان، وابستگیهای کمتر به سیستمعامل و استقرار سادهتر (بهویژه در کانتینر و Serverless) به دست میآید. اجرای SQLite داخل WebAssembly علاوهبر یک محیط ایزوله و قابل پیشبینی، ممکن است محدودیتهایی هم داشته باشد؛ از جمله عدم پشتیبانی برخی افزونههای بومی و کارایی پایینتر نسبت به نسخههای cgo. با این حال برای بسیاری از کاربردها مانند ابزارهای خط فرمان، سرویسهای سبک، تستها و محیطهای ابری، این مبادله بهخاطر قابلحمل بودن و سادگی عملیاتی ارزشمند است.
#Go #SQLite #WebAssembly #wazero #database_sql #cgo #GoBindings #Serverless
🟣لینک مقاله:
https://golangweekly.com/link/176633/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - ncruces/go-sqlite3: Go bindings to SQLite using wazero
Go bindings to SQLite using wazero. Contribute to ncruces/go-sqlite3 development by creating an account on GitHub.
❤1👍1
🔵 عنوان مقاله
Using Docker to Deal with cgo Build Complexity
🟢 خلاصه مقاله:
در توسعه نرمافزار، ساخت باینریهای قابل اجرا برای سیستمهای مختلف معمولاً با چالشهایی همراه است، به ویژه زمانی که پروژه شما وابسته به کتابخانهها یا کدهایی باشد که از cgo بهره میبرند. ابزارهای استاندارد زبان Go این امکان را فراهم میکنند تا به راحتی برای سیستمهای متفاوت ساخت انجام دهید، اما در صورت وجود وابستگیهایی که نیازمند کدهای C هستند، فرآیند پیچیدهتر میشود و مشکلاتی در حین ساخت و پشتیبانی به وجود میآید.
تیم Dolt برای حل این مسئله از Docker استفاده میکند. با بهرهگیری از کانتینرهای Docker، آنها قادر هستند محیطی کنترلشده و هماهنگ فراهم کنند که تمام نیازهای مربوط به ساخت پروژه را برآورده میکند. این رویه نه تنها فرآیند ساخت را سادهتر میکند، بلکه خطاهای مرتبط با محیطهای توسعه متفاوت را کاهش میدهد و امکان توسعه و استقرار نرمافزار در سیستمهای متفاوت را تسهیل مینماید.
استفاده از Docker در این حوزه، ابزار قوی و موثری است که توسعهدهندگان را از دستکاریهای پیچیده و مشکلات ناسازگاری محیطهای ساخت نجات میدهد و فرآیند تولید نسخههای مختلف را بسیار کارآمدتر میسازد. به این ترتیب، تیم Dolt توانسته است روند توسعه و عرضه محصولات مبتنی بر Go را سادهتر و قابل اطمینانتر کند.
#Docker #Cgo #توسعه_نرمافزار #ساخت_پورتابل
🟣لینک مقاله:
https://golangweekly.com/link/177538/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Using Docker to Deal with cgo Build Complexity
🟢 خلاصه مقاله:
در توسعه نرمافزار، ساخت باینریهای قابل اجرا برای سیستمهای مختلف معمولاً با چالشهایی همراه است، به ویژه زمانی که پروژه شما وابسته به کتابخانهها یا کدهایی باشد که از cgo بهره میبرند. ابزارهای استاندارد زبان Go این امکان را فراهم میکنند تا به راحتی برای سیستمهای متفاوت ساخت انجام دهید، اما در صورت وجود وابستگیهایی که نیازمند کدهای C هستند، فرآیند پیچیدهتر میشود و مشکلاتی در حین ساخت و پشتیبانی به وجود میآید.
تیم Dolt برای حل این مسئله از Docker استفاده میکند. با بهرهگیری از کانتینرهای Docker، آنها قادر هستند محیطی کنترلشده و هماهنگ فراهم کنند که تمام نیازهای مربوط به ساخت پروژه را برآورده میکند. این رویه نه تنها فرآیند ساخت را سادهتر میکند، بلکه خطاهای مرتبط با محیطهای توسعه متفاوت را کاهش میدهد و امکان توسعه و استقرار نرمافزار در سیستمهای متفاوت را تسهیل مینماید.
استفاده از Docker در این حوزه، ابزار قوی و موثری است که توسعهدهندگان را از دستکاریهای پیچیده و مشکلات ناسازگاری محیطهای ساخت نجات میدهد و فرآیند تولید نسخههای مختلف را بسیار کارآمدتر میسازد. به این ترتیب، تیم Dolt توانسته است روند توسعه و عرضه محصولات مبتنی بر Go را سادهتر و قابل اطمینانتر کند.
#Docker #Cgo #توسعه_نرمافزار #ساخت_پورتابل
🟣لینک مقاله:
https://golangweekly.com/link/177538/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Dolthub
Using Docker to deal with cgo build complexity
Blog for DoltHub, a website hosting databases made with Dolt, an open-source version-controlled SQL database with Git-like semantics.