کوبرنتیس پیاده سازی جدیدی از بیش از یک دهه تجربه گوگل در اجرای نرم افزارهای سمت سرور در مقیاس بسیار بالاست که به صورت متن باز (open source) در اختیار همه قرار گرفته است. این نرم افزار وظیفه اجرا و مدیریت کانتینرها را بر روی گروهی از سرورهای موجود در یک یا چند مرکز داده ها (data center) به عهده دارد. کوبرنتیس در واقع نسل سوم از این فنآوریست که در شرکت گوگل از ابتدا به زبان گو (Go) پیاده سازی شده است. دو نسل قبلی آن برگ (Borg) نام داشته که پیاده سازی آن به زبان سی پلاس پلاس بوده است و گوگل همچنان از آن در محیط عملیاتی استفاده می کند. در کوبرنتیس یک یا چند کانتینر که به صورت مشترک برنامه ای کاربردی را تشکیل می دهند، به صورت واحدی جداگانه به نام پاد (pod) دسته بندی میشوند تا مدیریت و کشف (discovery) آنها آسانتر شود. مزیت کلیدی کوبرنتیس در این است که بدون نیاز به یک تیم بزرگ برای راه اندازی و نگهداری، میتوان آن را در مقیاس وسیع برای اجرای میلیاردها برنامه کاربردی به کار گرفت. از مزایای دیگر آن قابلیت اجرا بر روی بسترهای متفاوت است؛ از سرورهای یک مرکز داده های خصوصی گرفته تا سرویسهای ابری عمومی، یا حتی ترکیبی از هر دو. در دوره آموزشی Udemy Kubernetes MasterClass: Kubernetes Docker, Swarm for DevOps با آموزش تسلط بر کوبرنتس، داکر و سوارم برای دوآپس اشنا خواهید شد.
جاوااسکریپت (JavaScript) زبان برنامهنویسی اسکریپت مبتنی بر اشیاء است که توسط NetScape تولید شدهاست. جاوااسکریپت، یک زبان برنامهنویس شیءگرا و سطح بالا است که بر اساس استاندارد ECMA-262 Edition 3 نوشته شدهاست. علیرغم اشتباه عمومی، زبان جاوااسکریپت با زبان جاوا ارتباطی ندارد، اگر چه ساختار این زبان به سی پلاس پلاس(++C) و جاوا شباهت دارد؛ که این امر برای یادگیری آسان در نظر گرفته شدهاست. از همین رو دستورهای متداول مانند if, for, try..catch ,"while" و... در این زبان هم یافت میگردند. این زبان میتواند هم به صورت ساخت یافته و هم به صورت شی گرا مورد استفاده قرار گیرد. در این زبان اشیاء با اضافه شدن متدها و خصوصیات پویا به اشیاء خالی ساخته میشوند، بر خلاف جاوا. بعد از ساخته شدن یک شی به روش فوق، این شی میتواند به عنوان نمونهای برای ساخته شدن اشیاء مشابه مورد استفاده قرار گیرد. به علت این قابلیت زبان جاوااسکریپت برای ساختن نمونه از سیستم مناسب است. کاربرد گسترده این زبان در سایتها و صفحات اینترنتی است و به کمک این زبان میتوان به اشیاء داخل صفحات HTML دسترسی پیدا کرد و آنها را تغییر داد. به همین علت برای پویا نمایی در سمت کاربر، از این زبان استفاده میشود. در دوره آموزشی Udemy Learn JavaScript: Full-Stack from Scratch با آموزش کامل جاوا اسکریپت اشنا خواهید شد.
به عنوان یکی از شاخههای وسیع و پرکاربرد هوش مصنوعی، یادگیری ماشینی (Machine learning) به تنظیم و اکتشاف شیوهها و الگوریتمهایی میپردازد که بر اساس آنها رایانهها و سامانهها توانایی تعلٌم و یادگیری پیدا میکنند. هدف یادگیری ماشین این است که کامپیوتر (در کلیترین مفهوم آن) بتواند به تدریج و با افزایش دادهها کارایی بهتری در انجام وظیفهٔ مورد نظر پیدا کند. گسترهٔ این وظیفه میتواند از تشخیص خودکار چهره با دیدن چند نمونه از چهرهٔ مورد نظر تا فراگیری شیوهٔ گامبرداری روباتهای دوپا با دریافت سیگنال پاداش و تنبیه باشد. طیف پژوهشهایی که در یادگیری ماشینی میشود گستردهاست. در سوی نظری آن پژوهشگران بر آناند که روشهای یادگیری تازهای به وجود بیاورند و امکانپذیری و کیفیت یادگیری را برای روشهایشان مطالعه کنند و در سوی دیگر عدهای از پژوهشگران سعی میکنند روشهای یادگیری ماشینی را بر مسایل تازهای اعمال کنند. البته این طیف گسسته نیست و پژوهشهای انجامشده دارای مولفههایی از هر دو رویکرد هستند. در دوره آموزشی Udemy Use Machine Learning to Make Apps and AI to Detect Fraud با آموزش یادگیری ماشین برای ساخت اپ و هوش مصنوعی برای کشف تقلب اشنا خواهید شد.
AngularJS کتابخانهای برپایهی جاوااسکریپت است که به منظور تولید نرمافزارهای تحت وب توسط گوگل توسعه پیدا کرده است. ایدهی اصلی AngularJS، اضافه کردن امکاناتی به HTML است تا آن را از یک زبان نشانگذاری ساده خارج کند و ابزارهای لازم برای تولید یک نرمافزار داده محور را به سادهترین شکل ممکن فراهم نماید. امکانات متنوعی در این کتابخانه وجود دارد. ویژگی اصلی AngularJS، ایجاد ارتباط پویا میان دادههای ورودی و خروجی است. به این معنی که به سادگی میتوانید اطلاعات دریافت شده از کاربر را به صورت خودکار جمعآوری کنید، پردازش کنید، در محلهای دلخواه نمایش دهید یا به سرور بفرستید. در دوره آموزشی Pluralsight AngularJS Learning Paths - AngularJS Tutorials با آموزش کامل دوره های آنگولار جی اس اشنا خواهید شد.
وب سرویس های آمازون یا خدمات وب آمازون (Amazon Web Services) مجموعهای از خدمات وب (وب سرویس) هستند که شرکت آمازون بر روی بستر ابر خود و از طریق اینترنت به عموم عرضه میکند. این سرویس ها زیرساخت های فناوری اطلاعات را به صورت سرویسهای انعطاف پذیر به مشتریان اجاره میدهد. این سرویسها شامل سرویس های محاسباتی و رایانشی (EC2)، ذخیره سازی (S3)، تحویل محتوا، پایگاه داده، تجارت الکترونیک، پرداخت و صدور صورتحساب و موارد دیگری میشود. آمازون ارائه این خدمات به عموم را از ابتدای سال ۲۰۰۶ آغاز نمود. در دوره آموزشی Udemy Ultimate AWS Certified Solutions Architect Associate 2019 با آموزش کامل مدرک معماری وب سرویس های آمازون اشنا خواهید شد.
یادگیری تقویتی یکی از گرایشهای یادگیری ماشینی است که از روانشناسی رفتارگرایی الهام میگیرد. این روش بر رفتارهایی تمرکز دارد که ماشین باید برای بیشینه کردن پاداشش انجام دهد. این مسئله، با توجه به گستردگیاش، در زمینههای گوناگونی بررسی میشود. مانند: نظریه بازیها، نظریه کنترل، تحقیق در عملیات، نظریه اطلاعات، سامانه چندعامله، هوش ازدحامی، آمار، الگوریتم ژنتیک، بهینهسازی بر مبنای شبیهسازی. در مبحث تحقیق در عملیات و در ادبیات کنترل، حوزهای که در آن روش یادگیری تقویتی مطالعه میشود برنامهنویسی تخمینی پویای (approximate dynamic programming) خوانده میشود. این مسئله در تئوری کنترل بهینه نیز مطالعه شدهاست. البته دغدغه اصلی بیشتر مطالعات در این زمینه، اثبات وجود پاسخ بهینه و یافتن ویژگیهای آن است و به دنبال جزئیات یادگیری یا تخمین نیست. یادگیری تقویتی در اقتصاد و نظریه بازیها بیشتر به بررسی تعادلهای ایجاد شده تحت عقلانیت محدود میپردازد. در یادگیری ماشینی با توجه به این که بسیاری از الگوریتمهای یادگیری تقویتی از تکنیکهای برنامهنویسی پویا استفاده میکنند معمولاً مسئله تحت عنوان یک فرایند تصمیمگیری مارکف مدل میشود. تفاوت اصلی بین روشهای سنتی و الگوریتمهای یادگیری تقویتی این است که در یادگیری تقویتی نیازی به داشتن اطلاعات راجع به فرایند تصمیمگیری ندارد و این که این روش روی فرایندهای مارکف بسیار بزرگی کار میکند که روشهای سنتی در آنجا ناکارآمدند. در دوره آموزشی Packt Hands-on Reinforcement Learning with PyTorch با آموزش یادگیری تقویتی با پای تورچ اشنا خواهید شد.
کمپانی اپل طی کنفرانس WWDC 2016 از تازهترین نسخه سیستم عامل موبایلی خود به نام آی او اس ١٠ رونمایی کرد. به عقیده برخی تحلیلگران این بهروزرسانی، با توجه به ارائه خدمات و ویژگیهای بسیار زیادی که دارد میتواند بزرگترین بهروزرسانی تاریخ این سیستم عامل لقب گیرد. iOS 10 یک بروزرسانی بزرگ برای آیفونها و آیپدها خواهد بود. همانطور که میدانید نسخههای جدید سیستم عامل iOS ابتدا به صورت آزمایشی عرضه میشوند و سپس چند هفته بعد از آن به صورت رسمی در اختیار تمامی کاربران قرار خواهند گرفت. محیط برنامه نویسی اپل Xcode نام دارد و زبان برنامه نویسی آن Swift است. Swift 3 آخرین نسخه از زبان برنامه نویسی اپل است که مختص آی او اس 10 طراحی شده است. Xcode شامل تمام ابزار مورد نیاز برای توسعه دهندگان برای خلق اپلیکیشن هایی فوق العاده برای مک و آیفون و آیپد و اپل تیپی و اپل واچ است. Xcode قالبی یک دست برای طراحی رابط کاربری، کدنویسی، آزمایش و رفع مشکلات در اختیار توسعه دهندگان می گذارد. Xcode در کنار زبان طراحی Swift طراحی اپلیکیشن را ساده تر و جذاب تر از همیشه کرده است. Xcode 8 شامل Swift 3 و SDK هایی برای iOS 10 و watchOS 3 و tvOS 10 و macOS Sierra است. همچنین در سوئیفت 3، شاهد API ارتقا یافته برای Grand Centeral Dispatch و هسته گرافیک هستیم. در دوره آموزشی Udemy The Complete iOS 10 And Swift 3 Developer Course با آموزش کامل توسعه آی او اس 10 و سوئیفت 3 اشنا خواهید شد.
Python (پایتون) یک زبان برنامه نویسی تفسیری، داینامیک و شیءگرا می باشد که می توان از آن در محدوده وسعیی از نرم افزار ها و تکنولوژی ها بهره برد. این زبان برنامه نویسی روش های بسیار قدرتمند و حرفه ای را برای کار با زبان ها و ابزار های مختلف را با آسانی هر چه تمام تر فراهم می کند. بدین منظور این زبان دارای کتابخانه هایی بسیار گسترده می باشد که یادگیری و استفاده از آن ها در عرض چند روز ممکن می باشد. این زبان، یک زبان آزاد و متن باز (Open Source) می باشد. کد های نوشته شده در این زبان در محدوده ای وسیع از پلتفرم ها چون لینوکس، ویندوز، مک، حتی گوشی های موبایل و ... قابل اجرا می باشد . هم اکنون پایتون در شرکت ها و سازمان های بزرگی چون ناسا، گوگل، یاهو و ... به صورت گسترده مورد استفاده قرار می گیرد. نرم افزارهای Blender، Mailman، Civilization IV، BitTorrent و ... از نرم افزارهایی هستند که به وسیله این زبان خلق شده اند. در دوره آموزشی Udemy Python Programming for beginners: Quickly learn python با آموزش سریع مقدماتی برنامه نویسی پایتون اشنا خواهید شد.
به صورت کلی برای تست عملکرد (functional test) دو روش جعبه سفید (whitebox) و جعبه سیاه (blackbox) وجود دارد. در حالت جعبه سفید، خود برنامه نویس یک روال تست را در قالب unit test برای تک تک کلاس ها و توابع برنامه می نویسد و کد را تست می کند. ولی در حالت جعبه سیاه ما دیگر کاری با ساختار داخلی کد نداریم و فقط به سیستم ورودی لازم را میدهیم و انتظار داریم خروجی درستی به ما بدهد. یکی از بهترین ابزارهای این تست Selenium است که با این نرم افزار نه تنها می توانید تست هایی را برای هر بخش تعریف کنید، بلکه می توانید تست ها را زمان بندی کرده و به طور خودکار انجام دهید. فرض کنید وب سایت شما ۱۰۰ ویژگی مختلف دارد، شما همه ی این ۱۰۰ ویژگی را تست می کنید و وب سایتتان را منتشر میکنید. بعد از دو روز یک باگ گزارش می شود و یا میخواهید تغییر کوچکی در روند فعالیت کاربر ایجاد نمایید. آیا پس از اعمال تغییرات یا رفع باگ میخواهید دوباره همه ی آن ۱۰۰ ویژگی را تست کنید. اینجاست که سلنیوم به کمک شما می آید و همه ی تست ها را به صورت خودکار انجام می دهد. سلنیوم دو بخش اصلی به نام های سلنیوم IDE یا (selenium IDE) و سلنیوم وب درایور (selenium webdriver) دارد. سلنیوم IDE یک addon برای فایرفاکس است و پس از نصب آن می توانید آیکن آن را در کنار نوار آدرس ببینید. سلنیوم وب درایور یک کتابخانه برنامه نویسی است که برای اکثر زبان های معروف از جمله پایتون و جاوا موجود است. این کد را می توانید از سلنیوم IDE خروجی بگیرید. پس از اینکه در سلنیوم IDE ضبط دستورات تمام شد از منوی فایل روی export test case رفته و زبان مورد نظر خود را انتخاب کنید. سپس سلنیوم یک خروجی به همان زبان به شما خواهد داد. در دوره آموزشی Udemy Selenium WebDriver Training with Java and Many Live Projects با آموزش سلنیوم وب درایور همراه با جاوا و پروژه های مختلف اشنا خواهید شد.
اسپرینگ (Spring) یکی از معروف ترین و پرکاربرد ترین framework های جاوایی است. این framework متن باز بوده و اولین بار در سال 2003 ارائه شده است. اسپرینگ از ابتدای ارائه تا الان تغییرات زیادی داشته و بسیار قدرتمند و معروف شده است. اسپرینگ framework قدرتمندی است که هدف اصلی آن برنامه های enterprise هستند اگرچه اسپرینگ بیشتر java EE را هدف گرفته است ولی در محیط های غیر از EE نیز می توان از آن استفاده کرد. بر خلاف تصوری که اشتباهاً در بین خیلی ها شکل گرفته است اسپرینگ برای ساخت اپلیکیشن تحت وب نیست بلکه Spring web که مبتنی بر مدل MVC بود و بیشتر به عنوان Spring MVC شناخته می شود تنها بخشی از اسپرینگ است که از آن برای ساخت برنامه های تحت وب استفاده می شود. یکی از زیر مجموعه های اسپرینگ، Spring Boot می باشد. اسپرینگ بوت در طراحی اپلیکیشن هایی کاربرد دارد که به صورت تکی و بدون هیج وابستگی به نرم افزار های دیگر یا چارچوب خاصی طراحی می شوند. در دوره آموزشی Packt Spring Boot Tips, Tricks, and Techniques با آموزش ترفندها، حقه ها و تکنیک های اسپرینگ بوت اشنا خواهید شد.