انجمن علمی برنامهنویسی
رفتن به کانال در Telegram
🔶 انجمن علمی برنامهنویسی شبکه نخبگان ایران 🔺 مرجع فعالیتهای آموزشی و پژوهشی در حوزه برنامهنویسی 💬 ارتباط با ادمین | @IEN_Admin | وابسته به شبکه نخبگان ایران | @IranElitesNet |
نمایش بیشتر2 221
مشترکین
+224 ساعت
اطلاعاتی وجود ندارد7 روز
+130 روز
آرشیو پست ها
Repost from شبکه نخبگان ایران
🔹"کسبوکارها چگونه رشد میکنند؟"، در کانال انجمن علمی مدیریت کسبوکار:
| @MBA_Association |
⚙️سندروم مهندسی بیشازحد
💥وقتی برای کشتن پشه از آرپیجی استفاده میکنیم!
یکی از بزرگترین تلههایی که برنامهنویسان (بهویژه در سطح Mid-Level) در آن گرفتار میشوند، «مهندسی بیشازحد» (Over-engineering) است.
ما برنامهنویسها عاشق حل مسائل پیچیده هستیم؛
اما گاهی این عشق باعث میشود برای یک مشکل ساده، راهحلی خلق کنیم که نگهداری آن از خود مشکل، فاجعهبارتر است!️
⏰تلهی بهینهسازی زودرس (Premature Optimization)
فرض کنید در حال نوشتن تابعی هستید که روی لیستی از کاربران جستجو میکند. شما میدانید که جستجوی خطی زمان اجرایی برابر با O(N) دارد. ناگهان تصمیم میگیرید سه روز وقت بگذارید تا یک درخت جستجوی دودویی (BST) پیادهسازی کنید تا زمان را به O(logN) کاهش دهید.
اما واقعیت؟ کل کاربران سیستم شما قرار است حداکثر ۵۰۰ نفر باشند! در این مقیاس، تفاوت زمانی بین O(N) و O(logN) در پردازندههای امروزی، کسری از میکروثانیه است. شما سه روز زمان توسعه و هزینه نگهداری کد را فدای هیچ کردید. «بهینهسازی زودرس، ریشه تمام شرارتها در برنامهنویسی است.»
❗️سندروم «شاید بعداً لازم شد» (The “What If” Trap)
مشتری از شما یک وبسایت ساده برای نمایش مقالات میخواهد. شما چه میکنید؟ یک معماری Microservices روی Kubernetes طراحی میکنید، از Kafka برای پیامرسانی استفاده میکنید و دیتابیس را به صورت توزیعشده بالا میآورید. چرا؟ «چون شاید فردا ترافیک سایت میلیونی شد!»
این یعنی تحمیل پیچیدگی سنگین به سیستمی که هنوز اثبات نکرده اصلاً کاربری دارد.
❓راه نجات چیست؟ آشنایی با دو اصل طلایی:
🔹اصل YAGNI (You Aren’t Gonna Need It): «به آن نیاز نخواهید داشت!» فقط چیزی را بسازید که امروز به آن نیاز دارید. پیشبینی آینده در نرمافزار، معمولاً به کدهای مرده (Dead Code) ختم میشود.
🔹اصل KISS (Keep It Simple, Stupid): سادهترین راهکاری که کار میکند، بهترین راهکار است. هنر یک مهندس ارشد نرمافزار، نوشتن کدهای پیچیده نیست؛ بلکه پنهان کردن پیچیدگیها در سادهترین فرم ممکن است.
🧠نتیجهگیری حرفهای:
کد خوب، کدی نیست که از جدیدترین الگوهای طراحی (Design Patterns) تا خرخره پر شده باشد. کد خوب، کدی است که دقیقاً نیاز کسبوکار را با کمترین پیچیدگی ممکن برطرف کند .
دفعات بعد که خواستید یک سیستم ساده را پیچیده کنید، از خودتان بپرسید: آیا دارم با آرپیجی به جنگ یک پشه میروم؟ 🚀
#over_engineering
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
Repost from شبکه نخبگان ایران
⏺انتشار رایگان دوره کمکهای اولیه و پیشرفته و احیای قلبی
⏺ضمن عرض تسلیت به مناسبت شهادت رهبر معظم انقلاب اسلامی و جمعی از فرماندهان و دیگر هموطنان عزیزمان در تجاوز آمریکایی-صهیونی
با عنایت به شرایط فعلی و احتمال وقوع حملات و حوادث بعدی، آموزشهای کمکهای اولیه و پیشرفته و احیای قلبی "به صورت رایگان" برای تمامی دانشجویان و کادر درمان در کانال بله شبکه نخبگان ایران قابل استفاده است.
❗️جمعبندی آموزشهای کمکهای اولیه و پیشرفته و احیای قلبی
⏺ جلسه اول: ATLS
⏺ جلسه دوم: ATLS
⏺ جلسه سوم: ATLS
⏺ جلسه چهارم: ATLS
⏺ جلسه اول عملی: BLS
⏺ جلسه دوم عملی (بخش اول): ATLS
⏺ جلسه دوم عملی (بخش دوم): ATLS
⚠️با توجه به ضروریت موضوع، کمک به انتشار این آموزشها گامی کوچک در راستای آگاهیبخشی و همدلی سراسری خواهد بود.
🇮🇷 با دعای سلامتی و پیروزی برای ایران و ایرانی
💠در شبکه نخبگان ایران با ما همراه باشید 🇮🇷
🌐 @IranElitesNet
❇️ @IranElitesNet
Repost from شبکه نخبگان ایران
🇮🇷 اطلاعیه مهم | با توجه به تجاوز آمریکایی-اسراییلی به ایرانِ جان و احتمال اختلالات اینترنت، جهت دنبال کردن فعالیتها و محتواهای شبکه نخبگان ایران و تمامی زیرمجموعههای آن، کانال شبکه در پیامرسان بله را دنبال نمایید:
❇️ https://ble.ir/IranElitesNet
❇️ https://ble.ir/IranElitesNet
❇️ https://ble.ir/IranElitesNet
🚀از کدنویس تا مهندس نرمافزار
⚠️نیازمندی مبهم = پروژه شکستخورده
بیشتر پروژهها در مرحله طراحی خراب نمیشوند؛
در مرحله «تعریف نیازمندی» خراب میشوند.
اگر مسئله دقیق تعریف نشود،
هیچ طراحی و هیچ کدی آن را نجات نمیدهد.
🔹سه خطای مرگبار در نیازمندیها:
1️⃣ابهام
❌«سیستم باید سریع باشد.»
سریع یعنی چه؟
✅«زمان پاسخ کمتر از ۲ ثانیه برای ۹۵٪ درخواستها.»
◀️نیازمندی باید قابل اندازهگیری باشد.
2️⃣فرضیات پنهان
❌«کاربران همیشه اینترنت پایدار دارند.»
❌«تعداد کاربران زیاد نخواهد شد.»
◀️هر فرضی که نوشته نشود، بعداً تبدیل به باگ یا بحران میشود.
🔤تغییرات کنترلنشده
هر هفته یک قابلیت جدید بدون بازتعریف دامنه و زمانبندی
◀️این همان مسیری است که پروژه را فرسایشی میکند.
نگاه مهندسی
❌کدنویس میپرسد: «چی بسازم؟»
✅مهندس میپرسد: «دقیقاً چه چیزی تعریف شده و چگونه موفقیت آن سنجیده میشود؟»
💡یک تکنیک عملی:
🔹هر نیازمندی را با این سه سؤال تست کنید:
🔹قابل اندازهگیری است؟
🔹قابل تست است؟
🔹بدون ابهام است؟
اگر یکی از این سه جوابش «نه» باشد،
هنوز نیازمندی مهندسی نشده است.
📝تمرین
یکی از پروژههای اخیر خود را بردارید.
سه نیازمندی آن را بازنویسی کنید به شکلی که کاملاً قابل اندازهگیری باشد.
اگر نتوانستید، مشکل در کدنویسی نیست؛
مشکل در تحلیل است.
📚منبع: کتاب Beginning To Software Engineering
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
⚠️چرا بسیاری از برنامهنویسها با وجود استعداد، در میانه مسیر متوقف میشوند؟
نه به خاطر سختی.
نه به خاطر هوش کمتر.
نه حتی به خاطر AI.
بلکه به دلیل تصمیمگیری بر اساس احساس، نه تعهد حرفهای.
وقتی معیار «حال خوب» باشد:
❌با کاهش هیجان، استک عوض میشود.
❌پروژه نیمهکاره رها میشود.
❌ابزارهای جدید جایگزین عمق میشوند.
❌هوش مصنوعی (AI) بدون فهم عمیق استفاده میشود.
اما بازار به هیجان ارزش نمیدهد.
به «قابل اعتماد بودن» ارزش میدهد.
⚙️مهارت پنهان مهندسهای واقعی
🔹توانایی ماندن زمانی که کار جذاب نیست.
Debug طولانی🔹
Requirement مبهم🔹
Refactor خستهکننده🔹
🔹تسکهایی که دیده نمیشوند.
هوش مصنوعی (AI) این بخش را حذف نکرده است.
فقط کسانی را جلو میاندازد که در شرایط سخت میمانند. تفاوت در تکنولوژی نیست.
در ثبات و عمق است.
🗺نقشه راه عملیاتی
✔️یک استک
✔️یک پروژه جدی
✔️استفاده از AI بهعنوان ابزار، نه جایگزین فهم
✔️تحویل واقعی و Iteration مداوم
🔼معیار پیشرفت واقعی:
🔹حل باگهای پیچیده بدون تغییر مسیر
🔹تحویل Feature به صورت end-to-end
🔹دیپلوی (Deployment) واقعی
🔹ادامه دادن حتی در نبود انگیزه
📊مزیت رقابتی سالهای آینده
نه فریمورک جدید
نه ابزار جدید
نه AI جدید
📝بلکه:
🔹تمرکز
🔹عمق
🔹مالکیت سیستم
🔹قابل اتکا بودن
اگر بمانید، جلو میافتید.
اگر مدام تغییر دهید، درجا میزنید.
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
👨💻از کدنویس تا مهندس نرمافزار
💻"قبل از اولین خط کد"
🔹بیشتر پروژهها به خاطر کدنویسی بد شکست نمیخورند؛
به خاطر شروع اشتباه شکست میخورند. مهندس نرمافزار قبل از نوشتن اولین خط کد، چهار چیز را روشن میکند:
1️⃣مسئله دقیق چیست؟
❌«یک اپ فروش میخواهیم.»
✅«میخواهیم خطای ثبت دستی سفارشها را که ماهانه ۱۵٪ مغایرت ایجاد میکند کاهش دهیم.»
اگر مسئله شفاف و قابل اندازهگیری نباشد، راهحل هم قابل ارزیابی نیست.
2️⃣کاربر اصلی چه کسی است؟
مدیر ← گزارش تحلیلی
کارمند ← سرعت و سادگی
مشتری ← تجربه کاربری روان
اشتباه گرفتن کاربر یعنی بازنویسی در آینده.
3️⃣دامنه پروژه کجاست؟
دامنه یعنی مشخص کنیم:
چه چیزی داخل پروژه است
و چه چیزی عمداً خارج از پروژه است.
مثال «سیستم فروش» میتواند شامل اینها باشد:
ثبت سفارش - مدیریت انبار - تخفیف پیشرفته - اتصال به حسابداری - اپ موبایل
اما نسخه مهندسیشده میگوید:
در فاز اول فقط:
✅ ثبت و ویرایش سفارش گزارش روزانه
⛔️مدیریت شعبات، اتصال به حسابداری
[ پروژهای که مرز نداشته باشد، پایان هم نخواهد داشت. ]
4️⃣معیار موفقیت چیست؟
کاهش خطا به زیر ۳٪
کاهش زمان ثبت از ۷ دقیقه به ۲ دقیقه
افزایش رضایت کاربران
بدون معیار، پروژه فقط «تحویل» میشود؛ موفق نمیشود.
🔍کدنویس سریع شروع میکند.
مهندس ابتدا مسئله را مهندسی میکند.
📝تمرین:
برای پروژه فعلی خود، این چهار مورد را در یک صفحه بنویسید.
اگر نتوانید شفاف توضیح دهید، هنوز زمان کدنویسی نرسیده است.
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
Repost from شبکه نخبگان ایران
🔺آموزشهای ارزشمند "توسعه فردی" را در کانال زیر دنبال کنید:
| @Dr_MohammadNorozi |
🧠چگونه با هوش مصنوعی در ۳ روز وارد یک تکنولوژی جدید شویم؟
❓ورود به یک تکنولوژی جدید،
لزومی به ماهها مطالعه پراکنده و سردرگمی ندارد. بر اساس اصل 20/80، با یادگیری 20٪ مفاهیم کلیدی میتوان 80٪ نیاز عملی را پوشش داد.
💻این ویدیو توضیح میدهد:
🔹چگونه از یک ابزار رایگان AI (LM Arena) استفاده کنیم.
🔹چگونه مدل مناسب را انتخاب کنیم.
🔹چگونه با یک پرامپت ساختار یافته، یک برنامه یادگیری فشرده دریافت کنیم.
🔹و چگونه در مدت کوتاه برای انجام یک تسک یا مصاحبه آماده شویم.
🎯این رویکرد زمانی کاربردی است که قصد ورود به یک حوزه جدید را دارید یا با تکنولوژی ناآشنایی در پروژه یا فرآیند استخدام مواجه شدهاید.
📝لینک پرامپت استفادهشده در ویدیو:
🔗لینک پرامپت
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
📚کتاب ارزشمند "مقدمهای بر مهندسی نرمافزار"
✍️نویسنده: Rod Stephens
📱آغاز یک مسیر جدی در مهندسی نرمافزار
❗️مهندسی نرمافزار فقط کدنویسی یا یادگیری فریمورکها نیست. این حوزه مجموعهای از مهارتهای فنی و غیرفنی را در بر میگیرد؛ از تحلیل مسئله و طراحی سیستم گرفته تا کار تیمی، مدیریت پروژه و اخلاق حرفهای. وجه تمایز این کتاب در آن است که بهجای شروع از زبانهای برنامهنویسی، از "تفکر مهندسی" آغاز میکند و به پرسشهایی بنیادین درباره شکلگیری پروژهها، ساختار تیمها و فرآیند توسعه نرمافزار پاسخ میدهد.
📝این اثر در سه بخش تنظیم شده است:
🔹تصویر کلان مهندسی نرمافزار
🔹ساخت و تحویل نرمافزار
🔹مدلهای توسعه، اخلاق و آینده فناوری
💻مطالعه این کتاب فرصتی است برای ارتقای نگاه از "نوشتن کد" به "ساخت سیستمهای نرمافزاری".
🚀در ادامه، مهمترین نکات و مفاهیم کاربردی این کتاب را مرحلهبهمرحله بررسی خواهیم کرد.
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
📱 کلاس درس "طراحی زبانهای برنامهسازی"
🏛 دانشگاه صنعتی شریف
👤دکتر محمد ایزدی
⏺دارای دکترای علوم کامپیوتر از دانشگاه لیدن هلند
⏺عضو هیئت علمی دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
1️⃣جلسه اول: مقدمه
#کلاس_درس👨🏫
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
📚کتاب ارزشمند "برنامهنویسی پایتون"
❗️ورود به دنیای برنامهنویسی برای بسیاری از افراد میتواند فرآیندی دشوار و دلهرهآور باشد. مواجهه با زبانهای برنامهنویسی رایج نظیر ++C یا Java، که صفحات آنها مملو از نمادها و علائم ناآشناست اغلب موجب سردرگمی و دلسردی افراد تازهکار میشود.
🐍این کتاب با هدف ارائهی مفاهیم پایه و کاربردی زبان پایتون بهعنوان یکی از زبانهای ساده و در عین حال قدرتمند تألیف شده است تا راهنمایی مؤثر برای علاقهمندان به ورود به عرصه برنامهنویسی باشد. در ابتدا، تعریفی کلی از زبان پایتون ارائه میشود و سپس مراحل نصب و راهاندازی آن بر روی سیستم توضیح داده خواهد شد. همچنین، مزایا و معایب استفاده از این زبان در مقایسه با سایر زبانها بررسی میگردد.
💻در ادامه کتاب فوق به معرفی برخی از کلیدواژههای مهم در زبان پایتون میپردازد و با ذکر مثالهایی کاربردی، به تشریح مفاهیمی چون درج توضیحات (comments)، کار با رشتهها (strings) و اعداد صحیح (integers)، و تعریف متغیرها میپردازد. این مطالب به گونهای تنظیم شدهاند که خواننده بتواند ضمن درک مفاهیم نظری، بهراحتی آنها را در عمل پیادهسازی کرده و نتایج را مشاهده نماید.
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
💻کلاس درس مبانی برنامهنویسی دانشگاه صنعتی شریف
👤دکتر محمدامین فضلی
⏺عضو هیئت علمی دانشگاه صنعتی شریف
⏺مدیر گروه نرمافزار دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
⏺مسئول دروس برنامهسازی دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
🔺جلسه اول
🔺جلسه دوم
🔺جلسه سوم
🔺جلسه چهارم
🔺جلسه پنجم
🔺جلسه ششم
🔺جلسه هفتم
🔺جلسه هشتم
🔺جلسه نهم
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
💻کلاس درس مبانی برنامهنویسی دانشگاه صنعتی شریف
👤دکتر محمدامین فضلی
⏺عضو هیئت علمی دانشگاه صنعتی شریف
⏺مدیر گروه نرمافزار دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
⏺مسئول دروس برنامهسازی دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
9️⃣جلسه نهم (پایانی): معرفی تابع
#کلاس_درس👨🏫
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
💻کلاس درس مبانی برنامهنویسی دانشگاه صنعتی شریف
👤دکتر محمدامین فضلی
⏺عضو هیئت علمی دانشگاه صنعتی شریف
⏺مدیر گروه نرمافزار دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
⏺مسئول دروس برنامهسازی دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
8️⃣جلسه هشتم: Switch Case و جمع بندی ساختارهای کنترلی
#کلاس_درس👨🏫
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
💻کلاس درس مبانی برنامهنویسی دانشگاه صنعتی شریف
👤دکتر محمدامین فضلی
⏺عضو هیئت علمی دانشگاه صنعتی شریف
⏺مدیر گروه نرمافزار دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
⏺مسئول دروس برنامهسازی دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
7️⃣جلسه هفتم: حلقه For - حلقههای تو در تو
#کلاس_درس👨🏫
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
💻کلاس درس مبانی برنامهنویسی دانشگاه صنعتی شریف
👤دکتر محمدامین فضلی
⏺عضو هیئت علمی دانشگاه صنعتی شریف
⏺مدیر گروه نرمافزار دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
⏺مسئول دروس برنامهسازی دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
6️⃣جلسه ششم: حلقه While
#کلاس_درس👨🏫
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
💻کلاس درس مبانی برنامهنویسی دانشگاه صنعتی شریف
👤دکتر محمدامین فضلی
⏺عضو هیئت علمی دانشگاه صنعتی شریف
⏺مدیر گروه نرمافزار دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
⏺مسئول دروس برنامهسازی دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
5️⃣جلسه پنجم: شرطها
#کلاس_درس👨🏫
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
💻کلاس درس مبانی برنامهنویسی دانشگاه صنعتی شریف
👤دکتر محمدامین فضلی
⏺عضو هیئت علمی دانشگاه صنعتی شریف
⏺مدیر گروه نرمافزار دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
⏺مسئول دروس برنامهسازی دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
4️⃣جلسه چهارم: متغیرها
#کلاس_درس👨🏫
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
💻کلاس درس مبانی برنامهنویسی دانشگاه صنعتی شریف
👤دکتر محمدامین فضلی
⏺عضو هیئت علمی دانشگاه صنعتی شریف
⏺مدیر گروه نرمافزار دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
⏺مسئول دروس برنامهسازی دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف
3️⃣جلسه سوم: معرفی زبان C و راهاندازی نرمافزار برنامهنویسی با آن
#کلاس_درس👨🏫
👨💻در کانال انجمن علمی برنامهنویسی با ما همراه باشید…
| @Programming_Association |
