شبکه عصبی چیست؟ — کامل و به زبان ساده

در سال‌های اخیر از مدل‌های «یادگیری عمیق» (Deep Learning) در حوزه‌های بسیاری نظیر «ترجمه ماشین» (Machine Translate)، تشخیص بیماری با استفاده از اشعه ایکس، تشخیص تصاویر برای ماشین‌های خودران، پیش‌بینی بازار سهام و سایر حوزه‌های دیگر استفاده شده است. معماری مدل‌های یادگیری عمیق از ساختاری با عنوان «شبکه عصبی» (Neural Network) تشکیل شده است که با نام «شبکه عصبی مصنوعی» (Artificial Neural Network) نیز شناخته می‌شوند. افرادی که مشتاق هستند در زمینه هوش مصنوعی شروع به مطالعه و یادگیری کنند، می‌توانند با مطالعه مقاله حاضر با مفاهیم ابتدایی این حوزه آشنا شوند و به پاسخ این پرسش برسند که شبکه عصبی چیست و مباحث مهم پیرامون آن را دریابند.

ادامه مطلب

کامپوننت در برنامه نویسی چیست؟ — توضیح Component به زبان ساده

برنامه نویسی پیشرفت‌های بسیاری داشته است و در راستای این پیشرفت‌ها، روش‌های مختلفی برای کدنویسی ایجاد شده‌اند. کامپوننت در برنامه نویسی که به انگلیسی «Component» نوشته می‌شود، شامل اجزا و ابزارهای کوچکی است که هر کدام وظیفه خاصی دارند و کار منحصربه‌فردی انجام می‌دهند. کامپوننت در درک طراحی برنامه‌ها از اهمیت بالایی برخوردار است و روند استفاده از کدها را از جنبه‌های مختلف ساده‌تر می‌کند. در این مطلب سعی شده است به طور جامع به این سوال پاسخ داده شود که کامپوننت در برنامه نویسی چیست و همچنین همه مسائل مرتبط با آن و کاربردهایش نیز مورد بررسی قرار گرفته‌اند.

ادامه مطلب

چگونه پایتون را آپدیت کنیم؟ — کامل،‌ تصویری و به زبان ساده

هر آپدیت پایتون به همراه رفع باگ‌ها و ویژگی‌های جدید عرضه می‌شود. پایتون، ۲ نسخه اصلی دارد که در این بین، نسخه ۳.۹ پراستفاده‌تر و رایج‌تر است. مثلاً در آپدیت‌های قبلی پایتون ویژگی‌هایی مثل پشتیبانی بهبودیافته از منطقه زمانی، به‌روزرسانی‌هایی برای دیکشنری در پایتون و دکوراتورهای انعطاف‌پذیرتر ارائه شده‌اند. در این مقاله به این موضوع پرداخته شده است که چگونه پایتون را آپدیت کنیم و سعی شده است تمام روش‌ها و ترفندهای آپدیت کردن پایتون در پلتفرم‌های مختلفی مثل ویندوز و iOS ارائه شوند.

ادامه مطلب

شی گرایی چیست؟ — در برنامه نویسی و به زبان ساده

«برنامه نویسی شی گرا» (Object-Oriented Programming | OOP) به عنوان یکی از اصلی‌ترین رویکردهای برنامه نویسی محسوب می‌شود. تقریباً تمامی برنامه نویسان و توسعه دهندگان با این مفهوم آشنا هستند و در توسعه پروژه‌های نرم‌افزاری خود از آن استفاده می‌کنند. بدین‌ترتیب، افرادی که قصد دارند در حوزه برنامه نویسی مشغول به کار شوند، باید به یادگیری مفاهیم این رویکرد پرداخته و روش پیاده‌سازی آن را یاد بگیرند. در مقاله حاضر، سعی بر این بوده است با ارائه مثال‌هایی از دنیای واقعی، به پرسشی کلیدی پیرامون «شی گرایی چیست» پاسخ داده شده و اجزای اصلی این رویکرد و اصول مهم آن اشاره شود.

ادامه مطلب

مرتبه اجرایی در ساختمان داده — به زبان ساده، رایگان و کامل

پیچیدگی زمانی و مرتبه اجرایی در ساختمان داده و طراحی الگوریتم از مباحث پایه و مهم در علوم کامپیوتر به حساب می‌آیند. دو مفهوم «پیچیدگی زمانی» و «مرتبه اجرایی» هر دو به محاسبه میزان افت عملکرد یک تابع یا الگوریتم در ازای رشد اندازه ورودی مربوط می‌شوند. پیچیدگی زمانی به انگلیسی «Time Complexity» خطاب می‌شود و گاهی به آن «پیچیدگی اجرایی» هم می‌گویند. در این مطلب سعی شده است تا حد امکان به طور جامع به آموزش مرتبه اجرایی در ساختمان داده پرداخته شود. همچنین برای درک بهتر، مثال‌ها و نمونه سوال‌هایی هم برای اکثر بخش‌های این نوشته ارائه شده‌اند. همچنین در این نوشتار به مرتبه اجرایی حلقه For و While، مرتبه اجرایی توابع بازگشتی، مرتبه اجرایی فاکتوریل و سایر موارد مهم پیرامون مبحث مرتبه اجرایی در ساختمان داده پرداخته شده است.

ادامه مطلب

برنامه نویسی ماژولار چیست؟ – به زبان ساده + مزایا، معایب و کاربرد

در دنیای مدرن برنامه نویسی، روش‌های مختلفی وجود دارد که یکی از آن‌ها «برنامه نویسی ماژولار» (Modular Programming) یا «برنامه نویسی پیمانه‌ای» است. این نوع برنامه نویسی پردازشی برای تقسیم‌بندی برنامه‌های کامپیوتری به زیر برنامه‌های مجزا به حساب می‌آید. اصطلاح «ماژول» (Module) در برنامه نویسی به مؤلفه یا همان کامپوننت نرم افزاری مجزایی گفته می‌شود که می‌تواند همراه با مؤلفه‌های دیگر سیستم در اپلیکیشن‌ها و توابع مورد استفاده قرار بگیرد. در برنامه نویسی ماژولار توابع مشابه با یکدیگر در یک واحد از کدهای برنامه قرار می‌گیرند و توابع مجزا نیز به عنوان واحدهای مجزایی از کدها در اپلیکیشن‌ها استفاده می‌شوند. در ادامه این مطلب سعی شده است به طور جامع به این سوال پاسخ داده شود که برنامه نویسی ماژولار چیست و سایر موضوع‌های مهم پیرامون آن نیز شرح داده شده‌اند.

ادامه مطلب

یادگیری عمیق چیست؟ — به زبان ساده + منابع یادگیری

«هوش مصنوعی» (Artificial Intelligence) و یکی از شاخه‌های مهم آن، یعنی «یادگیری ماشین» (Machine Learning)، به عنوان سنگ‌بنای حوزه جدیدی با نام «یادگیری عمیق» (Deep Learning) محسوب می‌شوند.‌ هدف این شاخه از فناوری اطلاعات، ساخت سیستم‌های هوشمندی است که بتوانند همانند انسان، درباره موضوعی خاص تصمیم‌گیری کنند و وظایف مختلفی را به شکلی هوشمند انجام دهند. در مطلب حاضر، با هدف پاسخ به پرسش یادگیری عمیق چیست، به توضیح این شاخه از علوم کامپیوتر پرداخته می‌شود و کاربردها و ویژگی‌های مدل‌های مبتنی بر یادگیری عمیق مورد بررسی قرار می‌گیرند. همچنین، در این مقاله به برخی از پرکاربردترین مدل‌های یادگیری عمیق اشاره و به معرفی تعدادی از زبان‌های برنامه نویسی رایج این حوزه پرداخته شده است.

ادامه مطلب

ساخت ماشین حساب با جاوا اسکریپت – از صفر تا صد + کد

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

ادامه مطلب

ساخت زبان برنامه نویسی — آموزش کامل به زبان ساده

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

ادامه مطلب