اگر دوستدارین best practiceها و نکات ریزی که حین استفاده از sliceها در گولنگ بهش برخورد میکنید رو بدونید و از اشتباهات رایج جلوگیری کنید، مقاله زیر بهتون کمک میکنه.
https://rezakhademix.medium.com/slices-in-golang-common-mistakes-and-best-practices-76c30857d4e4
#tip
#golang
https://rezakhademix.medium.com/slices-in-golang-common-mistakes-and-best-practices-76c30857d4e4
#tip
#golang
Medium
Slices in Golang: Common Mistakes and Best Practices
In this story we want to discuss about slices in Golang and see some different scenarios to avoid common mistakes like:…
👍4👨💻1
اگر دوستدارین best practiceها و نکات ریزی که حین استفاده از stringها در گولنگ بهش برخورد میکنید رو بدونید و از اشتباهات رایج جلوگیری کنید، مقاله زیر بهتون کمک میکنه.
https://rezakhademix.medium.com/strings-in-golang-common-mistakes-and-best-practices-1250045051f8
#tip
#golang
https://rezakhademix.medium.com/strings-in-golang-common-mistakes-and-best-practices-1250045051f8
#tip
#golang
Medium
Strings in Golang: Common Mistakes and Best Practices
In this story we want to discuss about strings in Golang and see some different scenarios to avoid common mistakes like:…
❤2👍2
چطور وقتی در اپلیکیشن گولنگی چندین ریکوئست همزمان به یک آدرس داریم از بمباران کردن دیتابیس جلوگیری کنیم؟
https://victoriametrics.com/blog/go-singleflight/
https://victoriametrics.com/blog/go-singleflight/
VictoriaMetrics
Go Singleflight Melts in Your Code, Not in Your DB
What singleflight does is ensure that only one of those goroutines actually runs the operation, like getting the data from the database. It allows only one ‘in-flight’ (ongoing) operation for the same piece of data (known as a ‘key’) at any given moment.
👍7
زمانی که با گولنگ توسعه میدیم باید دقت خوبی در استفاده از گوروتینها، کنترل پوینترها و موضوعات دیگر با هدف جلوگیری از مموریلیک داشته باشیم.
ابزارهای مانیتورینگ و پروفایل کردن برنامه گولنگی مثل: pprof و Prometheus و... هم کمک خوبی برای تشخیص بهتر اشتباهات توسعه و مموریلیک هستند.
اما سورپرایز ویژه اضافه شدن دستور
هستش که قرار هست به گولنگ ۱.۲۵ اضافه شود و با دقت خوبی، مموریلیکهای برنامه رو در هنگام خروج مشخص نماید.
#golang
ابزارهای مانیتورینگ و پروفایل کردن برنامه گولنگی مثل: pprof و Prometheus و... هم کمک خوبی برای تشخیص بهتر اشتباهات توسعه و مموریلیک هستند.
اما سورپرایز ویژه اضافه شدن دستور
go build -asan
هستش که قرار هست به گولنگ ۱.۲۵ اضافه شود و با دقت خوبی، مموریلیکهای برنامه رو در هنگام خروج مشخص نماید.
#golang
👍9🔥3❤1
سلام
در مدتی که گذشت بخاطر تمام روزهای سختی که همه ما تجربه کردیم و مشکلات افزونی که شخصا داشتم، زمان تقریبا زیادی رو از توسعه فاصله گرفتم و فعالیت کانال هم تعلیق شد.
تا همین یک هفته پیش حتی لپتاپم رو هم روشن نکرده بودم.
در این میان، دوستانی بودند که محبت داشتند و بسیار کمک کردند تا مسائل قابل تحملتر باشند.
عمیقا و صمیمانه از همه این عزیزان ممنونم.
یکی از دوستان تعبیر جالبی داشت، که این بود:
«همه کارهایی که ما فعالان حوزه نرمافزار با اشتیاق انجام میدیم مثل روشن کردن شمعی در میان برهوت نرمافزاری ایران است، که شاید بتواند یک نفر را از بیراهه این تاریکی، نجات دهد.»
در مدتی که گذشت بخاطر تمام روزهای سختی که همه ما تجربه کردیم و مشکلات افزونی که شخصا داشتم، زمان تقریبا زیادی رو از توسعه فاصله گرفتم و فعالیت کانال هم تعلیق شد.
تا همین یک هفته پیش حتی لپتاپم رو هم روشن نکرده بودم.
در این میان، دوستانی بودند که محبت داشتند و بسیار کمک کردند تا مسائل قابل تحملتر باشند.
عمیقا و صمیمانه از همه این عزیزان ممنونم.
یکی از دوستان تعبیر جالبی داشت، که این بود:
«همه کارهایی که ما فعالان حوزه نرمافزار با اشتیاق انجام میدیم مثل روشن کردن شمعی در میان برهوت نرمافزاری ایران است، که شاید بتواند یک نفر را از بیراهه این تاریکی، نجات دهد.»
👍7
فعالیت کانال مجددا از سر گرفته شده و رویدادهای جالب و متفاوتی درنظر گرفته شده تا برگزار بشوند.
از همراهی شما ممنونم
خیلی مخلصیم
از همراهی شما ممنونم
خیلی مخلصیم
❤4
در این مدت سعی کردم در بسیاری از بخشهای توسعه و معماری نرمافزار بازنگری کنم.
یکی از موارد جالب حضور AI در توسعه است که بسیار کمککننده و اگر به درستی استفاده بشه میتونه بازدهی رو به طرز شگفتانگیزی افزایش بده!
میتونم بگم توسعه در این فضا بینهایت جذابتر از گذشته و حس و حال مختص به خودش را دارد.
بهزودی پستهای مختلفی برای نحوه استفاده از AI و دیگر بخشهای مرتبط منتشر میکنم.
یکی از موارد جالب حضور AI در توسعه است که بسیار کمککننده و اگر به درستی استفاده بشه میتونه بازدهی رو به طرز شگفتانگیزی افزایش بده!
میتونم بگم توسعه در این فضا بینهایت جذابتر از گذشته و حس و حال مختص به خودش را دارد.
بهزودی پستهای مختلفی برای نحوه استفاده از AI و دیگر بخشهای مرتبط منتشر میکنم.
🔥3⚡1
احتمالا شما هم دیتاهایی دارین یا وبسایتی دارین که اطلاعاتش رو نیاز دارین به یک ساختار LLM Ready تبدیل کنید تا در سادهترین سناریو بهراحتی بتونید براساسش ربات بسازید یا کارهای جالبتری انجام بدین!
ریپازیتوری FireCrawl کل وبسایت مورد نظرتون رو به یک ساختار منظم و آماده برای LLM تبدیل میکنه و حتی فایلهای مدیا در وبسایت رو هم پردازش میکنه تا با روشهای مختلفی دیتای مورد نظر رو استخراج کنید.
https://github.com/mendableai/firecrawl
#llm
#github
ریپازیتوری FireCrawl کل وبسایت مورد نظرتون رو به یک ساختار منظم و آماده برای LLM تبدیل میکنه و حتی فایلهای مدیا در وبسایت رو هم پردازش میکنه تا با روشهای مختلفی دیتای مورد نظر رو استخراج کنید.
https://github.com/mendableai/firecrawl
#llm
#github
GitHub
GitHub - firecrawl/firecrawl: 🔥 The Web Data API for AI - Turn entire websites into LLM-ready markdown or structured data
🔥 The Web Data API for AI - Turn entire websites into LLM-ready markdown or structured data - firecrawl/firecrawl
🔥3👍1
چت با دیتابیس!
یک ابزار متنباز و کاربردی که در خصوص نوشتن کوئریهای پیچیده، بهینه کردن عملکرد دیتابیس و ایجاد گزارشهای کاربردی مثل: کوئریهای کند، ایندکسهای بلااستفاده و ... بهتون کمک میکنه و فقط کافیه باهاش چت کنید.
https://chat2db.ai
#github
یک ابزار متنباز و کاربردی که در خصوص نوشتن کوئریهای پیچیده، بهینه کردن عملکرد دیتابیس و ایجاد گزارشهای کاربردی مثل: کوئریهای کند، ایندکسهای بلااستفاده و ... بهتون کمک میکنه و فقط کافیه باهاش چت کنید.
https://chat2db.ai
#github
chat2db.ai
Chat2DB - AI Text2SQL Tool for Easy Database Management
Chat2DB is an AI-powered SQL client that transforms natural language into SQL queries. Supports MySQL, Redis, MongoDB, and enhances database management with Text2SQL and BI features.
👍3⚡1
بعد از مدتها بالاخره Gorm آپدیتی که اکثر برنامهنویسان گولنگ منتظرش بودند رو در نسخه جدید منتشر کرد.
در کامیونیتی گولنگ Gorm بخاطر عدم Type Safty و پیچیدگیهای مختلف آنچنان محبوب نیست. مدتها بود که Generic ها به زبان گولنگ اضافه شدن اما با وجود درخواستهای زیاد، همچنان در Gorm مورد استفاده قرار نگرفته بودند تا اینکه در ورژن جدید Gorm یعنی V1.30.0 بالاخره این قابلیت به Gorm اضافه شده و میتونه برگ برندهای برای این ORM باشه.
شخصا از Gorm بخاطر عدم بهینه بودن، رفتار عجیب و… استفاده نمیکردم اما این آپدیت آنقدر جدی هست که در صفحه اول داکیومنت Gorm خیلی شفاف به این قابلیت پرداخته و تاکید کرده فقط در ورژنهای V1.30 به بالا قابل استفاده است. شخصا مایلم یک بار دیگه تستش کنم و ببینم تونسته مشکلات متعددی که داشت رو رفع کنه یا خیر!
به نظرم بهزودی این سینتکس جدید، به روش پیشفرض کوئری نوشتن در Gorm تبدیل میشه!
#gorm
#golang
@cloudygo
در کامیونیتی گولنگ Gorm بخاطر عدم Type Safty و پیچیدگیهای مختلف آنچنان محبوب نیست. مدتها بود که Generic ها به زبان گولنگ اضافه شدن اما با وجود درخواستهای زیاد، همچنان در Gorm مورد استفاده قرار نگرفته بودند تا اینکه در ورژن جدید Gorm یعنی V1.30.0 بالاخره این قابلیت به Gorm اضافه شده و میتونه برگ برندهای برای این ORM باشه.
شخصا از Gorm بخاطر عدم بهینه بودن، رفتار عجیب و… استفاده نمیکردم اما این آپدیت آنقدر جدی هست که در صفحه اول داکیومنت Gorm خیلی شفاف به این قابلیت پرداخته و تاکید کرده فقط در ورژنهای V1.30 به بالا قابل استفاده است. شخصا مایلم یک بار دیگه تستش کنم و ببینم تونسته مشکلات متعددی که داشت رو رفع کنه یا خیر!
به نظرم بهزودی این سینتکس جدید، به روش پیشفرض کوئری نوشتن در Gorm تبدیل میشه!
#gorm
#golang
@cloudygo
❤2👍2👏2
فرصتی که هوش مصنوعی در اختیار همه ما قرار داده باورنکردنی و بسیار شگفتانگیزه!
کافیه کمی با MCPها با ایجاد Ruleهای مشخص باهاشون کار کنید، بهشون کانتکست بدین تا یک خروجی عالی رو داشته باشید.
در زمانهایی که تایم آزاد دارین، تا میتونید، روشهای مختلف توسعه با AI رو برای خودتون تست کنید.
لزومی نداره حتما مدلهای پریمیوم رو استفاده کنید و همین تجربه کردن، باعث میشه به راحتی بتونید مهارت استفاده از AI رو در خودتون افزایش بدین و تسکی که در ۲ روز انجام میشد رو در کمتر از نصف
تکمیل کنید.
× مدلهای پریمیوم Sonnet 4 و جمینای ۲.۵ پرو واقعا کاربردی هستند!
دقت کنید ما در مورد شتکد نوشتن با AI صحبت نمیکنیم. اینکه بارها به AI تاکید کنیم Best Practiceهارو رعایت کن، هیچ فایدهای نداره!
1. سعی کنید از agentهایی استفاده کنید که امکان بازگشت به مراحل و رویدادهای قبلی حافظهشون رو دارن
2. بهخوبی کانتکست رو شرح بدین
3. موضوع رو به سابتسکهای کوچک تبدیل کنید
4. شفاف بگین براساس چه معماری و چه پرکتیسی (practice) باید کد نوشته بشه
5. سناریوهای شکست رو براش شرح بدین
7. در هر مرحله ازش بخواین برگرده و با تست مشخص کنه چه چیزهایی تا الان اشتباه بوده
کافیه کمی با MCPها با ایجاد Ruleهای مشخص باهاشون کار کنید، بهشون کانتکست بدین تا یک خروجی عالی رو داشته باشید.
در زمانهایی که تایم آزاد دارین، تا میتونید، روشهای مختلف توسعه با AI رو برای خودتون تست کنید.
لزومی نداره حتما مدلهای پریمیوم رو استفاده کنید و همین تجربه کردن، باعث میشه به راحتی بتونید مهارت استفاده از AI رو در خودتون افزایش بدین و تسکی که در ۲ روز انجام میشد رو در کمتر از نصف
تکمیل کنید.
× مدلهای پریمیوم Sonnet 4 و جمینای ۲.۵ پرو واقعا کاربردی هستند!
دقت کنید ما در مورد شتکد نوشتن با AI صحبت نمیکنیم. اینکه بارها به AI تاکید کنیم Best Practiceهارو رعایت کن، هیچ فایدهای نداره!
1. سعی کنید از agentهایی استفاده کنید که امکان بازگشت به مراحل و رویدادهای قبلی حافظهشون رو دارن
2. بهخوبی کانتکست رو شرح بدین
3. موضوع رو به سابتسکهای کوچک تبدیل کنید
4. شفاف بگین براساس چه معماری و چه پرکتیسی (practice) باید کد نوشته بشه
5. سناریوهای شکست رو براش شرح بدین
7. در هر مرحله ازش بخواین برگرده و با تست مشخص کنه چه چیزهایی تا الان اشتباه بوده
👍3⚡1
گولنگ زبانی هستش که بسیاری از ساختارهای پیشفرض در زبانهای برنامهنویسی قبل از خودش رو زیر سوال میبره اما با نگاهی مثبت!
حتی اگر شما هیچوقت قصد ندارید توسعهدهنده با زبان گولنگ باشید، یادگیری گولنگ تغییرات مثبتی رو در توسعه براتون ایجاد میکنه. یکی از بازرترین تغییرات فکری در توسعه با گولنگ، گذر از پیادهسازی لایههای مختلف بلااستفاده و ایجاد ساختارهایی هست که برای تغییر بسیار آمادهتر هستند.
همه ما همواره تمایل داریم در مرحله اول توسعه، یک بخش کامل و اصطلاحا Bullet Proof رو توسعه بدیم اما باید بدونیم این یک خطای ذهنی است. نوشتن یک سرویس کامل و پاسخگو در مرحله اول توسعه کاملا غیرممکن هست.
اکثر برنامهنویسان سعی دارند با ایجاد لایههای اینترفیس و Generalize کردن از همه اتفاقات آینده مصون بوده و کد توسعهپذیرتری داشته باشند اما همواره باید در ذهن داشته باشیم که کدهای ما باید آماده برای تغییر باشند تا یک چاقوی سوییسی همهکاره!
حتی اگر شما هیچوقت قصد ندارید توسعهدهنده با زبان گولنگ باشید، یادگیری گولنگ تغییرات مثبتی رو در توسعه براتون ایجاد میکنه. یکی از بازرترین تغییرات فکری در توسعه با گولنگ، گذر از پیادهسازی لایههای مختلف بلااستفاده و ایجاد ساختارهایی هست که برای تغییر بسیار آمادهتر هستند.
همه ما همواره تمایل داریم در مرحله اول توسعه، یک بخش کامل و اصطلاحا Bullet Proof رو توسعه بدیم اما باید بدونیم این یک خطای ذهنی است. نوشتن یک سرویس کامل و پاسخگو در مرحله اول توسعه کاملا غیرممکن هست.
اکثر برنامهنویسان سعی دارند با ایجاد لایههای اینترفیس و Generalize کردن از همه اتفاقات آینده مصون بوده و کد توسعهپذیرتری داشته باشند اما همواره باید در ذهن داشته باشیم که کدهای ما باید آماده برای تغییر باشند تا یک چاقوی سوییسی همهکاره!
👍6🐳1
یک بلاگ خیلی جالب در مورد مهاجرت Reddit از پایتون به گولنگ در سرویس کامنتها!
مقاله نکات خوبی داره، از اینکه چطور این مایگریشن اتفاق افتاده!
چقدر اسپایکهای ناگهانی سرویس قدیمی پایتون کمتر شده!
سرویسهای جدید چطور بهبود یافتن و چالشهای پیشرو هنگام سوییچ از یک زبان به زبان برنامهنویسی دیگه برای سرویسی که بار سنگینی رو تحمل میکنه، چی میتونه باشه!
https://lnkd.in/daQ8pxMd
کانال تلگرام کلادیگو
t.me/cloudygo
مقاله نکات خوبی داره، از اینکه چطور این مایگریشن اتفاق افتاده!
چقدر اسپایکهای ناگهانی سرویس قدیمی پایتون کمتر شده!
سرویسهای جدید چطور بهبود یافتن و چالشهای پیشرو هنگام سوییچ از یک زبان به زبان برنامهنویسی دیگه برای سرویسی که بار سنگینی رو تحمل میکنه، چی میتونه باشه!
https://lnkd.in/daQ8pxMd
کانال تلگرام کلادیگو
t.me/cloudygo
👍3❤1🙏1
تجربه ۲ ماه استفاده از antigravity
استفاده از AI برای همه ما تبدیل به یک امر عادی شده...
بهطوریکه شخصا وقتی برمیگردم و خیلی ساده و به روش قدیمی کد نویسی میکنم، حس میکنم واقعا پوینتی به جز آموزش دادن نداره!
ترکیبی که من روزانه استفاده میکنم
Claude CLI
Context7
بههمراهChatGPT هستش
اخیرا ادیتور antigravity رو به این ترکیب اضافه کردم
سرعت توسعهام خیلی افزایش پیدا نکرد چون همون vscode بود با یک سری بهبودات اما خیلی همهچیز برام دسترسپذیرتر شد
من از همون ابتدا بهصورت تماما agentic پیش رفتم.
با انجام کارها یکسری review از من در خواست میکرد و برای تسکهای سنگین هم درنهایت یک فایل walkthrough برام میساخت تا روند رو بهتر درک کنم.
به نظرم آنتیگراویتی پتانسیل زیادی داره و توصیه میکنم استفاده کنید و آرتیفکتهایی میسازه که دقیق هستند.
اما همچنان sonnet و context7 خروجیهای خیلی خوبی دارن و برای نوشتن کدهای بهتر، ترکیب برندهای هستند
@cloudygo
#antigravity
استفاده از AI برای همه ما تبدیل به یک امر عادی شده...
بهطوریکه شخصا وقتی برمیگردم و خیلی ساده و به روش قدیمی کد نویسی میکنم، حس میکنم واقعا پوینتی به جز آموزش دادن نداره!
ترکیبی که من روزانه استفاده میکنم
Claude CLI
Context7
بههمراهChatGPT هستش
اخیرا ادیتور antigravity رو به این ترکیب اضافه کردم
سرعت توسعهام خیلی افزایش پیدا نکرد چون همون vscode بود با یک سری بهبودات اما خیلی همهچیز برام دسترسپذیرتر شد
من از همون ابتدا بهصورت تماما agentic پیش رفتم.
با انجام کارها یکسری review از من در خواست میکرد و برای تسکهای سنگین هم درنهایت یک فایل walkthrough برام میساخت تا روند رو بهتر درک کنم.
به نظرم آنتیگراویتی پتانسیل زیادی داره و توصیه میکنم استفاده کنید و آرتیفکتهایی میسازه که دقیق هستند.
اما همچنان sonnet و context7 خروجیهای خیلی خوبی دارن و برای نوشتن کدهای بهتر، ترکیب برندهای هستند
@cloudygo
#antigravity
👍4👏2