در خصوص چیستی فضای سایبری،متاسفانه هنوز هیچگونه تعریف کامل و شاملی برای این فضا وجود ندارد؛اما از مجموع نظرات مطرح شده اینگونه تعریف می شود:شبکه ای متصل به هم از زیر ساخت های فناوری اطلاعات است که اینترنت،شبکه های مخابراتی،سیستم های کامپیوتری،و پردازشگرها و کنترلگرهای داخلی صنایع مهم را شامل میشود.در سند سیاست فضای سایبری آمریکا در سال 2009 این فضا به عنوان زیر ساخت جهانی و متصل به هم ارتباطات و اطلاعات دیجیتال که تقریبا زیر بنای تمامی وجوه جوامع مدرن را تشکیل میدهد تعریف شده است. این محیط در کنار زمین،هوا،دریاو فضا،تعریف جداگانه و مستقلی برای خود دارد؛به طور کلی از فضای سایبری به عنوان محیطی برای انتقال داده ها و اطلاعات یاد میشود و تنها شامل اینترنت نمیشود ؛بلکه شامل تمام شبکه ها و سیستم های ارتباطی-اطلاعاتی است؛درک تغییراتی که فناوری به میدان نبرد وارد کرده است،چالشی مستمر و پایدار است. امنیت شامل سه عنصر پایه ای است. محرمانگی، به این معنا که اگر داده هایی که در فضای سایبری در حال انتقال هستند،توسط مهاجمین خوانده شوند و محرمانه بودن آن نقض شود. یکپارچگی، اگر در حین انتقال داده ها در فضای سایبری(به عنوان مثال در یک شبکه) اطلاعات توسط مهاجمین دستکاری شده و تغییر داده شوند. در دسترس بودن، این نوع حملات با هدف خارج کردن منبع اطلاعاتی از سرویس به گونه ای که دیگر آن منبع قادر به ارائه سرویس به دیگران نبوده و نتواند تبادل اطلاعات درستی با کاربرانش داشته باشد، انجام می شود. در دوره آموزشی Lynda CySA+ Cert Prep: The Basics با آموزش امنیت سایبری همراه با سرفصل های اخذ مدرک مدرک +CySA به صورت مقدماتی آشنا می شوید.
جاوا (Java) یک زبان برنامهنویسیِ شیءگرا است که برای نخستین بار توسط جیمز گاسلینگ در شرکت سان مایکروسیستمز ایجاد گردید و در سال ۱۹۹۵ به عنوان بخشی از سکوی جاوا منتشر شد. زبان جاوا شبیه به ++C است اما مدل شیءگرایی آسانتری دارد و از قابلیتهای سطح پایین کمتری پشتیبانی میکند. یکی از قابلیتهای بنیادین جاوا این است که مدیریت حافظه را بطور خودکار انجام میدهد. ضریب اطمینان عملکرد برنامههای نوشتهشده به این زبان بالا است و وابسته به سیستمعامل خاصی نیست، به عبارت دیگر میتوان آن را روی هر رایانه با هر نوع سیستمعاملی اجرا کرد. برنامههای جاوا به صورت کدهای بیتی همگردانی (کامپایل) میشوند؛ که مانند کد ماشین هستند و به ویژه وابسته به سیستمعامل خاصی نیستند. در دوره آموزشی Udemy Complete Java programming Masterclass 2018: Zero to Mastery شما از ابتدایی ترین کارها تا پیشرفته ترین آنها در زبان برنامه نویسی جاوا آشنا می شوید.
امروزه کمتر کاربردی از تکنولوژی را می توان یافت که از یادگیری ماشین و هوش مصنوعی بهره نگرفته باشد. از شناسایی چهره گرفته تا تشخیص عیب در سیستمهای صنعتی همه و همه با به کارگیری یادگیری ماشین شاهد پیشرفتی غیر قابل وصف بوده اند. ابزارهای زیادی برای پیاده سازی روشهای متداول یادگیری ماشین ارائه شده اند که از میان آنها می توان به کتابخانه Tensorflow گوگل اشاره کرد. از لحاظ راحتی برای شروع کار کتابخانه های توسعه یافته مبنی بر SciPy مثل Scikit-learn کار را بسیار ساده تر می نماید. کتابخانه Scikit-learn که مبتنی بر SciPy است، برای کاربردهای یادگیری ماشین از جمله خوشه بندی، رگرسیون و کلاس بندی ابزار قدرتمند و در عین حال ساده ای می باشد. یادگیری استفاده از آن بسیار سریع و آسان بوده و انعطاف آن باعث می شود تا بتوان آن را در مسائل متنوعی مورد استفاده قرار داد. در دوره Packt Hands-on Scikit-learn for Machine Learning با آموزش شروع کار با سی کیت برای یادگیری ماشین آشنا خواهید شد.
جنگو (Django) یک چارچوب نرمافزاری تحت وب آزاد و متنباز است که به زبان پایتون نوشته شده است و از معماری مدل-نما-کنترلگر (Model-view-controller) پیروی میکند. جنگو اولین بار برای مدیریت صفحات خبری وبسایت شرکت Lawrence Journal-World توسعه داده شد و سپس در سال ۲۰۰۵ تحت اجازهنامه بیاسدی منتشر شد. نام جنگو از جنگو راینهارت، نوازندهٔ گیتار جاز گرفته شده است. هدف اصلی جنگو ساخت آسان سایتهای پیچیده و وابسته به دیتابیس است و بر پایهٔ قابلیت استفادهٔ مجدد و قابل اتصال بودن اجزای مختلف، توسعه ی سریع و اصل خودت را تکرار نکن (DRY) طراحی شده است. جنگو سراسر از پایتون استفاده میکند، حتی برای تنظیمات، فایلها و مدلهای اطلاعات. هروکو (Heroku) یک بستر به عنوان سرویس ابری است که از زبانهای برنامهنویسی مختلف پشتیبانی میکند. هروکو در سال ۲۰۱۰ توسط شرکت سیلزفورس خریداری شد. هروکو یکی از اولین بسترهای ابری است که از جون ۲۰۰۷ در حال توسعه است. این سرویس در ابتدا فقط از زبان برنامهنویسی روبی پیشتیبانی میکرد ولی بعداً پشتیبانی از جاوا، نود. جیاس، اسکالا، کلوژر، پایتون، پیاچپی و گو را به سرویس خود اضافه کرد. در دوره Udemy How To Push Django Python Apps To Heroku for Web Hosting به آموزش ترکیب جنگو پایتون با هروکو برای میزبانی وب می پردازیم.
Laravel یکی از فریم ورک های زبان PHP است که برای توسعه اپلیکیشن های وب در نظر گرفته شده است و بر پایه MVC کار می کند. فریم ورک لاراول، برنامه نویسی برنامه های کاربردی تحت وب با زبان PHP را سادهتر می نماید و کمک بسزایی برای انجام پروژه های PHP و توسعه آسان آنها می کند. فریم ورک Laravel بر روی اجزای مختلف فریم ورک symfony ساخته شده است و به برنامه شما پایهای بزرگ از کد های قابل اعتماد و تست شده می دهد. لاراول مجموعه ای از بهترین راه حل ها با سینتکس پر معنا و خلاقانه را ارائه میکند که به درستی انجام می پذیرند. چند ماه پیش بود که لاراول ۵.۳ انتشار یافت و حالا لاراول ۵.۴ با یکسری ویژگی های جدید و امکانات جدید که به آن اضافه شده ریلیز شد. اگرچه ما تا بحال هم به صورت پیوسته نوآوریهای فراوانی را برای این فریم ورک ارائه کردهایم، اما ۵٫۴ یکی از جالبترین نسخههایی است که تا امروز دیدهاید. لاراول نسخه 5.1 همراه با ویژگی های جدیدی معرفی شد؛ مهمترین ویژگی هایی که با این نسخه لاراول معرفی شده است اعلام رویدادها، بهبود امکانات تست و پشتیبانی از LTS است . در دوره ی آموزشی Udemy 2018 Fullstack: Laravel 5.6 With QRCodes, APIs, Android/IOS با ویژگی های جدید لاراول 5.6 برای طراحی حرفه ای بلاگ و سی ام اس آشنا می شوید.
دارت زبان برنامهنویسی است که توسط گوگل توسعه داده میشود. هدف دارت جایگزین کردن جاوااسکریپت که زبان داخلی مرورگرهای وب است است. دارت راه حلی برای مشکلات موجود در جاوا اسکریپت (بهطور مثال مشکل حافظه) است که کارایی بهتر، قابلیت استفاده سادهتر برای پروژههای بزرگ و امنیت بیشتری را فراهم میکند. گوگل همچنین بسیار تلاش دارد تا دارت را پیچیده تر بسازد و ویژگیها و قابلیتهای فراوانی به آن ببخشد. دارت زبانی برپایه کلاس، وراثت یگانه و شی گرایی است که گرامر آن شبیه زبان C بوده و دارای Interface،reified generics کلاسهای Abstract و Optional typing است. type annotationهای ایستا تأثیری بر روی سمانتیک کد در زمان اجرا ندارد. در عوض type annotation میتواند پروندههایی برای ابزارهایی مانند checkerهای ایستا و checkهای پویای در زمان اجرا را فراهم نماید. این پروژه توسط لارس بک و کسپر لاند پایهگذاری شدهاست. Flutter ابتدا توسط گوگل به عنوان یک چارچوب رابط کاربری یا همان طراحی UI برای ایجاد رابط های بومی (Native) در سیستم عامل های IOS و Android مطرح شد. Flutter با کد های موجود درون برنامه کار می کند و اغلب توسط توسعه دهندگان و سازمان ها به دلیل استفاده رایگان (Free Use) و منبع باز بودن در سراسر دنیا مورد استفاده قرار میگیرد. همچنین Flutter یک روش اصلی برای ایجاد کردن برنامه های کاربردی برای Google Fuchsia است ( Fuchsia یک سیستم عامل مبتنی بر قابلیت هایی است، که توسط گوگل ارائه شده و توسعه یافته است). اولین نسخه Flutter به نام SKY شناخته شده و در سیستم عامل اندروید مورد استفاده قرار میگیرد. در دوره آموزشی Udemy Dart and Flutter The Complete Developer's Guide با آموزش فلاتر و دارت برای ساخت اپ های آی او اس و اندروید آشنا خواهید شد.
R، یک زبان برنامهنویسی و محیط نرمافزاری برای محاسبات آماری و علم دادهها است، که بر اساس زبانهای اس و اسکیم پیادهسازی شده است. این نرمافزار متن باز، تحت اجازهنامه عمومی همگانی گنو عرضه شده و به رایگان قابل دسترس است. زبان اس بجز R، توسط شرکت Insightful، در نرمافزار تجاری اسپلاس نیز پیادهسازی شده است. اگرچه دستورات اسپلاس و R بسیار شبیه است لیکن این دو نرمافزار دارای هستههای متمایزی میباشند. R، حاوی محدودهٔ گستردهای از تکنیکهای آماری (از جمله: مدلسازی خطی و غیرخطی، آزمونهای کلاسیک آماری، تحلیل سریهای زمانی، ردهبندی، خوشهبندی و غیره) و قابلیتهای گرافیکی است. در محیط R، کدهای سی، سی++ و فورترن قابلیت اتصال و فراخوانی هنگام اجرای برنامه را دارند و کاربران خبره میتوانند توسط کدهای سی، مستقیماً اشیا R را تغییر دهند. گرچه R اغلب به منظور انجام محاسبات آماری به کار میرود، این نرمافزار قابل به کارگیری در محاسبات ماتریسی است و در این زمینه، همپای نرمافزارهایی چون اُکتاو و نسخهٔ تجاری آن متلب (MATLAB) است. R، همچنین نرمافزار قدرتمندی برای ایجاد اشکال گرافیکی و نمودارهاست. در دوره آموزشی Lynda Cleaning Bad Data in R با آموزش پاکسازی داده ای کثیف در آر آشنا می شوید.
به صورت کلی برای تست عملکرد (functional test) دو روش جعبه سفید (whitebox) و جعبه سیاه (blackbox) وجود دارد. در حالت جعبه سفید، خود برنامه نویس یک روال تست را در قالب unit test برای تک تک کلاس ها و توابع برنامه می نویسد و کد را تست می کند. ولی در حالت جعبه سیاه ما دیگر کاری با ساختار داخلی کد نداریم و فقط به سیستم ورودی لازم را میدهیم و انتظار داریم خروجی درستی به ما بدهد. یکی از بهترین ابزارهای این تست Selenium است که با این نرم افزار نه تنها می توانید تست هایی را برای هر بخش تعریف کنید، بلکه می توانید تست ها را زمان بندی کرده و به طور خودکار انجام دهید. فرض کنید وب سایت شما ۱۰۰ ویژگی مختلف دارد، شما همه ی این ۱۰۰ ویژگی را تست می کنید و وب سایتتان را منتشر میکنید. بعد از دو روز یک باگ گزارش می شود و یا میخواهید تغییر کوچکی در روند فعالیت کاربر ایجاد نمایید. آیا پس از اعمال تغییرات یا رفع باگ میخواهید دوباره همه ی آن ۱۰۰ ویژگی را تست کنید. اینجاست که سلنیوم به کمک شما می آید و همه ی تست ها را به صورت خودکار انجام می دهد. سلنیوم دو بخش اصلی به نام های سلنیوم IDE یا (selenium IDE) و سلنیوم وب درایور (selenium webdriver) دارد. سلنیوم IDE یک addon برای فایرفاکس است و پس از نصب آن می توانید آیکن آن را در کنار نوار آدرس ببینید. سلنیوم وب درایور یک کتابخانه برنامه نویسی است که برای اکثر زبان های معروف از جمله پایتون و جاوا موجود است. این کد را می توانید از سلنیوم IDE خروجی بگیرید. پس از اینکه در سلنیوم IDE ضبط دستورات تمام شد از منوی فایل روی export test case رفته و زبان مورد نظر خود را انتخاب کنید. سپس سلنیوم یک خروجی به همان زبان به شما خواهد داد. در دوره آموزشی Packt Beginning Selenium WebDriver Testing in Python به طور کامل با امکانات و ویژگی های سلنیوم وب درایور و معماری اتوماسیون تست با پایتون آشنا می شوید.
نود.جیاس (Node.js) یک چارچوب نرمافزاری ورودی/خروجی برای پایه رویداد (Event) برای موتور جاوااسکریپت V8 برای سکوهای شبه یونیکس است. Node.js به هدف این است که مشابه توئیستد (Twisted) برای پایتون، Perl Object Environment برای پرل و EventMachine برای روبی شود. Node، بر خلاف جاوااسکریپت در مرورگر اجرا نمیشود بلکه به جاوااسکریپت تحت کارساز مربوط است. Node.js برخی مشخصات CommonJS را پیاده سازی میکند. Node.js شامل یک محیط یک محیط REPL (حلقهٔ خواندن-اجرا کردن-چاپ کردن) برای آزمایش گرفتن تعاملی است. در دوره آموزشی Udemy Understanding NPM - Node.js Package Manager شما با قابلیت های اساسی و کلیدی این چارچوب نرمافزاری قدرتمند و کاربردی آشنا می شوید.
داده های عظیم، ابر داده، بزرگداده یا داده های بزرگ (Big Data) اصطلاحی است که به مجموعه داده هایی اطلاق میشود که مدیریت، کنترل و پردازش آنها فراتر از توانایی ابزارهای نرمافزاری در یک زمان قابل تحمل و مورد انتظار است. مقیاس بزرگ داده، به طور مداوم در حال رشد از محدوده چند ۱۰ ترابایت به چندین پتابایت، در یک مجموعه داده واحد است. نـمونههایی از بزرگ داده، گــزارش های وبی، سامانه های بازشناسی با امواج رادیویی، شبکههای حسگر، شبکههای اجتماعی، متون و اسناد اینترنتی، نمایههای جستجوهای اینترنتی، نجوم، مدارک پزشکی، آرشیو عکس، آرشیو ویدیو، پژوهشهای زمینشناسی و تجارت در مقیاس بزرگ هستند. هادوپ یک نرم افزار کد باز (Open source) است که برای تقسیم بندی و توزیع فایل های متمرکز به کار می رود. هادوپ تحت لیسانس آپاچی (Apache) ارائه می شود و توسط جاوا برنامه نویسی شده است. امّا هادوپ چگونه به وجود آمد؟ شرکت گوگل در پی افزایش حجم تبادل اطلاعات، به دنبال راه حلّی برای افزایش سرعت و راندمان سرورهای خود بود که سیستم توزیع (Distribution) منحصر به فردی برای خود ابداع کرد به نام GFS که مخفف Google File System بود. در پی این موفقیت، انجمن توزیع Apache به فکر گسترش این تکنولوژی در سطح وسیع تری افتاد و سیستم هادوپ به وجود آمد. هادوپ یک فریم ورک یا مجموعه ای از نرم افزارها و کتابخانه هایی است که ساز و کار پردازش حجم عظیمی از داده های توزیع شده را فراهم می کند. در واقع Hadoop را می توان به یک سیستم عامل تشبیه کرد که طراحی شده تا بتواند حجم زیادی از داده ها را بر روی ماشین های مختلف پردازش و مدیریت کند. در دوره آموزشی Udemy Bigdata and Hadoop [Scalebyte] با هادوپ و داده های حجیم آشنا می شوید.