🎙️ عنوان پادکست:
Live from San Francisco, it's Cup o' Go! 1.26 release notes, speaker dinner, and more
خلاصه پادکست:
** این اپیزود Cup o' Go! بهصورت زنده در San Francisco و در جمع GoSF ضبط شده و با حمایت Forge ارائه میشود. بخش اصلی برنامه مرور DRAFT RELEASE NOTES — Go 1.26 است؛ با تأکید بر بهبودهای احتمالی عملکرد، تغییرات کتابخانه استاندارد و ابزارها، و توصیه به آزمودن نسخههای پیشانتشار. در ادامه، به مناسبت Coding Challenge #100، ساخت یک BitTorrent Client در Go مطرح میشود؛ از پارس کردن فایلهای .torrent و magnet تا تعامل با tracker و peers، انتخاب قطعهها، کنترل نرخ و همزمانی ایمن....
Live from San Francisco, it's Cup o' Go! 1.26 release notes, speaker dinner, and more
خلاصه پادکست:
** این اپیزود Cup o' Go! بهصورت زنده در San Francisco و در جمع GoSF ضبط شده و با حمایت Forge ارائه میشود. بخش اصلی برنامه مرور DRAFT RELEASE NOTES — Go 1.26 است؛ با تأکید بر بهبودهای احتمالی عملکرد، تغییرات کتابخانه استاندارد و ابزارها، و توصیه به آزمودن نسخههای پیشانتشار. در ادامه، به مناسبت Coding Challenge #100، ساخت یک BitTorrent Client در Go مطرح میشود؛ از پارس کردن فایلهای .torrent و magnet تا تعامل با tracker و peers، انتخاب قطعهها، کنترل نرخ و همزمانی ایمن....
❤5
🎙️ عنوان پادکست:
🎉 Surprise! 😯 A new security release is coming!
خلاصه پادکست:
**یک انتشار امنیتی غافلگیرکننده برای Go اعلام شده است: نسخههای Go 1.24.3 و Go 1.23.9 برای سهشنبه ۶ مه زمانبندی شدهاند و توصیه میشود تیمها برنامهریزی ارتقا را انجام دهند و با انتشار یادداشتها سریعاً بهروزرسانی کنند. در بخش رویدادهای حضوری، کنفرانس GoWest در ۲۴ اکتبر در Lehi, Utah برگزار میشود و CFP تا ۳ ژوئن باز است؛ همچنین میتآپهای Go در Atlanta (۷ مه) و SF (۲۷ مه) برگزار میشوند. در بهروزرسانیهای فنی، پیشنویس یادداشتهای انتشار Go 1....
🎉 Surprise! 😯 A new security release is coming!
خلاصه پادکست:
**یک انتشار امنیتی غافلگیرکننده برای Go اعلام شده است: نسخههای Go 1.24.3 و Go 1.23.9 برای سهشنبه ۶ مه زمانبندی شدهاند و توصیه میشود تیمها برنامهریزی ارتقا را انجام دهند و با انتشار یادداشتها سریعاً بهروزرسانی کنند. در بخش رویدادهای حضوری، کنفرانس GoWest در ۲۴ اکتبر در Lehi, Utah برگزار میشود و CFP تا ۳ ژوئن باز است؛ همچنین میتآپهای Go در Atlanta (۷ مه) و SF (۲۷ مه) برگزار میشوند. در بهروزرسانیهای فنی، پیشنویس یادداشتهای انتشار Go 1....
❤1
🔵 عنوان مقاله
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.
🔵 عنوان مقاله
goquery v1.11: jQuery-Like HTML/DOM Manipulation Methods
🟢 خلاصه مقاله:
goquery v1.11 کتابخانهای برای زبان Go است که شیوهای آشنا و شبیه به jQuery برای کار با HTML و CSS در سمت سرور ارائه میدهد. با استفاده از انتخابگرهای CSS، پیمایش DOM و زنجیرهکردن متدها، میتوانید بهسادگی عناصر را انتخاب کنید، متن و ویژگیها را بخوانید یا ویرایش کنید و بین والد، فرزند و همسایهها حرکت کنید. این رویکرد برای وباسکرپینگ، استخراج محتوا، بررسی خودکار کیفیت نشانهگذاری و تبدیلهای سمت سرور بسیار کاربردی است. طراحی API تا حد ممکن با الگوی ذهنی jQuery هماهنگ است و یادگیری آن برای توسعهدهندگانی که تجربه front-end دارند سریع خواهد بود. فهرست کامل توابع پشتیبانیشده و مثالها در مستندات رسمی ارائه شده است.
#goquery #Go #jQuery #HTML #CSS #WebScraping #DOM
🟣لینک مقاله:
https://golangweekly.com/link/177196/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
goquery v1.11: jQuery-Like HTML/DOM Manipulation Methods
🟢 خلاصه مقاله:
goquery v1.11 کتابخانهای برای زبان Go است که شیوهای آشنا و شبیه به jQuery برای کار با HTML و CSS در سمت سرور ارائه میدهد. با استفاده از انتخابگرهای CSS، پیمایش DOM و زنجیرهکردن متدها، میتوانید بهسادگی عناصر را انتخاب کنید، متن و ویژگیها را بخوانید یا ویرایش کنید و بین والد، فرزند و همسایهها حرکت کنید. این رویکرد برای وباسکرپینگ، استخراج محتوا، بررسی خودکار کیفیت نشانهگذاری و تبدیلهای سمت سرور بسیار کاربردی است. طراحی API تا حد ممکن با الگوی ذهنی jQuery هماهنگ است و یادگیری آن برای توسعهدهندگانی که تجربه front-end دارند سریع خواهد بود. فهرست کامل توابع پشتیبانیشده و مثالها در مستندات رسمی ارائه شده است.
#goquery #Go #jQuery #HTML #CSS #WebScraping #DOM
🟣لینک مقاله:
https://golangweekly.com/link/177196/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🔵 عنوان مقاله
Scriggo: Template Engine and Go Embeddable Interpreter
🟢 خلاصه مقاله:
Scriggo یک موتور قالب و مفسر قابلجاسازی برای Go است که تجربهای مشابه ERB در Ruby/Rails را به اکوسیستم Go میآورد. با آن میتوانید منطق و عبارتهای Go را مستقیماً داخل قالبها قرار دهید و محتوای پویا بسازید.
ویژگی مهم Scriggo این است که قالبها بدون نیاز به کامپایل مجدد برنامه قابل تغییر و اعمال هستند؛ بنابراین چرخه آزمون و تغییر بسیار سریع میشود و میتوانید منطق ارائه و قوانین رندر را بهسرعت اصلاح کنید.
این ابزار بهصورت کتابخانه در برنامههای Go ادغام میشود و برای ساخت خروجیهای پویا مانند صفحات CMS، ایمیلها یا تولید محتوای مبتنی بر قالب مناسب است؛ ترکیبی از امکانات Go با تفسیر زماناجرا برای رسیدن سریعتر از ایده به خروجی.
#Go #Scriggo #TemplateEngine #Interpreter #ERB #RubyOnRails #Templating
🟣لینک مقاله:
https://golangweekly.com/link/177198/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Scriggo: Template Engine and Go Embeddable Interpreter
🟢 خلاصه مقاله:
Scriggo یک موتور قالب و مفسر قابلجاسازی برای Go است که تجربهای مشابه ERB در Ruby/Rails را به اکوسیستم Go میآورد. با آن میتوانید منطق و عبارتهای Go را مستقیماً داخل قالبها قرار دهید و محتوای پویا بسازید.
ویژگی مهم Scriggo این است که قالبها بدون نیاز به کامپایل مجدد برنامه قابل تغییر و اعمال هستند؛ بنابراین چرخه آزمون و تغییر بسیار سریع میشود و میتوانید منطق ارائه و قوانین رندر را بهسرعت اصلاح کنید.
این ابزار بهصورت کتابخانه در برنامههای Go ادغام میشود و برای ساخت خروجیهای پویا مانند صفحات CMS، ایمیلها یا تولید محتوای مبتنی بر قالب مناسب است؛ ترکیبی از امکانات Go با تفسیر زماناجرا برای رسیدن سریعتر از ایده به خروجی.
#Go #Scriggo #TemplateEngine #Interpreter #ERB #RubyOnRails #Templating
🟣لینک مقاله:
https://golangweekly.com/link/177198/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Scriggo
The Go language template engine and embeddable interpreter
Scriggo is the world’s most powerful template engine and Go embeddable interpreter
❤2
Forwarded from AI Labdon
خبر داغ برنامهنویسا : گزارش Stack Overflow 2025 نشون میده ۸۴% دولوپرها از AI مثل ChatGPT و GitHub Copilot استفاده میکنن، اما ۶۶% کلافه از کدهای 'تقریباً باگی' هستن! Cursor و Copilot دارن کدینگ رو متحول میکنن، ولی دیباگش وقتگیره.
https://survey.stackoverflow.co/2025/ai/
<Arash/>
👉 https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
https://survey.stackoverflow.co/2025/ai/
<Arash/>
👉 https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
❤5
Forwarded from Linux Labdon
کاهش هزینه سیستمهای هوش مصنوعی با Semantic Caching
با رشد مدلهای زبانی بزرگ و پیشرفته، هزینه و زمان پاسخدهی هم به شدت افزایش پیدا کرده. مدلهایی مثل GPT-5 یا Claude برای کارهای پیچیده فوقالعادهاند، ولی استفاده از اونها هم پرهزینه و هم کند محسوب میشه. از طرف دیگه، AI Agentها واقعاً «توکنخور» هستن؛ یعنی برای انجام یک کار معمولاً چندین مرحله طی میکنن: تحقیق، برنامهریزی، عمل و بازتاب و تکرار. همین باعث میشه چندین بار با مدل تماس بگیرن و در نتیجه هزینه و تأخیر افزایش پیدا کنه و متنهای طولانیتر تولید بشه. برای مثال، یه بنچمارک اخیر از TheAgentCompany در ۲۰۲۵ نشون داده اجرای کامل یک Agent گاهی تا ۶.۸ دلار هزینه داره.
یکی از مشکلات اصلی در دنیای واقعی، تکراری بودن سوالهاست، مخصوصاً توی پشتیبانی مشتری. کاربران دائماً سوالهای مشابهی میپرسن: مثل «چطور پولم رو پس بگیرم؟» یا «شرایط بازگشت وجه چیه؟» و Agent مجبور میشه هر بار پاسخ رو از صفر تولید کنه. نتیجهش افزایش هزینه، طولانی شدن زمان پاسخ و فشار بیشتر روی سیستمهای RAG و زیرساختهاست.
در نگاه اول، ممکنه فکر کنیم کش کلاسیک کفایت میکنه. ایدهی کش ساده اینه که اگر یک سوال قبلاً پاسخ داده شده، دوباره سراغ مدل نریم. ولی مشکل اینجاست که کش سنتی دنبال Exact Match یا تطابق دقیق متنه. سوالهایی که از نظر معنی یکی هستن ولی عبارتهاشون فرق میکنه، مثل: «میخوام پولم رو پس بگیرم»، «چطور میتونم درخواست بازگشت وجه بدم؟» و «سیاست بازگشت پولتون چیه؟»، همه Cache Miss میشن و کش عملاً استفاده نمیشه.
اینجاست که Semantic Caching وارد میشه. به جای تطابق کلمهبهکلمه، کش به معنی و مفهوم جمله نگاه میکنه. مزیت اصلیش اینه که Recall و Hit Rate بالاتره و احتمال استفاده از کش و صرفهجویی خیلی بیشتر میشه. البته چالشش هم اینه که گاهی ممکنه جواب بیربط بده یا همون «False Positive» رخ بده.
روش کار Semantic Caching ساده است ولی هوشمندانه: ابتدا سوال کاربر به Embedding یا بردار عددی تبدیل میشه. بعد با بردارهای موجود در کش با Semantic Search مقایسه میشه. اگر فاصله معنایی کم باشه، پاسخ از کش برگردونده میشه؛ در غیر این صورت به RAG یا LLM میریم. در نهایت سوال و پاسخ جدید هم ذخیره میشه تا دفعه بعدی قابل استفاده باشه.
پیادهسازی Semantic Caching با چالشهایی همراهه؛ مثل دقت (Accuracy) که آیا کش جواب درست میده، کارایی (Performance) و میزان Cache Hit، سرعت سرویسدهی، آپدیتپذیری کش و اینکه آیا میتونیم کش رو گرم، تازهسازی یا پاکسازی کنیم. همچنین مشاهدهپذیری (Observability) مهمه تا بتونیم hit rate، latency، صرفهجویی هزینه و کیفیت کش رو بسنجیم.
معیارهای اصلی سنجش کش شامل Cache Hit Rate هست که نشون میده چند درصد درخواستها از کش پاسخ داده میشن و Precision/Recall/F1 Score که کیفیت و دقت پاسخها رو مشخص میکنه. برای بهبود دقت و کارایی کش هم میتونیم Threshold فاصله رو تنظیم کنیم، Reranker اضافه کنیم مثل Cross-encoder یا LLM-as-a-judge، از Fuzzy Matching برای تایپوها استفاده کنیم و فیلترهای اضافی مثل تشخیص پرسشهای زمانمحور (Temporal) یا تشخیص کد (Python، Java و…) اعمال کنیم تا سوالات اشتباه وارد کش نشن.
یه مثال واقعی از این تکنولوژی پروژه waLLMartCache در Walmart هست. اونها با نوآوریهایی مثل Load Balancer برای توزیع کش روی چند Node و Dual-tiered Storage که L1 = Vector DB و L2 = In-memory Cache مثل Redis هست، هم سرعت و هم دقت رو بالا بردن. Multi-tenancy هم باعث شده چند تیم یا اپلیکیشن از یک زیرساخت مشترک استفاده کنن. Decision Engine هم شامل تشخیص کد و زمانه و اگر سوال مناسب کش نباشه مستقیماً به LLM یا RAG میره. نتیجهش رسیدن به دقت نزدیک ۹۰٪ بوده.
<Reza Jafari/>
👉 https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
با رشد مدلهای زبانی بزرگ و پیشرفته، هزینه و زمان پاسخدهی هم به شدت افزایش پیدا کرده. مدلهایی مثل GPT-5 یا Claude برای کارهای پیچیده فوقالعادهاند، ولی استفاده از اونها هم پرهزینه و هم کند محسوب میشه. از طرف دیگه، AI Agentها واقعاً «توکنخور» هستن؛ یعنی برای انجام یک کار معمولاً چندین مرحله طی میکنن: تحقیق، برنامهریزی، عمل و بازتاب و تکرار. همین باعث میشه چندین بار با مدل تماس بگیرن و در نتیجه هزینه و تأخیر افزایش پیدا کنه و متنهای طولانیتر تولید بشه. برای مثال، یه بنچمارک اخیر از TheAgentCompany در ۲۰۲۵ نشون داده اجرای کامل یک Agent گاهی تا ۶.۸ دلار هزینه داره.
یکی از مشکلات اصلی در دنیای واقعی، تکراری بودن سوالهاست، مخصوصاً توی پشتیبانی مشتری. کاربران دائماً سوالهای مشابهی میپرسن: مثل «چطور پولم رو پس بگیرم؟» یا «شرایط بازگشت وجه چیه؟» و Agent مجبور میشه هر بار پاسخ رو از صفر تولید کنه. نتیجهش افزایش هزینه، طولانی شدن زمان پاسخ و فشار بیشتر روی سیستمهای RAG و زیرساختهاست.
در نگاه اول، ممکنه فکر کنیم کش کلاسیک کفایت میکنه. ایدهی کش ساده اینه که اگر یک سوال قبلاً پاسخ داده شده، دوباره سراغ مدل نریم. ولی مشکل اینجاست که کش سنتی دنبال Exact Match یا تطابق دقیق متنه. سوالهایی که از نظر معنی یکی هستن ولی عبارتهاشون فرق میکنه، مثل: «میخوام پولم رو پس بگیرم»، «چطور میتونم درخواست بازگشت وجه بدم؟» و «سیاست بازگشت پولتون چیه؟»، همه Cache Miss میشن و کش عملاً استفاده نمیشه.
اینجاست که Semantic Caching وارد میشه. به جای تطابق کلمهبهکلمه، کش به معنی و مفهوم جمله نگاه میکنه. مزیت اصلیش اینه که Recall و Hit Rate بالاتره و احتمال استفاده از کش و صرفهجویی خیلی بیشتر میشه. البته چالشش هم اینه که گاهی ممکنه جواب بیربط بده یا همون «False Positive» رخ بده.
روش کار Semantic Caching ساده است ولی هوشمندانه: ابتدا سوال کاربر به Embedding یا بردار عددی تبدیل میشه. بعد با بردارهای موجود در کش با Semantic Search مقایسه میشه. اگر فاصله معنایی کم باشه، پاسخ از کش برگردونده میشه؛ در غیر این صورت به RAG یا LLM میریم. در نهایت سوال و پاسخ جدید هم ذخیره میشه تا دفعه بعدی قابل استفاده باشه.
پیادهسازی Semantic Caching با چالشهایی همراهه؛ مثل دقت (Accuracy) که آیا کش جواب درست میده، کارایی (Performance) و میزان Cache Hit، سرعت سرویسدهی، آپدیتپذیری کش و اینکه آیا میتونیم کش رو گرم، تازهسازی یا پاکسازی کنیم. همچنین مشاهدهپذیری (Observability) مهمه تا بتونیم hit rate، latency، صرفهجویی هزینه و کیفیت کش رو بسنجیم.
معیارهای اصلی سنجش کش شامل Cache Hit Rate هست که نشون میده چند درصد درخواستها از کش پاسخ داده میشن و Precision/Recall/F1 Score که کیفیت و دقت پاسخها رو مشخص میکنه. برای بهبود دقت و کارایی کش هم میتونیم Threshold فاصله رو تنظیم کنیم، Reranker اضافه کنیم مثل Cross-encoder یا LLM-as-a-judge، از Fuzzy Matching برای تایپوها استفاده کنیم و فیلترهای اضافی مثل تشخیص پرسشهای زمانمحور (Temporal) یا تشخیص کد (Python، Java و…) اعمال کنیم تا سوالات اشتباه وارد کش نشن.
یه مثال واقعی از این تکنولوژی پروژه waLLMartCache در Walmart هست. اونها با نوآوریهایی مثل Load Balancer برای توزیع کش روی چند Node و Dual-tiered Storage که L1 = Vector DB و L2 = In-memory Cache مثل Redis هست، هم سرعت و هم دقت رو بالا بردن. Multi-tenancy هم باعث شده چند تیم یا اپلیکیشن از یک زیرساخت مشترک استفاده کنن. Decision Engine هم شامل تشخیص کد و زمانه و اگر سوال مناسب کش نباشه مستقیماً به LLM یا RAG میره. نتیجهش رسیدن به دقت نزدیک ۹۰٪ بوده.
<Reza Jafari/>
👉 https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
❤1👍1
🔵 عنوان مقاله
Git 2.52 has been released
🟢 خلاصه مقاله:
نسخه Git 2.52 منتشر شد و با تمرکز بر بهبودهای کوچک اما کاربردی، تجربه روزمره کار با Git را روانتر میکند. مهمترین تغییر، افزودن دستور جدید git last-modified است که برای هر فایل در یک پوشه مشخص میکند آخرین بار در کدام commit تغییر کرده است؛ قابلیتی مفید برای تعیین مالکیت کد، بازرسی تغییرات، رفع خطاها و اولویتبندی بازبینیها. این دستور برای اسکریپتها و CI نیز کاربردی است، چون میتواند بهصورت خودکار آخرین commit مربوط به هر فایل را خروجی دهد و کارهای مانند بیلدهای افزایشی و خلاصهسازی تغییرات را ساده کند. فراتر از این، Git 2.52 شامل مجموعهای از بهبودهای جزئی و پرداختهای کوچک است و بهروزرسانی آن برای بیشتر کاربران بدون دردسر خواهد بود.
#Git #VersionControl #GitRelease #DevTools #SoftwareDevelopment #CLI #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/177210/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Git 2.52 has been released
🟢 خلاصه مقاله:
نسخه Git 2.52 منتشر شد و با تمرکز بر بهبودهای کوچک اما کاربردی، تجربه روزمره کار با Git را روانتر میکند. مهمترین تغییر، افزودن دستور جدید git last-modified است که برای هر فایل در یک پوشه مشخص میکند آخرین بار در کدام commit تغییر کرده است؛ قابلیتی مفید برای تعیین مالکیت کد، بازرسی تغییرات، رفع خطاها و اولویتبندی بازبینیها. این دستور برای اسکریپتها و CI نیز کاربردی است، چون میتواند بهصورت خودکار آخرین commit مربوط به هر فایل را خروجی دهد و کارهای مانند بیلدهای افزایشی و خلاصهسازی تغییرات را ساده کند. فراتر از این، Git 2.52 شامل مجموعهای از بهبودهای جزئی و پرداختهای کوچک است و بهروزرسانی آن برای بیشتر کاربران بدون دردسر خواهد بود.
#Git #VersionControl #GitRelease #DevTools #SoftwareDevelopment #CLI #OpenSource
🟣لینک مقاله:
https://golangweekly.com/link/177210/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The GitHub Blog
Highlights from Git 2.52
The open source Git project just released Git 2.52. Here is GitHub’s look at some of the most interesting features and changes introduced since last time.
❤4👍3
🔵 عنوان مقاله
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.
❤2
🔵 عنوان مقاله
Building Dolt on Windows: The 'Pacman' Game
🟢 خلاصه مقاله:
این مجموعه به سه موضوع کلیدی برای توسعهدهندگان میپردازد: ساخت Dolt روی Windows با تمثیل بازی «Pacman» برای شکار وابستگیها و رفع ناسازگاریهای سیستمعاملی؛ بررسی عملی Crush، عامل کدنویسی مبتنی بر TUI از Charm توسط Elian Deogracia-Brito که تجربهی کار یکپارچه در ترمینال را ارزیابی میکند؛ و راهنمای Graham Helton برای پروفایلینگ برنامههای Go با pprof و k6 روی نمونهای به نام Pears. پیام اصلی: ایجاد ساختهای پایدار روی Windows نیازمند مهار تفاوتهای پلتفرمی است، ابزارهای TUI مانند Crush میتوانند تمرکز و سرعت جریان کاری ترمینالمحور را بالا ببرند، و ترکیب pprof با k6 باید به عادت روزمرهی تیم برای اندازهگیری، تحلیل و بهینهسازی عملکرد تبدیل شود.
#Dolt #Windows #Pacman #Crush #Charm #TUI #Go #pprof #k6 #Profiling
🟣لینک مقاله:
https://golangweekly.com/link/177187/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Building Dolt on Windows: The 'Pacman' Game
🟢 خلاصه مقاله:
این مجموعه به سه موضوع کلیدی برای توسعهدهندگان میپردازد: ساخت Dolt روی Windows با تمثیل بازی «Pacman» برای شکار وابستگیها و رفع ناسازگاریهای سیستمعاملی؛ بررسی عملی Crush، عامل کدنویسی مبتنی بر TUI از Charm توسط Elian Deogracia-Brito که تجربهی کار یکپارچه در ترمینال را ارزیابی میکند؛ و راهنمای Graham Helton برای پروفایلینگ برنامههای Go با pprof و k6 روی نمونهای به نام Pears. پیام اصلی: ایجاد ساختهای پایدار روی Windows نیازمند مهار تفاوتهای پلتفرمی است، ابزارهای TUI مانند Crush میتوانند تمرکز و سرعت جریان کاری ترمینالمحور را بالا ببرند، و ترکیب pprof با k6 باید به عادت روزمرهی تیم برای اندازهگیری، تحلیل و بهینهسازی عملکرد تبدیل شود.
#Dolt #Windows #Pacman #Crush #Charm #TUI #Go #pprof #k6 #Profiling
🟣لینک مقاله:
https://golangweekly.com/link/177187/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Dolthub
Building Dolt on Windows: The Pacman Game
How we build Dolt from source on Windows using Git Bash, MSYS2, and pacman.
Forwarded from Software Engineer Labdon
وقتی غولها هم زمین میخورند!
قطعی گسترده اخیر سرویسهای کلادفلر (Cloudflare) که ناشی از یک تغییر پیکربندی (Configuration Change) بود، یک واقعیت قاطع را به ما یادآوری کرد: قابلیت اطمینان ۱۰۰ درصدی یک توهم است.
موفقیت در دنیای فناوری، در طراحی برای شکست (Design for Failure) و توانایی بازگشت سریع و شفاف است.
۴ درس عملیاتی حیاتی برای افزایش پایداری سیستم (Resilience)
این واقعه، یک مطالعه موردی ارزشمند برای هر سازمان در حال رشدی است که بر روی سیستمهای توزیعشده (Distributed Systems) کار میکند:
۱. کاهش دامنه خطا (Blast Radius Reduction)
چالش: انتشار سریع یک خطای پیکربندی در کل شبکه.
استراتژی: پیادهسازی سختگیرانه انتشار تدریجی (Canary Deployments) و تقسیمبندی منطقی شبکه (Segmentation).
نکته کاربردی: مطمئن شوید که خطاهای پیکربندی در یک "منطقه کوچک" محبوس شده و پیش از گسترش به تمام نقاط، آزمایش شوند. فرآیندهای انتشار خود را مجدداً بررسی کنید.
۲. اهمیت شفافیت و ارتباطات بحران (Crisis Comms)
چالش: بیاعتمادی مشتریان در زمان سکوت.
استراتژی: از یک کانال ارتباطی ثانویه و کاملاً ایزوله (مانند یک صفحه وضعیت روی زیرساخت متفاوت) استفاده کنید.
نکته کاربردی: صداقت فنی را در اولویت قرار دهید. بهروزرسانیهای مکرر و فنی، حتی اگر کوتاه باشند ("ما هنوز در حال بررسی هستیم")، اعتماد را حفظ میکنند.
۳. مقاومت در برابر شکستهای آبشاری (Cascading Failures)
چالش: تبدیل یک مشکل کوچک به یک بحران گسترده.
استراتژی: حذف وابستگیهای متقابل (Decoupling) بین سرویسهای حیاتی. اطمینان حاصل کنید که شکست یک سرویس فرعی، سرویس اصلی را از کار نیندازد.
نکته کاربردی: پیادهسازی مدارهای قطع کننده (Circuit Breakers) در کد، که در صورت شکست یک سرویس وابسته، درخواست را دور زده یا پاسخ از پیش تعیین شده (Failover) ارائه دهند.
۴. یادگیری پس از واقعه (Blameless Post-Mortem)
چالش: تکرار مشکلات بدون تحلیل عمیق.
استراتژی: بلافاصله یک تحلیل بدون سرزنش (Blameless Post-Mortem) آغاز کنید.
نکته کاربردی: تمرکز بر درک دلایل ریشهای و بهبود فرآیندها، نه پیدا کردن مقصر. انتشار سریع و عمیق گزارش فنی (مانند کاری که کلادفلر انجام داد)، به بازگرداندن اعتماد و آموزش جامعه فنی کمک میکند.
اقدام کلیدی برای رهبران
این رویداد را به عنوان یک هشدار (Wake-Up Call) ببینید. آیا استراتژیهای انتشار و طرحهای ارتباطی شما میتوانند در برابر یک خطای غیرمنتظره داخلی مقاومت کنند؟
"در دسترس بودن ۱۰۰ درصدی یک رؤیاست، بازگشت سریع و شفافیت ۱۰۰ درصدی یک تعهد است."
<Alireza DavoodiNia/>
قطعی گسترده اخیر سرویسهای کلادفلر (Cloudflare) که ناشی از یک تغییر پیکربندی (Configuration Change) بود، یک واقعیت قاطع را به ما یادآوری کرد: قابلیت اطمینان ۱۰۰ درصدی یک توهم است.
موفقیت در دنیای فناوری، در طراحی برای شکست (Design for Failure) و توانایی بازگشت سریع و شفاف است.
۴ درس عملیاتی حیاتی برای افزایش پایداری سیستم (Resilience)
این واقعه، یک مطالعه موردی ارزشمند برای هر سازمان در حال رشدی است که بر روی سیستمهای توزیعشده (Distributed Systems) کار میکند:
۱. کاهش دامنه خطا (Blast Radius Reduction)
چالش: انتشار سریع یک خطای پیکربندی در کل شبکه.
استراتژی: پیادهسازی سختگیرانه انتشار تدریجی (Canary Deployments) و تقسیمبندی منطقی شبکه (Segmentation).
نکته کاربردی: مطمئن شوید که خطاهای پیکربندی در یک "منطقه کوچک" محبوس شده و پیش از گسترش به تمام نقاط، آزمایش شوند. فرآیندهای انتشار خود را مجدداً بررسی کنید.
۲. اهمیت شفافیت و ارتباطات بحران (Crisis Comms)
چالش: بیاعتمادی مشتریان در زمان سکوت.
استراتژی: از یک کانال ارتباطی ثانویه و کاملاً ایزوله (مانند یک صفحه وضعیت روی زیرساخت متفاوت) استفاده کنید.
نکته کاربردی: صداقت فنی را در اولویت قرار دهید. بهروزرسانیهای مکرر و فنی، حتی اگر کوتاه باشند ("ما هنوز در حال بررسی هستیم")، اعتماد را حفظ میکنند.
۳. مقاومت در برابر شکستهای آبشاری (Cascading Failures)
چالش: تبدیل یک مشکل کوچک به یک بحران گسترده.
استراتژی: حذف وابستگیهای متقابل (Decoupling) بین سرویسهای حیاتی. اطمینان حاصل کنید که شکست یک سرویس فرعی، سرویس اصلی را از کار نیندازد.
نکته کاربردی: پیادهسازی مدارهای قطع کننده (Circuit Breakers) در کد، که در صورت شکست یک سرویس وابسته، درخواست را دور زده یا پاسخ از پیش تعیین شده (Failover) ارائه دهند.
۴. یادگیری پس از واقعه (Blameless Post-Mortem)
چالش: تکرار مشکلات بدون تحلیل عمیق.
استراتژی: بلافاصله یک تحلیل بدون سرزنش (Blameless Post-Mortem) آغاز کنید.
نکته کاربردی: تمرکز بر درک دلایل ریشهای و بهبود فرآیندها، نه پیدا کردن مقصر. انتشار سریع و عمیق گزارش فنی (مانند کاری که کلادفلر انجام داد)، به بازگرداندن اعتماد و آموزش جامعه فنی کمک میکند.
اقدام کلیدی برای رهبران
این رویداد را به عنوان یک هشدار (Wake-Up Call) ببینید. آیا استراتژیهای انتشار و طرحهای ارتباطی شما میتوانند در برابر یک خطای غیرمنتظره داخلی مقاومت کنند؟
"در دسترس بودن ۱۰۰ درصدی یک رؤیاست، بازگشت سریع و شفافیت ۱۰۰ درصدی یک تعهد است."
<Alireza DavoodiNia/>
❤3
🔵 عنوان مقاله
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
❤4
🔵 عنوان مقاله
Wave Terminal: 'AI-Native' Open Source Go-Powered Terminal App
🟢 خلاصه مقاله:
ا**Wave Terminal یک ترمینال Open Source با رویکرد AI-Native است که روی MacOS، Linux و Windows اجرا میشود. این ابزار با ارائه قابلیتهایی مانند پیشنمایش فایل، ویرایش درجا، مرور پوشهها و کار با فایلها و ماشینهای راهدور، تجربهی خط فرمان را یکپارچهتر میکند. هستهی هوشمند آن برای پیشنهاد دستورها، توضیح خطاها و سادهسازی گردشکار طراحی شده است. نوشتهشدن با Go نیز مزیتی برای کارایی، قابلحملبودن و توسعهپذیری بهشمار میآید.
#AI #OpenSource #Go #Terminal #CLI #DeveloperTools #CrossPlatform #DevOps
🟣لینک مقاله:
https://golangweekly.com/link/177190/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Wave Terminal: 'AI-Native' Open Source Go-Powered Terminal App
🟢 خلاصه مقاله:
ا**Wave Terminal یک ترمینال Open Source با رویکرد AI-Native است که روی MacOS، Linux و Windows اجرا میشود. این ابزار با ارائه قابلیتهایی مانند پیشنمایش فایل، ویرایش درجا، مرور پوشهها و کار با فایلها و ماشینهای راهدور، تجربهی خط فرمان را یکپارچهتر میکند. هستهی هوشمند آن برای پیشنهاد دستورها، توضیح خطاها و سادهسازی گردشکار طراحی شده است. نوشتهشدن با Go نیز مزیتی برای کارایی، قابلحملبودن و توسعهپذیری بهشمار میآید.
#AI #OpenSource #Go #Terminal #CLI #DeveloperTools #CrossPlatform #DevOps
🟣لینک مقاله:
https://golangweekly.com/link/177190/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
www.waveterm.dev
Wave Terminal — Upgrade Your Command Line
Stop Context Switching by Bringing Context Into Your Terminal. Wave is an open-source terminal with superpowers, integrating file previews, file editing, AI, web browsing, and workspace organization. Available for MacOS, Linux, and Windows.
❤1👍1
🔵 عنوان مقاله
Go Turns Sixteen Years Old
🟢 خلاصه مقاله:
Go شانزدهسالگی خود را جشن میگیرد؛ شانزده سال از متنباز شدن آن میگذرد و این نقطه عطف فرصتی است برای مرور پیشرفتها و نگاه به آینده. در یک «گزارش کوتاه از وضعیت Go»، Austin به بهبودهای مستمر در هسته زبان و کتابخانه استاندارد اشاره میکند؛ تغییراتی که با حفظ سادگی و پایداری، قابلیتها را دقیقاً در جاهای مهم ارتقا میدهند.
همزمان، تمرکز پررنگی روی بهبود DX دیده میشود: ابزارها و جریانهای کاری روانتر شدهاند و تجربه توسعه روزمره سریعتر و ثمربخشتر پیش میرود. علاوه بر این، تغییرات مرتبط با MCP نیز در راهاند که امکان یکپارچهسازی بهتر ابزارها و فرآیندها را مطابق نیازهای تیمهای مدرن فراهم میکنند.
برآیند این روندها آیندهای امیدوارکننده برای Gophers رقم میزند: تجربهای صیقلخوردهتر و یکپارچهتر که سرعت عمل را بالا میبرد، بدون آنکه دقت، کارایی یا سادگی قربانی شود.
#Go #Golang #OpenSource #DeveloperExperience #DX #MCP #Gophers
🟣لینک مقاله:
https://golangweekly.com/link/177179/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go Turns Sixteen Years Old
🟢 خلاصه مقاله:
Go شانزدهسالگی خود را جشن میگیرد؛ شانزده سال از متنباز شدن آن میگذرد و این نقطه عطف فرصتی است برای مرور پیشرفتها و نگاه به آینده. در یک «گزارش کوتاه از وضعیت Go»، Austin به بهبودهای مستمر در هسته زبان و کتابخانه استاندارد اشاره میکند؛ تغییراتی که با حفظ سادگی و پایداری، قابلیتها را دقیقاً در جاهای مهم ارتقا میدهند.
همزمان، تمرکز پررنگی روی بهبود DX دیده میشود: ابزارها و جریانهای کاری روانتر شدهاند و تجربه توسعه روزمره سریعتر و ثمربخشتر پیش میرود. علاوه بر این، تغییرات مرتبط با MCP نیز در راهاند که امکان یکپارچهسازی بهتر ابزارها و فرآیندها را مطابق نیازهای تیمهای مدرن فراهم میکنند.
برآیند این روندها آیندهای امیدوارکننده برای Gophers رقم میزند: تجربهای صیقلخوردهتر و یکپارچهتر که سرعت عمل را بالا میبرد، بدون آنکه دقت، کارایی یا سادگی قربانی شود.
#Go #Golang #OpenSource #DeveloperExperience #DX #MCP #Gophers
🟣لینک مقاله:
https://golangweekly.com/link/177179/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
Go’s Sweet 16 - The Go Programming Language
Happy Birthday, Go!
❤4
اون کدی که روزی صد بار داری بهش لعنت میفرستی... "اشتباه فنی" نیست. "پلن مهاجرت" نفر قبلی بوده!
دیروز با یکی از دوستام صحبت میکردم. حسابی کلافه بود.
میگفت توی یه شرکت جمعوجور کار میکنه که کل ترافیکشون به زور به ۵۰۰ تا ریکوئست در روز میرسه. (پروژهای که روی یه هاست اشتراکی هم مثل ساعت کار میکرد).
ولی الان چی زیر دستشه؟ یه کلاف سردرگم از Microservices، Kafka برای مسیجینگ، GraphQL برای دو تا کوئری ساده، و دیتابیسهای NoSQL که اصلاً نیازی بهشون نبود.
پرسیدم: "چرا؟! کی همچین معماری سنگینی رو برای یه پروژه به این کوچیکی چیده؟"
خندید و گفت: "تیملید قبلی. میخواست رزومهش رو برای آمازون و گوگل قوی کنه. نیاز داشت این کلمات کلیدی (Keywords) رو توی رزومهش داشته باشه تا بتونه ویزا بگیره. الان اون کاناداست و داره حقوق دلاری میگیره..."
"...و ما موندیم و سیستمی که هر جاش رو دست میزنیم، از سه جای دیگه میپکه."
بدتر از اون؟ مدیرای مجموعه هنوز فکر میکنن اون معماری شاهکاره! با خودشون میگن: "فلانی که اینو نوشت الان تو شرکتای بزرگ خارجیه؛ پس حتما کارش درست بوده و ما بلد نیستیم نگهش داریم!"
به این پدیده میگن Resume-Driven Development (RDD). یا به زبون سادهتر: "توسعهی مبتنی بر شوآف".
یعنی انتخاب تکنولوژی نه بر اساس نیاز پروژه یا سود شرکت، بلکه بر اساس جذابیت رزومه برای شغل بعدی.
نتیجهش چیه؟ اون برنامهنویس قبلی شرکت، پلنش رو اجرا کرد و رفت.
و تو؟ تو دیگه یه توسعهدهنده نیستی. تو شدی کسی که تاوان جاهطلبیهای نفر قبلی رو میده. تو داری شببیداری میکشی تا تکنولوژیای رو زنده نگه داری که فقط برای کلاس گذاشتن به پروژه اضافه شده.
| <Hossein Moradi/>
👉 https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
دیروز با یکی از دوستام صحبت میکردم. حسابی کلافه بود.
میگفت توی یه شرکت جمعوجور کار میکنه که کل ترافیکشون به زور به ۵۰۰ تا ریکوئست در روز میرسه. (پروژهای که روی یه هاست اشتراکی هم مثل ساعت کار میکرد).
ولی الان چی زیر دستشه؟ یه کلاف سردرگم از Microservices، Kafka برای مسیجینگ، GraphQL برای دو تا کوئری ساده، و دیتابیسهای NoSQL که اصلاً نیازی بهشون نبود.
پرسیدم: "چرا؟! کی همچین معماری سنگینی رو برای یه پروژه به این کوچیکی چیده؟"
خندید و گفت: "تیملید قبلی. میخواست رزومهش رو برای آمازون و گوگل قوی کنه. نیاز داشت این کلمات کلیدی (Keywords) رو توی رزومهش داشته باشه تا بتونه ویزا بگیره. الان اون کاناداست و داره حقوق دلاری میگیره..."
"...و ما موندیم و سیستمی که هر جاش رو دست میزنیم، از سه جای دیگه میپکه."
بدتر از اون؟ مدیرای مجموعه هنوز فکر میکنن اون معماری شاهکاره! با خودشون میگن: "فلانی که اینو نوشت الان تو شرکتای بزرگ خارجیه؛ پس حتما کارش درست بوده و ما بلد نیستیم نگهش داریم!"
به این پدیده میگن Resume-Driven Development (RDD). یا به زبون سادهتر: "توسعهی مبتنی بر شوآف".
یعنی انتخاب تکنولوژی نه بر اساس نیاز پروژه یا سود شرکت، بلکه بر اساس جذابیت رزومه برای شغل بعدی.
نتیجهش چیه؟ اون برنامهنویس قبلی شرکت، پلنش رو اجرا کرد و رفت.
و تو؟ تو دیگه یه توسعهدهنده نیستی. تو شدی کسی که تاوان جاهطلبیهای نفر قبلی رو میده. تو داری شببیداری میکشی تا تکنولوژیای رو زنده نگه داری که فقط برای کلاس گذاشتن به پروژه اضافه شده.
| <Hossein Moradi/>
👉 https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
👍13❤2
🔵 عنوان مقاله
Getting Started with Fuzzing in Go
🟢 خلاصه مقاله:
این راهنمای رسمی از Go Docs یک شروع عملی و بهروز برای افزودن fuzzing به جریان تستهای Go است. آموزش نشان میدهد چگونه یک تابع FuzzXxx با testing.F بنویسید، ورودیهای اولیه را با f.Add اضافه کنید، و با go test -fuzz اجرا بگیرید (در صورت نیاز با -fuzztime). هنگام کشف خطا یا panic، ورودیِ کوچکسازیشده بهطور خودکار در testdata/fuzz ذخیره میشود تا بتوانید آن را بهصورت قطعی بازتولید، عیبیابی و بهعنوان تست رگرسیون نگهداری کنید. همچنین بهترینروشها مانند تعیین حدود منابع، اجتناب از نادترمینیزم، تعریف خاصیت/قاعده مورد انتظار، هدفگیری کدهای parser/decoder و ادغام در CI را پوشش میدهد. نتیجه اینکه افزودن fuzzing با ابزارهای داخلی Go ساده است و این راهنما مراحل، دستورات و نمونهکد لازم را در اختیارتان میگذارد.
#Go #Fuzzing #GoDocs #SoftwareTesting #Security #GoTesting #PropertyBasedTesting #CI
🟣لینک مقاله:
https://golangweekly.com/link/177186/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Getting Started with Fuzzing in Go
🟢 خلاصه مقاله:
این راهنمای رسمی از Go Docs یک شروع عملی و بهروز برای افزودن fuzzing به جریان تستهای Go است. آموزش نشان میدهد چگونه یک تابع FuzzXxx با testing.F بنویسید، ورودیهای اولیه را با f.Add اضافه کنید، و با go test -fuzz اجرا بگیرید (در صورت نیاز با -fuzztime). هنگام کشف خطا یا panic، ورودیِ کوچکسازیشده بهطور خودکار در testdata/fuzz ذخیره میشود تا بتوانید آن را بهصورت قطعی بازتولید، عیبیابی و بهعنوان تست رگرسیون نگهداری کنید. همچنین بهترینروشها مانند تعیین حدود منابع، اجتناب از نادترمینیزم، تعریف خاصیت/قاعده مورد انتظار، هدفگیری کدهای parser/decoder و ادغام در CI را پوشش میدهد. نتیجه اینکه افزودن fuzzing با ابزارهای داخلی Go ساده است و این راهنما مراحل، دستورات و نمونهکد لازم را در اختیارتان میگذارد.
#Go #Fuzzing #GoDocs #SoftwareTesting #Security #GoTesting #PropertyBasedTesting #CI
🟣لینک مقاله:
https://golangweekly.com/link/177186/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
Tutorial: Getting started with fuzzing - The Go Programming Language
❤1👍1🔥1
🔵 عنوان مقاله
Guts: Convert Go Types to TypeScript
🟢 خلاصه مقاله:
**Guts یک کتابخانه تولید کد است که انواع تعریفشده در Go را به تعاریف TypeScript تبدیل میکند تا بین frontend و backend در یک اپلیکیشن full‑stack سازگاری نوعی ایجاد شود. بهعنوان یک ابزار کتابخانهای بهراحتی در مراحل build یا CI/CD ادغام میشود و با همگامسازی خودکار تعاریف، نیاز به نگهداری دستی انواع تکراری را از بین میبرد. تمرکز Guts بر همسانسازی انواع است و نه تعریف کامل قراردادهای API؛ بنابراین وقتی فقط به اشتراکگذاری انواع نیاز دارید و ابزاری به گستردگی TypeSpec یا OpenAPI لازم نیست، گزینهای ساده و مؤثر محسوب میشود.
#Go #TypeScript #CodeGeneration #FullStack #TypeSafety #OpenAPI #TypeSpec
🟣لینک مقاله:
https://golangweekly.com/link/177192/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Guts: Convert Go Types to TypeScript
🟢 خلاصه مقاله:
**Guts یک کتابخانه تولید کد است که انواع تعریفشده در Go را به تعاریف TypeScript تبدیل میکند تا بین frontend و backend در یک اپلیکیشن full‑stack سازگاری نوعی ایجاد شود. بهعنوان یک ابزار کتابخانهای بهراحتی در مراحل build یا CI/CD ادغام میشود و با همگامسازی خودکار تعاریف، نیاز به نگهداری دستی انواع تکراری را از بین میبرد. تمرکز Guts بر همسانسازی انواع است و نه تعریف کامل قراردادهای API؛ بنابراین وقتی فقط به اشتراکگذاری انواع نیاز دارید و ابزاری به گستردگی TypeSpec یا OpenAPI لازم نیست، گزینهای ساده و مؤثر محسوب میشود.
#Go #TypeScript #CodeGeneration #FullStack #TypeSafety #OpenAPI #TypeSpec
🟣لینک مقاله:
https://golangweekly.com/link/177192/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - coder/guts: Guts is a code generator that converts Golang types to Typescript. Useful for keeping types in sync between…
Guts is a code generator that converts Golang types to Typescript. Useful for keeping types in sync between the front and backend. - coder/guts
❤1
Forwarded from AI Labdon
مدل opus 4.5 دیروز اومد. بینظیره. بهترین مدل دنیا برای coding با اختلاف زیاد.
یک اتفاق مهم دیگه اینکه Anthropic برای اولین بار قیمت بهترین مدل خودش رو به یک سوم تا یک پنجم قیمت قبلی کاهش داده!!
هر میلیون اینپوت از ۲۵ دلار شده ۵ دلار و هر میلیون output هم از ۷۵ دلار شده ۱۵ دلار!
<Amin Anvary/>
👉 https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
یک اتفاق مهم دیگه اینکه Anthropic برای اولین بار قیمت بهترین مدل خودش رو به یک سوم تا یک پنجم قیمت قبلی کاهش داده!!
هر میلیون اینپوت از ۲۵ دلار شده ۵ دلار و هر میلیون output هم از ۷۵ دلار شده ۱۵ دلار!
<Amin Anvary/>
👉 https://t.iss.one/addlist/AJ7rh2IzIh02NTI0
❤2👍1🔥1
🔵 عنوان مقاله
Testing Out Crush, Charm's TUI-Based Coding Agent
🟢 خلاصه مقاله:
این مطلب با آزمودن Crush از Charm نشان میدهد یک دستیار کدنویسی مبتنی بر TUI چگونه میتواند کارهای روزمره توسعه را مستقیماً در ترمینال تسهیل کند؛ از پیمایش مخزن و تولید قطعهکد تا اجرای فرمانها و نوشتن تست، با تمرکز بر جریان کاری سریع و کلیدمحور. در کنار مزایایی مانند کاهش جابهجایی بین ابزارها و هماهنگی با سبک یونیکسی، به محدودیتهای رایجِ عاملها نیز اشاره میشود: وابستگی به کیفیت مدل، نیاز به راهنمایی دقیق در پروژههای بزرگ/نامعمول و اینکه برخی وظایف هنوز از IDE سود میبرند. همچنین به نوشتهای از Graham Helton درباره پروفایلکردن برنامههای Go با pprof و k6 ارجاع داده میشود که چرخهای سنجشمحور (تولید بار با k6، تحلیل گلوگاهها با pprof، و تکرار) را توصیه میکند؛ چرخهای که با ابزارهای ترمینالی و عاملی مثل Crush روانتر پیش میرود.
#Crush #Charm #TUI #CodingAgent #Go #pprof #k6 #DeveloperTools
🟣لینک مقاله:
https://golangweekly.com/link/177188/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Testing Out Crush, Charm's TUI-Based Coding Agent
🟢 خلاصه مقاله:
این مطلب با آزمودن Crush از Charm نشان میدهد یک دستیار کدنویسی مبتنی بر TUI چگونه میتواند کارهای روزمره توسعه را مستقیماً در ترمینال تسهیل کند؛ از پیمایش مخزن و تولید قطعهکد تا اجرای فرمانها و نوشتن تست، با تمرکز بر جریان کاری سریع و کلیدمحور. در کنار مزایایی مانند کاهش جابهجایی بین ابزارها و هماهنگی با سبک یونیکسی، به محدودیتهای رایجِ عاملها نیز اشاره میشود: وابستگی به کیفیت مدل، نیاز به راهنمایی دقیق در پروژههای بزرگ/نامعمول و اینکه برخی وظایف هنوز از IDE سود میبرند. همچنین به نوشتهای از Graham Helton درباره پروفایلکردن برنامههای Go با pprof و k6 ارجاع داده میشود که چرخهای سنجشمحور (تولید بار با k6، تحلیل گلوگاهها با pprof، و تکرار) را توصیه میکند؛ چرخهای که با ابزارهای ترمینالی و عاملی مثل Crush روانتر پیش میرود.
#Crush #Charm #TUI #CodingAgent #Go #pprof #k6 #DeveloperTools
🟣لینک مقاله:
https://golangweekly.com/link/177188/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Graham Helton
Testing out Crush, a TUI based
coding agent (in neovim btw)
coding agent (in neovim btw)
Using Charm's new AI coding
agent to build an open graph image generator for this site.
agent to build an open graph image generator for this site.
❤1
حتما میدونی که
سازمانای بزرگ دارن به سمت گولنگ میرن.
پس توام اگر میخوای تو سازمانای بزرگ کار کنی، گولنگ رو باید به مهارتهات اضافه کنی!
🔷 بوتکمپ پیشرفته Golang دانشکار به صورت پروژه محور این زبان محبوب رو بهت یاد میده.
برای مشاهده سرفصلها و ثبتنام کلیک کن👇
🔗https://dnkr.ir/kA7M3
سازمانای بزرگ دارن به سمت گولنگ میرن.
پس توام اگر میخوای تو سازمانای بزرگ کار کنی، گولنگ رو باید به مهارتهات اضافه کنی!
🔷 بوتکمپ پیشرفته Golang دانشکار به صورت پروژه محور این زبان محبوب رو بهت یاد میده.
برای مشاهده سرفصلها و ثبتنام کلیک کن👇
🔗https://dnkr.ir/kA7M3