Code Module | کد ماژول
Kanalga Telegram’da o‘tish
Hello World 🌎 <> Earth is programmable if you code it Group 👇🏻 @CodeModuleGap Contact Us 👇🏻 @MrShahiin @neoMahan
Ko'proq ko'rsatish2 176
Obunachilar
-524 soatlar
-77 kun
+3230 kun
Postlar arxiv
چالش داریم چه چالشی 😄
تو چالش امروز شما باید یک سیستم سفارش غذا برای یک رستوران طراحی کنید که به مشتریان اجازه میده، تا هر طور که دوست دارن سفارش غذا بدن. این سیستم باید دارای اجرای مختلفی باشه، مانند:
1⃣اجزای غذا:
- غذا: نام، اندازه،
- نوشیدنی ها: نام، نوع (به عنوان مثال، نوشابه، آبمیوه).
2⃣سفارش غذا:
- یک سفارش غذا میتونه شامل چندین نمونه از هر جزء باشه (به عنوان مثال،1 غذای اصلی، 3 تا نوشیدنی).
- سفارش باید به گونه ای نمایش داده بشه که به راحتی قابل خواندن و تغییر باشد.
3⃣توسعه پذیری:
- سیستم رو طوری طراحی کنید که به راحتی قابل تغییر باشه. به عنوان مثال، افزودن یک نوع کامپوننت جدید (مثلاً قرمه سبزی) باید به حداقل تغییرات نیاز داشته باشه.
هدف استفاده از پترن بیلدر، برای پیاده سازی یک سیستم انعطاف پذیر و مقیاس پذیر هست، که امکان ساخت و اصلاح آسان سفارشات غذا رو فراهم میکنه. اگر نمیدونید الگو بیلدر چی هست، این پست رو بخونید.
#challenge
@CodeModule
پکیج های منسوخ شده رو پیدا کن ❗️
به تازگی یکی از دوستان پکیجی منتشر کرده که با استفاده از اون، میتونید یک ریپورت از آخرین باری که پکیج های پروژتون پابلیش شده بگیرید، و بهتون به صورت میانگین میگه اون پکیج چند روز یک بار داره آپدیت میشه.
با استفاده از این پکیج، پکیج هایی که خیلی وقته آپدیت ندادن و یا به صورت میانگین مرتب نگهداری و توسعه داده نمیشن رو میتونید راحت تر پیدا کنید، و قبل از اینکه یک پکیج واقعا منسوخ بشه، بتونید اون رو جایگزین کنید.
در صورت تمایل برای کسب اطلاعات بیشتر و نحوه نصب و استفاده، میتونید به داکیومنتش مراجعه کنید.
⛽️ npm
🌪 github
همچنین با سازنده این پکیج، جناب آقای مهدی شیبک هم میتونید در ارتباط باشید🩶
#npm
@CodeModule
تجربه های کاری 🦦
یه سایت کاربردی پیدا کردم که با استفاده از اون میتونید، تجربه سایر دولوپرا در مورد شرکت مد نظرتون رو بخونید (مصاحبه، کار و ...)
همچنین این پروژه اوپن سورسه و شما هم میتونید در گسترش اون نقشی داشته باشید.
🔗 https://tajrobe.github.io/
#work
@CodeModule
آشنایی با ابزار قدرتمندی به نام Bit 💀
Bit یک پلتفرم برای ایجاد و مدیریت کامپوننتهای قابل استفاده مجدد هست که به دولوپرا امکان ساخت، اشتراکگذاری و همکاری در پروژههای نرمافزاری ماژولار رو میده.
سازندگان بیت چیز زیاد پیچیدهای نمیخواستن و فقط هدفشون این بود که، کامپوننتها و ماژولها رو از پروژهها مستقل کنن، در فضایی ابری نگه داری کنن و در هر پروژهای که نیاز بود از اونها استفاده کنن. برخی ویژگیها و امکانات کلیدی این پلتفرم عبارتند از:
🔵کامپوننتهای ماژولار: Bit امکان ایجاد کامپوننتهایی رو فراهم میکنه که میشه از اونها در پروژه های مختلف استفاده کرد. این ویژگی باعث افزایش کارآیی و کاهش تکرار در کدنویسی میشه.
🔵محیطهای توسعه قابل سفارشیسازی: دولوپرا میتونن محیط توسعه خودشون رو با ابزارها و تنظیمات دلخواه سفارشیسازی کنن.
🔵پیشنمایش و مستندسازی خودکار: Bit به طور خودکار پیشنمایش و مستندات کامپوننتها رو تولید میکنه، که استفاده و نگهداری از کامپوننتها رو سادهتر میسازه.
🔵پلتفرم Harmony: Bit شامل یک چارچوب ترکیبی به نام Harmony هست که به دولوپرا این امکان رو میده، که ویژگیهای مختلف رو در یک پلتفرم واحد ترکیب و یکپارچه کنن. این ویژگی به تسهیل همکاری تیمی و ادغام سریعتر ویژگیهای جدید کمک میکنه.
🔵مدیریت وابستگی ها: وابستگیها به طور خودکار شناسایی و بروزرسانی میشن. این ویژگی باعث میشه پروژهها مستقل باقی بمونن و همزمان به خوبی با یکدیگر یکپارچه بشن.
🔵پشتیبانی از CI/CD: این پلتفرم از فرآیندهای پیوسته یکپارچهسازی و استقرار (CI/CD) پشتیبانی میکنه، که امکان تست و استقرار خودکار کامپوننتها رو فراهم میکنه و باعث افزایش کیفیت و سرعت توسعه میشه.
برای کسب اطلاعات بیشتر و نحوه استفاده از امکانات Bit.dev، به داکیومنتش مراجعه کنید.
Document 🌐
#bit
@CodeModule
پالیندروم ها رو پیدا کنید 👁
الگوریتمی طراحی کنید که وقتی بهش متن میدیم، بتونه پالیندروم های اون متن رو به طور موثر پیدا کنه و نمایش بده.
یک نمونه از پالیندروم: "گرگ"، "درد"، "ABA" و... درواقع متن، کلمه، اعداد و... که از هر دو طرف دقیقا به یک شکل خونده بشن، پالیندروم گفته میشه.
به عنوان مثال، من چنین متنی رو به عنوان ورودی به شما میدم: "
snckjascaskjABAskcsjXZSIAkcABA"
توضیح خروجی های مدنظر:
1⃣ABA یک پالیندروم هست و از ایندکس 12 شروع میشه و طول آن 3 هست.
2⃣ABA که پالیندروم هست و از ایندکس 27 شروع میشه و طول آن 3 هست.
راهنمایی: از الگوریتم Manachers استفاده کنید.
اگه نمیدونید الگوریتم Manachers چیه، این مقالات رو مطالعه کنید.
- Article
- Article
- Article
#challenge
@CodeModuleاگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀
🔵 Link
#figma
@CodeModule
یک ایده جدید از بچه های کد ماژول اینه که، یک شب در هفته و ساعت 10 بحث و گفتمانی راجب موضوعات مختلف شکل بگیره و از تجریبات همدیگه، برای پیشرفت خودمون استفاده کنیم 💬
از قضا امروز اولین استارت این ایده رو میزنیم
موضوع: مهارت های نرم و مسائل پیرامون آنقطعا همه شما با مهارت های نرم آشنا هستید و امروز میخوایم بریم تو دل این مهارت ها و با هم بررسی کنیم، که یک دولوپر باید چه مهارت های نرمی داشته باشه تا نسبت به دیگران پیشی بگیره. (گفتوگو به صورت ویس چت هست) امشب ساعت ۱۰ این ارائه و دورهمی جذاب رو از دست ندید 🩶
برای توسعه بک اند بین Django و Node.js شک دارم، کدوم رو انتخاب کنم؟ 🦦
Django و Node.js هر دو فناوریهای قدرتمندی هستن که برای توسعه وب استفاده میشن، اما هرکدوم نیازهای مختلف پروژه رو برآورده میکنن. و در اینجا یک تفکیک و خلاصه کلی در مورد هرکدوم هست برای انتخاب شما:
👩💻 جنگو یک فریمورک سطح بالا پایتون هست که به دلیل سادگی و ویژگی های گسترده ای که ارائه میده شناخته میشه، و این تکنولوژی ویژگی هایی مانند:
🔵توسعه سریع: ویژگی های "out-of-the-box" جنگو مانند مدیریت کاربر، مدیریت ایمیل و اتصال به دیتابیس توسعه رو ساده میکنه.
🔵امنیت: ویژگی های امنیتی ماننده آسیب پذیری ها و خطاهای توسعه رو به حداقل میرسونه.
🔵مقیاس پذیری: وب سایت های پیچیده مبتنی بر داده و ترافیک بالای کاربر رو به طور موثر مدیریت میکنه.
🤟 در سمت دیگه نود یک رانتایم جاوا اسکریپت هست که توسعه سمت سرور رو امکان پذیر میکنه، و ویژگی هایی مانند:
🔵real-time: ایده آل برای برنامه هایی که نیاز به بروزرسانی به صورت لحظه و عملکرد چت دارن.
🔵مقیاس پذیری: حجم بالایی از اتصالات همزمان کاربر رو به طور موثر مدیریت میکنه.
🔵انعطاف پذیری: npm، پکیج منجیر Node.js، کتابخانه وسیعی از ابزارها و قابلیت ها رو برای سفارشی سازی فراهم میکنه.
اما کدوم بهتره؟ 🤔
بهترین انتخاب به نیازهای خاص پروژه شما بستگی داره. به طور کلی:
برای این که پست زیاد طولانی نشه، نتیجه رو داخل تلگراف براتون قرار دادیم، از دستش ندید 💀
#nodejs #django
@CodeModule
چه رانتایم جاوااسکریپتی برای بک اند انتخاب کنم؟ 😄
تقریبا اکثر دولوپر های جاوااسکریپت برای توسعه بک اند از 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
👩💻با Package Manager ها در لینوکس آشنا بشید!
در اصل Package Manager، یک ابزاره که به کاربران این امکانو میده تا پکیج های نرمافزاری رو در سیستم عاملشون مدیریت کنن. یک پکیج، یک فایل فشرده شدست که شامل نرمافزار و فایلهای مرتبط با اونه.
این ابزار برای نصب و حذف و آپدیت نرمافزار، به همراه تنظیمات و dependency های اون استفاده میشن.
👍در لینوکس، چندین Package Manager وجود داره که هر کدوم به روش خودشون پکیج هارو مدیریت میکنن.
✅چند نمونه از Package Manager ها :
🔵Advanced Packaging Tool (APT): پکیج منیجر اصلی در توزیعهای مبتنی بر debian، مثل Ubuntu و Mint هست.
🔵Yellowdog Updater Modified (YUM): پکیج منیجر در توزیعهای مبتنی بر Redhat، مثل Fedora و SentOS هست.
🔵Pacman: پکیج منیجر در توزیع Arch و توزیع های مبتنی بر Arch مثل Manjaro و EndeavourOS هست.
🔵Zypper: پکیج منیجر در توزیع OpenSUSE.
🔵Portage: پکیج منیجر در توزیع Gentoo Linux.
هر یک از این پکیج منیجرها دارای دستورات و فرآیندهای خاص خودشون هستن که با استفاده از اونها کاربرا میتونن پکیج های نرمافزاری رو نصب، بروزرسانی و حذف کنن🏖️
#linux #packagemanager
@CodeModule
🔐با 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
۵ پستی که پیشنهاد میکنم از دست ندید (پارت چهارم) 💀
🔵متا تگهای کاربردی Html
🔵 ۵ سرویس کارآمد API
🔵مبارزه با ناامیدی در برنامه نویسی
🔵۵ رویکرد مهم در Node.js
🔵Mean در مقال Mern
🔴پارت قبل رو یادتون نره :))
#top
@CodeModule
