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
افسردگی در کمین است 😞

#fun
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
😁16
🔐با SSO و کاربرد اون آشنا بشید

کاربران روزانه از تعداد زیادی از سامانه ها و برنامه های کاربردی استفاده میکنن و رمزهای عبور پیچیده، برای هر کدوم از این سیستم ها چالشیه که با اون روبه رو هستن. Single Sign-On راه حل مناسبی برای این مسئله هست.

🧐‏(Single Sign On (SSO چیه؟

‏(Single Sign On (SSO یک سرویس متمرکز تایید هویت هست که در اون کاربر تنها با استفاده از یک حساب کاربری (نام کاربری و رمز عبور)، میتونه به چندین برنامه یا سایت دسترسی داشته باشه. برای مثال وقتی که به یکی از سرویس های گوگل مثل Gmail وارد میشید، امکان دسترسی به سایر سرویس ها مثل YouTube، Google Drive، Google Docs و … رو هم خواهید داشت.

👌همچنین یکی از قابلیت های اصلی این سرویس ایجاد یک Security tunnel بین کامپیوتر کاربر و سرور مرکزی هست که باعث میشه، اطلاعات محرمانه کاربران، تحت پروتکل های امنیتی جابجا بشن.

سرویس SSO چجوری کار میکنه؟

🔢 سامانه یا برنامه مورد نظر رو ابتدا بررسی میکنه که آیا هویت شما قبلا از طریق SSO تایید شده یا نه. در صورت تایید امکان دسترسی به شما داده میشه و در غیر این صورت شمارو به درگاه ورود SSO میبره.

🔢 سپس شما باید نام کاربری و رمز عبوری که برای ورود به سامانه های سازمان استفاده میکنید رو وارد کنید.

🔢 سامانه Single Sign On درخواست تایید هویت کاربران رو به دایرکتوری کاربران سازمان ارسال می‌کنه و در صورت تایید، توکن کاربر در سامانه SSO ایجاد میشه.

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

روش های تایید هویت با SSO⬇️

کلمه عبور

رمز یک بار مصرف

توکن و کارت هوشمند

بیومتریک و اثر انگشت


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

Document 🌕

#sso #web
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥4😁1
👩‍💻با Package Manager ها در لینوکس آشنا بشید!

در اصل Package Manager، یک ابزاره که به کاربران این امکان رو میده تا پکیج های نرم‌افزاری رو در سیستم عاملشون مدیریت کنن. یک پکیج، یک فایل فشرده شدست که شامل نرم‌افزار و فایل‌های مرتبط با اونه.
این ابزار برای نصب و حذف و آپدیت نرم‌افزار، به همراه تنظیمات و dependency های اون استفاده میشن.

👍در لینوکس، چندین Package Manager وجود داره که هر کدوم به روش خودشون پکیج هارو مدیریت میکنن.

چند نمونه از Package Manager ها :

🔵‏Advanced Packaging Tool (APT): پکیج منیجر اصلی در توزیع‌های مبتنی بر debian، مثل Ubuntu و Mint هست.

🔵‏Yellowdog Updater Modified (YUM): پکیج منیجر در توزیع‌های مبتنی بر Redhat، مثل Fedora و CentOS هست.

🔵‏Pacman: پکیج منیجر در توزیع Arch و توزیع های مبتنی بر Arch مثل Manjaro و EndeavourOS هست.

🔵‏Zypper: پکیج منیجر در توزیع OpenSUSE.

🔵‏Portage: پکیج منیجر در توزیع Gentoo Linux.

هر یک از این پکیج منیجرها دارای دستورات و فرآیندهای خاص خودشون هستن که با استفاده از اونها، کاربرا میتونن پکیج های نرم‌افزاری رو نصب، بروزرسانی و حذف کنن🏖️


#linux #packagemanager
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥4😁1
چه رانتایم جاوااسکریپتی برای بک اند انتخاب کنم؟ 😄

تقریبا اکثر دولوپر های جاوااسکریپت برای توسعه بک اند از Node.js استفاده میکنن، اما در سال‌های اخیر، دو تکنولوژی جدید به نام‌های Bun و Deno ظاهر شدن که هر کدوم ویژگی‌ها و پیشرفت‌های منحصربه‌فردی رو به همراه دارن.

اما این سوال پیش میاد که کدوم بهتره؟ در این پست ویژگی هر کدوم رو بررسی میکنیم و قضاوت رو میسپاریم به دست شما.

ویژگی های کلیدی و مهم Node.js 🤟

‏1.Asynchronous and Event-Driven: از یک مدل I/O مبتنی بر event-driven و non-blocking استفاده می‌کنه که اون رو کارآمد، و برای برنامه‌های real-time مناسب می‌کنه.

‏2. NPM Ecosystem: پکیج منیجر Node‌.js یکی از بزرگترین اکوسیستم های کتابخانه های اوپن سورس هست، که یک منبع غنی از ماژول ها و پکیج ها رو ارائه میده.

‏3. Community and Support: یک کامیونیتی بزرگ و فعال، مستندات، آموزش ها و ابزارهای گسترده ای داره.

ویژگی های کلیدی Deno 💻

‏1. Security: به صورت دیفالت در یک sandbox امن اجرا میشه. بدون اجازه صریح، اجازه دسترسی به فایل، شبکه یا محیط رو نمیده.

‏2. Built-in TypeScript Support: دارای پشتیبانی بومی برای TypeScript هست، که نیاز به مراحل ساخت اضافی رو از بین میبره.

‏3. Standard Modules: شامل مجموعه ای از ماژول های استاندارد هست، که وابستگی به کتابخانه های دیگه رو کاهش میده.

ویژگی های کلیدی Bun 🌟

‏1. Performance: عملکردی بهتری نسبت به بقیه داره، و از موتور JavaScriptCore (استفاده شده در سافاری) برای دستیابی به اجرا با سرعت بالا استفاده می‌کنه.

‏2. Integrated Tooling: شامل یک باندلر داخلی، ترانسپایلر و پکیج منیجر هست که گردش کار توسعه رو ساده میکنه.

‏3. Modern APIs: بان API های مدرنی رو ارائه میده که با استانداردهای وب سازگاره و نوشتن کدهای بین پلتفرمی رو آسون تر میکنه.

به صورت کلی، انتخاب بین Node.js، Deno و Bun بستگی به نیازهای خاص پروژه شما و ترجیحات توسعتون داره. برای مشاهده سایر تفاوت‌ها، مقالات زیر رو مطالعه کنید.

- Article
- Article
- Article

#nodejs #deno #bun
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥84😁1
خب چاره دیگه ای نداریم 😂🗿

#fun
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
😁23🔥4
برای توسعه بک اند بین Django و Node.js شک دارم، کدوم رو انتخاب کنم؟ 🦦

‏Django و Node.js هر دو فناوری‌های قدرتمندی هستن که برای توسعه وب استفاده میشن، اما هرکدوم نیازهای مختلف پروژه رو برآورده میکنن. و در اینجا یک تفکیک و خلاصه کلی در مورد هرکدوم هست برای انتخاب شما:

👩‍💻 جنگو یک فریمورک سطح بالا پایتون هست که به دلیل سادگی و ویژگی های گسترده ای که ارائه میده شناخته میشه، و این تکنولوژی ویژگی هایی مانند:

🔵توسعه سریع: ویژگی های "out-of-the-box" جنگو مانند مدیریت کاربر، مدیریت ایمیل و اتصال به دیتابیس توسعه رو ساده میکنه.

🔵امنیت: ویژگی های امنیتی ماننده آسیب پذیری ها و خطاهای توسعه رو به حداقل میرسونه.

🔵مقیاس پذیری: وب سایت های پیچیده مبتنی بر داده و ترافیک بالای کاربر رو به طور موثر مدیریت میکنه.

🤟 در سمت دیگه نود یک رانتایم جاوا اسکریپت هست که توسعه سمت سرور رو امکان پذیر میکنه، و ویژگی هایی مانند:

🔵real-time: ایده آل برای برنامه هایی که نیاز به بروزرسانی به صورت لحظه و عملکرد چت دارن.

🔵مقیاس پذیری: حجم بالایی از اتصالات همزمان کاربر رو به طور موثر مدیریت میکنه.

🔵انعطاف پذیری: npm، پکیج منجیر Node.js، کتابخانه وسیعی از ابزارها و قابلیت ها رو برای سفارشی سازی فراهم میکنه.

اما کدوم بهتره؟ 🤔

بهترین انتخاب به نیازهای خاص پروژه شما بستگی داره. به طور کلی:


برای این که پست زیاد طولانی نشه، نتیجه رو داخل تلگراف براتون قرار دادیم، از دستش ندید 💀

#nodejs #django
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥4😁1💔1
یک ایده جدید از بچه های کد ماژول اینه که، یک شب در هفته و ساعت 10 بحث و گفتمانی راجب موضوعات مختلف شکل بگیره و از تجریبات همدیگه، برای پیشرفت خودمون استفاده کنیم 💬

از قضا امروز اولین استارت این ایده رو میزنیم

موضوع: مهارت های نرم و مسائل پیرامون آن


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

(گفت‌وگو به صورت ویس چت هست)

امشب ساعت ۱۰ این ارائه و دورهمی جذاب رو از دست ندید 🩶
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👌2😁1
اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀

🔵 Link

#figma
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥157😁1
پالیندروم ها رو پیدا کنید 👁

الگوریتمی طراحی کنید که وقتی بهش متن میدیم، بتونه پالیندروم های اون متن رو به‌ طور موثر پیدا کنه و نمایش بده.

یک نمونه از پالیندروم: "گرگ"، "درد"، "ABA" و... درواقع متن، کلمه، اعداد و... که از هر دو طرف دقیقا به یک شکل خونده بشن، پالیندروم گفته میشه.

به عنوان مثال، من چنین متنی رو به عنوان ورودی به شما میدم: "snckjascaskjABAskcsjXZSIAkcABA"

توضیح خروجی های مدنظر:

1⃣ABA یک پالیندروم هست و از ایندکس 12 شروع میشه و طول آن 3 هست.

2⃣ABA که پالیندروم هست و از ایندکس 27 شروع میشه و طول آن 3 هست.

راهنمایی: از الگوریتم Manachers استفاده کنید.

اگه نمیدونید الگوریتم Manachers چیه، این مقالات رو مطالعه کنید.
- Article
- Article
- Article

#challenge
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥5😁1
آشنایی با ابزار قدرتمندی به نام Bit 💀

‏Bit یک پلتفرم برای ایجاد و مدیریت کامپوننت‌های قابل استفاده مجدد هست که به دولوپرا امکان ساخت، اشتراک‌گذاری و همکاری در پروژه‌های نرم‌افزاری ماژولار رو میده.

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

🔵کامپوننت‌های ماژولار: Bit امکان ایجاد کامپوننت‌هایی رو فراهم می‌کنه که میشه از اونها در پروژه های مختلف استفاده کرد. این ویژگی باعث افزایش کارآیی و کاهش تکرار در کدنویسی میشه.

🔵محیط‌های توسعه قابل سفارشی‌سازی: دولوپرا می‌تونن محیط توسعه خودشون رو با ابزارها و تنظیمات دلخواه سفارشی‌سازی کنن.

🔵پیش‌نمایش و مستندسازی خودکار: Bit به طور خودکار پیش‌نمایش و مستندات کامپوننت‌ها رو تولید می‌کنه، که استفاده و نگهداری از کامپوننت‌ها رو ساده‌تر می‌سازه.

🔵پلتفرم Harmony‏: Bit‏ شامل یک چارچوب ترکیبی به نام Harmony هست که به دولوپرا این امکان رو میده، که ویژگی‌های مختلف رو در یک پلتفرم واحد ترکیب و یکپارچه کنن. این ویژگی به تسهیل همکاری تیمی و ادغام سریع‌تر ویژگی‌های جدید کمک می‌کنه.

🔵مدیریت وابستگی ها: وابستگی‌ها به طور خودکار شناسایی و بروزرسانی میشن. این ویژگی باعث میشه پروژه‌ها مستقل باقی بمونن و همزمان به خوبی با یکدیگر یکپارچه بشن.

🔵پشتیبانی از CI/CD: این پلتفرم از فرآیندهای پیوسته یکپارچه‌سازی و استقرار (CI/CD) پشتیبانی می‌کنه، که امکان تست و استقرار خودکار کامپوننت‌ها رو فراهم می‌کنه و باعث افزایش کیفیت و سرعت توسعه میشه.


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

Document 🌐

#bit
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥2😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥13😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁123👌3
تجربه های کاری 🦦

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

همچنین این پروژه اوپن سورسه و شما هم میتونید در گسترش اون نقشی داشته باشید‌.

🔗 https://tajrobe.github.io/

#work
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
👌12🔥4😁1
پکیج های منسوخ شده رو پیدا کن ❗️

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

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

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

🌪 github


همچنین با سازنده این پکیج، جناب آقای مهدی شیبک هم میتونید در ارتباط باشید🩶

#npm
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥6😁1
چالش داریم چه چالشی 😄

تو چالش امروز شما باید یک سیستم سفارش غذا برای یک رستوران طراحی کنید که به مشتریان اجازه میده، تا هر طور که دوست دارن سفارش غذا بدن. این سیستم باید دارای اجرای مختلفی باشه، مانند:

1⃣اجزای غذا:

- غذا: نام، اندازه،
- نوشیدنی ها: نام، نوع (به عنوان مثال، نوشابه، آبمیوه).

2⃣سفارش غذا:

- یک سفارش غذا میتونه شامل چندین نمونه از هر جزء باشه (به عنوان مثال،1 ​غذای اصلی، 3 تا نوشیدنی).

- سفارش باید به گونه ای نمایش داده بشه که به راحتی قابل خواندن و تغییر باشد.

3⃣توسعه پذیری:

- سیستم رو طوری طراحی کنید که به راحتی قابل تغییر باشه. به عنوان مثال، افزودن یک نوع کامپوننت جدید (مثلاً قرمه سبزی) باید به حداقل تغییرات نیاز داشته باشه.

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

#challenge
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥4😁1
حق داشتی طلاق بگیری، حق داشتی 😔

#fun
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
😁25👌3💔1
پیاده سازی تکست ادیتور در ۳ سوت 🔵

‏SlateJS یک کتابخانه برای ساخت و مدیریت تکست ادیتور یا ویرایشگرهای متن در پروژه های React هست. این کتابخانه به دولوپرا اجازه میده تا ویرایشگرهای متن سفارشی‌سازی‌شده و قدرتمندی ایجاد کنن.

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


Document 🌐

#textEditor
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥4😁1
‏Event-Driven Programming در Node.js 🤟

برنامه‌نویسی رویداد محور، یک پارادایم برنامه‌نویسی هست که در آن جریان برنامه توسط ایونت هایی مانند اقدامات کاربر (کلیک‌ها، فشار دادن کلیدها)، خروجی‌های حسگر یا پیام‌های دیگر programs/thread تعیین میشه. Node.js از این پارادایم به طور گسترده برای مدیریت کارآمد عملیات های ناهمزمان استفاده می‌کنه.

اما این پارادایم چجوری کار میکنه؟ 🪲

1⃣Initialization: هنگامی که یک برنامه Node.js شروع میشه، ایونت لوپ رو مقداردهی اولیه میکنه و شروع به اجرای اسکریپت میکنه.

2⃣Event Registration: ایونت ها و کالبک ها (ایونت هندلر ها) با استفاده از "EventEmitter" یا سایر API ها مانند "http" یا "fs" ثبت میشن.

3⃣Event Emission: هنگامی که یک ایونت رخ میده (به عنوان مثال درخواست HTTP، تکمیل شدن خواندن یک فایل)، Node.js ایونت رو منتشر میکنه و کالبک رو فراخوانی میشه.

4⃣Event Loop: ایونت لوپ ایونت ها رو بررسی و کالبک هارو اجرا میکنه. همچنین task رو در یک حلقه پیوسته پردازش میکنه تا زمانی که کار دیگری برای انجام وجود نداشته باشه.

به صورت کلی Event-Driven Programming در Node.js برای ساخت برنامه های مقیاس پذیر، کارآمد و real-time خوب و قدرتمنده. در صورت تمایل برای کسب اطلاعات بیشتر، مقالات زیر رو میتونید مطالعه کنید.

- Article
- Article
- Article

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