یه ابزار باحال برای به اشتراک گذاری صفحهنمایش که با go مخصوص developerها نوشته شده
- کیفیت بالا و تاخیر کم
- میتونیم روی سرور خودمون بالا بیاریم
- نصب ساده با داکر
-امنیت بالا اگر براتون مهم باشه
https://github.com/screego/server
<Milad Niroee/>
- کیفیت بالا و تاخیر کم
- میتونیم روی سرور خودمون بالا بیاریم
- نصب ساده با داکر
-امنیت بالا اگر براتون مهم باشه
https://github.com/screego/server
<Milad Niroee/>
GitHub
GitHub - screego/server: screen sharing for developers https://screego.net/
screen sharing for developers https://screego.net/ - screego/server
👍3🔥1
🔵 عنوان مقاله
Oto 3.4: Low-Level Cross-Platform Sound Library
🟢 خلاصه مقاله:
Oto 3.4 یک کتابخانه صوتی سطحپایین و چندسکویی است که با سادهسازی تفاوتهای سیستمهای مختلف، پخش صوتی یکنواختی ارائه میدهد. این کتابخانه در Ebitengine برای اجرای صدا روی Windows، macOS، Linux، Nintendo Switch و iOS بهکار میرود و بدون نیاز به بازنویسی کد صوتی برای هر پلتفرم، ادغام آسان و قابل اتکایی فراهم میکند. رویکرد سطحپایین Oto با تمرکز بر قابلحملبودن و پایداری، زیرساختی سبک و مطمئن برای صدا در بازیهای دوبعدی و اپلیکیشنهای تعاملی ارائه میدهد.
#Oto #Ebitengine #GameDev #Audio #CrossPlatform #SoundLibrary #NintendoSwitch
🟣لینک مقاله:
https://golangweekly.com/link/175643/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Oto 3.4: Low-Level Cross-Platform Sound Library
🟢 خلاصه مقاله:
Oto 3.4 یک کتابخانه صوتی سطحپایین و چندسکویی است که با سادهسازی تفاوتهای سیستمهای مختلف، پخش صوتی یکنواختی ارائه میدهد. این کتابخانه در Ebitengine برای اجرای صدا روی Windows، macOS، Linux، Nintendo Switch و iOS بهکار میرود و بدون نیاز به بازنویسی کد صوتی برای هر پلتفرم، ادغام آسان و قابل اتکایی فراهم میکند. رویکرد سطحپایین Oto با تمرکز بر قابلحملبودن و پایداری، زیرساختی سبک و مطمئن برای صدا در بازیهای دوبعدی و اپلیکیشنهای تعاملی ارائه میدهد.
#Oto #Ebitengine #GameDev #Audio #CrossPlatform #SoundLibrary #NintendoSwitch
🟣لینک مقاله:
https://golangweekly.com/link/175643/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - ebitengine/oto: ♪ A low-level library to play sound on multiple platforms ♪
♪ A low-level library to play sound on multiple platforms ♪ - ebitengine/oto
🔵 عنوان مقاله
15 Go Subtleties You May Not Already Know
🟢 خلاصه مقاله:
این مقاله یک مرور جمعوجور و کاربردی از ۱۵ ظرافت کمترشناختهشده در Go است؛ نکاتی که معمولاً در بازبینی کد و اشکالزدایی مهم میشوند. از تفاوت nil در اینترفیسها تا تفاوت گیرندههای اشارهای و مقداری، رفتار slice و map، ترتیب پیمایش map و زمانبندی و هزینه defer، همگی با مثالهای کوتاه بیان شدهاند. بخشهایی درباره همزمانی و الگوهای هماهنگی (جلوگیری از نشت goroutine و استفاده درست از context) و نیز ظرایف کار با زمان—از تفاوت زمان یکنواخت و دیواری تا کار با تایمرها، tickerها و بسته time—هم پوشش داده میشود. نتیجه: مطلبی سریع و قابل مرور که حتی اگر فقط چند نکتهاش برایتان تازه باشد، ارزش خواندن دارد؛ و اگر همه را میدانید، حس خوبی از تأیید دانستههایتان میگیرید.
#Go #Golang #time #Concurrency #ProgrammingTips #SoftwareEngineering #GoTips
🟣لینک مقاله:
https://golangweekly.com/link/175625/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
15 Go Subtleties You May Not Already Know
🟢 خلاصه مقاله:
این مقاله یک مرور جمعوجور و کاربردی از ۱۵ ظرافت کمترشناختهشده در Go است؛ نکاتی که معمولاً در بازبینی کد و اشکالزدایی مهم میشوند. از تفاوت nil در اینترفیسها تا تفاوت گیرندههای اشارهای و مقداری، رفتار slice و map، ترتیب پیمایش map و زمانبندی و هزینه defer، همگی با مثالهای کوتاه بیان شدهاند. بخشهایی درباره همزمانی و الگوهای هماهنگی (جلوگیری از نشت goroutine و استفاده درست از context) و نیز ظرایف کار با زمان—از تفاوت زمان یکنواخت و دیواری تا کار با تایمرها، tickerها و بسته time—هم پوشش داده میشود. نتیجه: مطلبی سریع و قابل مرور که حتی اگر فقط چند نکتهاش برایتان تازه باشد، ارزش خواندن دارد؛ و اگر همه را میدانید، حس خوبی از تأیید دانستههایتان میگیرید.
#Go #Golang #time #Concurrency #ProgrammingTips #SoftwareEngineering #GoTips
🟣لینک مقاله:
https://golangweekly.com/link/175625/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
harrisoncramer.me
15 Go Subtleties You May Not Already Know
Some of my favorite tidbits from the past year of working with Go.
Forwarded from AI Labdon
🚗 کسب درآمد جدید برای رانندگان Uber با کمک به هوش مصنوعی!
▪️اوبر از یه قابلیت تازه رونمایی کرده که رانندههاش میتونن در زمانهای بیکار، با انجام تسکهای کوچیک به تمرین مدلهای هوش مصنوعی کمک کنن و پول بگیرن!
▪️این کارها شامل مواردی مثل ضبط صدا با لهجههای مختلف، عکس گرفتن از اشیای خاص یا آپلود بعضی اسناد هست. اوبر برای هر تسک چند دلار پرداخت میکنه.
+ هم درآمد رانندهها بیشتر میشه ، هم اوبر دادههای واقعی و متنوع برای آموزش مدلهای هوش مصنوعی جمع میکنه!
▪️اوبر از یه قابلیت تازه رونمایی کرده که رانندههاش میتونن در زمانهای بیکار، با انجام تسکهای کوچیک به تمرین مدلهای هوش مصنوعی کمک کنن و پول بگیرن!
▪️این کارها شامل مواردی مثل ضبط صدا با لهجههای مختلف، عکس گرفتن از اشیای خاص یا آپلود بعضی اسناد هست. اوبر برای هر تسک چند دلار پرداخت میکنه.
+ هم درآمد رانندهها بیشتر میشه ، هم اوبر دادههای واقعی و متنوع برای آموزش مدلهای هوش مصنوعی جمع میکنه!
Forwarded from Software Engineer Labdon
♨️ اسپاتیفای در حال تست قابلیتی برای استخراج DNA آهنگ!
▪️با این ویژگی قراره بفهمید چه کسانی پشت هر آهنگ بودن ، از ترانهسرا و تهیهکننده گرفته تا نوازندهها. یعنی اگه مثلاً آهنگ جدید Taylor Swift رو دوست داری و تهیهکنندهش Max Martin باشه، اسپاتیفای ، آهنگهای دیگهای از مکس مارتین رو بهت پیشنهاد میده!
+ این یعنی یه لایهی تازه از پیشنهاد موزیک: نه فقط بر اساس «چی گوش دادی»، بلکه بر اساس «کی اون آهنگ رو ساخته».
▪️با این ویژگی قراره بفهمید چه کسانی پشت هر آهنگ بودن ، از ترانهسرا و تهیهکننده گرفته تا نوازندهها. یعنی اگه مثلاً آهنگ جدید Taylor Swift رو دوست داری و تهیهکنندهش Max Martin باشه، اسپاتیفای ، آهنگهای دیگهای از مکس مارتین رو بهت پیشنهاد میده!
+ این یعنی یه لایهی تازه از پیشنهاد موزیک: نه فقط بر اساس «چی گوش دادی»، بلکه بر اساس «کی اون آهنگ رو ساخته».
🔵 عنوان مقاله
Go 1.25.3 and 1.24.9 have been released
🟢 خلاصه مقاله:
نسخههای Go 1.25.3 و 1.24.9 منتشر شدند. این بهروزرسانیهای جزئی، مشکل ایجادشده توسط یک وصله امنیتی قبلی را که هنگام parse کردن X بیش از حد سختگیرانه عمل میکرد، برطرف میکنند. ویژگی جدیدی اضافه نشده و تغییرات محدود به منطق parse مرتبط با X است. به کاربران شاخههای 1.25 و 1.24 توصیه میشود برای حفظ سازگاری و امنیت، به این نسخهها ارتقا دهند و پس از ارتقا، تستها را اجرا کنند.
#Go #Golang #Security #Release #Patch #Bugfix #Parsing #Update
🟣لینک مقاله:
https://golangweekly.com/link/175627/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go 1.25.3 and 1.24.9 have been released
🟢 خلاصه مقاله:
نسخههای Go 1.25.3 و 1.24.9 منتشر شدند. این بهروزرسانیهای جزئی، مشکل ایجادشده توسط یک وصله امنیتی قبلی را که هنگام parse کردن X بیش از حد سختگیرانه عمل میکرد، برطرف میکنند. ویژگی جدیدی اضافه نشده و تغییرات محدود به منطق parse مرتبط با X است. به کاربران شاخههای 1.25 و 1.24 توصیه میشود برای حفظ سازگاری و امنیت، به این نسخهها ارتقا دهند و پس از ارتقا، تستها را اجرا کنند.
#Go #Golang #Security #Release #Patch #Bugfix #Parsing #Update
🟣لینک مقاله:
https://golangweekly.com/link/175627/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from Software Engineer Labdon
تا حالا اسم Server-Driven UI یا همون SDUI رو شنیدی؟
توی مدل معمولی ساخت اپ (Client-Driven UI)، همهچی از طراحی صفحه تا منطق رابط کاربری داخل خود اپ نوشته میشه.
یعنی حتی برای یه تغییر کوچیک تو رنگ، متن یا چیدمان، باید اپ رو دوباره بیلد کنی، منتشرش کنی و صبر کنی تا کاربر آپدیت کنه
اما SDUI یه نگاه جدید به این موضوع داره
توی این مدل، UI از سمت سرور تعریف میشه و اپ فقط اون دادهها رو میگیره و رندر میکنه.
نتیجه؟ میتونی ظاهر اپ رو از راه دور و بدون نیاز به آپدیت کاربر تغییر بدی!
برای ما فلاترکارها هم یه پکیج خیلی کاربردی توی این حوزه ساخته شده به اسم Stac (قبلاً با نام Mirai شناخته میشد).
پکیج Stac یه فریمورک SDUI مخصوص فلاتره که اجازه میده UI رو به صورت JSON از سرور بفرستی و اپ اون رو مثل ویجتهای فلاتر رندر کنه.
چند تا مزیت مهمش:
- تغییر سریع UI بدون انتشار نسخه جدید
- شخصیسازی برای هر کاربر
- تست A/B راحتتر
- انعطاف بالا برای تیمهای چابک (Agile)
اگه دنبال راهی هستی که اپ فلاترت رو پویا، سبک و قابلبهروزرسانی از سرور بسازی،
پیشنهاد میکنم یه سر به Stac بزنی
معرفی در Medium
https://medium.com/stac/introducing-mirai-a-server-driven-ui-framework-for-flutter-d020fd0c387d
<Aria Ramin/>
توی مدل معمولی ساخت اپ (Client-Driven UI)، همهچی از طراحی صفحه تا منطق رابط کاربری داخل خود اپ نوشته میشه.
یعنی حتی برای یه تغییر کوچیک تو رنگ، متن یا چیدمان، باید اپ رو دوباره بیلد کنی، منتشرش کنی و صبر کنی تا کاربر آپدیت کنه
اما SDUI یه نگاه جدید به این موضوع داره
توی این مدل، UI از سمت سرور تعریف میشه و اپ فقط اون دادهها رو میگیره و رندر میکنه.
نتیجه؟ میتونی ظاهر اپ رو از راه دور و بدون نیاز به آپدیت کاربر تغییر بدی!
برای ما فلاترکارها هم یه پکیج خیلی کاربردی توی این حوزه ساخته شده به اسم Stac (قبلاً با نام Mirai شناخته میشد).
پکیج Stac یه فریمورک SDUI مخصوص فلاتره که اجازه میده UI رو به صورت JSON از سرور بفرستی و اپ اون رو مثل ویجتهای فلاتر رندر کنه.
چند تا مزیت مهمش:
- تغییر سریع UI بدون انتشار نسخه جدید
- شخصیسازی برای هر کاربر
- تست A/B راحتتر
- انعطاف بالا برای تیمهای چابک (Agile)
اگه دنبال راهی هستی که اپ فلاترت رو پویا، سبک و قابلبهروزرسانی از سرور بسازی،
پیشنهاد میکنم یه سر به Stac بزنی
معرفی در Medium
https://medium.com/stac/introducing-mirai-a-server-driven-ui-framework-for-flutter-d020fd0c387d
<Aria Ramin/>
Medium
🚀 Introducing Stac — A Server Driven UI framework for Flutter
Build dynamic UIs and push app updates in seconds with JSON
🔵 عنوان مقاله
Goiaba: An Experimental Go Parser and Compiler in Rust
🟢 خلاصه مقاله:
** Goiaba یک پروژه آزمایشی و در حال توسعه است که با Rust نوشته میشود تا کد Go را پردازش کرده و خروجی WebAssembly تولید کند؛ هدف اصلی آن یادگیری مباحث ساخت parser و compiler است، نه عرضه یک ابزار آماده تولید. تمرکز پروژه بر شفافیت و درکپذیری است، بنابراین پوشش کامل ویژگیهای Go و کارایی بالا در اولویت نیست و ممکن است بسیاری از بخشها ناقص یا آزمایشی باشند. معماری ماژولار آن برای آزمایش و گسترش آسان طراحی شده و هدفگیری WebAssembly امکان اجرا در مرورگرها و زماناجرای سبک را فراهم میکند. این پروژه میتواند مرجعی آموزشی برای علاقهمندان به compiler، parser و ابزارهای WebAssembly باشد و در آینده احتمالاً پوشش زبانی بهتر، تست و مستندسازی بیشتر و بهینهسازیهای پایه را دنبال میکند.
#Goiaba #Go #Rust #WebAssembly #Compiler #Parser #ProgrammingLanguages #LearningProject
🟣لینک مقاله:
https://golangweekly.com/link/175645/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Goiaba: An Experimental Go Parser and Compiler in Rust
🟢 خلاصه مقاله:
** Goiaba یک پروژه آزمایشی و در حال توسعه است که با Rust نوشته میشود تا کد Go را پردازش کرده و خروجی WebAssembly تولید کند؛ هدف اصلی آن یادگیری مباحث ساخت parser و compiler است، نه عرضه یک ابزار آماده تولید. تمرکز پروژه بر شفافیت و درکپذیری است، بنابراین پوشش کامل ویژگیهای Go و کارایی بالا در اولویت نیست و ممکن است بسیاری از بخشها ناقص یا آزمایشی باشند. معماری ماژولار آن برای آزمایش و گسترش آسان طراحی شده و هدفگیری WebAssembly امکان اجرا در مرورگرها و زماناجرای سبک را فراهم میکند. این پروژه میتواند مرجعی آموزشی برای علاقهمندان به compiler، parser و ابزارهای WebAssembly باشد و در آینده احتمالاً پوشش زبانی بهتر، تست و مستندسازی بیشتر و بهینهسازیهای پایه را دنبال میکند.
#Goiaba #Go #Rust #WebAssembly #Compiler #Parser #ProgrammingLanguages #LearningProject
🟣لینک مقاله:
https://golangweekly.com/link/175645/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - raphamorim/goiaba: Experimental Go parser and compiler.
Experimental Go parser and compiler. Contribute to raphamorim/goiaba development by creating an account on GitHub.
❤2
🔵 عنوان مقاله
the Cup o'Go podcast
🟢 خلاصه مقاله:
آخرین شماره Golang Weekly پادکست Cup o'Go را برجسته کرده و آن را بهعنوان همراهی صوتی و بهروز برای پیگیری روندها و مباحث مهم دنیای Go معرفی میکند. این پادکست با مرور خبرها، نکات عملی و گفتوگو درباره ویژگیهای زبان، ابزارها و الگوهای عملکرد، به توسعهدهندگان در سطوح مختلف کمک میکند تا بدون صرف زمان زیاد، در جریان تغییرات اکوسیستم Go بمانند و از محتوای کیوریتشده Golang Weekly یک مکمل کاربردی بسازند.
#Golang #GoDevelopers #GolangWeekly #CupOGo #Podcast #SoftwareEngineering #Backend #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/175631/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
the Cup o'Go podcast
🟢 خلاصه مقاله:
آخرین شماره Golang Weekly پادکست Cup o'Go را برجسته کرده و آن را بهعنوان همراهی صوتی و بهروز برای پیگیری روندها و مباحث مهم دنیای Go معرفی میکند. این پادکست با مرور خبرها، نکات عملی و گفتوگو درباره ویژگیهای زبان، ابزارها و الگوهای عملکرد، به توسعهدهندگان در سطوح مختلف کمک میکند تا بدون صرف زمان زیاد، در جریان تغییرات اکوسیستم Go بمانند و از محتوای کیوریتشده Golang Weekly یک مکمل کاربردی بسازند.
#Golang #GoDevelopers #GolangWeekly #CupOGo #Podcast #SoftwareEngineering #Backend #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/175631/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Cup o' Go
Stay up to date with the Go community in about 15 minutes per week
❤1 1
🔵 عنوان مقاله
AWS Lambda for Go 1.50
🟢 خلاصه مقاله:
این مقاله اعلام میکند که AWS Lambda از Go 1.50 پشتیبانی میکند و مجموعهای از نمونهها و ابزارها برای ساخت سرویسهای Serverless ارائه میدهد. محورها شامل استفاده از کتابخانه aws-lambda-go، ادغام با رویدادهای Amazon API Gateway، Amazon S3، Amazon DynamoDB و AWS Step Functions، و مشاهدهپذیری از طریق Amazon CloudWatch و AWS Lambda Powertools for Go است. برای استقرار و اتوماسیون، از AWS SAM، AWS CDK و Serverless Framework استفاده میشود؛ تست محلی با AWS SAM CLI و شبیهساز رابط زماناجرا ممکن است، و استقرار هم بهصورت zip و هم Container Image پشتیبانی میشود. نکات عملی شامل ساخت باینریهای کوچک برای linux/amd64 یا linux/arm64، بهرهگیری از Lambda Layers، بهینهسازی سرداستارت با مقداردهی اولیه سراسری و Provisioned Concurrency، تنظیم بهینه حافظه/CPU، انتخاب arm64 برای کارایی-بهازای-هزینه، و مدیریت امن رازها با AWS Secrets Manager یا AWS Systems Manager Parameter Store است؛ همچنین برای مهاجرت از نسخههای قبلی Go بر بررسی وابستگیها و تنظیم پرچمهای ساخت تأکید میشود.
#AWS #AWSLambda #Go #Serverless #Cloud #DevOps #InfrastructureAsCode #Observability
🟣لینک مقاله:
https://golangweekly.com/link/175649/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
AWS Lambda for Go 1.50
🟢 خلاصه مقاله:
این مقاله اعلام میکند که AWS Lambda از Go 1.50 پشتیبانی میکند و مجموعهای از نمونهها و ابزارها برای ساخت سرویسهای Serverless ارائه میدهد. محورها شامل استفاده از کتابخانه aws-lambda-go، ادغام با رویدادهای Amazon API Gateway، Amazon S3، Amazon DynamoDB و AWS Step Functions، و مشاهدهپذیری از طریق Amazon CloudWatch و AWS Lambda Powertools for Go است. برای استقرار و اتوماسیون، از AWS SAM، AWS CDK و Serverless Framework استفاده میشود؛ تست محلی با AWS SAM CLI و شبیهساز رابط زماناجرا ممکن است، و استقرار هم بهصورت zip و هم Container Image پشتیبانی میشود. نکات عملی شامل ساخت باینریهای کوچک برای linux/amd64 یا linux/arm64، بهرهگیری از Lambda Layers، بهینهسازی سرداستارت با مقداردهی اولیه سراسری و Provisioned Concurrency، تنظیم بهینه حافظه/CPU، انتخاب arm64 برای کارایی-بهازای-هزینه، و مدیریت امن رازها با AWS Secrets Manager یا AWS Systems Manager Parameter Store است؛ همچنین برای مهاجرت از نسخههای قبلی Go بر بررسی وابستگیها و تنظیم پرچمهای ساخت تأکید میشود.
#AWS #AWSLambda #Go #Serverless #Cloud #DevOps #InfrastructureAsCode #Observability
🟣لینک مقاله:
https://golangweekly.com/link/175649/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - aws/aws-lambda-go: Libraries, samples and tools to help Go developers develop AWS Lambda functions.
Libraries, samples and tools to help Go developers develop AWS Lambda functions. - aws/aws-lambda-go
❤1🔥1
Forwarded from Software Engineer Labdon
♨️ اختلال گسترده در DNS آمازون
▪️از صبح امروز سرویس DNS شرکت آمازون دچار مشکل شده و همین باعث اختلال در بخشی از اینترنت جهانی شده.
▪️بیشتر DNSهای رایگان ایران هم فعلاً از کار افتادن و ممکنه بعضی سایتها یا بازیها باز نشن.
▪️اگه برای ورود به بازیها مشکل دارید، میتونید موقتاً از DNS شرکت Windscribe استفاده کنید 👇
76.76.2.11
76.76.10.11
76.76.2.22
76.76.10.22
➖➖➖➖➖➖➖➖
👑 @software_Labdon
▪️از صبح امروز سرویس DNS شرکت آمازون دچار مشکل شده و همین باعث اختلال در بخشی از اینترنت جهانی شده.
▪️بیشتر DNSهای رایگان ایران هم فعلاً از کار افتادن و ممکنه بعضی سایتها یا بازیها باز نشن.
▪️اگه برای ورود به بازیها مشکل دارید، میتونید موقتاً از DNS شرکت Windscribe استفاده کنید 👇
76.76.2.11
76.76.10.11
76.76.2.22
76.76.10.22
➖➖➖➖➖➖➖➖
👑 @software_Labdon
❤2
Forwarded from Software Engineer Labdon
♨️ چین: آمریکا درپی فلجکردن زمان است! 😐
▪️وزارت امنیت ملی چین مدعی شده گروهی از حملات سایبری پیچیده هدایتشده توسط NSA آمریکا ، رو خنثی کرده که هدفش مرکز خدمات ملی زمان چین (NTSC) بوده.
▪️هدف این حملات به ادعای امنیت چین اختلال در سامانهٔ زمان رسمی که سرویسهای حیاتی مثل مخابرات، مالی، حملونقل و پرتابهای فضایی به آن وابستهاند.
▪️آسیب به سامانههای زمانسنجی میتواند تبعات گستردهای (از اختلالت بانکی تا مشکل در ناوبری و فضا) ایجاد کند. این ادعاها اگر درست باشند، موضوعی فراتر از یک حمله فنیست...!
➖➖➖➖➖➖➖➖
👑 @software_Labdon
▪️وزارت امنیت ملی چین مدعی شده گروهی از حملات سایبری پیچیده هدایتشده توسط NSA آمریکا ، رو خنثی کرده که هدفش مرکز خدمات ملی زمان چین (NTSC) بوده.
▪️هدف این حملات به ادعای امنیت چین اختلال در سامانهٔ زمان رسمی که سرویسهای حیاتی مثل مخابرات، مالی، حملونقل و پرتابهای فضایی به آن وابستهاند.
▪️آسیب به سامانههای زمانسنجی میتواند تبعات گستردهای (از اختلالت بانکی تا مشکل در ناوبری و فضا) ایجاد کند. این ادعاها اگر درست باشند، موضوعی فراتر از یک حمله فنیست...!
➖➖➖➖➖➖➖➖
👑 @software_Labdon
❤4
🔵 عنوان مقاله
How Slow is Channel-Based Iteration?
🟢 خلاصه مقاله:
این مقاله پرسش «تکرار مبتنی بر channel در Go چقدر کند است؟» را با یک مثال عملی بررسی میکند. تیم Dolt سه الگو را مقایسه کرده است: دو رویکرد مبتنی بر channel و یک روش iterator کشیدنی با iter.Pull. نتیجه کلی این است که هرچند channelها برای همزمانی، مدیریت فشار برگشتی و جداسازی تولیدکننده/مصرفکننده عالیاند، اما در حلقههای محاسباتیِ حساس به کارایی، سربار همگامسازی، زمانبندی goroutine و تخصیصها محسوس میشود. در مقابل، iter.Pull (و حلقههای ساده روی دادههای خطی) معمولاً سبکتر و بهینهترند. توصیه نهایی: وقتی به همزمانی واقعی نیاز دارید از channel استفاده کنید؛ برای مسیرهای داغ که فقط پیمایش میخواهند، سراغ iterator کشیدنی یا حلقههای ساده بروید.
#Go #Golang #Channels #Iteration #Performance #Benchmarking #Concurrency #Dolt
🟣لینک مقاله:
https://golangweekly.com/link/175626/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
How Slow is Channel-Based Iteration?
🟢 خلاصه مقاله:
این مقاله پرسش «تکرار مبتنی بر channel در Go چقدر کند است؟» را با یک مثال عملی بررسی میکند. تیم Dolt سه الگو را مقایسه کرده است: دو رویکرد مبتنی بر channel و یک روش iterator کشیدنی با iter.Pull. نتیجه کلی این است که هرچند channelها برای همزمانی، مدیریت فشار برگشتی و جداسازی تولیدکننده/مصرفکننده عالیاند، اما در حلقههای محاسباتیِ حساس به کارایی، سربار همگامسازی، زمانبندی goroutine و تخصیصها محسوس میشود. در مقابل، iter.Pull (و حلقههای ساده روی دادههای خطی) معمولاً سبکتر و بهینهترند. توصیه نهایی: وقتی به همزمانی واقعی نیاز دارید از channel استفاده کنید؛ برای مسیرهای داغ که فقط پیمایش میخواهند، سراغ iterator کشیدنی یا حلقههای ساده بروید.
#Go #Golang #Channels #Iteration #Performance #Benchmarking #Concurrency #Dolt
🟣لینک مقاله:
https://golangweekly.com/link/175626/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Dolthub
How slow is channel-based iteration?
We benchmarked channel-based iterators v. those provided by the iter package and share the results.
👍1🔥1
Forwarded from Software Engineer Labdon
♨️ افشای اسناد آمازون ؛ برنامه برای جایگزینی ۶۰۰ هزار کارگر با رباتها!
▪️اسناد جدید نشون میده آمازون تا سال 2033 قصد داره بیش از 600 هزار کارگر آمریکایی رو با ربات جایگزین کنه، در حالی که فروشش تو همین بازه قراره دو برابر بشه.
▪️طبق گزارشها، تیم رباتیک آمازون در حال خودکارسازی حدود 75% عملیاتهاست و احتمالاً تا سال 2027 حدود 160 هزار شغل حذف میشه.
+ این طرح برای آمازون میتونه 30 سنت صرفهجویی در هر کالا و مجموعاً نزدیک به 12.6 میلیارد دلار سود بین سالهای 2025 تا 2027 داشته باشه.
▪️اسناد جدید نشون میده آمازون تا سال 2033 قصد داره بیش از 600 هزار کارگر آمریکایی رو با ربات جایگزین کنه، در حالی که فروشش تو همین بازه قراره دو برابر بشه.
▪️طبق گزارشها، تیم رباتیک آمازون در حال خودکارسازی حدود 75% عملیاتهاست و احتمالاً تا سال 2027 حدود 160 هزار شغل حذف میشه.
+ این طرح برای آمازون میتونه 30 سنت صرفهجویی در هر کالا و مجموعاً نزدیک به 12.6 میلیارد دلار سود بین سالهای 2025 تا 2027 داشته باشه.
🔵 عنوان مقاله
Writing Better Go: Lessons from 10 Code Reviews
🟢 خلاصه مقاله:
** این اسلایدها با عنوان Writing Better Go: Lessons from 10 Code Reviews حاصل ارائهای از Konrad Reiche در GoLab 2025 است و مجموعهای از الگوهای تکرارشونده در بازبینیهای واقعی کد را به راهنماییهای عملی تبدیل میکند. محور اصلی، نوشتن کد ساده و خوانا با Go است: طراحی APIهای کوچک و منسجم، نامگذاری دقیق، تعریف interface در محل مصرف، استفاده سنجیده از composition، صفر-مقدارهای مفید، عبور منظم context و پرهیز از وضعیتهای سراسری.
بخش مهمی از درسها به خطاها و ثبت رویداد میپردازد: خطاها را بهعنوان مقدار مدیریت کنید، با %w زمینه اضافه کنید، از panic فقط برای شکستهای غیرقابلبازیابی در آغاز اجرا بهره ببرید، منابع را با defer جمع کنید، و در کتابخانهها بهجای لاگکردن، خطا برگردانید تا برنامه اصلی مسئول لاگ باشد.
در همروندی، تأکید بر سادگی و ایمنی است: چرخه عمر goroutineها را صریح کنید، آنها را به context گره بزنید، با select روی context.Done() از نشت جلوگیری کنید، و بسته به مسئله از channel یا ابزارهای sync بهدرستی استفاده کنید. بافرگذاری آگاهانه، مستندسازی قراردادها، و اعمال timeout و backpressure در پایپلاینها ضروری است.
برای کیفیت و کارایی، تستهای جدولمحور، پوشش مرزی، fuzzing، اجرای race detector، بنچمارک با testing.B و پروفایل با pprof توصیه میشود؛ از بهینهسازی زودهنگام بپرهیزید و تغییرات را بر اساس اندازهگیری انجام دهید.
در نهایت، فرهنگ بازبینی و ابزارهای خودکار نقش کلیدی دارند: یکدستی با gofmt/goimports، بررسیهای خودکار با go vet و staticcheck در CI، درخواستهای کوچک با پیامهای شفاف و تمرکز بازبینی بر درستی، طراحی و نگهداشتپذیری. این چکلیست عملی میتواند فوراً در تیمها و کدبیسهای Go به کار گرفته شود.
#Go #Golang #CodeReview #GoLab2025 #SoftwareEngineering #BestPractices #Concurrency #ErrorHandling
🟣لینک مقاله:
https://golangweekly.com/link/175975/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Writing Better Go: Lessons from 10 Code Reviews
🟢 خلاصه مقاله:
** این اسلایدها با عنوان Writing Better Go: Lessons from 10 Code Reviews حاصل ارائهای از Konrad Reiche در GoLab 2025 است و مجموعهای از الگوهای تکرارشونده در بازبینیهای واقعی کد را به راهنماییهای عملی تبدیل میکند. محور اصلی، نوشتن کد ساده و خوانا با Go است: طراحی APIهای کوچک و منسجم، نامگذاری دقیق، تعریف interface در محل مصرف، استفاده سنجیده از composition، صفر-مقدارهای مفید، عبور منظم context و پرهیز از وضعیتهای سراسری.
بخش مهمی از درسها به خطاها و ثبت رویداد میپردازد: خطاها را بهعنوان مقدار مدیریت کنید، با %w زمینه اضافه کنید، از panic فقط برای شکستهای غیرقابلبازیابی در آغاز اجرا بهره ببرید، منابع را با defer جمع کنید، و در کتابخانهها بهجای لاگکردن، خطا برگردانید تا برنامه اصلی مسئول لاگ باشد.
در همروندی، تأکید بر سادگی و ایمنی است: چرخه عمر goroutineها را صریح کنید، آنها را به context گره بزنید، با select روی context.Done() از نشت جلوگیری کنید، و بسته به مسئله از channel یا ابزارهای sync بهدرستی استفاده کنید. بافرگذاری آگاهانه، مستندسازی قراردادها، و اعمال timeout و backpressure در پایپلاینها ضروری است.
برای کیفیت و کارایی، تستهای جدولمحور، پوشش مرزی، fuzzing، اجرای race detector، بنچمارک با testing.B و پروفایل با pprof توصیه میشود؛ از بهینهسازی زودهنگام بپرهیزید و تغییرات را بر اساس اندازهگیری انجام دهید.
در نهایت، فرهنگ بازبینی و ابزارهای خودکار نقش کلیدی دارند: یکدستی با gofmt/goimports، بررسیهای خودکار با go vet و staticcheck در CI، درخواستهای کوچک با پیامهای شفاف و تمرکز بازبینی بر درستی، طراحی و نگهداشتپذیری. این چکلیست عملی میتواند فوراً در تیمها و کدبیسهای Go به کار گرفته شود.
#Go #Golang #CodeReview #GoLab2025 #SoftwareEngineering #BestPractices #Concurrency #ErrorHandling
🟣لینک مقاله:
https://golangweekly.com/link/175975/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Speaker Deck
Writing Better Go: Lessons from 10 Code Reviews
Why do Go developers obsess over variable names, error handling, and interfaces, even when your approach does the job, too? Whether gently or not so gen…
👍1
🔵 عنوان مقاله
The Speed of Random Number Generators
🟢 خلاصه مقاله:
در این مقاله، Daniel سرعت گزینههای رایج تولید اعداد تصادفی در Go را مقایسه میکند. او نشان میدهد که math/rand/v2 با الگوریتم PCG در سناریوهای غیرامنیتی سریعترین گزینه است و از نسخه قدیمیتر math/rand عملکرد بهتری دارد، در حالی که crypto/rand بهدلیل تمرکز بر امنیت بهطور قابلتوجهی کندتر است. جمعبندی عملی: برای کارهای غیررمزنگاری که سرعت و قابلیت بازتولید مهماند، از math/rand/v2 (PCG) استفاده کنید؛ اما برای مقاصد امنیتی، با وجود هزینهی عملکرد، crypto/rand انتخاب درست است.
#Go #Golang #RandomNumberGeneration #Performance #Benchmark #PCG #mathrand #cryptorand
🟣لینک مقاله:
https://golangweekly.com/link/175977/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The Speed of Random Number Generators
🟢 خلاصه مقاله:
در این مقاله، Daniel سرعت گزینههای رایج تولید اعداد تصادفی در Go را مقایسه میکند. او نشان میدهد که math/rand/v2 با الگوریتم PCG در سناریوهای غیرامنیتی سریعترین گزینه است و از نسخه قدیمیتر math/rand عملکرد بهتری دارد، در حالی که crypto/rand بهدلیل تمرکز بر امنیت بهطور قابلتوجهی کندتر است. جمعبندی عملی: برای کارهای غیررمزنگاری که سرعت و قابلیت بازتولید مهماند، از math/rand/v2 (PCG) استفاده کنید؛ اما برای مقاصد امنیتی، با وجود هزینهی عملکرد، crypto/rand انتخاب درست است.
#Go #Golang #RandomNumberGeneration #Performance #Benchmark #PCG #mathrand #cryptorand
🟣لینک مقاله:
https://golangweekly.com/link/175977/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Daniel Lemire's blog
Speed of random number generators in Go
We often need to generate random numbers in software. We need them for games, simulations, testing, and so forth. In many of these cases, we would like to use the fastest generator we can find, as long as it is reasonably random-looking. In some instances…
👍1
🔵 عنوان مقاله
The 'Compare IP Subnets' Proposal
🟢 خلاصه مقاله:
در مجموعه Accepted!، «Anton» یکی از تغییرات «Go 1.26» را معرفی میکند که مشکل قدیمی مقایسه زیرشبکههای IP را هدف گرفته است. این تغییر روشی استاندارد و یکدست برای مقایسه و مرتبسازی زیرشبکهها (IPv4 و IPv6) ارائه میکند تا کارهایی مثل مرتبسازی جدولهای مسیریابی، حذف موارد تکراری و بررسی شمول (Containment) ساده و قابل اتکا شود. نتیجه این است که کدهای شبکه خواناتر میشوند، از خطاهای ظریف جلوگیری میشود و عملکرد بهبود مییابد؛ بدون آنکه ناسازگاری با کدهای موجود ایجاد شود. این قابلیت بهصورت افزایشی اضافه میشود و میتوان آن را تدریجی به کار گرفت.
#Go #Golang #Networking #IP #CIDR #Subnetting #Go126 #SoftwareEngineering
🟣لینک مقاله:
https://golangweekly.com/link/175978/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The 'Compare IP Subnets' Proposal
🟢 خلاصه مقاله:
در مجموعه Accepted!، «Anton» یکی از تغییرات «Go 1.26» را معرفی میکند که مشکل قدیمی مقایسه زیرشبکههای IP را هدف گرفته است. این تغییر روشی استاندارد و یکدست برای مقایسه و مرتبسازی زیرشبکهها (IPv4 و IPv6) ارائه میکند تا کارهایی مثل مرتبسازی جدولهای مسیریابی، حذف موارد تکراری و بررسی شمول (Containment) ساده و قابل اتکا شود. نتیجه این است که کدهای شبکه خواناتر میشوند، از خطاهای ظریف جلوگیری میشود و عملکرد بهبود مییابد؛ بدون آنکه ناسازگاری با کدهای موجود ایجاد شود. این قابلیت بهصورت افزایشی اضافه میشود و میتوان آن را تدریجی به کار گرفت.
#Go #Golang #Networking #IP #CIDR #Subnetting #Go126 #SoftwareEngineering
🟣لینک مقاله:
https://golangweekly.com/link/175978/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
antonz.org
Go proposal: Compare IP subnets
The same way IANA and Python do.
👍2
🎙️ عنوان پادکست:
Agentic workflows and AI firewalls, so pretty much cancelling ourselves out
خلاصه پادکست:
** این متن به پارادوکس میان «جریانهای کاری عاملمحور» و «فایروالهای AI» میپردازد: هرچه محدودیتها را سختتر کنیم، مزیت خودمختاری عاملها را کمرنگتر میکنیم. راهحل، نه حذف یکی به نفع دیگری، بلکه طراحی متوازن است: سیاستهای لایهای، محدودهدهی توانمندیها، اجرا در sandbox، دروازهگذاری روی ابزارها و ثبت شفاف رخدادها تا هم ایمنی سنجشپذیر باشد و هم کارایی حفظ شود....
Agentic workflows and AI firewalls, so pretty much cancelling ourselves out
خلاصه پادکست:
** این متن به پارادوکس میان «جریانهای کاری عاملمحور» و «فایروالهای AI» میپردازد: هرچه محدودیتها را سختتر کنیم، مزیت خودمختاری عاملها را کمرنگتر میکنیم. راهحل، نه حذف یکی به نفع دیگری، بلکه طراحی متوازن است: سیاستهای لایهای، محدودهدهی توانمندیها، اجرا در sandbox، دروازهگذاری روی ابزارها و ثبت شفاف رخدادها تا هم ایمنی سنجشپذیر باشد و هم کارایی حفظ شود....
👍1
Forwarded from DevOps Labdon
🔵 عنوان مقاله
Exposing Kubernetes Services Without Cloud LoadBalancers: A Practical Guide
🟢 خلاصه مقاله:
این راهنما برای محیطهای bare‑metal و air‑gapped که به LoadBalancerهای ابری دسترسی ندارند، روشی عملی برای اکسپوز کردن سرویسهای Kubernetes ارائه میدهد. با ترکیب MetalLB و NGINX Ingress، ابتدا MetalLB یک IP پایدار به Serviceهای نوع LoadBalancer اختصاص میدهد، سپس NGINX Ingress ترافیک را بر اساس host و path به سرویسهای داخلی مسیردهی میکند. نتیجه، یک نقطه ورودی واحد با IP ثابت، مدیریت سادهتر DNS و عدم نیاز به باز کردن پورتهای متعدد است. آموزش شامل نصب و پیکربندی MetalLB (L2 یا BGP)، استقرار NGINX Ingress، تعریف Ingressها، و نکاتی درباره TLS، پایداری، و عیبیابی است؛ و نشان میدهد چرا این الگو نسبت به NodePort یا hostNetwork تمیزتر و مقیاسپذیرتر بوده و تجربهای مشابه فضای ابری را بدون وابستگی به آن فراهم میکند.
#Kubernetes #MetalLB #NGINXIngress #BareMetal #AirGapped #DevOps #Ingress #LoadBalancer
🟣لینک مقاله:
https://ku.bz/CDWB9HJg7
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
Exposing Kubernetes Services Without Cloud LoadBalancers: A Practical Guide
🟢 خلاصه مقاله:
این راهنما برای محیطهای bare‑metal و air‑gapped که به LoadBalancerهای ابری دسترسی ندارند، روشی عملی برای اکسپوز کردن سرویسهای Kubernetes ارائه میدهد. با ترکیب MetalLB و NGINX Ingress، ابتدا MetalLB یک IP پایدار به Serviceهای نوع LoadBalancer اختصاص میدهد، سپس NGINX Ingress ترافیک را بر اساس host و path به سرویسهای داخلی مسیردهی میکند. نتیجه، یک نقطه ورودی واحد با IP ثابت، مدیریت سادهتر DNS و عدم نیاز به باز کردن پورتهای متعدد است. آموزش شامل نصب و پیکربندی MetalLB (L2 یا BGP)، استقرار NGINX Ingress، تعریف Ingressها، و نکاتی درباره TLS، پایداری، و عیبیابی است؛ و نشان میدهد چرا این الگو نسبت به NodePort یا hostNetwork تمیزتر و مقیاسپذیرتر بوده و تجربهای مشابه فضای ابری را بدون وابستگی به آن فراهم میکند.
#Kubernetes #MetalLB #NGINXIngress #BareMetal #AirGapped #DevOps #Ingress #LoadBalancer
🟣لینک مقاله:
https://ku.bz/CDWB9HJg7
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
Medium
Exposing Kubernetes Services Without Cloud LoadBalancers: A Practical Guide
“How do I expose my apps in an air‑gapped Kubernetes cluster without any cloud load balancer?”