“دکوراتورها” در پایتون

یکی از قدرتمندترین و پیشرفته ترین ویژگی های “برنامه نویسی شی گرا” در پایتون، “دکوراتورها” هستند. اما قبل از اینکه شما عمیقا به مبحث دکوراتورها بپردازید، نیاز داردید که برخی مطالب را پیشاپیش بدانید. برای برنامه نویسان سی پلاس پلاس و جاوا، تعریف توابع در داخل توابع، امر عجیب و ناشناخته ای است، اما پایتون امکان ایجاد توابع در درون توابع را فراهم می کند و توابع می توانند دارای آرگومان ورودی ای از جنس تابع باشند!. لطفا این امر را با بحث توابع بازگشتی (که در سی پلاس پلاس و جاوا و پایتون و … امکان پذیر است) اشتباه نگیرید. در توابع بازگشتی، یک تابع خودش را در تعریف خودش صدا می زند، اما در پایتون، شما می توانید یک تابع جدید را در داخل تعریف یک تابع ایجاد نمائید و خروجی یک تابع می تواند خود یک تابع دیگر باشد. این ویژگی خیلی زیباست و ابزار قدرتمندی را در اختیار برنامه نویسان حرفه ای قرار می دهد.

ادامه خواندن ““دکوراتورها” در پایتون”

ویدئوی آموزشی “دوره کامل پایتون مقدماتی”

برای دانلود ویدئوهای آموزشی دوره کامل “پایتون مقدماتی” که توسط بنده تدریس گردیده، می توانید از این لینک اقدام کنید.

برای دیدن ویدئوهای آموزشی دوره کامل “پایتون مقدماتی” در آپارت، از این لینک اقدام نمائید.

برای دیدن ویدئوهای آموزشی دوره کامل “پایتون مقدماتی” در youtube، از این لینک اقدام نمائید.

“فیزیک مدرن” در قیاس با “فیزیک کلاسیک”!

فیزیک کلاسیک، به واسطه کارهای نیوتون در “مکانیک” و معادلات مشهور ماکسول در “الکترومغناطیس” و همچنین قوانین کپلر برای “مکانیک سماوی”، به خوبی شناخته شده است. تمامی این کارها تا قبل از قرن بیستم و در آغاز با قوانین مشهور کپلر در قرن هفدهم، به انجام رسیده است. یک مرحله ای بین فیزیک کلاسیک و فیزیک مدرن وجود دارد که نه کاملا به فیزیک کلاسیک و نه کاملا به فیزیک مدرن تعلق دارد. این مرحله “مکانیک آماری” است و تعریف جدیدی برای دما ارائه می دهد و “قوانین ترمودینامیک” را از نقطه نظر آماری بازآرایی می کند.

ادامه خواندن ““فیزیک مدرن” در قیاس با “فیزیک کلاسیک”!”

چگونه بدون رفتن به دانشگاه، یک “مهندس برق” بشویم؟!!

امروزه، با توسعه روز افزون استفاده از اینترنت و افزایش سرعت اینترنت در سراسر دنیا، پلتفرم های آنلاین به صورت نمایی رو به گسترش هستند. آموزش های آنلاین (ای-لرنینگ) نیز بخشی از این توسعه هستند که یادگیری را خیلی آسان و پر بازده نموده اند. من به یاد می آورم که در دوران دانشجویی ما در ۱۵ سال گذشته، هیچ موسسه آموزش آنلاین معروف و شناخته شده ای در میان دانشجویان وجود نداشت و تنها برخی آموزش های ویدیویی ضبط شده بر روی CD یا DVD در موضوعات خاصی، وجود داشت که می توانستیم آن ها را بخریم و موضوع خاص را یاد بگیریم. برای سایر موضوعات، مجبور بودیم که کتاب بخریم یا فایل ای بوک کتاب را مطالعه کنیم. اما در این روزها، شما می توانید تعداد زیادی ویدئوی آموزشی در تقریبا هر موضوعی، را در پلتفرم های ای لرنینگ مانند Coursera، Udemy، Lynda و … پیدا کنید و دانلود نموده و مشاهده نمائید. به زبان مادری ما (فارسی) نیز برخی پلتفرم های آنلاین ای لرنینگ قوی و مفید وجود دارد و من تقریبا مطمئنم که در تمامی زبان ها این پلتفرم های ای لرنینگ رشد پیدا کرده که موجب سهولت یادگیری در کل دنیا گردیده است.

ادامه خواندن “چگونه بدون رفتن به دانشگاه، یک “مهندس برق” بشویم؟!!”

چگونه توسعه دهندگان “نرم افزار اپن سورس” یا “متن باز” از کارهای خود کسب منفعت می کنند؟

این سوال همیشه در ذهن بسیاری از برنامه نویسان تازه کار است که برنامه نویسان و توسعه دهندگانی که  در “پروژه های اپن سورس یا متن باز” و “رایگان” فعالیت می کنند، چگونه از زحمات خود کسب منفعت می کنند. در زیر، برخی از منابعی را که این توسعه دهندگان از آن کسب درآمد می کنند، ذکر می کنم:

ادامه خواندن “چگونه توسعه دهندگان “نرم افزار اپن سورس” یا “متن باز” از کارهای خود کسب منفعت می کنند؟”

“DevOps” چیست؟

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

ادامه خواندن ““DevOps” چیست؟”

“بینایی ماشین” چیست؟

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

ادامه خواندن ““بینایی ماشین” چیست؟”

“یادگیری عمیق” چیست؟

بعد از صحبت درباره “یادگیری ماشین” در مقاله گذشته، این بار می خواهم در ارتباط با “یادگیری عمیق” که موضوع داغی در دنیای هوش مصنوعی در سال های اخیر است، صحبت کنم. یادگیری عمیق زیرمجموعه ای از شبکه های عصبی است و شبکه های عصبی نیز خود زیرمجموعه ای از یادگیری ماشین است. در دیاگرام زیر، می توانید ارتباط این موضوعات را با یکدیگر مشاهده کنید:

ادامه خواندن ““یادگیری عمیق” چیست؟”

“یادگیری ماشین” چیست؟

ممکن است شما در سال های اخیر، در اخبار و مقالات در ارتباط با کلمه “یادگیری ماشین” زیاد شنیده باشید و کنجکاو باشید تا بدانید که یادگیری ماشین دقیقا چیست. یادگیری ماشین زیر مجموعه ای از “هوش مصنوعی” است و به روش هایی که یک ماشین می تواند یک چیز را یاد بگیرد، اشاره دارد. قبل از صحبت درباره یادگیری ماشین، خوب است در ارتباط با اینکه “یک انسان چگونه یاد می گیرد؟” کمی فکر کنیم. تصور کنید شما در یک خیابان مشغول پیاده روی هستید و تعداد زیادی مغازه و مرکز خرید و … مشاهده می کنید. بار بعد، از آنجائیکه شما تعداد زیادی مرکز خرید در آن خیابان دیده اید، برای خرید به آن خیابان مراجعه می نمائید. اگر شما در آن خیابان پیاده روی نکرده بودید و از هیچ طریق دیگری اطلاعی در مورد آن خیابان نداشتید، آیا شما می توانستید دریابید که آیا آن خیابان دارای مرکز خرید است یا خیر؟؟!! این دقیقا روشی است که ما یاد می گیریم: توسط دریافت اطلاعات از یک موضوع به هر طریقی. حال اگر ما می خواهیم یک ماشین چیزی را یاد بگیرد، باید تعداد زیادی اطلاعات مرتبط به یک موضوع را برای آن فراهم نمائیم و سپس توقع داشته باشیم که ماشین بتواند اتفاقات جدید مشابه در آن زمینه را برای ما پیش بینی کند.

ادامه خواندن ““یادگیری ماشین” چیست؟”

“داده حجیم” یا “بیگ دیتا” چیست؟

واژه “داده حجیم” یا “بیگ دیتا” به آسانی از معنی لغات آن قابل تشخیص است و به میزان زیادی از اطلاعات ارتباط پیدا می کند. اما کاربرد اصلی این واژه بیشتر در صنعت IT و بالاخص در زمینه تکنولوژی های وب است. مشهورترین کاربران تکنولوژی های “بیگ دیتا” به آسانی قابل حس زدن هستند. درست حدس زدید: موتورهای جستجو مانند “گوگل” و “بینگ”. خوب است بدانید که تقریبا تنها همین دو موتور جستجو وجود دارد و سایر وبسایت هایی که دارای موتور جستجو هستند (مانند یاهو یا msn یا …)، از نتایج جستجوی یکی از این دو موتور جستجو استفاده می کنند. در این نوشته، من می خواهم به اختصار در مورد تکنولوژی های تجاری مورد استفاده در صنعت “داده حجیم” یا “بیگ دیتا” صحبت کنم.

ادامه خواندن ““داده حجیم” یا “بیگ دیتا” چیست؟”