Author: 7szni7bjkhrb

  • NinjaBotCore

    NinjaBot

    NinjaBot

    Build status License: MIT

    NinjaBot is a Discord bot written in C#.

    Its primary focus was to help out guilds in World of Warcraft. I will be shifting to more administrative / Discord tasks for the time being as I am no longer actively playing World of Warcraft.

    This project has been an awesome way for me to learn C#, feel free to toss in a pull request if there’s a better way to do something!

    10.2.x updates coming soon

    Getting Started

    The first thing you’ll need to do is invite the bot to your server. It will need permissions to read and post messages at the very minimum. If you wish to use NinjaBot to assist with admin tasks (kicking/banning users, message management, etc), please use this link.

    Slash commands

    This bot is now using slash commands, be sure to use the updated invites above to invite it to your discord server. If it is already on your server, you may need to ensure users can use the commands:

    Go to Server Settings → Integrations, and then 'Manage' (next to NinjaBot).
    

    There are a limited number of classic WoW commands now available. You can associate your guild, and watch/get logs from Warcraft logs. Currently there is no way to get classic armory or guild information via the API, and I’ll be watching to see when/if things get added!

    More information on the bot and getting started here.

    Associating your guild (Retail WoW)

    Associating a WoW guild with your Discord server allows you to use the Warcraft Logs watching command, as well as some autocomplete features for guild member names when using various WoW commands.

    To associate your guild with NinjaBot, use the following command:

    /setguild realmName, guildName, region
    

    Here are some examples of using the command:

    US (also the default if no region is specified)

    /setguild Blackwater Raiders, Raiders of the Lost Ark, us
    

    EU

    /setguild Silvermoon, Rome in a Day, eu
    

    RU

    /setguild Ревущий фьорд, Порейдим месяц, ru
    

    Associating your guild (Classic WoW)

    To associate your classic WoW guild with NinjaBot, use the following command:

    /setclassicguild "guild name" "realm" "region"
    

    Valid regions: US, EU, KR, TW, and CN

    NinjaBot will associate what you enter as the guild attached to your server. That data will then be used to watch / retrieve logs from Warcraft Logs.

    Example:

    US (also the default if no region is specified)

    /setclassicguild "Disorder" "Rattlegore"
    

    WoW Commands

    Warcraft Logs Auto Log Poster (Retail and Classic)

    To use the auto log poster, use this command in the channel you want them automatically posted to:

    /watchlogs
    

    You can use the same exact command to disable the auto log posting, and then use it again to enable it (in the channel you want them posted to).

    Warcraft Logs Last Three Logs

    To get the last three of your guild’s logs, use:

    /logs
    

    Warcraft Logs Last Three Logs (Classic WoW)

    To get the last three of your guild’s logs, use:

    /logsclassic
    

    World of Warcraft Commands

    Raider.IO Player Information Lookup

    Command Help:

    /rio
    

    Try to find character (first in guild, then best guess)

    /rio characterName
    

    Long form version to try to find someone not in the same region

    /rio characterName realmName region(us or eu)
    

    Raider.IO Guild Information

    /ginfo
    

    Server Enhancement Commands

    NinjaBot can greet people joining the server, and notify the server when someone leaves. The messages the bot uses are customizable.

    Greetings:

    In the channel you’d like to have the greetings in (this will either enable or disable, as a toggle):

    /toggle-greetings
    

    If greetings are enabled, and you’d like to set a different channel to handle leaving/parting messages, use (in the channel you want it to be):

    /set-parting-channel
    

    When setting greetings, you can use emojis the bot has access to. For example, you can use 😂, and it will translate to 😂.

    If you’d like to link to a specific channel, you’d use:

    Please check out this channel for information: <#channel-id-here>
    

    (to get the ID, just right click a text channel and click “Copy Channel ID“)

    To change the greeting message, use:

    /set-join-message
    

    To change the leaving/parting message, use:

    /set-part-message 
    

    Server wide note

    Server members with kick permissions and above can set a server wide note via:

    /set-note
    

    Anyone in the server can retrieve the note via:

    /get-note
    

    (note: updating the website in the mere future!) Visit the NinjaBot website for more information.

    Help!

    If you’re having trouble using any of the WoW commands, the first thing to try is re-associating your WoW guild with your Discord server. If that doesn’t help, check out the following resources below:

    Discord Chat

    NinjaBot Website

    Feel free to open an issue here for any bugs or problems you come across!

    Enjoy.

    Visit original content creator repository https://github.com/gngrninja/NinjaBotCore
  • LearningDevOpsUkraine

    LearningDevOpsUkraine

    Доброго всім дня.

    Це невеличкий конспект з допомоги тим, хто хоче вивчати DevOps у 2023 році.

    Матеріали тут зустрічаються трьома мовами – українською, англійською та мовою країни-загарбника. На жаль, зовсім без останніх обійтися було неможливо, бо для новачків такі пояснення нерідко є зрозумілішими, особливо коли рівень англійської вдосконалюється по ходу справи. Але, як сказав класик, і чужому навчайтесь, і свого не цурайтесь.

    Перелік не є закінченим. Доповнення і зауваження дуже вітаються.

    Також дякую телеграм-спільноті https://t.me/DevOpsMarathon та її очільнику – @edemus, телеграм-спільноті DevOps Geeks та україномовному каналу DevOps 01.

    Never give up!

    Taste IT!

    alt text

    Table of Contents

    Roadmaps

    Цей розділ присвячено роадмапам для зручності навчання та самопідготовки.

    Name URL Description Meta
    90DaysOfDevOps github.com/MichaelCade/90DaysOfDevOps The most famous roadmap for newbies DevOps-engineers Git Secrets
    Another DevOps Roadmap github.com/milanm/DevOps-Roadmap Another detailed DevOps roadmap Git Secrets
    DevOps-Roadmap github.com/devopshobbies/devops-roadmap DevOps Roadmap by Ahmadali Bagheri (free resourses included) Git Secrets
    Become A DevOps Engineer in 2023 devopscube.com Simple and nice roadmap
    DevOps Roadmap roadmap.sh/devops FOR NEWBIE! Step by step guide for DevOps, SRE or any other Operations Role
    DevOps Roadmap roadmap.sh Step by step guide for DevOps, SRE or any other Operations Role in 2023
    DevOps Roadmap techworld-with-nana.com Step by step guide outlining the most efficient path to become a DevOps engineer by TechWorld with Nana
    Learn to Cloud learntocloud.guide Skills you need to learn to get into Cloud Computing
    From Zero to DevOps Engineer – DevOps Roadmap for YOUR specific background YouTube Roadmap in a video
    Как стать DevOps Инженером с Нуля, что учить и в каком порядке YouTube Roadmap in a video

    Resourses

    Цей розділ містить посилання на корисні ресурси для DevOps-інженерів.

    Name URL Description Meta
    Ukrainian IT Communities github.com/nikit0ns/Ukrainian_IT_Communities#-devops Українські DevOps коммʼюніті і не тільки Git Secrets

    Computer Science Guide

    Name URL Description Meta
    TeachYourselfCS-UK github.com/babieiev/TeachYourselfCS-UK/ Збірник-посібник для самостійного фундаментального вивчення компʼютерних наук Git Secrets
    TeachYourselfCS-EN github.com/ossu/computer-science The same in English Git Secrets
    CS50 YouTube Основы программирования: Легендарный Гарвардский курс CS50 (2015 – old but gold) ru

    Courses

    Вказані добірки курсів та платформ зазвичай платні, якщо не зазначено інше (безкоштовні навчальні матеріали розміщені у відповідних розділах).

    Name URL Description Language
    Ресурси для вивчення DevOps-теми dou.ua Підбірка ресурсів для вивчення DevOps від DOU UA
    ITSkills4U itskills4u.com.ua FREE! Developed by AWS, the program includes AWS Cloud training programs and certification, English and Polish language classes, mentorship, and access to job opportunities EN
    StanfordOnline edx.org FREE! online courses from Stanford University EN
    Become A DevOps Engineer in 2023: A Practical Roadmap devopscube.com Strong recommended roadmap with FREE courses EN
    Cantrill acloud.guru Paid online courses from Cantrill EN
    A Cloud Guru acloud.guru Paid online courses from A Cloud Guru EN
    KodeKloud kodekloud.com Paid online courses from KodeKloud EN
    O’Reilly oreilly.com Paid online courses from O’Reilly EN
    CBT Nuggets cbtnuggets.com Paid online courses from CBT Nuggets – a lot of trainings EN
    Educative Accelerates Developer Productivity educative.io Paid online courses on programming, cloud computing, data Science, machine Learning (no video, only practice) EN

    Youtube

    Name URL Description Language
    DevOps01 Youtube DevOps курси украінською мовою UA
    DOU DevOps Youtube Корисні підкасти DOU DevOps спільноти UA
    CatOps Youtube Корисні підкасти CatOps спільноти UA
    Денис Васильєв Youtube Senior про DevOps UA
    DataArt Online Youtube Плейлист про DevOps від DataArt Online UA
    AWS User Group Ukraine Lviv Youtube Канал із записами мітапів львівського AWS ком’юніті UA
    Tech World with Nana YouTube Really needed materials about all DevOps hard-skills EN
    NetworkChuck YouTube CCNA, CompTIA A+, CompTIA Network+ EN
    Just me and Opensource YouTube A lot of trainings of DevOps tools, nice and full Kubernetes guide EN
    DevOpsLearnEasy YouTube Not just any course but a training that explains concepts from the absolute basics to the complex ones EN
    Курсы: Школа DevOps v.1.0 YouTube Старенькі, але базові курси по основам DevOps ru
    Лекторий по SRE YouTube Відеокурс по SRE DevOpsʼу для прокачки досвіду ru

    Github

    Name URL Description Meta
    DevOps Bash Tools github.com/HariSekhon/DevOps-Bash-tools Scripts for many popular DevOps technologies Git Secrets
    DevOps resources github.com/bregman-arie/devops-resources This repository is about gathering any useful resources and information regarding DevOps Git Secrets
    How They DevOps github.com/bregman-arie/howtheydevops A curated collection of publicly available resources on how companies around the world practice DevOps Git Secrets
    DevOps exercises github.com/bregman-arie/devops-exercises This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE Git Secrets
    Free DevOps Books github.com/rootusercop/Free-DevOps-Books-1 This is a curated collection of free DevOps eBooks available on the Internet Git Secrets
    Awesome Site Reliability Engineering github.com/dastergon/awesome-sre A curated list of awesome Site Reliability and Production Engineering resources Git Secrets
    SRE Learning Platform github.com/ViktorUJ/cks An open-source hub designed to help IT engineers effectively prepare for the CKA, CKS, and CKAD exams Git Secrets
    Test your Sysadmin skills github.com/trimstray/test-your-sysadmin-skills This project contains 284 test questions and answers that can be used as a test your knowledge or during an interview such as Linux/Networks Git Secrets
    DevOps-Bash-tools github.com/HariSekhon/DevOps-Bash-tools Scripts for many popular DevOps technologies Git Secrets
    Coding Interview University github.com/jwasham/coding-interview-university A short to-do list of study topics for becoming a software engineer (useful for your coding skills) Git Secrets

    Labs / Trainings

    Trainings

    Name URL Description Language
    Kllr shll killer.sh Linux Foundation Exam Simulators (Linux & Kubernetes Exam Prep) EN

    Coding

    Тренажери для прокачки скілу програмування будь-якою мовою.

    Name URL Description Language
    LeetCode leetcode.com The best platform to help you enhance your skills, expand your knowledge and prepare for technical interviews EN
    Codewars codewars.com Improve your development skills by training with your peers on code kata that continuously challenge and push your coding practice EN
    CodingDrills codingdrills.com Practice your coding skills with Ada, your personal AI tutor EN

    Git

    Матеріали для ознайомлення з системою контролю версій Git (VCS).

    Name URL Description Language
    Git, GitHub, & GitHub Desktop for beginners Youtube Step by step guide for DevOps, SRE or any other Operations Role in 2023 EN
    Course: Git for Beginners Youtube Git for Beginners short guide EN
    Скринкаст по Git Youtube Основні функції Git ru
    Основы Git, GitHub и GitHub Actions Youtube Курс по Git, GitHub та GitHub Actions ru
    GitHub Actions Tutorial Youtube GitHub Actions Tutorial from TechWorld with Nana EN
    Git для розподіленої розробки програмного забезпечення prometheus.org.ua Базовий Git від The Linux Foundation UA
    Git Tutorial for Beginners w3schools.com Git простими словами для початківців EN
    Pro Git book. Підручник git-scm.com Основи Git. Підручник UA
    The Git Community Book uleming.github.io Добрі матеріали по Git у вигляді документації ru
    Конспект з Git githowto Гарно структурований конспект-задачник UA
    Інтерактивний тренажер з Git learngitbranching.js.org Гарний тренажер-задачник з Git EN/UA

    Linux

    Розділ для вдосконалення знань з Linux – для новачків та не тільки.

    Name URL Description Language
    Уроки Linux для начинающих Youtube Гайд для початківців від Гоші Дударя ru
    Linux Essentials Youtube Підготовка віртуальної машини для роботи з Linux від Кирила Сємаєва ru
    Hacker School Linux Youtube Курс для початківців Linux від Hacker School ru
    ADV-IT Linux для Начинающих Youtube Курс для початківців з Linux від ADV-IT ru
    ADV-IT Linux НЕ для Начинающих Youtube Курс для поглиблення знань з Linux від ADV-IT ru
    LPIC-1 (exam 101) Youtube Підготовка до екзамену LPIC-1 (exam 101) від Кирила Сємаєва ru
    LPIC-2 (exam 201) Youtube Підготовка до екзамену LPIC-2 (exam 201) від Кирила Сємаєва ru
    Server. Linux. Системы и решения Youtube Поглиблені та специфічні теми з Linux від RomNero ru
    Into the Terminal (Red Hat Enterprise Linux) Youtube Critical Administration Skills for Red Hat Enterprise Linux EN
    Linux Operating System — Crash Course for Beginners Youtube Learn the basics of the Linux Operating System in this crash course for beginners (in 3 hours) EN
    Основи Linux prometheus.org.ua Базовий Linux від The Linux Foundation UA
    The Linux Basic Course Youtube All beginners should know for system administration, cloud infrastructure, DevOps, programming EN
    Linux Fundamentals coursera.org Basic part of the Learning Linux for LFCA Certification Specialization EN
    Linux Essentials learning.lpi.org Basic part of the Learning Linux for LPIC Professional Certification track EN

    Networking

    Розділ для вивчення та повторення компʼютерних мереж.

    Name URL Description Language
    Компьютерные сети, учебный курс Youtube Курс для початківців по мережам від Андрія Созикіна ru
    Компьютерные сети. Продвинутые темы Youtube Курс для поглиблення знань по мережам від Андрія Созикіна ru
    Практики по компьютерным сетям Youtube Детальне вивчення протоколів від Андрія Созикіна ru
    Защищенные сетевые протоколы Youtube TLS, SSl, HTTPS від Андрія Созикіна ru
    Лекции по курсу Компьютерные сети Youtube Лекції Артема Береснева по курсу Компʼютерні мережі ru
    Курсы Cisco CCNA 200-301 Youtube ч.1 Cisco CCNA p.1 ru
    Курсы Cisco CCNA 200-301 Youtube ч.2 Cisco CCNA p.2 ru
    Уроки Cisco. От простого к интересному Youtube Курс для початківців по Cisco ru
    Уроки Cisco Packet Tracer Youtube Курс для початківців по Cisco Packet Tracer ru
    CompTIA Network+ N10-007 Training Course Youtube CompTIA Network+ N10-007 Exam Prep EN
    Computer Networks Neso Academy Youtube Fundamental Network course EN
    Computer Networks Youtube OS-based Network course from Neso Academy EN
    Computer Networking Course – Network Engineering Youtube CompTIA Network+ Exam Prep from freeCodeCamp.org EN
    Free CCNA 200-301 – Complete Course 2023 Youtube CompTIA Network+ Exam Prep from Jeremy’s IT Lab EN
    Cisco Networking Academy – Networking Basics skillsforall.com Basic Network course EN
    Network Fundamentals Course educative.io Practical Network course EN
    Free CCNA Course – the most complete guide ictshore.com Complete CCNA guide (text) EN
    Tech Fundamentals cantrill.io Foundational technical knowledge you need to succeed in the tech industry EN

    CI/CD

    CI/CD та які тулзи у ньому використовуються.

    Name URL Description Language
    DevOps Big Picture (On-Premises) itnext.io An overview of DevOps best practices and tools for on-premises environments EN
    DevOps Prerequisites Course – Getting started with DevOps Youtube The course covers the basic prerequisites knowledge needed for your journey into the Cloud and DevOps world EN
    Курсы: CICD (сентябрь 2020) Youtube Старенький курс, але для розуміння, що таке CI/CD підійде ru
    CI/CD intro Youtube Введення у CI/CD від DevOps01 UA
    Що робити після того, як програма написана? Практичний погляд на SDLC, CI/CD, DevOps для початківців Youtube Невеликий огляд (не курс!), що таке CI/CD UA
    DevOps Tools Periodic Table digital.ai The Periodic Table of DevOps Tools EN
    DevOps Project Examples devopsrealtime.com DevOps project Examples EN
    Cognitiveclass.ai cognitiveclass.ai DevOps project small Guides EN

    Ansible

    Name URL Description Language
    Ansible Youtube Курс з Ansible від ADV-IT ru
    Основы Ansible 2.9 для сетевых инженеров Youtube Непоганий курс з Ansible для початківців ru
    Practical DevOps: Ansible Youtube Курс з Ansible від DevOps01 UA
    Ansible 101 Youtube Ansible 101 introduces Ansible for Linux server administration by Jeff Geerling EN

    Jenkins

    Name URL Description Language
    Jenkins – Автоматизация CI/CD Youtube Курс по Jenkins від ADV-IT ru

    Gitlab

    Name URL Description Language
    GitLab CI/CD Youtube Маленький курс по Gitlab від RomNero ru
    GitLab CI CD Tutorial for Beginners [Crash Course] Youtube 1-hour video building a complete GitLab CI/CD pipeline by TechWorldwithNan EN

    Infrastructure as code

    Розділ для тих, хто починає працювати з інструментами для Infrastructure as Code.

    Name URL Description Language
    Terraform Youtube Terraform доступно від ADV-IT ru
    Practical DevOps: Terraform 01 Youtube Terraform для початківців від DevOps01 UA
    Terraform – From Zero to Certified Professional Youtube Terraform – From Zero to Certified Professional від ADV-IT EN
    Terraform-The-Hard-Way github.com/AdminTurnedDevOps This tutorial contains a full explanation of how to use Terraform in today’s world EN
    Awesome Terraform github.com/shuaibiyy/awesome-terraform A curated list of resources on HashiCorp’s Terraform EN

    Containerization

    Розділ з лінками на ресурси по контейнеризації та оркеструванню.

    Name URL Description Language
    Containerization intro Youtube Вступ до розуміння контейнеризації від DevOps01 UA
    Containers deep dive Youtube Поглиблення у контейнеризацію від DevOps01 UA
    Containerisation best practices Youtube Best practices по контейнеризації від DevOps01 UA

    Docker

    Name URL Description Language
    Контейнеризація та основи роботи з Docker Youtube Докер все-в-одному відео UA
    Dev.DevOps: Docker Youtube Докер для початківців ru
    Docker контейнеризация оркестрация контейнеров Youtube Розгляди цікавих питань по Docker ru
    Docker – Всё что нужно знать чтобы начать работать с Docker, все основы в одном уроке Youtube Docker доступно від ADV-IT ru
    Docker – Полный курс Docker Для Начинающих Youtube Гарний курс для початківців від Богдана Сташука ru
    ZDay by Zfort: Docker Youtube База для початківців від Дениса Прісухина ru
    DevOps with Docker devopswithdocker.com Containers for Beginners EN
    Docker Crash Course for Absolute Beginners Youtube Docker Crash Course from TechWorld with Nana EN
    Play with Docker Classroom training.play-with-docker.com Mix of labs and tutorials that will help Docker users, including SysAdmins, IT Pros, and Developers EN
    Docker Fundamentals learn.cantrill.io This course is designed to provide a comprehensive introduction to the world of Docker and containerization EN

    Kubernetes

    Name URL Description Language
    Kubernetes Roadmap roadmap.sh Kubernetes Roadmap EN
    Kubernetes и его кубики Youtube Базове відео по Kubernetes ru
    Kubernetes Уроки Youtube Непоганий курс для новачків по Kubernetes ru
    Kubernetes Youtube Kubernetes від ADV-IT ru
    Kubernetes Уроки Youtube Лист з уроками для початківців ru
    Открытая вечерняя школа. Kubernetes для разработчиков Youtube Корисний великий плейлист для початківців ru
    Kubernetes Tutorial for Beginners [FULL COURSE in 4 Hours] Youtube Big Beginners Kubernetes course EN
    Kubernetes [FULL COURSE in 10 Hours] Youtube Kubernetes Tutorial is ideal for both beginners as well as professionals who want to master the fundamentals of Kubernetes EN
    Основи Kubernetes prometheus.org.ua Базовий Kubernetes від The Linux Foundation UA
    DevOps with Kubernetes devopswithkubernetes.com Introduction to Kubernetes practices EN
    Introduction to Kubernetes edx.org Big Kubernetes course EN
    Just enough kubernetes to be dangerous udemy.com Learn Kubernetes basics by practicing it EN
    Kubernetes trainings kube.academy Mini Kubernetes trainings by KubeAcademy EN
    Play with Kubernetes labs.play-with-k8s.com Kubernetes stand for labs EN
    Kubernetes CheatSheet minikube.sigs.k8s.io MiniKube CheatSheets EN
    Fast-Kubernetes github.com/omerbsezer Kubernetes with LABs: Kubectl, Pod, Deployment, Service, PV, PVC, Rollout, Multicontainer, Daemonset, Taint-Toleration, Job, Ingress, Kubeadm, Helm EN
    100 Days Of Kubernetes 100daysofkubernetes.io 100 Days of Kubernetes is the challenge in which we aim to learn something new related to Kubernetes each day across 100 Days EN
    Fast Kubernetes github.com/omerbsezer This repo covers Kubernetes with LABs: Kubectl, Pod, Deployment, Service, PV, PVC, Rollout, Multicontainer, Daemonset, Taint-Toleration, Job, Ingress, Kubeadm, Helm, etc. EN
    kubernetes-examples github.com/AdminTurnedDevOps This repo contains a bunch of Kubernetes examples EN
    Kubernetes The Hard Way github.com/kelseyhightower This tutorial walks you through setting up Kubernetes the hard way EN
    Meshery meshery.io A self-service engineering platform and open source cloud native manager that enables the design and management of all Kubernetes-based infrastructure and applications (multi-cloud). EN
    Kanvas kanvas.new A collaborative visual tool for designing and managing infrastructure, streamlining the process of planning and operating your digital architecture. EN

    Clouds

    Розділ для вивчення хмарних середовищ і де їх шукати.

    Name URL Description Language
    Learn to Cloud learntocloud.guide Skills you need to learn to get into Cloud Computing EN

    AWS

    Name URL Description Language
    AWS LEARNING PATH AWS Learning Path by AWS EN
    AWS Youtube Дуже великий курс по AWS від ADV-IT ru
    The Best AWS Cloud Projects To Get You Hired (For Beginners) Youtube 3 beginner-friendly AWS Cloud Projects you can start building today! EN
    A Cloud Guru – Intro to AWS educative.io Practical AWS course EN
    Udemy – AWS IAM – The easy explanation udemy.com Understand AWS IAM concepts like Authentication, Authorization, User, Groups, Roles and Policies EN
    101 Days of DevOps 101daysofdevops.com Free course for learning AWS and Kubernetets EN

    Microsoft Azure

    Name URL Description Language
    Azure DevOps Roadmap learn.microsoft.com Learning Path by Microsoft EN
    Getting Started with Cloud Computing using Microsoft Azure [Free Udemy] Udemy Free course for learning Microsoft Azure EN
    Getting Started with Azure [Coursera Free Course] Coursera Coursera course to learn the basics of the Microsoft Azure platform online EN

    Google Cloud Platform

    Name URL Description Language
    Professional Cloud DevOps Engineer Certification Google Cloud Google Cloud Certification EN
    Google Cloud Youtube Курс по Google Cloud Platform ADV-IT ru
    Google Cloud Platform for Beginners Youtube Beginners tutorial on Google Cloud Platform EN
    Google Cloud Platform Full Course Youtube GCP tutorial, AWS vs GCP, GCP web hosting, Google cloud ML, GCP fundamentals, Google Cloud Platform Fundamentals (CP100A) Certification Training EN

    Programming and Scripting

    Розділ для вивчення програмування та автоматизації всього, що рухається.

    Bash

    Name URL Description Language
    Bash Scripting Full Course 3 Hours Youtube Bash Boot Camp Course EN
    Course: Beginners Guide to the Terminal (Bash) Youtube Big Bash Scripting Course EN
    Bash Scripting Tutorial ryanstutorials.net Big Bash Scripting Practical Tutorial EN
    Шпаргалка по bash github.com/cyberspacedk/BASH-Commands Шпаргалка базових команд Git Bash, терміналу OSX, терміналу linux ru
    pure bash bible github.com/dylanaraps/pure-bash-bible A collection of pure bash alternatives to external processes EN

    Games for Bash learning

    Name URL Description Language
    Linux CLI Text Processing Exercises github.com/learnbyexample This TUI application includes 60+ questions to test your CLI text processing skills EN
    bashcrawl gitlab.com/slackermedia Learn Linux commands by playing a simple text adventure EN
    Terminus web.mit.edu Awesome Linux quest EN
    The Command Line Murders github.com/gannonk08 Awesome Linux detective EN
    Bandit overthewire.org Awesome hacker game EN

    Powershell

    Name URL Description Language
    Командная оболочка PowerShell Youtube Навчальний курс “Командная оболочка PowerShell: путь к силе” ru
    All things Microsoft PowerShell Youtube Everything you need to know to get started with PowerShell EN

    Python

    Name URL Description Language
    ADV-IT Python для Начинающих Youtube Курс для знайомства з Python від ADV-IT ru
    ADV-IT Python для НЕ Начинающих Youtube Курс для продовження вивчення Python від ADV-IT ru
    Python Hub Studio Youtube Непогані відео по Python та ООП ru
    PythonToday Youtube Відео по Python, Linux та Pentesting ru
    Python. Уровень 1. Базовый курс Youtube Добре структурований курс по основам Python ru
    Python для сетевых инженеров Youtube Дуже корисний великий курс ru
    Алгоритмы и структуры данных на Python 3 Youtube Гарний курс по алгоритмам від Тимофія Хірʼянова ru
    Python for Beginners Youtube Python for Beginners from Microsoft Developer EN
    More Python for Beginners Youtube Python for Beginners from Microsoft Developer p.2 EN
    Even More Python for Beginners: Data Tools Youtube Python for Beginners from Microsoft Developer p.3 EN
    The Last Algorithms Course You’ll Need frontendmasters.com Super fun, beginner-friendly data structures and algorithms course EN
    “Поколение Python”: курс для начинающих stepik.org Курс-тренажер, допомагає вивчити Python на практиці ru
    Futurecoder futurecoder.io Interactive Python training course EN
    learnpython learnpython.org Interactive Python tutorial EN
    Learn Python 2 codecademy.com Interactive Python training course EN
    Python від NIX Education education.nixsolutions.com Безкоштовний курс по Python від NIX Solutions UA/EN
    PythonNoobs github.com/PythonNoobs/python_developer Велика збірка ресурсів для навчання ru
    Comprehensive Python Cheatsheet github.com/gto76 Useful and nice Python cheatsheet EN
    The Algorithms – Python github.com/TheAlgorithms/Python All algorithms implemented in Python – for education EN

    Go

    Name URL Description Language
    Основи Golang Youtube Прикольний мінікурс про основи Go UA
    Изучаем Golang Youtube Курс по Go для новачків ru
    Изучаем Go Youtube Додатковий міні-курс по Go з конкретними прикладами ru
    Разработка & Язык Go Youtube Курс по Go від Максима Жашкевича ru
    Курс разработчика Golang Youtube Курс по Go від Uproger ru
    Golang від NIX Education education.nixsolutions.com Безкоштовний курс по Go від NIX Solutions UA/EN
    Golang бесплатный курс с нуля stepik.org Дуже простий базовий курс з GO ru
    A Tour of Go go.dev Practical self-studying GO course EN
    Введение в программирование на Go github.com/maxpoletaev/golang-book Книга для навчання програмування мовою Go ru
    gopherlings github.com/soypat Learn Go by fixing tiny incorrect programs EN
    The Algorithms – Go github.com/TheAlgorithms/Go All algorithms implemented in Go – for education EN

    Rust

    Name URL Description Language
    Rust – язык программирования с нуля Youtube Курс по Rust для новачків ru
    Rust Lang Lessons Youtube Уроки по Rust для новачків ru

    SQL

    Name URL Description Language
    SQL Tutorial – Full Database Course for Beginners Youtube Курс по SQL для новачків ru
    Learn SQL – Codecademy codecademy.com Уроки по SQL для новачків ru

    Monitoring

    Name URL Description Language
    DevOps monitoring Youtube Курс по Grafana ru
    Prometheus: быстрый старт Youtube Базове введення у Prometheus ru
    Мониторинг кластера Kubernetes. Вечерняя школа Слёрма по Kubernetes Youtube Відео з прикладами Prometheus+Grafana ru
    Сбор метрик Spring Boot приложения Prometheus + Grafana Youtube Відео з прикладами Prometheus+Grafana ru
    Prometheus и PromQL — основы сбора метрик Youtube Велике відео з прикладами Prometheus+PromQL ru
    Prometheus + Grafana. Настраиваем 4 golden signals Youtube Опис базових підходів до моніторингу (RED, USE, 4 golden signals) ru
    Организация мониторинга с помощью Grafana stack Youtube Сетап Loki та Tempo. Визуалізація логів і трейсів у Grafana ru

    DevSecOps

    Розділ з вивчення побудови безпечного CI/CD знаходиться тут.

    Interview

    Самопідготовка та селф-чекінг.

    Name URL Description Language
    Девопс и Поиск Работы в IT Youtube Плейлист з порадами з проходження інтервʼю від ADV-IT ru
    Пошук роботи в ІТ. Як ефективно подаватись на вакансії. Проходимо рекрутмент-фільтр Youtube Випуск про те, як ефективно подаватись на вакансії, як пройти рекрутмент-фільтр UA
    Прямий ефір: технічне інтерв’ю DevOps-джуніора Youtube Питання, які можуть бути задані на технічній співбесіді на рівні джуніора UA
    Співбесіда з DevOps. 300+ запитань для Junior, Middle, Senior dou.ua Великий матеріал з питаннями для самопідготовки UA
    Preparing for a DevOps Engineer Interview: A Comprehensive Guide dev.to Really useful manual for a DevOps Engineer Interview EN
    SRE/DevOps Interview Questions — Linux Troubleshooting awstip.com Troubleshooting questions for a DevOps/SRE Engineer Interview EN

    English

    London is the capital of Great Britain.

    Name URL Description Language
    IT English Youtube Безкоштовний курс з англійської для програмістів та QA EN/UA
    TECH English Youtube Ще один безкоштовний курс з англійської для програмістів та QA EN/UA
    Английский для айтишников Youtube І ще один безкоштовний курс з англійської для програмістів (доповнюється) EN/ru
    Visit original content creator repository https://github.com/allozavrr/LearningDevOpsUkraine
  • FontAwesomeIronIconset

    Build Status Javadoc

    Iconset based on FontAwesome

    Integration of FontAwesome and vaadin-icon for Vaadin 10+

    Versions

    • Version 1.0.4 (based on FontAwesome 5.11.2) is compatible with Vaadin 10-13 and Vaadin 14 in bower mode.
    • Version 2.2.2 (based on FontAwesome 5.15.4) is compatible with Vaadin 14-23 in npm mode.
    • Version 3.2.x (based on the latest version of FontAwesome 6, using polymer iron-icon) is compatible with Vaadin 14-23 in npm mode.
    • Version 4.4.x (based on the latest version of FontAwesome 6, using vaadin-icon) is compatible with Vaadin 23.
    • Version 5.2.x (based on the latest version of FontAwesome 6, using vaadin-icon) is compatible with Vaadin 24.

    For details on which version of FontAwesome is used by each release of this addon, see the Release Notes

    If you want to use Font Awesome Pro icons with this addon, see here

    Online demo

    Online demo here

    Download release

    Available in Vaadin Directory

    Available in npm.js (since 2.1.0)

    Maven install

    Add the following dependencies in your pom.xml file:

    <dependency>
       <groupId>com.flowingcode.addons</groupId>
       <artifactId>font-awesome-iron-iconset</artifactId>
       <version>X.Y.Z</version>
    </dependency>
    <repository>
       <id>vaadin-addons</id>
       <url>https://maven.vaadin.com/vaadin-addons</url>
    </repository>

    For SNAPSHOT versions see here.

    Building and running demo

    • git clone repository
    • mvn clean install jetty:run

    To see the demo, navigate to http://localhost:8080/

    Issue tracking

    The issues for this add-on are tracked on its github.com page. All bug reports and feature requests are appreciated.

    Contributions

    Contributions are welcome, but there are no guarantees that they are accepted as such.

    As first step, please refer to our Development Conventions page to find information about Conventional Commits & Code Style requeriments.

    Then, follow these steps for creating a contribution:

    • Fork this project.
    • Create an issue to this project about the contribution (bug or feature) if there is no such issue about it already. Try to keep the scope minimal.
    • Develop and test the fix or functionality carefully. Only include minimum amount of code needed to fix the issue.
    • For commit message, use Conventional Commits to describe your change.
    • Send a pull request for the original project.
    • Comment on the original issue that you have implemented a fix for it.

    License & Author

    This add-on is distributed under Apache License 2.0. For license terms, see LICENSE.txt.

    FontAwesomeIronIconset Addon is written by Flowing Code S.A.

    Font Awesome Free 5.13.0 by @fontawesome is distributed under CC BY 4.0 license. For license terms see THIRD-PARTY.txt

    Developer Guide

    Using the icons

    • Use the create method from the enum type, for instantiating a new Icon component based on that icon. There is an enum type for each font family (solid, regular and brands)
    add(new Button("SAVE", FontAwesome.Solid.SAVE.create()));
    
    • You can also use the enumerated value for obtaining the qualified icon name (e.g. fas:plane-departure), that can be set in the icon attribute of the vaadin-icon element. This can be helpful if you are writing a template renderer, such as:
    	grid.addColumn(LitRenderer.<Flight>of(
    	   "<vaadin-icon icon='"+FontAwesome.Solid.PLANE_DEPARTURE+"'></vaadin-icon>${item.takeoff_time}"
    	).withProperty("takeoff_time", Flight::getTakeOffTime));
    

    In this latter case, you’ll need to import the corresponding iconset:

    @Uses(FontAwesome.Solid.Icon.class)
    
    • Use in a Lit or Polymer template:
    import '@vaadin/vaadin-icon/vaadin-icon.js';
    import '@flowingcode/font-awesome-iron-iconset/fab.js';
    
    <vaadin-icon icon="fab:font-awesome" style="width: 48px; height: 48px"></vaadin-icon>
    

    Special configuration when using Spring

    By default, Vaadin Flow only includes com/vaadin/flow/component to be always scanned for UI components and views. For this reason, the addon might need to be whitelisted in order to display correctly.

    To do so, just add com.flowingcode to the vaadin.whitelisted-packages property in src/main/resources/application.properties, like:

    vaadin.whitelisted-packages = com.vaadin,org.vaadin,dev.hilla,com.flowingcode

    More information on Spring whitelisted configuration here.

    Integration with Font Awesome Pro

    Because of Font Awesome Pro license terms, the Pro icons cannot published as part of an open source addon. However, if you have a Font Awesome Pro license, you can recompile this addon in order to embed the Pro Icons.

    This process will:

    • Update the enumerations so that they define constants for the additional Pro Icons
    • Create new enumerations for the Ligth and Duotone icon families.
    • Embed the Pro Icons as vaadin-iconset.

    The JAR created in this way will include a copy of the Font Awesome Pro icons, thus it will be subject to the Font Awesome Pro restrictions. You’ll need to install it locally or make it available from your internal artifact repository.

    1. Checkout a copy of this project: git clone git@github.com:FlowingCode/FontAwesomeIronIconset.git
    2. Download Font Awesome Pro SVG sprites into src/main/sprites OR Font Awesome Pro SVG icons into /src/main/icons (/src/main/icons/solid, /src/main/icons/regular, etc.)
    3. Modify the groupId, artifactId and version in the pom.xml file.
    4. Modify the following properties in the pom.xml file:
    <fontawesome.version>Pro 5.13.1</fontawesome.version>
    <project.build.generatedResources>${project.basedir}/src/main/resources/META-INF/resources/frontend</project.build.generatedResources>
    <codegen.sprites>${project.basedir}/src/main/sprites</codegen.sprites>
    <codegen.skipDownload>true</codegen.skipDownload>
    <codegen.embedded>true</codegen.embedded>
    
    1. Execute mvn -Pgenerate clean package. The code generation process will use the sprites provided in /src/main/sprites/ (it will not check out Font Awesome Free), and resources will be embedded in the JAR file instead of being available as npm dependencies (the properties npm.package and npm.version will be ignored).

    If you want to import the JS iconset from a Polymer Template when using the integration with Font Awesome Pro, the js module is
    @vaadin/flow-frontend/font-awesome-iron-iconset/fab.js instead of @flowingcode/font-awesome-iron-iconset/fab.js (you’ll need to execute the mvn vaadin:prepare-frontend on your project in order to extract the module from the JAR file).

    Duotone styling is based on CSS variables (--fa-primary-color, --fa-primary-opacity, --fa-secondary-color, and --fa-secondary-opacity) that are applied to the <duotone-icon>. When importing the iconset from a Polymer Template, you’ll also need @vaadin/flow-frontend/font-awesome-duotone/duotone.js in addition to @vaadin/flow-frontend/font-awesome-iron-iconset/fad.js.

    When compiling icons for FontAwesome Pro 6 you need to need to use at least JDK 15. This is because of a limitation in the maximum number of constants allowed in an enum compiled by javac with earlier JDKs. This only affects the generated bytecode: the compatibility level remains 11 so that the library is still compatible with Java 11 (or Java 8 if using version 3.x of this addon).

    If any enum exceeds 4103 constants (which may happen when compiling the whole FontAwesome 6 Pro iconset plus aliases), you need to enable the alternative compilation profile with mvn -Pbigenum,generate clean package.

    Visit original content creator repository https://github.com/FlowingCode/FontAwesomeIronIconset
  • PROJECT2

    ONLINE BANKING ANALYSIS

    In this project we are working on a loan dataset, customer credit card dataset and a bank transaction dataset by using Apache Spark, which is a data processing framework that can quickly perform processing tasks on very large data sets, and can also distribute data processing tasks across multiple computers, either on its own or in tandem with other distributed computing tools. Using these datasets and Spark SQL we have created various use cases pertaining to real life scenarios in banking.

    https://databricks-prod-cloudfront.cloud.databricks.com/public/4027ec902e239c93eaaa8714f173bcfc/553931998293758/1733511036908678/113857780564717/latest.html

    TOOLS AND TECHNOLOGIES

    • SPARK
    • HDFS
    • HIVE
    • DATAFRAMES
    • PYSPARK
    • SPARK SQL
    • JUPYTER NOTEBOOK
    • DATABRICKS

    FEATURES

    • We can easily know the number of customer and their nature by performing this usecases.
    • List of usecases performed on each datasets

    USE CASES FOR LOAN DATASET

    • The number of loans on each category
    • The number of loans taken on each occupation
    • Know the number of members who taken more than 1lack loan
    • Number of members whose overdue is more than 5
    • The number of members whose debt record is less than 20k
    • Marital status of loans takers
    • Number of loans in each category
    • Partitioning dataframe on column ‘Loan Category’
    • Number of people with 2 or more returned cheques and income less than 50000

    USE CASES FOR CUSTOMER CREDIT DATASET

    • The number of members who are eligible for credit card
    • The number of members who are eligible and active on bank
    • The number of targeted persons for credit card
    • The targeted persons count whose tenure is less than 5
    • The targeted persons count who exited
    • The number of targeted persons whose number of product is equal to 1
    • Credit card users in Spain
    • Number of customers who’s Estimated Salary less than 1 lakh and number of products more than 1.

    USE CASES FOR CUSTOMER TRANSACTION DATASET

    • Count of transaction on every account.
    • Maximum withdrawal amount of an account
    • Minimum withdrawal amount of an account
    • Maximum deposit amount of an account
    • Minimum deposit amount of an account
    • Sum of balance in every bank account
    • Count of transaction methods what customers used for transaction.
    • Number of transaction on each date.
    • List of customers with withdrawal amount more than 1 lakh

    GETTING STARTED

    GitHub clone URL: https://github.com/rajib1007/PROJECT1.git

    STEP 2 :- Download UBUNTU iso file and create an image on VMware

    https://ubuntu.com/download/desktop

    STEP 3 :- Follow this link to install JUPYTER NOTEBOOK on UBUNTU

    https://www.digitalocean.com/community/tutorials/how-to-set-up-jupyter-notebook-with-python-3-on-ubuntu-20-04-and-connect-via-ssh-tunneling

    STEP 4 :- Install required tools ans set path

    sudo apt-get install openjdk-8-jdk

    wget https://dlcdn.apache.org/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz

    tar xvzf spark-3.1.2-bin-hadoop3.2.tgz

    wget https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz

    tar xvzf kafka_2.11-2.0.0.tgz

    STEP 5 :- Install kafka on jupyter-

    pip install kafka-python

    Usage

    TABLE CONFIGURATION

    image

    Load dataset on jupyter and perform usecases

    Screenshot (526)

    CONTRIBUTERS

    • SIDHANT SEHGAL
    • ABHILASH REDDY
    • AKHIL
    • ANAND KUMAR
    • VENKATESH VENKAT

    License

    This project uses the following license: MIT License.

    Visit original content creator repository https://github.com/rajib1007/PROJECT2
  • PROJECT2

    ONLINE BANKING ANALYSIS

    In this project we are working on a loan dataset, customer credit card dataset and a bank transaction dataset by using Apache Spark, which is a data processing framework that can quickly perform processing tasks on very large data sets, and can also distribute data processing tasks across multiple computers, either on its own or in tandem with other distributed computing tools. Using these datasets and Spark SQL we have created various use cases pertaining to real life scenarios in banking.

    https://databricks-prod-cloudfront.cloud.databricks.com/public/4027ec902e239c93eaaa8714f173bcfc/553931998293758/1733511036908678/113857780564717/latest.html

    TOOLS AND TECHNOLOGIES

    • SPARK
    • HDFS
    • HIVE
    • DATAFRAMES
    • PYSPARK
    • SPARK SQL
    • JUPYTER NOTEBOOK
    • DATABRICKS

    FEATURES

    • We can easily know the number of customer and their nature by performing this usecases.
    • List of usecases performed on each datasets

    USE CASES FOR LOAN DATASET

    • The number of loans on each category
    • The number of loans taken on each occupation
    • Know the number of members who taken more than 1lack loan
    • Number of members whose overdue is more than 5
    • The number of members whose debt record is less than 20k
    • Marital status of loans takers
    • Number of loans in each category
    • Partitioning dataframe on column ‘Loan Category’
    • Number of people with 2 or more returned cheques and income less than 50000

    USE CASES FOR CUSTOMER CREDIT DATASET

    • The number of members who are eligible for credit card
    • The number of members who are eligible and active on bank
    • The number of targeted persons for credit card
    • The targeted persons count whose tenure is less than 5
    • The targeted persons count who exited
    • The number of targeted persons whose number of product is equal to 1
    • Credit card users in Spain
    • Number of customers who’s Estimated Salary less than 1 lakh and number of products more than 1.

    USE CASES FOR CUSTOMER TRANSACTION DATASET

    • Count of transaction on every account.
    • Maximum withdrawal amount of an account
    • Minimum withdrawal amount of an account
    • Maximum deposit amount of an account
    • Minimum deposit amount of an account
    • Sum of balance in every bank account
    • Count of transaction methods what customers used for transaction.
    • Number of transaction on each date.
    • List of customers with withdrawal amount more than 1 lakh

    GETTING STARTED

    GitHub clone URL: https://github.com/rajib1007/PROJECT1.git

    STEP 2 :- Download UBUNTU iso file and create an image on VMware

    https://ubuntu.com/download/desktop

    STEP 3 :- Follow this link to install JUPYTER NOTEBOOK on UBUNTU

    https://www.digitalocean.com/community/tutorials/how-to-set-up-jupyter-notebook-with-python-3-on-ubuntu-20-04-and-connect-via-ssh-tunneling

    STEP 4 :- Install required tools ans set path

    sudo apt-get install openjdk-8-jdk

    wget https://dlcdn.apache.org/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz

    tar xvzf spark-3.1.2-bin-hadoop3.2.tgz

    wget https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz

    tar xvzf kafka_2.11-2.0.0.tgz

    STEP 5 :- Install kafka on jupyter-

    pip install kafka-python

    Usage

    TABLE CONFIGURATION

    image

    Load dataset on jupyter and perform usecases

    Screenshot (526)

    CONTRIBUTERS

    • SIDHANT SEHGAL
    • ABHILASH REDDY
    • AKHIL
    • ANAND KUMAR
    • VENKATESH VENKAT

    License

    This project uses the following license: MIT License.

    Visit original content creator repository https://github.com/rajib1007/PROJECT2
  • api

    Cryb OSS

    @cryb/apiCore services

    GitHub contributors License Patreon Donate Chat on Discord

    Docs

    Info

    @cryb/api is the core service used to handle requests from clients over REST and WebSocket.

    Events such as Room creation, user authentication and requests to @cryb/portals to create VM instances are sent from @cryb/api.

    Status

    @cryb/api has been actively developed internally since August 2019, and is now open source as of October 2019.

    Codebase

    The codebase for @cryb/api is written in JavaScript, utilising TypeScript and Node.js. Express.js is used for our REST API, while the WebSocket API uses the ws module.

    MongoDB is used as the primary database, while Redis is used for cache and PUB/SUB.

    Code Style

    We ask that you follow our code style guidelines when contributing to this repository.

    We use ESLint in order to lint our code. Run yarn lint before committing any code to ensure it’s clean.

    Note: while we have most rules covered in our .eslintrc.js config, it’s good practice to familarise yourself with our code style guidelines.

    Folder Structure

    cryb/api/
    └──┐ src # The core source code
       ├── config # Config files for Redis, Passport, etc
       ├── controllers # Our REST route controller files
       ├── drivers # Methods used to talk to other microservices, such as @cryb/portals
       ├── models # Models for our a data types, such as users and rooms
       ├── schemas # Mongoose schema files
       ├── server # Our Express.js setup
       ├── services # Abstractions for Oauth2, etc
       └── utils # Helper methods
    

    First time setup

    First, clone the @cryb/api repository locally:

    git clone https://github.com/crybapp/api.git
    

    Installation

    The following services need to be installed for @cryb/api to function:

    • MongoDB
    • Redis

    We recommend that you run the following services alongside @cryb/api, but it’s not required.

    • @cryb/portals
    • @cryb/aperture

    You also need to install the required dependencies by running yarn.

    Ensure that .env.example is either copied and renamed to .env, or is simply renamed to .env.

    In this file, you’ll need some values. Documentation is available in the .env.example file.

    Running the app locally

    Background Services

    Make sure that you have installed MongoDB and Redis, and they are both running locally on port 27017 and 6379 respectively.

    The command to start MongoDB is mongod, and the command to start Redis is redis-server. Most Linux distributions will have those packaged, and will start automatically with your system.

    If you’re developing a feature that requires the VM infrastructure, then make sure @cryb/portals and @cryb/aperture are running.

    Starting @cryb/api

    To run @cryb/api in development mode, run yarn dev.

    It is recommended that in production you run yarn build, then yarn start.

    Questions / Issues

    If you have an issues with @cryb/api, please either open a GitHub issue, contact a maintainer or join the Cryb Discord Server and ask in #tech-support.

    License

    FOSSA Status

    Visit original content creator repository https://github.com/crybapp/api
  • Linux4Dev

    Linux & WSL Guide

    Sobre o Repositório

    Nesta pasta, você encontrará uma coleção de comandos essenciais para o uso do Linux, organizados de forma a facilitar o entendimento e a aplicação no dia a dia. Cada comando é acompanhado de uma breve explicação sobre sua funcionalidade, além de exemplos práticos de uso.

    Conteúdo:

    Sobre o Linux

    A História do Linux

    O Linux é um sistema operacional baseado em Unix que se tornou uma das plataformas mais populares e influentes do mundo. Sua história começa em 1991, quando Linus Torvalds, um estudante da Universidade de Helsinki, na Finlândia, começou a desenvolver um novo kernel como um hobby. Ele se inspirou no sistema Unix, que era amplamente utilizado em ambientes acadêmicos e de pesquisa, mas caro e restritivo para usuários comuns. Sua intenção inicial era criar um sistema operacional gratuito que pudesse ser usado em computadores pessoais e que permitisse maior flexibilidade.

    O início com o Minix

    Antes de criar o Linux, Linus usava o Minix, um sistema operacional semelhante ao Unix criado por Andrew S. Tanenbaum para fins educacionais. Embora o Minix fosse funcional, tinha limitações, e Linus queria mais controle e personalização. Por isso, começou a escrever o seu próprio kernel. Em 25 de agosto de 1991, ele fez um anúncio no grupo de notícias comp.os.minix, onde disse que estava trabalhando em um sistema gratuito inspirado no Unix e pediu feedback da comunidade.

    A ascensão do kernel Linux

    Pouco tempo depois, em setembro de 1991, Linus lançou a primeira versão do kernel Linux (0.01). Naquela época, ele ainda não tinha muitos recursos, mas era suficiente para que outros programadores o ajudassem a expandi-lo. Um dos maiores marcos foi quando Linus decidiu licenciar o Linux sob a Licença Pública Geral GNU (GPL), criada pela Free Software Foundation (FSF), que permitia que qualquer pessoa usasse, modificasse e redistribuísse o software gratuitamente, com a condição de manter o código-fonte aberto.

    Colaboração com a comunidade

    A decisão de usar a GPL permitiu que o Linux crescesse rapidamente. Desenvolvedores de todo o mundo começaram a contribuir com melhorias e funcionalidades. Um elemento importante foi o conjunto de ferramentas e bibliotecas criadas pelo projeto GNU, que complementaram o kernel Linux, resultando em um sistema completo. Este “sistema operacional Linux” logo se espalhou pelo mundo, sendo adotado por entusiastas de tecnologia, desenvolvedores e empresas.

    Consolidação e expansão

    Nos anos 1990, distribuições Linux começaram a surgir. Essas distribuições consistem no kernel Linux, somado a um conjunto de software que facilita a instalação e uso do sistema. Entre as primeiras e mais conhecidas estão Slackware (1993), Debian (1993) e Red Hat (1994). Cada uma oferecia suas próprias ferramentas de gerenciamento de pacotes e características específicas, mas todas baseadas no mesmo kernel Linux.

    O Linux se consolidou principalmente em servidores, onde sua estabilidade e eficiência conquistaram administradores de sistemas e empresas que procuravam alternativas aos sistemas comerciais. Além disso, com a explosão da internet na década de 1990, muitos servidores web passaram a rodar Linux, o que contribuiu ainda mais para sua popularidade.

    O Linux nos dias atuais

    Com o tempo, o Linux evoluiu e conquistou diversos mercados, desde supercomputadores até dispositivos móveis. Em 2003, foi lançado o Android, um sistema operacional baseado em Linux, que se tornou o sistema mais popular para smartphones. Hoje, o Linux está presente em milhões de dispositivos ao redor do mundo, desde servidores e datacenters até eletrodomésticos, sistemas embarcados e automóveis.

    Seu modelo de desenvolvimento aberto, apoiado por uma vasta comunidade e grandes empresas de tecnologia, como IBM, Google, Red Hat e outras, garantiu a contínua inovação e expansão do Linux. Ele também é fundamental para o movimento de software livre, que promove a liberdade dos usuários em usar, modificar e distribuir software.

    Conclusão

    O Linux transformou o mundo da computação ao promover o conceito de código aberto e oferecer uma alternativa poderosa, gratuita e colaborativa aos sistemas operacionais proprietários. De uma criação humilde por um estudante universitário, o Linux se tornou um dos pilares da infraestrutura digital moderna, influenciando a forma como desenvolvemos, distribuímos e utilizamos a tecnologia.

    Benefícios do Linux:

    • Código aberto
    • Alta personalização
    • Estabilidade e segurança
    • Grande comunidade de suporte

    Contribuições

    Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests com melhorias, novos comandos ou correções.

    Licença

    Este projeto está licenciado sob a MIT License.

    Visit original content creator repository
    https://github.com/CarlosEduardoLemos/Linux4Dev

  • Threejs-VR-Curiosity-Navcams

    Threejs-VR-Curiosity-Navcams (updating)

    Explore Curiosity Navcams 3D images in Oculus Quest.

    Stereoscopic view.

    Threejs-VR-Curiosity-Navcams Pages

    https://physicslibrary.github.io/Threejs-VR-Curiosity-Navcams/

    Hardware

    Oculus Quest tested (6DoF headset/controllers).

    Software

    Oculus Browser (tested Quest update > 17.0).

    Installation

    No installation.

    In Oculus Quest, open Oculus Browser and link (let browser finish loading before “Enter VR”).

    https://physicslibrary.github.io/Threejs-VR-Curiosity-Navcams/examples/threejs_vr_curiosity_sol1151.html

    File sol1151_wheel_measure.glb shows one of Curiosity’s six wheels on the lower right. Any Navcam image with wheel(s) is selected because a wheel is used in Blender to scale the 3D mesh. The author of Blender-Navcam-Importer has stated that, “resulting mesh…is in no way scientifically accurate”. Nevertheless, the result does not appear distorted or unusual.

    If no Oculus Quest (tested 2018 9.7″ iPad/iPadOS 13/Safari, Windows 10/Google Chrome/Firefox, Raspberry Pi 3 B+/Raspbian Buster).

    https://physicslibrary.github.io/Threejs-VR-Curiosity-Navcams/examples/threejs_curiosity_sol1151.html

    Stereoscopic view of Sol 1431

    Let browser finish loading before “Enter VR”.

    https://physicslibrary.github.io/Threejs-VR-Curiosity-Navcams/examples/threejs_vr_curiosity_sol_1431.html

    In front are two images combined as one stereoscopic view using three.js. The left and right Navcams are separated by 42 centimeters apart so it is not what a person would see standing there, someday. Humans IPD averages from 5.1 to 7.7 cm.

    The image on the left is a monoscopic view of NLB_524534514EDR_F0562034NCAM00280M_.jpeg.

    The 3D model on the right is constructed from two images NLB_524534514EDR_F0562034NCAM00280M_.jpeg and NRB_524534514EDR_F0562034NCAM00280M_.jpeg using Blender-Navcam-Importer.

    This project uses images taken by Curiosity Navcams.

    https://mars.nasa.gov/

    Lot of excellent materials. Do a search for “raw images”.

    http://mars.jpl.nasa.gov/msl/multimedia/raw/

    The Sol 1431 VR experience is created from left image.

    https://mars.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/01431/opgs/edr/ncam/NLB_524534514EDR_F0562034NCAM00280M_.JPG

    And by changing “NLB” to “NRB”, get corresponding right image.

    https://mars.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/01431/opgs/edr/ncam/NRB_524534514EDR_F0562034NCAM00280M_.JPG

    Sometimes a left image is available but a matching right image is not available. Move to other images.

    Curiosity’s location for Sol 1431.

    https://mars.nasa.gov/resources/curiosity-rovers-location-for-sol-1431/

    Artist’s scaled image for Sol 1432.

    https://www.planetary.org/multimedia/space-images/mars/sean-doran-astronaut-sol1432ml002.html

    Making Sol 1151 .glb (Feb 20, 2020)

    References

    Images NLB_524534514EDR_F0562034NCAM00280M_.JPG and NRB_524534514EDR_F0562034NCAM00280M_.JPG
    Courtesy NASA/JPL-Caltech.

    JPL Image Use Policy
    https://www.jpl.nasa.gov/imagepolicy/

    Go to Curiosity, Multimedia, Raw Images in link:

    https://mars.nasa.gov/msl/home/

    Or Sol images for left navigation camera:

    Curiosity Left Navigation Camera

    To find the image used to make sol1151_wheel_measure.glb, enter 1151 for Sol and sort by “oldest to newest”. It should be the 13th image (2015-11-01T21:33:08.000Z).

    Raw image used to make sol1151_wheel_measure.glb

    A Blender addon is used to import Curiosity Navcams.

    https://github.com/phaseIV/Blender-Navcam-Importer

    The Blender-Navcam-Importer github has an excellent introduction about the addon.

    Blender 2.82 is used to export “glTF Binary” sol1511-wheel-measure.glb with Decimate Modifier(Ratio 0.1) and Draco compression.

    https://www.blender.org/

    https://mars.nasa.gov/msl/spacecraft/rover/cameras/#navcams

    https://mars.nasa.gov/msl/spacecraft/rover/wheels/

    https://threejs.org/

    https://github.com/mrdoob/three.js/

    Three.js examples is the best place to learn and experiment:

    https://github.com/mrdoob/three.js/tree/dev/examples

    Three.js’ excellent documentation on how to convert WebGL examples to WebVR:

    https://threejs.org/docs/index.html#manual/en/introduction/How-to-create-VR-content

    Three.js example of how to load .glb file:

    https://github.com/mrdoob/three.js/blob/dev/examples/webgl_loader_gltf.html

    https://en.wikipedia.org/wiki/Pupillary_distance


    Copyright (c) 2020 Hartwell Fong

    Visit original content creator repository https://github.com/Physicslibrary/Threejs-VR-Curiosity-Navcams
  • Property Manager

    Property Manager

    When you deploy web assets to the Akamai network, you create rules that tell Akamai edge servers how to process end-user requests for your content. Akamai is always seeking ways to make managing complex configurations seamless and quick. With the Property Manager extension, you can edit and validate Property Manager API (PAPI) JSON rule trees the same way you interact with other parts of your infrastructure. Once you’ve updated and validated the configuration file, use PAPI or Property Manager CLI to push the updated file back to the Akamai platform.

    Features

    • Editing rules, adding behaviors and criteria
    • Integration with external, non-Property Manager resources such as CP codes or NetStorage groups
    • Syntax highlighting
    • Syntax autocomplete based on your Akamai product
    • Inline JSON syntax checker
    • Property Manager variables support
    • Rule tree validation
    • Error handling with links to code lines

    Before you begin

    Before you use this extension, make sure you have access to Akamai Control Center with the appropriate roles and permissions to create API clients and manage credentials. An API client contains authentication tokens that secure the interactions between your application and the Akamai platform. Contact an Akamai administrator within your company and ask them to create the API credentials for you if you don’t have either of these permissions in your role:

    • IDM: API Clients – User Access
    • IDM: API Clients – Admin Access

    Create API credentials

    With admin access to Akamai Control Center, you can configure your own tokens and client secrets.

    1. Launch Identity and Access Management. In Akamai Control Center, click ⇒ ACCOUNT ADMIN ⇒ Identity & access.
    2. From the Users and API Clients tab, click New API client for me to open the Customize API client screen.
    3. Follow one of the scenarios:
      • To instantly create an API client and credentials for the Akamai APIs you can access, click Quick. This client’s API access levels, group roles, and permissions are identical to yours. For details about roles, permissions, and access levels, see Identity and Access Management.
      • To make updates to one or more of the accounts you manage, click Advanced. In the Details section, select Let this client manage multiple accounts . For details, see Manage multiple accounts with one API client.

    The client’s name, description, and notification list populate for you in the Details section. You can change this information at any time. The set of credentials that appears in the Credentials section includes the client token and client secret needed to authenticate the extension.

    1. To check that you have READ-WRITE access to the Property Manager API:
      1. Under Details, click Show additional details.
      2. Scroll through the APIs for Property Manager.
      3. If the API isn’t listed, contact your account representative for assistance.
    2. Click Download, then add the credentials to the .edgerc file.

    Add credentials to the .edgerc file

    Configure the EdgeGrid credential file that includes client tokens and client secrets for the Akamai accounts you manage. You’ll need this file to authenticate the connection between the extension and the Akamai platform.

    1. Open the file you downloaded in a text editor.

    2. Add a line above the credentials for your account as follows: [default]

      edgerc_example

    NOTE: You can add other credentials to this file as needed. Separate each set of credentials with a [header] as shown in the example. Then, while setting up the authentication in VS Code, you can select the credentials you want to use for editing.

    1. Save the file in your home directory with the name .edgerc

    Get started

    1. Install the Property Manager extension by clicking the install link in the marketplace, or install it from the Extensions tab in Visual Studio Code.
    2. In Command Palette, enter Edit Rules
    3. When you run the extension for the first time, you need to set up your credentials:
      1. Upload the .edgerc file. For MacOS, press Command+Shift+Dot to show the hidden files.
      2. From the menu, select your EdgeGrid credentials that provide access to the properties you want to edit.
      3. Optional: If you created an API client that can manage multiple accounts, enter the Account Switch Key.
      4. Click Submit.

    To start editing a JSON configuration file, you can either:

    • Download a rules file from the platform. Enter an existing property name and look it up with a search button. Once confirmed, select a version and click Download.
    • Use a local rules file. Open a local file in VS Code and in the extension tab, verify that the file path and property name populated correctly. Click Edit.

    Edit mode

    With the Property Manager extension, you can manage rules, behaviors, criteria, and variables in your existing configurations.

    Press Control+Space and the automatic completion prompts you with the building blocks available for your product and module. To learn more about how these elements work together, see PAPI Catalog .

    autocompletebehavior

    This feature also lists possible option values.

    gifcountry

    External resources

    In some behaviors, you need to specify information that comes from the Akamai applications other than Property Manager. Instead of running separate API or CLI calls to get that data, navigate to the option value and press Control+Space. This gets a list of external resources available for the property ID and version associated with your rule tree.

    Supported external resources:

    • Content Provider (CP) codes
    • NetStorage groups for the originServer behavior
    • AWS and GCS access keys for the originCharacteristics behavior
    • Beacon data sources for the adaptiveAcceleration behavior
    • Revocation lists for the segmentedContentProtection behavior
    • EdgeWorker IDs
    • Stream names for the datastream behavior
    • JWT key locations for the verifyJsonWebToken behavior
    • Locations for the cloudWrapper behavior
    • Custom behavior IDs

    Validation

    Make sure your JSON file is correct before deploying it on the Akamai platform. The validation returns a list of errors and warnings that point you directly to the lines of code you need to fix.

    To validate your configuration:

    1. Save the rules JSON file.
    2. In Command Palette, enter Validate Rules. This opens a new file with a list of errors and warnings.
    3. Right-click the errorLocation value and select Go to Definition. The result points you to the line of code that caused the problem.

    gifvalidated

    To learn more about configuration errors and warnings, in the validation file, go to the link in the type value.

    Push the configuration back to the platform

    After you’ve made your changes and validated the configuration, use PAPI or Property Manager CLI to push the updated file back to the Akamai platform.

    Visit original content creator repository https://github.com/akamai/papi-vscode-extension
  • Property Manager

    Property Manager

    When you deploy web assets to the Akamai network, you create rules that tell Akamai edge servers how to process end-user requests for your content. Akamai is always seeking ways to make managing complex configurations seamless and quick. With the Property Manager extension, you can edit and validate Property Manager API (PAPI) JSON rule trees the same way you interact with other parts of your infrastructure. Once you’ve updated and validated the configuration file, use PAPI or Property Manager CLI to push the updated file back to the Akamai platform.

    Features

    • Editing rules, adding behaviors and criteria
    • Integration with external, non-Property Manager resources such as CP codes or NetStorage groups
    • Syntax highlighting
    • Syntax autocomplete based on your Akamai product
    • Inline JSON syntax checker
    • Property Manager variables support
    • Rule tree validation
    • Error handling with links to code lines

    Before you begin

    Before you use this extension, make sure you have access to Akamai Control Center with the appropriate roles and permissions to create API clients and manage credentials. An API client contains authentication tokens that secure the interactions between your application and the Akamai platform. Contact an Akamai administrator within your company and ask them to create the API credentials for you if you don’t have either of these permissions in your role:

    • IDM: API Clients – User Access
    • IDM: API Clients – Admin Access

    Create API credentials

    With admin access to Akamai Control Center, you can configure your own tokens and client secrets.

    1. Launch Identity and Access Management. In Akamai Control Center, click ⇒ ACCOUNT ADMIN ⇒ Identity & access.
    2. From the Users and API Clients tab, click New API client for me to open the Customize API client screen.
    3. Follow one of the scenarios:
      • To instantly create an API client and credentials for the Akamai APIs you can access, click Quick. This client’s API access levels, group roles, and permissions are identical to yours. For details about roles, permissions, and access levels, see Identity and Access Management.
      • To make updates to one or more of the accounts you manage, click Advanced. In the Details section, select Let this client manage multiple accounts . For details, see Manage multiple accounts with one API client.

    The client’s name, description, and notification list populate for you in the Details section. You can change this information at any time. The set of credentials that appears in the Credentials section includes the client token and client secret needed to authenticate the extension.

    1. To check that you have READ-WRITE access to the Property Manager API:
      1. Under Details, click Show additional details.
      2. Scroll through the APIs for Property Manager.
      3. If the API isn’t listed, contact your account representative for assistance.
    2. Click Download, then add the credentials to the .edgerc file.

    Add credentials to the .edgerc file

    Configure the EdgeGrid credential file that includes client tokens and client secrets for the Akamai accounts you manage. You’ll need this file to authenticate the connection between the extension and the Akamai platform.

    1. Open the file you downloaded in a text editor.

    2. Add a line above the credentials for your account as follows: [default]

      edgerc_example

    NOTE: You can add other credentials to this file as needed. Separate each set of credentials with a [header] as shown in the example. Then, while setting up the authentication in VS Code, you can select the credentials you want to use for editing.

    1. Save the file in your home directory with the name .edgerc

    Get started

    1. Install the Property Manager extension by clicking the install link in the marketplace, or install it from the Extensions tab in Visual Studio Code.
    2. In Command Palette, enter Edit Rules
    3. When you run the extension for the first time, you need to set up your credentials:
      1. Upload the .edgerc file. For MacOS, press Command+Shift+Dot to show the hidden files.
      2. From the menu, select your EdgeGrid credentials that provide access to the properties you want to edit.
      3. Optional: If you created an API client that can manage multiple accounts, enter the Account Switch Key.
      4. Click Submit.

    To start editing a JSON configuration file, you can either:

    • Download a rules file from the platform. Enter an existing property name and look it up with a search button. Once confirmed, select a version and click Download.
    • Use a local rules file. Open a local file in VS Code and in the extension tab, verify that the file path and property name populated correctly. Click Edit.

    Edit mode

    With the Property Manager extension, you can manage rules, behaviors, criteria, and variables in your existing configurations.

    Press Control+Space and the automatic completion prompts you with the building blocks available for your product and module. To learn more about how these elements work together, see PAPI Catalog .

    autocompletebehavior

    This feature also lists possible option values.

    gifcountry

    External resources

    In some behaviors, you need to specify information that comes from the Akamai applications other than Property Manager. Instead of running separate API or CLI calls to get that data, navigate to the option value and press Control+Space. This gets a list of external resources available for the property ID and version associated with your rule tree.

    Supported external resources:

    • Content Provider (CP) codes
    • NetStorage groups for the originServer behavior
    • AWS and GCS access keys for the originCharacteristics behavior
    • Beacon data sources for the adaptiveAcceleration behavior
    • Revocation lists for the segmentedContentProtection behavior
    • EdgeWorker IDs
    • Stream names for the datastream behavior
    • JWT key locations for the verifyJsonWebToken behavior
    • Locations for the cloudWrapper behavior
    • Custom behavior IDs

    Validation

    Make sure your JSON file is correct before deploying it on the Akamai platform. The validation returns a list of errors and warnings that point you directly to the lines of code you need to fix.

    To validate your configuration:

    1. Save the rules JSON file.
    2. In Command Palette, enter Validate Rules. This opens a new file with a list of errors and warnings.
    3. Right-click the errorLocation value and select Go to Definition. The result points you to the line of code that caused the problem.

    gifvalidated

    To learn more about configuration errors and warnings, in the validation file, go to the link in the type value.

    Push the configuration back to the platform

    After you’ve made your changes and validated the configuration, use PAPI or Property Manager CLI to push the updated file back to the Akamai platform.

    Visit original content creator repository https://github.com/akamai/papi-vscode-extension