به صورت کلی برای تست عملکرد (functional test) دو روش جعبه سفید (whitebox) و جعبه سیاه (blackbox) وجود دارد. در حالت جعبه سفید، خود برنامه نویس یک روال تست را در قالب unit test برای تک تک کلاس ها و توابع برنامه می نویسد و کد را تست می کند. ولی در حالت جعبه سیاه ما دیگر کاری با ساختار داخلی کد نداریم و فقط به سیستم ورودی لازم را میدهیم و انتظار داریم خروجی درستی به ما بدهد. یکی از بهترین ابزارهای این تست Selenium است که با این نرم افزار نه تنها می توانید تست هایی را برای هر بخش تعریف کنید، بلکه می توانید تست ها را زمان بندی کرده و به طور خودکار انجام دهید. فرض کنید وب سایت شما ۱۰۰ ویژگی مختلف دارد، شما همه ی این ۱۰۰ ویژگی را تست می کنید و وب سایتتان را منتشر میکنید. بعد از دو روز یک باگ گزارش می شود و یا میخواهید تغییر کوچکی در روند فعالیت کاربر ایجاد نمایید. آیا پس از اعمال تغییرات یا رفع باگ میخواهید دوباره همه ی آن ۱۰۰ ویژگی را تست کنید. اینجاست که سلنیوم به کمک شما می آید و همه ی تست ها را به صورت خودکار انجام می دهد. سلنیوم دو بخش اصلی به نام های سلنیوم IDE یا (selenium IDE) و سلنیوم وب درایور (selenium webdriver) دارد. سلنیوم IDE یک addon برای فایرفاکس است و پس از نصب آن می توانید آیکن آن را در کنار نوار آدرس ببینید. سلنیوم وب درایور یک کتابخانه برنامه نویسی است که برای اکثر زبان های معروف از جمله پایتون و جاوا موجود است. این کد را می توانید از سلنیوم IDE خروجی بگیرید. پس از اینکه در سلنیوم IDE ضبط دستورات تمام شد از منوی فایل روی export test case رفته و زبان مورد نظر خود را انتخاب کنید. سپس سلنیوم یک خروجی به همان زبان به شما خواهد داد. در دوره آموزشی Udemy Selenium WebDriver with Java -Basics to Advanced+Frameworks با آموزش مقدماتی تا پیشرفته سلنیوم وب درایور اشنا خواهید شد.
Python (پایتون) یک زبان برنامه نویسی تفسیری، داینامیک و شیءگرا می باشد که می توان از آن در محدوده وسعیی از نرم افزار ها و تکنولوژی ها بهره برد. این زبان برنامه نویسی روش های بسیار قدرتمند و حرفه ای را برای کار با زبان ها و ابزار های مختلف را با آسانی هر چه تمام تر فراهم می کند. بدین منظور این زبان دارای کتابخانه هایی بسیار گسترده می باشد که یادگیری و استفاده از آن ها در عرض چند روز ممکن می باشد. این زبان، یک زبان آزاد و متن باز (Open Source) می باشد. کد های نوشته شده در این زبان در محدوده ای وسیع از پلتفرم ها چون لینوکس، ویندوز، مک، حتی گوشی های موبایل و ... قابل اجرا می باشد . هم اکنون پایتون در شرکت ها و سازمان های بزرگی چون ناسا، گوگل، یاهو و ... به صورت گسترده مورد استفاده قرار می گیرد. نرم افزارهای Blender، Mailman، Civilization IV، BitTorrent و ... از نرم افزارهایی هستند که به وسیله این زبان خلق شده اند. در دوره آموزشی Udemy Learn and Master Python Programming با آموزش تسلط بر برنامه نویسی پایتون اشنا خواهید شد.
جاوا اسکریپت، پیاده سازی ECMA Script است (با تلفظ اکما اسکریپت) که به صورت مخفف به آن ES هم گفته میشود و ES6، در حقیقت نگارش 6 این استاندارد است که به آن ECMA Script 2015 نیز میگویند (زمان نهایی شدن استاندارد آن سال 2015 است) و از زمان ارائهی جاوا اسکریپت، بزرگترین تغییر و تحول آن نیز محسوب میگردد. با ES6 مواردی مانند کلاسها، برنامه نویسی تابعی (functional programming)، ماژولها و غیره اضافه شدهاند. در طی 2 سال آینده، تمام فریم ورکهای جدید جاوا اسکریپتی، از بوت استرپ 4 تا AngularJS 2 تا Aurelia و غیره، همگی به ES6 کوچ خواهند کرد (و این اتفاق هم اکنون در حال رخ دادن است). بنابراین به زودی بدون فراگیری و تسلط بر ES6، در حوزهی وب، بیسواد محسوب خواهید شد و فراگیری آن یک باید است. در دوره آموزشی Udemy JavaScript ES6 Course 2019: The Complete Developer's Guide با آموزش کامل جاوا اسکریپت ای اس 6 اشنا خواهید شد.
تنسورفلو (TensorFlow) یک کتابخانهٔ نرمافزاری متنباز برای یادگیری ماشین در انواع مختلف وظایف مفهومی و زبان است که در حال حاضر توسط ۵۰ تیم تحقیقاتی و محصولات مختلف گوگل از جمله بازشناسی گفتار، جیمیل، گوگل فوتوز و جستجو که بسیاری از آنها سابقاً از دیستبلیف استفاده کرده بودند، استفاده میشود. تنسورفلو در آغاز توسط تیم گوگل برین مرکز تحقیقاتی گوگل به صورت داخلی استفاده میشد ولی بعدها در ۹ نوامبر ۲۰۱۵ تحت مجوز آپاچی منتشر شد. TensorFlow نرم افزار یادگیری ماشینی گوگل است. گوگل همچنین از TensorFlow برای توسعه پروژه Magenta هم بهره گرفته که هدف ارتقای هنر ماشینی را دنبال می کند. در همین راستا گوگل یک ملودی 90 ثانیه ای پیانو منتشر کرده که کاملا توسط یک شبکه عصبی ساخته شده است. این موضوع تقریبا تصوری از کارهایی که TensorFlow قادر به انجامشان هست را برای کاربران ایجاد می کند. در دوره آموزشی Udemy TensorFlow 2.0 A Complete Guide on the Brand New TensorFlow با آموزش کامل تنسورفالو 2.0 اشنا خواهید شد.
اوپنسیوی (OpenCV) یا همان Open Computer Vision Library مجموعه ای از کتابخانههای برنامهنویسی پردازش تصویر و یادگیری ماشین است. این مجموعه بیشتر بر پردازش تصویر بی درنگ (Real Time) تمرکز دارد. در ابتدا توسط اینتل ساخته و پشتیبانی میشد و هم اکنون توسط Willow Garage و Itseez پشتیبانی میگردد. استفاده از آن با پروانه فری بیاسدی آزاد است. اوپن سی وی کتابخانهای چندسکویی است و توسط سیستم عامل های ویندوز، لینوکس، مک اواس، آی او اِس و اندروید پشتیبانی میشود. همچنین دارای رابط برنامه نویسی به زبان های سی، سی++، پایتون، جاوا و متلب است. یکی از اهداف OpenCV فراهم کردن یک زیربنای بینایی کامپیوتر با کاربرد ساده است؛ به طوری که افراد بتوانند برنامههای بینایی نسبتاً پیچیده خود را به سرعت بسازند. کتابخانه OpenCV شامل بیش از ۵۰۰ تابع پیرامون موضوعات مختلف بینایی، از بررسی محصول کارخانه گرفته تا تصویربرداری پزشکی، امنیت، واسط کاربر، تنظیم دوربین، رباتیک و بینایی دوچشمی (استریو) است. از آنجا که همواره قرابت زیادی بین بینایی کامپیوتر و یادگیری ماشین وجود اشته است، OpenCV شامل یک کتابخانه یادگیری ماشین همهمنظوره (۳MLL) نیز هست. این زیر کتابخانه، روی مباحث تشخیص الگوی آماری و دستهبندی تمرکز دارد. در دوره آموزشی Udemy OpenCV Python For Beginners Hands on Computer Vision با آموزش مقدماتی پردازش تصویر با اوپن سی وی پایتون اشنا خواهید شد.
یکی از رایج ترین و پرطرفدارترین زبان هایی که برای برنامه نویسی شیء گرا و سطح بالا استفاده می شود، زبان سیشارپ (C#) است. این زبان توسط مایکروسافت و جزئی از دات نت به وجود آمد و بعداً استانداردهای ECMA و ISO را نیز در بر گرفت و یکی از ۴۴ زبان برنامه نویسی ای است که توسط زمان اجرای زبان مشترک از .NET Framework پشتیبانی میشوند و در همه جا به وسیله مایکروسافت ویژوال استودیو شناخته میشود. در واقع زبان #C، یک زبان برنامه نویسی چند الگویی و است و منظم شده مدلهای تابعی، امری، عمومی، شی گرا و جز گرا و در بستر دات نت است. در دوره آموزشی Teamtreehouse C# Objects با آموزش اشیا در سی شارپ اشنا خواهید شد.
علم داده (Data Science)، دانشی میانرشتهای پیرامون استخراج دانش و آگاهی از مجموعهای داده و اطلاعات است. علم داده از ترکیب مباحث مختلفی به وجود آمده و بر مبانی و روشهای موجود در حوزههای مختلف علمی بنا شدهاست. تعدادی از این حوزهها عبارتند از: ریاضیات، آمار، مهندسی داده، بازشناخت الگو و... هدف این علم، استخراج مفهوم از داده و تولید محصولات دادهمحور است. کتابخانهی Pandas ساختار دادهی جدید و ابزارهایی را برای تجزیه و تحلیل کاربردی و عملی بر روی دادهها در زمینههایی چون اقتصاد، آمار، علوم اجتماعی و مهندسی فراهم نموده است. Pandas به راحتی میتواند با دادههای ناقص، کثیف و بدون برچسب کار کند (دادهها و جداولی که هم اکنون نیز در سازمانهای مختلف وجود دارد)؛ و همچنین شامل متدهایی برای تغییر شکل، ادغام و یا برش مجموعه دادهی ما است. در دوره آموزشی Udemy Master Data Analysis with Python - Essential Pandas Commands با آموزش آنالیز داده ها با پایتون و دستورات پانداس اشنا خواهید شد.
در واقع ما می توانیم از Docker به عنوان یک ماشین مجازی یاد کنیم زیرا تا حدود زیادی وقتی صحبت از Docker می شود اکثر دوستان تصورشان یک ماشین مجازی است. اما بر خلاف ماشین های مجازی که یک سیستم عامل کاملا مستقل ایجاد می کنند، Docker هیچ سیستم عامل جدیدی ایجاد نمی کند بلکه این امکان را به بسته نرم افزاری ایجاد شده می دهد که از Kernel اصلی سیستم عامل لینوکسی که بر روی آن نصب شده است استفاده کند و در زمان انتقال نیز فقط Package نرم افزاری منتقل می شود نه ماشین مجازی، در واقع Docker Engine یا موتور اصلی Docker جایگزین نرم افزار Hypervisor ما می شود و اینکار یعنی کارایی سیستم ما به شدت افزایش می یابد زیرا یک لایه واسط به نام Hypervisor حذف شده و نرم افزار بصورت مستقیم با هسته اصلی سیستم عامل کار میکند با این تفاوت که کاملا ایزوله شده است. یکی از مهمترین فاکتورهایی که Docker دارد Open Source بودن آن است. این یعنی هر کسی می تواند Docker را تهیه و سورس آن را تغییر بدهد و یک محصول جدید معرفی کند و یا اینکه قابلیت های جدیدی به آن اضافه کند که تا به حال بر روی آن وجود نداشته است. در دوره آموزشی Udemy Docker MasterClass : Docker & Swarm for DevOps با آموزش داکر و سوارم برای دوآپس اشنا خواهید شد.
هادوپ یک نرم افزار کد باز (Open source) است که برای تقسیم بندی و توزیع فایل های متمرکز به کار می رود. هادوپ تحت لیسانس آپاچی (Apache) ارائه می شود و توسط جاوا برنامه نویسی شده است. امّا هادوپ چگونه به وجود آمد؟ شرکت گوگل در پی افزایش حجم تبادل اطلاعات، به دنبال راه حلّی برای افزایش سرعت و راندمان سرورهای خود بود که سیستم توزیع (Distribution) منحصر به فردی برای خود ابداع کرد به نام GFS که مخفف Google File System بود. در پی این موفقیت، انجمن توزیع Apache به فکر گسترش این تکنولوژی در سطح وسیع تری افتاد و سیستم هادوپ به وجود آمد. هادوپ یک فریم ورک یا مجموعه ای از نرم افزارها و کتابخانه هایی است که ساز و کار پردازش حجم عظیمی از داده های توزیع شده را فراهم می کند. در واقع Hadoop را می توان به یک سیستم عامل تشبیه کرد که طراحی شده تا بتواند حجم زیادی از داده ها را بر روی ماشین های مختلف پردازش و مدیریت کند. Apache Spark، یک چارچوب محاسباتی برای داده های عظیم است. Spark از MapReduce به عنوان موتور اجرای خود، استفاده نمی کند اما بخوبی با هادوپ یکپارچه است. در واقع Spark میتواند در Yarn اجرا شود و با فرمت دادهای هادوپ و HDFS کار کند. Spark بیشتر بخاطر توانایی نگهداشتن مجموعه داده های بین کارها، در حافظه، شناخته می شود. این قابلیت Spark سبب می شود تا سریعتر از جریان کاری MapReduce معادل که مجموعه داده های همیشه از دیسک بار می شوند، عمل کند. در دوره آموزشی Udemy A Big Data Hadoop and Spark project for absolute beginners با آموزش مقدماتی بیگ دیتا هادوپ و اسپارک اشنا خواهید شد.
Gatsby را میتوان به عنوان یک پلت فرم مبتنی بر کامپوننت React و زبان پرس و جوی گراف کیوال (Graph-QL) در نظر گرفت که برای تولید سایت های ایستا کاربرد دارد. ولی این اصطلاحات به چه معنا است؟ در اصل در این پلت فرم، از برترین بخشهای کامپوننت های React، وب پک (WebPack)، React-Router و گراف کیوال و سایر ابزار ها استفاده شده تا یک تجربهی بسیار لذت بخش توسعهی وب سایت ها را در اختیار شما قرار دهد. البته نباید از این پلت فرم تنها به عنوان یک ابزار تولید کنندهی وب سایت ایستا یاد کرد. این پلت فرم را میتوان به عنوان یک چارچوب مدرنتری نسبت به یک پلت فرم سازندهی وب سایت ایستا در نظر گرفت. در دوره آموزشی Udemy Gatsby with WordPress as a headless CMS (2019) با آموزش گتس بای با وردپرس به عنوان سی ام اس اشنا خواهید شد.