کوتلین زبان برنامهنویسی از نوع ایستا است که بر روی ماشین مجازی جاوا اجرا میشود. همچنین میتواند به سورس کد جاوا اسکریپت نیز کامپایل شود. اولین توسعهٔ ان از تیم برنامهنویسان JetBrains واقع در سنت پترزبورگ روسیه است (این نام از روی جزیره کوتلین در نزدیکی سنت پتربورگ میآید). کوتلین در ژانویهٔ سال ۲۰۱۲ به عنوان زبان ماه انتخاب شد. با وجود آنکه از نظر syntax با جاوا سازگار نیست، کوتلین طراحی شده تا با کد جاوا همکاری داشته باشد و متکی بر کد جاوا از کتابخانهٔ کلاس جاوا است، مانند مجموعهٔ فریم ورکها. مشابه با Pascal, Haxe, PL/SQL, F#, Go و اسکالا (بی شباهت به نحو C و زبانهای مشتق از ان مانند نیست C++, Java, C# و زبان D)، اعلامات متغیر کوتلین و پارامتر لیستها دارای نوع هستند که بعد از نام متغیر میآید (با جدا کنندهٔ کالن). مانند دیگر زبانهای مدرن مانند اسکالا و Groovy، سمی کالنها به عنوان عبارت خاتمه دهنده اختیاری هستند. در بیشتر اوقات یک خط جدید برای کامپایلر کافی است تا بتواند استنباط کند که عبارت به پایان رسیده است. در دوره آموزشی Lynda Kotlin Essential Training (2020) با آموزش کوتلین اشنا خواهید شد.
یکی از رایج ترین و پرطرفدارترین زبان هایی که برای برنامه نویسی شیء گرا و سطح بالا استفاده می شود، زبان سیشارپ (C#) است. این زبان توسط مایکروسافت و جزئی از دات نت به وجود آمد و بعداً استانداردهای ECMA و ISO را نیز در بر گرفت و یکی از ۴۴ زبان برنامه نویسی ای است که توسط زمان اجرای زبان مشترک از .NET Framework پشتیبانی میشوند و در همه جا به وسیله مایکروسافت ویژوال استودیو شناخته میشود. در واقع زبان #C، یک زبان برنامه نویسی چند الگویی و است و منظم شده مدلهای تابعی، امری، عمومی، شی گرا و جز گرا و در بستر دات نت است. در دوره آموزشی Udemy Let's Code: C# Programming Exercises for Beginners با آموزش مقدماتی تمرین برنامه نویسی سی شارپ اشنا خواهید شد.
زبان برنامهنویسی ++C (سی پلاس پلاس) یک زبان برنامهنویسی رایانهای همهمنظوره سطح بالا است که از برنامهنویسی رویهای، تجرید دادهها و برنامهنویسی شیءگرا پشتیبانی میکند، این زبان عمومی و دارای قابلیت زبانهای سطح بالا و پایین بهصورت همزمان است و از انواع داده ایستا، نوشتار آزاد، چندمدلی، برنامهنویسی ساختیافته، برنامهنویسی شیءگرا و برنامهنویسی جنریک پشتیبانی می کند. ++C به همراه جد خود C از پرطرفدارترین زبانهای برنامهنویسی تجاری هستند و کتابخانه استاندارد ++C شامل کتابخانه استاندارد C با یک سری تغییرات برای بهبود عملکرد است. همروندی در علوم رایانه در سامانههایی پیش میآید که در آنها چند پردازش محاسباتی همزمان اجرا میشوند و با یکدیگر اندرکنش دارند (ناحیه بحرانی دارند). مطالعه همروندی محدوده وسیعی از سامانهها را دربرمیگیرد، از سامانههای رایانش موازی سخت-درگیر و بسیار همزمان گرفته تا سامانههای توزیعشده ناهمزمان سست-درگیر. در دوره آموزشی O'Reilly C++ Concurrency in Action, Second Edition, Video Edition با آموزش همروندی در سی پلاس پلاس در عمل اشنا خواهید شد.
MongoDB را میتوان یکی از پرمخاطبترین پایگاههای داده موجود در جمع اعضای خانواده NoSQL دانست که بنابر برخی آمارهای جمعآوری شده، لقب پرمخاطبترین را نیز بهخود اختصاص داده است. این پایگاه داده یک مدل منعطف، پویا و سندگرا را ارائه میکند که ساختاری با خروجی بسیار بالا و قابلیت مقیاسپذیری آسان را دارا است که در پروژهها و سیستمهای کلان داده یا همان Big Data به شدت مورد نیاز است. این پایگاه داده بهدلایل مختلفی از جمله مواردی که گفته شد، در سالهای گذشته مورد استقبال فراوانی قرار گرفته و راهاندازها و کتابخانههای توسعهداده شده برای آن برای اغلب زبانهای برنامهنویسی، از جمله زبان محبوب #C در دسترس قرار گرفته است. پایگاه داده MongoDB را میتوان جزء آندسته از پایگاههای دادهای دانست که اغلب پلتفرمهای مطرح دنیا را پشتیبانی کرده و برای نصب روی لینوکس، مکینتاش، ویندوز و سولاریس بستههای نصب ارائه میکند. در دوره آموزشی Udemy MongoDB Training با آموزش مانگو دی بی اشنا خواهید شد.
یکی از مشکلاتی که توسعه دهندگان جاوااسکریپت با آن مواجه می شوند، تعدد بالای فایل های جاوااسکریپت، استایل ها و تصاویر، فونت ها و کلا asset هایی است که باید به صفحات وب شان لینک کنند. برخی مواقع تعداد این فایل ها به صدها فایل افزایش می یابد یک روش خوب برای حل مشکل، انجام باندلینگ است، ادغام و به هم وصل کردن این فایل ها باعث می شود که مرورگر فقط یک درخواست برای دریافت کلیه فایل ها ارسال و در پاسخ، یک فایل، حاوی کلیه اسکریپت ها یا استایل های مورد نظر دریافت کند. به این کار باندلینگ می گوییم. اما در فرایند باندلینگ یک نکته مهم دیگر هم وجود دارد، فایل ها و ماژول های جاوااسکریپت ممکن است که به همدیگر وابستگی داشته باشند و همچنین طبعا تاخر و تقدم قرار گیری هم مهم است. پس ما نیاز به یک ابزار باندلینگ هوشمند داریم که بتواند این وابستگی ها را به نحو مناسبی کشف و مدیریت کند. در این راستا ابزار های متعددی مانند گرانت، گالپ، uglify و ... وجود دارند که برخی از این مشکلات را حل می کنند. ما نیاز به یک ابزار کامل داریم که همه این ویژگی ها را داشته باشد. وب پک (webpack) یک ماژول باندلر قدرتمند برای برنامه های کاربردی مدرن جاوا اسکریپت است. وقتی وب پک برنامه شما را پردازش می کند، به صورت بازگشتی، یک گراف وابستگی از هر ماژولی که برنامه شما نیاز دارد، می سازد. سپس تمام آن ماژول ها را در درون فایل های باندل های کوچکی (اکثرا یک ماژول) قرار می دهد که توسط مرورگر لود می شود. در دوره آموزشی Udemy Webpack 4 in 2020: The Complete Tutorial For Beginners با آموزش کامل مقدماتی وب پک 4 اشنا خواهید شد.
DevOps که از ترکیب دو واژه انگلیسی Development (به معنای توسعه) و Operations (به معنای عملیات و اجرا) ایجاد شده، حرکت و فرهنگی است که بر همکاری و ارتباط عمیق توسعهدهندگان نرمافزار و سایر متخصصان حوزه فناوری اطلاعات (IT)، در فرایند ارایه محصول نرمافزاری تأکید میکند. این حرکت تلاش دارد تا محیطی را فراهم کند که در آن امکان ساخت، آزمایش و ارایه نرمافزار با سرعت بیشتر و با پایداری بالاتر تحقق یابد. در گذشته، بکارگیری زیرساختها و بهروزرسانی اپلیکیشنها، باعث کند شدن چرخه عمر آنها میشد. امروز که تکنولوژی رایانش ابری به سازمانها اجازه میدهد منابع را به جای چند ماه در چند دقیقه فراهم کنند، وقت آن رسیده که چرخه عمر اپلیکیشنها هم به تناسب تغییر کند. در این زمینه، DevOps میتواند کمک کند، اما تنها در صورتی که فراتر از تغییرات فرهنگی و گسترش مداوم حرکت کند. کوبرنتیس پیاده سازی جدیدی از بیش از یک دهه تجربه گوگل در اجرای نرم افزارهای سمت سرور در مقیاس بسیار بالاست که به صورت متن باز (open source) در اختیار همه قرار گرفته است. این نرم افزار وظیفه اجرا و مدیریت کانتینرها را بر روی گروهی از سرورهای موجود در یک یا چند مرکز داده ها (data center) به عهده دارد. کوبرنتیس در واقع نسل سوم از این فنآوریست که در شرکت گوگل از ابتدا به زبان گو (Go) پیاده سازی شده است. در دوره آموزشی O'Reilly Complete DevOps Gitlab and Kubernetes با آموزش کامل دوآپس گیت لب و کوبرنیتس اشنا خواهید شد.
به صورت کلی برای تست عملکرد (functional test) دو روش جعبه سفید (whitebox) و جعبه سیاه (blackbox) وجود دارد. در حالت جعبه سفید، خود برنامه نویس یک روال تست را در قالب unit test برای تک تک کلاس ها و توابع برنامه می نویسد و کد را تست می کند. ولی در حالت جعبه سیاه ما دیگر کاری با ساختار داخلی کد نداریم و فقط به سیستم ورودی لازم را میدهیم و انتظار داریم خروجی درستی به ما بدهد. یکی از بهترین ابزارهای این تست Selenium است که با این نرم افزار نه تنها می توانید تست هایی را برای هر بخش تعریف کنید، بلکه می توانید تست ها را زمان بندی کرده و به طور خودکار انجام دهید. فرض کنید وب سایت شما ۱۰۰ ویژگی مختلف دارد، شما همه ی این ۱۰۰ ویژگی را تست می کنید و وب سایتتان را منتشر میکنید. بعد از دو روز یک باگ گزارش می شود و یا میخواهید تغییر کوچکی در روند فعالیت کاربر ایجاد نمایید. آیا پس از اعمال تغییرات یا رفع باگ میخواهید دوباره همه ی آن ۱۰۰ ویژگی را تست کنید. اینجاست که سلنیوم به کمک شما می آید و همه ی تست ها را به صورت خودکار انجام می دهد. سلنیوم دو بخش اصلی به نام های سلنیوم IDE یا (selenium IDE) و سلنیوم وب درایور (selenium webdriver) دارد. سلنیوم IDE یک addon برای فایرفاکس است و پس از نصب آن می توانید آیکن آن را در کنار نوار آدرس ببینید. سلنیوم وب درایور یک کتابخانه برنامه نویسی است که برای اکثر زبان های معروف از جمله پایتون و جاوا موجود است. این کد را می توانید از سلنیوم IDE خروجی بگیرید. پس از اینکه در سلنیوم IDE ضبط دستورات تمام شد از منوی فایل روی export test case رفته و زبان مورد نظر خود را انتخاب کنید. سپس سلنیوم یک خروجی به همان زبان به شما خواهد داد. در دوره آموزشی Udemy Advanced Automation Testing Using Selenium WebDriver & Java با آموزش پیشرفته تست اتوماسیون با سلنیوم وب درایور و جاوا اشنا خواهید شد.
با نوشتن کدهای زیاد در توسعه فریمورک خودکار خداحافظی کنید و به Cucumber خوش آمد بگویید. Cucumber یک ابزار برای صنعت QA است که در حال توسعه فریمورک های تست با حداقل دانش برنامه نویسی است. این دوره به شما کمک می کند تا یک فریمورک عالی را ایجاد کنید تا بتوانید آن را برای هر تست خودکاری در Selenium، Appium و REST API اجرا کنید. در دوره آموزشی Udemy Cucumber with Java: From Beginner to Expert با آموزش مقدماتی تا پیشرفته کوکومبر با جاوا اشنا خواهید شد.
مایکروسافت اس.کیو.ال سرور یا مایکروسافت سیکول سرور ( Microsoft SQL Server) یک نرمافزار سیستم مدیریت بانکهای اطلاعاتی است که توسط شرکت مایکروسافت توسعه داده میشود. برخی از ویژگیهای این سیستم مدیریت پایگاه دادهها به این شرح است: بانک ، اطلاعاتی رابطهای، امکان استفاده از trigger, View, Stored procedure، پشتیبانی از XML، بدون محدودیت حجم و تعداد رکورد، OLAP، پشتیبانی از FullText Search برای سرعت در بازیابی اطلاعات و استفاده از زبان طبیعی در جستجوها و ... . در دوره آموزشی Udemy SQL Server Database Administration (SQL DBA) با آموزش مدیریت پایگاه داده های اس کیو ال سرور اشنا خواهید شد.
در واقع ما می توانیم از Docker به عنوان یک ماشین مجازی یاد کنیم زیرا تا حدود زیادی وقتی صحبت از Docker می شود اکثر دوستان تصورشان یک ماشین مجازی است. اما بر خلاف ماشین های مجازی که یک سیستم عامل کاملا مستقل ایجاد می کنند، Docker هیچ سیستم عامل جدیدی ایجاد نمی کند بلکه این امکان را به بسته نرم افزاری ایجاد شده می دهد که از Kernel اصلی سیستم عامل لینوکسی که بر روی آن نصب شده است استفاده کند و در زمان انتقال نیز فقط Package نرم افزاری منتقل می شود نه ماشین مجازی، در واقع Docker Engine یا موتور اصلی Docker جایگزین نرم افزار Hypervisor ما می شود و اینکار یعنی کارایی سیستم ما به شدت افزایش می یابد زیرا یک لایه واسط به نام Hypervisor حذف شده و نرم افزار بصورت مستقیم با هسته اصلی سیستم عامل کار میکند با این تفاوت که کاملا ایزوله شده است. یکی از مهمترین فاکتورهایی که Docker دارد Open Source بودن آن است. این یعنی هر کسی می تواند Docker را تهیه و سورس آن را تغییر بدهد و یک محصول جدید معرفی کند و یا اینکه قابلیت های جدیدی به آن اضافه کند که تا به حال بر روی آن وجود نداشته است. در دوره آموزشی Packt Docker, Dockerfile, and Docker-Compose (2020 Ready!) با آموزش داکر، داکرفایل و داکر کامپوزر اشنا خواهید شد.