ماشین مجازی جاوا (Java Virtual Machine) که به صورت اختصار JVM مشخص میشود، مجموعهای از برنامههای نرمافزاری و ساختماندادههایی است که برای مدلسازی ماشینی مجازی اجرای برنامههای سایر رایانهها و اسکریپتهای دیگر سامانههاُ به کار میرود. مدلی که جیویام برای اجرا میپذیرد، شکلی از زبان میانی را اجرا مینماید. به این زبان میانی جاوا بایت کد اطلاق میگردد. این زبان میانی، به صورتی مفهومی، مجموعهای از دستوراتِ زبان برنامهنویس مبتنی به پشته و معماری قابلیت مبتنی بر امنیت است. سان، ادعا نموده که هم اکنون، ۴٫۵ میلیارد دستگاه در جهان از جیویام استفاده مینماید. یک ماشین مجازی جاوا، علاوه بر جاوا، زبانهای برنامهنویسی دیگری را هم پشتیبانی مینماید. برای مثال دستورات زبان برنامهنویسی ادا توانایی ترجمه به بایت کد و نیز اجرا در این ماشین مجازی را دارا هستند. علاوه بر شرکت سان (که شرکت توسعه دهندهٔ جاواست که البته این انحصار به شرکت اوراکل واگذار شده است)، سایر شرکتها نیز ماشینهای مجازی جاوایی را منتشر نمودهاند؛ که البته این کار تحت ویژگیهای منتشر شده توسط سان، صورت میپذیرد. همچنانکه تمام حقوق تجاری آن تحت نام جاوا و متعلق به سان است. در دوره آموزشی Packt Introduction to JVM Languages - Clojure, Kotlin, and Groovy با آموزش مقدماتی زبان های جی وی ام، کلاژور، کوتلین و گرووی آشنا می شوید.
ایجاد یک اپلیکشین کامل و همه جانبه احتیاج به کامپوننت های مختلفی دارد. آنگولار جی اس یک فریم ورک تک صفحه ای برای ایجاد صفحات وب است. فریم ورک به شما این امکان را می دهد که کدهای خود را تکنیکی و بهینه بنویسید، تغییر بدهید و تنظیمات استاندارد را روی آن پیاده سازی کنید. ماژولاریتی هم یکی از مهمترین ویژگی هایی است که انگولار آن را برایتان تسهیل می کند. از ویژگی های یک Template Engine خوب این است که به شما این امکان را بدهد تا قالب هایی را با تگهای خاص html بنویسید. Entity Framework (به اختصار EF) یک فریم ورک ORM متن باز برای ADO.NET است که توسط مایکروسافت توسعه داده شده است. Entity Framework مجموعهای از تکنولوژیها در ADO .NET است که توسعه برنامه های کاربردی بر مبنای داده (data-oriented) را پشتیبانی میکند. با استفاده از این تکنولوژی، توسعهدهندگان میتوانند در سطح بالاتری از تجرد با داده ها کار کنند و به راحتی به طراحی معماری و مدل سازی برنامه های کاربردی پرداخته و با موجودیتها (Entity)، رابطهها (Association) و ... کار کنند. در واقع هدف EF در اختیار گذاشتن برخی از قابلبتهای برنامهنویسی شی گرا برای برنامهنویسان است. ای اس پی دات نت (ASP.NET) بخشی از زیر ساخت.NET مایکروسافت پرطرفدار برای طراحی و ساخت وب سایت های پویا، برنامه های تحت وب، سرویسهای وب دینامیک و سرویسهای وب ایکس ام ال (Web XML) می باشد. ای اس پی دات نت جانشینی برای تکنولوژی صفحات سرویس دهنده فعال (ASP) است. ASP مبتنی بر زبان های مشترک در حال اجرا است که به برنامه نویسان اجازه می دهد کدهای ASP را با استفاده از هر زبان Framework.NET بنویسند. در دوره آموزشی Lynda Building Applications with Angular, ASP.NET Core, and Entity Framework Core به آموزش ساخت اپ با آنگولار، ای اس پی دات نت کور و انتیتی فریم ورک می پردازیم.
Redux یک کتابخانه جاوا اسکریپت برای مدیریت داده های مشتری در برنامه است. شما می توانید Redux را به همراه ری اکت یا هر کتابخانه ی دیگری استفاده کنید. Redux تلاش می کند که وضعیت ها را قابل پیش بینی کند و محدودیت های خاص در چگونگی و زمان به روز رسانی وضعیت ها اعمال کند. این کمک می کند نوشتن برنامه های کاربردی که به طور مداوم تغییر می کنند، در محیط های مختلف (مشتری، سرور، و بومی) اجرا شود و به آسانی قابل درک و اشکال زدایی باشد. در دوره آموزشی Packt Performing Complex State Management with Redux با اجرای مدیریت وضعیت های پیچیده با ریداکس آشنا می شوید.
Ruby on Rails که اغلب به اختصار Rails یا RoR خوانده می شود؛ یک فریم ورک متن باز تحت وب برای زبان برنامه نویسی Ruby می باشد. روبی آن ریلز برگرفته از پروژه BaseCamp ساخته و توسعه یافته توسط دیوید هاینمیر هانسن بود که اوایل یک ابزار مدیریت پروژه توسط شرکت 37signals (یک شرکت تولید نرمافزارهای وب) بود. هانسن اولین نسخه متن باز روبی آن ریلز را در جولای 2004 منتشر کرد اما حق انتشار آن را تا فوریه 2005 به اشتراک نگذاشت. در آگوست ۲۰۰۶، این فریم ورک به مرحلهای رسید که اپل اعلام کرد که در سال ۲۰۰۷ روبی آن ریلز به عنوان یک فریم ورک پیشفرض در سیستمعامل "Mac OS X v10.5 "Leopard قرار خواهد گرفت. Rails 5 سریعتر است، میزان کمتری از Memory (حافظه) را اشغال می کند و ویژگی ها و توسعه های بسیار زیادی را در اختیار شما قرار می دهد تا کارایی آن بالاتر رود. در دوره آموزشی Udemy Intro To Ruby For Game Development با مفاهیم مقدماتی روبی برای توسعه بازی آشنا می شوید.
امروزه شرکت ها به CF به چشم یک ابزار بسیار مناسب می نگرند چرا که به عنوان یک لایه می تواند به فضای ابری خصوصی و عمومی IaaS کمک شایانی کند. و زمان عرضه محصول به بازار را بسیار کاهش دهد. دوره آموزشی Livelessons Cloud Foundry BOSH Fundamentals قصد دارد تا با بیانی ساده شما را با این مفهوم آشنا کند و نیز تمام مراحل آماده سازی نرم افزار برای ورود به فضای ابری را معرفی سازد. استفاده از ابزارهای مختلف نظیر Pivotal Cloud Foundry و BOSH به شما این امکان را می دهد تا فضای ابری مناسبی برای نرم افزار خود آماده کنید و نیز این قضیه به کاهش هزینه ها نیز منجر خواهد شد که بدون شک رضایت بیشتر کاربران را در خرید محصول شما در پی دارد. در قدم بعدی مباحثی مطرح خواهد شد که برنامه نویسان جاوا در تولید نرم افزار های ابری با آن مواجه هستند و نیز دلیل استفاده از PCF بیان خواهد شد. در پایان این دوره آموزشی شما با نحوه تنظیم فضای کاری برای ساخت یک سرویس ابری را فرا گرفته اید و نیز می توانید محصول خود را در CF عرضه کنید.
در واقع ما می توانیم از Docker به عنوان یک ماشین مجازی یاد کنیم زیرا تا حدود زیادی وقتی صحبت از Docker می شود اکثر دوستان تصورشان یک ماشین مجازی است. اما بر خلاف ماشین های مجازی که یک سیستم عامل کاملا مستقل ایجاد می کنند، Docker هیچ سیستم عامل جدیدی ایجاد نمی کند بلکه این امکان را به بسته نرم افزاری ایجاد شده می دهد که از Kernel اصلی سیستم عامل لینوکسی که بر روی آن نصب شده است استفاده کند و در زمان انتقال نیز فقط Package نرم افزاری منتقل می شود نه ماشین مجازی، در واقع Docker Engine یا موتور اصلی Docker جایگزین نرم افزار Hypervisor ما می شود و اینکار یعنی کارایی سیستم ما به شدت افزایش می یابد زیرا یک لایه واسط به نام Hypervisor حذف شده و نرم افزار بصورت مستقیم با هسته اصلی سیستم عامل کار میکند با این تفاوت که کاملا ایزوله شده است. یکی از مهمترین فاکتورهایی که Docker دارد Open Source بودن آن است. این یعنی هر کسی می تواند Docker را تهیه و سورس آن را تغییر بدهد و یک محصول جدید معرفی کند و یا اینکه قابلیت های جدیدی به آن اضافه کند که تا به حال بر روی آن وجود نداشته است. در دوره آموزشی Udemy Docker for DevOps: From Development to Production با داکر برای دوآپس آشنا می شوید.
یادگیری ماشین زیر مجموعه ای از هوش مصنوعی است که موضوع آن الگوریتم های است که به رایانه ها اجازه یادگیری می دهد. در اغلب موارد یک الگوریتم به همراه مجموعه ای از داده ها و اطلاعات استنباطی درباره ویژگیهای داده است. این اطلاعات اجازه می دهند درباره داده های که در آینده خواهیم دید پیشبینی هایی داشته باشیم. این کار به این دلیل چنین کاری قابل انجام است که اغلب داده های غیر تصادفی دارای الگوهایی هستند و این الگو ها به ماشین اجازه میدهند که مشاهدات خود را عمومیت ببخشد. MATLAB یک زبان با کاربری فوق العاده برای عملیات محاسباتی است، که امکانات متعدد محاسباتی، نمایشی و برنامه نویسی را در محیطی که استفاده از آن برای کاربر آسان است ،فراهم می کند. در این محیط برای مسائل و پاسخ آنها از علائم و سمبل های آشنا ریاضی استفاده شده است. کاربردهای نوعی از این زبان ها عبارتند از: ریاضیات و محاسبات، داده یابی، آنالیز کردن اطلاعات، رسم نمودارهای علمی و مهندسی، کاربردهای پیشرفته نظیر ایجاد مبدل گرافیکی به دلخواه کاربر و غیره. در دوره آموزشی Packt Getting Started with MATLAB Machine Learning با یادگیری ماشین و ویژگی های آن همراه با پیاده سازی آن در متلب آشنا می شوید.
رمزنگاری دانشی است که به بررسی و شناختِ اصول و روشهای انتقال یا ذخیرهٔ اطلاعات به صورت امن میپردازد. رمزنگاری استفاده از تکنیکهای ریاضی، برای برقراری امنیت اطلاعات است. دراصل رمزنگاری دانش تغییر دادن متن پیام یا اطلاعات به کمک کلید رمز و با استفاده از یک الگوریتم رمز است، به صورتی که تنها شخصی که از کلید و الگوریتم مطلع است قادر به استخراج اطلاعات اصلی از اطلاعات رمز شده باشد و شخصی که از یکی یا هر دوی آنها اطلاع ندارد، نتواند به اطلاعات دسترسی پیدا کند. دانش رمزنگاری بر پایه مقدمات بسیاری از قبیل تئوری اطلاعات، نظریه اعداد و آمار بنا شدهاست و امروزه به طور خاص در علم مخابرات مورد بررسی و استفاده قرار میگیرد. معادل رمزنگاری در زبان انگلیسی کلمه Cryptography است، که برگرفته از لغات یونانی kryptos به مفهوم «محرمانه» و graphien به معنای «نوشتن» است. در دوره آموزشی Packt Cryptography with Python با رمزنگاری در پایتون و اصول آن آشنا می شوید.
Reactive programming، یعنی برنامه نویسی با جریان های اطلاعات غیر همزمان. در واقع استفاده از این روش چیز جدیدی نیست، شاید ساده ترین نمونه ی آن استفاده از خاصیت OnClick باشد. کلیک کردن در واقع یک جریان (stream) است که یک متد با نظاره کردن آن، کاری را انجام میدهد (مثلا متد با مشاهده ی کلیک شدن روی یک دکمه پیغامی را نشان می دهد.) Reactive در واقع نسخه ای قدرتمند تر از ایده ی بالاست. این جریان یا stream می تواند شامل هر چیزی باشد، نه تنها خاصیت کلیک کردن بلکه شامل متغیرها، ورودی های کاربر، properties و انواع دیگری از اطلاعات. نکته ی جالب تر در مورد این جریان ها، کارهایی است که می شود روی آنها انجام داد. مثلا یک جریان را به عنوان ورودی برای جریان دیگر قرارداد و حتی از چند جریان به عنوان ورودی یکی دیگر استفاده کرد. می شود دو جریان را یکی کرد، می شود روی یک جریان فیلتر هایی را اعمال کرد و از آن جریان دیگری ساخت و یا اطلاعات را از یک جریان به جریان دیگر مپ کرد. در دوره آموزشی Lynda Reactive Java 9 با طراحی سایت واکنش گرا با جاوا 9 آشنا می شوید.
اپل هفته گذشته در جریان کنفرانس سالانه WWDC علاوه بر معرفی محصولات سخت افزاری و نرم افزاری متعدد، به توسعه دهندگان نشان داد که بالاخره در مورد هوش مصنوعی رویکرد جدی را در پیش گرفته. این کمپانی از پلتفرم جدید Cole ML رونمایی کرد که ساخت اپلیکیشن های هوشمند تری را از طریق قابلیت های یادگیری ماشین میسر می سازد. با عرضه نسخه بتای Core ML کاربران به ارزیابی آن پرداختند و نشان دادند که این سیستم هنوز به اندازه کافی باهوش نیست. در دوره آموزشی Udemy Swift 4 Language, A Complete Overview With IOS 11 CoreML App به طور کامل با زبان سوئیفت 4 و آموزش کامل اپ های کور ام ال آی او اس 11 آشنا می شوید.