🔥115👎35❤5👍5
با اختلاف یکی از بهترین ابزارهایی که چند وقت اخیر باهاش کار کردم Zellij هست
A terminal workspace with batteries included
https://github.com/zellij-org/zellij
داشتن workspace روی ترمینال برای بچه های برنامه نویس و دواپس خیلی کارو میتونه راحت تر کنه. چون شما معمولا روی چندتا سرور یا چند تا پروژه ممکنه کار کنی و مدام بین این ها بخوای switch کنی. این که هر بار از اول بخوای محیط ترمینال رو بسازی و آماده کنی خیلی کار حوصله سربری هست.
به جز این موارد Zellij واقعا UX خوبی داره و لازم نیست هزار تا hotkey رو حفظ کنید که بتونید ازش استفاده کنید.
پیشنهاد میکنم امتحانش کنید.
@DevTwitter | <Hossein Nazari/>
A terminal workspace with batteries included
https://github.com/zellij-org/zellij
داشتن workspace روی ترمینال برای بچه های برنامه نویس و دواپس خیلی کارو میتونه راحت تر کنه. چون شما معمولا روی چندتا سرور یا چند تا پروژه ممکنه کار کنی و مدام بین این ها بخوای switch کنی. این که هر بار از اول بخوای محیط ترمینال رو بسازی و آماده کنی خیلی کار حوصله سربری هست.
به جز این موارد Zellij واقعا UX خوبی داره و لازم نیست هزار تا hotkey رو حفظ کنید که بتونید ازش استفاده کنید.
پیشنهاد میکنم امتحانش کنید.
@DevTwitter | <Hossein Nazari/>
👍18👎3🔥2❤1
تو دیتاساینس اکثرا فقط بخش توسعه مدل رو یادمیگیرن. ولی نه تو دانشگاه، نه از kaggle یا کتابا پیاده سازی و پروداکشن کردن رو یادنمیگیرن. Databricks Free Edition به نظرم بهترین ابزار برای یادگیریه این مهارته. پروژه cloud based باهاش انجام بدین و پروداکت پیاده کنید، کاملا رایگانه!
@DevTwitter | <Nima/>
@DevTwitter | <Nima/>
❤8🔥1
DevTwitter | توییت برنامه نویسی
#لاس عشق من به تو از نوع const هست غیرقابل تغییر @DevTwitter
@DevTwitter | <Erik/>
وضعیت:
واکنش js:
وضعیت:
const love = {name: 'saghar', age: 26}
love.name= 'akram'
love.age=20واکنش js:
This media is not supported in your browser
VIEW IN TELEGRAM
👍67👎9🔥2❤1
اومدم تایپ کنم chatgpt بعد h و جا انداختم دیدم یه چی اومد catgpt اومدم ازش استفاده کنم ببینم چیه بعد دیدم هرچی ازش میپرسی با میو بهت جواب میده:)))))))
https://catgpt.wvd.io/
@DevTwitter | <هلوکیتی تو واندر لند/>
https://catgpt.wvd.io/
@DevTwitter | <هلوکیتی تو واندر لند/>
❤87🔥12👎7
از اوضاع سیاسی دنیا که بوی تعفن میده سر میچرخانیم به تکنولوژی که گویا اوضاعش بدتره!
تنها کاری که ابر غولهای تِک این روزا بلدن فورک VS Code و اتصالش به Claude عه.
اینم از آمازون و Cursor ای دیگر:
https://kiro.dev/blog/introducing-kiro/
@DevTwitter | <Yaser Shahi/>
تنها کاری که ابر غولهای تِک این روزا بلدن فورک VS Code و اتصالش به Claude عه.
اینم از آمازون و Cursor ای دیگر:
https://kiro.dev/blog/introducing-kiro/
@DevTwitter | <Yaser Shahi/>
👍54👎4❤2🔥1
🔥144👎25❤9👍5
آیا async/await همیشه مفیده؟ نه دقیقاً!
توی یکی از پروژههای ما با ترافیک بالا، همهی endpointها بهصورت async نوشته شده بودن.
ولی با وجود کد تمیز و async بودن کامل، سیستم دچار ThreadPool starvation شده بود و latency بهشدت بالا رفته بود.
بررسی کردیم و دیدیم: async بهصورت blanket روی همه مسیرها اجرا شده، حتی روی عملیاتهای CPU-bound یا توی حلقههای ریز و پرتکرار.
حالا async ابزار خیلی خوبیه، ولی:
- روی CPU-bound = بدتر شدن عملکرد
- توی حلقههای tight = هزینه context switching اضافی
توصیه:
فقط عملیاتهای I/O واقعی (مثل DB, HTTP, File IO) ارزش async دارن
چیکار کردیم؟
؛ endpointهایی که واقعاً I/O-bound بودن، async موندن
بقیهی مسیرها برگشتن به sync
و با این تغییر ساده، latency تقریباً نصف شد (بر اساس لاگهای واقعی)
ابزار:
من برای این تحلیل از ابزارهایی مثل MiniProfiler و لاگهای دقیق Serilog کمک گرفتم.
جمعبندی:
تجربه نشون میده async فقط یه keyword نیست.
یه تصمیم مهندسیه، که اگه بیدلیل و همهجا استفاده بشه، میتونه قاتل performance باشه.
@DevTwitter | <Bahare Zarei/>
توی یکی از پروژههای ما با ترافیک بالا، همهی endpointها بهصورت async نوشته شده بودن.
ولی با وجود کد تمیز و async بودن کامل، سیستم دچار ThreadPool starvation شده بود و latency بهشدت بالا رفته بود.
بررسی کردیم و دیدیم: async بهصورت blanket روی همه مسیرها اجرا شده، حتی روی عملیاتهای CPU-bound یا توی حلقههای ریز و پرتکرار.
حالا async ابزار خیلی خوبیه، ولی:
- روی CPU-bound = بدتر شدن عملکرد
- توی حلقههای tight = هزینه context switching اضافی
توصیه:
فقط عملیاتهای I/O واقعی (مثل DB, HTTP, File IO) ارزش async دارن
چیکار کردیم؟
؛ endpointهایی که واقعاً I/O-bound بودن، async موندن
بقیهی مسیرها برگشتن به sync
و با این تغییر ساده، latency تقریباً نصف شد (بر اساس لاگهای واقعی)
ابزار:
من برای این تحلیل از ابزارهایی مثل MiniProfiler و لاگهای دقیق Serilog کمک گرفتم.
جمعبندی:
تجربه نشون میده async فقط یه keyword نیست.
یه تصمیم مهندسیه، که اگه بیدلیل و همهجا استفاده بشه، میتونه قاتل performance باشه.
@DevTwitter | <Bahare Zarei/>
❤74👍23👎4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
به روز رسانی بزرگ در ChatGPT:
نسخه پیشرفته شده Operator با نام ChatGPT Agent منتشر شد.
چتجیپیتی خودش مثل یک آدم واقعی میره تو سایتها، نتایج رو فیلتر میکنه، اگه لازم باشه میگه لاگین کنی، کد برات اجرا میکنه، تحلیل میده، و حتی اسلاید و فایل اکسل قابل ویرایش برات آماده میکنه که نتیجه کاراشو جمعبندی کرده.
مثلا شما میتونین یه اجنت بسازین و بهش بگین:
تقویم منو ببین و یه خلاصه از جلسههام با مشتریا بده یا مثلاً دوستامو دعوت کن خونم و مواد لازم برای صبحونه برای چهار نفر بخر،
یا حتی سه تا رقیب اصلب شرکت رو تحلیل کن و برام یه پیچ دک روی گوگل بساز.
خلاصه تغییرات: تمام سرویسها که قبلا جدا بودند، الان به هم وصل شدند، از جمله اپراتور، تسکها و Deep Research
مهمترین تغییر، اضافه شدن نحوه فکر کردن به اجنتهاست. اجنتها الان میتونن وسط هر تسک فکر کنن، تحلیل کنن، و حتی تسک رو بر اساس تحلیلشون تغییر بدن تا نتیجه بهتر شه.
هدف نهایی اینه که سرویس اجنت از قدرت تمام سرویسهای OpenAI و تمام سرویسهایی که شما بهش دسترسی دادین استفاده کنه بدون هیچ تنظیمات اضافهای.
@DevTwitter | <Farokh/>
نسخه پیشرفته شده Operator با نام ChatGPT Agent منتشر شد.
چتجیپیتی خودش مثل یک آدم واقعی میره تو سایتها، نتایج رو فیلتر میکنه، اگه لازم باشه میگه لاگین کنی، کد برات اجرا میکنه، تحلیل میده، و حتی اسلاید و فایل اکسل قابل ویرایش برات آماده میکنه که نتیجه کاراشو جمعبندی کرده.
مثلا شما میتونین یه اجنت بسازین و بهش بگین:
تقویم منو ببین و یه خلاصه از جلسههام با مشتریا بده یا مثلاً دوستامو دعوت کن خونم و مواد لازم برای صبحونه برای چهار نفر بخر،
یا حتی سه تا رقیب اصلب شرکت رو تحلیل کن و برام یه پیچ دک روی گوگل بساز.
خلاصه تغییرات: تمام سرویسها که قبلا جدا بودند، الان به هم وصل شدند، از جمله اپراتور، تسکها و Deep Research
مهمترین تغییر، اضافه شدن نحوه فکر کردن به اجنتهاست. اجنتها الان میتونن وسط هر تسک فکر کنن، تحلیل کنن، و حتی تسک رو بر اساس تحلیلشون تغییر بدن تا نتیجه بهتر شه.
هدف نهایی اینه که سرویس اجنت از قدرت تمام سرویسهای OpenAI و تمام سرویسهایی که شما بهش دسترسی دادین استفاده کنه بدون هیچ تنظیمات اضافهای.
@DevTwitter | <Farokh/>
❤26🔥9👍4
اگه با JSON سر و کار دارید، حتماً یه سری به json crack بزنید.
علاوه بر نمایش گرافیکی و قابل فهم JSON، امکاناتی مثل تبدیل بین فرمتها، ساخت JSON Schema و افزونه VSCode هم داره. اوپن سورس هم هست!
http://jsoncrack.com
@DevTwitter | <Mohammad />
علاوه بر نمایش گرافیکی و قابل فهم JSON، امکاناتی مثل تبدیل بین فرمتها، ساخت JSON Schema و افزونه VSCode هم داره. اوپن سورس هم هست!
http://jsoncrack.com
@DevTwitter | <Mohammad />
🔥46❤10👍4👎4
اگه هنوز پادکست گوش نمیدید، یه دنیای خفن از یادگیری، الهام گرفتن و شنیدن تجربهی آدمای خلاق رو از دست دادید. من عاشق موضوعاتی مثل هوش مصنوعی و استارتاپهام. ایدهها، سختیها، آیندهشون. امروز قسمت جدید پادکست Latent Space: The AI Engineer Podcast گوش کردم که با فاندرهای cline صحبت کردند. عالی بود. موضوعات جالبی از جمله: چرا اپن سورس MCP اینکه چرا RAG برای کد سخته و کار نمیکنه , ... را صحبت کردند. حتما گوش بدید.
podcast: https://podcasts.apple.com/us/podcast/latent-space-the-ai-engineer-podcast/id1674008350
Youtube: https://youtube.com/watch?v=uIKmG3M0X3M
@DevTwitter | <Mehdi Allahyari/>
podcast: https://podcasts.apple.com/us/podcast/latent-space-the-ai-engineer-podcast/id1674008350
Youtube: https://youtube.com/watch?v=uIKmG3M0X3M
@DevTwitter | <Mehdi Allahyari/>
👍30👎5❤1🔥1
میخوای فایلی رو ایمپورت کنی اولش @ میزاری ولی بهت ارور میده؟؟؟
خب از اونجایی که من داشتم روی یک پروژه ریکت جی اس کار میکردم بعد اومدم یک فایل رو با ( روش زیر که در عکس مشخص هست منظورم با کمک @ آدرس دهی کنم ولی به مشکل میخوردم) همش ارور ارور ارور که خب مسیر رو اصلا پیدا نمیکنه و خب هی این مشکل تکرار هم میشد هرکاری میکردم.
در نهایت هم فهمیدم باید چه کنم دیگه باید داخل سه فایل زیر تغییرات رو ایجاد کنی
vite.config.ts و tsconfig.json و tsconfig.app.json
بعد از اون دیگه مسیربابی مثل فشنگ براتون کار میکنه کیف کنید دیگه.
@DevTwitter | <Abolfazl Javadinia/>
خب از اونجایی که من داشتم روی یک پروژه ریکت جی اس کار میکردم بعد اومدم یک فایل رو با ( روش زیر که در عکس مشخص هست منظورم با کمک @ آدرس دهی کنم ولی به مشکل میخوردم) همش ارور ارور ارور که خب مسیر رو اصلا پیدا نمیکنه و خب هی این مشکل تکرار هم میشد هرکاری میکردم.
در نهایت هم فهمیدم باید چه کنم دیگه باید داخل سه فایل زیر تغییرات رو ایجاد کنی
vite.config.ts و tsconfig.json و tsconfig.app.json
بعد از اون دیگه مسیربابی مثل فشنگ براتون کار میکنه کیف کنید دیگه.
@DevTwitter | <Abolfazl Javadinia/>
👍19❤7🔥1
اپلیکیشن Next.js خودتون رو به یک موشک تبدیل کنید!
اپلیکیشن Next.js شما گاهی کندتر از انتظارتون عمل میکنه؟ نگران نباشید، این مشکل خیلی از توسعهدهندههاست. خبر خوب اینه که Next.js ابزارهای فوقالعادهای داره تا اپلیکیشنتون رو به یه موشک تبدیل کنه. فقط کافیه بدونید چطور ازشون استفاده کنید!
در دنیای دیجیتال امروز، هر میلیثانیه حساب میشه. سرعت پایین یعنی تجربه کاربری ضعیف، سئوی بدتر و از دست دادن کاربر. بیاید با هم پرفورمنس Next.js رو یک بار برای همیشه بهینه کنیم.
این شما و این چند تکنیک کلیدی:
۱. جادوی Server و Client Components رو آزاد کنید
- سلاح مخفی شما: Server Components
روی سرور رندر میشن و هیچ JavaScript اضافی به کاربر نمیفرستن. برای محتوای استاتیک و لود سریع عالیان!
- با دقت از Client Components استفاده کنید
فقط برای تعاملات کاربر لازمن. تا حد امکان کوچکشون کنید و پایین درخت کامپوننتها بذاریدشون.
۲. با Caching هوشمند، سرعت رو به اوج برسونید
- از کشینگ داخلی Next.js استفاده کنید تا صفحات در چند میلیثانیه لود بشن.
- با تنظیم تازگی کش، همیشه محتوای بهروز داشته باشید.
۳. با Code Splitting، بار اولیه رو سبک کنید
- کامپوننتهای سنگین رو فقط وقتی لود کنید که کاربر بهشون نیاز داره.
- اینطوری لود اولیه مثل برق میشه!
@DevTwitter | <Mahdi bagheri/>
اپلیکیشن Next.js شما گاهی کندتر از انتظارتون عمل میکنه؟ نگران نباشید، این مشکل خیلی از توسعهدهندههاست. خبر خوب اینه که Next.js ابزارهای فوقالعادهای داره تا اپلیکیشنتون رو به یه موشک تبدیل کنه. فقط کافیه بدونید چطور ازشون استفاده کنید!
در دنیای دیجیتال امروز، هر میلیثانیه حساب میشه. سرعت پایین یعنی تجربه کاربری ضعیف، سئوی بدتر و از دست دادن کاربر. بیاید با هم پرفورمنس Next.js رو یک بار برای همیشه بهینه کنیم.
این شما و این چند تکنیک کلیدی:
۱. جادوی Server و Client Components رو آزاد کنید
- سلاح مخفی شما: Server Components
روی سرور رندر میشن و هیچ JavaScript اضافی به کاربر نمیفرستن. برای محتوای استاتیک و لود سریع عالیان!
- با دقت از Client Components استفاده کنید
فقط برای تعاملات کاربر لازمن. تا حد امکان کوچکشون کنید و پایین درخت کامپوننتها بذاریدشون.
۲. با Caching هوشمند، سرعت رو به اوج برسونید
- از کشینگ داخلی Next.js استفاده کنید تا صفحات در چند میلیثانیه لود بشن.
- با تنظیم تازگی کش، همیشه محتوای بهروز داشته باشید.
۳. با Code Splitting، بار اولیه رو سبک کنید
- کامپوننتهای سنگین رو فقط وقتی لود کنید که کاربر بهشون نیاز داره.
- اینطوری لود اولیه مثل برق میشه!
@DevTwitter | <Mahdi bagheri/>
❤34👍4👎3🔥2
Media is too big
VIEW IN TELEGRAM
این بلاگ از کمپانی weaviate یک پروژه کاربردی هست که نشون میده با استفاده از ابزارهای زیر یک اپلیکیشن برای توصیه کردن محصولات skin care درست کنید:
- AI agent
- Custom Embedding
- Vector DB
دید خوبی بهتون میده. ابزارها وجود داره فقط باید مساله/کاربرد تعریف بشه و پیاده سازی بشه.
Blog: https://weaviate.io/blog/glowe-app
@DevTwitter | <Mehdi Allahyari/>
- AI agent
- Custom Embedding
- Vector DB
دید خوبی بهتون میده. ابزارها وجود داره فقط باید مساله/کاربرد تعریف بشه و پیاده سازی بشه.
Blog: https://weaviate.io/blog/glowe-app
@DevTwitter | <Mehdi Allahyari/>
❤13🔥1
یه مینی وب اپ open-source منتشر کردم که با gemini 2.5 میتونید روی عکس ها OCR انجام بدید. فارسی هم پشتیبانی میکنه و کیفیت خوبی داره.
ساخته شده با Nextjs و vercel ai sdk اگر خواستید بهش یه سری بزنید.
لینک github
https://github.com/xmannii/gemini-ocr-nextjs
@DevTwitter | <Mani/>
ساخته شده با Nextjs و vercel ai sdk اگر خواستید بهش یه سری بزنید.
لینک github
https://github.com/xmannii/gemini-ocr-nextjs
@DevTwitter | <Mani/>
❤41👎5👍3🔥1
تو ۳ روز اول، SmartStepper بیش از ۴۰ تا روی GitHub گرفت!
چند روز پیش SmartStepper v2 رو منتشر کردم — یه پکیج کوچک برای ساختن فرمهای چندمرحلهای هوشمند در React.
خیلی زودتر از چیزی که فکر میکردم مورد توجه قرار گرفت و تو ۳ روز اول، به ۴۰ تا ستاره رسید.
چرا فکر میکنم این اتفاق مهمه؟
- چون جامعه توسعهدهنده ها به یه مشکل جدی در فرمهای چندمرحلهای واکنش نشون دادن:
پیچیدگی مدیریت مرحلهها، اعتبارسنجیها، و جداسازی UI از logic.
- چون باعث شد بفهمم حتی یه ابزار ساده، اگه درست طراحی بشه و نیاز واقعی رو حل کنه، میتونه دیده بشه.
- و چون بهم انگیزه داد که مسیر اوپنسورس رو جدیتر دنبال کنم.
این SmartStepper یه کانفیگ مرکزی میگیره که orchestration، validation و view رو کنترل میکنه.
سورسکد:
https://github.com/Miladxsar23/smartstepper
دمو:
https://codesandbox.io/p/sandbox/g8g8c7
@DevTwitter | <Milad Shirian/>
چند روز پیش SmartStepper v2 رو منتشر کردم — یه پکیج کوچک برای ساختن فرمهای چندمرحلهای هوشمند در React.
خیلی زودتر از چیزی که فکر میکردم مورد توجه قرار گرفت و تو ۳ روز اول، به ۴۰ تا ستاره رسید.
چرا فکر میکنم این اتفاق مهمه؟
- چون جامعه توسعهدهنده ها به یه مشکل جدی در فرمهای چندمرحلهای واکنش نشون دادن:
پیچیدگی مدیریت مرحلهها، اعتبارسنجیها، و جداسازی UI از logic.
- چون باعث شد بفهمم حتی یه ابزار ساده، اگه درست طراحی بشه و نیاز واقعی رو حل کنه، میتونه دیده بشه.
- و چون بهم انگیزه داد که مسیر اوپنسورس رو جدیتر دنبال کنم.
این SmartStepper یه کانفیگ مرکزی میگیره که orchestration، validation و view رو کنترل میکنه.
سورسکد:
https://github.com/Miladxsar23/smartstepper
دمو:
https://codesandbox.io/p/sandbox/g8g8c7
@DevTwitter | <Milad Shirian/>
❤30👍8🔥1
چطور در معماری میکروسرویس، از ناهماهنگی بین دیتابیس و Message Broker جلوگیری کنیم؟
یکی از چالشهای رایج در میکروسرویسها، تضمین هماهنگی داده (Data Consistency) بین عملیات دیتابیس و ارسال پیام (Event) است.
سناریوی آشنای مشکلساز:
سرویس
1. سفارش جدید در دیتابیس ذخیره میشود. (موفق)
2. قرار است یک رویداد
نتیجه: سفارش در سیستم ثبت شده، اما به دلیل قطعی موقت در Message Broker، ایمیل تأیید هرگز ارسال نمیشود! این یعنی یک ناهماهنگی جدی در سیستم.
راهحل: الگوی Outbox Pattern
الگوی Outbox یک راهحل زیبا و قابل اعتماد برای این مشکل است. به جای ارسال مستقیم پیام، آن را در یک جدول به نام
چرا این روش کار میکند؟
چون ذخیره سفارش و ذخیره پیام در جدول `outbox`، هر دو در یک تراکنش اتمیک (Atomic Transaction) انجام میشوند. این یعنی یا هر دو با هم موفق میشوند یا هر دو با هم شکست میخورند. به این ترتیب، هیچ رویدادی گم نخواهد شد!
سپس، یک پردازشگر پسزمینه (Message Relay) مسئول خواندن پیامها از جدول
من یک پیادهسازی تقریبا کاملی از این الگو انجام دادهام
میتونید در پروژه خودتون استفاده کنید. اگر پیشنهادی در راستای کامل تر شدنش دارید خوشحال میشم در میان بذارید.
مشاهده پروژه در گیتهاب:
https://github.com/mahdim1000/templates-spring-outbox-pattern
@DevTwitter | <Mahdi M./>
یکی از چالشهای رایج در میکروسرویسها، تضمین هماهنگی داده (Data Consistency) بین عملیات دیتابیس و ارسال پیام (Event) است.
سناریوی آشنای مشکلساز:
سرویس
سفارش (Order) را در نظر بگیرید:1. سفارش جدید در دیتابیس ذخیره میشود. (موفق)
2. قرار است یک رویداد
OrderCreated به Kafka یا RabbitMQ ارسال شود تا سرویس نوتیفیکیشن به کاربر ایمیل بزند. (ناموفق)نتیجه: سفارش در سیستم ثبت شده، اما به دلیل قطعی موقت در Message Broker، ایمیل تأیید هرگز ارسال نمیشود! این یعنی یک ناهماهنگی جدی در سیستم.
راهحل: الگوی Outbox Pattern
الگوی Outbox یک راهحل زیبا و قابل اعتماد برای این مشکل است. به جای ارسال مستقیم پیام، آن را در یک جدول به نام
outbox در همان دیتابیس و داخل همان تراکنش ذخیره میکنیم.چرا این روش کار میکند؟
چون ذخیره سفارش و ذخیره پیام در جدول `outbox`، هر دو در یک تراکنش اتمیک (Atomic Transaction) انجام میشوند. این یعنی یا هر دو با هم موفق میشوند یا هر دو با هم شکست میخورند. به این ترتیب، هیچ رویدادی گم نخواهد شد!
سپس، یک پردازشگر پسزمینه (Message Relay) مسئول خواندن پیامها از جدول
outbox و ارسال مطمئن آنها به Message Broker است.من یک پیادهسازی تقریبا کاملی از این الگو انجام دادهام
میتونید در پروژه خودتون استفاده کنید. اگر پیشنهادی در راستای کامل تر شدنش دارید خوشحال میشم در میان بذارید.
مشاهده پروژه در گیتهاب:
https://github.com/mahdim1000/templates-spring-outbox-pattern
@DevTwitter | <Mahdi M./>
👍15❤8👎5🔥2
مدتیه که bun.js داره به من علاقه نشون میده.
منم بهش علاقه نشون دادم:
https://github.com/alirezaopmc/bun-biome-typedi-template
اگه شما هم خواستید بیاید عشق بورزید
@DevTwitter | <Alireza ♪/>
منم بهش علاقه نشون دادم:
https://github.com/alirezaopmc/bun-biome-typedi-template
اگه شما هم خواستید بیاید عشق بورزید
@DevTwitter | <Alireza ♪/>
❤18👎9🔥1
شروع یک پروژه Go همیشه با یک سؤال مهم همراهه:
ساختار پروژه رو چطور طراحی کنیم؟
یکی از چالشهای اولیه در پروژههای گولنگ، انتخاب یک ساختار ماژولار، خوانا و مقیاسپذیره. الکس ادواردز در مقالهی زیر، ۱۱ نکته کاربردی برای ساختاردهی پروژههای Go مطرح کرده که خوندنش میتونه توی این مورد بهمون کمک کنه:
https://www.alexedwards.net/blog/11-tips-for-structuring-your-go-projects
@DevTwitter | <Abbas Pourhadi/>
ساختار پروژه رو چطور طراحی کنیم؟
یکی از چالشهای اولیه در پروژههای گولنگ، انتخاب یک ساختار ماژولار، خوانا و مقیاسپذیره. الکس ادواردز در مقالهی زیر، ۱۱ نکته کاربردی برای ساختاردهی پروژههای Go مطرح کرده که خوندنش میتونه توی این مورد بهمون کمک کنه:
https://www.alexedwards.net/blog/11-tips-for-structuring-your-go-projects
@DevTwitter | <Abbas Pourhadi/>
👍18❤8