Code Module | کد ماژول
前往频道在 Telegram
Hello World 🌎 <> Earth is programmable if you code it Group 👇🏻 @CodeModuleGap Contact Us 👇🏻 @MrShahiin @neoMahan
显示更多2 179
订阅者
无数据24 小时
-47 天
+3930 天
帖子存档
با Relay-modern بیشتر آشنا بشید 😎
Relay-modern یک فریم ورک جاوااسکریپت برای ساخت برنامههای data driven ریکتی هست. این فریم ورک توسط فیسبوک توسعه داده شده و هدفش سادهسازی فرآیند مدیریت نیازمندیهای پیچیده دیتا، با ارائه رویکرد قابل پیشبینی کارآمد برای data fetching و مدیریت داده هاست.
⚙ در core (هسته) فریم ورک، Relay-modern یک روش برای تعریف دپندنسی های داده و مشخصات query رو به صورت declarative فراهم میکنه. همچنین این امکان رو به دولوپرا میده که به راحتی دیتا رو از منابع مختلف درخواست کرده و نمایش بدن، بدون اینکه نگران جزئیات پیادهسازی زیرین (underlying implementation details ) باشن.
📢همچنین فریم ورک Relay-modern یک مکانیزم بهینه شده batching و caching کوئری های GraphQL داره، که به کاهش ترافیک شبکه و بهبود عملکرد کمک میکنه.
علاوه بر این، Relay-modern امکاناتی رو برای سادهسازی مدیریت وضعیت برنامه فراهم میکنه، مثل automatic data fetching و mutation tracking. همچنین شامل ابزارهایی برای اشکالزدایی و ارزیابی عملکرد هست که کمک میکنه به شناسایی و تشخیص مشکلات در برنامه.برخی از ویژگی های Relay-modern: 🔵Pre-fetching 🔵Type safety 🔵Declarative Data Fetching 🔵Colocation of Data Dependencies 🔵Hyper-optimized runtime درکل Relay-modern یک فریم ورک قدرتمند برای ساخت برنامههای React مبتنی بر داده (data driven) هست، و رویکرد declarative اون در مدیریت دپندنسی های داده، اون رو به گزینهای محبوب در بین دولوپرایی تبدیل کرده، که به دنبال سادهسازی فرآیند توسعه و بهبود عملکرد برنامه هستن. برای یادگیری و کسب اطلاعات بیشتر، میتونید به داکیومنت این فریم ورک مراجعه کنید. Document 🌕 #relaymodern #graphql @CodeModule
در لینکدین چه میگذرد؟
پست تخصصی؟ نه یه قدی میزارم لایک و کامنت بگیره 👍
#fun
@CodeModule
با استاندار SAML بیشتر آشنا بشید😎
استفاده از SAML در امنیت وب خیلی مهمه، چون این استاندارد امکان ایجاد ارتباط امن و قابل اعتماد بین سرویسهای وب رو فراهم میکنه و از نیاز به انتقال مستقیم اطلاعات احراز هویت کاربران، بین سرویسها جلوگیری میکنه.
SAML یا Security Assertion Markup Language با ارائه روشی برای احراز هویت یک کاربر و سپس انتقال اون تأیید اعتبار به چندین برنامه، فناوری ورود به سیستم واحد (SSO) رو ممکن میکنه.
🧐 اما دقیقا SAML Assertion چیه ؟
SAML Assertion یک Secure statement هست که توسط سامانه احراز هویت (Identity Provider) صادر میشه و حاوی اطلاعات احراز هویت کاربره.
✅ این statement شامل اطلاعاتی مثل شناسه کاربر، مجوزهای کاربر، زمان اعتبار و دسترسیهای کاربر به منابع مختلف میشه. سرویسهای وب از این بیانیه برای تصدیق هویت کاربر و اجازه دسترسی به منابع استفاده میکنن.
⚙ SAML چجوری کار میکنه؟
زمانی که یک کاربر به یک سرویس وب وارد میشه و نیاز به احراز هویت داره، سرویس اولین بار با استفاده از SAML ،سریعا token احراز هویت رو درخواست میده. سپس سامانه احراز هویت (Identity Provider) که ممکنه یک سرویس مستقل یا سامانه داخلی شرکت باشه، توکن رو بررسی کرده و اگر تایید بشه، یک تصدیق یا assertion امن به سرویس میده. سپس سرویس وب، با استفاده از این تصدیق، کاربر رو مجاز به دسترسی به منابع مورد نظر میکنه.
به صورت خلاصه SAML یک استاندارد برای احراز هویت و مجوزدهیه که به سرویسها امکان میده، با یکدیگر اطلاعات احراز هویت رو به اشتراک بگذارن و به کاربران دسترسی امن به منابع رو مجاز کنن 🏖️
#saml #authentication
@CodeModule
با Ethers.js بیشتر آشنا بشید! 🕷
Ethers.js یک کتابخانه محبوب جاوااسکریپتی هست که برای تعامل با بلاک چین اتریوم طراحی شده. این پکیج یک API ساده، قوی و ایمن رو ارائه میده که اون رو ابزاری ضروری برای دولوپر هایی که برنامههای مبتنی بر اتریوم میسازن، تبدیل میکنه. این کتابخانه بسیار جامع هست و قابلیتهای زیادی ارائه میده و در عین حال، سهولت استفاده رو تضمین میکنه.
این کتابخانه چه کاربردهایی داره؟ 🤔
1⃣مدیریت کیف پول: Ethers.js ابزارهایی رو برای ایجاد، مدیریت و تعامل با کیف پول های اتریوم ارائه میده. برای کیف پولهای نرم/سخت افزاری پشتیبانی میشه و اون رو برای موارد مختلف، قابل استفاده میکنه
2⃣تعامل قرارداد هوشمند: این کتابخانه فرآیند استقرار، تماس و گوش دادن به ایونت های قرارداد هوشمند رو ساده میکنه و یک API واضح، برای ایجاد نمونه های قرارداد و اجرای توابع اون ارائه میده.
3⃣مدیریت تراکنش: Ethers.js به دولوپر ها اجازه میده تا به راحتی تراکنش ها رو ایجاد و ارسال کنن.
به صورت کلی Ethers.js به عنوان یک کتابخانه قدرتمند، کاربرپسند و جامع برای توسعه اتریوم هست. برای کسب اطلاعات بیشتر به دایکومنت خود کتابخونه مراجعه کنید.
Document 🌐
#ethers
@CodeModule
اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀
🔵 Link
#figma
@CodeModule
با پکیج Cloudinary آشنا بشید 🪐
Cloudinary یک راه حل جامع برای مدیریت media ها هست، که به طور گسترده در کامیونیتی دولوپر های Node.js مورد استفاده قرار میگیره. این پکیج مجموعه ای قدرتمند از ابزارها رو برای آپلود، مدیریت و ارائه فایل ها مانند تصاویر و ویدئوها رو فراهم میکنه.
اما این پکیج کجا کاربرد داره؟ 😄
1⃣Upload Media: از چندین منبع برای آپلود رسانه پشتیبانی میکنه، از جمله مسیرهای لوکال فایل، URL های دیتابیس، URI های base64.
2⃣Transform and Optimize: یکی از ویژگی های برجسته Cloudinary، توانایی اون در انجام دگرگونی ها در حین on-the-fly هست. دولوپر ها میتونن مستقیماً از طریق API Cloudinary، اندازه، برش، فشردهسازی و اعمال جلوههای مختلف روی تصاویر و ویدیوها اعمال کنن و از تحویل بهینه رسانه بدون افت کیفیت اطمینان حاصل کنن.
3⃣Delivery and CDN: با CDN ها ادغام میشه تا فایل های media رو سریع و کارآمد به کاربران نهایی تحویل بده. این ادغام کاهش زمان بارگذاری و تجربه کلی بهتر کاربر رو تضمین میکنه.
Cloudinary یک ابزار ارزشمند برای دولوپر های Node.js، که به دنبال ساده سازی و بهبود گردش کار مدیریت media خود هستن، هست. API قوی اون، همراه با ویژگیهای قدرتمندی مانند تبدیلهای لحظهای و ادغام CDN، اون رو به بهترین انتخاب برای مدیریت تصاویر و ویدیوها در برنامههای وب تبدیل میکنه.
برای کسب اطلاعات بیشتر به داکیومنت Cloudinary مراجعه کنید.
#cloudinary #nodejs
@CodeModule
اَشکال ۲ بعدی خفن به پروژت اضافه کن 💀
Matter.js یک موتور دوبعدی جاوااسکریپت هست که برای شبیهسازی حرکت و تعاملات اجسام در محیطهای دو بعدی طراحی شده.
این موتور شامل ویژگیهایی مانند برخورد، اصطکاک، کشش، جاذبه و محدودیتهای مکانیکی هست. Matter.js برای ساخت بازیها، انیمیشنها، و شبیهسازیهای فیزیکی کاربرد داره، و از API ساده و قابل فهمی برخورداره که اون رو برای دولوپر ها بسیار مناسب میسازه. برای کسب اطلاعات بیشتر به داکیومنتش مراجعه کنید.
Document 🌐
#matter #2d
@CodeModule
👩💻 با Docker Swarm بیشتر آشنا بشید
🔵Docker Swarm یک ابزار برای مدیریت و اجرای برنامههای کانتینری با استفاده از تکنولوژی کانتینریزاسیون Docker هست. Docker Swarm به عنوان یک ابزار بنیادی در اکوسیستم Docker برای ایجاد یک محیط توزیعشده از کانتینرها بهکار میره.
با استفاده از Docker Swarm، میشه یک گروه از worker ها رو بهعنوان یک cluster یا خوشه از سرورهای Docker مدیریت کرد و برنامههای کانتینری رو بر روی اونا اجرا کرد. همچنین امکاناتی برای اجرا، مدیریت، مانیتورینگ و اسکالینگ برنامههای کانتینری در محیطهای توزیعشده فراهم میکنه.
👩💻 مقایسه Docker Swarm و Kubernetes:
‼️ابزار های Docker Swarm و Kubernetes به عنوان دو ابزار اصلی و حیاتی در مجموعهسازی کانتینرها شناخته میشن.
🔵 ابزار Docker Swarm، به خصوص برای استفاده با داکر طراحی شده و دارای رابط کاربری ساده و مفهومیه. این ابزار به طور پیشفرض از قابلیت load balance پشتیبانی میکنه و اجازه استقرار سریع و آسان کانتینرها رو میده.
🔵 اما Kubernetes که توسط گوگل ایجاد شده، به دلیل قابلیتهای خود در خودکارسازی استقرار، مقیاس پذیری و مدیریت برنامههای کانتینری شناخته شده. Kubernetes قادره به مدیریت محیطهای پیچیده بپردازه و امکانات متنوعی رو در زمینه مدیریت workload (برنامههای در حال اجرا روی Kubernetes) ارائه بده، اما نصب و مدیریتش به دلیل پیچیدگیش نیازمند دانش و مهارت بیشتریه.
ابزار Docker Swarm برای افرادی که با دستورات Docker آشنا هستن یا در پروژههای کوچیک و متوسط فعالیت میکنن، انتخاب مناسبیه چون یادگیری و نصبش به سادگی انجام میشه. اما Kubernetes به دلیل دارا بودن یک جامعه کاربری بزرگتر و امکان ادغام با Third party tools، از پشتیبانی بیشتری برخورداره و کاربرا میتونن به ابزارهای متنوعی دسترسی پیدا کنن.
به طور کلی، Docker Swarm یک ابزار قدرتمند برای مدیریت و اجرای برنامههای کانتینری در محیطهای توزیعشدست که با استفاده از قابلیتهای مدیریتی، مقیاسپذیری و انعطافپذیری، به توسعهدهندگان امکانات کارآمد و کاربردی برای مدیریت برنامهها رو ارائه میده 🏖️
#docker #kubernet #dockerswarm
@CodeModule
با این ماژول هر چیزی که میخوای فشرده کن! 🦦
در Node.js برای عملیات فشرده سازی و رفع فشرده سازی یک ماژول قدرتمند وجود داره به اسم zilib. این ماژول هر دو روش همزمان و ناهمزمان رو برای انجام این عملیات ارائه میده و به دولوپر ها این امکان رو میده تا رویکردی رو انتخاب کنن، که به بهترین وجه با نیازهاشون مطابقت داره.
این ماژول در چه مواقعی کاربرد داره؟ 🤔
1⃣سرور های وب: سرور های وب میتونن از ماژول
zlib برای فشرده سازی ریسپانس های HTTP قبل از ارسال اون ها به کلاینت ها استفاده کنن. این باعث کاهش حجم داده های منتقل شده از طریق شبکه میشه که منجر به بارگذاری سریع تر و کاهش استفاده از پهنای باند میشه. به عنوان مثال، فشرده سازی JSON، HTML یا سایر فایل های ثابت قبل از انتقال، میتونه به طور قابل توجهی عملکرد برنامه رو افزایش بده.
2⃣فشرده سازی فایل ها: ماژول zlib میتونه فایل ها رو برای ذخیره سازی فشرده کنه و استفاده از فضای دیسک رو کاهش بده. همچنین میتونه فایلها رو در صورت نیاز به خوندن یا پردازش از حالت فشرده خارج کنه. این به ویژه برای راه حل های پشتیبان، سیستم های بایگانی یا هر سناریویی که فایل های بزرگ باید به طور موثر ذخیره بشن مفید هست.
3⃣ Data Streams: مدیریت streams داده های بزرگ مانند فایل های لاگ، اغلب به فشرده سازی نیاز داره تا ذخیره سازی و انتقال کارآمدتر بشه. ماژول «zlib» از فشردهسازی مبتنی بر جریان پشتیبانی کنه و اون رو برای برنامههای پردازش داده ایدهآل میکنه.
به صورت کلی ماژول zlib در Node.js یک ابزار قدرتمند برای مدیریت فشرده سازی و رفع فشرده سازی داده ها هست. با استفاده از ماژول zlib، دولوپر ها میتونن برنامه هایی بسازن که هم سریعتر و هم از نظر منابع کارآمدتر باشن. برای کسب اطلاعات بیشتر به داکیومنت خود ماژول مراجعه کنید.
#nodejs
@CodeModuleبرنامهنویسی آخرین شغلیه که توسط هوش مصنوعی جایگزین میشه 🧠
نظر شما راجب این موضوع و عقیده چیه؟ 🤔
#ai
@CodeModule
بزرگترین منبع برای Cheat Sheets 💎
OverAPI یک سایت جمعآوری کننده cheat sheets برای زبانها و فناوریهای مختلف برنامه نویسی هست. این سایت شامل چیت شیت برای زبانهایی مانند Python، JavaScript ،CSS Java، و بسیاری دیگر هست. این چیت شیتها به دولوپرا کمک میکنن تا به سرعت به اطلاعات ضروری و کاربردی برای کدنویسی دسترسی پیدا کنن.
🔵https://overapi.com/
#cheatSheet
@CodeModule
فایل fstab لینوکس چیه و چه کاربردی داره؟🪴
شما برای اینکه بتونید در سیستم عامل لینوکس از یک فایل سیستم یا پارتیشن استفاده کنید، بایستی اون رو در سیستم mount کنید. یکی از فایل هایی که در خصوص mount کردن بسیار به شما و سیستم عامل کمک میکنه، فایلی به اسم fstab هست.
در لینوکس هر دستگاه اکسترنال مثل usb disk ها که ما به طور مداوم اونها رو متصل و جدا میکنیم، یک اسم یونیک و یک دایرکتوری برای ماونت شدن دارن تا از اونجا قابل دسترس باشن. اگر بخوایم ازشون استفاده کنیم بدون اینکه اونارو داخل فایل fstab اضافه کرده باشیم، مجبوریم از اول دوباره به محل مورد نظر با اسم جدید mount کنیم، چون هر دفعه تغییر میکنن و ممکنه گیج بشید.
👍برای اینکه این اتفاق نیوفته باید اون دیوایس هارو داخل فایل fstab با uuid شون به fstab اضافه کنیم، که در دایرکتوری /etc میتونید بهش دسترسی داشته باشید.
🔵برای اضافه کردن هر دیسک باید یکسری اطلاعات از اون رو داخل این فایل قرار بدید:
◀️اطلاعات file system : شناسه اون دیسک یا دیوایسی که در کامپیوتر با اون اسم ذخیره شده مثل uuid.
◀️اطلاعات mount point : مکانی که اون دیسک یا دیوایس mount شده.
◀️اطلاعات type :نوع فایل سیستمی که اون دیوایس یا دیسک به اون فرمت شده.
◀️گزینه های مربوط به فایل سیستم (options) : این اپشن ها نحوه نصب و استفاده از سیستم فایل رو کنترل میکنن. بعضی از گزینه های رایج:
🔵آپشن auto: سیستم فایل رو به صورت خودکار در زمان بوت نصب میکنه.
🔵آپشن noauto: فایل سیستم رو به صورت خودکار در زمان بوت سوار نمیکنه.
🔵آپشن user: به هر کاربری اجازه میده تا فایل سیستم رو نصب کنه.
🔵آپشن nouser: فقط به کاربر root اجازه میده تا فایل سیستم رو mount کنه.
🔵آپشن sync: از I/O همزمان برای سیستم فایل استفاده میکنه.
◀️فلگ Dump :این فلگ یا پرچم نشون میده که آیا سیستم فایل باید در زمان بک آپ گیری، توسط ابزار dump بک آپ گیری بشه یا نه. که یه صورت دیفالت 0 قرار داره که یعنی انجام نشه.
◀️فلگ Pass : این فلگ به ترتیبی که fsck (ابزار بررسی و تعمیر سیستم فایل) باید هنگام بوت، فایل سیستم ها رو بررسی کنه، اشاره داره. این ابزار در سیستم عامل لینوکس، سازگاری و سلامتی سیستم فایل رو بررسی و در صورت نیاز تعمیر میکنه. که مقدار دیفالتش 0 هست که یعنی برسی انجام نشه.
‼️اگر میخواید سیستم فایلتون رو هر بار بررسی کنید، باید اون رو روی یکی از مقادیر بالاتر تنظیم کنید.
# <file system> <dir> <type> <options> <dump> <pass>
UUID=1328-jsu383-jseu2j-hndid3 / ext4 defaults,noatime 0 1
به طور کلی این فایل کاربردی در لینوکس به شما این امکان رو میده، تا اطلاعات mount کردن دیسکها و پارتیشنها رو در زمان بوت سیستم عامل تعیین کرده، و دستورات mount رو به صورت خودکار اجرا کنید. همچنین از این فایل میتونید برای تنظیمات مربوط به نحوه استفاده از فایل سیستم و تعیین نحوه بکآپ گیری و بررسی سیستم فایل استفاده کنید.
#linux #fstab
@CodeModule😎با WebGL بیشتر آشنا بشید !
در واقع WebGL مخفف Web Graphics Library هست که یک کتابخانه ی جاوااسکریپتیه که با اون میشه اشیاء تعاملی دو بعدی و سه بعدی ایجاد کرد.
کتابخانه WebGL با تمام مرورگر ها سازگاره و همچنین یک تکنولوژی cross-platform هست، و برای رندر کردن تصاویر مستقیما از کارت گرافیک استفاده میکنه
‼️پس بهتره برای دریافت تصاویر بهتر همیشه درایور کارت گرافیکتونو به آخرین نسخه ی موجود آپدیت کنید.
کتابخانه WebGL به هیچ نرم افزار خاص یا پلاگینی وابسته نیست و فقط با استفاده از HTML5 و JavaScript میشه اونو پیاده سازی کرد. پیش از این گرافیک سه بعدی محدود به کنسول های بازی و یا کامپیوتر های سطح بالا بود ولی امروزه با پیشرفت کامپیوتر های شخصی و مرورگر های اینترنت، نمایش گرافیک سه بعدی از طریق تکنولوژی های مدرن و شناخته شده ی وب امکان پذیره.
میتونیم بگیم نسل های آینده ی وب متعلق به WebGL هست چرا که این تکنولوژی بدون شک نقش مهمی رو در ui های نسل بعدی وب بازی خواهد کرد.
✅مزایای استفاده از WebGL چیه :
🔴نبود نیاز به پلاگین برای اجرا شدن
🔴سرعت بالا
🔴فیچر های پیشرفته
🔴پشتیبانی خوب از مرورگر ها
❌معایب استفاده از WebGL چیه :
🔴پیچیدگی در استفاده
🔴ناسازگاری سخت افزاری
برای دریافت اطلاعات بیشتر میتونید به داکیومنتش مراجعه کنید 💀
Document 🌕
#webgl #ui #library
@CodeModule
Node.js چطور با انواع عملیات فایل ها برخورد میکنه؟ 🤟
یکی از جنبه های ضروری بسیاری از برنامه ها مدیریت فایل هست، مثل خوندن و نوشتن فایل ها و ... اما قبل از دونستن نحوه کار مدیریت فایل ها، باید بدونیم خود فایل چیه. به طور خلاصه، فایل یک محفظه داده ای هست که روی یک هارد دیسک ذخیره شده و توسط سیستم عامل (OS) قابل دسترسی و مدیریت هست.
فرآیند کلی مدیریت فایل به چه شکله؟ 🤔
بیشتر زبان های برنامه نویسی برای مدیریت عملیات فایل به سیستم عامل (OS) متکی هستن. این تعامل برای خوندن و نوشتن فایل ها بدون مدیریت مستقیم پیچیدگی های سخت افزاری ضروری هست.
1⃣Function Call: ما به عنوان دولوپر یک فانکشن رو برای باز کردن، خوندن، نوشتن یا دستکاری یک فایل مینویسیم. این فانکشن معمولاً بخشی از کتابخانه استاندارد اون زبانه.( در Node.js به عنوان رانتایم این کار رو با ماژول fs هندل میکنه)
2⃣Library Abstraction: تابع استاندارد کتابخانه پیچیدگی تعامل با سیستم عامل رو خلاصه میکنه. این درخواست رو به گونه ای بسته بندی میکنه که سیستم عامل بتونه اون رو درک کنه. (Node.js از کتابخونه Libuv برای اینکار استفاده میکنه)
3⃣System Call: فانکشن کتابخانه یک تماس سیستمی برقرار میکنه. فراخوانی سیستم مکانیزمی هست که به برنامه در سطح کاربر اجازه میده تا خدمات رو از سیستم عامل درخواست کنن. فراخوانی های رایج سیستمی برای عملیات فایل شامل «open»، «read»، «write» و «close» هست.
4⃣OS Handling: سیستم عامل تماس سیستم رو دریافت میکنه، عملیات درخواستی رو انجام میده (مثلاً مکان یابی فایل روی دیسک، خواندن داده ها، نوشتن داده ها)، و نتیجه رو برمیگردونه.
5⃣Data Retrieval: سیستم عامل داده های فایل یا وضعیت عملیات رو از طریق کتابخانه استاندارد به برنامه برمیگردونه.
این فرآیند تضمین میکنه که برنامه ها میتوننن عملیات فایل رو بدون نیاز به مدیریت جزئیات سطح پایین تعامل با سیستم فایل و سخت افزار انجام بدن. برای کسب اطلاعات بیشتر مقالات زیر رو مطالعه کنید.
- Article
- Article
- Article
#nodejs
@CodeModule
