Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب – Telegram
Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب
9.19K subscribers
657 photos
354 videos
90 files
813 links
اگر با جاوااسکریپت مشکل داری، این چنل مخصوص خودته 🤝

دوبله بهترین دوره های جاوااسکریپت و ریکت دنیا رایگان:
https://news.1rj.ru/str/DeepDevs/2166

تبلیغات و تبادل نداریم

گروه اصلی برای پرسش و پاسخ:
@DeepDevsGpOriginal

گروه چت:
@InstaDevsGp
Download Telegram
اگر جمعه ها قرار باشه داخل یوتیوب لایو استریم بزاریم که اگر سوالی دارید مشکلی دارید یا ایده ای دارید بیاید و خلاصه با هم صحبت کنیم، مشارکت میکنید؟
Anonymous Poll
67%
بله حتما 👌
33%
نه مشارکت نمیکنم
🔥12
سلام به همگی شبتون بخیر
یک تیم از برنامه‌نویس‌های اپن‌سورس کشورمون سعی کردن یک پروژه زیرساختی توسعه بدن به اسم لسان، الآن نیاز به دیده شدن دارن تا بتونن کارشون رو ادامه بدن، دمتون گرم بهشون توی گیت‌هاب استار بدید
لینک گیت‌هاب :
https://github.com/MiaadTeam/lesan
لینک داکیومنت :
https://miaadteam.github.io/lesan/

حالا لسان چی هست:
یک وب‌سرور بعلاوه ODM بر روی MongoDB، که با الهام از GraphQL مدیریت دریافت داده‌ها رو به سمت Client سپرده ولی خیلی از مشکلات اون رو نداره.
و از همه مهمتر یه تعریف جدید از رابطه‌ی بین داده‌ها ارائه می‌ده، که باعث میشه دریافت داده‌ها بسیار سریعتر انجام بشه و مدیریت اونها قابل فهم‌تر باشه. این فریم‌ورک تمام رابطه‌ها رو بدون دردسر امبد میکنه و سرعت خواندن اطلاعات توش وحشتناک بالاست.
(بنچمارک رو ببینید https://miaadteam.github.io/lesan/#benchmarks).
نوع نگاه لسان به رابطه‌ها باعث شده داده‌ها و کوئری‌ها برای دریافت اونها ساده سازی بشند، به همین خاطر کل فرآیند از کدنویسی تا لایه کش حتی دیتا ماین هم ساده میشه.
👍134
💎 بررسی مقدار عددی یک ورودی
برای اینکه بررسی کنید آیا ورودی کاربر عدد است یا خیر، میتونید از تابع بالا استفاده کنید.

انتشار یادت نره ❤️

#Tips_N_Tricks

Channel: @js_challenges Group: @js_masters_gp
19👍8
💎 کلون کردن دو آرایه
برای کلون کردن دو آرایه از Spread operator استفاده کنید
const myArray = [2,3,5]
const clonedArray = [...myArray]
در صورتی که به صورت ساده بنویسید
clonedArray = myArray
آدرس خانه حافظه دو آرایه یکسان خواهد بود و با هر تغییر در آرایه اصلی یا کلون شده، تغییر در هر دو آرایه اعمال خواهد شد.

Channel: @js_challenges
Group: @js_masters_gp
👍19🔥3
#quick_challenge
خروجی کد پایین چیه؟
console.log(2 + 2 % 3);


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

Channel: @js_challenges | Group: @js_masters_gp
👍4
💎 کلون کردن دو آبجکت
برای کلون کردن دو آبجکت، نمیتوان به صورت مستقیم بنویسید
 obj1=obj2
چون این عمل شمارا با خطا روبرو میکند

یکی از راه ها استفاده از Spread Operator میباشد که البته در این روش یک shallow copy گرفته میشود نه deep copy
و راه دیگر کلون کردن یک آبجکت، این است که ابتدا آبجکت را به رشته و سپس مجددا رشته را به آبجکت تبدیل کنید این موضوع باعث ایجاد آبجکت جدید خواهد شد
const myObj = {name:"abas"}
const clonedObj = JSON.parse(JSON.stringify(myObj))

`

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

انتشار یادتون نره ❤️

#Tips_N_Tricks

Channel:@js_challenges
Group: @js_masters_gp
❤‍🔥11👍3
صبحتون بخیر رفقا❤️

دوستان ویدیو جدید یوتوبمون آپلود شد🔥

🔸توی این ویدیو خیلی ساده توضیح دادم که چطور تمام اعداد داخل استرینگ رو استخراج کنیم👌

🔸چالش هم داریم و علاوه بر اون از دوتا متد پرکاربردی جاوا اسکریپتم استفاده کردیم🫡

مثل همیشه به حمایتتون بیشتر از همیشه نیاز داریم رفقا❤️
اونور میبینمتون❤️

لینک ویدیو: https://youtu.be/9JtIajFCKVo

Channel: @js_challenges | Group: @js_masters_gp
🔥7
🔥در اینجا کد یک تابع ژنراتور (Generator Function) را مشاهده می‌کنیم. این نوع توابع در جاوااسکریپت قدرت خاصی دارند و امکان متوقف کردن و از سرگیری آن‌ها را در حین اجرا فراهم می‌کنند.
1️⃣عبارت yield:
از عبارت yield برای تولید و بازگرداندن یک مقدار از تابع استفاده می‌شود.
در اینجا، مقدار 1 تولید و بازگردانده شده است.
با فراخوانی تابع ژنراتور، یک شیء ژنراتور ایجاد می‌شود که می‌تواند برای کنترل اجرای تابع مورد استفاده قرار گیرد.
این شیء در متغیر generator ذخیره می‌شود.
2️⃣استفاده از متد next:
متد next() برای دریافت مقدار بعدی از تابع ژنراتور استفاده می‌شود.
این متد یک شیء با دو خصوصیت بازمی‌گرداند:
value: مقدار تولید شده توسط yield
done: نشانگر اتمام اجرای تابع ژنراتور
مقدار آخر (3) تولید می‌شود و در خروجی نمایش داده می‌شود.
تابع به اتمام می‌رسد زیرا دیگر yield ای وجود ندارد.
خصوصیت done روی true تنظیم می‌شود تا نشان دهد که تابع تکمیل شده است.
🥇کاربردهای توابع ژنراتور:
ایجاد حلقه‌های سفارشی
مدیریت جریان داده‌های بزرگ
نوشتن کد ناهمگام به صورت خواناتر
پیاده‌سازی الگوریتم‌های بازگشتی به صورت بهینه

Channel: @js_challenges | Group: @js_masters_gp
😎12👍8❤‍🔥1
#quick_challenge
خروجی کد پایین چیه؟
const arr = [1, 2, 3];
arr.unshift(0);
arr.push(4);
arr[1] = 'two';
console.log(arr.join(', '));


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

Channel: @js_challenges | Group: @js_masters_gp
❤‍🔥8
💎 مفهوم Deep Copy و Shallow Copy
Deep Copy :
یعنی کلون/کپی کردن یک آبجکت، با رفرنس متفاوت در حافظه

Shallow Copy :
یعنی کلون/کپی کردن یک آبجکت با رفرنس یکسان در حافظه

Channel:@js_challenges Group:@js_masters_gp
17👍5
const x = 10;
function foo() {
console.log(x);
const x = 20;
}
foo();

اگر سوالی داشتید در موردش داخل گروه بپرسید 👌

Channel: @js_challenges | Group: @js_masters_gp
👍9
دوستان در خصوص Not Coin یه سری توضیحات و نظر شخصی خودم رو داخل گروه چتمون دادم میفرستم اینجا شما هم بشنوید بد نیست
👍14🔥1
https://news.1rj.ru/str/js_challenges_chat/18619

سود اصلی رو اینجا ربات فروشا و کسایی میبرن که طرف 10 میلیون جمع کرده بعد میاد به ما میگه بیا بهت بفروشم بعدا پولدار بشی 😂
👍28🔥2
💎 مختصری در مورد دام مجازی (Virtual DOM)

تمامی تگ های اچ تی ام ال یک صفحه در فضایی به عنوان دام (DOM) نگهداری می شود در واقع دام، یک شکل درختی از تگ های تو در تو HTML صفحه شما می باشد.
لایبری ریکت، از فضایی رو نمایی کرد به نام دام مجازی یا همان Virtual DOM، این دام وظیفه بروزرسانی صفحه شما را بدون رفرش اطلاعات اضافی را بر عهده دارد دقیقاً کاری که AJAX انجام میدهد اما با این تفاوت که ایجکس روی دام اصلی تغییرات را اعمال می کند (که به مراتب کند تره) اما ریکت، تغییرات را در دام مجازی انجام میدهد سپس جایگزین دام اصلی میکند (و بسیار سریع تره تا ایجکس).

فرایند بروزرسانی یک صفحه طراحی شده توسط ریکت :
- با لود صفحه شما یک DOM و یک Virtual DOM از صفحه شما ایجاد میشود که یوزر موارد درون دام را مشاهده می کند.
- فرض کنید یک تغییر را در صفحه ایجاد کرده اید به عنوان مثال با کلیک بر روی یک باتن، قرار است یک پاراگراف در صفحه نمایش داده شود.
- ریکت، یک دام مجازی دیگر از صفحه شما با احتساب تغییراتی که قرار اعمال بشود ایجاد می کند و با دام مجازی قبلی که ابتدای لود صفحه ایجاد کرده بود مقایسه می کند.
- پس از بررسی متوجه میشود که در دام مجازی جدید فقط یک پاراگراف جدید اضافه شده است و مابقی اجازی صفحه با دام قبلی مطابقت دارد.
- حال بدون دست زدن به سایر کد های صفحه DOM، فقط تغییرات جدید را در درون کد های DOM جایگذاری می کند.
- در این صورت مجدداً دو Virtual DOM که با هم مقایسه شدند حذف و مجدداً یک Virtual DOM جدید از دام فعلی ایجاد میشود.

Channel:@js_challenges
Group:@js_masters_gp
👍30🔥2