ادوبی افتر افکتس سی سی (Adobe After Effects CC) به معنی افتر افکتس ابری و نسخه جدید نرم افزار ادوبی افتر افکتس، جایگزین نسخه سی اس (CS) قدیمی شده می باشد که با سی سی (Creative Cloud) نام گذاری شده است. افتر افکتس یکی از قدرتمندترین ابزارهای پویانمایی دوبعدی و جلوههای ویژهٔ سینمایی در جهان است که انقلاب وسیعی در نگرش نسبت به پویانمایی و تلویزیون پدید آورده. است. همچنین این نرمافزار هماهنگی بالایی با ادوبی فوتوشاپ و ادوبی پریمیر و ادوبی آدیشن دارد. After Effects به کاربران امکان طراحی تصاویر متحرک را با افکت های مختلف را می دهد. برای استفاده از این نرم افزار محدودیتی وجود ندارد و می توان در امور مختلف مانند فیلم، کارتون، ویدیوهای موبایل و اینترنت و ... از آن بهره مند شد. در دوره آموزشی Udemy The Beginner's Guide to After Effects با آموزش مقدماتی افترافکت اشنا خواهید شد.
Node.js یک پلتفرم کدنویسی سمت سرور است که بر پایه موتور جاوا اسکریپت مرورگر گوگل کروم کدنویسی شده است. این پلتفرم توسط رایان داهل در سال ۲۰۰۹ ایجاد شده است. بر اساس اعلان مستندات رسمی تعریف Node.Js به شکل زیر عنوان میشود. Node.js یک پلتفرم ایجاد شده بر پایه موتور جاوا اسکریپت گوگل کروم است که باعث سهولت ایجاد و مقیاسپذیری برنامههای تحت شبکه میشود. این پلتفرم از یک مدل I/O رویداد محور استفاده میکند که مسدود نشونده (non-blocking) است و همین امر باعث کاهش فشار موجود بر روی سرور و افزایش کارآیی میشود و این امر برای اجرای برنامههای مبتنی بر داده که بصورت بلادرنگ (Real-Time) بر روی سرورهای نامتمرکز استفاده میشوند بسیار مناسب است. مایکرو سرویس یک الگوی معماری نرمافزار است که برنامههای پیچیده از کنار هم نهادن پردازشهایی خرد و ناوابسته که از راه رابطهای زبان-ناآگاه با هم در پیوند هستند پدید میآیند. شرکت گوگل در کنفرانس OSCon ابزار مدیریت و استقرار مخزن متنباز خود موسوم به Kubernetes که از مدتها قبل آماده ورود به بازار شده بود را معرفی کرد. این شرکت اعلام کرد که نخستین نسخه این ابزار با نام Kubernetes۱.۰ در محیطهای تولیدی مورد استفاده قرار میگیرد. شما هر روز از این محصول استفاده میکنید، زیرا هر زمان که یکی از برنامههای گوگل از جمله جستوجوگر اینترنتی، جیمیل، Docs و... را اجرا میکنید، فناوری کانتینر گوگل موسوم به lmctfy را مورد استفاده قرار میدهید. داکر برنامه های کاربردی خود را (چه فرآیند ها و چه منابع) از طریق محفظه های لینوکسی (به عنوان مثال فضاهای نام یا دیگر ویژگی های کرنل) آرشیو می کند. قابلیت های دیگر آن از خود قطعات پروژه و اجزای آن منشا می گیرد، ویژگی هایی که همه پیچیدگی کار را با ابزارهای سطح پایین تر یا API های لینوکس که برای سیستم و مدیریت برنامه های کاربردی با توجه به امنیت فرآیندها، به کار می رود مرتفع می سازد. در دوره آموزشی Lynda Cloud Native Development with Node.js, Docker, and Kubernetes با آموزش توسعه اپ های بومی کلود با نود جی اس، داکر و کوبرنتس اشنا خواهید شد.
ساختمان دادهها یا داده ساختارها از بنیادیترین مباحث مورد نیاز جهت یادگیری و درک بسیاری از مفاهیم عمده در علوم رایانه است. سازماندادنِ دادهها به یک طریق خاص و بر پایهٔ مدل منطقی یا ریاضی که به منظور استفادهٔ بهینه از دادهها صورت میگیرد را یک داده ساختار میگویند. داده ساختارها انواع گوناگونی دارند که هر کدام مناسب برنامههای مختلفی هستند. ساختمان دادهها روشهای ذخیره دادهها در رایانه با هدف دسترسی آسانتر و بهینه تر است در حالیکه الگوریتم روشی به منظور حل مسئله به وسیله کامپیوتر است. در دوره آموزشی Udemy Introduction to Python Data Structures for beginners با آموزش مقدماتی ساختمان داده ها در پایتون اشنا خواهید شد.
به عنوان یکی از شاخههای وسیع و پرکاربرد هوش مصنوعی، یادگیری ماشینی (Machine learning) به تنظیم و اکتشاف شیوهها و الگوریتمهایی میپردازد که بر اساس آنها رایانهها و سامانهها توانایی تعلٌم و یادگیری پیدا میکنند. هدف یادگیری ماشین این است که کامپیوتر (در کلیترین مفهوم آن) بتواند به تدریج و با افزایش دادهها کارایی بهتری در انجام وظیفهٔ مورد نظر پیدا کند. گسترهٔ این وظیفه میتواند از تشخیص خودکار چهره با دیدن چند نمونه از چهرهٔ مورد نظر تا فراگیری شیوهٔ گامبرداری روباتهای دوپا با دریافت سیگنال پاداش و تنبیه باشد. طیف پژوهشهایی که در یادگیری ماشینی میشود گستردهاست. در سوی نظری آن پژوهشگران بر آناند که روشهای یادگیری تازهای به وجود بیاورند و امکانپذیری و کیفیت یادگیری را برای روشهایشان مطالعه کنند و در سوی دیگر عدهای از پژوهشگران سعی میکنند روشهای یادگیری ماشینی را بر مسایل تازهای اعمال کنند. البته این طیف گسسته نیست و پژوهشهای انجامشده دارای مولفههایی از هر دو رویکرد هستند. در دوره ی آموزشی Udemy Learn Machine Learning Maths Behind با مفاهیم یادگیری ماشین و مباحث ریاضیات در آن آشنا می شوید.
سوئیفت (Swift) یک زبان برنامهنویسی کامپایلری و چند پارادایمی است که توسط شرکت اپل برای توسعه نرمافزار بر روی بستر آیاواس و اواس ده تولید شدهاست. این زبان که در کنفرانس توسعهدهندگان اپل در سال ۲۰۱۴ معرفی شد، طراحی شده است تا جایگزینی برای زبان برنامهنویسی شیءگرای اپل یعنی Objective-C باشد. این زبان در کنار امکانات تازه سیستمعامل iOS، دست برنامهنویسان و توسعهدهندگان بزرگ و کوچک را در خلق اپلیکیشن هایی متفاوت و کاربردیتر باز می گذارد. وجه تمایز اصلی SWIFT در قابلیتی با نام playgrounds نهفته است. قابلتی که برنامه نویسها در محیط کاربری Xcode اجازه میدهد تا تیجه و حاصل کدهایشان را به صورت ریلتایم یا همزمان مشاهده کنند، درست مانند یک زبان برنامه نویسی اسکریپت! به علاوه، سوئیفت زبان برنامهنویسی سادهای است. php یک زبان پردازه نویسی است که سورس آن در اختیار عموم قرار گرفته و در سند های HTML برای اجرای توابع محاوره ای طرف سرویس دهنده مورد استفاده قرار می گیرد. این زبان در تمام سیستم عامل ها ی اصلی اجرا می شود و اساسا با لینوکس و سرویس دهنده های وب یونیکس در سرویس دهنده های ویندوز (همراه با نرم افزار های افزودنی) مورد استفاده قراز می گیرد. PHP را می توان در یک صفحه وب گنجاند و ار آن برای دستیابی به اطلاعات بانکهای اطلاعاتی و نمایش آنها استفاده کرد. انشعاب سند های HTML حاوی پردازه های PHP معمولا PHP. است. PHP پیش از این مخفف Personal Home Page بود و در نگارشهای حدید تر نیز مخفف PHP Hypertext Preprocessed است. ساختار گرامری آن نسبتا ساده و به ساختار گرامری پرل شباهت زیادی دارد، برخی از جنبه های جاوا اسکریپت و C را نیز داراست. در دوره آموزشی Udemy Full PHP & Swift. Create iOS Social App on Custom Backend با آموزش کامل پی اچ پی و سوئیفت. ساخت بک اند اپ ای او اس سفارشی شبکه اجتماعی اشنا خواهید شد.
++C یک زبان پیشرفته، شی گرا و چند منظوره است که برگرفته و توسعه یافته زبان قدرتمند C است و در اوائل دهه 1980 توسط استراس تروپ؛ دانشمند دانمارکی آزمایشگاههای بل طراحی شد. سی پلاس پلاس دارای قابلیتهای متعددی است که باعث زیبایی و انعطاف بیشتر زبان C شده است که مهمترین آنها شی گرا بودن زبان ++C است. زبان سی پلاس پلاس یک زبان سطح میانی (دارای قابلیت های زبانهای سطح بالا و پایین) است که برای طراحی و تولید هر چه بهتر برنامه های کاربردی، روش های ساخت یافته و منظمی را تدارک دیده است و در عین حال، برخورداری و پشتیبانی از قابلیت های شی گرایی از برجسته ترین ویژگی های این زبان است. برنامههای نوشته شده به زبان C در فایلی متنی با پسوند c. ذخیره میشوند. به این فایل، کد منبع (source code) گفته میشود. فایل کد منبع برای اجرا باید به زبان ماشین ترجمه شود که به اینکار ترجمه (compile) و به برنامهای که عمل ترجمه به زبان ماشین یا زبان دیگر را انجام میدهد مترجم (compiler) میگویند. در دوره آموزشی Udemy C++ in Detail: Common Idioms با آموزش اصطلاحات رایج در زبان سی پلاس پلاس آشنا می شوید.
یادگیری عمیق (Deep learning) (یادگیری ژرف ماشین، یادگیری ساختار ژرف یا یادگیری سلسله مراتبی) یک زیر شاخه از یادگیری ماشینی و بر مبنای مجموعهای از الگوریتمها است که در تلاش هستند مفاهیم انتزاعی سطح بالا در دادگان را مدل نمایند که این فرایند را با استفاده از یک گراف عمیق که دارای چندین لایه پردازشی متشکل از چندین لایه تبدیلات خطی و غیر خطی هستند، مدل میکنند. به بیان دیگر پایهٔ آن بر یادگیری نمایش دانش و ویژگیها در لایههای مدل است. یک نمونه آموزشی (برای نمونه: تصویر یک گربه) میتواند به صورتهای گوناگون بسان یک بردار ریاضی پر شده از مقدار به ازای هر پیکسل و در دید کلی تر به شکل یک مجموعه از زیرشکلهای کوچکتر (نظیر اعضای صورت گربه) مدل سازی شود. برخی از این روشهای مدل سازی سبب ساده شدن فرایند یادگیری ماشین (برای نمونه: تشخیص تصویر گربه) میشود. در یادگیری ژرف امید به جایگزینی استخراج این ویژگیهای تصویر به دست بشر (مانند اعضای گربه) با روشهای کامل خودکار بدون نظارت و نیمه نظارتی وجود دارد. انگیزهٔ نخستین در بوجود آمدن این ساختار یادگیری از راه بررسی ساختار عصبی در مغز انسان الهام گرفته شده است که در آن یاختههای عصبی با فرستادن پیام به یکدیگر درک را امکانپذیر میکنند. بسته به فرضهای گوناگون در مورد نحوهٔ اتصال این یاختههای عصبی، مدلها و ساختارهای مختلفی در این حوزه پیشنهاد و بررسی شدهاند، هرچند که این مدلها به صورت طبیعی در مغز انسان وجود ندارد و مغز انسان پیچیدگیهای بیشتری را دارا است. این مدلها نظیر شبکه عصبی عمیق، شبکه عصبی پیچیده، شبکه باور عمیق پیشرفتهای خوبی را در حوزههای پردازش زبانهای طبیعی، پردازش تصویر ایجاد کردهاند. در دوره آموزشی Packt Deep Learning with Real World Projects با آموزش یادگیری عمیق همراه با پروژه های واقعی اشنا خواهید شد.
Vue.js آمار فوق العاده ای از عملکرد، حجم نسبتا کم (نسخه دارای runtime فشرده Vue هنگام کوچک شدن و zip شدن حجمی به اندازه ۱۶ کیلوبایت دارد)، آپدیت کتابخانه های همراه خود مانند vue-router و vuex، کتابخانه مدیریت وضعیت برای Vue. را به رخ می کشد. دامنهی عملکردهای Vue.js محدود به تعریف و تغییر متغیرها و تعریف مدلها نیست. امکانات پیشرفتهتری مانند نمایش شرطی، حلقهها و کامپوننتها، از جمله ابزارهای دیگری هستند که برنامهنویسی سیستمهای پیشرفته تحت وب را به کاری آسان و سریع تبدیل میکنند. در دوره آموزشی Udemy Advanced Laravel and Vuejs - Build a Youtube clone با آموزش پیشرفته ساخت وب سایت یوتوب با لاراول و وویی جی اس اشنا خواهید شد.
اسپرینگ (Spring) یکی از معروف ترین و پرکاربرد ترین framework های جاوایی است. این framework متن باز بوده و اولین بار در سال 2003 ارائه شده است. اسپرینگ از ابتدای ارائه تا الان تغییرات زیادی داشته و بسیار قدرتمند و معروف شده است. اسپرینگ framework قدرتمندی است که هدف اصلی آن برنامه های enterprise هستند اگرچه اسپرینگ بیشتر java EE را هدف گرفته است ولی در محیط های غیر از EE نیز می توان از آن استفاده کرد. بر خلاف تصوری که اشتباهاً در بین خیلی ها شکل گرفته است اسپرینگ برای ساخت اپلیکیشن تحت وب نیست بلکه Spring web که مبتنی بر مدل MVC بود و بیشتر به عنوان Spring MVC شناخته می شود تنها بخشی از اسپرینگ است که از آن برای ساخت برنامه های تحت وب استفاده می شود. یکی از زیر مجموعه های اسپرینگ، Spring Boot می باشد. اسپرینگ بوت در طراحی اپلیکیشن هایی کاربرد دارد که به صورت تکی و بدون هیج وابستگی به نرم افزار های دیگر یا چارچوب خاصی طراحی می شوند. ری اکت (که به صورت React.js یا ReactJS نیز خوانده میشود)، یک کتابخانه متنباز جاوا اسکریپت برای ساخت رابطهای کاربری با هدف مواجه شدن با چالش آدرسدهی در توسعهٔ اپلیکیشنهای تکصفحهای است. این کتابخانه توسط فیس بوک، اینستاگرام و جامعهای از توسعهدهندهها و شرکتها نگهداری میشود. اواخر مارچ ۲۰۱۵ یک فریم ورک جدید از فیس بوک منتشر شد. یک فریم ورک که به شما اجازه میدهد با استفاده از زبان جاوا اسکریپت و کتابخانه React اپلیکیشن موبایل بسازید. فعلا فقط برای iOS ولی بزودی برای Android هم توسعه داده می شود. در دوره آموزشی Packt Go Full Stack with Spring Boot and React با آموزش کامل اسپرینگ بوت و ری اکت اشنا خواهید شد.
به صورت کلی برای تست عملکرد (functional test) دو روش جعبه سفید (whitebox) و جعبه سیاه (blackbox) وجود دارد. در حالت جعبه سفید، خود برنامه نویس یک روال تست را در قالب unit test برای تک تک کلاس ها و توابع برنامه می نویسد و کد را تست می کند. ولی در حالت جعبه سیاه ما دیگر کاری با ساختار داخلی کد نداریم و فقط به سیستم ورودی لازم را میدهیم و انتظار داریم خروجی درستی به ما بدهد. یکی از بهترین ابزارهای این تست Selenium است که با این نرم افزار نه تنها می توانید تست هایی را برای هر بخش تعریف کنید، بلکه می توانید تست ها را زمان بندی کرده و به طور خودکار انجام دهید. فرض کنید وب سایت شما ۱۰۰ ویژگی مختلف دارد، شما همه ی این ۱۰۰ ویژگی را تست می کنید و وب سایتتان را منتشر میکنید. بعد از دو روز یک باگ گزارش می شود و یا میخواهید تغییر کوچکی در روند فعالیت کاربر ایجاد نمایید. آیا پس از اعمال تغییرات یا رفع باگ میخواهید دوباره همه ی آن ۱۰۰ ویژگی را تست کنید. اینجاست که سلنیوم به کمک شما می آید و همه ی تست ها را به صورت خودکار انجام می دهد. سلنیوم دو بخش اصلی به نام های سلنیوم IDE یا (selenium IDE) و سلنیوم وب درایور (selenium webdriver) دارد. سلنیوم IDE یک addon برای فایرفاکس است و پس از نصب آن می توانید آیکن آن را در کنار نوار آدرس ببینید. سلنیوم وب درایور یک کتابخانه برنامه نویسی است که برای اکثر زبان های معروف از جمله پایتون و جاوا موجود است. این کد را می توانید از سلنیوم IDE خروجی بگیرید. پس از اینکه در سلنیوم IDE ضبط دستورات تمام شد از منوی فایل روی export test case رفته و زبان مورد نظر خود را انتخاب کنید. سپس سلنیوم یک خروجی به همان زبان به شما خواهد داد. در دوره آموزشی Udemy Master Selenium WebDriver with Java با آموزش تسلط بر سلنیوم وب درایور با جاوا اشنا خواهید شد.