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

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

Group 👇🏻
@CodeModuleGap

Contact Us 👇🏻
@MrShahiin
@neoMahan
Download Telegram
تفاوت کتابخانه (library) و فریم‌ورک (framework) چیه؟ 🧐

یکی از سوالای اساسی توی مصاحبه ها اینه که چه تفاوتی بین کتابخانه و فریم ورک هست؟

🔵 تفاوت اصلی بین کتابخانه و فریم‌ورک در “وارونگی کنترل (inversion of Control)” هست. وقتی که شما یک method رو از کتابخانه فراخوانی می‌کنید، شمایید که بر رویکرد اون کنترل دارید. اما در فریم‌ورک این‌مسئله برعکسه.

فریم‌ورکه که کدهای شما و فراخوانی می‌کنه.

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

🔵 در سمت دیگه، کتابخانه هیچ چیزی رو برای شروع در اختیار شما نمیزاره. در مقابلِ فریم‌ورک، ویژگی‌های محدودتری در کتابخانه وجود داره. همچنین برای استفاده گسترده‌تر از اونا باید از ویژگی‌های ثالث (third-party) دیگر استفاده کنید.

🔵 فریم‌ورک، تمامی جریان (flow) رو در کنترل خود داره و نقاطی از پیش تعریف‌شده وجود داره که شما باید، با کد‌های خودتون اونا رو تکمیل کنید. همچنین فریم‌ورک معمولاً پیچیده‌تر هستن.

🔵 فریم‌ورک اسکلتی رو تعریف می‌کند که در اون، برنامه ما ویژگی‌های خاص خودشو برای تکمیل‌کردن این‌اسکلت به اون اضافه میکنه. از این‌طریق، فریم‌ورک در زمان موردنیاز کدهای شمارو فراخوانی ‌می‌کنه.
در هردوی اونا – فریم‌ورک و کتاب‌خانه، APIهای تعریف شده‌ای موجوده که توسط برنامه‌نویسان، مورد استفاده قرار می‌گیره.

در نهایت میشه به این نتیجه رسید که کتابخانه، تو توسعه ویژگی‌های اپلیکیشن به ما کمک می‌کنه و فریم‌ورک اسکلت اون رو تشکیل میده. در این‌میان API، اتصال دهنده‌ای برای استفاده هر‌دوی اونا در کنار هم است😉


#framework #library #different
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👌2
ری اکت کوئری و هر چیزی که باید راجبش بدونیم!


ری اکت کوئری یکی از قدرتمندترین کتابخانه های React هست که به ما در زمینه Data-Fetching و State Management کمک میکنه. البته کتابخانه React Query به همین 2 قابلیت ختم نمیشه و مزایای بیشتری داره ک در ادامه با اون ها آشنا میشیم 🔥

در حقیقت React Query یک کتابخانه ری اکتی هست و در پروژه هایی که با React یا Next.js توسعه داده شدن ، قابلیت استفاده داره.

اما ری اکت کوئری چه مزایایی داره ؟


‼️ امکان Fetch کردن اطلاعات از سرور

‼️ امکان کش کردن اطلاعات دریافت شده

‼️ بروزرسانی خودکار اطلاعات

‼️ قابلیت صفحه بندی یا Pagination

‼️ بهبود Performance پروژه

‼️ سازگاری کامل با تایپ اسکریپت

‼️ امکان مدیریت خطا و لودینگ


به جرئت میشه گفت که ری اکت کوئری برای همه پروژه های ری اکت ضروریه ! چون عملیات دریافت اطلاعات از سرور ، کش کردن اون اطلاعات و بروزرسانی اون اطلاعات رو برای ما خیلی ساده انجام میده و مدیریت میکنه.

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

Document 🌐

#library #react_query
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👌42
اگر توسعه دهنده فرانت باشید، حتما توی پروژه هاتون به کتابخانه هایی برای نمایش دادن نمودار ها (chart) نیاز پیدا میکنید.

تو این پست ۶ تا از بهترین کتابخانه ها در این زمینه رو معرفی میکنم تا بتونید توی پروژه هاتون، چارت هارو مثل آب خوردن هندل کنید😎


◀️کتابخانه Chart.js

◀️کتابخانه HighCharts

◀️کتابخانه C3.js

◀️کتابخانه Chartist

◀️کتابخانه Plotly

◀️کتابخانه Apexcharts.js


#library #js #chart
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥9👌4
تو این پست قراره با ۶ کتابخانه پر کاربرد جاوا اسکریپتی، برای توسعه اسلایدر آشنا بشیم 😎⬇️


1⃣ کتابخانه Swiper.js

🔢 کتابخانه Flickity.js

🔢 کتابخانه Splide.js

🔢 کتابخانه Glide.js

🔢 کتابخانه Tiny slider.js

🔢 کتابخانه Owl carousel


#js #library
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👌3
📚با استیت منیجمت Mobx بیشتر آشنا بشید

در واقع Mobx یک کتابخانه مدیریت استیت برای برنامه‌های جاوااسکریپته که به طور معمول با React استفاده میشه. در Mobx مفهوم اصلی، observables ها هستن که واکنش‌پذیریو تو برنامه شما فعال میکنن.
استیت منیجمنت Mobx از الگوی تغییرات رفع اشکال (reactive programming) استفاده می‌کنه تا همگام با تغییرات در داده‌ها، رابط کاربری رو به‌روز کنه.

🔵 نکته: observables ها اشیاء یا مقادیر قابل مشاهده هستند. به این معنی که هنگام تغییر اونها، observables ها به طور خودکار آگاه میشن و هر مولفه یا تابع واکنش‌پذیر دوباره اجرا میشه.


چرا از Mobx استفاده کنیم؟

‼️حجم بسیار کم

‼️سازگاری کامل با typescript

‼️ساده

‼️عملکرد قوی در پروژه های بزرگ


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


در کل استیت منیجمنت MobX نسبت به سایر استیت منیجمنت ها مثل redux و... بسیار ساده تر و کم حجم تر هست و کار باهاش تجربه دلنشینی برای شما به ارمغان میاره. برای یادگیری این کتابخانه میتونید به داکیومنتش مراجعه کنید


Document 🌕

#library #state_managment #mobx
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42
📚کتابخانه 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
🫒 با کتابخانه 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
نوتیفیکیشن های جذاب با کتابخانه React-hot-toast 😍


کتابخانه React-Hot-Toast برای نمایش اعلان‌ یا نوتیف در پروژه های ریکتی هست. اعلان‌های Toast پیام‌های کوتاه مدت هستن که روی صفحه ظاهر میشن تا به کاربران اطلاعات، فیدبک یا هشدار‌های مهم ارائه بدن.


‼️ویژگی‌های کتابخانه React-hot-toast:

🔵ظاهر قابل کاستومایز
🔵ایونت هندلر
🔵کنترل مدت زمان
🔵عملیات async
🔵واسط برنامه نویسی ساده

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

🔢 انگیزش کاربر: اعلان‌ها به کاربران کمک میکنن تا با جلب توجه اونها به اقدامات یا محتوای خاص، اونارو ترغیب به انجام اقدامات خاصی مثل تکمیل ثبت نام یا کاوش تو ویژگی‌های جدید کنن.

🔢 بازخورد و رفع خطا: یک سیستم اعلان نقش مهمی تو ارائه فیدبک به کاربرا ایفا می‌کنه. این میتونه به کاربرا در مورد موفقیت یا شکست اقداماتشون اطلاع بده و اونها رو تو رفع خطاها یا تأیید عملیات موفق هدایت کنه.

🔢 پایش وظایف: اعلان‌ها به کاربران در پایش و نظارت بر وظایف، رویدادها یا به‌روزرسانی‌های مهم در برنامه کمک می‌کنن.

🔢 ارتباط: اعلان‌ها به عنوان یک وسیله حیاتی برای ارتباط بین برنامه و کاربرانش عمل می‌کنن.

🔢 بروزرسانی‌های زمان واقعی: اعلان‌ها با فراهم کردن به‌روزرسانی‌های زمان واقعی، به کاربرا فوراً درباره تغییرات یا محتوای جدید اطلاع میدن.


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

Document 🌕

#library #react #react_hot_toast
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥92😁1
شکل های گرافیکی 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
😍 کد هارو با Shiki، در سایت هایلایت و به اشتراک بذار!

کتابخانه Shiki، یک سینتکس هایلایتر خفن و قدرتمنده که با استفاده ازش میتونید، کد های دلخواهتون رو در داخل سایت قرار بدید.

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

مزایای کتابخانه Shiki چیه:

◀️قدرتمند و سریع

◀️قابل کاستومایز

◀️ظاهر زیبا و مدرن

◀️پشتیبانی از انواع زبان ها

◀️قابلیت استفاده در فریم ورک های مدرن


با استفاده از Shiki، دیگه دغدغه یک سینتکس هایلایتر سریع با امکانات بالا رو ندارید، و به راحتی و زیبایی کارتون رو هندل میکنید 🔥


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

Document 🌕

#library #playground
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👌3❤‍🔥2
⌨️ تسلط بر Data Visualization با Matplotlib در پایتون

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

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

کتابخانه Matplotlib به کاربرا این امکان رو میده که بصری‌سازی‌های با کیفیت بالا مثل نمودارهای خطی، نمودارهای پراکندگی، نمودارهای میله‌ای، هیستوگرام، نمودارهای دایره‌ای و ... ایجاد کنن.

این کتابخانه یک اینترفیس (رابط) ساده برای تولید شکل‌های با کیفیت چاپی فراهم میکنه که اونو به یک ابزار موثر و ضروری برای بررسی و ارائه داده‌ها، تبدیل می‌کنه.

مزایای کتابخانه Matplotlib چیه:

🟢پشتیبانی گستره از انواع چارت ها و نمودار ها

🟢قابلیت ادغام با کتابخانه های خفن دیگه ی پایتون مثل Pandas , Numpy

🟢کامیونیتی بزرگ

🟢وجود دسته های بزرگ از نمودار و چارت در گالری Matplotlib که برای راهنمایی کاربرا ایجاد شده

معایب کتابخانه Matplotlib چیه :

🔴این کتابخانه دارای منحنی یادگیری تند (steep Learning Curve) هست یعنی برای پیاده سازی نمودار های پیچیده تر باید تسلط عمیقی پیدا کرد.

🔴استایل‌های پیش‌فرض نمودارهای Matplotlib بدون کاستومایز، ظاهر خوبی ندارن.

🔴نمودار های پیچیده ساخته شده توسط Matplotlib ممکنه به اندازه باقی کتابخونه ها بهینه نباشه.


به طور کلی، Matplotlib یک ابزار چندکاربری و قدرتمند برای بصری‌سازی داده در پایتونه که گزینه‌های گسترده‌ای برای ایجاد نمودارهای اطلاعاتی و جذاب بصری فراهم میکنه🔥


#python #library #matplotlib
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62