🔵 عنوان مقاله
2X-40X Faster Docker Builds with Blacksmith
🟢 خلاصه مقاله:
ابزار Blacksmith با ایجاد یک تغییر کد یک خطی، امکان ساخت افزایشی برای تصاویر Docker را در اجراکننده GitHub Actions با نصب حافظه لایهای Docker فراهم میکند. این رویکرد جدید با کاهش زمان ساخت و تکرارینبودن فرآیند، کارآمدی را افزایش میدهد. بیش از ۳۰۰ شرکت، از جمله Ashby، Clerk و Mintlify از Blacksmith استفاده کردهاند، که نشاندهنده تأثیر قابل توجه آن در بهینهسازی فرایندهای توسعه است.
🟣لینک مقاله:
https://golangweekly.com/link/167571/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
2X-40X Faster Docker Builds with Blacksmith
🟢 خلاصه مقاله:
ابزار Blacksmith با ایجاد یک تغییر کد یک خطی، امکان ساخت افزایشی برای تصاویر Docker را در اجراکننده GitHub Actions با نصب حافظه لایهای Docker فراهم میکند. این رویکرد جدید با کاهش زمان ساخت و تکرارینبودن فرآیند، کارآمدی را افزایش میدهد. بیش از ۳۰۰ شرکت، از جمله Ashby، Clerk و Mintlify از Blacksmith استفاده کردهاند، که نشاندهنده تأثیر قابل توجه آن در بهینهسازی فرایندهای توسعه است.
🟣لینک مقاله:
https://golangweekly.com/link/167571/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍2
در گولنگ (و بهطور کلی در سیستمهای مبتنی بر یونیکس)، تفاوت
---
## 📥 1.
این همون ورودی استاندارد**ه که برنامه ازش داده میگیره. پیشفرض اینه که از **کیبورد یا خط فرمان میاد.
### مثال Go:
> اینجا
---
## 📤 2.
خروجی استاندارده که معمولاً به ترمینال یا همان صفحه نمایش میره. اکثر توابع
### مثال:
---
## ❗️ 3.
خروجی برای خطاها. فرقش با
### مثال:
➖➖➖➖➖➖➖
👑 @gopher_academy
stdin`، `stdout
و stderr
در واقع به کانالهای ورودی/خروجی استاندارد مربوط میشه. این مفاهیم پایهای در اکثر زبانها یکسان هستند، ولی تو Go هم به شکل زیر کاربرد دارن:---
## 📥 1.
stdin
— Standard Inputاین همون ورودی استاندارد**ه که برنامه ازش داده میگیره. پیشفرض اینه که از **کیبورد یا خط فرمان میاد.
### مثال Go:
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
fmt.Print("Enter your name: ")
scanner := bufio.NewScanner(os.Stdin)
if scanner.Scan() {
fmt.Println("Hello,", scanner.Text())
}
}
> اینجا
os.Stdin
ورودی رو میخونه.---
## 📤 2.
stdout
— Standard Outputخروجی استاندارده که معمولاً به ترمینال یا همان صفحه نمایش میره. اکثر توابع
fmt.Print
, fmt.Println
, fmt.Printf
از os.Stdout
استفاده میکنن.### مثال:
fmt.Fprintln(os.Stdout, "This is a normal message.")
---
## ❗️ 3.
stderr
— Standard Errorخروجی برای خطاها. فرقش با
stdout
اینه که حتی اگر خروجی برنامه به یه فایل هدایت بشه (> out.txt
)، خطاها هنوز روی ترمینال باقی میمونن مگر اینکه مشخصاً مسیر stderr
هم تغییر کنه.### مثال:
fmt.Fprintln(os.Stderr, "This is an error message.")
➖➖➖➖➖➖➖
👑 @gopher_academy
👍2🔥1
تفاوت بین
## 🔧 مثال کاربردی: اجرای برنامه و جداسازی خروجیها
فرض کن برنامهای داریم به نام
الان اگه اینو تو ترمینال اجرا کنیم:
هردو پیام روی ترمینال میان. ولی اگه بخوای فقط خروجی معمول رو بریزی تو فایل:
📁 نتیجه:
-
- پیام خطا همچنان روی ترمیناله
اما اگه بخوای خطا رو هم بریزی تو یه فایل دیگه:
📁 نتیجه:
-
-
---
## 🐳 در دنیای کانتینرها (مثلاً Docker)
خیلی از ابزارهای لاگینگ (مثل
- مانیتورینگ بهتر انجام بشه
- خطاها مشخصتر باشن
- عملکرد بهتر در CI/CD
➖➖➖➖➖➖➖
👑 @gopher_academy
stdout
و stderr
توی ظاهر ممکنه کوچیک به نظر بیاد، ولی توی دنیای واقعی (بهخصوص در سرورها، لاگینگ، کانتینرها و automation) خیلی مهمه.## 🔧 مثال کاربردی: اجرای برنامه و جداسازی خروجیها
فرض کن برنامهای داریم به نام
myapp
که هم لاگ عادی داره و هم خطا:// main.go
package main
import (
"fmt"
"os"
)
func main() {
fmt.Fprintln(os.Stdout, "Everything is running fine.") // خروجی عادی
fmt.Fprintln(os.Stderr, "Oops! Something went wrong!") // پیام خطا
}
الان اگه اینو تو ترمینال اجرا کنیم:
go run main.go
هردو پیام روی ترمینال میان. ولی اگه بخوای فقط خروجی معمول رو بریزی تو فایل:
go run main.go > output.txt
📁 نتیجه:
-
output.txt
: فقط شامل "Everything is running fine."
- پیام خطا همچنان روی ترمیناله
اما اگه بخوای خطا رو هم بریزی تو یه فایل دیگه:
go run main.go > output.txt 2> error.txt
📁 نتیجه:
-
output.txt
→ خروجی عادی (stdout
)-
error.txt
→ پیام خطا (stderr
)---
## 🐳 در دنیای کانتینرها (مثلاً Docker)
خیلی از ابزارهای لاگینگ (مثل
fluentd
, logstash
, یا خود docker logs
) فقط stdout
و stderr
رو بررسی میکنن. پس جداسازی درستش باعث میشه:- مانیتورینگ بهتر انجام بشه
- خطاها مشخصتر باشن
- عملکرد بهتر در CI/CD
➖➖➖➖➖➖➖
👑 @gopher_academy
❤4👍1
🔵 عنوان مقاله
Revive 1.8: A Faster, Configurable, Flexible Linter for Go
🟢 خلاصه مقاله:
مقالهای در مورد ابزار جدیدی است که به عنوان جایگزینی برای "golint"، ابزار فرمتبندی محبوب زبان برنامهنویسی Go، ارائه شده است. این ابزار جدید با ارائه بازخورد سازمانیافتهتر، گزینههای سفارشیسازی و عملکرد بهبود یافته، فرآیند فرمتبندی را تقویت میکند. این ابزار توسط پروژهها و کتابخانههای بزرگ Go به سرعت پذیرفته شده است. فایل README در مخزن GitHub توضیح میدهد که این ابزار جدید چگونه از golint متفاوت است، و به جزئیات تقویتهای عملکردی، ویژگیهای قابل تنظیم، و بهبود عملکرد آن میپردازد.
🟣لینک مقاله:
https://golangweekly.com/link/167594/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Revive 1.8: A Faster, Configurable, Flexible Linter for Go
🟢 خلاصه مقاله:
مقالهای در مورد ابزار جدیدی است که به عنوان جایگزینی برای "golint"، ابزار فرمتبندی محبوب زبان برنامهنویسی Go، ارائه شده است. این ابزار جدید با ارائه بازخورد سازمانیافتهتر، گزینههای سفارشیسازی و عملکرد بهبود یافته، فرآیند فرمتبندی را تقویت میکند. این ابزار توسط پروژهها و کتابخانههای بزرگ Go به سرعت پذیرفته شده است. فایل README در مخزن GitHub توضیح میدهد که این ابزار جدید چگونه از golint متفاوت است، و به جزئیات تقویتهای عملکردی، ویژگیهای قابل تنظیم، و بهبود عملکرد آن میپردازد.
🟣لینک مقاله:
https://golangweekly.com/link/167594/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
revive.run
revive - fast & configurable linter for Go
Revive documentation website
👍1
🔵 عنوان مقاله
urfave/cli 3.1: A Declarative Way to Build Go CLI Apps
🟢 خلاصه مقاله:
مقاله به بررسی دفترچه راهنمای ابزار نرمافزاری پرداخته و از ویژگیهای کلیدی آن مانند تکمیل خودکار دستورات در شل، تجزیه گزینهها و متن راهنما میگوید. این ویژگیها به کاربران کمک میکنند تا با کارایی بیشتر و راحتی بیشتری از نرمافزار استفاده کنند. دفترچه راهنما نه تنها ابزار را معرفی میکند، بلکه نحوه استفاده بهینه از ویژگیهای آن را به کاربران آموزش میدهد تا بتوانند فرآیندهای کاری خود را بهینهسازی کنند.
🟣لینک مقاله:
https://golangweekly.com/link/167592/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
urfave/cli 3.1: A Declarative Way to Build Go CLI Apps
🟢 خلاصه مقاله:
مقاله به بررسی دفترچه راهنمای ابزار نرمافزاری پرداخته و از ویژگیهای کلیدی آن مانند تکمیل خودکار دستورات در شل، تجزیه گزینهها و متن راهنما میگوید. این ویژگیها به کاربران کمک میکنند تا با کارایی بیشتر و راحتی بیشتری از نرمافزار استفاده کنند. دفترچه راهنما نه تنها ابزار را معرفی میکند، بلکه نحوه استفاده بهینه از ویژگیهای آن را به کاربران آموزش میدهد تا بتوانند فرآیندهای کاری خود را بهینهسازی کنند.
🟣لینک مقاله:
https://golangweekly.com/link/167592/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - urfave/cli: A declarative, simple, fast, and fun package for building command line tools in Go
A declarative, simple, fast, and fun package for building command line tools in Go - urfave/cli
👍1
🔵 عنوان مقاله
Chroma 2.16: Pure Go Syntax Highlighting
🟢 خلاصه مقاله:
این مقاله ابزاری قدرتمند را توضیح میدهد که قادر است کد منبع را به فرمتهای خواناتر مثل HTML با برجستهسازی نحوی، متن رنگی ANSI، و یا استخراج توکنهای خام در قالب JSON تبدیل کند. این ابزار بیشتر ویژگیهای Pygments، که یک برجستهکننده نحوی محبوب است، را داراست و از لکسرها و سبکهای Pygments نیز پشتیبانی میکند. همچنین، یک محیط آزمایش آنلاین برای امتحان این ابزار فراهم است که کاربران میتوانند عملکرد آن را به صورت زنده ببینند و در پروژههای کدنویسی خود به کار ببرند.
🟣لینک مقاله:
https://golangweekly.com/link/167898/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Chroma 2.16: Pure Go Syntax Highlighting
🟢 خلاصه مقاله:
این مقاله ابزاری قدرتمند را توضیح میدهد که قادر است کد منبع را به فرمتهای خواناتر مثل HTML با برجستهسازی نحوی، متن رنگی ANSI، و یا استخراج توکنهای خام در قالب JSON تبدیل کند. این ابزار بیشتر ویژگیهای Pygments، که یک برجستهکننده نحوی محبوب است، را داراست و از لکسرها و سبکهای Pygments نیز پشتیبانی میکند. همچنین، یک محیط آزمایش آنلاین برای امتحان این ابزار فراهم است که کاربران میتوانند عملکرد آن را به صورت زنده ببینند و در پروژههای کدنویسی خود به کار ببرند.
🟣لینک مقاله:
https://golangweekly.com/link/167898/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - alecthomas/chroma: A general purpose syntax highlighter in pure Go
A general purpose syntax highlighter in pure Go . Contribute to alecthomas/chroma development by creating an account on GitHub.
🔵 عنوان مقاله
Hunting Zombie Processes in Go and Docker
🟢 خلاصه مقاله:
**
مقاله به بررسی مشکلات ایجاد شده توسط فرایندهای زامبی پرداخته که در نتیجه فرایند اسپاون شدن فرایندهای دیگر بوجود آمدهاند. بهخصوص در محیطهای کانتینری که مدیریت فرایندها و ارتباطات بین آنها پیچیدهتر میشود. مقاله راهکارهایی را برای مدیریت و پایان دادن به زندگی فرایندهای زامبی ارائه میدهد که شامل استفاده از ابزارها و اسکریپتهایی برای تضمین خاتمه صحیح و پاکسازی سیستم از این فرایندها میشود، که در نهایت به بهبود عملکرد و ثبات سیستم کمک میکند.
🟣لینک مقاله:
https://golangweekly.com/link/168366/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Hunting Zombie Processes in Go and Docker
🟢 خلاصه مقاله:
**
مقاله به بررسی مشکلات ایجاد شده توسط فرایندهای زامبی پرداخته که در نتیجه فرایند اسپاون شدن فرایندهای دیگر بوجود آمدهاند. بهخصوص در محیطهای کانتینری که مدیریت فرایندها و ارتباطات بین آنها پیچیدهتر میشود. مقاله راهکارهایی را برای مدیریت و پایان دادن به زندگی فرایندهای زامبی ارائه میدهد که شامل استفاده از ابزارها و اسکریپتهایی برای تضمین خاتمه صحیح و پاکسازی سیستم از این فرایندها میشود، که در نهایت به بهبود عملکرد و ثبات سیستم کمک میکند.
🟣لینک مقاله:
https://golangweekly.com/link/168366/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
www.stormkit.io
Hunting Zombie Processes in Go and Docker - Stormkit
A technical deep dive into debugging zombie processes in a Go and Docker setup, detailing how I fixed a server crash caused by Node.js process leaks in Stormkit. Learn about process groups, SIGCHLD handling, and using Tini for zombie reaping.
👍2
🔵 عنوان مقاله
A No Nonsense Guide to Go Project Layout
🟢 خلاصه مقاله:
مقالهی مورد نظر بر این موضوع تأکید دارد که ساختارهای پیچیده در پروژههای نرمافزاری کوچک باید کنار گذاشته شوند. نویسنده، نظراتی را ارائه میدهد که هدف آنها پیشگیری از پیچیدگیهای بیمورد و حفظ تمرکز و سادگی در ساختار بستهها است. او تأکید میکند که ساختارهای سادهتر میتوانند به درک سریعتر و نگهداری آسانتر کمک کنند و همچنین کیفیت کلی پروژه را بهبود ببخشند. نویسنده به توسعهدهندگان دیگر توصیه میکند که از پیچیدگیهای بیمورد دوری کنند و بر سادگی تمرکز داشته باشند تا نتایج بهتری حاصل شود.
🟣لینک مقاله:
https://golangweekly.com/link/168357/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
A No Nonsense Guide to Go Project Layout
🟢 خلاصه مقاله:
مقالهی مورد نظر بر این موضوع تأکید دارد که ساختارهای پیچیده در پروژههای نرمافزاری کوچک باید کنار گذاشته شوند. نویسنده، نظراتی را ارائه میدهد که هدف آنها پیشگیری از پیچیدگیهای بیمورد و حفظ تمرکز و سادگی در ساختار بستهها است. او تأکید میکند که ساختارهای سادهتر میتوانند به درک سریعتر و نگهداری آسانتر کمک کنند و همچنین کیفیت کلی پروژه را بهبود ببخشند. نویسنده به توسعهدهندگان دیگر توصیه میکند که از پیچیدگیهای بیمورد دوری کنند و بر سادگی تمرکز داشته باشند تا نتایج بهتری حاصل شود.
🟣لینک مقاله:
https://golangweekly.com/link/168357/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Laurentsv
No nonsense guide to Go projects layout
It’s a recurring question on gopher slack and discord: «How should I set up my go project repository?». Unfortunately, there are a lot of both outdated and o...
👍2
🔵 عنوان مقاله
🖼️ ImageProxy 0.12: A Caching Proxy Server and Transformer for Image Files
🟢 خلاصه مقاله:
مقالهای در مورد پروژهای طولانیمدت که راهکاری برای میزبانی کارآمد فایلهای تصویری فراهم میکند، علاوه بر این، امکان تغییرات ابتدایی مانند تغییر اندازه، برش دادن و چرخاندن تصاویر را نیز میدهد صحبت میکند. نسخه 0.12 که نخستین انتشار پس از چندین سال است، بهروزرسانی وابستگیها و افزودن یک ماژول برای Caddy را به همراه دارد.
🟣لینک مقاله:
https://golangweekly.com/link/168372/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🖼️ ImageProxy 0.12: A Caching Proxy Server and Transformer for Image Files
🟢 خلاصه مقاله:
مقالهای در مورد پروژهای طولانیمدت که راهکاری برای میزبانی کارآمد فایلهای تصویری فراهم میکند، علاوه بر این، امکان تغییرات ابتدایی مانند تغییر اندازه، برش دادن و چرخاندن تصاویر را نیز میدهد صحبت میکند. نسخه 0.12 که نخستین انتشار پس از چندین سال است، بهروزرسانی وابستگیها و افزودن یک ماژول برای Caddy را به همراه دارد.
🟣لینک مقاله:
https://golangweekly.com/link/168372/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
Release v0.12.0 · willnorris/imageproxy
This is the first release in over three years, though honestly not too much has changed. A lot of updates over the year in Go and dependencies. A few new options that folks have added, and a new ...
👍1
🔵 عنوان مقاله
🤖 MCP Go: A Go Implementation of the Model Context Protocol
🟢 خلاصه مقاله:
پروتکل مدل کانتکست (MCP)، روشی نوظهور در زمینه هوش مصنوعی و یادگیری ماشین است که به مدلهای زبان بزرگ و ابزارهای توسعه مبتنی بر AI امکان دسترسی به خدمات خارجی را میدهد. در حالی که استفاده از زبان برنامهنویسی پایتون در این زمینه غالب بوده، استفاده از زبان Go برای توسعه سرورهای MCP نیز مورد توجه قرار گرفته است. Go به دلیل کارایی بالا و قابلیت توسعهپذیری خود، گزینه مطلوبی برای توسعه سرورهای MCP محسوب میشود و این تغییر، امکان مشارکت بیشتر توسعهدهندگان مسلط به این زبان را فراهم میآورد.
🟣لینک مقاله:
https://golangweekly.com/link/168374/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🤖 MCP Go: A Go Implementation of the Model Context Protocol
🟢 خلاصه مقاله:
پروتکل مدل کانتکست (MCP)، روشی نوظهور در زمینه هوش مصنوعی و یادگیری ماشین است که به مدلهای زبان بزرگ و ابزارهای توسعه مبتنی بر AI امکان دسترسی به خدمات خارجی را میدهد. در حالی که استفاده از زبان برنامهنویسی پایتون در این زمینه غالب بوده، استفاده از زبان Go برای توسعه سرورهای MCP نیز مورد توجه قرار گرفته است. Go به دلیل کارایی بالا و قابلیت توسعهپذیری خود، گزینه مطلوبی برای توسعه سرورهای MCP محسوب میشود و این تغییر، امکان مشارکت بیشتر توسعهدهندگان مسلط به این زبان را فراهم میآورد.
🟣لینک مقاله:
https://golangweekly.com/link/168374/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - mark3labs/mcp-go: A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications…
A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools. - mark3labs/mcp-go
🔵 عنوان مقاله
Doltgres Beta Launch: A Version Controlled SQL Database
🟢 خلاصه مقاله:
DoltHub علاوه بر انتشار مقالات آموزشی درباره زبان برنامهنویسی Go در وبلاگ خود، نرمافزار پایگاه داده به نام Doltgres را توسعه داده است. Doltgres که از Postgres الهام گرفته، قابلیتهایی مشابه Git مانند ادغام و شاخهبندی دادهها را ارائه میدهد و کلیه اجزای آن با زبان Go ساخته شدهاند. این ویژگیها، کنترل نسخه و مدیریت پایگاه داده را برای توسعهدهندگان بهبود میبخشد.
🟣لینک مقاله:
https://golangweekly.com/link/168376/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Doltgres Beta Launch: A Version Controlled SQL Database
🟢 خلاصه مقاله:
DoltHub علاوه بر انتشار مقالات آموزشی درباره زبان برنامهنویسی Go در وبلاگ خود، نرمافزار پایگاه داده به نام Doltgres را توسعه داده است. Doltgres که از Postgres الهام گرفته، قابلیتهایی مشابه Git مانند ادغام و شاخهبندی دادهها را ارائه میدهد و کلیه اجزای آن با زبان Go ساخته شدهاند. این ویژگیها، کنترل نسخه و مدیریت پایگاه داده را برای توسعهدهندگان بهبود میبخشد.
🟣لینک مقاله:
https://golangweekly.com/link/168376/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Dolthub
Doltgres Beta Launch
Announcing the Beta release of Doltgres, the Postgres-flavored version of Dolt. Doltgres is ready for you to begin building a version-controlled application today.
Forwarded from 𓄂 Bardia 𓆃
👇 لیست کانالهای مجموعه Labdon با بهروزترین اخبار، آموزشها و ترفندها در حوزههای مختلف:
➖➖➖➖➖➖➖➖
🔵 گولنگ - همه چیز از اخبار تا نکات کلیدی و معرفی ابزارهای این حوزه
🔴 @gopher_academy
➖➖➖➖➖➖➖➖
🔵 موقعیت شغلی های گولنگ چه ایرانی و چه خارجی
🔴 @gopher_job
➖➖➖➖➖➖➖➖
🔵 بروزترین اخبار درحوزه انواع دیتابیس ها ردیس مانگو پستگرس و سایر دیتابیس ها
🔴 @database_academy
➖➖➖➖➖➖➖➖
🔵 دنیای بلاکچین و ارز های دیجیتال
🔴 @Blockchain_labdon
🟢 حوزه های تحت پوشش
Bitcoin,
Ethereum,
Altcoins,
Blockchain,
Policy & Regulations,
NFTs, DeFi
➖➖➖➖➖➖➖➖
🔵 مهندسی نرم افزار
🔴 @software_labdon
🟢 حوزه های تحت پوشش
Engineering,
Architecture
Design,
Testing,
Security ,
QA
➖➖➖➖➖➖➖➖
🔵 لینوکس- از توزیعها تا ترفندهای امنیتی
🔴 @linux_labdon
🟢 حوزه های تحت پوشش
Linux Distributions,
Open Source Software,
Security Tips ,
New Releases & Features
➖➖➖➖➖➖➖➖
🔵 دوآپـس - معرفی ابزار ها و مقالات جدید
🔴 @devops_labdon
🟢 حوزه های تحت پوشش
CI/CD Pipelines,
Cloud Infrastructure, Containerization &
Orchestration,
Monitoring & Performance,
Infrastructure as Code,
Security in DevOps
➖➖➖➖➖➖➖➖
🕸 @labdon_academy
➖➖➖➖➖➖➖➖
🔵 گولنگ - همه چیز از اخبار تا نکات کلیدی و معرفی ابزارهای این حوزه
🔴 @gopher_academy
➖➖➖➖➖➖➖➖
🔵 موقعیت شغلی های گولنگ چه ایرانی و چه خارجی
🔴 @gopher_job
➖➖➖➖➖➖➖➖
🔵 بروزترین اخبار درحوزه انواع دیتابیس ها ردیس مانگو پستگرس و سایر دیتابیس ها
🔴 @database_academy
➖➖➖➖➖➖➖➖
🔵 دنیای بلاکچین و ارز های دیجیتال
🔴 @Blockchain_labdon
🟢 حوزه های تحت پوشش
Bitcoin,
Ethereum,
Altcoins,
Blockchain,
Policy & Regulations,
NFTs, DeFi
➖➖➖➖➖➖➖➖
🔵 مهندسی نرم افزار
🔴 @software_labdon
🟢 حوزه های تحت پوشش
Engineering,
Architecture
Design,
Testing,
Security ,
QA
➖➖➖➖➖➖➖➖
🔵 لینوکس- از توزیعها تا ترفندهای امنیتی
🔴 @linux_labdon
🟢 حوزه های تحت پوشش
Linux Distributions,
Open Source Software,
Security Tips ,
New Releases & Features
➖➖➖➖➖➖➖➖
🔵 دوآپـس - معرفی ابزار ها و مقالات جدید
🔴 @devops_labdon
🟢 حوزه های تحت پوشش
CI/CD Pipelines,
Cloud Infrastructure, Containerization &
Orchestration,
Monitoring & Performance,
Infrastructure as Code,
Security in DevOps
➖➖➖➖➖➖➖➖
🕸 @labdon_academy
❤1🍾1
🔵 عنوان مقاله
Preventing Accidental Struct Copies
🟢 خلاصه مقاله:
در زبان برنامهنویسی Go، امکان کپی کردن ساختارها بر اساس مقدار وجود دارد که میتواند باعث بروز اشکالات پیچیده شود، بهخصوص زمانی که این کپی شامل مواردی مانند sync.WaitGroup یا Mutex میشود. مقاله به روشی برای جلوگیری از کپی نادرست این ساختارهای حیاتی با استفاده از یک ترفند به نام noCopy و ابزار 'go vet' با قابلیت بررسی copylocks میپردازد که این مشکلات را شناسایی میکند. استفاده از این رویکرد و ابزار، به توسعهدهندگان کمک میکند تا از پایداری و عملکرد برنامههای خود در مقابله با خطاهای همزمانی ناشی از کپی اشتباه قفلها اطمینان حاصل کنند.
🟣لینک مقاله:
https://golangweekly.com/link/168367/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Preventing Accidental Struct Copies
🟢 خلاصه مقاله:
در زبان برنامهنویسی Go، امکان کپی کردن ساختارها بر اساس مقدار وجود دارد که میتواند باعث بروز اشکالات پیچیده شود، بهخصوص زمانی که این کپی شامل مواردی مانند sync.WaitGroup یا Mutex میشود. مقاله به روشی برای جلوگیری از کپی نادرست این ساختارهای حیاتی با استفاده از یک ترفند به نام noCopy و ابزار 'go vet' با قابلیت بررسی copylocks میپردازد که این مشکلات را شناسایی میکند. استفاده از این رویکرد و ابزار، به توسعهدهندگان کمک میکند تا از پایداری و عملکرد برنامههای خود در مقابله با خطاهای همزمانی ناشی از کپی اشتباه قفلها اطمینان حاصل کنند.
🟣لینک مقاله:
https://golangweekly.com/link/168367/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Redowan's Reflections
Preventing accidental struct copies in Go
By default, Go copies values when you pass them around. But sometimes, that can be
undesirable. For example, if you accidentally copy a mutex and multiple goroutines work on
separate instances of the lock, they won’t be properly synchronized. In those cases…
undesirable. For example, if you accidentally copy a mutex and multiple goroutines work on
separate instances of the lock, they won’t be properly synchronized. In those cases…
👍3
🔵 عنوان مقاله
Optimizing Heap Allocations
🟢 خلاصه مقاله:
مقاله اخیر به بررسی یک تغییر کوچک در کد که باعث کاهش 30 درصدی عملکرد شد، پرداخت. این تحلیل نشان داد که چگونه متغیرها به جای تخصیص در استک به تلهی حافظهی هیپ گرفتار شدهاند که باعث افت عملکرد شدهاست. این دانش به درک بهتر تاثیر تخصیص حافظه بر عملکرد نرمافزار کمک کرده و هشداری به توسعهدهندگان است تا حتی تغییرات جزئی را بیتوجه نگیرند. این اطلاعات میتواند در جلوگیری از کاهش عملکرد غیرمنتظره و بهینهسازی کد موجود مفید باشد.
🟣لینک مقاله:
https://golangweekly.com/link/168359/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Optimizing Heap Allocations
🟢 خلاصه مقاله:
مقاله اخیر به بررسی یک تغییر کوچک در کد که باعث کاهش 30 درصدی عملکرد شد، پرداخت. این تحلیل نشان داد که چگونه متغیرها به جای تخصیص در استک به تلهی حافظهی هیپ گرفتار شدهاند که باعث افت عملکرد شدهاست. این دانش به درک بهتر تاثیر تخصیص حافظه بر عملکرد نرمافزار کمک کرده و هشداری به توسعهدهندگان است تا حتی تغییرات جزئی را بیتوجه نگیرند. این اطلاعات میتواند در جلوگیری از کاهش عملکرد غیرمنتظره و بهینهسازی کد موجود مفید باشد.
🟣لینک مقاله:
https://golangweekly.com/link/168359/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Dolthub
Optimizing Heap Allocations in Golang: A Case Study
Golang doesn't require users to think about memory allocation. But if you want your code to be fast, you probably should anyway.
👍3
🔵 عنوان مقاله
GoMud: A MUD (Multi-User Dungeon) Server
🟢 خلاصه مقاله:
مقالهای به بررسی پروژهای در دست توسعه میپردازد که شامل یک دنیای بازی زندانی منبع باز و کتابخانهای است که ویژگیهای اصلی مرتبط با زندانهای چند کاربری (MUDs) مانند نقشهها، داراییها و تجهیزات، و چرخههای روز و شب را مدیریت میکند. این پروژه به بازیکنان اجازه میدهد تا از طریق Telnet یا HTTP به بازی متصل شوند و محیط بازی تعاملی و قابل توسعهای را ارائه میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/168371/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GoMud: A MUD (Multi-User Dungeon) Server
🟢 خلاصه مقاله:
مقالهای به بررسی پروژهای در دست توسعه میپردازد که شامل یک دنیای بازی زندانی منبع باز و کتابخانهای است که ویژگیهای اصلی مرتبط با زندانهای چند کاربری (MUDs) مانند نقشهها، داراییها و تجهیزات، و چرخههای روز و شب را مدیریت میکند. این پروژه به بازیکنان اجازه میدهد تا از طریق Telnet یا HTTP به بازی متصل شوند و محیط بازی تعاملی و قابل توسعهای را ارائه میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/168371/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - GoMudEngine/GoMud: A Go based MUD (Multi-User Dungeon) server.
A Go based MUD (Multi-User Dungeon) server. Contribute to GoMudEngine/GoMud development by creating an account on GitHub.
👍3
اینکه بوشهریها جشنواره موسیقی رو به دسته عزاداری تبدیل میکنن،
اصفهانیا در سازمان انتقال خون رو از جا میکنن تا خون بدن،
مردم گیلان و تبریز نصف روز تو صف اهداءخون هستند
و پزشکا برای درمان رایگان آدرس میذارن
و اردبیلیا جشن تیم فوتبالشونو به بعد موکول می کنن
فقط یک معنا داره:👇
❤️ ایران
➖➖➖➖➖➖➖➖
https://t.me/addlist/KpzXaiSpKENkMGM0
اصفهانیا در سازمان انتقال خون رو از جا میکنن تا خون بدن،
مردم گیلان و تبریز نصف روز تو صف اهداءخون هستند
و پزشکا برای درمان رایگان آدرس میذارن
و اردبیلیا جشن تیم فوتبالشونو به بعد موکول می کنن
فقط یک معنا داره:👇
❤️ ایران
➖➖➖➖➖➖➖➖
https://t.me/addlist/KpzXaiSpKENkMGM0
1❤30🕊3
🔵 عنوان مقاله
GitHub MCP Server: GitHub's Official MCP Server
🟢 خلاصه مقاله:
**
در حالی که پروتکل مدل کانتکست به سمت استاندارد صنعتی برای ارتقاء قدرتهای نمایندگان هوش مصنوعی در تعامل با محیطهای بیرونی خود پیش میرود، گیتهاب سرور رسمی خود را منتشر کرده است که قابلیت ادغام با VS Code و Claude Desktop را دارد. این سرور پشتیبانی گستردهای از ابزارهای مربوط به مسائل، درخواستهای کشیدن، مخازن و بیشتر را ارائه میدهد، که به بهبود فرایندهای توسعه نرمافزار کمک میکند.
🟣لینک مقاله:
https://golangweekly.com/link/167902/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub MCP Server: GitHub's Official MCP Server
🟢 خلاصه مقاله:
**
در حالی که پروتکل مدل کانتکست به سمت استاندارد صنعتی برای ارتقاء قدرتهای نمایندگان هوش مصنوعی در تعامل با محیطهای بیرونی خود پیش میرود، گیتهاب سرور رسمی خود را منتشر کرده است که قابلیت ادغام با VS Code و Claude Desktop را دارد. این سرور پشتیبانی گستردهای از ابزارهای مربوط به مسائل، درخواستهای کشیدن، مخازن و بیشتر را ارائه میدهد، که به بهبود فرایندهای توسعه نرمافزار کمک میکند.
🟣لینک مقاله:
https://golangweekly.com/link/167902/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - github/github-mcp-server: GitHub's official MCP Server
GitHub's official MCP Server. Contribute to github/github-mcp-server development by creating an account on GitHub.
👍1