🔵 عنوان مقاله
BadgerDB 4.3: A Fast, Embeddable Key-Balue DB in Go
🟢 خلاصه مقاله:
مقالهی مورد نظر به توضیح و تجزیه و تحلیل DocsDB، یک سیستم ذخیرهسازی مقادیر کلیدی طراحی شده به عنوان جایگزینی پرکارآیی برای سیستمهای مبتنی بر غیر-Go مانند RocksDB میپردازد. DocsDB با هدف بهبود عملکرد و کارایی در مقابل سایر سیستمهای موجود در بازار توسعه یافته است. این سیستم با استفاده از زبان برنامهنویسی Go، امکان مدیریت دادهها را با سرعت و دقت بالا فراهم میآورد. بررسیهای انجام شده در مقاله نشان میدهد که DocsDB در مقایسه با راهحلهای مشابه مانند RocksDB، عملکرد بهتری در شرایط مختلف دارد. این مقاله به بررسی خصوصیات فنی و مزایای استفاده از DocsDB در برابر سایر سیستمها میپردازد و توضیح میدهد که چگونه این سیستم میتواند پاسخگوی نیازهای خاص کاربران و توسعهدهندگان باشد.
🟣لینک مقاله:
https://golangweekly.com/link/159246/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
BadgerDB 4.3: A Fast, Embeddable Key-Balue DB in Go
🟢 خلاصه مقاله:
مقالهی مورد نظر به توضیح و تجزیه و تحلیل DocsDB، یک سیستم ذخیرهسازی مقادیر کلیدی طراحی شده به عنوان جایگزینی پرکارآیی برای سیستمهای مبتنی بر غیر-Go مانند RocksDB میپردازد. DocsDB با هدف بهبود عملکرد و کارایی در مقابل سایر سیستمهای موجود در بازار توسعه یافته است. این سیستم با استفاده از زبان برنامهنویسی Go، امکان مدیریت دادهها را با سرعت و دقت بالا فراهم میآورد. بررسیهای انجام شده در مقاله نشان میدهد که DocsDB در مقایسه با راهحلهای مشابه مانند RocksDB، عملکرد بهتری در شرایط مختلف دارد. این مقاله به بررسی خصوصیات فنی و مزایای استفاده از DocsDB در برابر سایر سیستمها میپردازد و توضیح میدهد که چگونه این سیستم میتواند پاسخگوی نیازهای خاص کاربران و توسعهدهندگان باشد.
🟣لینک مقاله:
https://golangweekly.com/link/159246/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - dgraph-io/badger: Fast key-value DB in Go.
Fast key-value DB in Go. Contribute to dgraph-io/badger development by creating an account on GitHub.
👍2🍾2❤1
🔵 عنوان مقاله
Kafka-Compatible Data Streaming That Reduces Costs and Ops Burden
🟢 خلاصه مقاله:
مقالهای که بررسی شده است، به تبلیغ و معرفی یک سرویس جدید با نام WarpStream پرداخته است. به نظر میرسد که این سرویس ویژگیهای قابل توجهی دارد که شامل «اسکالینگ خودکار بدون نیاز به عملیات» (Zero ops auto-scaling) و «تهیه منابع به طور کامل» (Perfect provisioning) میشود. ادعا شده که هزینه استفاده از این سرویس ۱۰ برابر کمتر از Kafka است، که نشاندهنده کارایی بالا و مقرونبهصرفه بودن آن است. مقاله همچنین اشاره میکند که علاقمندان میتوانند WarpStream را بهطور رایگان امتحان کنند و به علاوه، ۴۰۰ دلار اعتبار دریافت خواهند کرد. به نظر میرسد که هدف اصلی مقاله ترغیب خوانندگان به استفاده از این سرویس جدید و بهرهمندی از مزایای آن است.
🟣لینک مقاله:
https://golangweekly.com/link/159244/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Kafka-Compatible Data Streaming That Reduces Costs and Ops Burden
🟢 خلاصه مقاله:
مقالهای که بررسی شده است، به تبلیغ و معرفی یک سرویس جدید با نام WarpStream پرداخته است. به نظر میرسد که این سرویس ویژگیهای قابل توجهی دارد که شامل «اسکالینگ خودکار بدون نیاز به عملیات» (Zero ops auto-scaling) و «تهیه منابع به طور کامل» (Perfect provisioning) میشود. ادعا شده که هزینه استفاده از این سرویس ۱۰ برابر کمتر از Kafka است، که نشاندهنده کارایی بالا و مقرونبهصرفه بودن آن است. مقاله همچنین اشاره میکند که علاقمندان میتوانند WarpStream را بهطور رایگان امتحان کنند و به علاوه، ۴۰۰ دلار اعتبار دریافت خواهند کرد. به نظر میرسد که هدف اصلی مقاله ترغیب خوانندگان به استفاده از این سرویس جدید و بهرهمندی از مزایای آن است.
🟣لینک مقاله:
https://golangweekly.com/link/159244/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Warpstream
Bring Your Own Cloud Kafka-Compatible Data Streaming
WarpStream's BYOC deployment model gives you the security and data sovereignty benefits of self hosting, but without any of the management hassle.
👍3🍾1
🔵 عنوان مقاله
hyrumtoken: A Package to Encrypt Pagination Tokens
🟢 خلاصه مقاله:
مقاله در مورد اهمیت محدود سازی دسترسی به پارامترهای مربوط به تقسیم بندی در APIها است تا از دسترسی مشتریان API به قابلیتهای ناخواسته جلوگیری شود. این رویکرد به منظور حفظ امنیت و عملکرد بهینه API ضروری است. کنترل دقیق بر دسترسی به این پارامترها از اشتباهات احتمالی در استفاده که میتواند منجر به دریافت اطلاعات نادرست یا سوء استفاده از دادهها شود، پیشگیری میکند. به علاوه، این مقاله تاکید میکند که مدیریت صحیح این پارامترها میتواند به بهبود تجربه کاربری کمک کرده و از بروز مشکلات امنیتی جلوگیری میکند. با استفاده از روشهای تأیید صحیح پارامتر، میتوان اطمینان حاصل کرد که API فقط دادههای مناسب و مجاز را میفرستد و دریافت میکند.
🟣لینک مقاله:
https://golangweekly.com/link/159248/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
hyrumtoken: A Package to Encrypt Pagination Tokens
🟢 خلاصه مقاله:
مقاله در مورد اهمیت محدود سازی دسترسی به پارامترهای مربوط به تقسیم بندی در APIها است تا از دسترسی مشتریان API به قابلیتهای ناخواسته جلوگیری شود. این رویکرد به منظور حفظ امنیت و عملکرد بهینه API ضروری است. کنترل دقیق بر دسترسی به این پارامترها از اشتباهات احتمالی در استفاده که میتواند منجر به دریافت اطلاعات نادرست یا سوء استفاده از دادهها شود، پیشگیری میکند. به علاوه، این مقاله تاکید میکند که مدیریت صحیح این پارامترها میتواند به بهبود تجربه کاربری کمک کرده و از بروز مشکلات امنیتی جلوگیری میکند. با استفاده از روشهای تأیید صحیح پارامتر، میتوان اطمینان حاصل کرد که API فقط دادههای مناسب و مجاز را میفرستد و دریافت میکند.
🟣لینک مقاله:
https://golangweekly.com/link/159248/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - ssoready/hyrumtoken: A Golang package to encrypt your pagination tokens
A Golang package to encrypt your pagination tokens - ssoready/hyrumtoken
❤2🍾1
🔵 عنوان مقاله
go-mysql-server: A Storage Agnostic MySQL-Compatible Relational Database
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، درباره یک موتور و سرور SQL نوشته شده به زبان Go است که از پروتکل MySQL و SQL پشتیبانی میکند. این سیستم شامل یک سیستم ذخیرهسازی در حافظه است که به کاربران امکان میدهد تا بدون نیاز به پیادهسازی اولیه هر گونه پایگاه داده اضافی، با دادهها کار کنند. علاوه بر این، کاربران میتوانند بکاندهای خود را برای ذخیرهسازی یا پرسوجو در منابع داده مختلف پیادهسازی کنند. این امکان انعطافپذیری بالایی را برای توسعهدهندگان فراهم میکند به طوری که میتوانند ساختارهای ذخیرهسازی متنوعی را بر اساس نیازهای خاص پروژه خود شخصیسازی کنند. این سیستم، با تکیه بر زبان Go، کارایی بالا و سهولت در استفاده از منابع سیستمی را ارائه میدهد.
🟣لینک مقاله:
https://github.com/dolthub/go-mysql-server
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go-mysql-server: A Storage Agnostic MySQL-Compatible Relational Database
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، درباره یک موتور و سرور SQL نوشته شده به زبان Go است که از پروتکل MySQL و SQL پشتیبانی میکند. این سیستم شامل یک سیستم ذخیرهسازی در حافظه است که به کاربران امکان میدهد تا بدون نیاز به پیادهسازی اولیه هر گونه پایگاه داده اضافی، با دادهها کار کنند. علاوه بر این، کاربران میتوانند بکاندهای خود را برای ذخیرهسازی یا پرسوجو در منابع داده مختلف پیادهسازی کنند. این امکان انعطافپذیری بالایی را برای توسعهدهندگان فراهم میکند به طوری که میتوانند ساختارهای ذخیرهسازی متنوعی را بر اساس نیازهای خاص پروژه خود شخصیسازی کنند. این سیستم، با تکیه بر زبان Go، کارایی بالا و سهولت در استفاده از منابع سیستمی را ارائه میدهد.
🟣لینک مقاله:
https://github.com/dolthub/go-mysql-server
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - dolthub/go-mysql-server: A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure…
A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go. - dolthub/go-mysql-server
👍7
🔵 عنوان مقاله
Microsoft Launches a Go Blog
🟢 خلاصه مقاله:
مقاله مورد نظر به تبریک به شرکت Microsoft بابت افزایش تعداد وبلاگهای آن درباره زبان برنامهنویسی Go پرداخته است. تمرکز این وبلاگها در راستای استفاده از Go در ارتباط با سرویسهای Azure و همچنین مشارکتهای Microsoft در اکوسیستم Go است. این رویکرد نشاندهنده علاقهمندی و سرمایهگذاری Microsoft در بسط و پیشبرد استفاده از Go، بهویژه در ادغام با محصولات و سرویسهای خود میباشد. از سوی دیگر، افزایش محتوای تخصصی قابل دسترس در مورد Go به همراه پشتیبانی فنی Microsoft، میتواند به ارتقاء و درک بهتر این زبان کمک شایانی کند و احتمالاً جامعه توسعهدهندگان Go را گسترش دهد.
🟣لینک مقاله:
https://devblogs.microsoft.com/go/welcome-to-the-microsoft-for-go-developers-blog/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Microsoft Launches a Go Blog
🟢 خلاصه مقاله:
مقاله مورد نظر به تبریک به شرکت Microsoft بابت افزایش تعداد وبلاگهای آن درباره زبان برنامهنویسی Go پرداخته است. تمرکز این وبلاگها در راستای استفاده از Go در ارتباط با سرویسهای Azure و همچنین مشارکتهای Microsoft در اکوسیستم Go است. این رویکرد نشاندهنده علاقهمندی و سرمایهگذاری Microsoft در بسط و پیشبرد استفاده از Go، بهویژه در ادغام با محصولات و سرویسهای خود میباشد. از سوی دیگر، افزایش محتوای تخصصی قابل دسترس در مورد Go به همراه پشتیبانی فنی Microsoft، میتواند به ارتقاء و درک بهتر این زبان کمک شایانی کند و احتمالاً جامعه توسعهدهندگان Go را گسترش دهد.
🟣لینک مقاله:
https://devblogs.microsoft.com/go/welcome-to-the-microsoft-for-go-developers-blog/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Microsoft News
Welcome to the Microsoft for Go Developers Blog!
Welcome to the Microsoft for Go Developers Blog! We're thrilled to launch this platform as a hub for all things related to Go programming within the Microsoft ecosystem.
👍4🎉1
Forwarded from Gopher Academy
👇quiz 1👇
func hello() []string { return nil } func main() { h := hello if h == nil { fmt.Println("nil") } else { fmt.Println("not nil") } }
func hello() []string { return nil } func main() { h := hello if h == nil { fmt.Println("nil") } else { fmt.Println("not nil") } }
Anonymous Quiz
19%
Nil
56%
Not nil
26%
compilation error
🔵 عنوان مقاله
trdsql: Tool to Execute SQL Queries Upon Text-Based Data
🟢 خلاصه مقاله:
مقالهای که بررسی میکند ابزار CLI را توصیف میکند که قادر است کوئریهای SQL را بر روی فایلهای CSV، LTSV، JSON، YAML، و TBLN اجرا کند. این ابزار از دو نوع دستورالعمل SQL یعنی Postgres و MySQL پشتیبانی میکند. علاوهبر این، این ابزار میتواند بهعنوان کتابخانهای در برنامههای نوشته شده با زبان برنامهنویسی Go نیز استفاده شود. این امکان فراهم میکند که توسعهدهندگان بتوانند دادههای موجود در فرمتهای مختلف فایل را به راحتی در برنامههای خود مدیریت و تحلیل کنند. این توانایی به ویژه برای کار با دادهها در مقیاس بزرگ یا برای انجام تجزیه و تحلیلهای دادهای سریع و موثر بسیار مفید است.
🟣لینک مقاله:
https://github.com/noborus/trdsql
➖➖➖➖➖➖➖➖
👑 @gopher_academy
trdsql: Tool to Execute SQL Queries Upon Text-Based Data
🟢 خلاصه مقاله:
مقالهای که بررسی میکند ابزار CLI را توصیف میکند که قادر است کوئریهای SQL را بر روی فایلهای CSV، LTSV، JSON، YAML، و TBLN اجرا کند. این ابزار از دو نوع دستورالعمل SQL یعنی Postgres و MySQL پشتیبانی میکند. علاوهبر این، این ابزار میتواند بهعنوان کتابخانهای در برنامههای نوشته شده با زبان برنامهنویسی Go نیز استفاده شود. این امکان فراهم میکند که توسعهدهندگان بتوانند دادههای موجود در فرمتهای مختلف فایل را به راحتی در برنامههای خود مدیریت و تحلیل کنند. این توانایی به ویژه برای کار با دادهها در مقیاس بزرگ یا برای انجام تجزیه و تحلیلهای دادهای سریع و موثر بسیار مفید است.
🟣لینک مقاله:
https://github.com/noborus/trdsql
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - noborus/trdsql: CLI tool that can execute SQL queries on CSV, LTSV, JSON, YAML and TBLN. Can output to various formats.
CLI tool that can execute SQL queries on CSV, LTSV, JSON, YAML and TBLN. Can output to various formats. - noborus/trdsql
👍3
🔵 عنوان مقاله
Go Performance from Version 1.0 to 1.22
🟢 خلاصه مقاله:
مقالهای که به بررسی تحلیلی عملکرد زبان برنامهنویسی Go از نسخه ۱.۰ تا آخرین نسخه یعنی ۱.۲۲ میپردازد، ادامهای است بر تحلیلهای قبلی نویسنده از نسخههای ۱.۲ تا ۱.۱۸ که دو سال پیش منتشر شده بود. در این مقاله، تحولات و بهینهسازیهای صورت گرفته در عملکرد زبان Go طی این سالها از ابتدای تولید تا به امروز بررسی شده است. نویسنده با استفاده از دادهها و شواهد محکم، تغییرات کلیدی در معماری و عملکرد زبان را به تفصیل تشریح کرده و نشان میدهد که چگونه این تحولات به افزایش کارایی و بهرهوری در برنامهنویسی کمک کردهاند. این مقاله میتواند منبع مفیدی برای توسعهدهندگان و مهندسان نرمافزار باشد که میخواهند دیدگاه عمیقتری نسبت به تکامل زبان Go و عملکرد آن داشته باشند.
🟣لینک مقاله:
https://benhoyt.com/writings/go-version-performance-2024/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go Performance from Version 1.0 to 1.22
🟢 خلاصه مقاله:
مقالهای که به بررسی تحلیلی عملکرد زبان برنامهنویسی Go از نسخه ۱.۰ تا آخرین نسخه یعنی ۱.۲۲ میپردازد، ادامهای است بر تحلیلهای قبلی نویسنده از نسخههای ۱.۲ تا ۱.۱۸ که دو سال پیش منتشر شده بود. در این مقاله، تحولات و بهینهسازیهای صورت گرفته در عملکرد زبان Go طی این سالها از ابتدای تولید تا به امروز بررسی شده است. نویسنده با استفاده از دادهها و شواهد محکم، تغییرات کلیدی در معماری و عملکرد زبان را به تفصیل تشریح کرده و نشان میدهد که چگونه این تحولات به افزایش کارایی و بهرهوری در برنامهنویسی کمک کردهاند. این مقاله میتواند منبع مفیدی برای توسعهدهندگان و مهندسان نرمافزار باشد که میخواهند دیدگاه عمیقتری نسبت به تکامل زبان Go و عملکرد آن داشته باشند.
🟣لینک مقاله:
https://benhoyt.com/writings/go-version-performance-2024/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Benhoyt
Go performance from version 1.0 to 1.22
Shows how much the performance of Go has improved from version 1.0 through to 1.22 (including PGO) -- in its compiler, runtime, and libraries.
🔵 عنوان مقاله
📊 Results of the 2024 H1 Go Developer Survey
🟢 خلاصه مقاله:
مطالعهای که با تمرکز بر هوش مصنوعی انجام شد، نشان داد که سطح اعتماد و رضایت توسعهدهندگان نسبت به زبان برنامهنویسی Go بسیار بالا است. براساس این نظرسنجی، بسیاری از توسعهدهندگان معتقدند که Go زبان مناسبی برای موردهای استفاده جدید در عرصه هوش مصنوعی است. با وجود این، نیاز به ابزارها و کتابخانههای جدید در این زمینه احساس میشود، به ویژه ایجاد نسخههای معادل Go از کتابخانههای محبوب پایتون که به شدت مورد تقاضا است. توسعهدهندگان متقاعد شدهاند که توسعه و پیشرفت در این محیطها میتواند به کاربردیتر شدن Go در آینده کمک کند.
🟣لینک مقاله:
https://go.dev/blog/survey2024-h1-results
➖➖➖➖➖➖➖➖
👑 @gopher_academy
📊 Results of the 2024 H1 Go Developer Survey
🟢 خلاصه مقاله:
مطالعهای که با تمرکز بر هوش مصنوعی انجام شد، نشان داد که سطح اعتماد و رضایت توسعهدهندگان نسبت به زبان برنامهنویسی Go بسیار بالا است. براساس این نظرسنجی، بسیاری از توسعهدهندگان معتقدند که Go زبان مناسبی برای موردهای استفاده جدید در عرصه هوش مصنوعی است. با وجود این، نیاز به ابزارها و کتابخانههای جدید در این زمینه احساس میشود، به ویژه ایجاد نسخههای معادل Go از کتابخانههای محبوب پایتون که به شدت مورد تقاضا است. توسعهدهندگان متقاعد شدهاند که توسعه و پیشرفت در این محیطها میتواند به کاربردیتر شدن Go در آینده کمک کند.
🟣لینک مقاله:
https://go.dev/blog/survey2024-h1-results
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
Go Developer Survey 2024 H1 Results - The Go Programming Language
What we learned from our 2024 H1 developer survey
👍4🔥3
🔵 عنوان مقاله
Go 1.23's New unique Package
🟢 خلاصه مقاله:
مقالهای که مورد بحث قرار گرفته، به بررسی بستهای میپردازد که هدف آن افزایش کارایی در مقایسه مقادیر از طریق استفاده از روش "ددوپلیکیشن" (حذف نسخههای تکراری) است. این روش به گونهای است که به هر مقدار منحصربهفرد یک نمونه قابل استناد اختصاص میدهد، که به این مفهوم "اینترنینگ" گفته میشود. نویسنده، مایکل، در این مقاله توضیح میدهد که این فرآیند چگونه کار میکند و همچنین یک مثال عملی ارائه میدهد تا خواننده بتواند بهتر با کاربرد و مزایای این روش آشنا شود. محتوای ارائه شده نیاز به دانش پیشین دارد، اما مایکل در طول مقاله تمام جوانب لازم را به خواننده آموزش میدهد، به طوری که خوانندگان با آگاهی کامل میتوانند از این تکنیک در کاربردهای خود استفاده نمایند.
🟣لینک مقاله:
https://golangweekly.com/link/159224/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go 1.23's New unique Package
🟢 خلاصه مقاله:
مقالهای که مورد بحث قرار گرفته، به بررسی بستهای میپردازد که هدف آن افزایش کارایی در مقایسه مقادیر از طریق استفاده از روش "ددوپلیکیشن" (حذف نسخههای تکراری) است. این روش به گونهای است که به هر مقدار منحصربهفرد یک نمونه قابل استناد اختصاص میدهد، که به این مفهوم "اینترنینگ" گفته میشود. نویسنده، مایکل، در این مقاله توضیح میدهد که این فرآیند چگونه کار میکند و همچنین یک مثال عملی ارائه میدهد تا خواننده بتواند بهتر با کاربرد و مزایای این روش آشنا شود. محتوای ارائه شده نیاز به دانش پیشین دارد، اما مایکل در طول مقاله تمام جوانب لازم را به خواننده آموزش میدهد، به طوری که خوانندگان با آگاهی کامل میتوانند از این تکنیک در کاربردهای خود استفاده نمایند.
🟣لینک مقاله:
https://golangweekly.com/link/159224/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
New unique package - The Go Programming Language
New package for interning in Go 1.23.
👍7❤1
الگوهای ورژنبندی (Versioning) در نرمافزار به روشهای مختلفی برای شمارهگذاری و پیگیری نسخههای نرمافزار اشاره دارند. در اینجا برخی از رایجترین الگوهای ورژنبندی آورده شده است:
### 1. Semantic Versioning (SemVer)
- فرمت:
- مثال:
- قواعد:
- MAJOR:
تغییرات ناسازگار که معمولاً با API همراه است.
- MINOR:
افزودن قابلیتهای جدید به شکلی که با نسخههای قبلی سازگار است.
- PATCH:
رفع باگها و مشکلات کوچک بدون تغییرات ناسازگار.
### 2. Calendar Versioning (CalVer)
- فرمت:
- مثال:
- قواعد:
- براساس تاریخ انتشار نسخهها شمارهگذاری میشود.
- مناسب برای نرمافزارهایی که بهصورت دورهای و مرتب آپدیت میشوند.
### 3. Sequential Versioning
- فرمت:
- مثال:
- قواعد:
- شمارههای نسخه بهصورت ترتیبی و بدون توجه به نوع تغییرات افزایش مییابند.
- معمولاً برای نسخههای ابتدایی یا محصولات کوچک استفاده میشود.
### 4. Date-based Versioning
- فرمت:
- مثال:
- قواعد:
- نسخهها بر اساس تاریخ و زمان انتشار شمارهگذاری میشوند.
- مناسب برای نرمافزارهایی که بهطور مداوم آپدیت میشوند و تاریخ نسخه مهم است.
### 5. Pseudo-Versioning
- فرمت:
- مثال:
- قواعد:
- معمولاً در سیستمهای کنترل نسخه مثل Git استفاده میشود.
- زمانی که تگ رسمی وجود ندارد یا نیاز است به یک commit خاص اشاره شود، استفاده میشود.
### 6. Alphanumeric Versioning
- فرمت:
- مثال:
- قواعد:
- از حروف برای نشان دادن مراحل توسعه استفاده میشود (a=alpha, b=beta, rc=release candidate).
- این الگو برای مراحل قبل از انتشار نهایی محصول بهکار میرود.
### 7. Combined Versioning
- فرمت: ترکیبی از الگوهای مختلف، مثل
- مثال:
- قواعد:
- ترکیبی از ورژنبندی تقویمی، ترتیبی، و یا الفبایی به منظور مشخص کردن نوع تغییرات و زمان انتشار.
### 8. Dot Notation Versioning
- فرمت:
- مثال:
- قواعد:
- هر قسمت نشاندهنده یک سطح از تغییرات است، که میتواند مشابه Semantic Versioning باشد، اما با عمق کمتر.
- بیشتر برای پروژههای ساده استفاده میشود.
### 9. Major.Minor Schema
- فرمت:
- مثال:
- قواعد:
- به جای استفاده از PATCH، فقط MAJOR و MINOR مشخص میشوند.
- اغلب برای نرمافزارهایی استفاده میشود که نیاز به پیچیدگی زیادی در ورژنبندی ندارند.
هر کدام از این الگوها بسته به نیاز پروژه و نوع نرمافزار میتواند مورد استفاده قرار گیرد. استفاده درست از الگوی ورژنبندی میتواند به شفافیت در مدیریت نسخهها و بهبود فرآیند توسعه و انتشار نرمافزار کمک کند.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
### 1. Semantic Versioning (SemVer)
- فرمت:
MAJOR.MINOR.PATCH
- مثال:
1.4.2
- قواعد:
- MAJOR:
تغییرات ناسازگار که معمولاً با API همراه است.
- MINOR:
افزودن قابلیتهای جدید به شکلی که با نسخههای قبلی سازگار است.
- PATCH:
رفع باگها و مشکلات کوچک بدون تغییرات ناسازگار.
### 2. Calendar Versioning (CalVer)
- فرمت:
YYYY.MM.DD
یا YYYY.MM
یا YYYY.MM.MICRO
- مثال:
2024.08.26
, 2024.08
- قواعد:
- براساس تاریخ انتشار نسخهها شمارهگذاری میشود.
- مناسب برای نرمافزارهایی که بهصورت دورهای و مرتب آپدیت میشوند.
### 3. Sequential Versioning
- فرمت:
1, 2, 3, 4, ...
- مثال:
1, 2, 3, 4
- قواعد:
- شمارههای نسخه بهصورت ترتیبی و بدون توجه به نوع تغییرات افزایش مییابند.
- معمولاً برای نسخههای ابتدایی یا محصولات کوچک استفاده میشود.
### 4. Date-based Versioning
- فرمت:
YYYYMMDD
یا YYYYMMDDHHMM
- مثال:
20240826
, 202408261230
- قواعد:
- نسخهها بر اساس تاریخ و زمان انتشار شمارهگذاری میشوند.
- مناسب برای نرمافزارهایی که بهطور مداوم آپدیت میشوند و تاریخ نسخه مهم است.
### 5. Pseudo-Versioning
- فرمت:
vX.Y.Z-TIMESTAMP-COMMITHASH
- مثال:
v1.0.0-202108150915-abcdef123456
- قواعد:
- معمولاً در سیستمهای کنترل نسخه مثل Git استفاده میشود.
- زمانی که تگ رسمی وجود ندارد یا نیاز است به یک commit خاص اشاره شود، استفاده میشود.
### 6. Alphanumeric Versioning
- فرمت:
1.0a
, 2.0beta
, 3.0rc1
- مثال:
1.0a
, 2.0beta
, 3.0rc1
- قواعد:
- از حروف برای نشان دادن مراحل توسعه استفاده میشود (a=alpha, b=beta, rc=release candidate).
- این الگو برای مراحل قبل از انتشار نهایی محصول بهکار میرود.
### 7. Combined Versioning
- فرمت: ترکیبی از الگوهای مختلف، مثل
1.0.0-alpha
, 2024.1.0
- مثال:
1.0.0-alpha
, 2024.1.0
- قواعد:
- ترکیبی از ورژنبندی تقویمی، ترتیبی، و یا الفبایی به منظور مشخص کردن نوع تغییرات و زمان انتشار.
### 8. Dot Notation Versioning
- فرمت:
1.0
, 1.1
, 2.0
- مثال:
1.0
, 2.1
- قواعد:
- هر قسمت نشاندهنده یک سطح از تغییرات است، که میتواند مشابه Semantic Versioning باشد، اما با عمق کمتر.
- بیشتر برای پروژههای ساده استفاده میشود.
### 9. Major.Minor Schema
- فرمت:
MAJOR.MINOR
- مثال:
3.5
- قواعد:
- به جای استفاده از PATCH، فقط MAJOR و MINOR مشخص میشوند.
- اغلب برای نرمافزارهایی استفاده میشود که نیاز به پیچیدگی زیادی در ورژنبندی ندارند.
هر کدام از این الگوها بسته به نیاز پروژه و نوع نرمافزار میتواند مورد استفاده قرار گیرد. استفاده درست از الگوی ورژنبندی میتواند به شفافیت در مدیریت نسخهها و بهبود فرآیند توسعه و انتشار نرمافزار کمک کند.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍8🔥2❤1🍾1
🔵 عنوان مقاله
From Zero to Production: Go's Journey at Google
🟢 خلاصه مقاله:
مقالهای که خواندید، خاطرات و تجربیات نویسندهای است که به مدت نه سال به عنوان مهندس SRE در شرکت گوگل فعالیت داشتهاست. او در این مقاله به بیان داستانی میپردازد که چگونه زبان برنامهنویسی Go در طی سالهای اولیهی توسعه و پذیرش آن در گوگل رشد کرده است. نویسنده همچنین به برخی از پیشزمینههای جالب توجهی اشاره میکند که پیشتر در جاهای دیگر ذکر نشدهاند. توسط اشتراکگذاری این داستانها و تجربیات، نویسنده سعی در نمایش تأثیر زبان Go و نحوه تطبیق و پذیرش آن در محیطهای فنی بزرگ مانند گوگل دارد. این مقاله نه تنها به علاقهمندان و توسعهدهندگان Go، بلکه به کسانی که علاقه به فهمیدن فرهنگ و رویههای درون گوگل دارند نیز خطاب میکند.
🟣لینک مقاله:
https://i-admin.cetico.org/posts/early-days-golang-google/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
From Zero to Production: Go's Journey at Google
🟢 خلاصه مقاله:
مقالهای که خواندید، خاطرات و تجربیات نویسندهای است که به مدت نه سال به عنوان مهندس SRE در شرکت گوگل فعالیت داشتهاست. او در این مقاله به بیان داستانی میپردازد که چگونه زبان برنامهنویسی Go در طی سالهای اولیهی توسعه و پذیرش آن در گوگل رشد کرده است. نویسنده همچنین به برخی از پیشزمینههای جالب توجهی اشاره میکند که پیشتر در جاهای دیگر ذکر نشدهاند. توسط اشتراکگذاری این داستانها و تجربیات، نویسنده سعی در نمایش تأثیر زبان Go و نحوه تطبیق و پذیرش آن در محیطهای فنی بزرگ مانند گوگل دارد. این مقاله نه تنها به علاقهمندان و توسعهدهندگان Go، بلکه به کسانی که علاقه به فهمیدن فرهنگ و رویههای درون گوگل دارند نیز خطاب میکند.
🟣لینک مقاله:
https://i-admin.cetico.org/posts/early-days-golang-google/
➖➖➖➖➖➖➖➖
👑 @gopher_academy
i-admin.cetico.org
From Ground Zero to Production: Go's Journey at Google
An exploration of Go's adoption at Google from the perspective of an SRE and early adopter, detailing the challenges and milestones of integrating Go into production systems.
👍6🍾1
🔵 عنوان مقاله
How Render Enforces Access Controls with Go Generics
🟢 خلاصه مقاله:
ا Render یک پلتفرم مجازیسازی مدرن با یک سیستم نقش برای کاربران و مدیران است تا امکانات و مجوزهای مشخص و معینی داشته باشند. مهندسین Render به دنبال این بودند که از طریق استفاده از زبان برنامهنویسی Go، تضمینهایی در زمان کامپایل دریافت کنند تا احتمال بروز نواقص و حفرههای امنیتی خطرناک در سیستم نقش آنها کاهش یابد. این کار باعث میشود که سطح امنیت و دقت در نحوه اختصاص دادن دسترسیها و مجوزها در سیستم بالا رود و از وقوع خطاهای احتمالی به شدت کاهش دهد. در نهایت، این استراتژی کمک میکند تا پلتفرم Render به طور مؤثرتری بتواند خدمات میزبانی و استقرار را با ایمنی و قابلیت اطمینان بیشتری ارائه دهد.
🟣لینک مقاله:
https://render.com/blog/how-render-enforces-access-controls-with-go-generics
➖➖➖➖➖➖➖➖
👑 @gopher_academy
How Render Enforces Access Controls with Go Generics
🟢 خلاصه مقاله:
ا Render یک پلتفرم مجازیسازی مدرن با یک سیستم نقش برای کاربران و مدیران است تا امکانات و مجوزهای مشخص و معینی داشته باشند. مهندسین Render به دنبال این بودند که از طریق استفاده از زبان برنامهنویسی Go، تضمینهایی در زمان کامپایل دریافت کنند تا احتمال بروز نواقص و حفرههای امنیتی خطرناک در سیستم نقش آنها کاهش یابد. این کار باعث میشود که سطح امنیت و دقت در نحوه اختصاص دادن دسترسیها و مجوزها در سیستم بالا رود و از وقوع خطاهای احتمالی به شدت کاهش دهد. در نهایت، این استراتژی کمک میکند تا پلتفرم Render به طور مؤثرتری بتواند خدمات میزبانی و استقرار را با ایمنی و قابلیت اطمینان بیشتری ارائه دهد.
🟣لینک مقاله:
https://render.com/blog/how-render-enforces-access-controls-with-go-generics
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Render
How Render Enforces Access Controls with Go Generics
Learn how Render uses Go Generics to enforce access controls and prevent privilege escalation in project environments. Discover how compile-time guarantees ensure security.
🔵 عنوان مقاله
elem-go: A Type-Safe Way to Create and Manipulate HTML Elements
🟢 خلاصه مقاله:
مقالهی مورد بررسی به معرفی ورژن 0.25.0 یک کتابخانه برنامهنویسی به نام Go اشاره دارد که امکان ساخت المانهای HTML از طریق کد Go را به صورت ایمن نوعبندی شده فراهم میکند. این ویژگی به توسعه دهندگان کمک میکند تا با المانها، خصوصیات و ویژگیها در زبان برنامهنویسی Go بدون نیاز به کد نویسی مستقیم HTML به طور مؤثری کار کنند. همچنین، این ورژن جدید قابلیتی با نام StyleManager اضافه کرده است که امکان مدیریت استایلهای CSS به شکل برنامهای را میدهد. برای درک بهتر، مقاله به نمونهکدهایی اشاره دارد که نحوهی استفاده از این ویژگیهای جدید را نشان میدهند. این ویژگیها امکان پذیر ساختن توسعهی وبسایتها را به شیوهای کارآمد و سریعتر فراهم میکند.
🟣لینک مقاله:
https://github.com/chasefleming/elem-go
➖➖➖➖➖➖➖➖
👑 @gopher_academy
elem-go: A Type-Safe Way to Create and Manipulate HTML Elements
🟢 خلاصه مقاله:
مقالهی مورد بررسی به معرفی ورژن 0.25.0 یک کتابخانه برنامهنویسی به نام Go اشاره دارد که امکان ساخت المانهای HTML از طریق کد Go را به صورت ایمن نوعبندی شده فراهم میکند. این ویژگی به توسعه دهندگان کمک میکند تا با المانها، خصوصیات و ویژگیها در زبان برنامهنویسی Go بدون نیاز به کد نویسی مستقیم HTML به طور مؤثری کار کنند. همچنین، این ورژن جدید قابلیتی با نام StyleManager اضافه کرده است که امکان مدیریت استایلهای CSS به شکل برنامهای را میدهد. برای درک بهتر، مقاله به نمونهکدهایی اشاره دارد که نحوهی استفاده از این ویژگیهای جدید را نشان میدهند. این ویژگیها امکان پذیر ساختن توسعهی وبسایتها را به شیوهای کارآمد و سریعتر فراهم میکند.
🟣لینک مقاله:
https://github.com/chasefleming/elem-go
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - chasefleming/elem-go: Type-safe Go library for creating and manipulating HTML elements (with htmx helpers).
Type-safe Go library for creating and manipulating HTML elements (with htmx helpers). - chasefleming/elem-go
👍3❤1🍾1
🔵 عنوان مقاله
makefile-graph: Turn a Makefile into a Graph
🟢 خلاصه مقاله:
این مقاله به بررسی و توضیح ابزاری پرداخته است که هم به عنوان کتابخانه و هم به عنوان ابزار خط فرمان (CLI) قابل استفاده است. این ابزار، فایلهای makefile را تجزیه کرده و نمودارهایی را تولید میکند که روابط بین هدفهای (targets) مختلف را نشان میدهند. نمودارهای تولید شده توسط ابزار dot متعلق به Graphviz، رندر میشوند. این فرآیند به توسعهدهندگان کمک میکند تا درک بهتری از وابستگیها و تعاملات بین اجزاء مختلف در پروژههای بزرگ نرمافزاری داشته باشند و مدیریت وابستگیهای پروژه را بهبود ببخشند. این ابزار به طور خاص برای کاربرانی طراحی شده که به بهینهسازی و دقت در مدیریت تکالیف و پروژههای خود نیاز دارند.
🟣لینک مقاله:
https://github.com/dnaeon/makefile-graph
➖➖➖➖➖➖➖➖
👑 @gopher_academy
makefile-graph: Turn a Makefile into a Graph
🟢 خلاصه مقاله:
این مقاله به بررسی و توضیح ابزاری پرداخته است که هم به عنوان کتابخانه و هم به عنوان ابزار خط فرمان (CLI) قابل استفاده است. این ابزار، فایلهای makefile را تجزیه کرده و نمودارهایی را تولید میکند که روابط بین هدفهای (targets) مختلف را نشان میدهند. نمودارهای تولید شده توسط ابزار dot متعلق به Graphviz، رندر میشوند. این فرآیند به توسعهدهندگان کمک میکند تا درک بهتری از وابستگیها و تعاملات بین اجزاء مختلف در پروژههای بزرگ نرمافزاری داشته باشند و مدیریت وابستگیهای پروژه را بهبود ببخشند. این ابزار به طور خاص برای کاربرانی طراحی شده که به بهینهسازی و دقت در مدیریت تکالیف و پروژههای خود نیاز دارند.
🟣لینک مقاله:
https://github.com/dnaeon/makefile-graph
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - dnaeon/makefile-graph: Turn your Makefile into a graph
Turn your Makefile into a graph. Contribute to dnaeon/makefile-graph development by creating an account on GitHub.
👍4🔥2🍾1
🔵 عنوان مقاله
Go Event-Driven: Your Unfair Advantage to Tame Chaos
🟢 خلاصه مقاله:
مقاله مورد نظر به بحث در مورد چالشهایی که با پیادهسازی معماری میکروسرویسها به وجود آمده است پرداخته و راهکارهایی را برای مقابله با این مشکلات ارائه میدهد. با وعدههای اولیهی سادگی که میکروسرویسها داده بودند، در عمل شاهد پیچیدگیهای بیشتری در سیستمها شدیم، مانند خرابیهای زنجیرهای و گلوگاههای عملکردی. مقاله توضیح میدهد که چگونه الگوهای آزموده شده و صحیح میتوانند به ایجاد سرویسهایی کاملاً مستقل و قابل مقیاس کمک کنند. این رویکردها شامل استراتژیهای طراحی و توسعهی مؤثرتری است که به مدیریت بهتر تعاملات بین سرویسها و بهبود عملکرد کلی سیستم کمک میکنند. در نهایت، این مقاله به خوانندگان توصیه میکند تا از پس افتادگی جلوگیری کنند و با یادگیری و اجرای این الگوها، به جلو حرکت کنند.
🟣لینک مقاله:
https://threedots.tech/event-driven/?utm_source=golang-weekly
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go Event-Driven: Your Unfair Advantage to Tame Chaos
🟢 خلاصه مقاله:
مقاله مورد نظر به بحث در مورد چالشهایی که با پیادهسازی معماری میکروسرویسها به وجود آمده است پرداخته و راهکارهایی را برای مقابله با این مشکلات ارائه میدهد. با وعدههای اولیهی سادگی که میکروسرویسها داده بودند، در عمل شاهد پیچیدگیهای بیشتری در سیستمها شدیم، مانند خرابیهای زنجیرهای و گلوگاههای عملکردی. مقاله توضیح میدهد که چگونه الگوهای آزموده شده و صحیح میتوانند به ایجاد سرویسهایی کاملاً مستقل و قابل مقیاس کمک کنند. این رویکردها شامل استراتژیهای طراحی و توسعهی مؤثرتری است که به مدیریت بهتر تعاملات بین سرویسها و بهبود عملکرد کلی سیستم کمک میکنند. در نهایت، این مقاله به خوانندگان توصیه میکند تا از پس افتادگی جلوگیری کنند و با یادگیری و اجرای این الگوها، به جلو حرکت کنند.
🟣لینک مقاله:
https://threedots.tech/event-driven/?utm_source=golang-weekly
➖➖➖➖➖➖➖➖
👑 @gopher_academy
threedots.tech
Go Event-Driven Training
Learn to build extremely scalable and resilient event-driven backend systems in Go. Go Event-Driven provides hands-on training with real-world projects to master asynchronous processing, message brokers, CQRS, sagas and more. Level up your Go skills with…
👍5
22 شهریور روز جهانی برنامه نویسه
مبارک همه ی برنامه نویس های گذشته، حال و آینده
➖➖➖➖➖➖➖➖
👑 @gopher_academy
مبارک همه ی برنامه نویس های گذشته، حال و آینده
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🍾10❤6
🔵 عنوان مقاله
Streamline Your Product Delivery with monday dev
🟢 خلاصه مقاله:
مقاله در مورد ابزاری به نام "monday dev" صحبت میکند که فرایند تولید و عرضه محصولات را سریعتر و سادهتر میکند. این ابزار، که در یک محیط یکپارچه کار میکند، از مرحله ایدهپردازی تا راهاندازی محصول، تمامی جنبههای مورد نیاز را پوشش میدهد. "monday dev" به کاربران اجازه میدهد تا تمامی مراحل توسعه محصول را در یک مکان کنترل و مدیریت کنند، که منجر به بهبود چشمگیر در بهرهوری و کاهش زمان عرضه محصول به بازار میشود. این سیستم بر پایه فراهم آوردن ابزارهای همهجانبه و ادغام شده برای توسعهدهندگان و تیمهای محصول است تا بتوانند با کارآیی بیشتری به اهداف خود برسند.
🟣لینک مقاله:
https://golangweekly.com/link/159561/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Streamline Your Product Delivery with monday dev
🟢 خلاصه مقاله:
مقاله در مورد ابزاری به نام "monday dev" صحبت میکند که فرایند تولید و عرضه محصولات را سریعتر و سادهتر میکند. این ابزار، که در یک محیط یکپارچه کار میکند، از مرحله ایدهپردازی تا راهاندازی محصول، تمامی جنبههای مورد نیاز را پوشش میدهد. "monday dev" به کاربران اجازه میدهد تا تمامی مراحل توسعه محصول را در یک مکان کنترل و مدیریت کنند، که منجر به بهبود چشمگیر در بهرهوری و کاهش زمان عرضه محصول به بازار میشود. این سیستم بر پایه فراهم آوردن ابزارهای همهجانبه و ادغام شده برای توسعهدهندگان و تیمهای محصول است تا بتوانند با کارآیی بیشتری به اهداف خود برسند.
🟣لینک مقاله:
https://golangweekly.com/link/159561/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
monday.com
monday dev | Develop with precision and speed
Plan roadmaps, manage sprints, and release products fast - on one flexible platform
👍4
🔵 عنوان مقاله
Ergo 3.0: An Actor-Based Framework for Go
🟢 خلاصه مقاله:
این مقاله به بررسی و پیادهسازی ایدهها و الگوهای طراحی موجود در دنیای برنامهنویسی Erlang به زبان Go میپردازد. Erlang برای مدیریت برنامههای کنار هم و همزمان با قابلیت اطمینان بالا شهرت دارد، و این مقاله تلاش میکند تا برخی از این ویژگیها را به زبان Go منتقل کند. از جمله الگوهای مورد بررسی، مدل ارسال پیام و نظارت بر فرآیندها است. Go که یک زبان برنامهنویسی توسط Google توسعه دادهشده است، به دلیل اجرای موثر همزمانی و سهولت استفاده، انتخاب مناسبی برای این تطبیق است. مقاله همچنین جزئیات مورد نیاز برای پیادهسازی موثر این الگوها در Go را ارائه میدهد و موانع احتمالی و راهحلهای مربوط به عملکرد و توزیع را مورد بحث قرار میدهد. این تحلیل نشان میدهد که چگونه میتوان از قدرت هر دو زبان برای ساخت برنامههای بهتر و قابل اعتمادتر استفاده کرد.
🟣لینک مقاله:
https://golangweekly.com/link/159566/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Ergo 3.0: An Actor-Based Framework for Go
🟢 خلاصه مقاله:
این مقاله به بررسی و پیادهسازی ایدهها و الگوهای طراحی موجود در دنیای برنامهنویسی Erlang به زبان Go میپردازد. Erlang برای مدیریت برنامههای کنار هم و همزمان با قابلیت اطمینان بالا شهرت دارد، و این مقاله تلاش میکند تا برخی از این ویژگیها را به زبان Go منتقل کند. از جمله الگوهای مورد بررسی، مدل ارسال پیام و نظارت بر فرآیندها است. Go که یک زبان برنامهنویسی توسط Google توسعه دادهشده است، به دلیل اجرای موثر همزمانی و سهولت استفاده، انتخاب مناسبی برای این تطبیق است. مقاله همچنین جزئیات مورد نیاز برای پیادهسازی موثر این الگوها در Go را ارائه میدهد و موانع احتمالی و راهحلهای مربوط به عملکرد و توزیع را مورد بحث قرار میدهد. این تحلیل نشان میدهد که چگونه میتوان از قدرت هر دو زبان برای ساخت برنامههای بهتر و قابل اعتمادتر استفاده کرد.
🟣لینک مقاله:
https://golangweekly.com/link/159566/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - ergo-services/ergo: An actor-based Framework with network transparency for creating event-driven architecture in Golang.…
An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang. Zero dependencies. - GitHub - ergo-services/ergo: An actor-based Framework ...
👍5
چجوری کامیت های تمیز و مفهومی بنویسم؟!
کامیت به عنوان اجزای سازنده, کار یک برنامه نویس عمل می کنند. آنها اگر که به درستی نوشته شوند، ارزش قابل توجهی دارند. یک پیام commit به خوبی نوشته شده ضروری است زیرا آنها زمینه را فراهم می کنند، در غیر این صورت یک پیام commit در وهله اول مورد نیاز نخواهد بود.
آقای پیتر هاترر میگه:
یک کامیت خوب نشان می دهد که آیا یک توسعه دهنده یک همکار خوب است .
خب، کامیت های شما باید تمیز و قابل درک باشه:
به عنوان مثال اگر میخواید در UI تغییراتی اعمال کنید، کامیت رو به صورت زیر بنویسید:
git commit -m "Enhance UI: Header and sidebar Improvements"
یا
git commit -m " fix: prevent racing of requests"
مورد بعدی سابجکت لاین نباید از ۵۰ کاراکتر بیشتر باشد.
فقط کلمه اول رو capital بنویسید.
نیازی به قرار دادن نقطه در اخر پیام نیست.
پیام کامیت رو به صورت امری بنویسد نه به صورت گذشته.
توضیح دهید چرا و چی، نه چطور.
DevTwitter | <Mohammad Abdorrahmani/>
➖➖➖➖➖➖➖➖
👑 @gopher_academy
کامیت به عنوان اجزای سازنده, کار یک برنامه نویس عمل می کنند. آنها اگر که به درستی نوشته شوند، ارزش قابل توجهی دارند. یک پیام commit به خوبی نوشته شده ضروری است زیرا آنها زمینه را فراهم می کنند، در غیر این صورت یک پیام commit در وهله اول مورد نیاز نخواهد بود.
آقای پیتر هاترر میگه:
یک کامیت خوب نشان می دهد که آیا یک توسعه دهنده یک همکار خوب است .
خب، کامیت های شما باید تمیز و قابل درک باشه:
به عنوان مثال اگر میخواید در UI تغییراتی اعمال کنید، کامیت رو به صورت زیر بنویسید:
git commit -m "Enhance UI: Header and sidebar Improvements"
یا
git commit -m " fix: prevent racing of requests"
مورد بعدی سابجکت لاین نباید از ۵۰ کاراکتر بیشتر باشد.
فقط کلمه اول رو capital بنویسید.
نیازی به قرار دادن نقطه در اخر پیام نیست.
پیام کامیت رو به صورت امری بنویسد نه به صورت گذشته.
توضیح دهید چرا و چی، نه چطور.
DevTwitter | <Mohammad Abdorrahmani/>
➖➖➖➖➖➖➖➖
👑 @gopher_academy
👍7