کدهالیک | codehalic
4.14K subscribers
547 photos
55 videos
67 files
623 links
دوره های آموزشیمون رو از داخل سایت ببینید

https://codehalic.ir
Download Telegram
کدهالیک | codehalic
توی NestJS اینکه چند تا پوشه مثل Orders و Payments بسازی معنیش کد ماژولار نیست. وقتی همه چی رو می‌ریزی تو SharedModule و همه‌جا ایمپورتش می‌کنی، کدهات شدیداً بهم گره می‌خورن و موقع تست گرفتن از Orders مجبور می‌شی کل دیتابیس و سرویس ایمیل رو هم بالا بیاری.…
این نکته رو هم اضافه کنم که این مورد داره ۲ اصل از اصول SOLID رو رعایت میکنه !

اول DIP (معکوس‌سازی وابستگی) چون بخش سفارشات به‌جای دیتابیسِ پرداخت به یه انتزاع وصل میشه، و دوم SRP (تک‌مسئولیتی) چون ماژول فقط حواسش به وظیفهٔ خودشه و تنها یک دلیل برای تغییر داره، نه اینکه بارِ زیرساخت بقیه رو هم دوش بکشه. اینطوری ماژول‌ها کاملاً مستقل می‌مونن و دیگه نیازی به ماست‌مالی چرخه‌های وابستگی با forwardRef نداری.


@codehalics | کدهالیک
❤6👏1
کتابخونه Replicant یه ابزار کاربردی تو دات‌نته که با اضافه کردن یه لایه کش رو دیسک برای HttpClient، سرعت درخواست‌های تکراری شبکه رو به‌شدت بالا می‌بره. این ابزار به جای ذخیره داده‌ها تو حافظه رم، اونا رو روی دیسک می‌نویسه تا حتی اگه برنامه ریستارت شد داده‌ها باقی بمونن و از هدرهای استاندارد کش مثل Cache-Control و ETag هم کاملا پشتیبانی می‌کنه. شما می‌تونید ازش هم به صورت کلاس مستقل HttpCache و هم به عنوان یه DelegatingHandler کنار HttpClientFactory استفاده کنید که گزینه خیلی خوبی برای کم کردن بار شبکه و بالا بردن بازدهی برنامه‌ست.

https://www.nikolatech.net/blogs/replicant-http-client-caching-dotnet

@codehalics | کدهالیک
❤3
بوت‌استرپ ۶ نسخه آلفا ۱ منتشر شد و جالب‌ترین تغییرش اینه که رسماً داره می‌ره سمت سبک تیلویند.

مثلاً ساختار کلاس‌های ریسپانسیوش تغییر کرده و دقیقاً شبیه تیلویند شده؛ یعنی به جای d-md-none الان باید بنویسید md:d-none.

پشتیبانی از مرورگرهای قدیمی رو هم کلا کنار گذاشتن و حداقل مرورگر مورد نیاز شده کروم ۱۳۰، فایرفاکس ۱۳۲ و سافاری ۱۸. با این کار کلاً پالی‌فیل‌ها حذف شدن و مستقیم رفتن سراغ قابلیت‌های جدید مرورگر مثل کانتینر کوئری‌ها، انتخابگر :has، سیستم رنگی oklch و تگ <dialog>.

از نظر فنی هم متغیرهای Sass جاشون رو دادن به CSS Token Mapها، سورس‌کد با تایپ‌اسکریپت بازنویسی شده و ابزارهایی مثل Rolldown و Vitest اومدن جای Rollup و Karma. ضمناً فایل‌های llms.txt و Agent Skills رو هم اضافه کردن تا کار با دستیارهای هوش مصنوعی موقع کدنویسی راحت‌تر بشه.


https://getbootstrap.com/docs/6.0/getting-started/install/

@codehalics | کدهالیک
👍5🔥2❤1
ابزار REA یا همون Reverse Engineer Anything یه ابزار CLI و مبتنی بر پروتکل MCPئه که به ایجنت هوش مصنوعی‌ت وصل میشه تا بتونه هر نرم‌افزاری رو کالبدشکافی و مهندسی معکوس کنه؛ از تحلیل دقیق فایل‌های باینری و توابع گرفته تا کالبدشکافی برنامه‌های الکترون و جاوااسکریپت و حتی ردگیری رفتار برنامه موقع اجرا و توی مرورگر، همه‌رو انجام میده تا دستیار هوشمندت دقیقاً بفهمه پشت صحنه‌ی برنامه‌های کامپایل‌شده چی می‌گذره و منطق درونی‌شون چطوری کار می‌کنه.

https://rea.tools/

@codehalics | کدهالیک
🔥6
دیتابیس‌ها چطور هم سرعت بالایی دارن و هم با کرش کردن سیستم، دیتا رو از دست نمیدن؟ کلید ماجرا WAL یا Write-Ahead Logging هست.

دیتابیس به جای اینکه هر تغییر رو همون لحظه توی فایل‌های سنگین اصلی ذخیره کنه (که کُند و پرریسکه)، اول تغییرات رو خیلی سریع و پشت‌سرهم توی یه فایل لاگ (WAL) می‌نویسه. همین که تو لاگ نوشته شد، به ما میگه کار با موفقیت انجام شد! بعداً سر فرصت تو پس‌زمینه، این لاگ‌ها رو روی فایل‌های اصلی دیتا اعمال می‌کنه.

این کار دو تا مزیت طلایی داره:
۱. سرعت بالا: نوشتن ترتیبی (Sequential I/O) تو فایل لاگ خیلی سریع‌تر از گشتن و نوشتن تو فایل‌های مختلفه.
۲. تضمین بقای داده‌ها (Durability): اگه یهو سرور خاموش بشه، دیتابیس موقع بالا اومدن دوباره این فایل WAL رو می‌خونه و تمام دیتایی که رو فایل اصلی نرفته بود رو بازسازی می‌کنه.

https://www.postgresql.org/docs/current/wal-intro.html

@codehalics | کدهالیک
❤7👍1
کدهالیک | codehalic
دیتابیس‌ها چطور هم سرعت بالایی دارن و هم با کرش کردن سیستم، دیتا رو از دست نمیدن؟ کلید ماجرا WAL یا Write-Ahead Logging هست. دیتابیس به جای اینکه هر تغییر رو همون لحظه توی فایل‌های سنگین اصلی ذخیره کنه (که کُند و پرریسکه)، اول تغییرات رو خیلی سریع و پشت‌سرهم…
حالا که فهمیدیم WAL چیه، بیاید ببینیم پس بک‌آپ (Backup) این وسط چکاره است؟

فرض کنید WAL همون دفترچه یادداشت روی میز شماست که نمی‌ذاره قطعی موقت برق کارتون رو خراب کنه؛ اما اگه یه روز کلاً دفتر کارتون آتیش بگیره، هارد سرور بسوزه یا یه نفر اشتباهی کل داده‌ها رو پاک کنه چی؟ اینجاست که بک‌آپ به دادتون می‌رسه! بک‌آپ یعنی یه کپی کامل و امن از کل دیتابیس بگیریم و تو یه جای کاملاً مجزا (مثل یه سرور دیگه یا فضای ابری) ذخیره‌اش کنیم. جادوی دیتابیس‌های مدرن اینه که میان یه بک‌آپ پایه‌ای می‌گیرن و بعد اون رو با همون فایل‌های WAL ترکیب می‌کنن؛ با این تکنیک خفن، شما می‌تونید دیتابیس رو دقیقاً به هر ثانیه یا لحظه‌ای در گذشته که دلتون می‌خواد برگردونید (به این کار میگن Point-in-Time Recovery یا PITR).

https://www.postgresql.org/docs/current/continuous-archiving.html

@codehalics | کدهالیک
👍4❤2
نظرسنجی جدید Stack Overflow از بیش از ۳۰ هزار توسعه‌دهنده در ۱۶۹ کشور نشون می‌ده که هوش مصنوعی به بخش ثابتی از کار برنامه‌نویس‌ها تبدیل شده، اما اعتماد به خروجی‌هاش همچنان محدوده.

حدود ۸۰ درصد افرادی که هر روز از AI استفاده می‌کنن، روزانه دست‌کم یک ساعت باهاش کار می‌کنن. با این حال، فقط ۷ درصدشون برای تصمیم‌های مهم کاری به خروجی هوش مصنوعی اعتماد دارن. از طرف دیگه، ۷۹ درصد شرکت‌کننده‌ها می‌گن دسترسی به منابع و مراجع پاسخ‌های فنی تولیدشده با AI براشون مهمه.

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

استفاده از هوش مصنوعی بیشتر شده، اما اعتماد بهش هنوز به کیفیت پاسخ‌ها و امکان بررسی اون‌ها بستگی داره.

@codehalics | کدهالیک
❤8🔥1🤔1
پروژه‌ای که قرار بود جای Node.js رو بگیره، حالا قراره توسعه‌اش متوقف بشه! کلادفلر تمام تیم Deno رو جذب می‌کنه، اما خود Deno Runtime فقط یک سال دیگه آپدیت امنیتی و باگ‌فیکس می‌گیره و بعد توسعه‌اش متوقف می‌شه. سرویس Deno Deploy هم تا شش ماه دیگه تعطیل می‌شه. البته Deno متن‌باز باقی می‌مونه و کلادفلر بیشتر دنبال استفاده از تکنولوژی‌ها و تیم این پروژه برای توسعه زیرساخت خودش، به‌خصوص اجرای Workerها خارج از سرورهای کلادفلره.

@codehalics | کدهالیک
❤2👍1🤯1
پروژه‌ای که رایان دال با ایده‌ای متفاوت از Node.js شروع کرد، حالا به پایان مسیر توسعه خودش نزدیک می‌شه. ایده دال این بود که تجربه توسعه با جاوااسکریپت رو از مشکلات و تصمیم‌های قدیمی Node.js جدا کنه و محیطی مدرن‌تر و امن‌تر بسازه. Bun هم با ایده‌ای مشابه وارد شد، اما با تمرکز روی سرعت بالا، اجرای مستقیم TypeScript، نصب سریع پکیج‌ها و سازگاری با اکوسیستم Node.js. نکته جالب اینجاست که هر دو پروژه برای جذب توسعه‌دهنده‌ها مجبور شدن تا حد زیادی با همون اکوسیستمی سازگار بمونن که قرار بود جایگزینش کنن. چون وقتی میلیون‌ها پروژه، کتابخونه و ابزار به Node.js وابسته‌ان، سرعت بالاتر یا معماری بهتر به‌تنهایی برای مهاجرت کافی نیست. با این حال، برخلاف Deno که حالا آینده Runtime مستقلش در هاله‌ای از ابهامه، Bun همچنان مسیر خودش رو دنبال می‌کنه و نشون می‌ده شاید راه تغییر اکوسیستم، نه ساختن یک جایگزین کاملاً جدا، بلکه بهتر کردن توسعه در کنار حفظ سازگاری با چیزهایی باشه که از قبل هستن

این ویدیو راجب nodejs و ۱۰ تا چیزی که بابتش پشیمونه خیلی ترند شده بود :

https://www.youtube.com/watch?v=M3BM9TB-8yA

@codehalics | کدهالیک
👍7
یکی اومده بازی GTA V رو روی مرورگر پورت کرده و میتونین آنلاین بازیش کنید !
https://gta.deloskiyt.pl/

@codehalics | کدهالیک
😁9❤3
فکر کنم AI داره یه چیزی رو جدی عوض می‌کنه: اینکه همیشه ارزش آدم‌ها به تخصص خیلی عمیق و محدودشون بود. الان خیلی از خروجی‌هایی که قبلا حتما باید می‌رفتی سراغ یه متخصص براش، با AI خیلی سریع‌تر و ارزون‌تر در دسترسه. برای همین مهارت اصلی کم‌کم داره میره سمت یه چیز دیگه؛ اینکه بفهمی برای حل یه مسئله دقیقا به چه تخصص‌هایی نیاز داری، بتونی از هرکدوم درست استفاده کنی و مهم‌تر از همه، تشخیص بدی خروجی‌ای که گرفتی واقعا درسته یا نه. حتی یه مقاله از NBER نشون داده AI تونسته بخش بزرگی از فاصله بهره‌وری بین نیروهای قوی‌تر و ضعیف‌تر رو کم کنه. شاید برای همین مدل آدم موفق توی چند سال آینده کسی نباشه که فقط تو یه چیز خیلی عمیقه یا از همه‌چیز یه چیزایی می‌دونه؛ بیشتر کسیه که تو یکی دو حوزه عمیقه و در کنارش از چند حوزه دیگه هم به اندازه کافی سر درمیاره که بتونه همه‌شون رو به هم وصل کنه.

https://medium.com/@shalin73/the-end-of-the-specialist-b5ec65ec9667

@codehalics | کدهالیک
❤6
کدهالیک | codehalic
فکر کنم AI داره یه چیزی رو جدی عوض می‌کنه: اینکه همیشه ارزش آدم‌ها به تخصص خیلی عمیق و محدودشون بود. الان خیلی از خروجی‌هایی که قبلا حتما باید می‌رفتی سراغ یه متخصص براش، با AI خیلی سریع‌تر و ارزون‌تر در دسترسه. برای همین مهارت اصلی کم‌کم داره میره سمت یه…
یه زمانی جمله «Jack of all trades, master of none» بیشتر شبیه یه نقد بود یعنی کسی که از همه‌چیز یه کم می‌دونه، ولی تو هیچ‌چیز واقعا عمیق نیست. برای همین هم ایده بدی به نظر می‌رسید. ولی AI داره این ماجرا رو عوض می‌کنه. الان لازم نیست خودت تو همه حوزه‌ها متخصص باشی، ولی باید از چند حوزه مختلف به اندازه کافی سر دربیاری که بدونی برای حل هر مسئله باید سراغ چی بری، چه سوالی بپرسی و چطور خروجی رو ارزیابی کنی. چیزی که قبلا ضعف حساب می‌شد، کم‌کم داره تبدیل می‌شه به یه ضرورت. شاید مدل برنده امروز اینه: تو یکی دو حوزه واقعا عمیق باشی، ولی از بقیه هم اون‌قدر بدونی که بتونی همه‌چیز رو به هم وصل کنی.

@codehalics | کدهالیک
👍10❤4
کدی که با AI نوشته میشه لزوما بد نیست، ولی خیلی راحت شلخته میشه. یه جا یه چک اضافه می‌کنه، یه جا یه helper جدید می‌سازه، یه جا چیزی رو که قبلا validate شده دوباره از اول بررسی می‌کنه و کم‌کم پروژه پر میشه از کدهایی که هر کدوم به تنهایی منطقی به نظر میان ولی کنار هم یه آشفتگی درست می‌کنن. بدتر اینجاست که ممکنه همه تست‌ها هم پاس بشن و ظاهرا چیزی خراب نباشه. برای همین clean up کردن کدهای AI فقط این نیست که warningها رو پاک کنیم یا کد رو کوتاه‌تر کنیم. باید ببینیم اصلا این تکه کد چرا به وجود اومده، چیزی شبیهش از قبل داشتیم یا نه و بعد از تغییر واقعا چه چیزی ساده‌تر شده. وگرنه خیلی راحت فقط ظاهر کد تمیز میشه و همون شلوغی قبلی یه جای دیگه ادامه پیدا می‌کنه.

https://www.builder.io/blog/de-slop-ai-generated-codebase

@codehalics | کدهالیک
👍11
یه مقاله جالب امروز دیدم راجع‌به وضعیت بازار کار تکنولوژی و راستش حرف اصلیش خیلی قابل فکر بود: شاید مسئله این نباشه که دیگه توی تک فرصت نیست، مسئله اینه که راه ورودش عوض شده.

تا چند سال پیش مسیر تقریباً مشخص بود. یه زبان و فریم‌ورک یاد می‌گرفتی، چندتا پروژه می‌ساختی، رزومه می‌فرستادی و بالاخره یه جایی به عنوان جونیور وارد می‌شدی. الان اون مسیر خیلی سخت‌تر شده. تعداد موقعیت‌های جونیور کمتر شده، بخشی از کارهایی که قبلاً به نیروی تازه‌کار می‌دادن با AI انجام می‌شه و شرکت‌ها هم از همون اول انتظار دارن آدم مستقل‌تر باشه، مسئله حل کنه و بلد باشه از AI به عنوان ابزار استفاده کنه.

به نظرم نکته مهم مقاله همین بود: بازار کار تکنولوژی بسته نشده، ولی درِ ورودی قبلیش دیگه مثل قبل باز نیست. اگه هنوز با همون فرمول قدیمی جلو بری، احتمالاً بیشتر از اینکه مشکل از توانایی تو باشه، مشکل از مسیریه که داری امتحان می‌کنی.

https://dev.to/james_anderson_h/tech-is-brutal-right-now-stay-or-go-lets-think-clearly-59jk

@codehalics | کدهالیک
👍6
کدهالیک | codehalic
یه مقاله جالب امروز دیدم راجع‌به وضعیت بازار کار تکنولوژی و راستش حرف اصلیش خیلی قابل فکر بود: شاید مسئله این نباشه که دیگه توی تک فرصت نیست، مسئله اینه که راه ورودش عوض شده. تا چند سال پیش مسیر تقریباً مشخص بود. یه زبان و فریم‌ورک یاد می‌گرفتی، چندتا پروژه…
من نظر شخصیم راجب این مقاله بخوام بگم به نظرم چیزی که بیشتر از همه عوض شده، تعریف آماده بودن برای ورود به بازار کاره. قبلاً کافی بود پایه‌ها رو بلد باشی و شرکت روی رشدت سرمایه‌گذاری کنه، ولی الان خیلی جاها انتظار دارن از همون روز اول بتونی خروجی واقعی بدی.

هوش مصنوعی هم این فاصله رو بیشتر کرده، چون بخش زیادی از کارهایی که قبلاً نقطه شروع یه جونیور بود، دیگه به همون شکل وجود نداره. برای همین فکر می‌کنم کسی که الان می‌خواد وارد تک بشه، باید خیلی زودتر از قبل از فاز صرفاً یاد گرفتن خارج بشه و بره سمت ساختن، حل کردن مسئله واقعی و کار کردن درست با AI.

ورود سخت‌تر شده، ولی برای کسی که این تغییر رو زود بفهمه، هنوز فرصت خیلی زیاده.

و عمیق شدن ادما هم بسیار کم شده یعنی اگر یکی قبل ai چیزی بلد بود و توش دیپ بود خیلی بهتر از ai میتونه الان استفاده کنه در صورتی که یکی رندوم وارد این حوزه شه اصلا خیلی از این حوزه ها رو نمیدونه صرفا فقط مینویسه میره جلو و تهشم خروجی خوبی نمیگیره خروجیش صرفا فیت یه شرکت دسته چندمه بنظرم و خیلیم بابتش خوشحاله چون همیشه این قانون رو من بهش اطمینان دارم که اگر ورودی خوبی ندی خروجی خوبی نمیگیری !

@codehalics | کدهالیک
👍6
مدل GPT-6 Luna کاملاً رایگان و نامحدود شد

سرویس DuckDuckGo از طریق DuckAi این مدل رو بدون نیاز به ثبت‌نام و کارت بانکی باز کرده.

قابلیت هایی که بهت میده :
• چت با Luna
• تولید تصویر
• مکالمه صوتی کامل (روی موبایل هم خوب کار می‌کنه)

https://duck.ai


@codehalics | کدهالیک
❤12
This media is not supported in your browser
VIEW IN TELEGRAM
بک‌اند دولوپر یا مهندس بک‌اند؟

هر دوشون کد می‌زنن، API می‌نویسن و با دیتابیس کار می‌کنن. پس فرقشون کجاست؟جوابش توی همین ویدیوئه

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

🎓 جزئیات دوره و قسمت‌های رایگان:
https://codehalic.ir/courses/backend-engineering-bootcamp

@codehalic | کدهالیک
🔥9
This media is not supported in your browser
VIEW IN TELEGRAM
چین یه OCR اوپن سورس منتشر کرده که می‌تونه ده‌ها صفحه PDF رو یک‌جا بخونه!

اسمش Unlimited-OCR و توسط Baidu توسعه داده شده.

تا الان خیلی از ابزارهای OCR برای خوندن یه PDF طولانی، صفحات رو جداجدا پردازش می‌کردن. اما Unlimited-OCR اومده این محدودیت رو تا حد زیادی برطرف کنه.

https://github.com/baidu/Unlimited-OCR

@codehalics | کدهالیک
❤6
This media is not supported in your browser
VIEW IN TELEGRAM
با یه روز تأخیر، روز جهانی دختر رو به دخترای برنامه‌نویس تبریک می‌گم؛ همون اقلیت کمیابی که وسط این همه دولوپر پسر هنوز دارن با باگ‌ها می‌جنگن
ویدیوش بامزه بود واقعا :))))))

@codehalics | کدهالیک
❤15😁13🤬1