Skip to content

This repository is a comprehensive collection of study materials organized into various areas of computer science and software development.

License

Notifications You must be signed in to change notification settings

raphaelkaique1/study

Repository files navigation

ROADMAP

https://github.com/Universidade-Livre

https://roadmap.sh/roadmaps

STUDY

CS/FS/FC

  • Lógica de Programação

    • Estruturas condicionais e de repetição.
    • Construção de algoritmos simples e complexos.
    • Manipulação de variáveis, tipos e estruturas de dados.
    • Resolução de problemas computacionais.
  • Estruturas de Dados

    • Arrays, listas, filas, pilhas.
    • Estruturas de dados dinâmicas (árvores, grafos).
    • Algoritmos de ordenação e busca.
    • Operações e manipulações em estruturas de dados.
  • Algoritmos

    • Desenvolvimento e análise de algoritmos.
    • Otimização de algoritmos.
    • Algoritmos de busca, classificação, ordenação e recursividade.
    • Análise de complexidade.
  • Arquitetura de Computadores

    • Componentes de hardware (CPU, memória, dispositivos de armazenamento).
    • Organização de sistemas computacionais.
    • Arquiteturas de processadores.
  • Sistemas Operacionais (Windows, Linux)

    • Funcionamento e gerenciamento de sistemas operacionais e de recursos.
    • Configuração e administração de ambientes Windows e Linux.
    • Virtualização e máquinas virtuais.
  • Conhecimentos de Prompt de Comando/Terminal

    • Uso básico e avançado do prompt de comando/terminal.
    • Navegação e manipulação de arquivos.
    • Automação de tarefas por linha de comando.
    • Scripting em ambientes de linha de comando.
  • Redes de Computadores

    • Fundamentos de redes (TCP/IP, DNS, DHCP).
    • Tipos de redes (LAN, WAN, MAN).
    • Protocolos de comunicação.
    • Configuração e administração de redes locais.
    • Segurança em redes.
  • Modelagem de Dados

    • Conceitos de modelagem de dados.
    • Estruturação de dados relacionalmente.
    • Modelagem de entidades e relacionamentos.
    • Normalização e desnormalização de esquemas.
  • Consultas Complexas

    • Consultas avançadas com joins, subconsultas e agregações.
    • Otimização de consultas.
  • Normalização e Desnormalização

    • Benefícios e desvantagens de normalizar e desnormalizar.
    • Estratégias de desnormalização quando necessário.
  • MySQL, PostgreSQL, SQLite

    • Características e diferenças entre sistemas de gerenciamento de banco de dados.
    • Configuração e administração básica.
    • Utilização de recursos específicos de cada banco.
  • Conceitos Básicos (Document, Key-Value, Graph)

    • Características e modelos de dados para bancos NoSQL.
    • Utilização de cada tipo em cenários específicos.
    • Comparação e compreensão entre os diferentes tipos de bancos de dados NoSQL.
  • MongoDB, Redis, Neo4j

    • Utilização e configuração de bancos NoSQL específicos.
    • Características e aplicação prática de bancos de dados NoSQL específicos.
    • Modelagem de dados em bancos NoSQL.
  • AWS, Google Cloud, Azure
    • Conhecimento e utilização de serviços oferecidos por plataformas de nuvem.
    • Configuração e escalabilidade em ambientes de nuvem.
  • Prometheus, Grafana
    • Configuração e utilização do Prometheus para monitoramento.
    • Visualização de métricas e dados com Grafana.
  • Protocolos HTTP/HTTPS
    • Funcionamento do protocolo HTTP/HTTPS.
    • Códigos de status e métodos de requisição.
    • Métodos HTTP (GET, POST, etc.).
    • Segurança em comunicações web.
    • Configuração e obtenção de certificados SSL/TLS.
  • HTML5, CSS3, SASS/LESS

    • Estruturação semântica com HTML5.
    • Estilização avançada com CSS3.
    • Pré-processadores CSS (SASS, LESS).
  • Frameworks CSS (Bootstrap, Tailwind)

    • Utilização de frameworks para desenvolvimento ágil e design responsivo.
    • Personalização e extensão de frameworks.
  • Frameworks JavaScript

    • Desenvolvimento de componentes reutilizáveis.
    • Estado e gerenciamento de dados.
    • Integração com APIs.
  • TypeScript

    • Uso de tipos em JavaScript.
    • Tipagem estática e funcionalidades adicionadas ao JavaScript.
    • Migração de projetos JavaScript para TypeScript.
  • Práticas de Segurança em Desenvolvimento Web

    • Identificação e prevenção de vulnerabilidades comuns.
    • Configuração segura de servidores web.
  • Segurança de Rede

    • Estratégias para proteção contra ameaças em redes.
    • Monitoramento e detecção de atividades suspeitas.
  • Criptografia

    • Conceitos de criptografia.
    • Implementação de criptografia em comunicações.
  • OWASP Top 10

    • Compreensão das principais ameaças de segurança.
    • Estratégias para mitigação.
  • JWT (JSON Web Tokens)

    • Compreensão do formato e funcionamento dos JSON Web Tokens.
    • Utilização de JWT para autenticação.
  • OAuth2:

    • Entendimento do protocolo OAuth2.
    • Implementação de autenticação e autorização baseadas em OAuth2.
  • Conceitos e Fundamentos

    • Definição de software para desktop e suas características principais.
    • Compreensão do ciclo de vida de desenvolvimento de software para desktop.
    • Diferenças entre aplicações desktop e aplicações web.
  • C# (Windows Forms, WPF)

    • Windows Forms: Desenvolvimento de interfaces com Windows Forms.
    • WPF (Windows Presentation Foundation): Utilização de recursos avançados para criação de interfaces.
  • C

    • Conhecer a sintaxe e semântica da linguagem
    • Uso e configuração de framework
  • Java (JavaFX, Swing)

    • JavaFX: Desenvolvimento de interfaces modernas e responsivas.
    • Swing: Criação de interfaces gráficas tradicionais em Java.
  • Electron (para desenvolvimento multiplataforma)

    • Utilização do Electron para criar aplicações desktop multiplataforma usando tecnologias web.
  • Integração de APIs para Desktop

    • Consumo de APIs em aplicações desktop.
    • Desenvolvimento de APIs para integração com outras aplicações.
  • Comunicação em Rede

    • Protocolos de comunicação em redes locais e remotas.
    • Configuração e utilização de sockets.
  • WebSocket e Outras Tecnologias

    • Implementação e utilização de WebSocket para comunicação em tempo real.
    • Exploração de outras tecnologias de comunicação avançada.
  • Conceitos de Arquitetura

    • Escolha adequada da arquitetura de acordo com requisitos do projeto.
    • Entendimento e aplicação de arquiteturas como Model-View-Controller (MVC), Model-View-View-Model (MVVM), entre outras.
  • Padrões de Projeto (Design Patterns)

    • Implementação de padrões como Singleton, Observer, Factory, etc.
    • Escolha adequada de padrões para cenários específicos.
    • Aplicação de padrões de design para resolver problemas recorrentes.
    • Utilização de design patterns como ferramenta para estruturar o código.