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
😁23
Good Night 🌑

@CodeModule
❤‍🔥28👌5
پالت رنگی پروژت رو پیدا کن 🩸

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

این سایت به طور خاص برای Tailwind طراحی شده. زمانی که پالت رنگیتون رو انتخاب کردید، این سایت نمونه کدهای مربوط به پیکربندی فایل tailwind.config.js رو برای شما تولید میکنه، تا به راحتی بتونید رنگ‌های سفارشیتون رو به فایل کانفیگ Tailwind اضافه کنید.

🔗 Link

#color #tailwind
@CodeModule
🔥173👌3
دورهمی های کدماژول، قسمت هشتم

موضوع: هوش‌مصنوعی، بررسی تأثیرات و بهره برداری از آن 🤖

مهمان گفتگو: آقای ماهان حیدری

زمان برگزاری: پنجشنبه (۱۸ مهر)، ساعت ۱۰

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


فردا شب ساعت 10 این گفتگو و دورهمی رو از دست ندید‌(لینک میت رأس ساعت قرار میگیره)

@CodeModule
4🔥83👌3
الگوریتم انتخاب چیست؟ 👽

در علوم کامپیوتر، الگوریتم انتخاب یک الگوریتم برای پیدا کردن کوچکترین (یا بزرگترین) مقدار kth در مجموعه ای از داده های سازمان نیافته هست. این داده ها میتونن لیستی از اعداد، کاراکترها یا حتی اشیا باشن و مقداری رو که پیدا میکنه، kامین مرتبه آمار نامیده میشه. الگوریتم های انتخاب شامل یافتن عنصر حداقل، میانه و حداکثر در مجموعه به عنوان موارد خاص هست. یک الگوریتم انتخاب به طور موثر k امین کوچکترین (یا بزرگترین) عنصر رو از مجموعه ای از داده های نامرتب بازیابی میکنه. این به ویژه برای یافتن مقادیر خاصی مانند حداقل، حداکثر یا میانه مفید هست.

این الگوریتم چطور کار میکنه؟ 🦠

الگوریتم‌های انتخاب به‌طور مؤثر k‌امین کوچک‌ترین (یا بزرگترین) عنصر رو در مجموعه‌ای از داده‌های نامرتب پیدا میکنه. برخلاف الگوریتم‌های مرتب‌سازی که کل مجموعه رو مرتب میکنه، الگوریتم‌های انتخاب بر یافتن یک عنصر خاص تمرکز میکنه. به عنوان مثال لیستی رو در نظر بگیرید که میخوایم با استفاده از الگوریتم انتخاب کوچیکترین(بزرگترین) مقدارش رو پیدا کنیم. این الگوریتم به این صورت کار میکنه:

‏1. Initialization: با انتخاب یک عنصر اولیه از داده ها شروع می کنیم. این عنصر میتونه هر عنصری در مجموعه باشه.

2. حلقه مقایسه: حلقه ای رو وارد می کنیم که از طریق داده های باقی مانده تکرار میشه. در هر تکرار، عنصر فعلی رو با عنصر اولیه (یا نامزد فعلی برای kامین کوچکترین/بزرگترین) مقایسه میکنه.

3. به روزرسانی کاندید: * اگه عنصر فعلی کوچکتر (برای کوچکترین) یا بزرگتر (برای بزرگترین) از عنصر کاندید باشه، نامزد رو به روز می کنیم. به این معنا که عنصر فعلی کاندیدای بهتری برای kامین کوچکترین/بزرگترین موقعیت میشه.
* اگه عنصر فعلی برابر با نامزد باشه، رفتار خاص به الگوریتم انتخاب بستگی داره. برخی از الگوریتم‌ها ممکن هست با اونها به طور مساوی رفتار کنن، در حالی که برخی دیگر ممکن است مکانیزمی برای قطع رابطه داشته باشن.

4. تکرار: مراحل 2 و 3 تکرار میشه تا زمانی که تمام عناصر مجموعه با نامزد مقایسه بشن.

5. نتیجه: پس از بررسی همه عناصر، عنصر نامزد نهایی به kامین کوچکترین (یا بزرگترین) مقدار در مجموعه تبدیل میشه.

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

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

برای کسب اطلاعات بیشتر مقالات زیر رو بخونید 👇🏻
- Article
- Article
- Article
نحوه پیاده سازی این الگوریتم در js

#algorithm
@CodeModule
🔥132
🔵در میتینگ هوش مصنوعی و برسی تاثیرات آن ، راجع به کاربرد هوش مصنوعی و نحوه استفاده صحیح ازش صحبت کردیم و همچنین برخی از این ابزار های رایگان و کاربردی رو معرفی کردیم.

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

🔗Leonardo ai --> image generating
🔗Krea ai --> image generating
🔗Beativen ai --> music generating
🔗Canva --> design and image generating
🔗Pixverse -->video platform

#ai #tools
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥112
از هفته دیگه کلاسام شروع میشه 😂

#fun
@CodeModule
😁25🔥1👌1
‏Drag & Drop ساده تر از همیشه 👾

توی این پست می‌خوام بهتون یک کتابخانه جدید برای drag-and-drop یا به اصطلاح خودش drag-to-swap معرفی کنم. این کتابخانه فوقعالده سبک و ساده هست، و با اکثر تکنولوژی و کتابخانه های فرانتی مثل react ،vue ،angular ،svelte و ... سازگاره و
از اونها پشتیبانی میکنه.

من خودم قبلا برای drag and drop از react-dnd استفاده می کردم، ولی از این به بعد اگر تو پروژه ای این فیچر رو لازم داشته باشم، از این کتابخانه استفاده میکنم. چرا که با حداقل تغییر و به سهولت این قابلیت رو به پروژه‌های ما اضافه می‌کنه. برای کسب اطلاعات بیشتر به داکیومنتش مراجعه کنید.

🔗 Document

#swapy
@CodeModule
🔥163👌3
داده چیه؟ 💀

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

اصطلاح "داده" از کلمه لاتین *datum* به معنای "چیزی داده شده" گرفته شده. با گذشت زمان، این کلمه بسته به زمینه ای که در اون استفاده میشه، به تعاریف مختلفی تبدیل شده و منابع مختلف این واژه رو به روش های مختلف تعریف میکنن که چند تاشون رو بررسی میکنیم:

🔺 بر اساس فرهنگ لغت بین‌المللی جدید وبستر(Webster)، داده عبارت است از «چیزی داده شده یا پذیرفته شده؛ حقایق یا اصول ارائه شده یا ارائه شده؛ آن چیزی که یک استنتاج یا استدلال بر اون استوار هست، یا از اون یک سیستم ایده‌آل از هر نوع ساخته شده هست». این تعریف بر ماهیت بنیادی داده ها تأکید میکنه، به این معنی که داده ها نقطه شروع هر فرآیند منطقی، چه در علم، چه در فلسفه و چه در استدلال روزمره هستن.
به طور مشابه، فرهنگ لغت انگلیسی دایره‌المعارف آکسفورد، داده‌ها رو به عنوان «حقایق یا چیزهایی شناخته شده که به عنوان مبنایی برای استنتاج یا محاسبه استفاده می‌شوند» تعریف میکنه. این امر بر استفاده از داده ها به عنوان ورودی برای قضاوت، محاسبات یا نتیجه گیری تاکید میکنه.
اگرچه "داده" شکل جمع "datum" هست. اما معمولاً در زبان مدرن به عنوان یک اسم مفرد در نظر گرفته میشه. در حالی که شکل جمع از نظر فنی صحیح هست، استفاده مفرد به طور گسترده پذیرفته شده هست.

- سازمان آموزشی، علمی و فرهنگی ملل متحد (یونسکو) داده ها رو به عنوان «حقایق، مفاهیم یا دستورالعمل ها به شیوه ای رسمی مناسب برای ارتباط، تفسیر یا پردازش به وسیله انسان یا خودکار» تعریف میکنه. این نشان میده که داده‌ها باید ساختاریافته یا سازمان‌دهی بشن تا مفید باشن، به‌ویژه در زمینه سیستم‌های رایانه‌ای که در اون داده‌ها پردازش و منتقل میشن.

‏- *Dictionary of Modern Economics* داده ها رو به عنوان "مشاهدات در مورد بزرگی عددی پدیده های اقتصادی مانند درآمد ملی، بیکاری، یا قیمت خرده فروشی" توصیف میکنه. در اقتصاد، داده ها معمولاً به اندازه گیری ها یا مشاهدات قابل اندازه گیری اشاره دارن که برای تجزیه و تحلیل روندهای اقتصادی و تصمیم گیری آگاهانه استفاده میشن.

- در علوم، داده ها اغلب به عنوان مجموعه ای از «مقادیر عددی یا کیفی حاصل از آزمایش های علمی» توصیف میشن. بر اساس *دایره المعارف علم و فناوری مک گراو هیل*، این داده ها نتیجه مشاهده و آزمایش هست و اساس دانش علمی رو تشکیل میدن.

🔻 به صورت کلی داده ها، در شکل خام خود، تا زمانی که پردازش و تفسیر نشن، فاقد معنا هستن. در علم اطلاعات، اصطلاح «symbolization of knowledge» به این اشاره داره که چگونه داده‌ها باید در چارچوبی خاص برای به دست آوردن ارتباط و انسجام، زمینه‌سازی و درک بشن. این به ویژه در زمینه هایی که از داده ها برای نتیجه گیری یا پیش بینی استفاده میشن، صادقه. در عصر دیجیتال مدرن، داده‌ها به دلیل پیشرفت‌های فناوری، از جمله گسترش استفاده از اینترنت، هوش مصنوعی و تجزیه و تحلیل داده‌های بزرگ، با سرعت بی‌سابقه‌ای در حال گسترش هستن. در نتیجه، داده ها به منبعی ارزشمند برای تصمیم گیری، نوآوری و توسعه اقتصادی تبدیل شدن. اما به نظر شما ما به عنوان یک برنامه نویس با چه نوع "داده" ای سروکار داریم؟

برای اطلاعات بیشتر، این PDF ارزشمند رو مطالعه کنید.
#data
@CodeModule
🔥142
دورهمی های کدماژول، قسمت نهم

موضوع: معرفی لینوکس، فلسفه توزیع‌ها و مهاجرت به آنها 🪴

مهمان گفتگو: آقای زانیار حسینی

زمان برگزاری: پنجشنبه (۳ آبان)، ساعت ۹

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


فردا شب ساعت 9 این گفتگو و دورهمی رو از دست ندید‌(لینک میت رأس ساعت قرار میگیره)

@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👌3❤‍🔥2
Code Module | کد ماژول
دورهمی های کدماژول، قسمت نهم موضوع: معرفی لینوکس، فلسفه توزیع‌ها و مهاجرت به آنها 🪴 مهمان گفتگو: آقای زانیار حسینی زمان برگزاری: پنجشنبه (۳ آبان)، ساعت ۹ توی این میتینگ قراره درباره‌ی سیستم‌عامل لینوکس صحبت کنیم و به این بپردازیم که اصلاً لینوکس چیه، از…
کلی یاد گرفتیم در کنار ماژولیتیا💙

یه چنل میزنم(لینکش رو به زودی میزارم) ریکورد میتینگ های چند وقت اخیر رو اونجا قرار میدم.
به هر دلیل اگر نتونستید حضور پیدا کنید نگران نباشید.

امیدوارم که میتینگ های آینده هم مارو همراهی کنید تا بتونیم از تجربیات همدیگه استفاده کنیم🔥🙌🏻

@CodeModule
@CodeModuleGap
❤‍🔥143👌2
اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀

🔗 Link

#figma
@CodeModule
🔥11
اینم از برنامه روزانه Rest من 😂😂

#fun
@CodeModule
😁18👌1
درود ماژولیتیای گل💙

دوستان گروه از چنل بنا به یک سری دلایل جدا شده. دلیل اصلیش هم نظم دادن به گروه بود و الان با داشتن تاپیک‌های لازم، دیگه سوال کسی این وسط گم نمیشه و دسترسیتون به پیام ها خیلی راحت تر خواهد بود.

در صورت داشتن هر گونه سوال، انتقاد و ... میتونید توی گروهمون جوین باشید👇🏻

@CodeModuleGap
🔥151
‏Analysis of Algorithms چیه؟ 🩸

تحلیل الگوریتم یک کانسپت کلیدی در نظریه پیچیدگی محاسباتی( computational complexity theory) هست که منابع نظری مورد نیاز یک الگوریتم رو برای حل یک مسئله محاسباتی معین تخمین میزنه. نقش مهمی در تعیین میزان کارآمدی یک الگوریتم، به ویژه از نظر زمان و مکان داره.

بیشتر الگوریتم ها برای مدیریت ورودی های با طول دلخواه طراحی شدن، به این معنی که الگوریتم باید بدون توجه به اندازه داده ها کار کنه. تجزیه و تحلیل الگوریتم‌ها به ما کمک میکنه تا عملکردشون رو برای اندازه‌های ورودی مختلف درک کنیم و بینشی در مورد مقیاس‌پذیری و کارایی یک الگوریتم ارائه کنیم. کارایی یک الگوریتم معمولاً به صورت زیر بیان میشه:

- پیچیدگی زمانی(Time Complexity): این نشان میده که چگونه زمان اجرا یک الگوریتم با افزایش اندازه ورودی تغییر میکنه. اغلب با نماد Big-O نشون داده میشه، که یک upper bound در زمان لازم برای اجرای الگوریتم بر اساس اندازه ورودی ارائه میده. البته نمادهای دیگه‌ای مثل Θ (theta) و Ω (omega) هم وجود دارن که به ترتیب برای توصیف محدودیت‌های متوسط و پایین‌تر استفاده میشن. به این صورت:

‏Big-O — نشان‌دهنده بیشترین تعداد عملیات مورد نیاز در بدترین حالت.
‏Omega — نشان‌دهنده کمترین تعداد عملیات مورد نیاز در بهترین حالت.
‏Theta — نشان‌دهنده تعداد عملیات در حالت متوسط، وقتی که تعداد دقیق گام‌ها شناخته شده باشد.

- پیچیدگی فضایی: این مقدار حافظه یک الگوریتم رو نسبت به اندازه ورودی اندازه میگیره. برای درک میزان فضای ذخیره اضافی در هنگام اجرای الگوریتم بسیار مهم هست.


انواع Analysis of Algorithms 🌋

چهار نوع اصلی تحلیل الگوریتم وجود داره:

‏1. Worst-Case Analysis:

- این به حداکثر تعداد مراحل یا منابعی اشاره داره که یک الگوریتم برای هر ورودی با اندازه «n» نیاز داره. تجزیه و تحلیل بدترین حالت برای حصول اطمینان از اینکه الگوریتم در سخت ترین شرایط کارآمد عمل میکنه، مهم هست.
- مثال: در یک الگوریتم جستجوی خطی(linear search algorithm)، بدترین سناریو زمانی رخ میده که عنصر مورد نظر در انتهای لیست باشه، و لازم است الگوریتم قبل از یافتن هر عنصر رو اسکن کنه.

‏2. Best-Case Analysis:

- این حداقل تعداد مراحل مورد نیاز الگوریتم رو برای هر ورودی با اندازه "n" محاسبه میکنه. در حالی که مفید هست، تجزیه و تحلیل بهترین حالت در برنامه های کاربردی دنیای واقعی اهمیت کمتری داره زیرا فقط مطلوب ترین سناریو ورودی رو منعکس میکنه.
- مثال: در همون الگوریتم جستجوی خطی، بهترین حالت زمانی هست که عنصر هدف اولین عنصر باشه، یعنی جستجو پس از یک مقایسه به پایان میرسه.

‏3. Average-Case Analysis:

- این میانگین تعداد مراحلی رو که الگوریتم برای ورودی تصادفی با اندازه «n» انجام میده محاسبه میکنه. تجزیه و تحلیل میانگین مورد انتظار واقعی تری از عملکرد رو در مقایسه با بهترین و بدترین سناریو ارائه میده.
- مثال: در الگوریتم‌های مرتب‌سازی مانند quicksort، حالت متوسط ​​ممکنه سفارش‌های ورودی تصادفی رو در نظر بگیرد و تعداد مورد انتظار مقایسه رو استخراج کنه.

‏4. Amortized Analysis:

- به دنباله ای از عملیات روی یک ساختار داده نگاه میکنه و عملکرد متوسطی رو در طول زمان ارائه میده. این به ویژه زمانی مفیده که برخی از عملیات ممکنه گران باشن، اما هزینه آنها با بسیاری از عملیات ارزان تر "Amortized" میشن.
- مثال: در تغییر اندازه آرایه پویا، در حالی که تغییر اندازه میتونه گران باشه، به ندرت اتفاق میفته، بنابراین میانگین هزینه هر insertion در هنگام در نظر گرفتن درج های متعدد(multiple insertions) کم هست.


اهمیت تحلیل الگوریتم؟

تجزیه و تحلیل الگوریتم به شناسایی کارایی یک الگوریتم از نظر زمان CPU، استفاده از حافظه، استفاده از دیسک و استفاده از شبکه کمک میکنه. در این میان، زمان CPU (پیچیدگی زمانی) معمولاً مهمترین عامل هنگام ارزیابی الگوریتم ها هست.

به صورت کلی تحلیل الگوریتم به ما کمک میکنه که بهترین الگوریتم رو با توجه به شرایط و پروژه ای که داریم انتخاب کنیم. برای اطلاعات بیشتر به این مقالات مراجعه کنید.

#algorithms
@CodeModule
🔥91