شروع یک پروژه Go همیشه با یک سؤال مهم همراهه:
ساختار پروژه رو چطور طراحی کنیم؟
یکی از چالشهای اولیه در پروژههای گولنگ، انتخاب یک ساختار ماژولار، خوانا و مقیاسپذیره. الکس ادواردز در مقالهی زیر، ۱۱ نکته کاربردی برای ساختاردهی پروژههای Go مطرح کرده که خوندنش میتونه توی این مورد بهمون کمک کنه:
https://www.alexedwards.net/blog/11-tips-for-structuring-your-go-projects
<Abbas Pourhadi/>
ساختار پروژه رو چطور طراحی کنیم؟
یکی از چالشهای اولیه در پروژههای گولنگ، انتخاب یک ساختار ماژولار، خوانا و مقیاسپذیره. الکس ادواردز در مقالهی زیر، ۱۱ نکته کاربردی برای ساختاردهی پروژههای Go مطرح کرده که خوندنش میتونه توی این مورد بهمون کمک کنه:
https://www.alexedwards.net/blog/11-tips-for-structuring-your-go-projects
<Abbas Pourhadi/>
❤8
Gopher Academy
شروع یک پروژه Go همیشه با یک سؤال مهم همراهه: ساختار پروژه رو چطور طراحی کنیم؟ یکی از چالشهای اولیه در پروژههای گولنگ، انتخاب یک ساختار ماژولار، خوانا و مقیاسپذیره. الکس ادواردز در مقالهی زیر، ۱۱ نکته کاربردی برای ساختاردهی پروژههای Go مطرح کرده که…
🧭 راهنمای ساختاربندی پروژههای Go
1. ساختار را بر اساس نیاز پروژه انتخاب کنید
سبکهای ساختاری بسته به نوع پروژه (CLI، کتابخانه، وباپ/میکروسرویس) متفاوت است و «یک ساختار برتر» وجود ندارد .
2. کارآمدی مهمتر از کمال
هدف این باشد که ساختار پروژه قابل فهم، قابل تغییر و قابل نگهداری باشد؛ نه لزوماً کامل و بینقص .
3. از روی عادت به ساختار زبانهای دیگر نقل رعایت نکنید
اGo فلسفهٔ ساده خود را دارد؛ تقلید ساختار Django یا Rails ممکن است منجر به سردرگمی شود .
4. هر پوشه=هر package
ایجاد فولدر فقط به دلیل نظم ظاهری اشتباه است. فقط هنگامی package بسازید که منطق مستقلی بخواهید .
5. با یک skeleton استاندارد شروع کنید
پروژههای کوچک: همهٔ فایلها در روت
main.go, foo.go, bar.go
وقتی پکیجهای داخلی نیاز بود:
internal/foo/foo.go
main.go
پروژههای بزرگتر با چند executable:
cmd/app1/, cmd/app2/, internal/, go.mod, README.md
6. اجازه دهید ساختار با رشد پروژه تغییر کند
نیاز به تغییر ساختار را با توسعه واقعی پروژه شناسایی کنید؛ نه از ابتدا همهچیز را طراحی کنید .
7. اگر بلاتکلیف هستید، با دو فایل شروع کنید
فقط go.mod و main.go؛ باقی را با نیاز واقعی اضافه کنید .
8. موارد مرتبط را در کنار هم نگه دارید
توابع کمکی، typeها و متدها مرتبط را نزدیک هم نگه دارید تا خوانایی بیشتر شود .
9. اندازه فایل مهم نیست، تا وقتی درست است
فایلهای بزرگ ایرادی ندارند، مگر اینکه واقعا نگهداری را سخت کنند .
10. پکیجسازی فقط وقتی لازم باشد
پکیجهای خیلی کوچک یا کماهمیت اضافه نکنید؛ مگر برای استفاده مجدد یا جداسازی لایهها .
11. به علائم هشدار توجه کنید
مشکل در پیدا کردن کد
تغییرات کوچک توزیعشده در کل پروژه
پیچیدگی در debugging
وابستگیهای دورانی و مشکل در error handling
→ وقت بازنگری ساختار است .
⚡ جمعبندی
هدف: ساختاری موثر، خوانا، و قابل نگهداری.
روش:
1. شروع ساده،
2. استفاده از ساختار پیشنهادی (مثل پوشههای cmd/, internal/)،
3. اجازه دهید پروژه رشد کند و ساختار با آن عینا وفق پیدا کند.
هشدار: وقتی احساس کردید ساختار کارآمد نیست، فکری برای بازطراحی آن بکنید.
https://t.me/addlist/QtXiQlynEJwzODBk
1. ساختار را بر اساس نیاز پروژه انتخاب کنید
سبکهای ساختاری بسته به نوع پروژه (CLI، کتابخانه، وباپ/میکروسرویس) متفاوت است و «یک ساختار برتر» وجود ندارد .
2. کارآمدی مهمتر از کمال
هدف این باشد که ساختار پروژه قابل فهم، قابل تغییر و قابل نگهداری باشد؛ نه لزوماً کامل و بینقص .
3. از روی عادت به ساختار زبانهای دیگر نقل رعایت نکنید
اGo فلسفهٔ ساده خود را دارد؛ تقلید ساختار Django یا Rails ممکن است منجر به سردرگمی شود .
4. هر پوشه=هر package
ایجاد فولدر فقط به دلیل نظم ظاهری اشتباه است. فقط هنگامی package بسازید که منطق مستقلی بخواهید .
5. با یک skeleton استاندارد شروع کنید
پروژههای کوچک: همهٔ فایلها در روت
main.go, foo.go, bar.go
وقتی پکیجهای داخلی نیاز بود:
internal/foo/foo.go
main.go
پروژههای بزرگتر با چند executable:
cmd/app1/, cmd/app2/, internal/, go.mod, README.md
6. اجازه دهید ساختار با رشد پروژه تغییر کند
نیاز به تغییر ساختار را با توسعه واقعی پروژه شناسایی کنید؛ نه از ابتدا همهچیز را طراحی کنید .
7. اگر بلاتکلیف هستید، با دو فایل شروع کنید
فقط go.mod و main.go؛ باقی را با نیاز واقعی اضافه کنید .
8. موارد مرتبط را در کنار هم نگه دارید
توابع کمکی، typeها و متدها مرتبط را نزدیک هم نگه دارید تا خوانایی بیشتر شود .
9. اندازه فایل مهم نیست، تا وقتی درست است
فایلهای بزرگ ایرادی ندارند، مگر اینکه واقعا نگهداری را سخت کنند .
10. پکیجسازی فقط وقتی لازم باشد
پکیجهای خیلی کوچک یا کماهمیت اضافه نکنید؛ مگر برای استفاده مجدد یا جداسازی لایهها .
11. به علائم هشدار توجه کنید
مشکل در پیدا کردن کد
تغییرات کوچک توزیعشده در کل پروژه
پیچیدگی در debugging
وابستگیهای دورانی و مشکل در error handling
→ وقت بازنگری ساختار است .
⚡ جمعبندی
هدف: ساختاری موثر، خوانا، و قابل نگهداری.
روش:
1. شروع ساده،
2. استفاده از ساختار پیشنهادی (مثل پوشههای cmd/, internal/)،
3. اجازه دهید پروژه رشد کند و ساختار با آن عینا وفق پیدا کند.
هشدار: وقتی احساس کردید ساختار کارآمد نیست، فکری برای بازطراحی آن بکنید.
https://t.me/addlist/QtXiQlynEJwzODBk
👍7❤2🍾2
🔵 عنوان مقاله
Kubernetes Best Practices 2025: Comprehensive White Paper
🟢 خلاصه مقاله:
مقالهای در مورد بهبود امنیت، قابلیت اطمینان و کنترل هزینه در کلاسترهای Kubernetes با استفاده از راهنماییهای عملی بر اساس تجربیات واقعی ارائه شده است. در بخش امنیت، تاکید بر سیاستهای شبکه، بروزرسانیهای منظم و مکانیزمهای دسترسی امن است. برای قابلیت اطمینان، طراحی برای مقابله با شکست و استفاده از استراتژیهایی مانند خودترمیمی و استقرار در چندین منطقه پیشنهاد شده است. نیز، کنترل هزینهها از طریق بهینهسازی استفاده از منابع و پیادهسازی سیستمهای کارآمد لاگبرداری و نظارت تأکید شده است. این راهکارها به کاربران Kubernetes کمک میکنند تا امنیت، قابلیت اطمینان و کفایت هزینه در کلاسترهای خود را بهبود بخشند.
🟣لینک مقاله:
https://golangweekly.com/link/171853/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Kubernetes Best Practices 2025: Comprehensive White Paper
🟢 خلاصه مقاله:
مقالهای در مورد بهبود امنیت، قابلیت اطمینان و کنترل هزینه در کلاسترهای Kubernetes با استفاده از راهنماییهای عملی بر اساس تجربیات واقعی ارائه شده است. در بخش امنیت، تاکید بر سیاستهای شبکه، بروزرسانیهای منظم و مکانیزمهای دسترسی امن است. برای قابلیت اطمینان، طراحی برای مقابله با شکست و استفاده از استراتژیهایی مانند خودترمیمی و استقرار در چندین منطقه پیشنهاد شده است. نیز، کنترل هزینهها از طریق بهینهسازی استفاده از منابع و پیادهسازی سیستمهای کارآمد لاگبرداری و نظارت تأکید شده است. این راهکارها به کاربران Kubernetes کمک میکنند تا امنیت، قابلیت اطمینان و کفایت هزینه در کلاسترهای خود را بهبود بخشند.
🟣لینک مقاله:
https://golangweekly.com/link/171853/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Fairwinds
Kubernetes Best Practices Resource
Get the updated Kubernetes best practices whitepaper for advice on Kubernetes security, reliability, efficiency, policy and monitoring.
❤5
Graceful Goroutine Shutdowns in Go: A Practical Guide
https://dev.to/jones_charles_ad50858dbc0/graceful-goroutine-shutdowns-in-go-a-practical-guide-2b9a
https://dev.to/jones_charles_ad50858dbc0/graceful-goroutine-shutdowns-in-go-a-practical-guide-2b9a
DEV Community
Graceful Goroutine Shutdowns in Go: A Practical Guide
Hey there, Go developer! If you’ve been writing Go for a year or two, you’re probably comfy with...
نسخه ۱.۷.۰ پکیج env منتشر شد 🥳:
https://github.com/nasermirzaei89/env
چرا این پکیج رو نوشتم؟
- چون تقریبا همیشه اپلیکیشنهام درون Dockerfile قرار میگیره و صرفا گرفتن کانفیگ از متغیرهای محیطی کافیه
- به جای فقط متغیر رشتهای نوع های دیگه رو هم میخونه، از جمله bool، عدد، اسلایس...
توی نسخه جدید چی شده؟
- پکیج testify با چندتا تابع دستنویس جایگزین شده تا این کتابخونه Zero Dependency بشه
ای کسانی که از کتابخونه های بزرگ کانفیگ استفاده میکنید
ترکیب این کتابخونه و
github.com/joho/godotenv
بینظیره 😎
اما مثلا وقتی از
github.com/spf13/viper
استفاده میکنید با خودش نزدیک ۲۰ تا دیپندنسی داره، دیگه خود دانید 🫠
https://github.com/nasermirzaei89/env
چرا این پکیج رو نوشتم؟
- چون تقریبا همیشه اپلیکیشنهام درون Dockerfile قرار میگیره و صرفا گرفتن کانفیگ از متغیرهای محیطی کافیه
- به جای فقط متغیر رشتهای نوع های دیگه رو هم میخونه، از جمله bool، عدد، اسلایس...
توی نسخه جدید چی شده؟
- پکیج testify با چندتا تابع دستنویس جایگزین شده تا این کتابخونه Zero Dependency بشه
ای کسانی که از کتابخونه های بزرگ کانفیگ استفاده میکنید
ترکیب این کتابخونه و
github.com/joho/godotenv
بینظیره 😎
اما مثلا وقتی از
github.com/spf13/viper
استفاده میکنید با خودش نزدیک ۲۰ تا دیپندنسی داره، دیگه خود دانید 🫠
🔥6❤2👍1🕊1🍾1
🔵 عنوان مقاله
cpuid 2.3: CPU Feature Identification for Go
🟢 خلاصه مقاله:
این مقاله راهنمایی عملی برای تعیین مشخصات فنی پردازنده مرکزی کامپیوتر (CPU) است که شامل تعداد هستههای فیزیکی و منطقی، خانواده پردازنده، و جزئیات مشابه میباشد. این راهنما از پردازندههای معماریهای x86/x64 و ARM64 پشتیبانی میکند و برای کاربرانی که به اطلاعات دقیق فنی سیستم خود نیاز دارند بسیار مفید است.
🟣لینک مقاله:
https://golangweekly.com/link/171864/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
cpuid 2.3: CPU Feature Identification for Go
🟢 خلاصه مقاله:
این مقاله راهنمایی عملی برای تعیین مشخصات فنی پردازنده مرکزی کامپیوتر (CPU) است که شامل تعداد هستههای فیزیکی و منطقی، خانواده پردازنده، و جزئیات مشابه میباشد. این راهنما از پردازندههای معماریهای x86/x64 و ARM64 پشتیبانی میکند و برای کاربرانی که به اطلاعات دقیق فنی سیستم خود نیاز دارند بسیار مفید است.
🟣لینک مقاله:
https://golangweekly.com/link/171864/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - klauspost/cpuid: CPU feature identification for Go
CPU feature identification for Go. Contribute to klauspost/cpuid development by creating an account on GitHub.
❤2🎉2👍1
Forwarded from Linux Labdon
لینوکس بالاخره از مرز ۵٪ در آمریکا عبور کرد!
▪️طبق آمار StatCounter، برای اولین بار سهم سیستمعاملهای لینوکسی در آمریکا از ۵٪ گذشت؛ اتفاقی که خیلیها منتظرش بودن!
▫️پایان پشتیبانی ویندوز 10
▫️سیاستهای آزاردهنده مایکروسافت
▫️و البته محبوبیت دیوانهوار Steam Deck
+ همه اینا باعث شدن کاربرا کمکم از ویندوز دل بکنن و برن سراغ دنیای آزاد لینوکس.
➖➖➖➖➖➖➖➖
👑 @Linux_Labdon
▪️طبق آمار StatCounter، برای اولین بار سهم سیستمعاملهای لینوکسی در آمریکا از ۵٪ گذشت؛ اتفاقی که خیلیها منتظرش بودن!
▫️پایان پشتیبانی ویندوز 10
▫️سیاستهای آزاردهنده مایکروسافت
▫️و البته محبوبیت دیوانهوار Steam Deck
+ همه اینا باعث شدن کاربرا کمکم از ویندوز دل بکنن و برن سراغ دنیای آزاد لینوکس.
➖➖➖➖➖➖➖➖
👑 @Linux_Labdon
🍾7🎉2🕊1 1
Forwarded from Software Engineer Labdon
برنامهنویس لهستانی هوش مصنوعی OpenAI را در ماراتن کدنویسی شکست داد
https://digiato.com/artificial-intelligence/human-programmer-beats-openais-custom-ai-in-10-hour-marathon
https://digiato.com/artificial-intelligence/human-programmer-beats-openais-custom-ai-in-10-hour-marathon
دیجیاتو
برنامهنویس لهستانی هوش مصنوعی OpenAI را در ماراتن کدنویسی شکست داد
برنامهنویس ۴۲ ساله لهستانی موفق شد در یک ماراتن ۱۰ ساعته کدنویسی مدل هوش مصنوعی پیشرفته و سفارشی OpenAI را شکست دهد.
🔥8
🔵 عنوان مقاله
pproftui: A Terminal-Based Diagnostic Tool for pprof Data
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، رویکردی نوین در پروفایلینگ نرمافزار ارائه میدهد که تمرکز را از نمایش دادههای بصری به تعامل مستقیم با کدی که فعالیتهای تحت نظر را رانده معطوف میکند. این روش به توسعهدهندگان این امکان را میدهد که به سرعت و به طور مؤثر مشکلات مربوط به عملکرد را شناسایی و رفع کنند. همچنین، امکان مشاهدهی لحظهای پروفایل و مقایسهی نتایج نسخههای مختلف کد در زمان واقعی فراهم میآید که میتواند به بهبود مستمر و افزایش کارایی کمک کند.
🟣لینک مقاله:
https://golangweekly.com/link/171858/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
pproftui: A Terminal-Based Diagnostic Tool for pprof Data
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، رویکردی نوین در پروفایلینگ نرمافزار ارائه میدهد که تمرکز را از نمایش دادههای بصری به تعامل مستقیم با کدی که فعالیتهای تحت نظر را رانده معطوف میکند. این روش به توسعهدهندگان این امکان را میدهد که به سرعت و به طور مؤثر مشکلات مربوط به عملکرد را شناسایی و رفع کنند. همچنین، امکان مشاهدهی لحظهای پروفایل و مقایسهی نتایج نسخههای مختلف کد در زمان واقعی فراهم میآید که میتواند به بهبود مستمر و افزایش کارایی کمک کند.
🟣لینک مقاله:
https://golangweekly.com/link/171858/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - Oloruntobi1/pproftui: A terminal-based diagnostic tool for Go pprof data
A terminal-based diagnostic tool for Go pprof data - Oloruntobi1/pproftui
❤4
Forwarded from DevOps Labdon
🔵 عنوان مقاله
Managing OpenAI API keys with HashiCorp Vault's dynamic secrets plugin (4 minute read)
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفت، به توسعه یک پلاگین جدید برای HashiCorp Vault پرداخته است که هدف آن افزایش امنیت کلیدهای API شرکت OpenAI است. این پلاگین با تولید دینامیک توکنهای با مدت زمان کوتاه که به صورت خودکار منقضی میشوند، به ارتقاء امنیت کمک میکند. با استفاده از این پلاگین، کاربران قادر خواهند بود تا کلیدهای API را در محیطی امن تر و کنترل شدهتر مدیریت نمایند. این فرآیند نه تنها ریسک دسترسی بیمجاز به کلیدهای طولانیمدت را کاهش میدهد بلکه به افزایش امنیت دادهها و کاربردهایی که از این کلیدها استفاده میکنند نیز کمک میکند. استفاده از توکنهای کوتاه مدت و خودکار این امکان را به ارمغان میآورد که هر گونه نفوذ احتمالی به سرعت محدود و کنترل شود. این پلاگین نوآوری مهمی در زمینه مدیریت امنیتی کلیدهای API به شمار میرود.
🟣لینک مقاله:
https://www.hashicorp.com/en/blog/managing-openai-api-keys-with-hashicorp-vault-s-dynamic-secrets-plugin?utm_source=tldrdevops
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
Managing OpenAI API keys with HashiCorp Vault's dynamic secrets plugin (4 minute read)
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفت، به توسعه یک پلاگین جدید برای HashiCorp Vault پرداخته است که هدف آن افزایش امنیت کلیدهای API شرکت OpenAI است. این پلاگین با تولید دینامیک توکنهای با مدت زمان کوتاه که به صورت خودکار منقضی میشوند، به ارتقاء امنیت کمک میکند. با استفاده از این پلاگین، کاربران قادر خواهند بود تا کلیدهای API را در محیطی امن تر و کنترل شدهتر مدیریت نمایند. این فرآیند نه تنها ریسک دسترسی بیمجاز به کلیدهای طولانیمدت را کاهش میدهد بلکه به افزایش امنیت دادهها و کاربردهایی که از این کلیدها استفاده میکنند نیز کمک میکند. استفاده از توکنهای کوتاه مدت و خودکار این امکان را به ارمغان میآورد که هر گونه نفوذ احتمالی به سرعت محدود و کنترل شود. این پلاگین نوآوری مهمی در زمینه مدیریت امنیتی کلیدهای API به شمار میرود.
🟣لینک مقاله:
https://www.hashicorp.com/en/blog/managing-openai-api-keys-with-hashicorp-vault-s-dynamic-secrets-plugin?utm_source=tldrdevops
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
Hashicorp
Managing OpenAI API keys with HashiCorp Vault's dynamic secrets plugin
Secure AI credentials using dynamic, short-lived tokens that automatically expire.
❤5
🔵 عنوان مقاله
Introducing go-cdc-chunkers: A New Way to Chunk and Deduplicate Everything
🟢 خلاصه مقاله:
چانکینگ مبتنی بر محتوا (CDC) روشی نوآورانه در مدیریت دادهها است که با تقسیم دادهها به چانکهایی با اندازههای متغیر مبتنی بر محتوای داده، امکان تکرارزدایی بهتری فراهم میکند. ژیل در مورد فواید این روش به تفصیل صحبت کرده و پروژه جدیدی در زبان Go را معرفی میکند که دسترسی به این الگوریتمها را ممکن میسازد. این پروژه به توسعهدهندگان امکان بهکارگیری CDC را در سیستمهای خود میدهد و انقلابی در زمینه فناوری داده به شمار میرود.
🟣لینک مقاله:
https://golangweekly.com/link/171862/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Introducing go-cdc-chunkers: A New Way to Chunk and Deduplicate Everything
🟢 خلاصه مقاله:
چانکینگ مبتنی بر محتوا (CDC) روشی نوآورانه در مدیریت دادهها است که با تقسیم دادهها به چانکهایی با اندازههای متغیر مبتنی بر محتوای داده، امکان تکرارزدایی بهتری فراهم میکند. ژیل در مورد فواید این روش به تفصیل صحبت کرده و پروژه جدیدی در زبان Go را معرفی میکند که دسترسی به این الگوریتمها را ممکن میسازد. این پروژه به توسعهدهندگان امکان بهکارگیری CDC را در سیستمهای خود میدهد و انقلابی در زمینه فناوری داده به شمار میرود.
🟣لینک مقاله:
https://golangweekly.com/link/171862/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Plakar - Effortless backup
Introducing go-cdc-chunkers: chunk and deduplicate everything
❤2👍2
Forwarded from Database Labdon
🔵 عنوان مقاله
Redka: Redis Re-Implemented with SQL
🟢 خلاصه مقاله:
این مقاله به بررسی و توضیح یک فروشگاه داده مبتنی بر زبان برنامهنویسی Go میپردازد که سازگار با API رِدیس است اما در پشت صحنه از SQL استفاده میکند تا عملیاتها را مدیریت نماید. تاکنون، این سیستم بر پایه SQLite عمل میکرده است، اما نسخه ۰.۶ پشتیبانی از Postgres را معرفی میکند. این پشتیبانی جدید امکان استفاده از قابلیتهای بیشتری را برای کاربران فراهم میآورد، زیرا Postgres یک سیستم مدیریت پایگاه دادهی قویتر نسبت به SQLite است و امکانات گستردهتری را در زمینهی مقیاسپذیری و امنیت فراهم میآورد. این تغییر به کاربران اجازه میدهد تا از یک رابط برنامهنویسی آشنا استفاده کنند، در حالی که از قدرت و انعطافپذیری SQL بهرهمند شوند.
🟣لینک مقاله:
https://postgresweekly.com/link/171909/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Redka: Redis Re-Implemented with SQL
🟢 خلاصه مقاله:
این مقاله به بررسی و توضیح یک فروشگاه داده مبتنی بر زبان برنامهنویسی Go میپردازد که سازگار با API رِدیس است اما در پشت صحنه از SQL استفاده میکند تا عملیاتها را مدیریت نماید. تاکنون، این سیستم بر پایه SQLite عمل میکرده است، اما نسخه ۰.۶ پشتیبانی از Postgres را معرفی میکند. این پشتیبانی جدید امکان استفاده از قابلیتهای بیشتری را برای کاربران فراهم میآورد، زیرا Postgres یک سیستم مدیریت پایگاه دادهی قویتر نسبت به SQLite است و امکانات گستردهتری را در زمینهی مقیاسپذیری و امنیت فراهم میآورد. این تغییر به کاربران اجازه میدهد تا از یک رابط برنامهنویسی آشنا استفاده کنند، در حالی که از قدرت و انعطافپذیری SQL بهرهمند شوند.
🟣لینک مقاله:
https://postgresweekly.com/link/171909/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
GitHub
GitHub - nalgeon/redka: Redis re-implemented with SQL
Redis re-implemented with SQL. Contribute to nalgeon/redka development by creating an account on GitHub.
❤5
🔵 عنوان مقاله
You Don't Need testify/assert
🟢 خلاصه مقاله:
مقالهای اخیراً در مورد رویکرد نوآورانه برای تهیه تستهای محکم و پاکیزه بحث کرده است که منجر به توسعه بسته تستهای اثبات حداقلی آنتون شده است. آنتون در این رویکرد تاکید دارد که تستها باید ساده و موثر باشند و تنها به جنبههای اصلی فعالیتها پرداخته شود. این سبک تستنویسی به کاهش زمان نگهداری و بهبود قابلیت خواندگی تستها کمک میکند و به طور کلی کیفیت نرمافزار را افزایش میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/171851/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
You Don't Need testify/assert
🟢 خلاصه مقاله:
مقالهای اخیراً در مورد رویکرد نوآورانه برای تهیه تستهای محکم و پاکیزه بحث کرده است که منجر به توسعه بسته تستهای اثبات حداقلی آنتون شده است. آنتون در این رویکرد تاکید دارد که تستها باید ساده و موثر باشند و تنها به جنبههای اصلی فعالیتها پرداخته شود. این سبک تستنویسی به کاهش زمان نگهداری و بهبود قابلیت خواندگی تستها کمک میکند و به طور کلی کیفیت نرمافزار را افزایش میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/171851/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
antonz.org
Expressive tests without testify/assert
Equal, Err and True are quite enough.
👍3
🔵 عنوان مقاله
Fix Slow Postgres Queries with pganalyze Query Advisor
🟢 خلاصه مقاله:
در وبینار قرار داده شده در ۳۰ جولای شرکت کنید تا یاد بگیرید چگونه مشکلات متداول طرحهای پرسوجو در Postgres را کشف کنید، توصیههای قابل اجرا برای بازنویسی دریافت کنید و تاثیر آن را در یک ابزار جامع پیگیری کنید. این وبینار برای توسعهدهندگان، مدیران پایگاه داده و متخصصان فناوری اطلاعات که با Postgres کار میکنند و به دنبال بهینهسازی پرسوجوهای پایگاه دادهشان هستند، بسیار مفید خواهد بود.
🟣لینک مقاله:
https://golangweekly.com/link/171843/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Fix Slow Postgres Queries with pganalyze Query Advisor
🟢 خلاصه مقاله:
در وبینار قرار داده شده در ۳۰ جولای شرکت کنید تا یاد بگیرید چگونه مشکلات متداول طرحهای پرسوجو در Postgres را کشف کنید، توصیههای قابل اجرا برای بازنویسی دریافت کنید و تاثیر آن را در یک ابزار جامع پیگیری کنید. این وبینار برای توسعهدهندگان، مدیران پایگاه داده و متخصصان فناوری اطلاعات که با Postgres کار میکنند و به دنبال بهینهسازی پرسوجوهای پایگاه دادهشان هستند، بسیار مفید خواهد بود.
🟣لینک مقاله:
https://golangweekly.com/link/171843/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
events.zoom.us
Introducing Query Advisor: Smarter Performance Optimization for PostgreSQL
Forwarded from AI Labdon
یک پروژه شسته رُفته از پیاده سازی یک RAG پیشرفته با استفاده از llamaIndex و روی Google Cloud Vertex AI. که این موضوعات را هم پوشش میده:
- RAG design, indexing, retrieval, evaluation metrics
میتونید کامل هم روی Cloud یا لوکال اجرا کنید و تکنیکهای مختلف را تست کنید.
Github: https://github.com/GoogleCloudPlatform/generative-ai/tree/main/gemini/sample-apps/llamaindex-rag
<Mehdi Allahyari/>
- RAG design, indexing, retrieval, evaluation metrics
میتونید کامل هم روی Cloud یا لوکال اجرا کنید و تکنیکهای مختلف را تست کنید.
Github: https://github.com/GoogleCloudPlatform/generative-ai/tree/main/gemini/sample-apps/llamaindex-rag
<Mehdi Allahyari/>
GitHub
generative-ai/gemini/sample-apps/llamaindex-rag at main · GoogleCloudPlatform/generative-ai
Sample code and notebooks for Generative AI on Google Cloud, with Gemini on Vertex AI - GoogleCloudPlatform/generative-ai
Forwarded from Software Engineer Labdon
این Requirement Driven Vibe Coding چیه؟
یعنی قبلا ازینکه پروژه رو شروع کنیم٬ میشینیم قشنگ User Story و Requirementها رو می نویسیم و بر اساس اون جلو می ریم.
چندتا اسکرینشات که چجوری این Requirementهارو می نویسیم
یعنی قبلا ازینکه پروژه رو شروع کنیم٬ میشینیم قشنگ User Story و Requirementها رو می نویسیم و بر اساس اون جلو می ریم.
چندتا اسکرینشات که چجوری این Requirementهارو می نویسیم
📢 اگر تلگرام پرمیوم دارید، کانال ما رو Boost کنید ! 🚀
با Boost کردن کانال، به رشد و دیده شدن ما بیشتر کمک کنید💙
https://t.me/boost/gopher_academy
با Boost کردن کانال، به رشد و دیده شدن ما بیشتر کمک کنید💙
https://t.me/boost/gopher_academy