🔵 عنوان مقاله
Understanding the Go Compiler: The Scanner
🟢 خلاصه مقاله:
این مقاله، با معرفی نقش Scanner در Go Compiler، توضیح میدهد که چگونه متن خام به توکنهای دقیق و موقعیتدار تبدیل میشود تا مراحل بعدی مانند parser و type checker بتوانند روی آن کار کنند. تمرکز مقاله بر سادگی قواعد واژگانی Go، نبود preprocessor و سازوکار semicolon insertion است که باعث میشود کد خواناتر و ابزارها قابلاعتمادتر باشند.
نویسنده انواع توکنها را مرور میکند: شناسهها با پشتیبانی Unicode، اعداد صحیح و اعشاری و imaginary با امکان استفاده از underscore، رشتههای interpreted و raw، و rune literals. همچنین به نحوهی تشخیص و نادیدهگیری یا نگهداری کامنتها بر حسب نیاز ابزار اشاره میکند. بخشی هم به گزارش خطا و ادامهی اسکن در مواجهه با ورودیهای نامعتبر میپردازد و اهمیت go/token برای نگهداری دقیق موقعیتها را توضیح میدهد.
در پایان، با معرفی بستههای go/scanner و go/token، مسیر ساخت ابزارهایی مثل linter و formatter نشان داده میشود و تفاوت آنها با پیادهسازی داخلی کامپایلر بیان میگردد. نتیجه اینکه طراحی خطی و سادهی Scanner، سرعت ابزار Go و کیفیت پیامهای خطا و تحلیلهای ایستا را ممکن کرده است.
#Go #Golang #GoCompiler #Scanner #Lexer #Parsing #StaticAnalysis #ProgrammingLanguages
🟣لینک مقاله:
https://golangweekly.com/link/176905/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Understanding the Go Compiler: The Scanner
🟢 خلاصه مقاله:
این مقاله، با معرفی نقش Scanner در Go Compiler، توضیح میدهد که چگونه متن خام به توکنهای دقیق و موقعیتدار تبدیل میشود تا مراحل بعدی مانند parser و type checker بتوانند روی آن کار کنند. تمرکز مقاله بر سادگی قواعد واژگانی Go، نبود preprocessor و سازوکار semicolon insertion است که باعث میشود کد خواناتر و ابزارها قابلاعتمادتر باشند.
نویسنده انواع توکنها را مرور میکند: شناسهها با پشتیبانی Unicode، اعداد صحیح و اعشاری و imaginary با امکان استفاده از underscore، رشتههای interpreted و raw، و rune literals. همچنین به نحوهی تشخیص و نادیدهگیری یا نگهداری کامنتها بر حسب نیاز ابزار اشاره میکند. بخشی هم به گزارش خطا و ادامهی اسکن در مواجهه با ورودیهای نامعتبر میپردازد و اهمیت go/token برای نگهداری دقیق موقعیتها را توضیح میدهد.
در پایان، با معرفی بستههای go/scanner و go/token، مسیر ساخت ابزارهایی مثل linter و formatter نشان داده میشود و تفاوت آنها با پیادهسازی داخلی کامپایلر بیان میگردد. نتیجه اینکه طراحی خطی و سادهی Scanner، سرعت ابزار Go و کیفیت پیامهای خطا و تحلیلهای ایستا را ممکن کرده است.
#Go #Golang #GoCompiler #Scanner #Lexer #Parsing #StaticAnalysis #ProgrammingLanguages
🟣لینک مقاله:
https://golangweekly.com/link/176905/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Internals for interns
Understanding the Go compiler: The Scanner | Internals for interns
This is part of a series where I’ll walk you through the entire Go compiler, covering each phase from source code to executable. If you’ve ever wondered what happens when you run go build, you’re in the right place.
Note: This article is based on Go 1.25.3.…
Note: This article is based on Go 1.25.3.…
🔵 عنوان مقاله
How We Avoided Side-Channels in Our New Post-Quantum Go Cryptography Libraries
🟢 خلاصه مقاله:
ما دو کتابخانه امضای دیجیتال پساکوانتومی برای Go معرفی میکنیم: ml-dsa مطابق FIPS-204 و go-slh-dsa مطابق FIPS-205. تمرکز اصلی—فراتر از درستی و کارایی—کاهش خطر کانالهای جانبی بوده است. برای این منظور، جریان کنترل و الگوهای دسترسی به حافظه را مستقل از راز نگه داشتیم، مسیر اجرای یکنواخت ایجاد کردیم و مقادیر میانی حساس را با دقت مدیریت و پاکسازی کردیم. در پیادهسازیها از شاخهزنی و جداول وابسته به دادههای محرمانه پرهیز شده، مقایسهها و کاهشها بهصورت ثابتزمان انجام میشوند و رابطهای برنامهنویسی طوری طراحی شدهاند که استفاده امن بهطور پیشفرض برقرار باشد. امضا بهصورت مطابق استاندارد و تعیینگر پیادهسازی شده تا تکیه بر تصادفیسازی محیطی و تنوع زمانی کاهش یابد. آزمونهای آماری و تفاضلی برای رفتار ثابتزمان، تستهای property-based و فازینگ روی معماریهای مختلف انجام شده و در بازبینی کد، هم درستی رمزنگاری و هم رفتار ریزمعماری بررسی شده است. حاصل، دو کتابخانه Go برای ML-DSA و SLH-DSA است که گزینههای عملی و مقاوم در برابر کانال جانبی برای امضای پساکوانتومی در اختیار توسعهدهندگان قرار میدهند.
#PostQuantum #Cryptography #GoLang #SideChannel #FIPS204 #FIPS205 #MLDSA #SLHDSA
🟣لینک مقاله:
https://golangweekly.com/link/177181/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
How We Avoided Side-Channels in Our New Post-Quantum Go Cryptography Libraries
🟢 خلاصه مقاله:
ما دو کتابخانه امضای دیجیتال پساکوانتومی برای Go معرفی میکنیم: ml-dsa مطابق FIPS-204 و go-slh-dsa مطابق FIPS-205. تمرکز اصلی—فراتر از درستی و کارایی—کاهش خطر کانالهای جانبی بوده است. برای این منظور، جریان کنترل و الگوهای دسترسی به حافظه را مستقل از راز نگه داشتیم، مسیر اجرای یکنواخت ایجاد کردیم و مقادیر میانی حساس را با دقت مدیریت و پاکسازی کردیم. در پیادهسازیها از شاخهزنی و جداول وابسته به دادههای محرمانه پرهیز شده، مقایسهها و کاهشها بهصورت ثابتزمان انجام میشوند و رابطهای برنامهنویسی طوری طراحی شدهاند که استفاده امن بهطور پیشفرض برقرار باشد. امضا بهصورت مطابق استاندارد و تعیینگر پیادهسازی شده تا تکیه بر تصادفیسازی محیطی و تنوع زمانی کاهش یابد. آزمونهای آماری و تفاضلی برای رفتار ثابتزمان، تستهای property-based و فازینگ روی معماریهای مختلف انجام شده و در بازبینی کد، هم درستی رمزنگاری و هم رفتار ریزمعماری بررسی شده است. حاصل، دو کتابخانه Go برای ML-DSA و SLH-DSA است که گزینههای عملی و مقاوم در برابر کانال جانبی برای امضای پساکوانتومی در اختیار توسعهدهندگان قرار میدهند.
#PostQuantum #Cryptography #GoLang #SideChannel #FIPS204 #FIPS205 #MLDSA #SLHDSA
🟣لینک مقاله:
https://golangweekly.com/link/177181/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The Trail of Bits Blog
How we avoided side-channels in our new post-quantum Go cryptography libraries
We’ve released open-source Go implementations of ML-DSA and SLH-DSA.
🔵 عنوان مقاله
Context-Aware Dialer Methods Coming to Go 1.26
🟢 خلاصه مقاله:
** این تغییر که نخستینبار چهار سال پیش مطرح شد، قرار است در Go 1.26 و اوایل 2026 به net.Dialer اضافه شود و «متدهای شبکهمحورِ مبتنی بر context» را بهصورت رسمی در اختیار قرار دهد. با این کار، برقراری اتصال برای شبکههای خاص (مثل TCP/UDP) با رعایت لغو شدنها و ضربالاجلهای context بهصورت یکپارچه انجام میشود. تغییرات افزایشی است و سازگاری گذشته حفظ میشود؛ کدهای فعلی بدون تغییر کار میکنند و پروژههایی که کنترل دقیقتری میخواهند میتوانند از متدهای جدید استفاده کنند.
#golang #go126 #netDialer #context #networking #gostdlib #apiDesign
🟣لینک مقاله:
https://golangweekly.com/link/177180/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Context-Aware Dialer Methods Coming to Go 1.26
🟢 خلاصه مقاله:
** این تغییر که نخستینبار چهار سال پیش مطرح شد، قرار است در Go 1.26 و اوایل 2026 به net.Dialer اضافه شود و «متدهای شبکهمحورِ مبتنی بر context» را بهصورت رسمی در اختیار قرار دهد. با این کار، برقراری اتصال برای شبکههای خاص (مثل TCP/UDP) با رعایت لغو شدنها و ضربالاجلهای context بهصورت یکپارچه انجام میشود. تغییرات افزایشی است و سازگاری گذشته حفظ میشود؛ کدهای فعلی بدون تغییر کار میکنند و پروژههایی که کنترل دقیقتری میخواهند میتوانند از متدهای جدید استفاده کنند.
#golang #go126 #netDialer #context #networking #gostdlib #apiDesign
🟣لینک مقاله:
https://golangweekly.com/link/177180/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
antonz.org
Go proposal: Context-aware Dialer methods
Connect to TCP, UDP, IP, or Unix sockets, with an optional timeout.
❤1
🔵 عنوان مقاله
Boxes and Glue v0.1.10
🟢 خلاصه مقاله:
کتابخانه Boxes and Glue v0.1.10 برای تولید PDF در محیط Go طراحی شده و با تکیه بر الگوریتمهای TeX و مدل box-and-glue، چیدمان دقیق متن، شکستن خط و فاصلهگذاری قابل پیشبینی را فراهم میکند. این ابزار امکان ترکیب صفحه و تولید PDF را بهصورت برنامهنویسیشده داخل اکوسیستم Go میدهد و برای ساخت گزارشها، فاکتورها و مستندات فنی با خروجی پایدار و قابل بازتولید مناسب است. نسخه v0.1.10 نشان میدهد پروژه در حال رشد است، اما همین حالا نیز برای تولید خروجی با کیفیت بالا قابل استفاده بوده و با هدف آوردن اصول محکم حروفچینی TeX به جریان کاری سبک و کارای Go توسعه مییابد.
#Go #PDF #TeX #Typesetting #GoLang #DocumentRendering #LayoutEngine #DevTools
🟣لینک مقاله:
https://golangweekly.com/link/177203/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Boxes and Glue v0.1.10
🟢 خلاصه مقاله:
کتابخانه Boxes and Glue v0.1.10 برای تولید PDF در محیط Go طراحی شده و با تکیه بر الگوریتمهای TeX و مدل box-and-glue، چیدمان دقیق متن، شکستن خط و فاصلهگذاری قابل پیشبینی را فراهم میکند. این ابزار امکان ترکیب صفحه و تولید PDF را بهصورت برنامهنویسیشده داخل اکوسیستم Go میدهد و برای ساخت گزارشها، فاکتورها و مستندات فنی با خروجی پایدار و قابل بازتولید مناسب است. نسخه v0.1.10 نشان میدهد پروژه در حال رشد است، اما همین حالا نیز برای تولید خروجی با کیفیت بالا قابل استفاده بوده و با هدف آوردن اصول محکم حروفچینی TeX به جریان کاری سبک و کارای Go توسعه مییابد.
#Go #PDF #TeX #Typesetting #GoLang #DocumentRendering #LayoutEngine #DevTools
🟣لینک مقاله:
https://golangweekly.com/link/177203/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - boxesandglue/boxesandglue: PDF rendering library for Go using TeX algorithms.
PDF rendering library for Go using TeX algorithms. - boxesandglue/boxesandglue