کدهالیک | codehalic
4.15K subscribers
529 photos
51 videos
67 files
600 links
دوره های آموزشیمون رو از داخل سایت ببینید

https://codehalic.ir
Download Telegram
نسل جدیدی از المان‌های گرافیکی واکنش‌گرا برای فریم‌ورک React معرفی شده که با بهره‌گیری از توان محاسباتی WebGL، افکت‌های بصری شبیه‌سازی‌شده‌ی پلاسما و مایعات را روی canvas پیاده‌سازی می‌کند. این پنل‌های هوشمند در صورت برقراری تماس با یکدیگر ادغام شده و با ایجاد شکست نور در لایه‌های پس‌زمینه و قابلیت چسبندگی منظم ، بستری نوآورانه برای طراحی‌های پیچیده فراهم می‌سازند. با توجه به اتکای شدید این افکت‌ها به پردازشگر گرافیکی (GPU)، بهترین عملکرد آن در مرورگرهای دسکتاپ ارائه می‌شود برای همین این نسخه خیلی برای دیزاین های موبایلی مناسب نیست !

https://cruxgarden.github.io/plasma-ui/

@codehalics | کدهالیک
❤6
نرم‌افزار خود لنوو (Vantage) برای لپ‌تاپ‌های Legion روی لینوکس اجرا نمی‌شه، ابزارهایی هم که جاشو گرفتن کار می‌کنن ولی ظاهرشون خیلی قدیمیه. واسه همین خودم Cohort رو ساختم: یه اپ Qt که با Material 3 طراحی شده و رنگ‌ها و فونت دسکتاپتو خودش برمی‌داره.

پاور مودها (با محدودیت‌های پاور دلخواه)، حالت Conservation و شارژ سریع باتری، فن‌کِرو، نور RGB چهار ناحیه‌ای کیبورد، Fn lock، گرافیک هیبریدی و کلی چیز دیگه رو کنترل می‌کنه. فقط هم چیزایی رو نشون می‌ده که لپ‌تاپت واقعاً ساپورت می‌کنه.

کاملاً رایگان و اوپن‌سورسه (GPL-3.0) و روی هر دیستریبیوشنی کار می‌کنه.

لینک گیت‌هاب:
https://github.com/yappologistic/Cohort

E_Gurl ✍️

@codehalics | کدهالیک
🔥9❤1
نودجی‌اس برای اینکه ایونت لوپ (Event Loop) اصلیش موقع کارهای سنگین قفل نشه، یه سری از کارها رو میسپاره به یه بخش پس‌زمینه به اسم ترد پول که توسط کتابخونه libuv مدیریت میشه. تعداد این تردها به‌صورت پیش‌فرض ۴ تاست و کارهایی مثل رمزنگاری (crypto)، فشرده‌سازی (zlib) یا یک‌سری عملیات دیسک رو انجام میدن. شما میتونید با تغییر متغیر محیطی UV_THREADPOOL_SIZE تعدادشون رو بیشتر یا کمتر کنید.
توی نودجی‌اس سایز پیش‌فرض ترد پول روی ۴ تنظیم شده و می‌تونی اون رو دستی بین ۱ تا ۱۰۲۴ تغییر بدی. تابع os.availableParallelism() این کار رو اتوماتیک انجام نمیده و فقط تعداد هسته‌های در دسترس پردازنده رو میده.

نویسنده توی این مقاله میگه افزایش خودکار تعداد تردهای ترد پول بر اساس تعداد هسته‌های CPU (مثلاً با تابع `availableParallelism`) اصلاً ایده درستی نیست. دلیلش اینه که این تابع فقط تعداد هسته‌های موجود رو نشون میده، نه میزان آزاد بودنشون رو. اگه برنامه‌های مختلف فکر کنن همه هسته‌ها خالیه و کلی ترد جدید بسازن، سرور دچار رقابت شدید بین پروسس‌ها میشه. این کار باعث افزایش جابه‌جایی‌های پردازنده (Context Switching) و پر شدن کش میشه که در نهایت حتی خود ایونت لوپ اصلی نودجی‌اس رو هم کُند میکنه.

از طرف دیگه، زیاد کردن تردها شاید برای کارهای I/O که منتظر دیسک می‌مونن خوب باشه، اما برای کارهای محاسباتی سنگین مثل bcrypt و gzip اوضاع رو بدتر میکنه و زمان پاسخگویی به درخواست‌ها رو بالا می‌بره. نویسنده اشاره میکنه که پایین آوردن اولویت تردها (مثل nice 10) هم مشکل رو کامل حل نمیکنه. در نهایت حرفش اینه که سایز ترد پول نباید اتوماتیک تغییر کنه، بلکه باید بر اساس تست کارایی واقعی روی سرور شلوغ و نوع برنامه به شکل دستی تنظیم بشه.

https://blog.platformatic.dev/more-threads-on-an-already-busy-machine

@codehalics | کدهالیک
👍6❤2
This media is not supported in your browser
VIEW IN TELEGRAM
چرا بلوبانک برای انتقال وجه رمز دوم نمی‌خواد؟ مگه ممکن نیست کسی بتونه توکن احراز هویتش رو بدزده ؟! جوابش توی این ویدیوئه.

توی بوت‌کمپ پاییزه کدهالیک، یه نئوبانک مثل بلوبانک رو از صفر تا صد خودمون می‌سازیم. شروع ۱۰ مهر، به شکل آموزش ویدیویی آنلاین.

برای گرفتن کد تخفیف ، توی دوره میتونی از الان پیش ثبت نام کنی !👇

https://codehalic.ir/courses/backend-engineering-bootcamp

@codehalics | کدهالیک
🔥14❤2🥰2👏1
این مقاله خیلی قشنگ توضیح می‌ده که تو دنیای مهندسی نرم‌افزار ما دو جور توصیه داریم: یه سری قواعد صفر و صدی و سرراست مثل «توابع رو کوچیک بنویس» یا DRY که یادگیریشون راحته اما رعایت کورکورانه‌شون لزوماً ما رو تبدیل به برنامه‌نویس بهتری نمی‌کنه؛ و یه سری توصیه‌های عمیق‌تر که نیاز به قضاوت دارن، مثل اینکه «کد تکراری خیلی بهتر از یه Abstraction اشتباهه». نویسنده تأکید می‌کنه بهترین و ارزشمندترین نصیحت‌ها دقیقاً همون‌هایی هستن که هیچ فرمول و چک‌لیست مشخصی ندارن و اجرا کردنشون سخته، چون درک درستشون فقط با سال‌ها تجربه، درگیر شدن با چالش‌های مختلف و رسیدن به یه «شهود مهندسی» به دست میاد که بهمون نشون می‌ده کِی باید قوانین رو کنار بذاریم و بر اساس شرایط واقعیِ پروژه بهترین تصمیم رو بگیریم.

https://dev.to/remojansen/why-the-best-software-advice-is-the-hardest-to-follow-4kg8?via=dailydev

@codehalics | کدهالیک
❤10👍4🔥1
نیازی نیست برای هر تغییر، یه استیت جدید تعریف کنی و با useEffect آپدیتش کنی؛ این کار فقط باعث دوباره رندر شدن کامپوننت، فلش زدن صفحه و سنگین شدن برنامه میشه.

اگه متغیری داری که میشه اون رو از رو بقیه استیت‌ها یا Propها حساب کرد، دقیقاً همون موقع رندر کردن حسابش کن؛ اگر هم محاسباتش خیالی سنگینه، بذارش داخل useMemo. یادت باشه افکت‌ها برای ارتباط با دنیای بیرون کامپوننت طراحی شدن، نه جابه‌جا کردن داده‌ها بین استیت‌های داخلی!

@codehalics | کدهالیک
❤8
This media is not supported in your browser
VIEW IN TELEGRAM
یادش بخیر ایونت آخر سال پیش که چقدر پرانرژی بود و واقعاً دلم برای اون روزها و دورهمی‌هامون تنگ شده؛ همیشه تلاش کردیم ایونت‌هامون بار فنی خیلی بالایی داشته باشه و توی همین برنامه هم عرفان عباسی عزیزم راجع به یه موضوع فوق‌العاده جذاب یعنی پرفورمنس React در اپلیکیشن‌های ریل‌تایم و چالش‌های سامانه معاملاتی صحبت کرده که امیدوارم به‌زودی دوباره شرایطش پیش بیاد و بتونیم دور هم جمع بشیم و ایونت جدید بذاریم، پس حتماً ویدیو رو ببینید و با لایک و سابسکرایب از کانال حمایت کنید امیدوارم بتونیم به زودی به 1000 تا کاربر توی یوتیوب برسیم !

پ.ن : ببخشید کیفیت ویدیو رو آوردم پایین که حجمش زیاد نشه ویدیو اصلی رو با کیفیت بالا از یوتیوبمون ببینید !

https://www.youtube.com/watch?v=3saUAscSY7g

@codehalics | کدهالیک
❤17🔥3🥰1
دلیل اصلی کند شدن پستگرس توی حجم داده‌های بالا، کندی دیسک‌های ابری مثل EBS هستش و اگر اون رو روی حافظه‌های پرسرعت محلی NVMe اجرا کنین، سرعت تراکنش‌ها چند برابر میشه و فشار سیستم به شدت افت میکنه. البته این تغییر دیسک فقط سرعت کار با داده‌های ردیفی را بالا می‌بره و ماهیت ساختاری دیتابیس را عوض نمیکنه؛ یعنی برای گزارش‌گیری و تحلیل داده‌های خیلی بزرگ، همچنان لازمه که داده‌ها را به یک دیتابیس ستونی مثل کلیک‌هاوس منتقل کنین تا بهترین نتیجه را بگیرین.

https://clickhouse.com/blog/postgres-on-nvme

@codehalics | کدهالیک
👍3🔥1🥰1
کدهالیک | codehalic
دلیل اصلی کند شدن پستگرس توی حجم داده‌های بالا، کندی دیسک‌های ابری مثل EBS هستش و اگر اون رو روی حافظه‌های پرسرعت محلی NVMe اجرا کنین، سرعت تراکنش‌ها چند برابر میشه و فشار سیستم به شدت افت میکنه. البته این تغییر دیسک فقط سرعت کار با داده‌های ردیفی را بالا…
برام سوال شد مگ کسی تو ایران EBS داره؟

خود EBS سرویس اختصاصی آمازون (AWS) برای ارائه‌ی دیسک‌های ابری تحت شبکه (Block Storage) هست و چون آمازون در ایران دیتاسنتر نداره، این برند مستقیماً وجود نداره؛ اما معادل دقیق فنی اون تحت عنوان Block Storage (که معمولاً با Ceph و OpenStack پیاده‌سازی شده) توسط ابری های داخلی مثل ابر آروان، پارس‌پک، همروش، ابر دراک و ابرآمد ارائه می‌شه.

پس انتظار زیادیه پوستگرس روی این سرویسا داشته باشی و خروجی خوبی بتونی بگیری با اینکه قیمت سرویس هاشون سر ب فلک کشیده مخصوصا سرویس های DAAS که جدیدا هر کدوم بیرون دادن ! اکثرا هم باید سرویس های خوبشونو بخری وگرنه میبرن دیتابیست رو روی یه اینستنس شیر با بقیه اجراش میکنن !
یعنی عملا دیتابیس تو با دیتابیس اصغر از شرکت ایکس دقیقا جفتشون رو یه اینستنس داره اجرا میشه بدون ک خودت ببینی چون یوزر های جدا برات میسازن ولی یه اینستنسه همش !
@codehalics | کدهالیک
❤3
کدهالیک | codehalic
برام سوال شد مگ کسی تو ایران EBS داره؟ خود EBS سرویس اختصاصی آمازون (AWS) برای ارائه‌ی دیسک‌های ابری تحت شبکه (Block Storage) هست و چون آمازون در ایران دیتاسنتر نداره، این برند مستقیماً وجود نداره؛ اما معادل دقیق فنی اون تحت عنوان Block Storage (که معمولاً…
من یه توضیحی بدم برای کسایی که به دنیای Cloud Engineering و معماری ابری علاقه دارن درک نحوه همکاری OpenStack و Ceph یکی از جذاب‌ترین مفاهیم پایه ای تو این حوزه است و خیلی بامزه است ترکیبشون !

توی محیط ابری، وقتی یه سرور مجازی می‌سازی که به یه دیسک احتیاج داره، کلاً دو تا بخش وارد بازی می‌شن: مدیریت‌کننده و ذخیره‌کننده.

کار OpenStack مثل یه مدیر ارکستره؛ درخواستت رو می‌گیره، سرور مجازی رو می‌سازه و از بخش مدیریت دیسکش (سرویس Cinder) می‌خواد که یه Storage به این ماشین وصل کنه. اما خود OpenStack دیسک فیزیکی نداره که داده‌ها رو روش بریزه! اینجاست که Ceph وارد میشه.

سیستم Ceph مثل یه انبار بزرگ از هاردهای فیزیکیه که روی ده‌ها سرور مختلف توی کل Data Center پخش شدن. وقتی می‌گن «توی محیط ابری دیتای تو روی یه هارد یا سرور مشخص نیست»، دقیقاً دارن درباره کارکرد همین Ceph حرف میزنن. سف دیسک درخواستی تو رو به تکه‌های کوچک‌تر تقسیم می‌کنه، هر تکه رو روی هاردِ یه سرورِ متفاوت می‌ذاره و چند تا کپی (Replication) هم ازشون می‌سازه تا اگه یه هارد یا حتی کل یه سرور فیزیکی بسوزه، دیتات اصلاً آسیب نبینه.

شاید برات سوال بشه پس تکلیف RAID چی میشه؟ توی محیط ابری دیگه کلاً RAID سخت‌افزاری رو می‌ذاریم کنار؛ چون RAID فقط محافظ هارد‌های روی یک سرور بود، اما Ceph کار همون RAID رو به صورت نرم‌افزاری و در سطح کل Data Center انجام میده.

در نهایت، OpenStack این دیسکِ توزیع‌شده رو از طریق Network مثل یه Block Storage به سرور مجازی تو متصل می‌کنه تا بتونی روش Operating System یا Database بالا بیاری.

@codehalics | کدهالیک
🔥4🥰1
کدهالیک | codehalic
من یه توضیحی بدم برای کسایی که به دنیای Cloud Engineering و معماری ابری علاقه دارن درک نحوه همکاری OpenStack و Ceph یکی از جذاب‌ترین مفاهیم پایه ای تو این حوزه است و خیلی بامزه است ترکیبشون ! توی محیط ابری، وقتی یه سرور مجازی می‌سازی که به یه دیسک احتیاج…
یه کاربرد خیلی خفن دیگ هم Ceph داره حیفه اینجا این بحث رو تکمیل کنیم ! Ceph همزمان سه تا چیز رو براتون میتونه محیا کنه
Block Storage
Object Storage
File System (CephFS)

حالا خیلیا میان ازش به عنوان Object Storage استفاده میکنن مثلا نماوا یا فیلیمو یا VOD های بزرگی مثل Netflix حتی و قطعا انتخابشون یه چیزی مثل MinIO نیست !
چون MinIO توی این مقیاس‌های بزرگ به خاطر محدودیت‌های معماری و تغییرات لایسنس تجاریش اصلاً پاسخگو نیست. این مجموعه‌ها دقیقاً میرن سراغ Ceph (بخش Object Storage / RGW) تا از اون به عنوان زیرساخت اصلی ذخیره‌سازی فایل‌های رسانه‌ای خودشون استفاده کنن. توی این سناریو، فایل‌های ویدیو بعد از Transcode شدن مستقیماً روی Cluster بزرگی از Ceph ذخیره می‌شن و با پروتکل S3 به CDN متصل میشن؛ قدرتش هم اینجاست که با پخش شدن آرشیو فیلم‌ها روی ده‌ها سرور فیزیکی، همزمان با افتادن ترافیک سنگینِ شبانه (مثلاً موقع انتشار قسمت جدید یک سریال) هیچ لود سنگینی توی I/O به وجود نمیاد، هزینه‌های توسعه زیرساخت کاملا ارزون میشه و Open-Source باقی می‌مونه و حتی اگه چند تا هارد یا سرور ذخیره‌سازی وسط پخش زنده از دسترس خارج بشن، کاربرا بدون کوچک‌ترین قطعی یا فریم‌دراپ به تماشای فیلم ادامه میدن چیزی که Minio به شکل نیتیو نداره اصلا حالام که پولی شده که دیگ کلا باید بیخیالش بشین !
سف خیلی خیلی بزرگه حتما یه روزی برید سمتش و راجبش بخونین شگفت زدتون میکنه !

https://ceph.io/en/

@codehalics | کدهالیک
🔥4🥰1
پروژه‌های اوپن‌سورس هم این وسط دارن یکی‌یکی به سمت لایسنس‌های پولی و Closed Source کوچ می‌کنن!

پورتینر (Portainer) توسعه‌ی نسخه رایگان و متن‌بازش رو عملاً روی ورژن 2 متوقف کرد؛ یعنی این نسخه دیگه قابلیت‌های جدید یا معماری بازطراحی‌شده رو نمی‌گیره و فقط به آپدیت‌های امنیتی و باگ‌فیکس محدود میشه. تمام ویژگی‌های جدید رفته روی نسخه 3.0 که کاملاً Closed Source شده و فوکوس اصلیش رو گذاشته روی کوبرنتیز. اگه دنبال جایگزین‌های متن‌باز و رایگان برای مدیریت داکر می‌گردید، پروژه‌های نوظهوری مثل Komodo و Arcane گزینه‌های جذابی برای بررسی هستن.

پ.ن : عجب وضعیه آقا !

https://itsfoss.com/news/portainer-community-edition-freeze/

@codehalics | کدهالیک
❤4👍1😱1
این مقاله نشون میده که با اومدن هوش مصنوعی و خودکار شدن کدنویسی، نقش برنامه‌نویس‌ها نه تنها از بین نرفته، بلکه یک پله بالاتر رفته؛ به طوری که تمرکز اصلی از تایپِ ساده‌ی دستورات، رفته سمت تصمیم‌گیری‌های کلان و درک درست مسئله. هوش مصنوعی میتونه کدهای پیچیده رو توی چند ثانیه تحویل بده، اما مسئولیت طرح سؤال‌های دقیق، تبدیل نیازهای مبهم به خواسته‌های شفاف و بررسی منتقدانه کدهای تولیدشده برای پیدا کردن باگ‌های پنهان، همچنان با انسانه. از طرفی ابزارهای هوش مصنوعی شناخت واقعی از شرایط کاربر، معماری کلی سیستم و اتفاقات غیرمنتظره توی دنیای واقعی ندارن. در نهایت، هوش مصنوعی کارهای تکراری و خسته‌کننده رو عهده‌دار شده تا برنامه‌نویس‌ها فرصت بیشتری برای تفکر عمیق، طراحی زیرساخت و ارزش‌آفرینی واقعی داشته باشن.

https://blog.stackademic.com/ai-writes-my-code-now-heres-what-i-actually-do-with-my-time-a7387fd82e75

@codehalics | کدهالیک
👍13❤2
This media is not supported in your browser
VIEW IN TELEGRAM
شرکت Anthropic رسما از Claude Sonnet 5.5 رونمایی کرد؛ دومین عضو از خانواده Claude 5.5 که ارتقای قابل توجهی نسبت به Sonnet 5 به شمار می‌رود.

این مدل بیش از ۳۰ درصد سریع‌تر از نسل قبل است و به دلیل مصرف توکن کمتر برای انجام هر تسک، تا ۳۰ درصد هزینه نهایی کمتری دارد. در بنچمارک‌های مختلف، Sonnet 5.5 در سطوح Low و Medium Effort می‌تواند بهترین امتیاز Sonnet 5 را با حدود یک‌دهم هزینه ثبت کند. این نسخه در رفع باگ، کدنویسی، طراحی UI و ساخت داکیومنت و اسلاید بسیار دقیق‌تر شده و شفاف‌تر می‌نویسد.

مدل Sonnet 5.5 از امروز به صورت عمومی در دسترس قرار گرفته و مدل Haiku 5.5 نیز طی هفته‌های آینده عرضه خواهد شد.


@codehalics | کدهالیک
❤11
یک تریک باحال توی تایپ‌اسکریپت اینه که به جای as از satisfies استفاده کنی!
وقتی از as استفاده می‌کنی داری به کامپایلر می‌گی «اعتماد کن، تایپش همینه»، اما satisfies می‌گه «چک کن درست باشه، ولی تایپ اصلیم رو دست‌نزن!». اینطوری هم ساختار داده‌ت کنترل میشه و هم اتوکامپلیت و تایپ‌های دقیقِ خودت رو از دست نمیدی.
البته هنوز واسه گرفتن المان‌های DOM یا داده‌های unknown از API مجبوریم بریم سراغ as.

@codehalics | کدهالیک
❤14👍2
جدیداً یه موج جدید توی دنیای تک راه افتاده به اسم «نبود هوش مصنوعی خودش یه فیچره» که قشنگ‌ترین نمونه‌ش حرکت اخیر لیبره‌آفیسه. بعد از اینکه همه شرکت‌ها به زور AI رو چپوندن توی نرم‌افزارهاشون، حالا خیلیا دنبال ابزارهای ساده و امن می‌گردن. لیبره‌آفیس هم توی نسخه جدیدش اعلام کرده هیچ هوش مصنوعی پیش‌فرضی نداره تا دیتای حساس مردم دست شرکت‌های دیگه نیفته. اون‌ها می‌گن برخلاف غول‌های تکنولوژی که فقط برای گرون کردن اشتراک‌هاشون همه‌جا AI می‌ذارن، اولویت اولشون حریم خصوصی کاربرهاست؛ هرچند اگه کسی واقعاً هوش مصنوعی بخواد، می‌تونه خودش مدل‌های لوکال و امن رو روش نصب کنه.

https://blog.documentfoundation.org/blog/2026/09/03/yes-no-ai-is-now-a-feature/

@codehalics | کدهالیک
🔥20👍6❤3😁1
الان با وجود هوش مصنوعی و ایجنت‌ها بهترین زمان برای یادگیری کامل چرخه حیات توسعه نرم‌افزاره، چون مرحله کدنویسی خیلی سریع‌تر انجام میشه و وقت بیشتری برای بقیه بخش‌ها مثل طراحی، تست و دپلوی باقی می‌مونه. توی پروژه‌های شخصی قبلاً باید کلی وقت می‌ذاشتیم تا فقط کد اولیه‌رو بزنیم، اما الان ایجنت‌ها این کار رو راحت کردن و باعث میشن سریع‌تر سراغ اصل مطلب بریم. این یعنی می‌تونیم توی زمان کم، پروژه‌های مختلفی رو راه بندازیم و مهارت‌هایی مثل تنظیم CI/CD یا معماری رو که شاید توی کار روزمره فرصتش پیش نیاد، حسابی تمرین کنیم و یاد بگیریم.

https://spin.atomicobject.com/software-development-lifecycle

@codehalics | کدهالیک
👍2🔥2
ترامپ با فرمان اجرایی، «هوش مصنوعی» را به «ابرهوش» تغییر نام داد

دونالد ترامپ، رئیس‌جمهور آمریکا، فرمانی اجرایی امضا کرده که بر اساس آن، نهادهای فدرال موظف‌اند در مکاتبات رسمی خود عبارت‌های «هوش مصنوعی (AI) را با ابرهوش (SI) جایگزین کنند.

بر پایه‌ی این فرمان، تمامی ارتباطات رسمی دولت آمریکا از این پس باید از واژگان جدید استفاده کنند و اصطلاحات پیشین در اسناد دولتی کنار گذاشته می‌شوند.

جالب‌تر اینکه برخی از مدیرعامل‌های کمپانی‌های مطرح دنیا از جمله AMD، گوگل، تسلا، اسپیس‌ایکس، متا، انتروپیک هم این تغییر نام را پذیرفته‌اند.

Zoomit ✍️

@codehalics | کدهالیک
😁12🤬3🔥2👍1
قوانین مهندسی نرم افزار رو خیلی وقته دیگ بررسی نکردیم امروز میخوام راجب یکی از اصل های اساسی و بنیادینی که 90% مهندسای نرم افزار بهش بی اهمیتن رو براتون بازگو کنم !
قانون YAGNI (You Aren't Gonna Need It)(فعلاً بهش نیاز نداری!) می‌گه هیچ‌وقت به امید اینکه «شاید بعداً فلان قابلیت به کارمون بیاد»، برای سیستم کد اضافه ننویس. کدهایی که برای نیازهای فرضی آینده پیش‌بینی می‌کنی، در ۹۰ درصد مواقع یا هیچ‌وقت استفاده نمیشن یا وقتِ اجرا آن‌قدر همه چیز تغییر کرده که مجبور میشی همه‌شون رو بریزی دور! مثلاً وقتی داری یک بخش ورود ساده می‌سازی، نیازی نیست از همین اول سیستم ورود با گوگل، اثر انگشت و ارسال پیامک رو هم پیاده کنی تا پروژه اوور-انجینیر بشه؛ همون ورود ساده رو تمیز تحویل بده و هروقت کاربران واقعاً به قابلیت جدیدی نیاز داشتند، کدت رو رفکتور کن و توسعه‌اش بده.

#lawsofsoftwareengineering

@codehalics | کدهالیک
❤4🔥3👍1
کدهالیک | codehalic
قوانین مهندسی نرم افزار رو خیلی وقته دیگ بررسی نکردیم امروز میخوام راجب یکی از اصل های اساسی و بنیادینی که 90% مهندسای نرم افزار بهش بی اهمیتن رو براتون بازگو کنم ! قانون YAGNI (You Aren't Gonna Need It)(فعلاً بهش نیاز نداری!) می‌گه هیچ‌وقت به امید اینکه «شاید…
اصل YAGNI اتفاقاً تو عصر هوش مصنوعی صد برابر مهم‌تر شده! الان که AI با یک دستور ساده برامون فیچر می‌زنه، بزرگ‌ترین تله اینه که وسوسه بشیم بگیم «خب اینم اضافه کن، کاری نداره که!» ولی نتیجه‌اش میشه کدی پیچیده، دست‌پاشکسته و پر از دردسر.
مثلاً سر سناریوی تست یک شرکت، قرار بود یک ویدیوپلیر ساده با پشتیبانی از HLS و زیرنویس بزنم. با خودم گفتم «بذار AI برام فیچر شخصی‌سازی زیرنویس (تغییر رنگ و فونت) رو هم بزنه که خفن‌تر بشه!»؛ دقیقاً همین‌جا YAGNI رو گذاشتم زیر پام. نتیجه؟ فیچری که نه کارفرما خواسته بود و نه حتی یک کاربر بهش نیاز داشت، بازخوردها و اصلاحیه‌های بی‌‌پایانی آورد که کلی از وقت و انرژیم رو گرفت. هوش مصنوعی کد زدن رو بی‌نهایت ساده کرده، اما استراتژیِ کد ننوشتن هنوز با ماست! ازش درست استفاده کنین خودتون رو نندازین گوشه رینگ ! اندازه چیزی که ازتون خواسته شده خروجی بدین وگرنه بعدا بابت چیز هایی که قرار نیست خروجی بدین بازخواست خواهین شد ! یا کدتون باگ میخوره و ادب میشین یا فیچره اورانجیر میشه و عذابتون میده ! از من به شما نصیحت ...

#lawsofsoftwareengineering
@codehalics | کدهالیک
🔥4👍2