uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

Code Module | کد ماژول

Code Module | کد ماژول

Відкрити в Telegram

Hello World 🌎 <> Earth is programmable if you code it Group 👇🏻 @CodeModuleGap Contact Us 👇🏻 @MrShahiin @neoMahan

Показати більше
2 179
Підписники
Немає даних24 години
-47 днів
+3930 днів
Архів дописів
این عالی بوددد 😂😂 #fun @CodeModule

با قانون dry بیشتر آشنا بشید 🙃 🔵قانون DRY (Don't Repeat Yourself) یکی از اصول مهم در برنامه‌نویسی و توسعه نرم‌افزاره که به معنای "تکرارش نکن" هست. این اصل بر این باور استواره که هر قطعه اطلاعات یا منطق باید تنها یک بار در کد وجود داشته باشه و در صورت نیاز به استفاده مجدد، باید به اون ارجاع داده بشه. در ادامه به توضیح بیشتر این قانون و مزایاش می‌پردازیم: ✅مزایای رعایت کردن قانون DRY: 1️⃣کاهش خطا: با کاهش روند تکرار کد، احتمال بروز خطا کمتر میشه. اگر یک منطق یا تابع در چندین جا تکرار بشه و نیاز به تغییر داشته باشه، ممکنه بر اثر فراموشی تغییرات در همه قسمت‌ها اعمال نشه و این باعث بروز باگ‌هایی در پروژه بشه. 2️⃣کد هایی با قابلیت نگهداری بیشتر: کدهای غیر تکراری، برای نگهداری و به‌روزرسانی مناسب تر هستن. اگر نیاز به تغییر یک بخش از کد باشه، تنها کافیه اون رو فقط در یک جا تغییر بدید. 3️⃣بهبود خوانایی: کدهای تمیز و غیر تکراری معمولاً خواناتر هستن و برای سایر دولوپرا یا حتی خود شما در آینده، فهمیدن و درکشون آسون تره. 4️⃣استفاده مجدد از کد: با پیروی از قانون DRY می‌تونید از توابع، کلاس‌ها یا ماژول‌های مشترک استفاده کنید که باعث صرفه‌جویی در زمان و تلاش میشه. ❓نحوه پیاده‌سازی و پیروی از قانون DRY : ◀️استفاده از توابع و متدها: منطق مشترک رو در توابع یا متدها قرار بدید و به جای تکرار آن در کد، از اونا استفاده کنید. ◀️استفاده از کلاس‌ها و ارث بری: در زبان‌های شیءگرا، می‌تونید از وراثت برای ایجاد کلاس‌های فرزند استفاده کنید تا کدهای تکراری رو کاهش بدید. ◀️ماژولار کردن کد: کد رو به ماژول‌ها یا بسته‌های کوچک تقسیم کنید که هر کدوم وظیفه خاصی رو انجام میدن. این کار باعث میشه که هر ماژول بتونه به‌طور مستقل مورد استفاده قرار بگیره. ◀️استفاده از دیزاین پترن ها: الگوهای طراحی یا Design Patterns می‌تونن به شما کمک کنن، تا بهترین شیوه‌ها رو در ساختاردهی کد خود پیاده‌سازی کنید و از تکرار جلوگیری کنید. قانون DRY یکی از اصول بنیادین برنامه‌نویسیه که به کاهش تکرار و افزایش کیفیت کد کمک میکنه. با پیروی از این اصل، می‌تونید نرم‌افزار و پروژه‌هایی با کیفیت بالاتر و قابلیت نگهداری بیشتر ایجاد کنید 🏖️ #programming #dry @CodeModule

‏Data Lakes چیه و چه کاربردی داره؟😄 دیتا لیک (دریاچه داده) یک مخزن متمرکز هست برای ذخیره انواع داده ها به شکل خام و پردازش نشده. بر خلاف دیتابیس های سنتی، که نیاز به تمیز کردن و سازمان‌دهی داده‌ها قبل از ذخیره‌سازی دارن، دیتا لیک ها میتونن داده‌ها رو همونطور که هستن ذخیره کنن و به انعطاف‌پذیری و مقیاس‌پذیری بیشتری اجازه بدن. این باعث میشه که دیتا لیک برای ذخیره حجم زیادی از داده های متنوع از چندین منبع ایده آل باشن. انواع داده های ذخیره شده در دیتا لیک ها🦦 - داده های ساختاریافته: داده هایی که در ردیف ها و ستون ها سازماندهی میشن، معمولاً در دیتابیس های رابطه ای (مثل دیتابیس های SQL) یافت میشن. به عنوان مثال میشه به سوابق مشتری، گزارش تراکنش ها و... اشاره کرد. - داده های نیمه ساختاریافته: داده هایی که با یک طرح دقیق مطابقت ندارن اما دارای برخی ویژگی های سازمانی هستند. به عنوان مثال میشه به فایل های CSV، لاگ فایل ها، XML و JSON اشاره کرد. - داده های بدون ساختار: داده هایی که فاقد قالب یا ساختار از پیش تعریف شده هستند. به عنوان مثال میشه به ایمیل ها، دایکومنت های Word، فایل های PDF اشاره کرد. - داده های باینری: داده هایی که در فرمت باینری ذخیره میشن مانند تصاویر، فایل های صوتی و ویدئو. برای درک بهترش به مثال زیر توجه کنید: یک شرکت بزرگ مثل آمازون رو تصور کنید. آمازون هر روز حجم عظیمی از داده ها رو از منابع مختلف جمع آوری و تولید میکنه، از جمله: 1⃣داده های مشتری: داده های ساختاریافته از پروفایل های مشتری، تاریخچه خرید و اطلاعات پرداخت ذخیره شده در دیتابیس (فرض بر اینکه از دیتابیس های SQL استفاده میکنه) 2⃣گزارش های وب: داده های نیمه ساختار یافته از گزارش های سرور که رفتار کاربر در وب سایت رو ردیابی میکنه، مانند صفحات بازدید شده، زمان صرف شده در هر صفحه، و عبارت های جستجو. 3⃣کامنت در مورد محصول: داده های بدون ساختار از نظرات مشتریان و بازخورد ارسال شده در صفحات محصول، که ممکنه شامل متن، تصاویر و ویدئو باشه. 4⃣داده های حسگر: داده های دستگاه های IoT(اینترنت اشیا) که در انبارها برای ردیابی سطوح موجودی و حرکت استفاده میشه، و ممکنه در قالب JSON باشن. 5⃣فایل های چند رسانه ای: داده های باینری از جمله تصاویر محصول، فیلم های تبلیغاتی، و ضبط های صوتی برای تماس های خدمات مشتری. به طور خلاصه دیتالیک راه‌حلی انعطاف‌پذیر و مقیاس‌پذیر برای ذخیره‌سازی و تجزیه و تحلیل حجم زیادی از داده‌های متنوع ارائه میکنن، که اون ها رو به ابزاری ارزشمند برای سازمان‌های مبتنی بر داده‌های مدرن تبدیل میکنه. برای کسب اطلاعات بیشتر، پیشنهاد میکنم مطالب زیر رو بخونید: - Data Swamp - Data Lakehouse - Data warehouse #data_lake @CodeModule

خروجی کد بالا؟ 🤔
Anonymous voting

photo content

-2147483648_-248649.jpg0.52 KB

این چرخه دائم ادامه داره 😔 #fun @CodeModule
این چرخه دائم ادامه داره 😔 #fun @CodeModule

موضوع دورهمی بعدی؟ 👆
Anonymous voting

موقعیت های شغلی لینکدین رو دریاب! 💀 همون‌طور که تو میتینگ امشبمون مطرح شد، همکار عزیزمون جناب آقای صالح میرباقری، یک چنل داره که میاد آخرین پوزیشن و موقعیت‌های شغلی برنامه نویسی(حوزه های مختلف) رو جمع، و در اون منتشر می‌کنه. با عضویت در این چنل، خیلی راحت میتونید از آخرین موقعیت های شغلی لینکدین مطلع باشید و در صورت داشتن توانایی، اپلای کنید 🍻 🔗 Channel #linkedin @CodeModule

شروع شد، پیشنهاد میکنم از دستش ندید. @CodeModuleGap

با ماژول async_hooks آشنا بشید! 🪐 ماژول async_hooks در Node.js، ابزار قدرتمندیه که برای کمک به دولوپر ها در ردیابی عملیات ناهمزمان در طول lifecycle یک برنامه طراحی شده. Asynchronous operations ها در Node.js بسیار مهم هستن، و عملیات و I/O کارآمد، ریکوست ها و موارد دیگه رو ممکن می‌سازن. با این حال، مدیریت و ردیابی این عملیات میتونه چالش برانگیز باشه. ماژول «async_hooks» چارچوبی رو برای ردیابی منابع ناهمزمان فراهم میکنه و بینش‌هایی رو درباره lifecycle و تعاملات اون ها ارائه میده. از این ماژول چه زمانی استفاده میشه؟ 🤔 ماژول «async_hooks» به دولوپر ها اجازه میده تا هوک‌های سفارشی بسازن که در طول lifecycle عملیات ناهمزمان فراخوانی میشن. این شامل زمانی هست که اون ها ساخته، اجرا و نابود میشن. با استفاده از این هوک ها، دولوپر ها میتونن درک عمیق تری از نحوه تعامل عملیات ناهمزمان در برنامه های خود به دست بیارن، که میتونه برای دیباگ، نظارت بر عملکرد و context propagation بسیار ارزشمند باشه. این ماژول چه ویژگی هایی داره؟ 1⃣ردیابی منابع ناهمزمان: دولوپر ها میتونن زمان ساخت، نابودی منابع ناهمگام (مانند تایمرها، پرامیس ها و عملیات I/O) وضعیت فعلی اون ها رو نظارت کنن. 2⃣مدیریت زمینه: با «async_hooks»، میتونید اطلاعات propagate context رو در سراسر boundaries ناهمزمان منتشر کنین. 3⃣دیباگ: با اتصال هوک ها به ایونت های ناهمزمان مختلف، میتونید اطلاعات دقیقی در مورد رفتار برنامه خود جمع‌آوری کنید که برای شناسایی باگ ها، میتونه مفید باشه. به صورت کلی ماژول async_hooks، به دولوپر ها توانایی ردیابی و مدیریت عملیات ناهمزمان رو با دقت بیشتری ارائه میده. برای کسب اطلاعات بیشتر به داکیومنت اصلی ماژول مراجعه کنید. #nodejs @CodeModule

اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀 🔵 Link #figma @CodeModule
اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀 🔵 Link #figma @CodeModule

دورهمی های کدماژول، قسمت سوم موضوع: همه چیز راجب لینکدین 🌐 به جرات میتونیم بگیم که «ارتباط»‌ یکی از مهم‌ترین فاکتور‌های موفق
دورهمی های کدماژول، قسمت سوم موضوع: همه چیز راجب لینکدین 🌐
به جرات میتونیم بگیم که «ارتباط»‌ یکی از مهم‌ترین فاکتور‌های موفقیت در دنیای امروز و برنامه نویسی هست. شما هرچقدر هم که متخصص و حرفه‌ای باشید، تا کسی از وجود شما خبر نداشته باشه و کانکشن های خوب نداشته باشید، نمی‌تونید به موفقیت برسید. بنابراین نیاز دارید که برای شناخته شدن در عرصه کاری (نه فقط ایران بلکه در سطح جهان)‌ و برقراری ارتباط با حرفه‌ای‌ها تلاش کنید؛‌ و کجا بهتر از لینکدین؟!
امشب ساعت 10 این گفتگو و دورهمی رو از دست ندید‌ 😄 @CodeModule

با Reflect در جاوااسکریپت بیشتر آشنا بشید ✌️ آبجکت یا شئ Reflect، شامل متدهای استاتیک برای فراخوانی متدهای داخلی interceptable اشیاء جاوااسکریپته. برخلاف اکثر گلوبال آبجکت ها، Reflect یک constructor نیست، یعنی شما نمی‌تونید از اون با اوپراتور new استفاده کنید یا شیء Reflect رو به عنوان یک تابع کال کنید. تمام ویژگی‌ها و متدهای Reflect استاتیک هستن (مثل آبجکت Math). ✅آبجکت Reflect مجموعه‌ای از توابع استاتیک رو فراهم میکنه که نام‌های مشابهی با متدهای هندلر پروکسی دارن. مهم ترین استفاده ای که از Reflect میتونیم کنیم، اینه که default behavior رو در traps های (تابعی که رفتار متد داخلی مربوط به شیء یا آبجکتو تعریف می‌کنه) هندلر پروکسی مشخص کنیم. یک trap برای متوقف کردن یک عملیات بر روی یک آبجکت استفاده میشه. برای مثال کدی که در خط های پایین تر میبینید، یک پروکسی با trap یک deleteProperty ایجاد می‌کنه که متد داخلی [[Delete]] رو متوقف می‌کنه. ()Reflect.deleteProperty برای فراخوانی رفتار پیش‌فرض [[Delete]] بر روی targetObject به‌طور مستقیم استفاده میشه، که میتونید اونو با delete هم جایگزین کنید.
const p = new Proxy({}, {
    deleteProperty(targetObject, property) {
      // Custom functionality: log the deletion
      console.log("Deleting property:", property);

      // Execute the default introspection behavior
      return Reflect.deleteProperty(targetObject, property);
    },
  },
);
🚀متدهای Reflect کنترل بیشتری بر نحوه فراخوانی متدهای داخلی فراهم میکنن. برای مثال، ()Reflect.construct تنها راهیه که میتونید یک تابع تارگت رو با یک مقدار خاص برای new.target بسازید. اگر از اپراتور new برای فراخوانی یک تابع استفاده کنید، مقدار new.target همیشه خود تابع خواهد بود. این موضوع تأثیرات مهمی بر روی subClass ها داره. برای مثال، ()Reflect.get به شما اجازه میده تا یک getter رو با یک مقدار this کاستوم اجرا کنید، در حالی که دسترسی به ویژگی‌ها، همیشه از شیء فعلی به عنوان مقدار this استفاده می‌کنه. تقریباً رفتار هر متد Reflect رو میشه با بعضی دیگه از سینتکس‌ها یا متدها انجام داد. بعضی از این متدها، متدهای استاتیک هم اسم تو کلاس Object دارن، هرچند که تفاوت‌های ظریفی وجود داره. برای کسب اطلاعات بیشتر و درک عمیق تر Reflect و static method هاش، میتونید به منبع زیر مراجعه کنید 🏖️ Document 🌕 #javascript #reflect @CodeModule

با این پترن پل درست کنید! 🦦 پترن Bridge یک دیزاین پترن Structural و جزو 23 الگو GoF هست، که در مهندسی نرم‌افزار استفاده میشه و به معنای جدا کردن یک انتزاع از اجرای اون می‌باشد به طوری که این دو میتونن به طور مستقل، متفاوت باشن. به عبارت دیگه الگوی Bridge یک انتزاع (what) را از اجرای اون (how) جدا میکنه. این جدا سازی باعث ترویج: 🟠انعطاف پذیری: به راحتی با افزودن پیاده سازی های جدید سازگار میشه. 🟠قابلیت نگهداری: انتزاع یا پیاده سازی ها رو به طور مستقل تغییر میده. 🟠قابلیت استفاده مجدد: انتزاعات به خوبی تعریف شده استفاده مجدد از کد رو ترویج میکنن. 🟠تست پذیری: تمرکز بر رفتار انتزاعی، تست رو ساده میکنه. برای اینکه بهتر این پترن رو درک کنید، مثال زیر رو بخونید: به کلید و پریز تو اتاقتون نگاه کنید. خود کلید (انتزاع) یک راه استاندارد برای روشن یا خاموش کردن لامپ (operations) ارائه میده. با این حال، سیم کشی برق و نوع لامپ (implementation) میتونه بسته به محل (location) و محل نصب متفاوت باشه. شما میتونید یک لامپ (implementation) رو بدون تأثیر بر نحوه استفاده از کلید (انتزاع) تعویض کنید. به طور مشابه، انواع مختلف کلید ها (اجرا با مکانیزم های مختلف) رو میشه با یک لامپ ثابت (انتزاعی) استفاده کرد. این پترن چه مشکلاتی رو حل کنه؟ منبع فرض کنید یک کلاس Shape با دو کلاسی که از اون ارث میبرن به اسم های Circle و Square دارید. شما میخواید این سلسله مراتب کلاس رو برای ترکیب رنگ ها گسترش بدین، بنابراین قصد دارید ساب کلاس های شکل قرمز و آبی بسازین. با این حال، از اونجایی که شما در حال حاضر دو کلاس فرعی دارید، باید چند کلاس مانند BlueCircle و RedSquare نیز بسازید. (خسته کننده هست😶‍🌫️) افزودن انواع شکل ها و رنگ های جدید سلسله مراتب اون رو به صورت تصاعدی رشد میده. به عنوان مثال، برای اضافه کردن یک شکل مثلث، باید دو زیر کلاس جدید معرفی کنین، و هر چه جلوتر میریم بدتر میشه. اینجا هست که پترن Bridge به کمکون میاد. پترن Bridge چجوری کمک میکنه؟ الگوی Bridge سعی میکنه این مشکل رو با تغییر از وراثت به composition حل کنه. به این معنی هست که به جای اینکه تمامی ابعاد و رفتارها در یک سلسله مراتب کلاس واحد نگهداری بشن، این الگو میاد یکی از ابعاد رو به صورت جداگانه در یک سلسله مراتب کلاس مستقل استخراج میکنه. به این ترتیب، کلاس‌های اصلی به جای اینکه تمام وضعیت‌ها و رفتارها رو در خود داشته باشن، به یک شی از سلسله مراتب جدید ارجاع میدن. به صورت کلی پترن Bridge به شما این امکان رو میده که بتونید تغییرات رو به راحتی مدیریت کرده و از کد خود به طور مؤثری استفاده مجدد کنید. برای کسب اطلاعات بیشتر در مورد این پترن، به مقالات زیر مراجعه کنید. - Article - Article - Article #design_pattern @CodeModule

رم مارو جوییدی آقا بسه ! 😂😂 پ.ن : بنظر شما بهترین بروزر چیه و چرا ؟ #fun @CodeModule
رم مارو جوییدی آقا بسه ! 😂😂 پ.ن : بنظر شما بهترین بروزر چیه و چرا ؟ #fun @CodeModule

سوالات مصاحبه ای شرکت های بزرگ 🦦 استخدام شدن در یک شرکت بزرگ برنامه نویسی کار بسیار پر چالش و سختیه. دلیلش هم اینه که اونا به دنبال کسی هستن که بتونه، الگوریتم‌ها و سوالات پیچیده‌ای که مفاهیم عمیق برنامه نویسی رو هدف قرار میده، به خوبی پاسخ بده. در ریپازیتوری ‏Coding Interview University، شما می‌تونید مجموعه عظیمی از سوالات و منابع آموزشی رو پیدا کنید که در هنگام مواجه با استخدام در یک شرکت بزرگ مانند گوگل، فیسبوک و مایکروسافت درگیر اونها خواهید شد.
تمام موضوعاتی که در این ریپازیتوری مطرح شده، به صورت قدم به قدم بوده و بهتره که به صورت مرتب منابع اون رو مطالعه کرده و شاخه به شاخه نشید.
🌪 Repository #work @CodeModule

با Adonis.js بیشتر آشنا بشید! 🕸 ‏Adonis.js یک فریمورک با امکانات کامل برای Node.js هست که بر ثبات و اطمینان دولوپر ها تمرکز
با Adonis.js بیشتر آشنا بشید! 🕸 ‏Adonis.js یک فریمورک با امکانات کامل برای Node.js هست که بر ثبات و اطمینان دولوپر ها تمرکز داره. این فریمورک با الهام از اصول طراحی لاراول، مجموعه ای غنی از فیچر ها رو ارائه میده که اون رو به گزینه ای عالی برای ساخت اپ های کاربردی وب و API های مقیاس پذیر و قابل نگهداری، تبدیل میکنه. ‏Adonis.js چه کاربردهایی داره؟ 🤔 ‏1⃣Routing: یک سیستم routing قدرتمند رو ارائه میده که از گروه بندی مسیرها، پارامترهای مسیر و اعتبارسنجی مسیر پشتیبانی میکنه و تعریف endpoint واضح و قابل نگهداری رو برای برنامه شما آسون میکنه. ‏2⃣ORM: یک ORM داخلی به نام Lucid که یک API ساده و شهودی برای تعامل با دیتابیس ها ارائه میده، از دیتابیس های مختلفی مانند MySQL، PostgreSQL و SQLite پشتیبانی میکنه. 3⃣احراز هویت: Adonis.js دارای مکانیزم های احراز هویت قوی هست که از استراتژی های احراز هویت مبتنی بر session و توکن پشتیبانی میکنه. ‏Adonis.js به عنوان یک فریمورک جامع برای برنامه‌های Node.js، نسبت به بقیه متمایز هست. طراحی الهام گرفته اون از لاراول همراه با قدرت TypeScript، پایه ای قوی و مقیاس پذیر برای ساخت برنامه های کاربردی وب مدرن فراهم میکنه. برای کسب اطلاعات بیشتر به داکیومنتش مراجعه کنید. #adonis @CodeModule

رسپانسیو پروژت رو چک کن! 🦦 ‏LambdaTest یک پلتفرم ابریه که به شما کمک می‌کنه، تا پروژه هاتون رو در بیش از 2000 مرورگر، سیستم
رسپانسیو پروژت رو چک کن! 🦦 ‏LambdaTest یک پلتفرم ابریه که به شما کمک می‌کنه، تا پروژه هاتون رو در بیش از 2000 مرورگر، سیستم عامل و دستگاه مختلف آزمایش کنید. با استفاده از این ابزار، می‌تونید سازگاری بین مرورگرها رو به صورت دستی یا اتوماتیک آزمایش کنید. 🔗Website #responsive @CodeModule

در هر صورت یه مشکلی هست 😂😂 #fun @CodeModule
در هر صورت یه مشکلی هست 😂😂 #fun @CodeModule