Code Module | کد ماژول
1.91K subscribers
357 photos
42 videos
6 files
355 links
Hello World 🌎

<> Earth is programmable if you code it </>

Group 👇🏻
@CodeModuleGap

Contact Us 👇🏻
@MrShahiin
@neoMahan
Download Telegram
کتابخانه های انیمیشینی رو از دست نده 🦦

در این پست دو کتابخانه کامپوننت بهتون معرفی میکنم، که میشه بهشون لقب ″‏کتابخانه‌های انیمیشنی" داد، چرا که هر دوی این کتابخانه‌ها تمرکز ویژه‌ای بر روی انیمیشن‌ها و تعاملات کاربری دارن.

🔵‏Eldora UI

‏Eldora UI شامل کامپوننت‌های انیمیشنی و خفنیه که با استفاده از React ،TypeScript Tailwind و Framer Motion ساخته شدند. این کتابخانه برای ایجاد رابط‌های کاربری مدرن و تعاملی بسیار مناسبه و امکاناتی مانند انیمیشن‌های پس‌زمینه، افکت‌های حرکتی و انیمیشن‌های تعاملی رو فراهم می‌کنه.

🔵‏Aceternity

‏Aceternity نیز مجموعه‌ای از کامپوننت‌ها و قالب‌های آماده رو ارائه میده که با استفاده از Tailwind و Framer Motion ساخته شدند. این کتابخانه شامل کامپوننت‌های انیمیشنی مانند افکت‌های پس‌زمینه، کارت‌های تعاملی، فرم‌های انیمیشنی و بسیاری از افکت‌های بصری دیگره که به دولوپرا کمک می‌کنخ تا وب‌سایت‌های زیبا و تعاملی ایجاد کنن.

برای کسب اطلاعات بیشتر و نحوه نصب و استفاده، به داکیومنتشون مراجعه کنید.

👆Eldora - Aceternity

#eldora #aceternity
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥5😁1
راهکارهایی برای کور نشدن در برنامه‌نویسی

پشت میز نشستن برای ساعات طولانی، خیره شدن به صفحه مانیتور و تکرار این روند در هر روز هفته میتونه آسیب‏های طولانی مدتی به بدنتون وارد کنه؛ بنابراین نیازه در کنار برنامه کاریتون، تمرینات و عادات سالمی اضافه کنید.

1⃣به طور منظم به چشم‏‌ها استراحت بدید.

احتمالا این توصیه رو قبلا شنیدید که بعد از هر 20 دقیقه کار با سیستم، نگاهتون رو از صفحه مانیتور بردارید و به چشم‏ها استراحت بدید. اما در حین کدنویسی، احتمالش زیاده که این توصیه رو فراموش کنید. به همین دلیل باید این روش رو تبدیل به عادت کنید و ذهن خودتون رو باهاش سازگار کنید. برای شروع ساعت هشدار گوشیتون رو تنظیم و از قانون 20/20/20 پیروی کنید. در قانون 20/20/20 باید بعد از 20 دقیقه به مدت 20 ثانیه به جسمی با رنگ سرد که تقریبا 6 متر از شما فاصله داره خیره بشید.

2⃣مانیتور رو روی حالت بهینه و استاندارد تنظیم کنید.

روشنایی مانیتور، باید با نور اتاق هماهنگ باشه. هرچی اتاق تاریک‏‌تر باشه، باید روشنایی مانیتور هم کمتر بشه. از تم های دارک استفاده کنید و سایز متن هارو متناسب تنظیم کنید.

3⃣به طور مرتب از عینک‌‏های مخصوص کامپیوتر با نور آبی استفاده کنید.

در عصر دیجیتال استفاده از این عینک‏‌ها بیشتر از هر زمان دیگه‌ای لازم و ضروریه. عینک مخصوص کار با کامپیوتر مانند یک محافظ، نور آبی ساطع‏‌شده از صفحه نمایشگر رو فیلتر و مسدود می‏‌کنه. تمامی وسایلی از قبیل کامپیوتر، گوشی، تبلت و تلویزیون این نور آبی مضر رو ساطع می‏‌کنن و قرار گرفتن در معرض نور آبی به مدت طولانی، یکی از اثرات مخرب کار با تکنولوژی هست.

4⃣انجام تمرینات لازم برای رفع خستگی چشم.

فشار چشم دیجیتال که به عنوان سندرم بینایی کامپیوتر هم شناخته میشه، مشکلیه که اکثر دولوپرا بهش دچار میشن. برای کاهش فشار چشم باید تمرینات مربوط به اون رو انجام بدید. این تمرینات برای پیشگیری و بهبود وضعیت فشار چشم دیجیتال بسیار مناسبه که خستگی و خشکی چشم رو هم برطرف می‏‌کنن. به راحتی می‏تونید این تمرینات رو با عبارت "یوگا برای چشم‌‏ها" در یوتیوب جستجو و پیدا کنید.

5⃣حداقل یکبار در سال برای معاینه به چشم پزشکی مراجعه کنید.

معاینه منظم چشم‌‏ها برای ما که دائم چشممون رو مانیتور هست، ضروری و حیاتیه. یک ویزیت ساده و معاینه چشم پزشک به مراقبت و درمان‏‌های پیشگیرانه کمک می‏‌کنه. یادتون باشه چشم‌‏ها دریچه روح شما هستن، پس از اونها به خوبی مراقبت کنید.

همچنین اگه تجربه ای از عینک های بلوکات دارید، ممنونتون میشم کامنت کنید.


#tips
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
👌12❤‍🔥3🔥2
تعداد پکیج های نصب شده:

#fun
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
😁212
با face-api.js بیشتر آشنا بشید ✌️

Face-api.js یک کتابخانه جاوااسکریپت مبتنی بر وبه که برای تشخیص چهره افراد، با استفاده از api مورد استفاده قرار میگیره. این کتابخانه از مدل‌های دیپ لرنینگ TensorFlow.js برای تشخیص چهره، تشخیص افراد، تشخیص ابرو، تشخیص لبخند، تشخیص سن و جنسیت و باقی ویژگی‌های چهره استفاده میکنه. ‏

‏Face-api.js امکانات بسیار قدرتمندی رو فراهم می‌کنه و به راحتی میتونه به عنوان یک ابزار تشخیص چهره در وبسایت‌ها و برنامه‌های وب، مورد استفاده قرار بگیره.

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

با استفاده از Face-api.js، دولوپرا میتونن به راحتی و با سرعت بالا قابلیت‌های تشخیص چهره رو به برنامه‌های خود اضافه کنن. این کتابخانه قابل استفاده در پروژه‌های مختلف مثل پروژه‌های تحقیقاتی، پروژه‌های هوش مصنوعی، پروژه‌های امنیتی و ... هست.

برای کسب اطلاعات بیشتر در مورد این کتابخانه، میتونید به داکیومنتش مراجعه کنید 🏖️

Document 🌕

#library #faceapi #js
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥8👌1
با فریمورک Hapi بیشتر آشنا بشید 💀

‏Hapi یک فریمورک قدرتمند و انعطاف پذیر Node.js هست، که برای ساخت برنامه ها و سرویس های وب قوی و مقیاس پذیر طراحی شده. Hapi به دلیل تاکید بر توسعه مبتنی بر configuration-driven، محبوبیت خودش رو افزایش داد. معماری Hapi حول یک طرح ماژولار ساخته شده که به دولوپر ها اجازه میده تا با ترکیب اجزای کوچکتر و قابل استفاده مجدد، برنامه های پیچیده بسازن.

برخی از کاربرد های Hapi ⬇️

🔢 توسعه API: یک جعبه ابزار جامع برای ساخت API های RESTful ارائه میده. سیستم routing اون بسیار قابل تنظیمه و به دولوپر ها این امکان رو میده تا مسیرهایی رو با کنترل دقیق بر رسیدگی به درخواست ها تعریف کنن.

🔢 رویکرد مبتنی بر پیکربندی: رویکرد پیکربندی محور Hapi، مقدار کد مورد نیاز رو کاهش میده و مدیریت پروژه های بزرگ رو آسون تر میکنه. این رویکرد همچنین خوانایی و قابلیت نگهداری کد ها رو افزایش میده.

🔢 سیستم پلاگین: یکی از ویژگی های برجسته Hapi، معماری قدرتمند پلاگین اون هست. این ماژولار بودن استفاده مجدد از کد رو ترویج می کنه و ادغام فیچر های جدید رو ساده میکنه.

به طور کلی ‏Hapi یک انتخاب عالی برای دولوپر هایی هست که به دنبال ساخت برنامه ها و سرویس های وب مقیاس پذیر و قابل نگهداری، با Node.js هستن. برای کسب اطلاعات بیشتر به داکیومنت خود فریمورک مراجعه کنید.

#hapi #nodejs
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥103
بدترین ضد حال وجود ندا... 😂😂

#fun
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
😁25
اشکال svg حرفه ای طراحی کن 😄

وب‌سایت Blobmaker یک ابزار کاربردی برای طراحی اشکال SVG منحصر به فرد و حرفه ای هست. شما می‌تونید پیچیدگی و کنتراست این اشکال رو تنظیم و به‌ سرعت اکسپورت بگیرید، و در نهایت به پروژه هاتون با این اشکال، رنگ و لعاب بدید.

🌐 Website

#svg
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
11👌4🔥3
۶ پروژه خفن و حرفه ای Next.js 👩‍💻

تو این پست میخوام یه مقاله بهتون معرفی کنم که ۶ پروژه کامل Next.js رو معرفی، و گیتهابشون رو قرار داده. اگه به دنبال ایده برای پروژه زدن هستید، یا دوست دارید ساز و کار پروژه های نکستی رو ببینید، یه سر بزنید.

✍️ Article

#article
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥2
تو روزمت که خوب تعریف کرده بودی بلدی 😂

#fun
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26
با Moment.js هر تاریخی که میخوای به نمایش بزار 😊

‏Moment.js یک کتابخانه محبوب جاوا اسکریپت برای تجزیه، اعتبارسنجی، دستکاری و نمایش تاریخ و زمان هست. این کتابخانه به یک ابزار ضروری برای دولوپر هایی تبدیل شده، که به قابلیت های دستکاری تاریخ در برنامه های خود نیاز دارن.

این کتابخانه چه کاربرد هایی داره؟ 🦦

1. تجزیه و قالب‌بندی: Moment.js به شما امکان میده تاریخ‌ها رو از فرمت‌های مختلف تجزیه کرده و اون رو در فرمت‌های مختلف خروجی بگیرید.

2. دستکاری: این کتابخونه متد های ساده ای رو برای جمع، تفریق و دستکاری تاریخ ها ارائه میده. این برای محاسبه تاریخ های آینده یا گذشته نسبت به تاریخ فعلی مفید هست.

3. محلی سازی: Moment.js از چندین منطقه پشتیبانی میکنه و برنامه ها رو قادر میسازه، تا تاریخ و زمان ها رو در قالب ترجیحی کاربران از مناطق مختلف به نمایش بزارن.

به طور کلی ‏Moment.js یک کتابخانه قدرتمند و منعطفه که به طور قابل توجهی، دستکاری تاریخ و زمان رو در برنامه های JavaScript و Node.js ساده کرده. API جامع اون تقریباً تمام وظایف مربوط به تاریخ رو که ممکنه دولوپر با اون ها مواجه بشن، از تجزیه و قالب‌بندی اولیه تا مدیریت منطقه زمانی پیشرفته و محاسبات مدت زمان پوشش میده.

برای کسب اطلاعات بیشتر به وبسایت رسمی Moment.js مراجعه کنید.

#moment
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥102
پروتکل SSH چیه و چه کاربردی داره 🧠

پروتکل SSH یک روش ارتباطی امن برای برقراری اتصال بین کلاینت یا کاربر با سرور از راه دور هست. از طریق این پروتکل میتونیم به ترمینال لینوکس متصل، و کد های سمت سروری رو اجرا کنیم.

‏SSH مخفف عبارت Secure Socket Shell هست و همچنین به Source Shell هم شناخته میشه و به منظور برقراری ارتباط امن بین دو دستگاه، دو کامپیوتر یا کامپیوتر و سرور، بر روی شبکه ارائه شده. این پروتکل، در واقع جایگزینی برای پروتکل هایی مثل FTP و Telnet هست که قدیمی ترن و نسبتاً امنیت پایین تری دارن.

پایین بودن امنیت در پروتکل های FTP و Telnet امکان دسترسی هکر ها به اطلاعات در حال انتقال در شبکه وجود داشت. بنابراین این نیاز به شدت وجود داشت که پروتکلی با امنیت بالا به منظور حفظ اطلاعات مهم در دسترس افراد قرار بگیره 😈

مزایای استفاده از SSH چیه ؟

1️⃣ارتباط ایمن : دلیل اصلی ابداع پروتکل SSH، ارتقای امنیت در ارتباطات اینترنتی بین دو کامپیوتر بود.که SSH با رمزگذاری تمامی داده‌های منتقل‌شده در شبکه، یک کانال امن در شبکه‌هایی با امنیت نامشخص ایجاد می‌کنه.

2️⃣روش‌های احراز هویت قدرتمند : پروتکل SSH این امکان رو داره که از سیستم‌های پیشرفته‌ای مثلِ کلید عمومی برای احراز هویت کلاینت استفاده کنه. این سیستم احراز هویت بسیار قدرتمندتر از انواع دیگه، مثل نام کاربری و رمز عبور هست و به همین دلیل میتونه به شما سطح بسیار بالاتری از امنیت رو ارائه بده.

3️⃣امکان استفاده از تونل‌زنی (Tunneling Capability) : یکی دیگه از امکانات SSH که میشه ازش به‌عنوانِ یکی از ویژگی‌های این پروتکل نام برد، امکان تونل‌زنی هست. با این قابلیت، مثلاً میتونیم اطلاعات دیتابیس رو از طریق یک سیستم تونل‌زنی پیشرفته منتقل کرد و دیگه نگران sniff یا شنود شدن غیرقانونی اطلاعات هم نبود.

4️⃣انعطاف‌پذیری بالا : پروتکل SSH کاملاً انعطاف‌پذیره؛ این یعنی شما میتونید از این پروتکل برای کارهای مختلفی استفاده کنید. مثلاً میتونید ازش برای انتقال امن فایل‌ها با استفاده از SCP یا SFTP، مدیریت سرور و هاست از راه دور و همچنین مدیریت سیستم‌های شبکه استفاده کنید.

معایب استفاده از SSH چیه ؟

1️⃣پیکربندی پیچیده : اگر پیکربندی SSH رو به‌صورت صحیح و ایمن انجام ندید، نه تنها امنیت بالایی به‌دست نمیارید، بلکه حتی ممکنه با چالش جدی هم مواجه بشید. بنابراین بهتره این کار رو به دست کسی بسپارید که هم با این پروتکل آشنایی کاملی داشته باشه و هم تجربه‌ی بالایی در استفاده ازش داشته باشه.

2️⃣تاثیر احتمالی روی سرعت سیستم : فرایندهای رمزگذاری و رمزگشایی میتونه سربارهای اضافی روی سیستم ایجاد کنه. اگر چه این سربارها برای کارهای معمول و حتی پیشرفته، مشکل چندانی ایجاد نمیکنه، اما برای کارهایی که نیاز به کانکشن‌های پرسرعت دارن و یا بار روی سرور به اندازه‌ی کافی زیاده، اضافه شدن این بار ممکنه به کاهش عملکرد سرور منجر بشه.

به طور کلی با SSH می‌تونید یک راه امن برای ارسال و دریافت اطلاعات داشته باشید. SSH در شبکه و سرویس اینترنتی (technical ability afforded by the Internet) بسیار پرکاربرده و تقریباً همه سرور‌ های میزبان از این فناوری استفاده می‌کنن.

#ssh #protocol
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥103
در هر صورت یه مشکلی هست 😂😂

#fun
@CodeModule
😁264
رسپانسیو پروژت رو چک کن! 🦦

‏LambdaTest یک پلتفرم ابریه که به شما کمک می‌کنه، تا پروژه هاتون رو در بیش از 2000 مرورگر، سیستم عامل و دستگاه مختلف آزمایش کنید. با استفاده از این ابزار، می‌تونید سازگاری بین مرورگرها رو به صورت دستی یا اتوماتیک آزمایش کنید.

🔗Website

#responsive
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥173👌1
با Adonis.js بیشتر آشنا بشید! 🕸

‏Adonis.js یک فریمورک با امکانات کامل برای Node.js هست که بر ثبات و اطمینان دولوپر ها تمرکز داره. این فریمورک با الهام از اصول طراحی لاراول، مجموعه ای غنی از فیچر ها رو ارائه میده که اون رو به گزینه ای عالی برای ساخت اپ های کاربردی وب و API های مقیاس پذیر و قابل نگهداری، تبدیل میکنه.

‏Adonis.js چه کاربردهایی داره؟ 🤔

1⃣Routing: یک سیستم routing قدرتمند رو ارائه میده که از گروه بندی مسیرها، پارامترهای مسیر و اعتبارسنجی مسیر پشتیبانی میکنه و تعریف endpoint واضح و قابل نگهداری رو برای برنامه شما آسون میکنه.

2⃣ORM: یک ORM داخلی به نام Lucid که یک API ساده و شهودی برای تعامل با دیتابیس ها ارائه میده، از دیتابیس های مختلفی مانند MySQL، PostgreSQL و SQLite پشتیبانی میکنه.

3⃣احراز هویت: Adonis.js دارای مکانیزم های احراز هویت قوی هست که از استراتژی های احراز هویت مبتنی بر session و توکن پشتیبانی میکنه.

‏Adonis.js به عنوان یک فریمورک جامع برای برنامه‌های Node.js، نسبت به بقیه متمایز هست. طراحی الهام گرفته اون از لاراول همراه با قدرت TypeScript، پایه ای قوی و مقیاس پذیر برای ساخت برنامه های کاربردی وب مدرن فراهم میکنه.

برای کسب اطلاعات بیشتر به داکیومنتش مراجعه کنید.

#adonis
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥3
سوالات مصاحبه ای شرکت های بزرگ 🦦

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

در ریپازیتوری ‏Coding Interview University، شما می‌تونید مجموعه عظیمی از سوالات و منابع آموزشی رو پیدا کنید که در هنگام مواجه با استخدام در یک شرکت بزرگ مانند گوگل، فیسبوک و مایکروسافت درگیر اونها خواهید شد.

تمام موضوعاتی که در این ریپازیتوری مطرح شده، به صورت قدم به قدم بوده و بهتره که به صورت مرتب منابع اون رو مطالعه کرده و شاخه به شاخه نشید.


🌪 Repository

#work
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥102
رم مارو جوییدی آقا بسه ! 😂😂

پ.ن : بنظر شما بهترین بروزر چیه و چرا ؟

#fun
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
😁18
با این پترن پل درست کنید! 🦦

پترن Bridge یک دیزاین پترن Structural و جزو 23 الگو GoF هست، که در مهندسی نرم‌افزار استفاده میشه و به معنای جدا کردن یک انتزاع از اجرای اون می‌باشد به طوری که این دو میتونن به طور مستقل، متفاوت باشن. به عبارت دیگه الگوی Bridge یک انتزاع (what) را از اجرای اون (how) جدا میکنه.

این جدا سازی باعث ترویج:

🟠انعطاف پذیری: به راحتی با افزودن پیاده سازی های جدید سازگار میشه.

🟠قابلیت نگهداری: انتزاع یا پیاده سازی ها رو به طور مستقل تغییر میده.

🟠قابلیت استفاده مجدد: انتزاعات به خوبی تعریف شده استفاده مجدد از کد رو ترویج میکنن.

🟠تست پذیری: تمرکز بر رفتار انتزاعی، تست رو ساده میکنه.

برای اینکه بهتر این پترن رو درک کنید، مثال زیر رو بخونید:

به کلید و پریز تو اتاقتون نگاه کنید. خود کلید (انتزاع) یک راه استاندارد برای روشن یا خاموش کردن لامپ (operations) ارائه میده. با این حال، سیم کشی برق و نوع لامپ (implementation) میتونه بسته به محل (location) و محل نصب متفاوت باشه. شما میتونید یک لامپ (implementation) رو بدون تأثیر بر نحوه استفاده از کلید (انتزاع) تعویض کنید. به طور مشابه، انواع مختلف کلید ها (اجرا با مکانیزم های مختلف) رو میشه با یک لامپ ثابت (انتزاعی) استفاده کرد.

این پترن چه مشکلاتی رو حل کنه؟ منبع

فرض کنید یک کلاس Shape با دو کلاسی که از اون ارث میبرن به اسم های Circle و Square دارید. شما میخواید این سلسله مراتب کلاس رو برای ترکیب رنگ ها گسترش بدین، بنابراین قصد دارید ساب کلاس های شکل قرمز و آبی بسازین. با این حال، از اونجایی که شما در حال حاضر دو کلاس فرعی دارید، باید چند کلاس مانند BlueCircle و RedSquare نیز بسازید. (خسته کننده هست😶‍🌫️)

افزودن انواع شکل ها و رنگ های جدید سلسله مراتب اون رو به صورت تصاعدی رشد میده. به عنوان مثال، برای اضافه کردن یک شکل مثلث، باید دو زیر کلاس جدید معرفی کنین، و هر چه جلوتر میریم بدتر میشه. اینجا هست که پترن Bridge به کمکون میاد.

پترن Bridge چجوری کمک میکنه؟

الگوی Bridge سعی میکنه این مشکل رو با تغییر از وراثت به composition حل کنه. به این معنی هست که به جای اینکه تمامی ابعاد و رفتارها در یک سلسله مراتب کلاس واحد نگهداری بشن، این الگو میاد یکی از ابعاد رو به صورت جداگانه در یک سلسله مراتب کلاس مستقل استخراج میکنه. به این ترتیب، کلاس‌های اصلی به جای اینکه تمام وضعیت‌ها و رفتارها رو در خود داشته باشن، به یک شی از سلسله مراتب جدید ارجاع میدن.

به صورت کلی پترن Bridge به شما این امکان رو میده که بتونید تغییرات رو به راحتی مدیریت کرده و از کد خود به طور مؤثری استفاده مجدد کنید. برای کسب اطلاعات بیشتر در مورد این پترن، به مقالات زیر مراجعه کنید.

- Article
- Article
- Article

#design_pattern
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥3
با Reflect در جاوااسکریپت بیشتر آشنا بشید ✌️

آبجکت یا شئ Reflect، شامل متدهای استاتیک برای فراخوانی متدهای داخلی interceptable اشیاء جاوااسکریپته. برخلاف اکثر گلوبال آبجکت ها، Reflect یک constructor نیست، یعنی شما نمی‌تونید از اون با اوپراتور new استفاده کنید یا شیء Reflect رو به عنوان یک تابع کال کنید. تمام ویژگی‌ها و متدهای Reflect استاتیک هستن (مثل آبجکت Math).

آبجکت Reflect مجموعه‌ای از توابع استاتیک رو فراهم میکنه که نام‌های مشابهی با متدهای هندلر پروکسی دارن.

مهم ترین استفاده ای که از Reflect میتونیم کنیم، اینه که default behavior رو در traps های (تابعی که رفتار متد داخلی مربوط به شیء یا آبجکتو تعریف می‌کنه) هندلر پروکسی مشخص کنیم.

یک trap برای متوقف کردن یک عملیات بر روی یک آبجکت استفاده میشه. برای مثال کدی که در خط های پایین تر میبینید، یک پروکسی با trap یک deleteProperty ایجاد می‌کنه که متد داخلی [[Delete]] رو متوقف می‌کنه. ()Reflect.deleteProperty برای فراخوانی رفتار پیش‌فرض [[Delete]] بر روی targetObject به‌طور مستقیم استفاده میشه، که میتونید اونو با delete هم جایگزین کنید.

const p = new Proxy({}, {
    deleteProperty(targetObject, property) {
      // Custom functionality: log the deletion
      console.log("Deleting property:", property);

      // Execute the default introspection behavior
      return Reflect.deleteProperty(targetObject, property);
    },
  },
);


🚀متدهای Reflect کنترل بیشتری بر نحوه فراخوانی متدهای داخلی فراهم میکنن. برای مثال، ()Reflect.construct تنها راهیه که میتونید یک تابع تارگت رو با یک مقدار خاص برای new.target بسازید.

اگر از اپراتور new برای فراخوانی یک تابع استفاده کنید، مقدار new.target همیشه خود تابع خواهد بود. این موضوع تأثیرات مهمی بر روی subClass ها داره. برای مثال، ()Reflect.get به شما اجازه میده تا یک getter رو با یک مقدار this کاستوم اجرا کنید، در حالی که دسترسی به ویژگی‌ها، همیشه از شیء فعلی به عنوان مقدار this استفاده می‌کنه.

تقریباً رفتار هر متد Reflect رو میشه با بعضی دیگه از سینتکس‌ها یا متدها انجام داد. بعضی از این متدها، متدهای استاتیک هم اسم تو کلاس Object دارن، هرچند که تفاوت‌های ظریفی وجود داره.

برای کسب اطلاعات بیشتر و درک عمیق تر Reflect و static method هاش، میتونید به منبع زیر مراجعه کنید 🏖️

Document 🌕

#javascript #reflect
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥3
دورهمی های کدماژول، قسمت سوم

موضوع: همه چیز راجب لینکدین 🌐

به جرات میتونیم بگیم که «ارتباط»‌ یکی از مهم‌ترین فاکتور‌های موفقیت در دنیای امروز و برنامه نویسی هست. شما هرچقدر هم که متخصص و حرفه‌ای باشید، تا کسی از وجود شما خبر نداشته باشه و کانکشن های خوب نداشته باشید، نمی‌تونید به موفقیت برسید. بنابراین نیاز دارید که برای شناخته شدن در عرصه کاری (نه فقط ایران بلکه در سطح جهان)‌ و برقراری ارتباط با حرفه‌ای‌ها تلاش کنید؛‌ و کجا بهتر از لینکدین؟!


امشب ساعت 10 این گفتگو و دورهمی رو از دست ندید‌ 😄

@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥65
اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀

🔵 Link

#figma
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥5
با ماژول async_hooks آشنا بشید! 🪐

ماژول async_hooks در Node.js، ابزار قدرتمندیه که برای کمک به دولوپر ها در ردیابی عملیات ناهمزمان در طول lifecycle یک برنامه طراحی شده. Asynchronous operations ها در Node.js بسیار مهم هستن، و عملیات و I/O کارآمد، ریکوست ها و موارد دیگه رو ممکن می‌سازن. با این حال، مدیریت و ردیابی این عملیات میتونه چالش برانگیز باشه. ماژول «async_hooks» چارچوبی رو برای ردیابی منابع ناهمزمان فراهم میکنه و بینش‌هایی رو درباره lifecycle و تعاملات اون ها ارائه میده.

از این ماژول چه زمانی استفاده میشه؟ 🤔

ماژول «async_hooks» به دولوپر ها اجازه میده تا هوک‌های سفارشی بسازن که در طول lifecycle عملیات ناهمزمان فراخوانی میشن. این شامل زمانی هست که اون ها ساخته، اجرا و نابود میشن. با استفاده از این هوک ها، دولوپر ها میتونن درک عمیق تری از نحوه تعامل عملیات ناهمزمان در برنامه های خود به دست بیارن، که میتونه برای دیباگ، نظارت بر عملکرد و context propagation بسیار ارزشمند باشه.

این ماژول چه ویژگی هایی داره؟

1⃣ردیابی منابع ناهمزمان: دولوپر ها میتونن زمان ساخت، نابودی منابع ناهمگام (مانند تایمرها، پرامیس ها و عملیات I/O) وضعیت فعلی اون ها رو نظارت کنن.

2⃣مدیریت زمینه: با «async_hooks»، میتونید اطلاعات propagate context رو در سراسر boundaries ناهمزمان منتشر کنین.

3⃣دیباگ: با اتصال هوک ها به ایونت های ناهمزمان مختلف، میتونید اطلاعات دقیقی در مورد رفتار برنامه خود جمع‌آوری کنید که برای شناسایی باگ ها، میتونه مفید باشه.

به صورت کلی ماژول async_hooks، به دولوپر ها توانایی ردیابی و مدیریت عملیات ناهمزمان رو با دقت بیشتری ارائه میده. برای کسب اطلاعات بیشتر به داکیومنت اصلی ماژول مراجعه کنید.

#nodejs
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥3