🎙️ عنوان پادکست:
The X/Tools Files
خلاصه پادکست:
در این شماره از The X/Tools Files اعلام شد که Go 1.25 منتشر شده و همزمان برخی پکیجهای عمومی در x/tools با Go 1.25.0 دچار خطای build میشوند؛ تیمها در حال رفع هستند و توصیه میشود فعلاً نسخهها را pin کنید و پیش از ارتقا در CI آزمایش کنید. همچنین مطلب «Building blocks for idiomatic Go pipelines» از Anton Zhiyanov معرفی شد که الگوهای عملی برای ساخت pipelineهای خوانا و کارآمد در Go ارائه میکند. در بخش رویدادها، زمان GopherCon USA برای 26 تا 28 آگوست در New York اعلام شد و در Lightning Round به ابزارهایی مثل outrig اشاره شد....
The X/Tools Files
خلاصه پادکست:
در این شماره از The X/Tools Files اعلام شد که Go 1.25 منتشر شده و همزمان برخی پکیجهای عمومی در x/tools با Go 1.25.0 دچار خطای build میشوند؛ تیمها در حال رفع هستند و توصیه میشود فعلاً نسخهها را pin کنید و پیش از ارتقا در CI آزمایش کنید. همچنین مطلب «Building blocks for idiomatic Go pipelines» از Anton Zhiyanov معرفی شد که الگوهای عملی برای ساخت pipelineهای خوانا و کارآمد در Go ارائه میکند. در بخش رویدادها، زمان GopherCon USA برای 26 تا 28 آگوست در New York اعلام شد و در Lightning Round به ابزارهایی مثل outrig اشاره شد....
Forwarded from AI Labdon
اگه برنامه نویس هستید و از هوش مصنوعی برای کدنویسی استفاده میکنید، واقعاً به خودتون لطف میکنید که OpenSpec رو چک کنید. این ابزار به شما کمک میکنه کنترل کامل پروژه رو دست بگیرید و از AI به عنوان یک همکار قابل اعتماد استفاده کنید!
تا حالا با دستیارهای کدنویسی هوش مصنوعی (مثل Cursor یا Copilot) کار کردید و به جای چیزی که دقیقاً در ذهن داشتید، یک چیز کاملاً دیگه تحویل گرفتید؟ یا یک بخش رو نوشته و یک بخش دیگه رو براتون خراب کرده
من جدیدا ابزاری رو پیدا کردم به اسم OpenSpec که داره این بازی رو برای همیشه عوض میکنه.
ایدهاش ساده و ناب هست: شما و هوش مصنوعی، قبل از نوشتن حتی یک خط کد، روی «چیزی که باید ساخته بشه» به توافق کامل میرسید.
دیگه خبری از پرامپتهای مبهم در چت و خروجیهای غیرقابل پیشبینی نیست. OpenSpec یک فرآیند کاری سبک و قدرتمند اضافه میکنه که پروژهها رو اینطوری پیش میبره:
۱. پیشنهاد تغییر (Change Proposal): شما به AI میگید چه قابلیتی رو میخواید اضافه کنید. AI یک ساختار کامل از مشخصات، وظایف و پیشنهادها رو براتون میسازه.
۲. بازبینی و هماهنگی: شما و AI با هم مشخصات رو دقیق میکنید تا همه چیز شفاف و بدون ابهام باشه.
۳. پیادهسازی: AI بر اساس مشخصات نهایی و توافق شده، کدنویسی رو انجام میده.
۴. آرشیو: بعد از اتمام کار، تغییرات به آرشیو منتقل میشن و مشخصات اصلی پروژه رو بهروز میکنن.
چرا این ابزار به خوبی جواب میده
- بدون نیاز به کلید API: نصب کن و استفاده کن. ساده و سریع.
- با ابزارهای فعلی شما کار میکنه: با Claude Code, Cursor, GitHub Copilot, Windsurf و دهها ابزار دیگه یکپارچه میشه.
- قابل پیشبینی و شفاف: دیگه نمیخواد حدس بزنید AI چی میسازه. همه چیز از قبل مشخصه.
- عالی برای پروژههای موجود: نه فقط برای پروژههای جدید، بلکه برای تغییر و توسعه کدهای قدیمی هم عالیه.
- مستندسازی خودکار: هر تغییری با مشخصات و وظایفش ثبت میشه و یک سند زنده از پروژه میسازه.
اینم آدرس گیتهابش که همه چیز اماده یک جا هست!
https://github.com/Fission-AI/OpenSpec
اگر نتونستنید دستی نصبش کنید ، میتونید فایل README[.]md رو کپی کنید ، بدید به همون ابزار Ai که براتون کد میزنه مثل Claude Code, Cursor, GitHub Copilot ، بگید نصبش کن!
<POURYA/>
تا حالا با دستیارهای کدنویسی هوش مصنوعی (مثل Cursor یا Copilot) کار کردید و به جای چیزی که دقیقاً در ذهن داشتید، یک چیز کاملاً دیگه تحویل گرفتید؟ یا یک بخش رو نوشته و یک بخش دیگه رو براتون خراب کرده
من جدیدا ابزاری رو پیدا کردم به اسم OpenSpec که داره این بازی رو برای همیشه عوض میکنه.
ایدهاش ساده و ناب هست: شما و هوش مصنوعی، قبل از نوشتن حتی یک خط کد، روی «چیزی که باید ساخته بشه» به توافق کامل میرسید.
دیگه خبری از پرامپتهای مبهم در چت و خروجیهای غیرقابل پیشبینی نیست. OpenSpec یک فرآیند کاری سبک و قدرتمند اضافه میکنه که پروژهها رو اینطوری پیش میبره:
۱. پیشنهاد تغییر (Change Proposal): شما به AI میگید چه قابلیتی رو میخواید اضافه کنید. AI یک ساختار کامل از مشخصات، وظایف و پیشنهادها رو براتون میسازه.
۲. بازبینی و هماهنگی: شما و AI با هم مشخصات رو دقیق میکنید تا همه چیز شفاف و بدون ابهام باشه.
۳. پیادهسازی: AI بر اساس مشخصات نهایی و توافق شده، کدنویسی رو انجام میده.
۴. آرشیو: بعد از اتمام کار، تغییرات به آرشیو منتقل میشن و مشخصات اصلی پروژه رو بهروز میکنن.
چرا این ابزار به خوبی جواب میده
- بدون نیاز به کلید API: نصب کن و استفاده کن. ساده و سریع.
- با ابزارهای فعلی شما کار میکنه: با Claude Code, Cursor, GitHub Copilot, Windsurf و دهها ابزار دیگه یکپارچه میشه.
- قابل پیشبینی و شفاف: دیگه نمیخواد حدس بزنید AI چی میسازه. همه چیز از قبل مشخصه.
- عالی برای پروژههای موجود: نه فقط برای پروژههای جدید، بلکه برای تغییر و توسعه کدهای قدیمی هم عالیه.
- مستندسازی خودکار: هر تغییری با مشخصات و وظایفش ثبت میشه و یک سند زنده از پروژه میسازه.
اینم آدرس گیتهابش که همه چیز اماده یک جا هست!
https://github.com/Fission-AI/OpenSpec
اگر نتونستنید دستی نصبش کنید ، میتونید فایل README[.]md رو کپی کنید ، بدید به همون ابزار Ai که براتون کد میزنه مثل Claude Code, Cursor, GitHub Copilot ، بگید نصبش کن!
<POURYA/>
GitHub
GitHub - Fission-AI/OpenSpec: Spec-driven development for AI coding assistants.
Spec-driven development for AI coding assistants. Contribute to Fission-AI/OpenSpec development by creating an account on GitHub.
🎙️ عنوان پادکست:
💧 A leaky goroutine certainly does suck!
خلاصه پادکست:
رویدادهای این هفته در دنیای Go با تمرکز بر قابلیتهای جدید برای شناسایی نشتهای goroutine و برنامههای جامعه پیش میرود. علاوه بر پذیرش پیشنهاد errors.AsType برای بهبود تجربه generics، در runtime/pprof و runtime یک پروفایل تازه برای تشخیص نشت goroutine اضافه شده تا روتینهای طولانیمدت ناخواسته سریعتر شناسایی شوند. همچنین ارجاع مستقیم به فیلدهای embedded در struct literals نوشتن کد را سادهتر میکند....
💧 A leaky goroutine certainly does suck!
خلاصه پادکست:
رویدادهای این هفته در دنیای Go با تمرکز بر قابلیتهای جدید برای شناسایی نشتهای goroutine و برنامههای جامعه پیش میرود. علاوه بر پذیرش پیشنهاد errors.AsType برای بهبود تجربه generics، در runtime/pprof و runtime یک پروفایل تازه برای تشخیص نشت goroutine اضافه شده تا روتینهای طولانیمدت ناخواسته سریعتر شناسایی شوند. همچنین ارجاع مستقیم به فیلدهای embedded در struct literals نوشتن کد را سادهتر میکند....
Forwarded from Linux Labdon
بجای دستور cat توی لینوکس میتونیم از bat استفاده کنیم!
ظاهر رنگی و قشنگتری داره، شماره خط نشون میده و از syntax highlighting هم پشتیبانی میکنه.
توضیحات کامل در گیت هاب پروژه
Github → github.com/sharkdp/bat
<Mohammad/>
ظاهر رنگی و قشنگتری داره، شماره خط نشون میده و از syntax highlighting هم پشتیبانی میکنه.
توضیحات کامل در گیت هاب پروژه
Github → github.com/sharkdp/bat
<Mohammad/>
GitHub
GitHub - sharkdp/bat: A cat(1) clone with wings.
A cat(1) clone with wings. Contribute to sharkdp/bat development by creating an account on GitHub.
👍1
Forwarded from Software Engineer Labdon
بالاخره Zed برای ویندوز منتشر شد!
یه ادیتور فوقالعاده سریع و خفن که به نظرم میتونه حسابی جای Visual Studio Code رو تنگ کنه.
من حدود ۸ ساله کدنویسی میکنم و از Eclipse و NetBeans گرفته تا JetBrains، همه رو امتحان کردم. از وقتی VsCode اومد، دیگه اون وسواس انتخاب ادیتور رو گذاشتم کنار تا وقتی که اسم Zed رو شنیدم.
یه ادیتور نوشتهشده با Rust و سرعتی در حد گاد
اول فقط برای مک بود، بعد رسید به لینوکس. منم که عشق به اوبونتو، سریع یه ماشین مجازی بالا آوردم و تستش کردم.
یه پروژه نسبتا سنگین داشتم، ریا نشه یه پلتفرم انبارداری با چت و مدیریت کارمندان و محصولات. با Zed رانش کردم و همونجا بود که برگای VsCodeم ریخت
سرعت، autocomplete محشر، لود سریع اکستنشنها، محیط مینیمال و مدرن و خلاصه یه تجربه بینقص بود. و حالا برای ویندوز هم ریلیز شد
اگه هنوز امتحانش نکردی، پیشنهاد میکنم حتما تستش کنی
https://zed.dev/
<Soheil Ghanbary/>
یه ادیتور فوقالعاده سریع و خفن که به نظرم میتونه حسابی جای Visual Studio Code رو تنگ کنه.
من حدود ۸ ساله کدنویسی میکنم و از Eclipse و NetBeans گرفته تا JetBrains، همه رو امتحان کردم. از وقتی VsCode اومد، دیگه اون وسواس انتخاب ادیتور رو گذاشتم کنار تا وقتی که اسم Zed رو شنیدم.
یه ادیتور نوشتهشده با Rust و سرعتی در حد گاد
اول فقط برای مک بود، بعد رسید به لینوکس. منم که عشق به اوبونتو، سریع یه ماشین مجازی بالا آوردم و تستش کردم.
یه پروژه نسبتا سنگین داشتم، ریا نشه یه پلتفرم انبارداری با چت و مدیریت کارمندان و محصولات. با Zed رانش کردم و همونجا بود که برگای VsCodeم ریخت
سرعت، autocomplete محشر، لود سریع اکستنشنها، محیط مینیمال و مدرن و خلاصه یه تجربه بینقص بود. و حالا برای ویندوز هم ریلیز شد
اگه هنوز امتحانش نکردی، پیشنهاد میکنم حتما تستش کنی
https://zed.dev/
<Soheil Ghanbary/>
Zed
Zed — The editor for what's next
Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
❤2👍2 1
🔵 عنوان مقاله
How to Get Started with GitHub Copilot CLI
🟢 خلاصه مقاله:
** این مطلب با راهنماییای عملی از Andrea Griffiths (GitHub) نشان میدهد چگونه با GitHub Copilot CLI شروع کنید تا در ترمینال، درخواستهای زبانی خود را به دستورات شِل تبدیل کنید، خطاها و فلگهای ناشناخته را توضیح بگیرید و سریعتر اشکالزدایی کنید. روند آغاز کار ساده است: نصب و ورود به GitHub CLI، افزودن افزونه Copilot و بررسی فعال بودن دسترسی Copilot روی حساب GitHub؛ سپس با gh copilot help و دستورات تولید/توضیح فرمانها، میتوانید قبل از اجرا خروجیها را بررسی کنید تا از ایمنی کار مطمئن شوید. این ابزار روی Bash، Zsh و PowerShell کار میکند و برای وظایف روزمره مثل جستوجو، مدیریت پردازهها و کار با Git چرخه بازخورد را کوتاه میکند.
همزمان، نوشتهای از Redowan Delowar درباره Organizing Go Tests پیشنهاد میشود که ساختاردهی حرفهای تستهای Go را مرور میکند: کنار هم نگهداشتن فایلهای *_test.go با کد، بهکارگیری تستهای جدولمحور و زیربخشها با t.Run، استفاده از پوشه testdata برای دادههای تست، همراه با بنچمارکها، مثالها، نامگذاری شفاف، گزارش پوشش و اتصال go test به CI. مجموع این توصیهها هم بهرهوری توسعه را بالا میبرد و هم کیفیت و قابلیت اعتماد تستها را.
#GitHub #Copilot #CLI #Go #Testing #DeveloperTools #Productivity #DevOps
🟣لینک مقاله:
https://golangweekly.com/link/175637/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
How to Get Started with GitHub Copilot CLI
🟢 خلاصه مقاله:
** این مطلب با راهنماییای عملی از Andrea Griffiths (GitHub) نشان میدهد چگونه با GitHub Copilot CLI شروع کنید تا در ترمینال، درخواستهای زبانی خود را به دستورات شِل تبدیل کنید، خطاها و فلگهای ناشناخته را توضیح بگیرید و سریعتر اشکالزدایی کنید. روند آغاز کار ساده است: نصب و ورود به GitHub CLI، افزودن افزونه Copilot و بررسی فعال بودن دسترسی Copilot روی حساب GitHub؛ سپس با gh copilot help و دستورات تولید/توضیح فرمانها، میتوانید قبل از اجرا خروجیها را بررسی کنید تا از ایمنی کار مطمئن شوید. این ابزار روی Bash، Zsh و PowerShell کار میکند و برای وظایف روزمره مثل جستوجو، مدیریت پردازهها و کار با Git چرخه بازخورد را کوتاه میکند.
همزمان، نوشتهای از Redowan Delowar درباره Organizing Go Tests پیشنهاد میشود که ساختاردهی حرفهای تستهای Go را مرور میکند: کنار هم نگهداشتن فایلهای *_test.go با کد، بهکارگیری تستهای جدولمحور و زیربخشها با t.Run، استفاده از پوشه testdata برای دادههای تست، همراه با بنچمارکها، مثالها، نامگذاری شفاف، گزارش پوشش و اتصال go test به CI. مجموع این توصیهها هم بهرهوری توسعه را بالا میبرد و هم کیفیت و قابلیت اعتماد تستها را.
#GitHub #Copilot #CLI #Go #Testing #DeveloperTools #Productivity #DevOps
🟣لینک مقاله:
https://golangweekly.com/link/175637/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
The GitHub Blog
GitHub Copilot CLI: How to get started
From cloning a repository to opening a pull request, here’s how to streamline your workflow with Copilot CLI.
❤1
🔵 عنوان مقاله
Sift: A Lightweight Terminal UI for Displaying Go Test Results
🟢 خلاصه مقاله:
Sift یک رابط کاربری ترمینالی سبک برای نمایش نتایج آزمونهای Go است. با لولهکردن خروجی JSON در حالت verbose به این ابزار، نتایج به نمای قابلپیمایش با بخشهای تاشو تبدیل میشوند تا ابتدا روی موارد مهم تمرکز کنید و فقط هنگام نیاز جزئیات را باز کنید. این رویکرد شلوغی خروجی را کم میکند، خوانایی را بالا میبرد و فرایند عیبیابی را در همان محیط ترمینال سریعتر و سادهتر میسازد.
#Go #Testing #TUI #CLI #JSON #DeveloperTools #Sift
🟣لینک مقاله:
https://golangweekly.com/link/175641/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Sift: A Lightweight Terminal UI for Displaying Go Test Results
🟢 خلاصه مقاله:
Sift یک رابط کاربری ترمینالی سبک برای نمایش نتایج آزمونهای Go است. با لولهکردن خروجی JSON در حالت verbose به این ابزار، نتایج به نمای قابلپیمایش با بخشهای تاشو تبدیل میشوند تا ابتدا روی موارد مهم تمرکز کنید و فقط هنگام نیاز جزئیات را باز کنید. این رویکرد شلوغی خروجی را کم میکند، خوانایی را بالا میبرد و فرایند عیبیابی را در همان محیط ترمینال سریعتر و سادهتر میسازد.
#Go #Testing #TUI #CLI #JSON #DeveloperTools #Sift
🟣لینک مقاله:
https://golangweekly.com/link/175641/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - timtatt/sift: A lightweight terminal UI for displaying Go tests
A lightweight terminal UI for displaying Go tests. Contribute to timtatt/sift development by creating an account on GitHub.
❤1
🔵 عنوان مقاله
Excelize 2.10: A Pure Go Way to Work with Excel Spreadsheets
🟢 خلاصه مقاله:
نسخه 2.10 از Excelize یک کتابخانه پخته و فعال در اکوسیستم Go است که امکان خواندن و نوشتن فایلهای XLAM، XLSM، XLSX، XLTM و XLTX را بهصورت مستقیم و بدون وابستگیهای بومی فراهم میکند. بهدلیل Pure Go بودن، استقرار ساده است، باینریها قابل حملاند و روی Linux، macOS و Windows پایدار اجرا میشوند؛ از محیطهای ابری و container تا serverless و ابزارهای CLI. این کتابخانه ایجاد و ویرایش فایلها، کار با شیتها، سلولها، استایلها و فرمولها را پوشش میدهد و با پشتیبانی از مواردی مانند Data Validation، Conditional Formatting، نمودارها و Pivot Table برای ساخت گزارشهای حرفهای مناسب است. در این نسخه تمرکز بر پایداری، کارایی و سازگاری بهتر با ویژگیهای مدرن Excel ادامه یافته و Excelize همچنان گزینهای قابل اتکا برای اتوماسیون Excel در پروژههای Go بهشمار میآید.
#Excelize #Go #Golang #Excel #Spreadsheets #OpenSource #DataEngineering #Automation
🟣لینک مقاله:
https://golangweekly.com/link/175639/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Excelize 2.10: A Pure Go Way to Work with Excel Spreadsheets
🟢 خلاصه مقاله:
نسخه 2.10 از Excelize یک کتابخانه پخته و فعال در اکوسیستم Go است که امکان خواندن و نوشتن فایلهای XLAM، XLSM، XLSX، XLTM و XLTX را بهصورت مستقیم و بدون وابستگیهای بومی فراهم میکند. بهدلیل Pure Go بودن، استقرار ساده است، باینریها قابل حملاند و روی Linux، macOS و Windows پایدار اجرا میشوند؛ از محیطهای ابری و container تا serverless و ابزارهای CLI. این کتابخانه ایجاد و ویرایش فایلها، کار با شیتها، سلولها، استایلها و فرمولها را پوشش میدهد و با پشتیبانی از مواردی مانند Data Validation، Conditional Formatting، نمودارها و Pivot Table برای ساخت گزارشهای حرفهای مناسب است. در این نسخه تمرکز بر پایداری، کارایی و سازگاری بهتر با ویژگیهای مدرن Excel ادامه یافته و Excelize همچنان گزینهای قابل اتکا برای اتوماسیون Excel در پروژههای Go بهشمار میآید.
#Excelize #Go #Golang #Excel #Spreadsheets #OpenSource #DataEngineering #Automation
🟣لینک مقاله:
https://golangweekly.com/link/175639/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Ri Xu Online
Excelize Official Documentation
Go language API for Spreadsheet (Excel) Document
Forwarded from Software Engineer Labdon
یک هشدار به همه کسانی که مصاحبه شغلی دارند که کد review هم دارد!
نویسنده از تجربهای را بازگو می کند که با ایجاد فشار روانی بر وی، او را متقاعد کرده بودن که کدهای آلوده nodejs را روی سیستم برای review اجرا کند که در آخرین لحظه شک کرده و ماجرا کشف می شود.
https://blog.daviddodda.com/how-i-almost-got-hacked-by-a-job-interview
<VAHID NAMENI/>
نویسنده از تجربهای را بازگو می کند که با ایجاد فشار روانی بر وی، او را متقاعد کرده بودن که کدهای آلوده nodejs را روی سیستم برای review اجرا کند که در آخرین لحظه شک کرده و ماجرا کشف می شود.
https://blog.daviddodda.com/how-i-almost-got-hacked-by-a-job-interview
<VAHID NAMENI/>
👍4 3❤1
اخیرا درگیر کوچ کردن از یه سیستم مونولیت قدیمی با Symfony به میکروسرویس با Golang هستم. اونایی که تجربه این مدل کوچ کردن هارو توی سیستم های زیر بار و قدیمی دارن میدونن که مشکل اصلی دیتابیس و جلو رفتن بر اساس اسکیمای فعلی هست و این مدل کوچ ها باید تقریبا بدون Breaking Changes اتفاق بیوفته.
اینجا بود که با SqlBoiler توی زبان Go آشنا شدم.
مزایای SqlBoiler:
۱. ساخت Struct در یک چشم به هم زدن:
به جای اینکه ساعتها بشینم و دستی Structهای گو رو بر اساس جدولهای دیتابیس بنویسم، SQLBoiler در عرض چند ثانیه تمام مدلهای Type-Safe ما رو ساخت. وقتم رو خرید، خیلی زیاد!
۲. تمرکز بر دیتابیس (Database-First):
چون دیتابیس ما از قبل وجود داشت، این ابزار خیلی راحت خودشو با Schema ما سینک کرد. انگار ساخته شده بود برای همین وضعیت!
۳. کوئریهای ایمن و هوشمند:
دیگه نگران خطاهای احمقانه زمان اجرا (Runtime) نیستم. با تولید کوئریهای Strongly Typed، هر اشتباهی توی نام ستون یا جدول باشه، همون موقع
کامپایل گیر میده.
۴. فقط چیزهای ضروری رو بگیر:
قابلیت Whitelist/Blacklist جدولها و ستونها فوقالعاده است. توی محیط میکروسرویس که هر سرویس فقط به یه بخش دیتابیس نیاز داره، با این قابلیت فقط مدلهای مرتبط رو تولید کردم و کد اضافی رو حذف کردم.
اینم لینک گیتهابش:
https://github.com/aarondl/sqlboiler
<Sepehr Mohseni/>
اینجا بود که با SqlBoiler توی زبان Go آشنا شدم.
مزایای SqlBoiler:
۱. ساخت Struct در یک چشم به هم زدن:
به جای اینکه ساعتها بشینم و دستی Structهای گو رو بر اساس جدولهای دیتابیس بنویسم، SQLBoiler در عرض چند ثانیه تمام مدلهای Type-Safe ما رو ساخت. وقتم رو خرید، خیلی زیاد!
۲. تمرکز بر دیتابیس (Database-First):
چون دیتابیس ما از قبل وجود داشت، این ابزار خیلی راحت خودشو با Schema ما سینک کرد. انگار ساخته شده بود برای همین وضعیت!
۳. کوئریهای ایمن و هوشمند:
دیگه نگران خطاهای احمقانه زمان اجرا (Runtime) نیستم. با تولید کوئریهای Strongly Typed، هر اشتباهی توی نام ستون یا جدول باشه، همون موقع
کامپایل گیر میده.
۴. فقط چیزهای ضروری رو بگیر:
قابلیت Whitelist/Blacklist جدولها و ستونها فوقالعاده است. توی محیط میکروسرویس که هر سرویس فقط به یه بخش دیتابیس نیاز داره، با این قابلیت فقط مدلهای مرتبط رو تولید کردم و کد اضافی رو حذف کردم.
اینم لینک گیتهابش:
https://github.com/aarondl/sqlboiler
<Sepehr Mohseni/>
GitHub
GitHub - aarondl/sqlboiler: Generate a Go ORM tailored to your database schema.
Generate a Go ORM tailored to your database schema. - aarondl/sqlboiler
👍3 2
Forwarded from Bardia & Erfan
دارم پادکست پاول دوروف مال تلگرام رو میبینم
نکته جالبش اینجا اگر برادر نابغش نبود هیچ وقت تلگرامی وجود نداشت
نکته دیگه اینه اگر دقت کرده باشید پاول برعکس مارک زاکربرگ ، ایلان ماسک و . . .
زندگی خیلی لاکچری داره ولی ایلان و زاکربرگ همیشه ساده پوشن و خیلی زنی بی آلایشی از خودشون نشون میدن
حتی مارک و ایلان نهایتا ۶ تا ۸ ساعت میخوابن و پاول ۱۲ ساعت
دلیلش از نظر من خیلی جالبه
ایلان و زاکربرگ تمام سهام شرکتشون برای خودشون نیست! سرمایه گذار های بزرگی پشتشونه و هروقت بیان خودشون رو اینطور نشون بدن قطعابا فشار زیادی مواجه میشن
ولی پاول مالک خودش هست و برادرش و کلا ۴۰ برنامه نویس
هیچ وقت هم جواب به کسی نمیده
نکات خیلی زیادی داره این شخص پیشنهاد میکنم حتما درموردش مطالعه کنید
https://www.youtube.com/watch?v=qjPH9njnaVU
نکته جالبش اینجا اگر برادر نابغش نبود هیچ وقت تلگرامی وجود نداشت
نکته دیگه اینه اگر دقت کرده باشید پاول برعکس مارک زاکربرگ ، ایلان ماسک و . . .
زندگی خیلی لاکچری داره ولی ایلان و زاکربرگ همیشه ساده پوشن و خیلی زنی بی آلایشی از خودشون نشون میدن
حتی مارک و ایلان نهایتا ۶ تا ۸ ساعت میخوابن و پاول ۱۲ ساعت
دلیلش از نظر من خیلی جالبه
ایلان و زاکربرگ تمام سهام شرکتشون برای خودشون نیست! سرمایه گذار های بزرگی پشتشونه و هروقت بیان خودشون رو اینطور نشون بدن قطعابا فشار زیادی مواجه میشن
ولی پاول مالک خودش هست و برادرش و کلا ۴۰ برنامه نویس
هیچ وقت هم جواب به کسی نمیده
نکات خیلی زیادی داره این شخص پیشنهاد میکنم حتما درموردش مطالعه کنید
https://www.youtube.com/watch?v=qjPH9njnaVU
👍5🔥2 2❤1
🔵 عنوان مقاله
A Modern Approach to Preventing CSRF/CORF in Go
🟢 خلاصه مقاله:
این مقاله یک رویکرد مدرن برای مقابله با حملات CSRF/CORF در Go معرفی میکند. بهجای تکیه بر tokens، در Go 1.25 یک middleware به نام http.CrossOriginProtection ارائه شده که با استفاده از سیگنالهای امنیتی مرورگر (مانند Fetch Metadata و سیاستهای SameSite) میان درخواستهای امن هممبداء و درخواستهای مشکوک بینمبداء تفکیک ایجاد میکند. این میانافزار بهطور پیشفرض درخواستهای امن را میپذیرد و درخواستهای تغییردهنده حالت از مبداءهای نامطمئن را مسدود میکند، درحالیکه برای مسیرهای ضروری (مثل OAuth callback یا webhook) قابلیت allowlist دارد و با CORS نیز سازگار است. نتیجه، کاهش پیچیدگی پیادهسازی CSRF، تکیه بر قابلیتهای جدید مرورگرها، و استقرار مرحلهای (از حالت گزارش تا اعمال) است؛ ضمن اینکه جایگزین احراز هویت و کنترل دسترسی نیست، بلکه مکمل آنهاست.
#Go #CSRF #WebSecurity #FetchMetadata #SameSite #Middleware #GoLang #Security
🟣لینک مقاله:
https://golangweekly.com/link/175634/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
A Modern Approach to Preventing CSRF/CORF in Go
🟢 خلاصه مقاله:
این مقاله یک رویکرد مدرن برای مقابله با حملات CSRF/CORF در Go معرفی میکند. بهجای تکیه بر tokens، در Go 1.25 یک middleware به نام http.CrossOriginProtection ارائه شده که با استفاده از سیگنالهای امنیتی مرورگر (مانند Fetch Metadata و سیاستهای SameSite) میان درخواستهای امن هممبداء و درخواستهای مشکوک بینمبداء تفکیک ایجاد میکند. این میانافزار بهطور پیشفرض درخواستهای امن را میپذیرد و درخواستهای تغییردهنده حالت از مبداءهای نامطمئن را مسدود میکند، درحالیکه برای مسیرهای ضروری (مثل OAuth callback یا webhook) قابلیت allowlist دارد و با CORS نیز سازگار است. نتیجه، کاهش پیچیدگی پیادهسازی CSRF، تکیه بر قابلیتهای جدید مرورگرها، و استقرار مرحلهای (از حالت گزارش تا اعمال) است؛ ضمن اینکه جایگزین احراز هویت و کنترل دسترسی نیست، بلکه مکمل آنهاست.
#Go #CSRF #WebSecurity #FetchMetadata #SameSite #Middleware #GoLang #Security
🟣لینک مقاله:
https://golangweekly.com/link/175634/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
www.alexedwards.net
A modern approach to preventing CSRF in Go - Alex Edwards
❤4
🔵 عنوان مقاله
Gist of Go: Atomics
🟢 خلاصه مقاله:
در Go، atomics مجموعهای از عملیات سطحپایین در بسته sync/atomic هستند که امکان دسترسی thread-safe و lock-free به مقادیر حافظه مشترک را میدهند. آنها برای متغیرهای ساده (مثل شمارندهها، فلگهای وضعیت، و تعویض ایمن یک اشارهگر پیکربندی) بسیار سریع و مناسباند و با Load/Store، Add/Swap و CAS رابطههای happens-before لازم را تضمین میکنند. وقتی نیاز به حفظ ناهمبستگیهای چندفیلدی دارید یا بهروزرسانی چندمرحلهای میخواهید، استفاده از mutex یا کانالها شفافتر و کمخطرتر است. از اختلاط دسترسی atomic و non-atomic به یک متغیر خودداری کنید، به همترازی و false sharing توجه کنید، و برای دادههای read-mostly از atomic.Value بهره ببرید. نتیجه: در سناریوهای محدود، همزمانی بدون mutex واقعا شدنی است—به شرط رعایت دقیق مدل حافظه و الگوهای درست.
#golang #concurrency #atomics #lockfree #CAS #multithreading #memorymodel
🟣لینک مقاله:
https://golangweekly.com/link/175632/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Gist of Go: Atomics
🟢 خلاصه مقاله:
در Go، atomics مجموعهای از عملیات سطحپایین در بسته sync/atomic هستند که امکان دسترسی thread-safe و lock-free به مقادیر حافظه مشترک را میدهند. آنها برای متغیرهای ساده (مثل شمارندهها، فلگهای وضعیت، و تعویض ایمن یک اشارهگر پیکربندی) بسیار سریع و مناسباند و با Load/Store، Add/Swap و CAS رابطههای happens-before لازم را تضمین میکنند. وقتی نیاز به حفظ ناهمبستگیهای چندفیلدی دارید یا بهروزرسانی چندمرحلهای میخواهید، استفاده از mutex یا کانالها شفافتر و کمخطرتر است. از اختلاط دسترسی atomic و non-atomic به یک متغیر خودداری کنید، به همترازی و false sharing توجه کنید، و برای دادههای read-mostly از atomic.Value بهره ببرید. نتیجه: در سناریوهای محدود، همزمانی بدون mutex واقعا شدنی است—به شرط رعایت دقیق مدل حافظه و الگوهای درست.
#golang #concurrency #atomics #lockfree #CAS #multithreading #memorymodel
🟣لینک مقاله:
https://golangweekly.com/link/175632/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
antonz.org
Gist of Go: Atomics
Concurrent-safe operations without explicit synchronization.
❤2👍1
🔵 عنوان مقاله
CPU Cache-Friendly Data Structures in Go: 10x Speed with Same Algorithm
🟢 خلاصه مقاله:
** این مقاله نشان میدهد که در Go میتوان بدون تغییر الگوریتم و فقط با بهینهسازی نحوهٔ دسترسی به حافظه، به بهبودهایی تا ۱۰ برابر رسید. ایدهٔ اصلی این است که با بهرهگیری از محلیّت در CPU و نگه داشتن دادههای «داغ» در حافظهٔ پیوسته، تعداد cache miss به شدت کم میشود. راهکارهای کلیدی شامل استفاده از sliceهای پیوسته بهجای ساختارهای پر از pointer، فشردهسازی و چیدمان درست فیلدهای struct، انتخاب آگاهانه بین AoS و SoA، کاهش تخصیصها و استفاده از sync.Pool برای بازاستفادهٔ حافظه، و اجتناب از false sharing در برنامههای همزمان است. اندازهگیری با ابزارهای benchmark و pprof کمک میکند ببینیم گلوگاه واقعاً از کجاست. نتیجهٔ عملی طبق تجربهٔ Serge Skoredin: با حفظ همان منطق، تنها با طراحی cache‑friendly در Go میتوان جهشهای بزرگ کارایی بهدست آورد.
#Go #Golang #CPUCache #Performance #DataStructures #SystemsProgramming #Optimization #LowLatency
🟣لینک مقاله:
https://golangweekly.com/link/175636/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
CPU Cache-Friendly Data Structures in Go: 10x Speed with Same Algorithm
🟢 خلاصه مقاله:
** این مقاله نشان میدهد که در Go میتوان بدون تغییر الگوریتم و فقط با بهینهسازی نحوهٔ دسترسی به حافظه، به بهبودهایی تا ۱۰ برابر رسید. ایدهٔ اصلی این است که با بهرهگیری از محلیّت در CPU و نگه داشتن دادههای «داغ» در حافظهٔ پیوسته، تعداد cache miss به شدت کم میشود. راهکارهای کلیدی شامل استفاده از sliceهای پیوسته بهجای ساختارهای پر از pointer، فشردهسازی و چیدمان درست فیلدهای struct، انتخاب آگاهانه بین AoS و SoA، کاهش تخصیصها و استفاده از sync.Pool برای بازاستفادهٔ حافظه، و اجتناب از false sharing در برنامههای همزمان است. اندازهگیری با ابزارهای benchmark و pprof کمک میکند ببینیم گلوگاه واقعاً از کجاست. نتیجهٔ عملی طبق تجربهٔ Serge Skoredin: با حفظ همان منطق، تنها با طراحی cache‑friendly در Go میتوان جهشهای بزرگ کارایی بهدست آورد.
#Go #Golang #CPUCache #Performance #DataStructures #SystemsProgramming #Optimization #LowLatency
🟣لینک مقاله:
https://golangweekly.com/link/175636/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
skoredin.pro
CPU Cache-Friendly Data Structures in Go: 10x Speed
False sharing killed our performance. Data-oriented design saved it.
❤1🔥1
Gopher Academy
📌 Memory Allocation in Go ❌این پست اپدیت میشود ❌ 🔹 در این پست به بررسی جزئیات مدیریت حافظه در زبان Go میپردازیم. درک درست از ساختار حافظه به شما کمک میکند عملکرد برنامههایتان را بهتر بهینه کنید و رفتار Garbage Collector را بهتر بفهمید. 🔵 Introduction…
☝️☝️☝️☝️☝️☝️☝️☝️☝️
❌این پست اپدیت میشود ❌
🔹 در این پست به بررسی جزئیات مدیریت حافظه در زبان Go میپردازیم.
درک درست از ساختار حافظه به شما کمک میکند عملکرد برنامههایتان را بهتر بهینه کنید و رفتار Garbage Collector را بهتر بفهمی
❌این پست اپدیت میشود ❌
🔹 در این پست به بررسی جزئیات مدیریت حافظه در زبان Go میپردازیم.
درک درست از ساختار حافظه به شما کمک میکند عملکرد برنامههایتان را بهتر بهینه کنید و رفتار Garbage Collector را بهتر بفهمی
یه ابزار باحال برای به اشتراک گذاری صفحهنمایش که با 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 باشه، اسپاتیفای ، آهنگهای دیگهای از مکس مارتین رو بهت پیشنهاد میده!
+ این یعنی یه لایهی تازه از پیشنهاد موزیک: نه فقط بر اساس «چی گوش دادی»، بلکه بر اساس «کی اون آهنگ رو ساخته».