ماشین مجازی جاوا (Java Virtual Machine) که به صورت اختصار JVM مشخص میشود، مجموعهای از برنامههای نرمافزاری و ساختماندادههایی است که برای مدلسازی ماشینی مجازی اجرای برنامههای سایر رایانهها و اسکریپتهای دیگر سامانههاُ به کار میرود. مدلی که جیویام برای اجرا میپذیرد، شکلی از زبان میانی را اجرا مینماید. به این زبان میانی جاوا بایت کد اطلاق میگردد. این زبان میانی، به صورتی مفهومی، مجموعهای از دستوراتِ زبان برنامهنویس مبتنی به پشته و معماری قابلیت مبتنی بر امنیت است. سان، ادعا نموده که هم اکنون، ۴٫۵ میلیارد دستگاه در جهان از جیویام استفاده مینماید. یک ماشین مجازی جاوا، علاوه بر جاوا، زبانهای برنامهنویسی دیگری را هم پشتیبانی مینماید. برای مثال دستورات زبان برنامهنویسی ادا توانایی ترجمه به بایت کد و نیز اجرا در این ماشین مجازی را دارا هستند. علاوه بر شرکت سان (که شرکت توسعه دهندهٔ جاواست که البته این انحصار به شرکت اوراکل واگذار شده است)، سایر شرکتها نیز ماشینهای مجازی جاوایی را منتشر نمودهاند؛ که البته این کار تحت ویژگیهای منتشر شده توسط سان، صورت میپذیرد. همچنانکه تمام حقوق تجاری آن تحت نام جاوا و متعلق به سان است. در دوره آموزشی Packt Introduction to JVM Languages - JVM, Java, Scala با آموزش مقدماتی زبان های جی وی ام، جاوا و اسکالا آشنا می شوید.
Razor یک گرامر یا سینتکس است که به شما اجازه می دهد کدهای سمت سرور (Visual basic یا #C) را در WebPage خود جایگذاری کنید. با این وجود که یک صفحه وب برای مرورگر نوشته شده است، کدهای مبتنی بر سرور می توانند محتوای پویا ایجاد کنند. وقتی صفحه وبی فراخوانی می شود، سرور کدهای سمت سرور داخل صفحه را قبل از برگرداندن صفحه به مرورگر اجرا می کند. این کدها عملیات پیچیده ای را، مانند دستیابی به پایگاه داده، انجام می دهند. Razor بر مبنای ASP.NET است، و برای ایجاد کاربردهای وب طراحی گردیده است. Razor قابلیت های علامتگذاری ASP.NET سنتی را دارد، اما استفاده از آن و یادگیری آن آسان تر است. در دوره آموزشی Lynda ASP.NET Core: Razor Pages با مفاهیم ریزور پیج در هسته ای اس پی دات نت آشنا می شوید.
کوتلین زبان برنامهنویسی از نوع ایستا است که بر روی ماشین مجازی جاوا اجرا میشود. همچنین میتواند به سورس کد جاوا اسکریپت نیز کامپایل شود. اولین توسعهٔ ان از تیم برنامهنویسان JetBrains واقع در سنت پترزبورگ روسیه است (این نام از روی جزیره کوتلین در نزدیکی سنت پتربورگ میآید). کوتلین در ژانویهٔ سال ۲۰۱۲ به عنوان زبان ماه انتخاب شد. با وجود آنکه از نظر syntax با جاوا سازگار نیست، کوتلین طراحی شده تا با کد جاوا همکاری داشته باشد و متکی بر کد جاوا از کتابخانهٔ کلاس جاوا است، مانند مجموعهٔ فریم ورکها. مشابه با Pascal, Haxe, PL/SQL, F#, Go و اسکالا (بی شباهت به نحو C و زبانهای مشتق از ان مانند نیست C++, Java, C# و زبان D)، اعلامات متغیر کوتلین و پارامتر لیستها دارای نوع هستند که بعد از نام متغیر میآید (با جدا کنندهٔ کالن). مانند دیگر زبانهای مدرن مانند اسکالا و Groovy، سمی کالنها به عنوان عبارت خاتمه دهنده اختیاری هستند. در بیشتر اوقات یک خط جدید برای کامپایلر کافی است تا بتواند استنباط کند که عبارت به پایان رسیده است. در دوره ی آموزشی Udemy Kotlin for Android: Beginner to Advanced با زبان برنامه نویسی کوتلین برای توسعه اندروید آشنا می شوید.
به عنوان یکی از شاخههای وسیع و پرکاربرد هوش مصنوعی، یادگیری ماشینی (Machine learning) به تنظیم و اکتشاف شیوهها و الگوریتمهایی میپردازد که بر اساس آنها رایانهها و سامانهها توانایی تعلٌم و یادگیری پیدا میکنند. هدف یادگیری ماشین این است که کامپیوتر (در کلیترین مفهوم آن) بتواند به تدریج و با افزایش دادهها کارایی بهتری در انجام وظیفهٔ مورد نظر پیدا کند. گسترهٔ این وظیفه میتواند از تشخیص خودکار چهره با دیدن چند نمونه از چهرهٔ مورد نظر تا فراگیری شیوهٔ گامبرداری روباتهای دوپا با دریافت سیگنال پاداش و تنبیه باشد. طیف پژوهشهایی که در یادگیری ماشینی میشود گستردهاست. در سوی نظری آن پژوهشگران بر آناند که روشهای یادگیری تازهای به وجود بیاورند و امکانپذیری و کیفیت یادگیری را برای روشهایشان مطالعه کنند و در سوی دیگر عدهای از پژوهشگران سعی میکنند روشهای یادگیری ماشینی را بر مسایل تازهای اعمال کنند. البته این طیف گسسته نیست و پژوهشهای انجامشده دارای مولفههایی از هر دو رویکرد هستند. در مجموعه دوره ی آموزشی O'Reilly AI and Machine Learning for Healthcare با مفاهیم هوش مصنوعی و یادگیری ماشین برای مراقبت های بهداشتی آشنا می شوید.
اسپرینگ (Spring) یکی از معروف ترین و پرکاربرد ترین framework های جاوایی است. این framework متن باز بوده و اولین بار در سال 2003 ارائه شده است. اسپرینگ از ابتدای ارائه تا الان تغییرات زیادی داشته و بسیار قدرتمند و معروف شده است. اسپرینگ framework قدرتمندی است که هدف اصلی آن برنامه های enterprise هستند اگرچه اسپرینگ بیشتر java EE را هدف گرفته است ولی در محیط های غیر از EE نیز می توان از آن استفاده کرد. بر خلاف تصوری که اشتباهاً در بین خیلی ها شکل گرفته است اسپرینگ برای ساخت اپلیکیشن تحت وب نیست بلکه Spring web که مبتنی بر مدل MVC بود و بیشتر به عنوان Spring MVC شناخته می شود تنها بخشی از اسپرینگ است که از آن برای ساخت برنامه های تحت وب استفاده می شود. Angular 2 با شعار یک فریم ورک برای دسکتاپ و موبایل وارد رقابت با سایر فریم ورک ها و کتابخانه های جاوااسکریپتی شد. این بار انگولار با تغییرات زیاد ضمن بهبود سرعت و کارایی یادگیری آن را نیز هیجان بخش تر و بسیار آسان تر کرده است. در دوره آموزشی Packt Spring 5.0 Core Training با توسعه وب و تمرین های آن با هسته اسپرینگ 5 آشنا می شوید.
یادگیری عمیق (Deep learning) یک زیر شاخه از یادگیری ماشینی و بر مبنای مجموعهای از الگوریتمها است که در تلاش هستند مفاهیم انتزاعی سطح بالا در دادگان را مدل نمایند که این فرایند را با استفاده از یک گراف عمیق که دارای چندین لایه پردازشی متشکل از چندین لایه تبدیلات خطی و غیر خطی هستند، مدل میکنند. به بیان دیگر پایهٔ آن بر یادگیری نمایش دانش و ویژگیها در لایههای مدل است. یک نمونه آموزشی (برای نمونه: تصویر یک گربه) میتواند به صورتهای گوناگون بسان یک بردار ریاضی پر شده از مقدار به ازای هر پیکسل و در دید کلی تر به شکل یک مجموعه از زیرشکلهای کوچکتر (نظیر اعضای صورت گربه) مدل سازی شود.کرس (Keras) یک کتابخانهٔ متنباز شبکه عصبی است که به زبان پایتون نوشته شده است و قابل است که بر روی تنسورفلو یا ثینو قابل اجرا است. این نرمافزار به منظور آزمایش کردن سریع یادگیری عمیق طراحی شده است و در طراحی آن بر روی کوچک، ماژولار و قابل گسترش بودن توجه شده است. در دوره آموزشی Livelessons Deep Learning for Natural Language Processing: Applications of Deep Neural Networks to Machine Learning Tasks با یادگیری عمیق برای پردازش زبان طبیعی: اپ های شبکه های عصبی عمیق برای فرآیندهای یادگیری ماشین آشنا می شوید.
سویفت یک زبان برنامهنویسی چند شیوهای و از نوع کامپایلری است که برای توسعهٔ iOS، macOS، watchOS و tvOS توسط شرکت اپل ساختهشده است. سویفت برای کار با فریمورکهای Cocoa و Cocoa Touch اپل و تعامل با حجم عظیمی از کدهای Objective-C نوشته شده برای محصولات اپل طراحی شده است. سویفت میخواهد جلوی خطاهای برنامهنویسی را بیشتر بگیرد و امنیت بیشتری نسبت به Objective-C داشته باشد و در عین حال نگارش مختصرتر و کوتاهتری داشته باشد. این زبان توسط کامپایلر LLVM که درون برنامهٔ Xcode قراردارد (و برای لینوکس بصورت برنامهٔ جدا در دسترس است) ساخته میشود و سپس از runtime زبان Objective-C بهره میبرد که اجازه میدهد کدهای سویفت کنار کدهای C، C++ و Objective-C در کنار هم در یک برنامه اجرا شود. در دوره ی آموزشی Lynda Swift 4 Essential Training با اصول و مباحث آخرین نسخه از زبان سوئیفت یعنی Swift 4 آشنا می شوید.
در رایانش، میکروسرویسها نوعی الگوی معماری است که در آن برنامههای پیچیده به بخشهای کوچک و مستقلی شکسته میشوند که از طریق APIهای مستقل از زبان با هم در ارتباط هستند. این سرویسها کوچک هستند و سطح بسیار خوبی از استقلال را دارند (یعنی decoupledند). به علاوه تمرکز هر یک بر روی انجام یکی از آن کارهای کوچک است. سرویسها کوچکند و به اندازهٔ کافی ریزدانه هستند (fine grained) ولی نه ریزتر به گونهای که یک هدف تجاری و کاربردی خاص را انجام میدهند. این روند شبیه فلسفهٔ Unix است که تلاش میکند که «یک چیز را انجام دهد و فقط آن را به خوبی انجام دهد». سرویسها حول قابلیتها شکل میگیرند، مثلاً در رابطه با واسط کاربری، محصولات مشابه و توصیه شده با کاربر وب، صورت حساب و ... . در دوره آموزشی Packt Getting Started with Microservices in PHP ا مایکروسرویس ها در پی اچ پی آشنا می شوید.
هم اکنون میلیون ها سایت روی شبکه جهانی اینترنت ثبت شده اند. هزاران وب سایت با موضوعات مشابه فعالیت می کنند و صدها سایت تحت عناوین مشابه مشغول رقابت با یکدیگر هستند. در این میان هرکس که به دنبال چیزی میگردد آن را با کلمه مربوطه جستجو می کند. گوگل و یاهو معروف ترین سایت های جستجوگر در اینترنت است. بهینهسازی موتور جستجو (Search engine optimization (SEO)) که گاهی در فارسی به آن سئو گفته میشود عملیاتی است که برای بهبود دید یک وبگاه یا یک صفحهٔ وب در صفحه نتایج موتورهای جستجو که میتواند طبیعی و یا الگوریتمی باشد، میگویند. این یکی از روشهای بازاریابی موتور جستجو است. به صورت کلی وبگاههایی که دارای بالاترین مکان و بیشترین تکرار در صفحهٔ نتایج موتورهای جستجو باشند، بازدیدکنندهٔ بیشتری از طریق موتورهای جستجو به دست میآورند.برای وبمسترها یکی از عوامل مهم و حیاتی بدست اوردن کاربران جدید از موتورهای جستجو و بخصوص گوگل می باشد. در دوره ی آموزشی Udemy SEO 2017: Complete SEO Training + SEO for WordPress Websites شما آموزش کامل سئو برای وردپرس آشنا می شوید.
معماری نرمافزار در واقع انتخاب یک ساختار کلی برای پیاده سازی یک پروژه نرمافزاری بر مبنای مجموعه ای از نیازهای کاربری و تجاری یک سیستم نرمافزاری است تا هم بتوان کاربردهای مورد نظر را پیاده سازی کرد و هم بتوان کیفیت نرمافزار، تولید آن و نگهداری آن را نیز بهینه کرد و سرعت بخشید. به عبارتی دیگر: معماری نرم افزار یک برنامه یا سیستم محاسباتی، ساختار یا ساختارهای آن سیستم محاسباتی است که خصوصیات قابل رویت از بیرون، عناصر و ارتباطات بین آن ها را نشان می دهد. از بدو مطرح شدن نرم افزار تاکنون ، معماری های متفاوتی بمنطور طراحی و پیاده سازی ارائه شده است. معماری های فوق از یکطرف برخاسته از امکانات و ماهیت سخت افزار ها در زمان خود و از طرف دیگر نمایانگر نوع و نگرش انتظارات طرح شده توسط کاربران است. در دوره های آموزشی O'Reilly Software Architecture Fundamentals, Second Edition شما با مفاهیم مطرح شده در زمینه معماری نرم افزار ها به صورت کاملاً کاربردی آشنا می شوید.