امین رشیدبیگی | مهندسی نرمافزار
ابزار مدیریت محصول Linear که یکی از استارتآپهای خیلی موفق چند سال گذشته است، به خاطر نگاه متفاوتی که به روند توسعهٔ محصولشون داشتن در کامیونیتیهای پروداکت و UX خیلی ازش صحبت میشه. اونا تونستن که محصول خیلی باکیفیتی ارائه بدن و خیلیها معتقدن از رقیبهای…
به نظرم Linear برای مدیریت روال های توسعه نرم افزار خیلی خارق العادس، به نظرم فیچر های خیلی خوبی داره مثل نگهداری Issue ها به صورت دوطرفه هم داخل گیتهاب و هم داخل Linear.
من توی مایگریشنم از Notion به Linear خیلی خوشحالم.
حالا میخوام یه ترکیب برنده رو بگم برای تیم های ریموت کوچیک.
Linear + Slack + WorkWeave + Github
Linear: Task management
Slack: Team comunication
WorkWeave: Team Performance Measurment
Github: Issue management, Code management.
من توی مایگریشنم از Notion به Linear خیلی خوشحالم.
حالا میخوام یه ترکیب برنده رو بگم برای تیم های ریموت کوچیک.
Linear + Slack + WorkWeave + Github
Linear: Task management
Slack: Team comunication
WorkWeave: Team Performance Measurment
Github: Issue management, Code management.
👍3🔥2
Forwarded from thisisnabi.dev [Farsi]
جدای از 1 لایه و 2 لایه و 15 لایه، یا 6 ضلعی و 20 ضلعی و غیره، یا حتی کثیف و تمیز و تمیزتر،
معماری خوب، معماری هست که به مرور زمان نیاز به معمارش نداشته باشه.
معماری خوب، معماری هست که به مرور زمان نیاز به معمارش نداشته باشه.
👍6🔥3
thisisnabi.dev [Farsi]
جدای از 1 لایه و 2 لایه و 15 لایه، یا 6 ضلعی و 20 ضلعی و غیره، یا حتی کثیف و تمیز و تمیزتر، معماری خوب، معماری هست که به مرور زمان نیاز به معمارش نداشته باشه.
این حرف نبی رو باید با الماس گرفت (طلا کمه)
🔥5
Forwarded from CodeLodge
در این قسمت از سری پادکستهای Code lodge، به بررسی عمیق نقش هوش مصنوعی در دنیای توسعه نرمافزار میپردازیم. در این گفتگو، همراه با دوست صمیمیمان، مسعود عزیز، به نقد جنبههای مختلف استفاده از AI در محیطهای دولوپمنت میپردازیم؛ از جمله مباحث پیرامون نگرانیهای مرتبط با اتوماسیون بیش از حد و جایگزینی نیروی انسانی و دست کم گیری نقش مهم مدل های زبانی در توسعه. هدف ما ارائه بینشی جامع از چالشها و فرصتهایی است که هوش مصنوعی برای توسعهدهندگان به ارمغان میآورد و راهکارهایی برای حفظ کیفیت و خلاقیت در کار ارائه میدهد.
میزبانان شما:
بهنیا آزاد
مسعود بیگی
این ایپزود را می توانید از طریق لینک های زیر هم بشنوید :
- 🔗Spotify
- 🔗Amazon
- 🔗Castbox
-🔗Apple podcast
-🔗 Shenoto
#Codelodge
#Software
#AI
#LLM
#softwareDeveloper
#SoftwareEngineer
@codeLodge
میزبانان شما:
بهنیا آزاد
مسعود بیگی
این ایپزود را می توانید از طریق لینک های زیر هم بشنوید :
- 🔗Spotify
- 🔗Amazon
- 🔗Castbox
-🔗Apple podcast
-🔗 Shenoto
#Codelodge
#Software
#AI
#LLM
#softwareDeveloper
#SoftwareEngineer
@codeLodge
🔥6
Software is becoming systems of software. Our thinking generates the concepts that we rely on when designing our systems. When our concepts work together in harmony, supporting a system’s purpose, they have integrity.
Without conceptual integrity, our software systems are built by “many good but independent and uncoordinated ideas.”
From Learning System Thinking Book
Without conceptual integrity, our software systems are built by “many good but independent and uncoordinated ideas.”
From Learning System Thinking Book
🔥4
خرسِ برنامه نویس
Software is becoming systems of software. Our thinking generates the concepts that we rely on when designing our systems. When our concepts work together in harmony, supporting a system’s purpose, they have integrity. Without conceptual integrity, our software…
از این حرف چی میشه برداشت کرد؟
نظر من:
اینکه ممکنه ما در مولفه های معماری نرم افزارمون هماهنگی بین اجزای نرم افزاری رو جا بندازیم. نکته ای که داره اینه که خیلی وقت ها انقدری درگیر ایزوله کردن ماژول ها میشیم که اصلا یادمون میره که این ماژول ها باید با هم ارتباط بگیرند، هماهنگ باشند و باهم کار کنن! اصلا یک سری رفتار ها از ارتباط و هماهنگی بین دوتا ماژول شکل میگیره. نکته دومی هم وجود داره با استفاده از هزار تا تکنولوژی و ابزار هم این موضوع لزوما درست نمیشه. مثلا اگر شما از ابزار های Event Sourcing داری استفاده میکنی به این معنی نیست که مسئله ارتباط بین ماژول ها رو حل کردی، فقط میشه گفت که زیرساخت این موضوع ممکنه اضافه شده باشه. همچنان باید یک پروتکل ارتباطی وجود داشته باشه که در بستر Event Sourcing بتونه به نیاز های ارتباطی پاسخ بده.
نظر من:
اینکه ممکنه ما در مولفه های معماری نرم افزارمون هماهنگی بین اجزای نرم افزاری رو جا بندازیم. نکته ای که داره اینه که خیلی وقت ها انقدری درگیر ایزوله کردن ماژول ها میشیم که اصلا یادمون میره که این ماژول ها باید با هم ارتباط بگیرند، هماهنگ باشند و باهم کار کنن! اصلا یک سری رفتار ها از ارتباط و هماهنگی بین دوتا ماژول شکل میگیره. نکته دومی هم وجود داره با استفاده از هزار تا تکنولوژی و ابزار هم این موضوع لزوما درست نمیشه. مثلا اگر شما از ابزار های Event Sourcing داری استفاده میکنی به این معنی نیست که مسئله ارتباط بین ماژول ها رو حل کردی، فقط میشه گفت که زیرساخت این موضوع ممکنه اضافه شده باشه. همچنان باید یک پروتکل ارتباطی وجود داشته باشه که در بستر Event Sourcing بتونه به نیاز های ارتباطی پاسخ بده.
🔥3
Forwarded from tech-afternoon (Amin Mesbahi)
💡 یک قدم به سمت کاربرد عینی مدل زبانی با RAG, CAG, KAG یا Fine Tuning
در حالت عادی، یه مدل زبانی از چند میلیارد تا چندصد میلیارد پارامتر آموزش میبینه، بلده به زبونهای مختلف حرف بزنه و جملاتی عاقلانه تا ابلهانه سرهم کنه. بلده دستور پخت سوشی تا قرمهسبزی بده و برای دلدردتون چایینبات تجویز کنه، ولی اینکه بالانس حساب آقای جمالی چقدره یا آییننامههای داخلی شرکتی که ما توش کار میکنیم یعنی کامپیوتراندیشان عصر نوین پاسارگاد با مدیریت آقای موکتپور رو که بلد نیست! پس باید راهی یاد بگیریم که مزخرفاتی که بلده رو با مزخرفات خودمون بیامیزیم و مزخرفات ترکیبی تولید کنیم. پس یه نگاه کلی به RAG، CAG, KAG و Fine Tuning بندازیم تا اگر مشتری داشت ادامهاش بدیم…
✅ مفهوم و کاربرد RAG یا Retrieval-Augmented Generation چیه؟
کار RAG اینه که دادههای مدل رو با دیتای ما تکمیل کنه؛ یعنی موقع جواب دادن به سؤال، میره از یه دیتابیس یا منبع خارجی (که عموما به صورت Vector database ذخیره میکنیم) اطلاعات جدید رو میگیره و بعد جواب میده. اینجوری دیگه همیشه اطلاعات سیستم خودمون رو در کنار قابلیتهای مدل اصلی داریم. این اطلاعات رو میتونیم نهایتا به شکل ساختارمند و مشخص (مثلا یه آبجکت یا یه ساختار JSON مشخص) برگردونیم، یا باهاش جمله بسازیم و مثل یه محاوره انسانی برگردونیمش.
چرا لازمه ازش استفاده کنیم؟
- اطلاعات بهروز و دقیقتر
- کاهش خطا و توهم در جوابهای مدل
- جوابهای دقیق و مبتنی بر داده واقعی
✅ مفهوم و کاربرد KAG یا Knowledge-Augmented Generation چیه؟
کاربرد و مفهموم KAG یه مرحله پیشرفتهتر از RAG هست که از گرافهای دانش ساختاریافته استفاده میکنه. یعنی علاوه بر دادههای معمولی، دادهها رو بهصورت ساختاریافته (مثل گراف دانش) به مدل میده و مدل میتونه از طریق این ساختارها منطق و استدلال چندمرحلهای انجام بده. (توی RAG کوئری داریم ولی اینجا گراف دانش)
چرا لازمه ازش استفاده کنیم؟
- افزایش دقت در حوزههای تخصصی
- استدلال چندمرحلهای و منطقی
- رعایت قوانین و مقررات مشخص (مثل حوزههای پزشکی و حقوقی)
✅ مفهوم و کاربرد CAG یا Cache-Augmented Generation چیه؟
مفهوم CAG یه جورایی نسخه سریعتر و سادهتر از RAG هست. توی CAG، دانش ثابت (مثل دفترچههای راهنما) از قبل تو حافظه (Cache) بارگذاری میشه و موقع جواب دادن لازم نیست هر بار اطلاعات رو از بیرون بگیره.
چرا لازمه ازش استفاده کنیم؟
- جوابهای سریعتر
- ساختار سادهتر و هزینه کمتر
- ثبات و یکپارچگی جوابها
✅ مفهوم و کاربر Fine Tuning (تنظیم دقیق) دیگه؟
یه سری دادههای محدود و مشخص رو به یه مدل زبانی که خیلی چیزا بلده، ولی دقیقاً کاری که میخوای رو درست انجام نمیده. اینجا میای از Fine Tuning استفاده میکنی؛ یعنی یه سری داده خاص خودمون رو میدیم بهش که یاد بگیره دقیقاً طبق اون چیزی که میخوایم جواب بده. از RAG خیلی سادهتر و ابتداییتره.
چرا لازمه ازش استفاده کنیم؟
- بهبود دقت مدل توی یه وظیفه خاص
- سفارشی کردن مدل برای کسبوکار یا حوزه خاص خودمون
- کاهش هزینهها (چون نیازی به آموزش یه مدل عظیم از صفر نداریم)
📎 طی ماههای پیش رو، SQL Server 2025 قابلیتهایی ارائه خواهد کرد که کارهای RAG و CAG و KAG رو بتونیم انجام بدیم. یعنی به جای استفاده از Vector Databaseها که الان ازشون برای RAG کمک میگیریم، میتونیم مستقیم از خود SQL Server کمک بگیریم. البته چون هنوز قابلیت vector اش رونمایی عمومی نشده، نمیشه قضاوت کرد که در مقایسه با نمونههای پرشمار VectorDBها چه جایگاهی داره.
مثل همیشه:💬 ⚙️ 😉
سال ۱۴۰۳ هم تموم شد و مثل ۲ سال قبلترش، روز و ساعتی نبود که هوشمصنوعی خصوصا از نوع مولدش از متن و تیتر اخبار بیوفته 😉 حالا اگر تا به امروز فقط باهاش چت کردین، یا همون چت رو با API انجام دادین، دیگه ۱۴۰۴ سالیه که خوبه از حاشیه به متن بیاریدش و «اگر و اگر ارزش افزودهای به محصولتون اضافه میکنه»، به شکل جدیتری ازش استفاده کنین. حالا این یعنی چی؟ مگه چت کردن چشه؟
در حالت عادی، یه مدل زبانی از چند میلیارد تا چندصد میلیارد پارامتر آموزش میبینه، بلده به زبونهای مختلف حرف بزنه و جملاتی عاقلانه تا ابلهانه سرهم کنه. بلده دستور پخت سوشی تا قرمهسبزی بده و برای دلدردتون چایینبات تجویز کنه، ولی اینکه بالانس حساب آقای جمالی چقدره یا آییننامههای داخلی شرکتی که ما توش کار میکنیم یعنی کامپیوتراندیشان عصر نوین پاسارگاد با مدیریت آقای موکتپور رو که بلد نیست! پس باید راهی یاد بگیریم که مزخرفاتی که بلده رو با مزخرفات خودمون بیامیزیم و مزخرفات ترکیبی تولید کنیم. پس یه نگاه کلی به RAG، CAG, KAG و Fine Tuning بندازیم تا اگر مشتری داشت ادامهاش بدیم…
کار RAG اینه که دادههای مدل رو با دیتای ما تکمیل کنه؛ یعنی موقع جواب دادن به سؤال، میره از یه دیتابیس یا منبع خارجی (که عموما به صورت Vector database ذخیره میکنیم) اطلاعات جدید رو میگیره و بعد جواب میده. اینجوری دیگه همیشه اطلاعات سیستم خودمون رو در کنار قابلیتهای مدل اصلی داریم. این اطلاعات رو میتونیم نهایتا به شکل ساختارمند و مشخص (مثلا یه آبجکت یا یه ساختار JSON مشخص) برگردونیم، یا باهاش جمله بسازیم و مثل یه محاوره انسانی برگردونیمش.
چرا لازمه ازش استفاده کنیم؟
- اطلاعات بهروز و دقیقتر
- کاهش خطا و توهم در جوابهای مدل
- جوابهای دقیق و مبتنی بر داده واقعی
کاربرد و مفهموم KAG یه مرحله پیشرفتهتر از RAG هست که از گرافهای دانش ساختاریافته استفاده میکنه. یعنی علاوه بر دادههای معمولی، دادهها رو بهصورت ساختاریافته (مثل گراف دانش) به مدل میده و مدل میتونه از طریق این ساختارها منطق و استدلال چندمرحلهای انجام بده. (توی RAG کوئری داریم ولی اینجا گراف دانش)
چرا لازمه ازش استفاده کنیم؟
- افزایش دقت در حوزههای تخصصی
- استدلال چندمرحلهای و منطقی
- رعایت قوانین و مقررات مشخص (مثل حوزههای پزشکی و حقوقی)
مفهوم CAG یه جورایی نسخه سریعتر و سادهتر از RAG هست. توی CAG، دانش ثابت (مثل دفترچههای راهنما) از قبل تو حافظه (Cache) بارگذاری میشه و موقع جواب دادن لازم نیست هر بار اطلاعات رو از بیرون بگیره.
چرا لازمه ازش استفاده کنیم؟
- جوابهای سریعتر
- ساختار سادهتر و هزینه کمتر
- ثبات و یکپارچگی جوابها
یه سری دادههای محدود و مشخص رو به یه مدل زبانی که خیلی چیزا بلده، ولی دقیقاً کاری که میخوای رو درست انجام نمیده. اینجا میای از Fine Tuning استفاده میکنی؛ یعنی یه سری داده خاص خودمون رو میدیم بهش که یاد بگیره دقیقاً طبق اون چیزی که میخوایم جواب بده. از RAG خیلی سادهتر و ابتداییتره.
چرا لازمه ازش استفاده کنیم؟
- بهبود دقت مدل توی یه وظیفه خاص
- سفارشی کردن مدل برای کسبوکار یا حوزه خاص خودمون
- کاهش هزینهها (چون نیازی به آموزش یه مدل عظیم از صفر نداریم)
مثل همیشه:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Forwarded from DevTwitter | توییت برنامه نویسی
یه چرخ زدم تو گیتهاب ، ملت کلی api key پوش کردن تو گیتهاب :)))
نتیجه وایب کدینگ با هوش مصنوعی
البته بیشتراش از کار افتاده بخاطر سیستم گیتهاب...
@DevTwitter | <Shojaei/>
نتیجه وایب کدینگ با هوش مصنوعی
البته بیشتراش از کار افتاده بخاطر سیستم گیتهاب...
@DevTwitter | <Shojaei/>
🔥3🤣1
Forwarded from TondTech (مسعود بیگی)
برای یکی از چند تا شرکت بزرگ اکوسیستم، دوستانم در حال تیم سازی هستند. اگر در حوزه دات نت مید (d3 به بالا) تا تک لید هستید و دوست دارید این فرصت رو بررسی کنید، رزومه تون رو برام بفرستین
برای سنجش خودتون نگاهی به این فریم ورک بندازید:
https://github.com/jorgef/engineeringladders
@Merkousha
برای سنجش خودتون نگاهی به این فریم ورک بندازید:
https://github.com/jorgef/engineeringladders
@Merkousha
🔥4
Forwarded from .NET Fun
دیگه سی شارپ و دات نت بدرد نمیخوره
از این به بعد سوییچ میکنیم رو php و وردپرس!
از این به بعد سوییچ میکنیم رو php و وردپرس!
🤣6🔥2
Forwarded from thisisnabi.dev [Farsi]
ف... به هر دوتاشون 😂
2 سالم هست از این دو بزرگوار در هیچ پروژه تجاری استفاده نکردم.
2 سالم هست از این دو بزرگوار در هیچ پروژه تجاری استفاده نکردم.
😁4😭2🔥1
Forwarded from thisisnabi.dev [Farsi]
... به هر سه تاشون :)
RabbitMq.Client هم خیلی فانتره
فقط بخش Distributed Tracing ش کمی چالش داره که توی سیستم دیزاین خودمون یکی نوشتیم براش 🤞
RabbitMq.Client هم خیلی فانتره
فقط بخش Distributed Tracing ش کمی چالش داره که توی سیستم دیزاین خودمون یکی نوشتیم براش 🤞
❤3😭2🔥1