کدهالیک | codehalic
رفتن به کانال در Telegram
دوره های آموزشیمون رو از داخل سایت ببینید https://codehalic.ir
نمایش بیشتر3 977
مشترکین
-4224 ساعت
-1027 روز
-11630 روز
آرشیو پست ها
3 967
یادش بخیر ایونت آخر سال پیش که چقدر پرانرژی بود و واقعاً دلم برای اون روزها و دورهمیهامون تنگ شده؛ همیشه تلاش کردیم ایونتهامون بار فنی خیلی بالایی داشته باشه و توی همین برنامه هم عرفان عباسی راجع به یه موضوع فوقالعاده جذاب یعنی پرفورمنس React در اپلیکیشنهای ریلتایم و چالشهای سامانه معاملاتی صحبت کرده که امیدوارم بهزودی دوباره شرایطش پیش بیاد و بتونیم دور هم جمع بشیم و ایونت جدید بذاریم، پس حتماً ویدیو رو ببینید و با لایک و سابسکرایب از کانال حمایت کنید امیدوارم بتونیم به زودی به 1000 تا کاربر توی یوتیوب برسیم !
https://www.youtube.com/watch?v=3saUAscSY7g
@codehalics | کدهالیک
3 967
نیازی نیست برای هر تغییر، یه استیت جدید تعریف کنی و با
useEffect آپدیتش کنی؛ این کار فقط باعث دوباره رندر شدن کامپوننت، فلش زدن صفحه و سنگین شدن برنامه میشه.
اگه متغیری داری که میشه اون رو از رو بقیه استیتها یا Propها حساب کرد، دقیقاً همون موقع رندر کردن حسابیاش کن؛ اگر هم محاسباتش خیالی سنگینه، بذارش داخل useMemo. یادت باشه افکتها برای ارتباط با دنیای بیرون کامپوننت طراحی شدن، نه جابهجا کردن دادهها بین استیتهای داخلی!
@codehalics | کدهالیک3 967
این مقاله خیلی قشنگ توضیح میده که تو دنیای مهندسی نرمافزار ما دو جور توصیه داریم: یه سری قواعد صفر و صدی و سرراست مثل «توابع رو کوچیک بنویس» یا DRY که یادگیریشون راحته اما رعایت کورکورانهشون لزوماً ما رو تبدیل به برنامهنویس بهتری نمیکنه؛ و یه سری توصیههای عمیقتر که نیاز به قضاوت دارن، مثل اینکه «کد تکراری خیلی بهتر از یه Abstraction اشتباهه». نویسنده تأکید میکنه بهترین و ارزشمندترین نصیحتها دقیقاً همونهایی هستن که هیچ فرمول و چکلیست مشخصی ندارن و اجرا کردنشون سخته، چون درک درستشون فقط با سالها تجربه، درگیر شدن با چالشهای مختلف و رسیدن به یه «شهود مهندسی» به دست میاد که بهمون نشون میده کِی باید قوانین رو کنار بذاریم و بر اساس شرایط واقعیِ پروژه بهترین تصمیم رو بگیریم.
https://dev.to/remojansen/why-the-best-software-advice-is-the-hardest-to-follow-4kg8?via=dailydev
@codehalics | کدهالیک
3 967
چرا بلوبانک برای انتقال وجه رمز دوم نمیخواد؟ مگه ممکن نیست کسی بتونه توکن احراز هویتش رو بدزده و حتی چند دقیقه برای خالی کردن حساب کاربر بیشتر زمان نیاز نداره ! جوابش توی این ویدیوئه.
توی بوتکمپ پاییزه کدهالیک، یه نئوبانک مثل بلوبانک رو از صفر تا سرور خودمون میسازیم. شروع ۱۰ مهر، آنلاین.
برای گرفتن کد تخفیف پیشثبتنام، توی دوره میتونی از الان پیش ثبت نام کنی !👇
https://codehalic.ir/courses/backend-engineering-bootcamp
@codehalics | کدهالیک
3 967
نودجیاس برای اینکه ایونت لوپ (Event Loop) اصلیش موقع کارهای سنگین قفل نشه، یه سری از کارها رو میسپاره به یه بخش پسزمینه به اسم ترد پول که توسط کتابخونه libuv مدیریت میشه. تعداد این تردها بهصورت پیشفرض ۴ تاست و کارهایی مثل رمزنگاری (crypto)، فشردهسازی (zlib) یا یکسری عملیات دیسک رو انجام میدن. شما میتونید با تغییر متغیر محیطی
UV_THREADPOOL_SIZE تعدادشون رو بیشتر یا کمتر کنید.
توی نودجیاس حداکثر عددی که میتونی برای UV_THREADPOOL_SIZE ست کنی ۱۰۲۴ تا ترد هست. یعنی بازه تنظیمش از حداقل ۱ تا حداکثر ۱۰۲۴ ترد متغیره.
نویسنده توی این مقاله میگه افزایش خودکار تعداد تردهای ترد پول بر اساس تعداد هستههای CPU (مثلاً با تابع `availableParallelism`) اصلاً ایده درستی نیست. دلیلش اینه که این تابع فقط تعداد هستههای موجود رو نشون میده، نه میزان آزاد بودنشون رو. اگه برنامههای مختلف فکر کنن همه هستهها خالیه و کلی ترد جدید بسازن، سرور دچار رقابت شدید بین پروسسها میشه. این کار باعث افزایش جابهجاییهای پردازنده (Context Switching) و پر شدن کش میشه که در نهایت حتی خود ایونت لوپ اصلی نودجیاس رو هم کُند میکنه.
از طرف دیگه، زیاد کردن تردها شاید برای کارهای I/O که منتظر دیسک میمونن خوب باشه، اما برای کارهای محاسباتی سنگین مثل bcrypt و gzip اوضاع رو بدتر میکنه و زمان پاسخگویی به درخواستها رو بالا میبره. نویسنده اشاره میکنه که پایین آوردن اولویت تردها (مثل nice 10) هم مشکل رو کامل حل نمیکنه. در نهایت حرفش اینه که سایز ترد پول نباید اتوماتیک تغییر کنه، بلکه باید بر اساس تست کارایی واقعی روی سرور شلوغ و نوع برنامه به شکل دستی تنظیم بشه.3 967
نرمافزار خود لنوو (Vantage) برای لپتاپهای Legion روی لینوکس اجرا نمیشه، ابزارهایی هم که جاشو گرفتن کار میکنن ولی ظاهرشون خیلی قدیمیه. واسه همین خودم Cohort رو ساختم: یه اپ Qt که با Material 3 طراحی شده و رنگها و فونت دسکتاپتو خودش برمیداره.
پاور مودها (با محدودیتهای پاور دلخواه)، حالت Conservation و شارژ سریع باتری، فنکِرو، نور RGB چهار ناحیهای کیبورد، Fn lock، گرافیک هیبریدی و کلی چیز دیگه رو کنترل میکنه. فقط هم چیزایی رو نشون میده که لپتاپت واقعاً ساپورت میکنه.
کاملاً رایگان و اوپنسورسه (GPL-3.0) و روی هر دیستریبیوشنی کار میکنه.
لینک گیتهاب:
https://github.com/yappologistic/Cohort
3 967
نسل جدیدی از المانهای گرافیکی واکنشگرا برای فریمورک React معرفی شده که با بهرهگیری از توان محاسباتی WebGL، افکتهای بصری شبیهسازیشدهی پلاسما و مایعات را روی بوم کانواس پیادهسازی میکند. این پنلهای هوشمند در صورت برقراری تماس با یکدیگر ادغام شده و با ایجاد شکست نور در لایههای پسزمینه و قابلیت چسبندگی منظم به شبکهبندی (Grid)، بستری نوآورانه برای طراحیهای پیچیده فراهم میسازند. با توجه به اتکای شدید این افکتها به پردازشگر گرافیکی (GPU)، بهترین عملکرد آن در مرورگرهای دسکتاپ ارائه میشود.
https://cruxgarden.github.io/plasma-ui/
@codehalics | کدهالیک
3 967
۱۰۰ دلار کردیت رایگان برای فیچر جدید کلود سیشن در کلادکد !
اول از همه باید پرو یا مکس داشته باشین بعد وارد لینک https://claude.ai/code
بشید و گیت هابتون رو وصل کنین به کلاد کدتون !
از الان کلود سیشن براتون فعال میشه و بعد توی usage تون که برید میتونین این ۱۰۰ دلار رو claim کنین !
حالا کلود سیشن چیه ؟! بهتون اجازه میده یه تسک یا پرامپت روی کلود انتروپیک بدون قطعی اجرا بشه و نیازی نباشه همزمان سیستمتون روشن باشه و اینترنتش وصل باشه چیزی که به شکل فعلی داریم استفاده میکنیم !
@codehalics | کدهالیک
3 967
آمار جدید گیتهاب نشون میده حدود هشتاد درصد برنامهنویسها دوست دارن کدهای بهینهتر و کممصرفتری بنویسن و نگران مصرف انرژی هوش مصنوعی هستن، اما ابزار و معیار مشخصی برای شناسایی و اندازهگیری این اتلاف انرژی ندارن. گیتهاب توی این مقاله میگه بهینهسازی کد نباید یه شعار باشه، بلکه باید بیاد توی چرخه روزمره مهندسی و جاهای پرمصرف توی کد، دیتابیس یا شبکه شناسایی بشه. راهکار پیشنهادی اینه که از ایجنتهای هوش مصنوعی برای پیدا کردن این اتلافها و فرستادن پیشنهادهای بنچمارکشده استفاده کنیم، اما تایید نهایی و سنجیدن اثر واقعی روی سیستم رو به خود برنامهنویس واگذار کنیم تا خروجی واقعاً بهینهتر بشه.
https://github.blog/news-insights/research/developers-want-more-efficient-software-heres-what-over-1000-github-users-told-us-they-need
@codehalics | کدهالیک
3 967
خیلیها فکر میکنن تو عصر کدنویسی با هوش مصنوعی دیگه فرقی نمیکنه از چه فریمورکی استفاده کنیم و ساختن فریمورکهای جدید هم بیفایدهست چون هوش مصنوعی خودش همهچیز رو مینویسه. اما واقعیت اینه که فریمورکها به پروژه نظم و چارچوب میدن؛ اگه خودت یه فریمورک استاندارد و مشخص دست هوش مصنوعی ندی، اون خودش شروع میکنه به ساختن یه فریمورک مندرآوردی و شلخته که بعداً کار باهاش کابوس میشه. هوش مصنوعی فقط سرعت کار رو بالا میبره، یعنی اگه چارچوب درستی نداشته باشی، صرفاً با سرعت بیشتری کد کثیف تولید میکنه. پس فریمورکها هنوزم کاملاً مهم هستن و اتفاقاً الان بهترین وقته که فریمورکهای جدیدتر، فولاستکتر و سازگارتر با هوش مصنوعی بسازیم تا کنترل پروژهها دست خودمون بمونه.
https://brookslybrand.com/posts/do-frameworks-matter-anymore/
@codehalics | کدهالیک
3 967
برای اینکه دانش کلی Jev رو ببینم چطوره ۱۲۲ سؤال کنکور تجربی ۱۴۰۵ رو دادم به اون و ۵ مدل دیگه. مدلهای بزرگ بهتر، کندتر و گرونتر هستن اما مهم برام مدلهای کوچیک بود. مثلا از لونا ۲۵٪ بهتر عمل کرد در حالی که ۴.۵ برابر ارزونتر و ۳.۷ برابر سریعتره. دیپسیک و Qwen رو هم لوله کرد.
The Big Rad ✍️
@codehalics | کدهالیک
3 967
تو این سایت هم میتونین ببینین مردم با Jev چیا ساختن بعضیاش واقعا خفنه !
https://www.shipwithjev.com/
@codehalics | کدهالیک
3 967
کد رو که یکم دقیقتر بخونی، شاید بگی: «خب که چی؟ مگه بیشتر از یه API Call سادهست؟» ولی داستان اصلاً فقط یه صدا زدنِ ساده نیست!
برخلاف بقیه مدلهای هوش مصنوعی که اونا هم این قابلیت رو بهت میدن، JEV به سرعت بسیار بالا تو پاسخگویی، سریالایز کردنِ بینقص و تحویل دادنِ یه دیتای شستهرفته معروف شده. کافیه یه مدل براش تعریف کنی تا دقیقاً همون رو بهت برگردونه؛ طبق داکیومنتش، تصمیمات رو زیر ۱۰۰ میلیثانیه میگیره!
البته جدای از بحث API Call که شاید واسه همچین چیزی کار خیلی جذابی به نظر نیاد (چون عملاً داری لاجیک کُدت رو برونسپاری میکنی)، ولی واسه یه سری پروژهها استفاده ازش واقعاً کاربردیه و پیشنهادش میکنم.
قطعاً مسیر هنوز خیلی طولانیه، ولی هر روز داره یه چیز جدید میاد که آدم فقط میگه: «واو! مگه میشه؟ مگه داریم؟»
@codehalics | کدهالیک
3 967
یه مثال باحال باهاش بزنم ببینید چقد میتونه از این ب بعد برنامه نویسی رو جذاب کنه
فرض کنین یه لاجیک کدی قراره بنویسی که چک کنه اگر دیتابیس اومد پایین یه ایونت پابلیش کنه که حالا اون ایونت میره و پیامی میفرسته به اعضای تیم که اقا سرورت داون شده یا دیتابیست اومده پایین
برای اینکار خب باید کلی کد بزنی ولی خب ممکنه تعداد حالت هاش هم زیاد باشه ولی اگر از Jev بخوای این تصمیم گیری رو بنویسه با سی شارپ یه همچین کدی میشه !
var result = await _jevClient.AskChoiceAsync<ClassificationResult>(
context: ticketText,
choices: Enum.GetNames<TicketCategory>()
);
// ۴. استفاده مستقیم و بدون باگ در لاجیک برنامه (بدون نیاز به پارس کردن متن)
if (result.Category == TicketCategory.Technical && result.Confidence > 0.85)
{
// هدایت مستقیم به صف تیم فنی
await _messageBus.Publish(new RouteToTechTeamEvent(TicketId));
}
else if (result.Category == TicketCategory.Spam)
{
// حذف خودکار
}
خیلی آینده برنامه نویسی داره ساده و جذاب میشه
@codehalics | کدهالیک3 967
اشتباه تو زندگیم زیاد کردم ولی هیچ وقت Jev گیر نشدم !
اما واقعا Jev چیه؟ این روزا خیلی راجبش صحبت میکنن !
تصور کن توی کُدت بهجای اینکه یک مدل سنگین مثل GPT-4 را صدا بزنی تا متن تحلیل کند و با کلی تاخیر یک جواب طولانی بدهد، یک «تابع سریع و باهوش» داری که متن یا وضعیت سیستم را به آن میدهی و در کمتر از چند میلیثانیه، دقیقاً یک تصمیمِ بله/خیر، یک امتیاز یا یک گزینه از بین چند حالت تحویلت میدهد؛ بدون اینکه حتی یک کلمه متن اضافی تولید کند یا اشتباه بسازد. مدل JEV در واقع همین «مغز تصمیمگیرِ سریع» است که متن نمینویسد و چت نمیکند، بلکه فقط با سرعت فوقالعاده بالا و هزینهٔ اپسيلون، منطقهای شرطی و تصمیمگیریهای پیچیدهٔ برنامهات را سپردارش میکنی.
@codehalics | کدهالیک
3 967
برخلاف تصور خیلیا، فرسودگی شغلی توی برنامهنویسا خودشو با افت خروجی یا خراب کردن ددلاینها نشون نمیده؛ چون نیروهای کلیدی حتی وقتی لب مرز بریدن با تمام وجود سعی میکنند کیفیت کارشونو حفظ کنند. ریشه اصلی بورناوت هم فقط کارِ زیادی نیست، بلکه بیشتر از ندیده شدن تلاشها، حس بیاثری و کمبود اعتماده. واسه همین مرخصی رفتن فقط یه مسکّن چندروزه است و تا وقتی محیط کار اصلاح نشه همهچیز سریع برمیگرده به حالت قبل. فرسودگی ضعف فردی نیست، یه مشکل ساختاریه و مدیر باهوش منتظر استعفای ناگهانی نیروهاش نمیمونه، بلکه خیلی زودتر از رو تغییرات رفتاری حواسش به حال تیمش هست.
https://www.blog4ems.com/p/how-to-spot-burnout-in-your-engineers
@codehalics | کدهالیک
3 967
گوگل فاز آزمایشی ارائه بازیها در پلتفرمهای اندروید اتو و سیستمعامل اندروید اتوموتیو را به پایان رساند و انتشار عمومی آنها را رسماً آغاز کرد. با این تغییر، توسعهدهندگان میتوانند بازیهای خود را پس از بهینهسازی برای نمایشگر خودروها، در بخش عمومی و تست باز گوگل پلی منتشر کنند. این بازیها به منظور رعایت ایمنی و پیشگیری از حواسپرتی راننده، تنها در حالت پارک خودرو اجرا میشوند و توسعهدهندگان برای ارائه بازیهای خود در خودرو باید مواردی نظیر تنظیم دستهبندی برنامه، اعلام پشتیبانی از دستههای بازی و سازگاری با ابعاد مختلف صفحات نمایش خودرو را در فایل مانیفست پروژه پیادهسازی کنند.
https://android-developers.googleblog.com/2026/09/bring-android-game-to-car-screen.html?via=dailydev
@codehalics | کدهالیک
3 967
دو بلیت هم از طرف من و کدهالیک برای شرکت در این همایش براتون در نظر گرفته شده. برای دریافت، کافیه به پشتیبانی فرانتچپتر پیام بدید ❤️
@frontChapterSupport
3 967
Repost from فرانت چپتر 🥕
اگر به خاطر شرایط اقتصادی دشوار و از دست دادن شغلتون براتون اومدن به ایونت سخت هست، حتما از طریق سایت بهمون پیام بدید. باورم نمیشه چند نفر تا الان صندلی همدلی رو گرفتن و دوست داشتن بلیت یه نفر دیگه رو حساب کنن ❤️
https://mist.frontchapter.ir/
مشتاق دیدارتون هستیم
