اسکالا (Scala) یک زبان برنامهنویسی شیءگرا و تابعی است. نام اسکالا آمیزهای است از "scalable" و "language" به معنی زبان مقایسپذیر، از اهداف اصلی ایجاد زبان اسکالا، ارائه زبانی است برای تولید نرمافزار مقیاسپذیر به روشی چابک و سریع، و به دور از مشکلات مرسوم. اسکالا تلفیق زبانهای شیگرا همچون روبی و جاوا با زبانهای تابعی همچون Haskell و Erlang است. از دیدگاه چابکی و کارایی، عدهای اسکالا را جمع دو دنیای زبانهای پویا (Dynamic-Type) و ایستا (Static-Type) میدانند. یکی از دلایل دیگری که باعث مقبولیت و همچنین کارایی بالای این زبان میشود، دستور زبان (Syntax) منعطف آن است. اسکالا توسط پروفسور مارتین اودرسکی که خالق Genericهای جاوا و از برترین توسعه دهندگان کامپایلر javac است، در سال ۲۰۰۳ طراحی و به مرور توسط ایشان و جامعه اسکالا بهبود و توسعه داده شده است. در دوره آموزشی Packt Learn By Example - Scala با زبان برنامه نویسی اسکالا و ویژگی های آن همراه با مثال آشنا می شوید.
دادهکاوی (Data Mining) به مفهوم استخراج اطلاعات نهان و یا الگوها و روابط مشخص در حجم زیادی از دادهها در یک یا چند بانک اطلاعاتی بزرگ است. بسیاری از مردم داده کاوی را مترادف واژه های رایج کشف دانش از دادهها (KDD) میدانند. دادهکاوی پایگاهها و مجموعههای حجیم دادهها را در پی کشف واستخراج دانش، مورد تحلیل و کند و کاوهای ماشینی (و نیمهماشینی) قرار میدهد. این گونه مطالعات و کاوشها را به واقع میتوان همان امتداد و استمرار دانش کهن و همه جا گیر آمار دانست. تفاوت عمده در مقیاس، وسعت و گوناگونی زمینهها و کاربردها، و نیز ابعاد و اندازههای دادههای امروزین است که شیوههای ماشینی مربوط به یادگیری، مدلسازی، و آموزش را طلب مینماید. در دوره آموزشی Packt Basic Statistics and Data Mining for Data Science با آموزش آمار و داده کاوی برای علوم داده آشنا می شوید.
ماشین مجازی جاوا (Java Virtual Machine) که به صورت اختصار JVM مشخص میشود، مجموعهای از برنامههای نرمافزاری و ساختماندادههایی است که برای مدلسازی ماشینی مجازی اجرای برنامههای سایر رایانهها و اسکریپتهای دیگر سامانههاُ به کار میرود. مدلی که جیویام برای اجرا میپذیرد، شکلی از زبان میانی را اجرا مینماید. به این زبان میانی جاوا بایت کد اطلاق میگردد. این زبان میانی، به صورتی مفهومی، مجموعهای از دستوراتِ زبان برنامهنویس مبتنی به پشته و معماری قابلیت مبتنی بر امنیت است. سان، ادعا نموده که هم اکنون، ۴٫۵ میلیارد دستگاه در جهان از جیویام استفاده مینماید. یک ماشین مجازی جاوا، علاوه بر جاوا، زبانهای برنامهنویسی دیگری را هم پشتیبانی مینماید. برای مثال دستورات زبان برنامهنویسی ادا توانایی ترجمه به بایت کد و نیز اجرا در این ماشین مجازی را دارا هستند. علاوه بر شرکت سان (که شرکت توسعه دهندهٔ جاواست که البته این انحصار به شرکت اوراکل واگذار شده است)، سایر شرکتها نیز ماشینهای مجازی جاوایی را منتشر نمودهاند؛ که البته این کار تحت ویژگیهای منتشر شده توسط سان، صورت میپذیرد. همچنانکه تمام حقوق تجاری آن تحت نام جاوا و متعلق به سان است. در دوره آموزشی Packt Introduction to JVM Languages - Clojure, Kotlin, and Groovy با آموزش مقدماتی زبان های جی وی ام، کلاژور، کوتلین و گرووی آشنا می شوید.
Redux یک کتابخانه جاوا اسکریپت برای مدیریت داده های مشتری در برنامه است. شما می توانید Redux را به همراه ری اکت یا هر کتابخانه ی دیگری استفاده کنید. Redux تلاش می کند که وضعیت ها را قابل پیش بینی کند و محدودیت های خاص در چگونگی و زمان به روز رسانی وضعیت ها اعمال کند. این کمک می کند نوشتن برنامه های کاربردی که به طور مداوم تغییر می کنند، در محیط های مختلف (مشتری، سرور، و بومی) اجرا شود و به آسانی قابل درک و اشکال زدایی باشد. در دوره آموزشی Packt Performing Complex State Management with Redux با اجرای مدیریت وضعیت های پیچیده با ریداکس آشنا می شوید.
اینترنت چیزها، یا چیزنت (Internet of Things) (مخفف IoT) که گاهی در زبان انگلیسی اینترنت اشیا(Internet of Objects) هم برای این کلمه استفاده میشود، به طور کلی اشاره دارد به بسیاری از چیزها شامل اشیا و وسایل محیط پیرامونمان که به شبکه اینترنت متصل شده و بتوان توسط اپلیکیشنهای موجود در تلفنهای هوشمند و تبلت کنترل و مدیریت شوند. اینترنت چیزها به زبان ساده، ارتباط سنسورها و دستگاهها با شبکهای است که از طریق آن میتوانند با یکدیگر و با کاربرانشان تعامل کنند. این مفهوم میتواند بهسادگی ارتباط یک گوشی هوشمند با تلویزیون باشد و یا به پیچیدگی نظارت بر زیرساختهای شهری و ترافیک. از ماشین لباسشویی و یخچال گرفته تا پوشاک؛ این شبکه بسیاری از دستگاههای اطراف ما را در برمیگیرد. در دوره ی آموزشی Packt Fundamentals of IoT Security با اصول و مبانی امنیت اینترنت چیزها آشنا می شوید.
یادگیری ماشین زیر مجموعه ای از هوش مصنوعی است که موضوع آن الگوریتم های است که به رایانه ها اجازه یادگیری می دهد. در اغلب موارد یک الگوریتم به همراه مجموعه ای از داده ها و اطلاعات استنباطی درباره ویژگیهای داده است. این اطلاعات اجازه می دهند درباره داده های که در آینده خواهیم دید پیشبینی هایی داشته باشیم. این کار به این دلیل چنین کاری قابل انجام است که اغلب داده های غیر تصادفی دارای الگوهایی هستند و این الگو ها به ماشین اجازه میدهند که مشاهدات خود را عمومیت ببخشد. MATLAB یک زبان با کاربری فوق العاده برای عملیات محاسباتی است، که امکانات متعدد محاسباتی، نمایشی و برنامه نویسی را در محیطی که استفاده از آن برای کاربر آسان است ،فراهم می کند. در این محیط برای مسائل و پاسخ آنها از علائم و سمبل های آشنا ریاضی استفاده شده است. کاربردهای نوعی از این زبان ها عبارتند از: ریاضیات و محاسبات، داده یابی، آنالیز کردن اطلاعات، رسم نمودارهای علمی و مهندسی، کاربردهای پیشرفته نظیر ایجاد مبدل گرافیکی به دلخواه کاربر و غیره. در دوره آموزشی Packt Getting Started with MATLAB Machine Learning با یادگیری ماشین و ویژگی های آن همراه با پیاده سازی آن در متلب آشنا می شوید.
رمزنگاری دانشی است که به بررسی و شناختِ اصول و روشهای انتقال یا ذخیرهٔ اطلاعات به صورت امن میپردازد. رمزنگاری استفاده از تکنیکهای ریاضی، برای برقراری امنیت اطلاعات است. دراصل رمزنگاری دانش تغییر دادن متن پیام یا اطلاعات به کمک کلید رمز و با استفاده از یک الگوریتم رمز است، به صورتی که تنها شخصی که از کلید و الگوریتم مطلع است قادر به استخراج اطلاعات اصلی از اطلاعات رمز شده باشد و شخصی که از یکی یا هر دوی آنها اطلاع ندارد، نتواند به اطلاعات دسترسی پیدا کند. دانش رمزنگاری بر پایه مقدمات بسیاری از قبیل تئوری اطلاعات، نظریه اعداد و آمار بنا شدهاست و امروزه به طور خاص در علم مخابرات مورد بررسی و استفاده قرار میگیرد. معادل رمزنگاری در زبان انگلیسی کلمه Cryptography است، که برگرفته از لغات یونانی kryptos به مفهوم «محرمانه» و graphien به معنای «نوشتن» است. در دوره آموزشی Packt Cryptography with Python با رمزنگاری در پایتون و اصول آن آشنا می شوید.
iterator ها برای پیمایش در عنصرهای داخل کلاس های نگهدارنده استفاده میشوذ. مانند array و vector و list و... و کلاس های شبیه به آنها یا همان Container ها. یعنی iterator را می شود یک اشاره گر به عنصر یا شی داخل Container دانست. به گونه ای که می شود با عملگر ++ به شی بعدی و -- به شی قبلی اشاره کرد. یا با عملگر * (Dereference) می شود به شی که به آن اشاره میکند دسترسی پیدا کرد. مثلا در لیست-پیوندی اگر شما اشاره گر به شی اول را داشته باشید نمی توانید با عملگر ++ به شی بعدی بروید یا با عملگر * (Dereference) به شی دسترسی داشته باشید. ولی با iterator چنین کارهایی را می شود به راحتی انجام داد. در دوره آموزشی Packt Iterators in Functional Programming with Python با ایتریتورها در برنامه نویسی تابعی با پایتون آشنا می شوید.
راست (Rust) یک زبان برنامهنویسی ترجمه شده، عام منظوره و چند الگویی است که توسط تحقیقات موزیلا توسعه یافته است. این زبان طراحی شده است تا یک زبان مطمئن، همسو و عملی باشد که مدلهای تابعی خالص، امری-رویهای و شی گرا را پشتیبانی میکند. زبان از یک پروژه شخصی توسط توسعه دهنده Graydon Hoare به وجود آمد، که او کار بر روی آن را در سال ۲۰۰۶ آغاز کرد؛ کارفرمای او موزیلا، در سال ۲۰۰۹ درگیر این پروژه شد و رسماً آن را برای اولین بار در سال ۲۰۱۰ پرده برداری کرد. در همان سال، کار از کامپایلرهای اولیه (نوشته شده در OCaml) خود را به کامپایلر خود میزبان نوشته شده در Rust تغییر داد. چیزی که به عنوان rustc شناخته شد، با موفقیت خود را در سال ۲۰۱۱ کامپایل کرد. کامپایلر خود میزبان از LLVM به عنوان backend استفاده میکند. اولین نسخه از کامپایلر Rust، که آلفا نام گذاری شد در ژانویه ۲۰۱۲ منتشر شد. نسخه فعلی (نسخه ۰٫۸)، در سپتامبر ۲۰۱۳ منتشر شده است. Rust به طور کامل در بازخورد باز و همکاری و کمک از جامعه توسعه یافته است. طراحی این زبان از طریق تجربه حاصل از نوشتن موتور چیدمان Servo اصلاح شده و Rust خودش را کامپایل کرده است. اگر چه توسعه آن با حمایت مالی موزیلا و سامسونگ بوده است، اما یک پروژهٔ اجتماعی است. بخش بزرگی از تصدیقات نسخهٔ فعلی از اعضای جامعه است. در دوره آموزشی Packt Introduction to Rust Programming با زبان برنامه نویسی راست به صورت مقدماتی آشنا می شوید.
با پیشرفت فناوری اطلاعات نیاز به انجام کارهای محاسباتی در همه جا و همه زمان به وجود آمده است. همچنین نیاز به این هست که افراد بتوانند کارهای محاسباتی سنگین خود را بدون داشتن سختافزارها و نرمافزارهای گران، از طریق خدماتی انجام دهند. رایانش ابری (Cloud Computing) آخرین پاسخ فناوری به این نیازها بوده است. رایانش ابری مدلی است برای فراهم کردن دسترسی آسان بر اساس تقاضای کاربر از طریق شبکه به مجموعهای از منابع رایانشی قابل تغییر و پیکربندی (مثل: شبکهها، سرورها، فضای ذخیرهسازی، برنامههای کاربردی و سرویسها) که این دسترسی بتواند با کمترین نیاز به مدیریت منابع و یا نیاز به دخالت مستقیم فراهمکننده سرویس به سرعت فراهم شده یا آزاد (رها) گردد. عموماً مصرف کنندههای رایانش ابری مالک زیر ساخت فیزیکی ابر نیستند، بلکه برای اجتناب از هزینه سرمایهای آن را از عرضه کنندگان شخص ثالث اجاره میکنند. آن ها منابع را در قالب سرویس مصرف میکنند و تنها بهای منابعی که به کار میبرند را میپردازند. در دوره آموزشی Packt Learn Cloud Computing from Scratch با محاسبات ابری و ویژگی های آن آشنا می شوید.