بی پی ام اس(BPMS) چیست؟

نرم افزار مدیریت فرآیندهای تجاری(Business Process Management System)، به دسته ای از نرم افزارها گفته می شود، که با کمک آن میتوانید فرآیند داخل سازمان خود را، مدل کرده و فرآیند ها را به سرعت به نرم افزار کاربردی تبدیل کنید.
مثال زیر را در نظر بگیرید:
شما یک شرکت بیمه ای هستید، و میخواهید فرآیند ثبت نام و پرداخت های کاربران را، به صورت ماهانه، مدیریت و تنظیم کنید. برای این کار احتمالا، سراغ یک برنامه نویس یا یک شرکت برنامه نویسی میروید و برای آن ها، فرآیند های خود را توضیح می دهید. برنامه نویسان نیز، یک نرم افزار، طبق فرآیند های شما، برایتان تولید می کنند.
فرض کنید، چند ماه بعد، برخی از فرآیند های شما تغییر کرد، یا اینکه چند فرآیند جدید به سیستم شما اضافه شد. در این صورت، باز هم بایستی از برنامه نویسان درخواست کنید تا برای شما تغییرات مختلف را انجام دهند. در واقع، هر گاه تغییری اساسی(یا حتی جزئی) در فرآیند داشتید، احتمالاً باید یک بار دیگر نرم افزار خود را به روز کنید.
BPMSها، برای حل همین مشکلات طراحی شده اند. به گونه ای که شما با در اختیار داشتن(و البته یادگیری استانداردهای BPM)، میتوانید خودتان، فرآیندهای سازمان را در سیستم طراحی کرده و سیستم، در نهایت یک خروجی نرم افزاری در اختیار شما قرار میدهد. با این کار هر گاه فرآیند ها تغییر کرد، خودتان میتوانید، با تغییر در نرم افزار BPMS موجود، یک خروجی جدید از نرم افزار تهیه کرده و فرآیندهای جدید را در آن مشاهده کنید.
البته برای استفاده از BPMSها، نیاز دارید تا استاندارد BPM را نیز یادبگیرید.

لاراول(Laravel) چیست؟

لاراول یک چهارچوب(framework) نرم افزاری، تحت وب، برای زبان برنامه نویسی PHP است.
برای مثال، اگر بخواهید یک وب سایت، با زبان برنامه نویسی PHP بنویسید، نیاز دارید تا از یک سری ساختار(Structure) و الگوهای نرم افزاری(Design Patterns) پیروی کنید. لاراول این امکان را برای شما فراهم آورده است، به گونه ای که با استفاده از قواعد و الگوهایی که فراهم آورده است، شما را مجبور میکند، تا از این الگوها، پیروی کنید. لاراول از الگوی MVC استفاده میکند(MVC چیست؟).
همچنین برای پیاده سازی یک وب سایت، احتمالاً نیاز به ماژول های مختلفی دارید. مثلا ماژول آپلود تصویر، یا ماژول ورود کاربران به سیستم. میتوانید خودتان وقت بگذارید و قسمت های مختلف را، با زبان برنامه نویسی PHP بنویسید. اما لاراول، این کار را برای شما انجام داده است. لاراول، شامل مجموعه ی بسیار بزرگی از کتابخانه ها(Libraries) برای زبان PHP است. مثلا، ماژول آپلود تصویر، در لاراول وجود دارد و شما به راحتی میتوانید، فقط آن را فراخوانی کنید، بدون اینکه بخواهید خودتان بار دیگر این ماژول را از ابتدا بنویسید.
در کل استفاده از لاراول، در پیاده سازی یک وب سایت(یا هر سامانه آنلاین دیگر)، برنامه نویسی را برای PHP، بسیار ساده تر کرده، و تمرکز اصلی برنامه نویس را بر روی فرآیندهای کلی(و نه برنامه نویسی ماژول های جزئی تر) قرار میدهد. با این کار، سرعت برنامه نویسی بسیار بیشتر می شود، در عین حال، محصول نهایی نیز، بسیار با کیفیت تر و پایدارتر(Stable) می باشد(به خاطر اینکه، ماژول های نرم افزاری نوشته شده توسط Laravel، به وسیله ی برنامه نویسان قدرتمند پیاده سازی و تست شده اند). همچنین، اگر برنامه نویس دیگری بخواهد، بعداً بر روی این نرم افزار کار کند، احتمالاً بسیار راحتت تر خواهد بود، زیرا ساختارها و قواعد شناخته شده ی مهندسی نرم افزار، به خوبی در لاراول به کار گیری شده است.

ماشین مجازی(Virtual Machine) چیست؟

به صورت ساده، ماشین مجازی، یک سیستم عامل کامل است، بر روی سیستم عامل فعلی شما. برای مثال، یک شما یک نرم افزاری خریده اید که فقط بر روی ویندوز xp قابل اجرا است، این در حالی است که سیستم عامل کامپیوتر شما، ویندوز ۸ است. با استفاده از یک ماشین مجازی، به راحتی می توانید، یک ویندوز xp، را بر روی یک ویندوز ۸، نصب کنید. سپس نرم افزار مورد نیاز خود را بر روی سیستم عامل ویندوز xp نصب کنید. یا برای مثال، اگر شخصی بخواهد یکی از توزیع های سیستم عامل لینوکس(مثلا Ubuntu) را بر روی ویندوز نصب کند. با استفاده از ماشین مجازی، به راحتی این کار را انجام می دهد.

البته کاربردهای ماشین های مجازی فراتر از این مثال ساده نیز می باشد.

یکی از ماشین های مجازی که قابلیت اجرا بر روی ویندوز و لینوکس را دارد را میتوانید از اینجا دانلود کنید.

داکر(Docker) چیست؟

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

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

حتی بسیاری از شرکت ها، نیز میتوانند، از داکر(Docker)، در محیط اجرا، استفاده کنند.

تفاوت داکر با ماشین های مجازی(Virtual Machine) چیست؟

اگر با ماشین های مجازی کار کرده باشید، میدانید که این ماشین ها، نیز همین کار را برای کاربران انجام می دهند. تفاوت اصلی داکر، با ماشین های مجازی، این است در داکر، بر خلاف ماشین های مجازی، کل سیستم عامل ذخیره نمی شود و فقط کتابخانه ها و تنظیمات مورد نیاز، در داکر ذخیره می شود.

برای اطلاعات بیشتر توصیه می شود، سایت داکر را مطالعه کنید

داده کاوی(Data mining) چیست؟

تعریف تئوری: داده کاوی فرآیند تبدیل یک سری داده به یک سری دانش توسط فرآیندهای مختلف است.

تعریف تجربی:

با یک مثال شروع میکنیم. فرض کنید شما مدیر یک بانک هستید. و میخواهید از بین ۱۰۰۰۰۰مشتری که متقاضی وام هستند، به ۱۰۰۰نفر وام دهید. پس لازم است که از بین این ۱۰۰۰۰۰نفر، ۱۰۰۰نفری را انتخاب کنید که اطمینان بیشتری برای برگرداندن وام دارند.

در فرآیند داده کاوی، ابتدا مدیر بانک بایستی یک سری از افراد(مثلا ۲۰۰نفر) را به عنوان افراد مطمئن و ۲۰۰ نفر دیگر را به عنوان افراد غیر مطمئن برای سیستم مشخص کند.

اینجاست که داده کاوی وارد عمل میشود، و ۲۰۰فرد مورد اطمینان و ۲۰۰فرد غیر مطمئن، را مشاهده کرده و الگوهای رفتاری این افراد را مورد بررسی قرار می دهد. در واقع سیستم متوجه می شود که چه الگوی رفتاری ای، منجر به اطمینان و چه الگویی منجر به عدم اطمینان می شود. در اینجاست که سیستم، یاد میگیرد(learn) و میتواند بین افراد مطمئن و غیرمطمئن تمیز قائل شود.

حال این سیستم که فرآیند را یادگرفته است، میتواند هر مشتری دیگری را نیز، در دسته مطمئن ها و غیر مطمئن ها، تقسیم کند. اینجاست، که تمامی ۱۰۰۰۰۰نفر را به سیستم وارد میکنیم و خروجی این سیستم، میتواند تعداد افرادی را مشخص کند که مطمئن هستند و میتوان به آن ها وام داد.

«کتاب های ويژه چیستیو»
دانلود رایگان کتابچه آموزش نصب ابزار داده کاوی با پایتون

این یک مثال، از داده کاوی بود، که به یادگیری نظارت شده نیز معروف است. در این جا، ناظر(همان مدیر بانک) یک مجموعه ی کم از داده ها را برای سیستم، به اصطلاح برچسب زد. یعنی مشخص کرد که کدام مشتری مطمئن و کدام مشتری نامطمئن است.

همان طور که مشاهده میکنید، یک از یک مجموعه داده(مشتری های بانک)، به یک سری دانش(به چه شخصی وام بدهیم به چه شخصی خیر) رسیدیم.

علم داده کاوی، بسیار گسترده تر از بحث مثال اینجاست. یادگیری غیرنظارت شده(خوشه بندی) یا clustering، قواعد وابستگی و… نیز زیر دسته های علم داده کاوی هستند، که از فرآیند های داده کاوی استفاده می کنند.