🔵 عنوان مقاله 
From 19 Hours to Under a Second: Building a Blazing-Fast TCP Scanner in Go
🟢 خلاصه مقاله:
با یک روایت عملی، مقاله توضیح میدهد چگونه یک اسکنر ساده TCP که ۱۹ ساعت طول میکشید، با بازطراحی در Go به ابزاری «زیر یک ثانیه» تبدیل شد. ابتدا نشان میدهد چرا اسکن مبتنیبر net.Dial حتی با همزمانی محدود گرفتار زمانهای انتظار، محدودیت FD و سربار syscall میشود. سپس با گذار از اتصالهای کامل به اسکن SYN، ساخت بستهها، فیلترکردن پاسخها با BPF، و نگهداری وضعیت سبکوزن، سربار کرنل و زمانبندی به شدت کاهش مییابد. بهینهسازیهایی مانند batch کردن ارسال/دریافت، پیشاختصاص بافرها، کاهش تخصیصها با sync.Pool، و حلقههای رویدادی کارا (epoll/kqueue) همراه با تنظیمات سیستم (ulimit، بافرهای سوکتی و sysctl) throughput را به حداکثر میرساند. با پروفایلکردن مداوم (pprof) و راستیآزمایی با ابزاری مانند Nmap، هم دقت و هم کارایی تضمین میشود. خروجی نهایی: الگوی عملی برای ساخت ابزارهای پرسرعت شبکه در Go—ترکیبی از انتخاب مدل درست (SYN بهجای connect)، کاهش سربارها، batch کردن، اندازهگیری پیوسته، و پایبندی به اصول ایمنی و اخلاق اسکن. این مطلب در Golang Weekly برجسته شده است.
#Go #Golang #TCP #PortScanning #Networking #Performance #Concurrency #SystemsProgramming
🟣لینک مقاله:
https://golangweekly.com/link/176335/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
  
  From 19 Hours to Under a Second: Building a Blazing-Fast TCP Scanner in Go
🟢 خلاصه مقاله:
با یک روایت عملی، مقاله توضیح میدهد چگونه یک اسکنر ساده TCP که ۱۹ ساعت طول میکشید، با بازطراحی در Go به ابزاری «زیر یک ثانیه» تبدیل شد. ابتدا نشان میدهد چرا اسکن مبتنیبر net.Dial حتی با همزمانی محدود گرفتار زمانهای انتظار، محدودیت FD و سربار syscall میشود. سپس با گذار از اتصالهای کامل به اسکن SYN، ساخت بستهها، فیلترکردن پاسخها با BPF، و نگهداری وضعیت سبکوزن، سربار کرنل و زمانبندی به شدت کاهش مییابد. بهینهسازیهایی مانند batch کردن ارسال/دریافت، پیشاختصاص بافرها، کاهش تخصیصها با sync.Pool، و حلقههای رویدادی کارا (epoll/kqueue) همراه با تنظیمات سیستم (ulimit، بافرهای سوکتی و sysctl) throughput را به حداکثر میرساند. با پروفایلکردن مداوم (pprof) و راستیآزمایی با ابزاری مانند Nmap، هم دقت و هم کارایی تضمین میشود. خروجی نهایی: الگوی عملی برای ساخت ابزارهای پرسرعت شبکه در Go—ترکیبی از انتخاب مدل درست (SYN بهجای connect)، کاهش سربارها، batch کردن، اندازهگیری پیوسته، و پایبندی به اصول ایمنی و اخلاق اسکن. این مطلب در Golang Weekly برجسته شده است.
#Go #Golang #TCP #PortScanning #Networking #Performance #Concurrency #SystemsProgramming
🟣لینک مقاله:
https://golangweekly.com/link/176335/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
docs.serviceradar.cloud
  
  From 19 Hours to Under a Second: Building a Blazing-Fast TCP Scanner in Go | ServiceRadar
  How ServiceRadar turned a 19-hour TCP discovery job into a sub-second SYN scan by leaning on raw sockets, BPF, and Go assembly.
  🔵 عنوان مقاله 
Go's Release Cycle and Process as Go 1.26 Progresses
🟢 خلاصه مقاله:
با نزدیکشدن به انتشار Go 1.26، فرآیند انتشار این زبان وارد مرحله حساس میشود. طبق برنامه، تاریخ “development freeze” برای ۲۶ نوامبر تعیین شده است؛ یعنی از این زمان هیچ قابلیت جدیدی برای Go 1.26 پذیرفته نمیشود و تمرکز پروژه بر رفع باگها، بهبود کارایی، مستندسازی و آزمون است. نسخههای beta و RC برای آزمایش جامعه منتشر میشوند تا مشکلات واقعی سریعتر شناسایی و رفع شوند.
برای توسعهدهندگان، این یعنی تغییراتی که تا موعد یادشده آماده نشوند، به چرخه بعدی (مثلاً Go 1.27) منتقل خواهند شد. پیشنهاد میشود پروژهها و کتابخانهها، ساختها و تستهای خود را با پیشانتشارهای Go 1.26 اجرا کنند و هر گونه مشکل را سریع گزارش دهند تا در نسخه نهایی رفع شود. این انضباط در “فریز” ویژگیها و محدودکردن تغییرات پرریسک، مسیر انتشار پایدار و قابلپیشبینی Go را تضمین میکند.
#Go #Golang #Go126 #ReleaseCycle #DevelopmentFreeze #SoftwareRelease #ProgrammingLanguages #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/176301/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
  
  Go's Release Cycle and Process as Go 1.26 Progresses
🟢 خلاصه مقاله:
با نزدیکشدن به انتشار Go 1.26، فرآیند انتشار این زبان وارد مرحله حساس میشود. طبق برنامه، تاریخ “development freeze” برای ۲۶ نوامبر تعیین شده است؛ یعنی از این زمان هیچ قابلیت جدیدی برای Go 1.26 پذیرفته نمیشود و تمرکز پروژه بر رفع باگها، بهبود کارایی، مستندسازی و آزمون است. نسخههای beta و RC برای آزمایش جامعه منتشر میشوند تا مشکلات واقعی سریعتر شناسایی و رفع شوند.
برای توسعهدهندگان، این یعنی تغییراتی که تا موعد یادشده آماده نشوند، به چرخه بعدی (مثلاً Go 1.27) منتقل خواهند شد. پیشنهاد میشود پروژهها و کتابخانهها، ساختها و تستهای خود را با پیشانتشارهای Go 1.26 اجرا کنند و هر گونه مشکل را سریع گزارش دهند تا در نسخه نهایی رفع شود. این انضباط در “فریز” ویژگیها و محدودکردن تغییرات پرریسک، مسیر انتشار پایدار و قابلپیشبینی Go را تضمین میکند.
#Go #Golang #Go126 #ReleaseCycle #DevelopmentFreeze #SoftwareRelease #ProgrammingLanguages #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/176301/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
  
  Go Wiki: Go-Release-Cycle - The Go Programming Language
  
👍1
  ایلان ماسک با پیامرسان ایکسچت به جنگ تلگرام و واتساپ میرود
https://www.zoomit.ir/software-application/451079-musk-instant-messaging-app-x-chat/
  
  https://www.zoomit.ir/software-application/451079-musk-instant-messaging-app-x-chat/
زومیت
  
  ایلان ماسک با پیامرسان ایکسچت به جنگ تلگرام و واتساپ میرود - زومیت
  ایلان ماسک از X Chat رونمایی کرد؛ پیامرسانی رمزگذاریشده و بدون تبلیغ که با هدف رقابت مستقیم با تلگرام و واتساپ توسعه مییابد.
👍3
  🍏 یکی از ویژگی های گولنگ ۱.۲۶
💛 testing
🔰متدهای جدید T.ArtifactDir, B.ArtifactDir و F.ArtifactDir اضافه شدهاند.
🔰این متدها پوشهای برای ذخیرهی خروجیهای تست (artifacts) برمیگردانند.
اگر هنگام اجرای go test از پرچم -artifacts استفاده شود، این پوشه درون مسیر خروجی مشخصشده (یا پوشه فعلی) ایجاد میشود.
در غیر این صورت، در پوشهی موقتی ایجاد و پس از اتمام تست حذف خواهد شد.اولین فراخوانی ArtifactDir هنگامی که -artifacts فعال باشد،
مسیر پوشهی artifact را در لاگ تست ثبت میکند.
https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
💛 testing
🔰متدهای جدید T.ArtifactDir, B.ArtifactDir و F.ArtifactDir اضافه شدهاند.
🔰این متدها پوشهای برای ذخیرهی خروجیهای تست (artifacts) برمیگردانند.
اگر هنگام اجرای go test از پرچم -artifacts استفاده شود، این پوشه درون مسیر خروجی مشخصشده (یا پوشه فعلی) ایجاد میشود.
در غیر این صورت، در پوشهی موقتی ایجاد و پس از اتمام تست حذف خواهد شد.اولین فراخوانی ArtifactDir هنگامی که -artifacts فعال باشد،
مسیر پوشهی artifact را در لاگ تست ثبت میکند.
https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
👍3
  🔵 عنوان مقاله 
their favorite Go related blog posts of all time.
🟢 خلاصه مقاله:
این شماره جدید از خبرنامه Golang Weekly فهرستی منتخب از «بهترین پستهای وبلاگی مرتبط با Go» را گرد آورده است؛ مجموعهای منسجم که بهجای فهرست صرفِ لینکها، مسیر مطالعهای ارائه میدهد برای درک اصول ماندگار Go. موضوعات کلیدی مانند همروندی با goroutine و channel، خطاپرداری شفاف، استفاده از interface و ترکیبپذیری، آزموننویسی و ابزارها، همچنین بهینهسازی کارایی، پروفایلینگ و مدیریت حافظه پوشش داده میشوند. هر انتخاب با توضیحی کوتاه درباره ارزش ماندگارش و اینکه به درد چه کسی و چه مسئلهای میخورد همراه است؛ نوآموزان میتوانند آن را نقشه راه یادگیری بدانند و باتجربهها نیز برای بازبینی مبانی و دیدگاههای عمیقتر از آن بهره ببرند. این گردآوری تصویری از مسیر بلوغ جامعه Go نیز ارائه میکند؛ از نوشتههای اولیه که روحیه طراحی زبان را شکل دادند تا جمعبندیهای اخیر که بر تجربههای تولیدی تکیه دارند—مجموعهای برای نشانگذاری، اشتراک با تیم و رجوعهای مکرر.
#Go #Golang #GolangWeekly #Programming #SoftwareEngineering #Concurrency #GoTips #DevCommunity
🟣لینک مقاله:
https://golangweekly.com/link/176329/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
  
  their favorite Go related blog posts of all time.
🟢 خلاصه مقاله:
این شماره جدید از خبرنامه Golang Weekly فهرستی منتخب از «بهترین پستهای وبلاگی مرتبط با Go» را گرد آورده است؛ مجموعهای منسجم که بهجای فهرست صرفِ لینکها، مسیر مطالعهای ارائه میدهد برای درک اصول ماندگار Go. موضوعات کلیدی مانند همروندی با goroutine و channel، خطاپرداری شفاف، استفاده از interface و ترکیبپذیری، آزموننویسی و ابزارها، همچنین بهینهسازی کارایی، پروفایلینگ و مدیریت حافظه پوشش داده میشوند. هر انتخاب با توضیحی کوتاه درباره ارزش ماندگارش و اینکه به درد چه کسی و چه مسئلهای میخورد همراه است؛ نوآموزان میتوانند آن را نقشه راه یادگیری بدانند و باتجربهها نیز برای بازبینی مبانی و دیدگاههای عمیقتر از آن بهره ببرند. این گردآوری تصویری از مسیر بلوغ جامعه Go نیز ارائه میکند؛ از نوشتههای اولیه که روحیه طراحی زبان را شکل دادند تا جمعبندیهای اخیر که بر تجربههای تولیدی تکیه دارند—مجموعهای برای نشانگذاری، اشتراک با تیم و رجوعهای مکرر.
#Go #Golang #GolangWeekly #Programming #SoftwareEngineering #Concurrency #GoTips #DevCommunity
🟣لینک مقاله:
https://golangweekly.com/link/176329/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Reddit
  
  From the golang community on Reddit
  Explore this post and more from the golang community
👍1
  🔵 عنوان مقاله 
vite-plugin-use-golang: Write Go in JavaScript Files?
🟢 خلاصه مقاله:
** این افزونه با نام vite-plugin-use-golang برای Vite یک آزمایش جالب است که با قرار دادن دستور "use golang" داخل فایلهای JavaScript، کدهای Go را شناسایی کرده و آنها را برای استفاده در فرانتاند به WebAssembly کامپایل میکند. نتیجه این است که میتوانید بخشی از منطق Go را مستقیماً در مرورگر و کنار کدهای JavaScript فراخوانی کنید. این رویکرد برای بهرهبرداری مجدد از منطق موجود در Go یا آزمایش بخشهای حساس به کارایی مفید است، اما پیچیدگی فرایند ساخت، افزایش حجم باندل، زمان راهاندازی WASM، دشواری دیباگ و محدودیت دسترسی مستقیم به DOM از چالشهای آن هستند. در مجموع، این کار «نامتعارف اما واقعی» است و نشان میدهد زنجیره ابزارهای امروز تا کجا قابل گسترش است.
#Vite #Go #WebAssembly #WASM #JavaScript #Frontend #DevTools #WasmInBrowser
🟣لینک مقاله:
https://golangweekly.com/link/176347/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
  vite-plugin-use-golang: Write Go in JavaScript Files?
🟢 خلاصه مقاله:
** این افزونه با نام vite-plugin-use-golang برای Vite یک آزمایش جالب است که با قرار دادن دستور "use golang" داخل فایلهای JavaScript، کدهای Go را شناسایی کرده و آنها را برای استفاده در فرانتاند به WebAssembly کامپایل میکند. نتیجه این است که میتوانید بخشی از منطق Go را مستقیماً در مرورگر و کنار کدهای JavaScript فراخوانی کنید. این رویکرد برای بهرهبرداری مجدد از منطق موجود در Go یا آزمایش بخشهای حساس به کارایی مفید است، اما پیچیدگی فرایند ساخت، افزایش حجم باندل، زمان راهاندازی WASM، دشواری دیباگ و محدودیت دسترسی مستقیم به DOM از چالشهای آن هستند. در مجموع، این کار «نامتعارف اما واقعی» است و نشان میدهد زنجیره ابزارهای امروز تا کجا قابل گسترش است.
#Vite #Go #WebAssembly #WASM #JavaScript #Frontend #DevTools #WasmInBrowser
🟣لینک مقاله:
https://golangweekly.com/link/176347/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🔵 عنوان مقاله 
Timezones as Types: Making Time Safer to Use in Go?
🟢 خلاصه مقاله:
** این مقاله ایده Timezones as Types را بررسی میکند؛ رویکردی که در آن اطلاعات منطقه زمانی بهصورت مستقیم در نوع دادهها کدگذاری میشود. نویسنده، سازنده go-meridian، نشان میدهد چگونه میتوان با مدلکردن timezoneها در سطح نوع، از ترکیب نادرست زمانها جلوگیری کرد تا خطاها بهجای زمان اجرا، در مرحله کامپایل آشکار شوند.
go-meridian بهجای تکیه بر متغیرهای بدون نوع مشخص، زمان را به نوعی گره میزند که منطقه زمانی را نیز در بر دارد؛ بنابراین اگر دو مقدار با منطقههای متفاوت بدون تبدیل صریح ترکیب شوند، کد اصلاً کامپایل نمیشود. این کار خطاهای رایجی مانند دستکمگرفتن تغییرات DST، ابهام در زمانهای محلی، یا تبدیلهای ضمنی از/به UTC را کاهش میدهد و خوانایی و صراحت کد را بهبود میبخشد.
این کتابخانه با سبک Go و بسته time سازگار است، تبدیلهای صریح را در نقاط مرزی اجبار میکند و به تیمها کمک میکند دادههای ورودی را زودهنگام به زمانهای با نوع صحیح تبدیل کنند. هرچند ممکن است اندکی صراحت بیشتر در امضاها و تبدیلها لازم باشد، اما دستاورد آن قراردادهای واضحتر، ایمنی بالاتر و نگهداری آسانتر کدهای حساس به زمان است.
#Go #Golang #Timezone #TypeSafety #StaticTyping #goMeridian #TimeHandling #SoftwareEngineering
🟣لینک مقاله:
https://golangweekly.com/link/176302/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
  
  Timezones as Types: Making Time Safer to Use in Go?
🟢 خلاصه مقاله:
** این مقاله ایده Timezones as Types را بررسی میکند؛ رویکردی که در آن اطلاعات منطقه زمانی بهصورت مستقیم در نوع دادهها کدگذاری میشود. نویسنده، سازنده go-meridian، نشان میدهد چگونه میتوان با مدلکردن timezoneها در سطح نوع، از ترکیب نادرست زمانها جلوگیری کرد تا خطاها بهجای زمان اجرا، در مرحله کامپایل آشکار شوند.
go-meridian بهجای تکیه بر متغیرهای بدون نوع مشخص، زمان را به نوعی گره میزند که منطقه زمانی را نیز در بر دارد؛ بنابراین اگر دو مقدار با منطقههای متفاوت بدون تبدیل صریح ترکیب شوند، کد اصلاً کامپایل نمیشود. این کار خطاهای رایجی مانند دستکمگرفتن تغییرات DST، ابهام در زمانهای محلی، یا تبدیلهای ضمنی از/به UTC را کاهش میدهد و خوانایی و صراحت کد را بهبود میبخشد.
این کتابخانه با سبک Go و بسته time سازگار است، تبدیلهای صریح را در نقاط مرزی اجبار میکند و به تیمها کمک میکند دادههای ورودی را زودهنگام به زمانهای با نوع صحیح تبدیل کنند. هرچند ممکن است اندکی صراحت بیشتر در امضاها و تبدیلها لازم باشد، اما دستاورد آن قراردادهای واضحتر، ایمنی بالاتر و نگهداری آسانتر کدهای حساس به زمان است.
#Go #Golang #Timezone #TypeSafety #StaticTyping #goMeridian #TimeHandling #SoftwareEngineering
🟣لینک مقاله:
https://golangweekly.com/link/176302/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Matthewhalpern
  
  Timezones as Types: Making Time Safer to Use in Go | Matthew Halpern
  Introducing go-meridian: a library that makes timezones first-class in Golang programs.