ضد الگو(Anti Pattern) در برنامه نویسی چیست؟

پشرفت های حرفه ای با انتقاد از خود رابطه مستقیمی دارند. اگر یک برنامه نویسی بخواهد در شغل و حرفه اش پیشرفت کند، باید از خود انتقاد کرده و روند ها و کدهای موجود خود را به چالش بکشد. ضد الگو های در توسعه نرم افزار یا همان Software Development Anti Patterns، معمولا روندهایی نامناسبی هستند که یک برنامه نویسی برای حل مسائل مختلف برنامه نویسی پیاده سازی می کند، ولی بعدا همین روندها باعث ایجاد مشکل در ساختار برنامه می شود.

ادامه خواندن “ضد الگو(Anti Pattern) در برنامه نویسی چیست؟”

آشنایی با زبان R و کاربردهای آن

در درس آشنایی با زبان های برنامه نویسی، اینبار یک زبان برنامه نویسی متفاوت را مطرح میکنیم. زبان R(آر). این زبان که بیشتر برای عملیات آماری استفاده می شود، کاربردهای فراوانی در آمار و احتمالات و همچنین یادگیری ماشین و داده کاوی دارد.

ادامه خواندن “آشنایی با زبان R و کاربردهای آن”

معرفی چند نرم افزار کاربردی جهت داده کاوی

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

ادامه خواندن “معرفی چند نرم افزار کاربردی جهت داده کاوی”

پایگاه داده آپاچی کاساندرا(Apache Cassandra) چیست؟

Cassandra یک پایگاه داده توزیع شده است. برای اینکه بدانید توزیع شدگی چیست، بهتر است درس سیستم توزیع شده چیست را مطالعه ای داشته باشید. این پایگاه داده برای مدیریت داده های بزرگ و مه داده(Big Data) کاربرد فراوانی دارد. Cassandra هیچ نقطه خاص خرابی(Single Point Of Failure) ندارد و به راحتی میتواند بر روی چندین کامپیوتر توزیع شود.

ادامه خواندن “پایگاه داده آپاچی کاساندرا(Apache Cassandra) چیست؟”

پایگاه داده Redis چیست؟

همان طور که در درس آشنایی با انواع پایگاه داده های NoSQL یاد گرفتیم، Redis یکی از انواع پایگاه داده NoSQL در زیر مجموعه Key/Value قرار میگیرد. البته در وب سایت Redis و در برخی از منابع، Redis به عنوان یک سرور ساختار داده ای(data structure server) نامیده می شود. به این ترتیب که تمامی اطلاعات در این پایگاه داده به صورت کلید و مقدار ذخیره می شوند. در این پایگاه داده میتوان با استفاده از یک کلید مشخص، به مقدار آن کلید دست پیدا کرد.

ادامه خواندن “پایگاه داده Redis چیست؟”

پایگاه داده گراف(Graph Database) چیست؟

پایگاه داده گراف یا پایگاه داده های مبتنی بر تئوری گراف، در واقع مجموعه ای موجودیت ها و ارتباط بین آن هاست، که به صورت منظم ذخیره سازی شده اند. احتمالاً با پایگاه داده ها آشنایی داشته باشید(اگر آشنایی ندارید اینجا را بخوانید). معمولاً در پایگاه داده هایی که به صورت سطر و ستون ذخیره می شوند، سرعت دسترسی به اطلاعات خوب و منطقی به نظر میرسد(به خصوص زمانی که از Indexing استفاده شود)، این در حالی است که در بسیاری از مواقع(به دلیل نیاز به سرعت بالای دسترسی به اطلاعات)، سرعت واکشی و درج داده ها، در پایگاه داده های رابطه ای، مناسب به نظر نمی رسد. این اتفاق معمولاً زمانی رخ می دهد که میخواهید، یک یا چند Join مختلف، بر روی جداول مختلف یک پایگاه داده بزنید.

ادامه خواندن “پایگاه داده گراف(Graph Database) چیست؟”

انواع پایگاه داده NoSQL

در درس قبلی آشنایی مختصری با پایگاه داده NoSQL پیدا کردیم. در این درس تمرکزمان را بیشتر بر روی ۴نوع پایگاه داده NoSQL معطوف میکنیم و میدانیم که نسبت به نوع مسئله و داده های موجود، میتوانیم هر یک از این پایگاه داده ها را انتخاب کنیم. اکثر پایگاه داده های NoSQL جزو یکی از این ۴دسته قرار میگیرند:

ادامه خواندن “انواع پایگاه داده NoSQL”

پایگاه داده NoSQL چیست؟

پایگاه داده های NoSQL به نوعی از پایگاه داده ها می گویند که به صورت رابطه ای(Relational) پیاده سازی نشده اند. پایگاه داده های مرسوم مانند SQL Server یا MySQL را به یاد بیاورید. جداول، سطر ها و ستون ها تمام چیزهایی بودند که با آن ها سر و کار داشتیم. در واقع پایگاه داده رابطه ای(Relational Database) که از تئوری جبر رابطه ای(Relational Algebra) استفاده میکند، دیگر برای بسیاری از مسائل مترکز به داده(Data Intensive) مناسب نیستند. مسائل متمرکز به داده معمولا مسائلی هستند که در آن ها، حجم زیادی از داده بایستی ذخیره و پردازش شود و این پردازش معمولا باید با سرعت بالایی همراه باشد(مخصوصا مسائل مرتبط با مه داده یا همان Big Data).

ادامه خواندن “پایگاه داده NoSQL چیست؟”

کاربرد داده کاوی و یادگیری ماشین در پردازش متن(Text Processing)

با خواندن دروس قبلی متوجه شدید که داده کاوی و یادگیری ماشین بیشتر در دو دسته نظارت شده(مانند طبقه بندها) و غیر نظارت شده(مانند خوشه بندها) قرار دارند. امروز میخواهیم برای هر کدام از این دسته ها، کاربردهایی در دنیای واقعی ارائه دهیم. این کاربردها میتوانند در پروژه های مختلف متن کاوی و پردازش زبان طبیعی(Natural Language Processing) استفاده شوند.

ادامه خواندن “کاربرد داده کاوی و یادگیری ماشین در پردازش متن(Text Processing)”