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
📚کتابخانه lodash چیه و چه مزایایی داره؟

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

🔵 کاربردهای Lodash:

◀️کار با آرایه‌ها: Lodash توابع مختلفی برای پیمایش، فیلتر کردن، مرتب‌سازی و دستکاری آرایه‌ها ارائه میده.

◀️کار با اشیاء: Lodash توابعی برای دسترسی به مقادیر اشیاء، بررسی وجود خواص، ادغام اشیاء و موارد دیگر ارائه میده.

◀️توابع: Lodash توابع مختلفی برای ایجاد، ترکیب و curry کردن توابع ارائه میده.

◀️اعداد: Lodash توابعی برای انجام محاسبات ریاضی و دستکاری اعداد ارائه میده.

◀️رشته‌ها: Lodash توابعی برای دستکاری رشته‌ها مانند برش، جایگزینی و تبدیل به حروف بزرگ و کوچک ارائه میده.

◀️مجموعه‌ها: Lodash توابعی برای کار با مجموعه‌ها، مانند مجموعه‌ها و نگاشت‌ها ارائه میده.

⚡️مزایای استفاده از Lodash:

کاهش حجم کد: Lodash توابع زیادیو ارائه میده که می‌تونن به شما کمک کنن تا کدتونو کوتاه‌تر و خواناتر کنید.

افزایش کارایی: Lodash توابعیو ارائه میده که به شما کمک می‌کنن تا کدتونو کارآمدتر کنید.

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

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

Document 🌕

#lodash #library #js
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👌2
متد entries در جاوا اسکریپت ⌨️

این متد توی ES6 معرفی شده و مخصوص آرایه ها هست. با استفاده از متد ()entries میتونیم آیتم های یک آرایه در قالب یک شئ قابل تکرار یا ( Iterator ) در خروجی به نمایش در بیاریم.

📱 مثال:

var MyFriends = ["Reza","Ali","Shahin","Mani","Hesam"];
var result = document.getElementById("Result");
 
var MyIterator = MyFriends.entries();
 
for ( MyItem of MyIterator ) {
result.innerHTML = result.innerHTML + MyItem + "<br>";


در مثال بالا در خط ۶ ، اول آرایه مون رو به یک شئ قابل تکرار تبدیل کردیم، بعدش در خط ۸ و با استفاده از حلقه For/of اومدیم آیتم های همین شئ قابل تکرار رو در خروجی به نمایش درآوردیم.

پس در خروجی ۲ بخش داریم، [ کلید یا شماره ایندکس آیتم ] + [ مقدار آیتم ]
}


❗️همچنین با استفاده از این متد دیگه به ارور های شایع موقع پیمایش آرایه ها مثل ″Array is not iterable" بر نمیخوریم.


#js #debug #es6
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👌21
توی این پست میخوایم به فریم ورک خفن Nest.js بپردازیم 😎

🌦 اول از همه، باید بدونیم NestJS دقیقا چیه؟

در واقع NestJS یک فریمورک Node.js برای توسعه سیستم های بزرگ و چالش برانگیزه. با استفاده از این فریمورک، شما میتونید برنامه های مقیاس پذیر و آزمایش پذیر رو تو چارچوبی مشخص و ساختاری بسیار مناسب ایجاد کنید.

🏤 فریم ورک NestJS به طور قابل توجهی تحت تأثیر Angular هست و یکی از ویژگی های مهم اون، dependency injection هست؛ این ویژگی، امکان تزریق یک ماژول به ماژول دیگرو فراهم میکنه و استفاده مجدد از کد رو خیلی بهینه تر میکنه.

‼️چرا باید از Nest.js استفاده کنیم ؟

🔴استفاده از Typescript

🔴معماری ماژولار

🔴تزریق وابستگی (Dependency Injection)

🔴اعتبارسنجی داخلی

🔴پشتیبانی از وب سرویس های مختلف

🔴جامعه برنامه نویسان فعال

در حالی که Express.js هنوز یک فریمورک محبوب و پر کاربرد برای ساخت برنامه های وب با Node.js هست، NestJS طیف وسیعی از مزایا و ویژگی های اضافی رو ارائه میده که میتونه به شما تو ساخت برنامه های مقیاس پذیر، قابل توسعه و مطمئن تر کمک کنه.

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

برای یادگیری فریم ورک Nest.js میتونید به داکیومنتش مراجعه کنید.⚡️

Document 🌕

#nestjs #framework #nodejs #js
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👌2
Marijn_Haverbeke_Eloquent_JavaScript_A_Modern_Introduction_to_Programming.pdf
17 MB
✌️ یک کتاب جامع و خوب برای توسعه دهنده های JavaScript

📖کتاب Eloquent JavaScript یک کتاب خوب برای یادگیری مباحث پایه ای و کاربردی جاوااسکریپته که برای افرادی که میخوان دانش جاوااسکریپتیشونو تقویت کنن مناسبه.

#book #js
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
👌6🔥4
🫒 با کتابخانه Rx.js بیشتر آشنا بشید

در اصل RxJS یک کتابخانه برای ترکیب برنامه‌های ناهمگام و مبتنی بر رویداد (events) با استفاده از دنباله‌های Observable هست. این کتابخانه یک نوع اصلی به نام Observable، core type  (Observer، Schedulers، Subjects) و اپراتورهای الهام گرفته از متدهای Array (map، filter، reduce، every و ...) رو فراهم میکنه تا بتونن تسک های asynchronous رو هندل کنن.


ویژگی‌های اصلی RxJS عبارتند از:

🟣ایجاد Observable ها برای داده‌ها

🟣انتقال، تبدیل و ترکیب داده‌ها با استفاده از عملیات‌های متداول مانند map، filter، reduce و ...

🟣مدیریت خطاها و مدیریت وقفه‌ها (error handling and retrying)

🟣پشتیبانی از ایجاد ایونت‌ها (events)

🟣دارای اپراتورهای مختلف جهت کنترل جریان داده‌ها

🟣امکان کنترل زمان اجرای عملیات‌ها با استفاده از تایم‌اوت

🟣پیاده‌سازی مفهوم Backpressure برای مدیریت فشار دریافت داده

‼️اگر پروژه هاتون پر از تسک های async هست استفاده از Rx.js گزینه خوبی می‌تونه باشه.


🏤 همچنین Rx.js به طور پیش‌فرض یا دیفالت با پروژه های انگولاری لود میشه.

برای یادگیری این کتابخانه میتونید به داکیومنتش مراجعه کنید 🔥


Document 🌕

#rxjs #library #js
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82
شکل های گرافیکی 3D با Three js 😍

در واقع Three.js یک کتابخانه بین مرورگر جاوا اسکریپت و رابط برنامه نویسی برنامه (API) هست که، برای ایجاد و نمایش گرافیک‌‌‌های کامپیوتری متحرک سه بعدی در یک مرورگر وب با استفاده از WebGL استفاده‌‌ میشه.
 
کتابخانه three js چجوری کار می‌کنه ؟

کتابخانه Three.js امکان ایجاد انیمیشن‌‌‌های سه بعدی با شتاب واحد پردازش گرافیکی (GPU) رو با استفاده از زبان جاوا اسکریپت به عنوان بخشی از یک وب سایت بدون تکیه بر افزونه‌‌‌های اختصاصی مرورگر فراهم‌‌ میکنه. این به دلیل ظهور WebGL امکان پذیره و یک API گرافیکی سطح پایین که به طور خاص برای وب ایجاد شده. کتابخانه‌های سطح بالا مثل Three.js یا GLGE ، Scene.js ، PhiloGL ، (که در آینده براشون پست خواهیم داشت) و ...

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

🧰 امکانات جذاب این کتابخانه:

◀️افکت‌ها

◀️پرسپکتیو و آتوگرف

◀️انیمیشن

◀️نورپردازی حرفه ای

◀️ اشیاء و آبجکت‌ها

با استفاده از این کتابخانه جذاب و حرفه ای میتونید داخل سایت هاتون از شکل های گرافیکی حرفه ای استفاده کنید که افراد زیادی رو محو خودش می‌کنه و سایت شمارو زیبا و خاص نشون میده 🚀

برای یادگیری این کتابخانه میتونید به داکیومنتش مراجعه کنید 🔥

Document 🌕

#js #library #threejs #3d
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥5
💻 ران تایم Deno js چیه؟ آیا جایگزین nodeJs محسوب میشه؟

در واقع Deno.js یه محیط Runtime برای اجرای کدهای جاوااسکریپت و تایپ اسکریپت روی موتور V8 گوگل (همون موتوری که nodejs رو اجرا میکنه) هست. Denojs بهشت برنامه نویسای تایپ اسکریپته چرا که اتوماتیک کدهای Typescript رو به Javascript تبدیل میکنه و بعد اجراش میکنه

🔵ران تایم Deno js با زبان برنامه نویسی Rust نوشته شده و با هدف رفع مشکلات Nodejs ساخته شده.


🤟 این ران تایم چه مشکلاتی از Node.js رو رفت کرد ؟

باید بگیم که مشکلاتی مثل Dependecy ها، کتابخانه ها، ماژول ها، ابزار tooling و امنیت رو رفع کرد و یه جورایی رقبایی که بخاطر این مشکلات برای جاوااسکریپت شاخ شدن رو یه بار دیگه از میدون خارج کرد.


مزایای Deno js نسبت به Node js چیه؟

1⃣ امنیت بیشتر Deno js نسبت به nodejs

🔢 کتابخانه استاندارد کامل تر Deno به نسبت کتابخانه پیش فرض Node

🔢 در Deno js هیچ اجباری در استفاده از NPM ندارید

🔢 در deno js نیازی به Package.json نیست تا Dependencyها رو کنترل کنید

🔢 در Deno js نیازی به Node_modules نیست

🔢 استفاده از تایپ اسکریپت به صورت مستقیم.


🧐آیا Denojs جایگزین Nodejs میشه؟

چون Deno js نسبتا تازه معرفی شده و نسخه رسمیش ۴ ساله که اومده برای اثبات خودش نیاز به گذر زمان بیشتری داره تا بیشتر جواب پس بده و این مواردی که گفته شد بر اساس مستندات و گفته های توسعه دهنده هاشه.

⚠️نکته بعدی اینه که میلیون ها پکیج و کتابخانه برای Nodejs وجود داره اما هیچ کدوم برای استفاده از دینو استاندارد نشدن و شاید بیشتر زمان نیاز داره تا این اتفاق بیوفته. پس اینکه بگیم Deno.js جایگزین Node میشه شاید بیشتر زمان ببره تا همه انتظارات node در deno براورده بشه.


#denojs #runtime #js
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73
✌️ کامپایل و بهینه سازی کد های جاوااسکریپتی با JIT

در حوزه انجین های جاوا اسکریپت، شیوه کامپایل Just-In-Time (JIT)، اجرای کد رو متحول کرده و عملکردی رو افزایش میده که زبان های برنامه نویسی dynamic scripting رو به سرعت زبان های کامپایل شده نزدیک میکنه.

کامپایل سازی Just-In-Time تکنیکیه که به موجب اون کد جاوا اسکریپت در runtime به جای (AOT) به کد نیتیو ماشین کامپایل میشه. این رویکرد مزایای تفسیر (flexibility و portability) و کامپایل رو برای بهینه سازی سرعت اجرای کد ترکیب میکنه.

‼️چجوری JIT تو جاوا اسکریپت کار میکنه؟

در حالی که مفسرهای سنتی کد منبع رو مستقیماً (و نسبتاً آهسته) میخونن و اجرا می کنن، موتورهای دارای JIT یک لایه اضافی ایجاد می کنن. موتورهای جاوا اسکریپت مثل V8 (Chrome)، SpiderMonkey (Firefox) و JavaScriptCore (Safari) کد بایت تفسیر شده رو دریافت میکنن و اون رو به سرعت در یک کد ماشینی سریع‌تر و بهینه‌سازی کامپایل می‌کنن که پردازنده می‌تونه کارآمدتر اجرا کنه.

مزایای کامپایل به شیوه JIT چیه ؟

🟡Performance Improvements

🟡Platform Independence

🟡On-the-Fly Optimization


کامپایل Just-In-Time یک تغییر بزرگ برای جاوا اسکریپت بوده و به دولوپرا این امکانو میده تا برنامه های کاربردی با کارایی بالا رو بدون از دست دادن راحتی و انعطاف زبان بنویسن. با کامپایل کردن کد در زمان اجرا، کامپایلرهای JIT مانند V8 و SpiderMonkey اطمینان حاصل می کنن که جاوا اسکریپت در دنیای پر سرعت توسعه وب رقابتی باقی میمونه، بدون اینکه دسترسی و تطبیق پذیری اون به خطر بیوفته. با پیشرفت‌های مداوم در فناوری JIT، میشه انتظار داشت که موتورهای جاوا اسکریپت زمان‌های اجرای سریع‌تریو ارائه بدن و همگام با منظره وب در حال تحول باشن.


#js #engine #jit
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82
✌️ 100 سوال مصاحبه ای جاوا اسکریپت

ریپازیتوری های زیر، هر کدوم 100 سوال متداول جاوا اسکریپتی، همراه با پاسخ دارن که بهتون پیشنهاد میکنم حتما یه سر بزنید

🐱 https://github.com/sudheerj

🐱 https://github.com/ganqqwerty

🐱 https://github.com/lydiahallie


#js #interview
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👌4
✌️ در جاوا اسکریپت بدون استفاده از کتابخانه، متن رو به گفتار تبدیل کن !

با پراپرتی speechSynthesis این کار به راحتی امکان پذیره!

وظیفه speechSynthesis، ایجاد و کنترل صدای گفتاری (تبدیل متن به گفتار) هست.
برای استفاده از speechSynthesis، میتونید از متدهای مختلفی استفاده کنید تا متن مورد نظر و به گفتار تبدیل، و کنترل کنید (جلوتر ازشون نام میبریم).

برای شروع ابتدا باید یک آبجکت از جنس SpeechSynthesisUtterance بسازیم تا امکان استفاده از پراپرتی speechSynthesis رو داشته باشیم:

let to_speak = new SpeechSynthesisUtterance('this is a test'); 

speechSynthesis.speak(to_speak);


🔵در خط اول کد بالا، یک شئ از جنس SpeechSynthesisUtterance ساختیم و نیازه که یک پارامتر بهش پاس بدیم که اون پارامتر، باید یک string باشه که بتونه اون string رو تلفظ کنه.

🔵در مرحله بعد ما برای اینکه بتونیم متن رو تلفظ کنیم، باید speechSynthesis رو صدا کنیم که خودش شامل چندین متد از جمله speak ، pause ، resume و ... میشه که جهت کنترل صدا هست. اینجا برای تبدیل متن به گفتار نیازه که از متد speak استفاده کنیم.

👨‍💻متد speak جهت تلفظ متن استفاده میشه، بنابراین این متد رو به speechSynthesis اضافه میکنیم و آبجکتی که اول ساختیم و به عنوان پارامتر بهش پاس میدیم و کار تمام.

⚠️این پراپرتی در تمام بروزر ها ساپورت میشه و با مشکل مواجه نخواهید شد.


#js #web
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥93
🤯متد های کاربردی Console که نمیدونستی!

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


⚡️انواع متد ها و کاربردهاشون:

1️⃣متد log: برای چاپ کردن اطلاعات دلخواه اعم از متن ، عدد ، آبجکت ، آرایه ، ‌و ... در کنسول مرورگر

console.log("CodeModule")


2️⃣متد info: برای خروجی اطلاعات آموزنده روی کنسول‌ (درباره موضوعی میخواید اطلاعات کمک کننده بدید)

console.info("CodeModule is the best")


3️⃣متد error: برای خروجی خطا روی کنسول که متن دلخواه شما رو به شکل ارور در کنسول چاپ میکنه

console.error("this is a error")


4️⃣متد warn: برای خروجی اخطار روی کنسول که متن دلخواه شما رو به صورت هشدار (با رنگ زرد) در کنسول چاپ میکنه

console.warn("this is a warn")


5️⃣متد clear: برای پاک کردن کنسول از همه لاگ ها و ارور ها و ...

console.clear()


6️⃣متد time و timeEnd : برای نشان دادن طول مدت اجرای یک تکه کد استفاده میشه

   console.time("myTimer is start");
   // some code here
   console.timeEnd("myTimer is end");
 


7️⃣متد table: برای نمایش داده‌ها به‌صورت جدول روی کنسول، که خیلی کاربردیه!

   const names = ["mahan", "shahin", "ghasem"];
   console.table(names);


با یادگیری این متد ها، میتونید خیلی حرفه ای تر و راحت تر با کنسول کار کنید و خروجی ها و مشکلات کد هارو، دقیق تر بررسی کنید 🏖️


#console #js
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73