Técnico em Informática / WEB | Analista e Desenvolvedor de sistemas

Precisa de uma aplicação? - Acesse!

Alguns Projetos

Sobre mim

Márcio Fernando Maia, este sou eu, explorador do mundo da informática. Vimos através deste portifólio, compartilhar o meu mundo com você. Conheci a informática quando os pc´s eram vendidos sem hd´s, sem cd room e com aquela tela horrível de cor verde. Hoje como Técnico em Informática, Desenvolvedor WEB e Analista e Desenvolvedor de Sistemas, sou um profissional responsável por desenvolver, projetar, analisar, implementar e realizar a manutenção de sistemas de informação de diversos setores. Sistemas de informação são aqueles responsáveis por gerir, organizar e manipular informações e dados pertinentes a um setor específico ou mesmo a uma empresa inteira. Funcionam tanto em ambientes como a internet quanto também em intranet empresariais.

SobreMim
SobreMim
SobreMim
SobreMim
SobreMim
SobreMim

Trabalhos Extras Curriculares

Tc kids Informática e Idiomas
Sindicato dos Trabalhadores
System News Informática
Gold Games

Recomendações & Cartas de apresentação

Certificados, Declarações, Históricos & Diplomas - até 2023

EVFB EVFB EVFB EVFB EVFB
Centro Paula Souza

Dio - Digital Inovation One

Dio

People People

Tópicos de UX para Design de Serviços - 3 horas

Ocean

Desenvolvimento Ágil - DevOps Git - 3 horas

Ocean

Ciência de Dados Fundamentos de Análise de Dados com Orange - 3 horas

Ocean

Frontend Web com ReactJS: Introdução (Parte 1)

Ocean

Frontend Web com ReactJS: Introdução (Parte 2)

Ocean

Introdução à Internet das Coisas

Ocean

IOT em Nuvem

Ocean

Laboratório de IoT com Arduino

Ocean

Introdução ao Deep Learning (Parte 1)

Ocean

Introdução ao Deep Learning (Parte 2)

Ocean

LGPD

Certificado LGPD

Competência ou Decoreba

Competência ou Decoreba

Código de Ética

Código de Ética

Processos Avaliativos

Processos Avaliativos
XpEducação
Senai
Senai
CCAA
CCAA
CCAA

Certificados, Declarações, Históricos & Diplomas - à partir de 2024

Declaração de Matricula Certificado de Nivelamento
Certificado de Nivelamento Hacker do bem Certificado Curso Básico
Certificado Curso Básico

Certificados de Aprovação à partir de 2024

Certifificado de Apvovação Fiec

Linguagens de Programação | Front End

Progress bars / Skills

Html 5.2

95%

Css 3

95%

JavaScript ECMAScript 2018

65%

JQuery 3

62%

W3.CSS 4.15

75%

BootStrap 5.1.3

62%

Angular 2+ AngularJS

40%

TypeScript 3.4

40%

Obs.: As linguagens de programação que mais tenho afinidade são: HTML, CSS, e JavaScript - As demais lingugens tornam-se necessário o conhecimento, pois complementão umas às outras.

Baixar:

Custos

  • Básico
  • Designer de Web
  • Formatação s/ back_up
  • 1 GB de armazenamento
  • Suporte limitado
  • R$ 191,76

    por mês (consulte)

  • Pró
  • Designer de Web - Criação
  • Formatação c/ back_up
  • 50 GB de armazenamento
  • Suporte definido
  • R$ 218,40

    por mês (consulte)

  • Prêmio
  • Designer de Web - Ambos
  • Formatação e Configuração
  • Armazenamento ilimitado
  • Suporte infinito
  • R$ 297,36

    por mês (consulte)

Contato

marciofernando.maia@yahoo.com.br

Cosmópolis-SP

+55 (19) 99624-9545



OUTROS

Canais no Youtube

CMS Joomla + VirtueMart Videos Karaoke

Projetos no Railway.app (Python as a services)

py-AddUsers py-Github_Integration

Projetos no Pythonanywhere.com (Python as a services)

py-Downlods Modalidades Loterias

Projeto no Netlify (App´s as a services)

Loterias Meu portifólio Projeto CPS Calculadora do Maia Cronômetro do Maia Meça o seu IMC Tempo e Temperatura Relogio Digital do Maia Arraste & Solte Buscar Personagens Videos Karaoke Organizador de Links

Escola (Ensinando pequenos projetos: Com efeitos somente para didática)

Perfil Márcio Layout Responsivo Agendamento Dentista Correção Avaliação Site Hellbrass Slide Show do Márcio Menu Vertical Projeto CPS Meu Portifolio (Deploy github pages) Márcio TCC Layout Responsivo Lista de Tarefas Introdução ao HTML Templates Formulário 2024

CSS (Quer aprender a estilizar uma página de forma profissional - então aprenda...9)

CSS BootStrap W3.CSS Tutorial

Videos (Pratique com estes exemplo ao vivo)

Novidades em TI

5G e Conectividade Avançada: A implantação de redes 5G está acelerando,proporcionando velocidades de conexão mais rápidas e possibilitando aplicações como carros autônomos e realidade aumentada/virtual.

Assistentes Virtuais e Chatbots Melhorados: Os assistentes virtuais echatbots estãose tornando mais sofisticados, oferecendo interações mais naturais e úteis em diversos setores, comoatendimentoao cliente e comércio eletrônico

Autenticação Biométrica Avançada: A autenticação baseada em biometria,comoreconhecimento facial e de impressões digitais, está se tornando mais comum para protegerdispositivos eserviços online

Automação de DevOps: A automação está se tornando uma parte fundamentaldodesenvolvimento e operações de software, permitindo implantações mais rápidas e confiáveis.

Automatização de Processos Robóticos (RPA): Empresas estão usando RPA paraautomatizar tarefas repetitivas, melhorar a eficiência e reduzir erros humanos.

Blockchain e Criptomoedas: A tecnologia blockchain está sendo usada emdiversas aplicações, desde sistemas de gerenciamento de cadeia de suprimentos até moedas digitais como oBitcoin.

Blockchain Interoperável: Soluções de blockchain interoperáveis permitemquediferentes blockchains se comuniquem, aumentando a eficiência e a flexibilidade para uma variedadedeaplicações

Cibersegurança Quântica: Com a ameaça de computadores quânticos quebrandosistemas decriptografia tradicionais, a pesquisa em cibersegurança quântica está avançando

Computação em Nuvem Avançada: A computação em nuvem continua a evoluir,com serviços mais avançados, como computação quântica em nuvem, maior capacidade de processamento e segurançaaprimorada.

Computação em Nuvem Híbrida e Multi-Nuvem: Empresas estão adotandoabordagenshíbridas e multi-nuvem para aproveitar as vantagens de diferentes provedores de serviços em nuvem einfraestruturas locais, combinando flexibilidade e controle

Computação Espacial: Empresas estão explorando a computação espacial, queenvolve ouso de satélites e sistemas em órbita para fornecer serviços de computação e comunicação globais

Computação Quântica: Embora ainda em estágio inicial, a computaçãoquântica prometerevolucionar a capacidade de processamento de dados, resolvendo problemas complexos de maneira muitomais rápidado que os computadores tradicionais.

Computação Serverless: O conceito de serverless continua a ganhar tração,permitindoque os desenvolvedores criem e implantem aplicativos sem se preocupar com a infraestruturasubjacente

DevSecOps: A segurança está sendo integrada de maneira mais eficaz nociclo de vidado desenvolvimento de software, com práticas DevSecOps que visam identificar e resolvervulnerabilidades desde oinício do processo

Economia Circular de Eletrônicos: A preocupação com o descarteresponsável dedispositivos eletrônicos está impulsionando esforços para reutilizar e reciclar componenteseletrônicos,reduzindo o desperdício eletrônico

Edge AI: A inteligência artificial está se movendo para a borda da rede,permitindoque dispositivos de IoT e sensores executem tarefas de processamento de dados e tomem decisões semdepender deuma conexão constante com a nuvem

Edge Computing: Com a explosão de dispositivos IoT (Internet of Things),oprocessamento de dados está se movendo para a borda das redes, permitindo a tomada de decisões emtempo real e reduzindo a latência.

Educação Online e Aprendizado Remoto: A educação online e o aprendizadoremotocontinuam a se expandir, com inovações em plataformas de ensino, recursos de colaboração eavaliação.

GitHub: Você pode criar fluxos de trabalho de integração contínua (CI)personalizados diretamente no repositório do GitHub com o GitHub Actions.

IA Explicável e Ética: À medida que a IA se torna mais difundida, atransparência e aética na tomada de decisões por algoritmos estão ganhando destaque, com regulamentações e diretrizes sendodesenvolvidas.

Impressão 3D em Escala Industrial: A impressão 3D está sendo usada paraprodução emgrande escala em setores como manufatura, saúde e construção

Inteligência Artificial (IA) e Aprendizado de Máquina: IA e ML continuama ser áreasde rápido crescimento, com aplicações em reconhecimento de voz, processamento de linguagem natural,automação de processos e muito mais.

IoT Industrial (IIoT): A Internet das Coisas Industrial estárevolucionando setorescomo manufatura, logística e agricultura, com sensores e dispositivos conectados coletando dadospara melhorar aeficiência e a tomada de decisões

Jenkins C.I.: É uma aplicação web de Integração Contínua que pode ser instalada em qualquer máquina e serve, principalmente, para executar os testes e criar os artefatos de um projeto de software.

Privacidade de Dados e Regulamentações de Proteção de Dados: Comregulamentações comoo GDPR na Europa, a privacidade de dados e a conformidade estão se tornando prioridades, levando aavanços emtécnicas de proteção de dados.

Realidade Aumentada (AR) e Realidade Virtual (VR): AR e VR estão sendocada vez maisutilizadas em setores como educação, treinamento, medicina e entretenimento.

Realidade Estendida (XR): Além da Realidade Virtual (VR) e da RealidadeAumentada(AR), a Realidade Estendida (XR) engloba uma gama mais ampla de experiências imersivas, incluindorealidademista

Redmine: A Ferramenta Redmine permite que haja gestão dos projetos.

Robótica Avançada: A robótica está avançando rapidamente, com robôsautônomos sendousados em aplicações variadas, desde entregas autônomas até cirurgias assistidas por robô

Segurança Cibernética Avançada: Com ameaças cibernéticas em constanteevolução, novasabordagens de segurança, como a detecção comportamental, estão ganhando destaque.

Sonar: Uma ferramenta open source construída para avaliar a qualidade docódigo queestá sendo desenvolvido. Questões de arquitetura, código duplicado, pontos potenciais de bugs, nível decomplexidade e cobertura dos testes são avaliadas pelo Sonar, de modo a dar para a equipe um feedback da qualidade do seu código.

Sustentabilidade e TI Verde: A preocupação com a sustentabilidade estálevando aesforços para tornar a TI mais eficiente em termos de energia e reduzir o impacto ambiental.

Tecnologias de Aprendizado de Máquina Auto-supervisionadas: Abordagensauto-supervisionadas estão se tornando mais comuns, permitindo que os modelos de aprendizado demáquina diretamente de grandes volumes de dados não rotulados

Telemedicina e Saúde Digital: A pandemia de COVID-19 impulsionou a adoçãode soluçõesde telemedicina e saúde digital, que estão se tornando parte integrante do setor de saúde.


Certificações (Desenvolvimento)


Certificação

Certificação em TI - Refere-se à obtenção de um certificado que comprova o conhecimento e as habilidades de uma pessoa em tecnologia da informação.

Existem várias certificações em TI disponíveis, abrangendo diferentes áreas, como redes, segurança, programação e administração de sistemas.

Essas certificações são geralmente oferecidas por organizações reconhecidas, como a Microsoft, Cisco, Oracle, PMI, ISC, CompTIA e muitas outras.

  1. Certificação Microsoft Certified: Azure Developer Associate - para desenvolvimento de aplicativos na plataforma Azure da Microsoft.
  2. Certificação Oracle Certified Professional: Java SE Developer - para desenvolvedores Java.
  3. Certificação AWS Certified Developer - para desenvolvimento de aplicativos na plataforma Amazon Web Services.
  4. Certificação Salesforce Certified Platform Developer - para desenvolvimento na plataforma Salesforce.
  5. Certificação PMI Agile Certified Practitioner (PMI-ACP) - para profissionais que trabalham com metodologias ágeis de desenvolvimento.

As certificações de TI são importantes para o desenvolvimento profissional e oferecem novas oportunidades por vários motivos. Em primeiro lugar, elas atestam que a pessoa tem os conhecimentos necessários para executar as tarefas que lhe são atribuídas. Além disso, as certificações podem ajudar o profissional de TI a se destacar diante de um mercado altamente competitivo. Podem, também, fornecer acesso a oportunidades de emprego, promoções e parcerias que de outra forma não estariam disponíveis.

Existem diversos tipos de certificações de TI, cada uma delas voltada para uma área específica da tecnologia. Algumas das certificações mais populares são:

  • AWS: certifica profissionais em computação em nuvem.
  • Azure: certifica profissionais em computação em nuvem.
  • CISSP: certifica profissionais em segurança da informação.
  • Google Cloud: certifica profissionais em computação em nuvem.
  • ITIL: certifica profissionais em gerenciamento de serviços de TI.
  • Microsoft: certifica profissionais em tecnologias da Microsoft.
  • Oracle: certifica profissionais em tecnologias da Oracle.
  • PMP: certifica profissionais em gerenciamento de projetos.
Tabela: Certificações
Categoria Certificações
Análise de dados SQL, Python, R, SAS, Tableau, Power BI
Bancos de dados Oracle Database Certified Associate, Microsoft Certified Solutions Associate: Database Fundamentals, AWS Certified Database Specialty
Ciência da computação Data Structures and Algorithms, Operating Systems, Computer Architecture, Software Engineering, Artificial Intelligence
Computação em nuvem AWS Certified Solutions Architect – Associate, Azure Certified Solutions Architect – Associate, Google Cloud Certified Associate Cloud Engineer
Desenvolvimento de software Java SE, Java EE, Python, JavaScript, C/C++, PHP, SQL, Agile
Engenharia de redes CCNA, CCNP, CCIE, CompTIA Network+, Microsoft Certified Solutions Associate: Networking Fundamentals
Gerenciamento de projetos PMP, PMI-ACP, PMI-PBA, CAPM, PRINCE2, MSP, ITIL
Outras CompTIA A+, CompTIA Network+, CompTIA Security+, CompTIA Linux+, CompTIA Cloud+, CompTIA Security Analytics+
Segurança da informação CISSP, CISM, CISA, CEH, SSCP, GIAC, ISO 27001 Lead Auditor

Essa lista é apenas uma amostra das muitas certificações de TI disponíveis. O número exato de certificações varia de acordo com a organização certificadora.

É importante notar que nem todas as certificações são iguais. Algumas são mais reconhecidas e valorizadas pelo mercado do que outras. Além disso, o valor de uma certificação pode variar de acordo com a área de atuação do profissional.

A escolha da certificação mais adequada deve ser feita de acordo com a área de atuação do profissional e suas metas de carreira.

Aprenda!

On-line

Ciências de Dados


Big Data

O que é Big Data?

Big Data - Conjuntos de dados extremamente grandes e complexos que não podem ser facilmente processados por meio de métodos tradicionais de processamento de dados. Esses conjuntos de dados são caracterizados por três principais dimensões conhecidas como os "Três Vs": Volume, Velocidade e Variedade.

  1. Volume: Refere-se à quantidade massiva de dados que é gerada diariamente. Com o aumento exponencial da quantidade de dados, tornou-se impraticável utilizar métodos tradicionais para armazenar e processar essas informações.
  2. Velocidade: Diz respeito à rapidez com que novos dados são gerados e precisam ser processados. Com o advento de tecnologias como IoT (Internet of Things) e mídias sociais, os dados estão sendo gerados em taxas incrivelmente altas.
  3. Variedade: Refere-se à diversidade de tipos de dados que estão disponíveis. Isso inclui dados estruturados (como tabelas de banco de dados), dados semiestruturados (como JSON ou XML) e dados não estruturados (como vídeos, imagens e texto).

Para que serve Big Data?

O objetivo principal do Big Data é extrair informações significativas e insights valiosos a partir de conjuntos de dados massivos. Ele pode ser usado para:

  1. Análise Preditiva: Prever tendências e comportamentos futuros com base em padrões identificados nos dados.
  2. Tomada de Decisões: Auxiliar na tomada de decisões estratégicas e operacionais com base em informações detalhadas.
  3. Otimização de Processos: Identificar áreas de melhoria em processos existentes, aumentando a eficiência e reduzindo custos.
  4. Personalização: Oferecer experiências mais personalizadas aos usuários, com base em seus padrões de comportamento e preferências.

Onde usar o Big Data?

O Big Data tem aplicações em diversas áreas, incluindo:

  1. Saúde: Análise de registros médicos para diagnósticos mais precisos e pesquisa médica.
  2. Finanças: Detecção de fraudes, análise de riscos e otimização de operações financeiras.
  3. Varejo: Análise de padrões de compra, personalização de ofertas e gerenciamento de estoque.
  4. Manufatura: Monitoramento de processos de produção, manutenção preditiva e controle de qualidade.
  5. Governo: Análise de dados para políticas públicas, segurança e prevenção de crises.

Como usar e implementar o Big Data?

  1. Armazenamento de Dados: Utilize tecnologias de armazenamento distribuído, como Hadoop e Spark, para armazenar grandes volumes de dados.
  2. Processamento de Dados em Tempo Real: Utilize ferramentas que suportem processamento em tempo real, como Apache Flink ou Apache Kafka, para lidar com dados em alta velocidade.
  3. Analytics Avançada: Implemente técnicas avançadas de análise, como machine learning e data mining, para extrair insights significativos.
  4. Infraestrutura Escalável: Construa uma infraestrutura escalável que possa lidar com o aumento do volume de dados ao longo do tempo.
  5. Segurança e Privacidade: Implemente medidas rigorosas de segurança para proteger dados sensíveis e garantir conformidade com regulamentações de privacidade.
  6. Treinamento e Equipe Especializada: Treine equipes especializadas para lidar com as complexidades do Big Data e suas ferramentas associadas.

Implementar o Big Data requer uma abordagem estratégica e a compreensão das necessidades específicas de cada organização. O sucesso depende não apenas das ferramentas escolhidas, mas também da maneira como essas ferramentas são integradas aos processos existentes e como a organização utiliza os insights derivados dos dados para tomar decisões informadas.

Ferramentas para o Big Data:

  1. Apache Hadoop:
    • Descrição: Estrutura de software para o armazenamento distribuído e processamento paralelo de grandes conjuntos de dados.
    • Uso: Armazenamento distribuído (HDFS) e processamento de dados utilizando o modelo MapReduce.
  2. Apache Spark:
    • Descrição: Plataforma de processamento de dados de código aberto que fornece velocidade e facilidade de uso.
    • Uso: Processamento de dados em lote, processamento em tempo real, machine learning e processamento de gráficos.
  3. Apache Flink:
    • Descrição: Sistema de processamento de dados distribuído para análise de eventos em tempo real.
    • Uso: Processamento de dados em tempo real e análise de fluxos contínuos.
  4. Apache Kafka:
    • Descrição: Plataforma de streaming distribuída para publicação e subscrição de fluxos de registros.
    • Uso: Ingestão e transmissão de dados em tempo real entre sistemas.
  5. Hive:
    • Descrição: Sistema de data warehousing construído no topo do Hadoop para consultas e análises SQL.
    • Uso: Consultas SQL em grandes conjuntos de dados no Hadoop.
  6. HBase:
    • Descrição: Banco de dados NoSQL distribuído e escalável para armazenar grandes volumes de dados.
    • Uso: Armazenamento de dados não estruturados e semi-estruturados.
  7. Cassandra
    • Descrição: Banco de dados NoSQL distribuído, altamente escalável e projetado para lidar com grandes volumes de dados.
    • Uso: Armazenamento de dados altamente distribuídos e de alta disponibilidade.
  8. MongoDB:
    • Descrição: Banco de dados NoSQL orientado a documentos, escalável e flexível.
    • Uso: Armazenamento de dados semi-estruturados em um formato de documento BSON.
  9. Tableau:
    • Descrição: Ferramenta de visualização de dados que permite criar dashboards interativos e relatórios.
    • Uso: Visualização de dados provenientes de fontes de Big Data para análise e tomada de decisões.
  10. Splunk:
    • Descrição: Plataforma de análise de dados em tempo real para buscar, monitorar e analisar grandes volumes de dados.
    • Uso: Monitoramento de logs, segurança e análise operacional.
  11. TensorFlow e PyTorch:
    • Descrição: Bibliotecas de código aberto para aprendizado de máquina e deep learning.
    • Uso: Desenvolvimento e treinamento de modelos de machine learning em grandes conjuntos de dados.
  12. Databricks
    • Descrição: Ambiente unificado para big data e análise, construído sobre o Apache Spark.
    • Uso: Colaboração em análises de big data e desenvolvimento de aplicações.

    Estas são apenas algumas das muitas ferramentas disponíveis, e a escolha depende dos requisitos específicos do projeto, do tipo de dados envolvidos e dos objetivos de análise. Cada ferramenta tem seus pontos fortes e pode ser combinada com outras para formar soluções completas de Big Data.

Aprenda!


Cursos gratis de TI


Fundação Bradesco

O que é a Fundação Bradesco?

Fundação Bradesco - Refere-se à uma Escola Virtual, onde a Fundação Bradesco disponibiliza diversos cursos online gratuitos em áreas como Introdução à Informática, Pacote Office (Word, Excel, PowerPoint) e Programação (HTML, CSS e JavaScript). Acesse os cursos gratuitos no link aqui.

WSL — Subsistema do Windows para Linux


Ver Versão do Ubuntu no WSL

Principais comandos para verificar a versão do Ubuntu no WSL

ANTES DE COMEÇAR

Comandos para Ver quais Distribuição esta instalada no WSL — Use os comandos abaixo no terminal do WSL ou no PowerShell para identificar a Distribuição instalada:

a. Ver Distribuição instalada:

wsl -l -v

b. Ver/Configurar a Distribuição sendo usada/a usar:

wsl set ubuntu

b. Faça o Upadate & Upgrade:

sudo apt update && sudo apt upgrade -y

b. Instalar o python:

sudo apt install python3

b. Instalar o PIP (Gerenciador de Pacotes): Obs: Não instala automatico igual ao windows.

sudo apt install python3-pip

b. Python 100% instalado -cheque.

python --version

b. Instale o WSL Extension.

python --version

b. Execute o Visual Code. Obs: Observe no canto inforrior esquerdo - "WSL: Ubuntu

(base) marcio@Ultra:/mnt/c/Windows/system32$ code .
Se amanha parar de funcionar rode: "code --install-extension ms-vscode-remote.remote-wsl".

Comandos para Ver a Versão do Ubuntu no WSL — Use os comandos abaixo no terminal do WSL ou no PowerShell para identificar a versão do sistema em uso:

1. Ver versão detalhada:

lsb_release -a

2. Ver informações completas do sistema:

cat /etc/os-release

3. Ver versão do kernel (mostra que é WSL):

uname -a

4. Ver apenas a versão do Ubuntu:

lsb_release -d

5. Ver versão do kernel simplificada:

uname -r

6. Ver todas as distros instaladas no WSL (rodar no Windows):

wsl -l -v

7. Ver qual distro está em uso:

echo $WSL_DISTRO_NAME

8. Ver versão do WSL:

wsl --version

Hardwares


Hardware

Hardware em português, refere-se aos componentes físicos de um computador ou dispositivo eletrônico. Inclui todas as partes tangíveis que compõem um sistema de computador e permitem que ele funcione. Componentes de hardware comuns em um sistema de computador incluem:

Unidade Central de Processamento (CPU): A CPU é o cérebro do computador, responsável por executar instruções e realizar cálculos.

Memória (RAM): A Memória de Acesso Aleatório (RAM) armazena dados e programas com os quais a CPU está trabalhando atualmente. Ela fornece armazenamento rápido e temporário para processos ativos.

Dispositivos de Armazenamento: Discos rígidos (HDDs) e unidades de estado sólido (SSDs) são usados para armazenar dados e programas permanentemente. SSDs são mais rápidos e confiáveis do que HDDs.

Placa-mãe: A placa-mãe é a placa de circuito principal que conecta e abriga a CPU, RAM e outros componentes. Ela fornece a estrutura para o computador funcionar.

Unidade de Processamento Gráfico (GPU): A GPU é responsável por renderizar gráficos e é especialmente importante para jogos e tarefas intensivas em gráficos.

Unidade de Alimentação (Fonte de Alimentação - PSU): A PSU fornece energia elétrica para todos os componentes dentro do computador.

Dispositivos de Entrada e Saída: Isso inclui periféricos como teclados, mouses, monitores, impressoras e alto-falantes que permitem aos usuários interagir com o computador.

Placa de Rede: Placas de rede (NICs) permitem que um computador se conecte a uma rede, seja por Ethernet com fio ou Wi-Fi sem fio.

Unidades Ópticas: São usadas para ler e gravar discos ópticos, como CDs, DVDs e Blu-rays.

Sistemas de Refrigeração: Ventoinhas e dissipadores de calor são usados para manter os componentes resfriados e evitar o superaquecimento.

Placas de Expansão: São cartões adicionais que podem ser adicionados à placa-mãe para fornecer funcionalidade adicional, como placas de som ou placas de rede.

Gabinete: O gabinete do computador abriga todos os componentes de hardware, fornecendo proteção e organização.

Cabos e Conectores: Vários cabos e conectores são usados para conectar e alimentar os componentes dentro do computador.

Os componentes de hardware trabalham juntos para criar um sistema de computador funcional. A configuração de hardware específica pode variar amplamente, dependendo do uso pretendido do computador, como jogos, trabalho de escritório, pesquisa científica ou tarefas especializadas. A atualização ou personalização de componentes de hardware pode melhorar o desempenho e as capacidades de um computador.

Instalando programas automaticamente!


Winget

O Winget é um gerenciador de pacotes da Microsoft disponível para Windows 10 e Windows 11 que permite baixar e instalar milhares de programas através de linha de comando. Usando ela, você pode criar um script para executar o download e a instalação automática de todos os programas que você usa em seu dia a dia.

Winget

Sites com comando para o Winget

Opções de instalação de programas no pc.

  1. Instalação Manual - entre no site do programa, faça o download e instale manualmente.
  2. Instalação Silenciosa - conheça o switch da instalação, clique aqui.
  3. Instalação com Scripts - Será nescessário o uso de Gerencidores de Pacotes, conheça alguns aqui.

Clique para baixar um exemplo de script para instalação


Inteligência Artificial PC-


ChatGPT

ChatGPT é um modelo de linguagem de grande porte treinado pela OpenAI. Essa Inteligência Artificial é capaz de gerar texto de forma autônoma, com base em dados de treinamento fornecidos, e pode ser usado para aplicações como geração de texto, tradução automática e diálogo.

ChatGPT

Inteligência Artificial Zap-


IA chamada Pi - Pode ajudar nos momentos difíceis: esse chatbot é treinado para fornecer apoio emocional e conselhos para relaxar. Além desse suporte, a ferramenta também consegue responder a qualquer comando em texto, inclusive na língua portuguesa.

Malwares


Malwares

Códigos maliciosos (Malwares) são programas que executam ações danosas e atividades maliciosas. São muitas vezes chamados genericamente de “vírus”, mas existem diversos tipos com características próprias. Conhecer estas características ajuda a identificar comportamentos estranhos no dispositivo e entender as melhores formas de resolver. Também permite estimar o tipo de dano e como atuar, pois alguns furtam dados, outros cifram seus dispositivos e outros podem ser usados para fraudes. Conheça aqui alguns dos principais tipos de códigos maliciosos, clicando na aba acima.

Ameaças Gerais

São os mais cobrados em concurso público.

Tem mais dominações.

Novidades.


Embora exista muitas variações diferentes de malwares, é mais provavel que você encontre os seguintes tipos de malware:

Tabela: Malwares
Tipo - EN Tipo - PT O que faz Exemplo
Viruses Virus Torna-se parte de programas e arquivos. ILOVEYOU.02
Ransomware Ransomware Desativa o acesso da vítima aos dados até que o resgate seja pago RYUK
Fileless Malware Malware sem arquivo Faz alterações em arquivos nativos do sistema operacional Astaroth
Spyware Spyware Coleta dados de atividade do usuário sem o seu conhecimento DarkHotel.24
Adware Adware Exibe anúncios indesejados Fireball.17
Trojans Troianos Disfarça-se de código desejável Emotet / ZeuS/Zbot.11 / WannaCry
Worms Vermes Espalha-se através de uma rede replicando-se Stuxnet / SQL Slammer.03
Rootkits Rootkits Dá aos hackers controle remoto do dispositivo da vítima Zacinlo.12
Keyloggers Registradores de teclas Monitora as teclas digitadas pelos usuários Olympic Vision
Bots Robôs Lança uma ampla enxurrada de ataques Echobot / Mirai.16
Mobile Malware Malware móvel Infecta dispositivos móveis Triada
Wiper Malware Malware do limpador Apaga os dados do usuário além da possibilidade de recuperação. WhisperGate
Malvertising Malvertising Vem de anúncios em sites legítimos The media.16

Confira alguns links que considero de extrema importância:

  1. Códigos maliciosos.
  2. Fascículos da Cartilha de Segurança para Internet.
  3. Internet segura.
  4. CERT.br - Grupo de Resposta a Incidentes de Segurança (CSIRT).
  5. BR-NIC.br - Núcleo de Informação e Coordenação.
  6. CGI.br - Comitê Gestor da Internet no Brasil.
  7. Licença de uso da cartilha.

Saiba como se proteger:

Esta dica pode ser óbvia, e eu quase que apenas a mencionei casualmente no meu parágrafo de abertura. No entanto, temos visto que muitos computadores, especialmente computadores domésticos, que não têm proteção contra vírus e malware. Esta proteção é um primeiro passo obrigatório para manter seu computador livre de vírus.

Ter um software de proteção é o primeiro passo; manter é o segundo. Software anti-vírus gratuito é melhor do que nada, mas tenha em mente que não é a melhor solução. A Microsoft fornece um pacote de segurança “grátis”. É gratuito, pois se você tiver o Windows em sua máquina, terá acesso, mas pagou pela sua licença do Windows. Muitos usuários não estão cientes deste programa, mas na verdade é uma proteção de entrada que é um ótimo ponto de partida. Em caso de empresas é recomendado que a empresa tenha um departamento de T.I responsável por tais atividades ou conte com a ajuda de uma Empresa de TI para auxiliar na execução deste processo.

Isso também pode parecer óbvio, mas muitos de nós esquecemos de fazer isso. Configure seu software para executar em intervalos regulares. Uma vez por semana é preferível, mas não espere muito mais tempo para realizar as verificações. É difícil trabalhar em seu computador enquanto o software antivírus está em execução. Uma solução é executar o software à noite quando você não estiver usando o computador. No entanto, frequentemente desligamos nossos computadores à noite e, portanto, a verificação nunca é executada. Configure seu software antivírus para ser executado em uma noite específica e sempre deixe seu computador em execução nesse dia. Certifique-se de que não desligue automaticamente ou entre no modo de hibernação.

Se você estiver executando o Windows, Mac OS X, Linux ou qualquer outro sistema operacional, mantenha-o atualizado. Os desenvolvedores e empresas responsáveis pelos sistemas oracionais estão sempre emitindo correções de segurança que consertam problemas de segurança. Essas correções ajudarão a manter seu sistema seguro. Da mesma forma, mantenha seu software antivírus atualizado. Vírus e malware são criados o tempo todo. Neste sentido seu softwares de segurança, também deve ser o mais atualizado possível.

Muitos de nossos computadores se conectam a nossos arquivos, impressoras ou à Internet por meio de uma conexão Wi-Fi. Certifique-se de que esta utilizando uma senha para acessá-lo e que a senha seja forte. Nunca transmita uma conexão Wi-Fi aberta. Use a criptografia WPA ou WPA2. Atualmente a tecnologia WEP não é mais forte o suficiente, pois pode ser quebrada em minutos por especialistas. Também é uma ótima ideia não transmitir seu SSID (o nome da sua rede Wi-Fi). Você ainda pode acessá-lo com o seu dispositivo, você só precisa digitar manualmente o SSID e a senha. Se você frequentemente tem hóspedes que usam sua Internet, forneça um SSID para a rede de convidado que devem possuir uma senha diferente da sua rede. Em caso de empresas é recomendado que a empresa tenha um departamento de T.I responsável por gerenciar as atividades relacioandas a gestão segura do ambiente ou conte com a ajuda de uma Empresa de TI para auxiliar na gestão deste processo.

Evite sites que fornecem material pirateado inclusive softwares. Não abra um anexo de e-mail de alguém ou de uma empresa que você não conhece. Não clique em um link em um e-mail não solicitado. Sempre passe o mouse sobre um link (especialmente um com um encurtador de URL ) antes de clicar para ver onde o link realmente está levando você. Se você tiver que baixar um arquivo da Internet, um e-mail, um site FTP, um serviço de compartilhamento de arquivos, etc., verifique-o antes de executá-lo. Um bom software anti-vírus fará isso automaticamente, mas certifique-se de que está sendo feito.

Esta é provavelmente a coisa mais difícil de fazer na Internet. Muitos hackers acessam seus arquivos não por força bruta, mas por meio de engenharia social. Eles obterão informações suficientes para acessar suas contas on-line e coletarão mais dados pessoais. Eles continuarão de uma conta para outra até que tenham informações suficientes para acessar seus dados bancários ou simplesmente roubar sua identidade. Seja cauteloso em fóruns e mídias sociais. Bloqueie todas as suas configurações de privacidade e evite usar seu nome real ou identidade em fóruns de discussão.

Quando você está no café local, na biblioteca e, especialmente, no aeroporto, não use o Wi-Fi “gratuito” aberto (sem senha nem criptografado). Pense nisso. Se você puder acessá-lo sem problemas, o que um indivíduo mal-intencionado treinado pode fazer?

A melhor coisa que você pode fazer é fazer backup de seus arquivos – todos eles. Idealmente, você deve ter seus arquivos (seus dados) em pelo menos três locais: o local onde você trabalha neles, em um dispositivo de armazenamento separado e fora do local. Mantenha seus arquivos em seu computador, faça backup deles em um disco rígido externo e faça backup deles em um local diferente. Você pode usar um serviço de backup ou simplesmente obter dois discos rígidos externos e manter um no trabalho, na casa de um amigo, na casa de um membro da família ou em um cofre que deve ficar em uma localidade diferente. Uma alternativa para empresas é o Backup na Nuvem.

Nunca use a mesma senha, especialmente em sua conta bancária. Normalmente, usamos o mesmo endereço de e-mail ou nome de usuário para todas as nossas contas. São fáceis de ver e roubar. Se você usa a mesma senha para tudo, ou em muitas coisas, e ela é descoberta, leva apenas alguns segundos para hackear sua conta. Use uma senha forte. Use letras minúsculas, maiúsculas, números e símbolos na sua senha.

Pense em algo que seja fácil de manter, fácil de lembrar, mas difícil de adivinhar. Não use datas ou nomes de animais.


Video

Video

Video

Video

Video


Clique aqui para ver a playlist inteira

Mensageria


Message Brokers

O que é um Message Broker?

Os message brokers são sistemas que facilitam a comunicação entre diferentes aplicações, permitindo o envio e recebimento de mensagens. Eles são usados para criar arquiteturas de software distribuídas e escaláveis. Você pode implementá-los usando tecnologias como Apache Kafka, RabbitMQ ou ActiveMQ.

Os message brokers são uma ferramenta poderosa que pode ser usada para simplificar a comunicação assíncrona entre aplicativos, sistemas e serviços. Eles oferecem uma variedade de benefícios, incluindo:

Um Message Broker é frequentemente utilizado em ambientes onde há necessidade de comunicação assíncrona e troca de mensagens entre diferentes componentes de um sistema distribuído. Aqui estão alguns exemplos de aplicação e implementação de Message Brokers:

Para que serve um Message Broker?

Os Message Brokers têm várias finalidades, incluindo:

  1. Comunicação Assíncrona: Permitem a comunicação assíncrona entre diferentes partes de um sistema, o que é crucial em ambientes distribuídos para melhorar a escalabilidade e a flexibilidade.
  2. Desacoplamento: Reduzem o acoplamento entre componentes do sistema, permitindo que eles operem independentemente uns dos outros.
  3. Integração de Sistemas: Facilitam a integração de sistemas heterogêneos, permitindo a comunicação entre aplicativos desenvolvidos em diferentes linguagens e plataformas./li>
  4. Garantia de Entrega: Oferecem mecanismos para garantir a entrega confiável de mensagens, mesmo em situações de falha.
  5. Escalabilidade: Permitem a construção de sistemas distribuídos escaláveis, onde diferentes partes do sistema podem escalar de forma independente.

Onde usar um Message Broker?

Message Brokers são aplicáveis em diversos cenários, incluindo:

  1. Microsserviços: Em arquiteturas de microsserviços, onde diferentes serviços precisam se comunicar de forma eficiente e assíncrona.
  2. Processamento de Eventos em Tempo Real: Em situações que exigem o processamento rápido de eventos em tempo real, como análise de streaming.
  3. Integração de Sistemas Empresariais: Para facilitar a comunicação entre sistemas empresariais que utilizam tecnologias diferentes.
  4. Sistemas de Filas de Mensagens: Para implementar filas de mensagens e processamento assíncrono, úteis em casos como sistemas de notificações, processamento de tarefas em segundo plano, etc.

Como usar e implementar um Message Broker:

A implementação de um Message Broker envolve vários passos:

  1. Escolha da Tecnologia: Selecione a tecnologia de Message Broker adequada para as necessidades do seu sistema. Exemplos incluem RabbitMQ, Apache Kafka, MQTT, etc.
  2. Instalação e Configuração: Instale e configure o Message Broker no seu ambiente de execução.
  3. Definição de Mensagens: Estabeleça o formato e o conteúdo das mensagens que serão trocadas entre os diferentes componentes do sistema.
  4. Produtor e Consumidor: Desenvolva a lógica para os produtores (quem envia mensagens para o broker) e consumidores (quem recebe e processa as mensagens).
  5. Configuração de Filas ou Tópicos: Configure filas (para mensagens entregues a apenas um consumidor) ou tópicos (para mensagens entregues a vários consumidores).
  6. Segurança e Autenticação: Implemente medidas de segurança, como autenticação e autorização, para proteger o Message Broker contra acessos não autorizados.
  7. Monitoramento: Implemente ferramentas de monitoramento para acompanhar o desempenho do Message Broker.
  8. Escalabilidade: Configure e ajuste o Message Broker para lidar com a escalabilidade conforme o sistema cresce.

A implementação específica pode variar dependendo da tecnologia escolhida e dos requisitos do sistema. Cada Message Broker possui sua própria sintaxe e conjunto de recursos, portanto, é importante consultar a documentação específica da ferramenta escolhida.

Exchanges

Lista de software de alguns outros Mensage Broker

  • Amazon MQ
  • Kinesis
    • Apache
      • Apache ActiveMQ
      • Apache Artemis
      • Apache Camel
      • Apache Kafka
      • Apache Qpid
      • Apache Thrift
      • Apache Pulsar
      • Clique aqui para mais

Aprenda!

Para praticar e aprender sobre o Message Brokers, você pode seguir esta tabela:

Tabela: Message Brokers
Mensage Broker Acesse
Amazon MQ
Apache ActiveMQ
Apache Artemis
Apache Camel
Apache Kafka
Apache Qpid
Apache Thrift
Apache Pulsar

Protocolos & Outros


SSL vs TLS

SSL (Secure Sockets Layer) e TLS (Transport Layer Security) são ambos protocolos criptográficos projetados para fornecer comunicação segura em uma rede de computadores. O TLS é basicamente uma versão atualizada e mais segura do SSL. Aqui estão alguns pontos-chave de comparação:

Foram criados para a comunicação FIM a FIM, usando criptografia simétrica e assimétrica.

Visam promover a segurança em comuncações na internet, buscando gatantir a:

  • Confidencialidade (...se os dados estão protegidos);
  • Autenticidade (...de onde vieram, qual a autoria, garantia do não repudio);
  • Integridade (...se os dados não foram alterados).
CIA

Usamos todos os dias para fazer compras, falar com o banco e até mesmo navegação normal, Lembre-se do cadeado que fica ao lado direito antes do endereço.

Dicas
  • Se você clicar neste cadeado pode ver o Certificado Digital para saber qual servidor está sendo conectado;
  • O protocolo HTTPS indica que a sua navegação é segura, alias o S está ligado ao protocolo TLS;
  • O Certificado Digital está por trás de tudo isso;
  • O TLS usa os dois tipos de criptografia;
  • O TLS faz o famoso Handshake - o aperto de mão;
  • Pode aparecer nas camadas, 4, 5 e 6, embora seja independente.

1. Desenvolvimento:

O TLS é o sucessor do SSL e foi introduzido para abordar vulnerabilidades e deficiências encontradas no SSL.

2. Versões:

O SSL possui várias versões, incluindo SSL 2.0 e SSL 3.0.

O TLS tem múltiplas versões, incluindo TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3 e potencialmente mais no futuro.

3. Compatibilidade Retroativa:

O TLS é projetado para ser retrocompatível com o SSL. Isso significa que um servidor habilitado para TLS pode suportar conexões de clientes usando SSL.

4. Melhorias de Segurança:

O TLS inclui várias melhorias de segurança em relação ao SSL. Por exemplo, o TLS possui algoritmos de criptografia mais fortes, métodos de troca de chaves mais seguros e verificações de integridade aprimoradas.

5. Vulnerabilidades:

O SSL foi encontrado com vulnerabilidades, especialmente em suas versões mais antigas (SSL 2.0 e SSL 3.0).

O TLS é projetado para abordar as fraquezas de segurança do SSL, e novas versões do TLS buscam constantemente aprimorar a segurança.

6. Últimas Versões:

A última versão do SSL é a SSL 3.0, mas não é recomendada para uso devido a vulnerabilidades conhecidas.

Até a minha última atualização de conhecimento em janeiro de 2022, o TLS 1.3 é a versão mais recente e segura. O TLS 1.3 inclui melhorias significativas em termos de desempenho e segurança.

7. Perfect Forward Secrecy (PFS):

O TLS enfatiza mais fortemente a Perfect Forward Secrecy (PFS) por padrão, garantindo que, mesmo se uma chave secreta de longo prazo for comprometida, as comunicações passadas permaneçam seguras.

8. Adoção pela Indústria:

O SSL é obsoleto e considerado inseguro, sendo fortemente desencorajado seu uso.

O TLS é amplamente adotado e considerado o padrão para garantir comunicações pela Internet.

QUAIS SÃO OS PROTOCOLOS USADOS COM O TLS?:

  • Chaves Secreta (sim.)
  • Chaves Públicas e Privadas (assim.)
  • Algritimo de Hash (MD4, MD5, SHA-1, WHIRLPOOL)
  • DH - Diffie-Hellman (A troca de chaves de Diffie-Hellman é um método de criptografia para trocas de chaves de maneira segura em canal público)

HANDSHAKE:

  • Exitem duas forma de explicar isso.

Forma Simples: Mais fácil de entender, menos custo.

TLS-HS-SIMPLES


Forma Completa: Mais dificil de entender, mais caro.

Veja o video aqui

Infraestrutura de TI


Rede de computadores ou redes de dados

Rede de computadores é um conjunto de computadores interligados para compartilhar informações.

Rede de computadores ou rede de dados - Tanto informática como na telecomunicação é um conjunto de dois ou mais dispositivos eletrônicos de computação (ou módulos processadores ou nós da rede) interligados por um sistema de comunicação digital (ou link de dados), guiados por um conjunto de regras ( protocolo de rede ) para compartilhar entre si informação, serviços e, recursos físicos e lógicos. Estes podem ser do tipo: dados, impressoras, mensagens (e-mails), entre outros. As conexões podem ser estabelecidas usando mídia de cabo ou mídia sem fio .

Os dispositivos integrantes de uma rede de computadores, que roteiam e terminam os dados, são denominados de “nós de rede" (ponto de conexão), que podem incluir hosts, como: computadores pessoais, telefones, servidores, e também hardware de rede. Dois desses dispositivos podem ser ditos em “rede” quando um dispositivo é capaz de trocar informações com o outro dispositivo, quer eles tenham ou não uma conexão direta entre si.

Os exemplo mais comuns de redes de computadores, são: Internet; Intranet de uma empresa; rede local doméstica; entre outras.

Permitir a troca de dados entre computadores e a partilha de recursos de hardware e software.

As redes de computadores oferecem uma variedade de benefícios, incluindo:

  • Acesso à informação
  • Comunicação e colaboração
  • Melhor comunicação e colaboração
  • Melhoria da qualidade de vida
  • Novos negócios e oportunidades

Troca de informações entre duas ou mais pessoas.

O sistema de comunicação vai se constituir de um arranjo topológico, interligando os vários módulos processadores através de enlaces físicos (meios de transmissão ou rede de transmissão), e de um conjunto de regras com o fim de organizar a comunicação (protocolos).1

A Internet é um amplo sistema de comunicação que conecta muitas redes de computadores. Existem várias formas e recursos de diversos equipamentos que podem ser interligados e compartilhados, mediante meios de acesso, protocolos e requisitos de segurança.

Os meios de comunicação podem ser: linhas telefônicas, cabo, satélite ou comunicação sem fios (wireless).

Uma rede de computadores também é formada por um número ilimitado mas finito de módulos autônomos de processamento interconectados, no entanto, a independência dos vários módulos de processamento é preservada na sua tarefa de compartilhamento de recursos e troca de informações.

Não existe nesses sistemas a necessidade de um sistema operacional único, mas sim a cooperação entre os vários sistemas operacionais na realização das tarefas de compartilhamento de recursos e troca de informações.

Comerciais e Domésticas

Físicas, Lógicas e Outras propriedades - (Segurança, Performance e Confiabilidade) - Definen e Diferem de outras redes.

Conjunto de redes de computadores interconectada

Os links de comunicação por computador que não suportam pacotes, como os links tradicionais de telecomunicações ponto a ponto, simplesmente transmitem dados como um fluxo de bits. No entanto, a maioria das informações em redes de computadores é transportada em pacotes. Um pacote de rede é uma unidade de dados formatada (uma lista de bits ou bytes, normalmente algumas dezenas de bytes com alguns quilobytes de comprimento) carregados por uma rede comutada por pacotes. Os pacotes são enviados através da rede para o seu destino. Uma vez que os pacotes chegam, eles são remontados em sua mensagem original.

Os pacotes consistem em dois tipos de dados: informações de controle e dados do usuário (carga útil). As informações de controle fornecem dados que a rede precisa fornecer os dados do usuário, por exemplo: endereços de rede de origem e de destino, códigos de detecção de erros e informações de seqüência. Normalmente, as informações de controle são encontradas em cabeçalhos de pacotes e reboques, com dados de carga útil entre eles.

Com os pacotes, a largura de banda do meio de transmissão pode ser melhor compartilhada entre os usuários do que se a rede fosse comutada por circuito. Quando um usuário não está enviando pacotes, o link pode ser preenchido com pacotes de outros usuários e, portanto, o custo pode ser compartilhado, com relativamente pouca interferência, desde que o link não seja usado demais. Muitas vezes, a rota que um pacote precisa passar por uma rede não está disponível imediatamente. Nesse caso, o pacote está em fila e aguarda até que um link seja gratuito.


Elementos de cabeamanto, repetidores, servidores etc.

Ele é essencial para a operação de redes de computadores, incluindo redes locais (LANs), redes metropolitanas (MANs) e redes de longa distância (WANs).

O software de rede é usado para uma variedade de propósitos, incluindo:

  • Conexão de computadores : O software de rede permite que os computadores se conectem uns aos outros usando diferentes tipos de tecnologias, como Ethernet, Wi-Fi e Bluetooth.
  • Compartilhamento de recursos : O software de rede permite que os computadores compartilhem recursos, como arquivos, impressoras e dispositivos de armazenamento.
  • Proteção : O software de rede pode ser usado para proteger as redes de computadores contra ataques cibernéticos.
  • Gerenciamento : O software de rede pode ser usado para gerenciar as redes de computadores, incluindo monitoramento do desempenho, solução de problemas e registro de eventos.

Os tipos de software de rede mais usados atualmente incluem:

  • Sistemas operacionais de rede : Linux, Windows Server e macOS Server.
  • Serviços de rede : Servidores web, servidores de arquivos, servidores de banco de dados e servidores de impressão.
  • Software de segurança de rede : Firewalls, antivírus e outros aplicativos de segurança - (Evita ataque cibernéticos). Cisco ASA, Palo Alto Networks PA-Series e Fortinet FortiGate.
  • Software de análise de rede : SolarWinds Network Performance Monitor, ManageEngine OpManager e PRTG Network Monitor.
  • Software de sumulação de rede : Packet Tracer, GNS3, EVE-NG e OPNET Modeler

Os softwares simuladores de redes de computadores são ferramentas valiosas para o ensino, a pesquisa e o treinamento de redes de computadores. Eles permitem que os usuários criem e experimentem redes virtuais sem a necessidade de hardware físico.

Equipamentos que facilitam e dão suporte ao uso de uma rede de computadores

    Elementos de Cabeamento
    Cabo Coaxial
    Cabo de Fibra ótica
    Cabo de Par trançado
    Repetidor
    Transceptor
  • Estação de trabalho
  • Placa de rede
  • Concentrador (hub)
  • Comutador (switch)
  • Roteador (router/gateway)
  • Modem
  • Porta de ligação (gateway router)
  • Ponte (bridge)
  • Firewall
  • Servidor Blade
    Servidor de aplicação
    Servidor de arquivos
    Servidor de backup
    Servidor de banco de dados
    Servidor de e-mail
    Servidor de impressão
    Servidor de jogos
    Servidor de streaming / Servidor de mídia
    Servidor DHCP – Dynamic Host Communication Protocol
    Servidor DNS
    Servidor em nuvem
    Servidor FTP
    Servidor local
    Servidor Proxy
    Servidor web
    Servidor de mídia

Modelo de rede de computador referência da ISO dividido em camadas de funções.

###

###

Video explicativo

A arquitetura TCP/IP é um conjunto de protocolos de comunicação que permite a conexão de dispositivos em redes de computadores. É a base da internet.

Tabela: Protocolos mais usados
Protocolo Significado Descrição
TCP (Transmission Control Protocol) Protocolo de Controle de Transmissão Fornece uma conexão confiável e ordenada entre dois computadores. Os dados são enviados em blocos chamados de segmentos, e o TCP garante que todos os segmentos sejam recebidos na ordem correta e sem erros.
IP (Internet Protocol) Protocolo de Internet Fornece um endereço único para cada dispositivo na rede. O IP é responsável por entregar os dados ao dispositivo correto.
UDP (User Datagram Protocol) Protocolo de Datagrama de Usuário Fornece uma conexão não confiável e desordenada entre dois computadores. Os dados são enviados em blocos chamados de datagramas, e o UDP não garante que todos os datagramas sejam recebidos na ordem correta ou sem erros.
HTTP (Hypertext Transfer Protocol) Protocolo de Transferência de Hipertexto Fornece o transporte de dados da World Wide Web. O HTTP é responsável pela transferência de páginas da web, imagens, vídeos e outros recursos da web.
HTTPS (Hypertext Transfer Protocol Secure) Protocolo de Transferência de Hipertexto Seguro Fornece uma conexão segura para o HTTP. O HTTPS usa criptografia para proteger os dados enviados pela rede.
SMTP (Simple Mail Transfer Protocol) Protocolo de Transferência de Correio Simples Fornece o transporte de e-mail. O SMTP é responsável pela entrega de e-mails entre dois computadores.
POP3 (Post Office Protocol 3) Protocolo de Correio do Escritório 3 Fornece o recebimento de e-mail. O POP3 é responsável pelo download de e-mails do servidor de e-mail para o computador do usuário.
IMAP (Internet Message Access Protocol) Protocolo de Acesso a Mensagens da Internet Fornece o recebimento e o envio de e-mail. O IMAP permite que os usuários visualizem, baixem ou excluam e-mails sem baixá-los completamente para o computador.
Tabela: Protocolos mais comuns
Protocolo Significado Descrição
ICMP (Internet Control Message Protocol) Protocolo de Mensagens de Controle da Internet Fornece mensagens de controle para a rede, como mensagens de erro e aviso.
DNS (Domain Name System) Sistema de Nomes de Domínio Traduz nomes de domínio em endereços IP.
DHCP (Dynamic Host Configuration Protocol) Protocolo de Configuração Dinâmica de Host Fornece endereços IP automaticamente para dispositivos na rede.
ARP (Address Resolution Protocol) Protocolo de Resolução de Endereço Traz endereços IP para endereços MAC.
RIP (Routing Information Protocol) Protocolo de Informação de Roteamento Fornece informações de roteamento para dispositivos na rede.
OSPF (Open Shortest Path First) Protocolo de Primeiro Caminho Mais Curto Aberto Fornece informações de roteamento para dispositivos na rede.
BGP (Border Gateway Protocol) Protocolo de Gateway de Borda Fornece informações de roteamento entre redes diferentes.
SSH (Secure Shell) Camada de Shell Segura Fornece uma conexão segura entre dois dispositivos.
SFTP (Secure File Transfer Protocol) Protocolo de Transferência de Arquivos Seguro Fornece uma transferência de arquivos segura entre dois dispositivos.
FTP (File Transfer Protocol) Protocolo de Transferência de Arquivos Fornece a transferência de arquivos entre dois dispositivos.
Telnet Fornece uma conexão de terminal remoto para um dispositivo. Fornece uma conexão de terminal remoto para um dispositivo.
NTP (Network Time Protocol) Protocolo de Tempo de Rede Sincroniza os relógios de dispositivos na rede.
TLS (Transport Layer Security) Segurança da Camada de Transporte Fornece uma conexão segura para protocolos de transporte, como o HTTP e o FTP.
SSL (Secure Sockets Layer) Camada de Soquetes Seguros Fornece uma conexão segura para protocolos de transporte, como o HTTP e o FTP.

Aprenda!

On-line

Simulador on-line

CS4G Netsim | NS-3

Tutorial

Video

Referem-se a conjuntos de diretrizes, regras e especificações técnicas.


Banda larga e Banda base



Sistema de Autenticação


Autenticação, Autoriazação e Identificação

Antes de tudo saiba diferenciar estes três termos: Autenticação, Autorização e Identificação!

Autenticação: Prova a identidade […] de um usuário do sistema de computador (por exemplo, comparando a senha inserida com a senha armazenada no banco de dados).

Autorização: Especifica direitos/privilégios de acesso aos recursos.

Identificação: Indica a identidade de uma pessoa ou coisa.

Resumindo

  • Autentica = Prova identidade
  • Autoriza = Dá direitos e previlêgios (de acesso)
  • Identifica = Indica a identidade
  • Quais são os sistemas de autenticação existentes?

Login e Senha: O método mais básico de autenticação, onde os usuários fornecem um nome de usuário e uma senha para acessar um sistema ou serviço.

Autenticação de Dois Fatores (2FA) e Multifatores (MFA): Além do nome de usuário e senha, esse método exige uma segunda forma de verificação, como um código enviado por mensagem de texto, aplicativo autenticador ou token de hardware.

Biometria: Utiliza características físicas ou comportamentais únicas de um indivíduo, como impressão digital, reconhecimento facial, íris, voz, para autenticação.

Token de Acesso: Geração de tokens exclusivos que são usados para autenticar um usuário por um período específico de tempo.

OAuth (Open Authorization): Um protocolo de autorização que permite que aplicativos obtenham acesso a recursos em nome de um usuário sem compartilhar suas credenciais.

OpenID Connect: Um protocolo de autenticação que permite aos usuários autenticar-se em vários sites usando uma única identidade.

LDAP (Lightweight Directory Access Protocol) : Um protocolo padrão para acessar e manter serviços de diretório, frequentemente utilizado para autenticação em sistemas corporativos.

SAML (Security Assertion Markup Language: Um padrão XML para trocar informações de autenticação e autorização entre partes, especialmente em ambientes de autenticação única (Single Sign-On - SSO).

Kerberos: Um protocolo de autenticação de rede que fornece um forte serviço de autenticação por meio de criptografia.

JWT (JSON Web Token): Um formato compacto e autossuficiente para representar informações entre partes, frequentemente utilizado para autenticação e autorização.

Sistema de Comunicação


Webhook

SisAut

Webhooks são mecanismos de comunicação; Costumam ser chamadas de "API REVERSA" que permitem que aplicativos enviem informações em tempo real entre si por meio de HTTP. Eles são usados para notificar eventos ou atualizações instantaneamente, eliminando a necessidade de que um aplicativo consulte repetidamente outro para obter informações atualizadas

É uma tecnologia utilizada para permitir a comunicação entre duas aplicações e enviar notificações quase em tempo real. O envio ou o recebimento de dados é disparado quando determinado evento acontecer em uma das aplicações.

O que são webhooks?

Como eles funcionam?

Quais as diferenças entre APIs e webhooks?

Quando usar webhooks?

Como fazer a implementação do webhook?

O que são webhooks?

O termo webhook foi criado em 2007, pelo desenvolvedor Jeff Lindsay, para definir o tratamento de callback, ou o retorno de uma requisição HTTP iniciada por um evento.

Na prática, quando um evento acontece em um sistema, ele envia uma notificação para outro sistema, que será o receptor desse evento. Portanto, esse é um recurso utilizado para permitir a troca de dados entre duas aplicações.

Para ilustrar esse conceito, imagine que temos um site de e-commerce em que um consumidor faz a compra de determinado produto. Ao efetuar o pagamento, há uma comunicação entre o site da loja e a instituição de pagamento, que pode ser uma carteira digital, por exemplo.

A comunicação para realizar o pagamento é feita por meio de uma API, que envia todos os dados necessários para a instituição financeira.

Acontece que, apesar de a transação ter sido finalizada no site, ainda há a pendência sobre a confirmação do pagamento, que pode levar certo tempo até que seja processada pelo sistema da carteira digital.

É nesse momento que um webhook pode ser utilizado. Quando o pagamento for aprovado pela carteira digital, essa informação precisa ser devolvida para o sistema de origem.

Esse, por sua vez, utiliza o registro para atualizar o pedido e para notificar o comprador sobre a aprovação ou não da compra realizada.

Como eles funcionam?

Agora, vamos à parte técnica para verificar como tudo isso acontece na prática. Como mencionamos, o webhook permite a comunicação entre dois sistemas. Para isso, ele precisa de um endpoint, que é uma URL que funciona como um serviço de recepção para atender aos eventos que chegam.

Os eventos representam alguma mudança em uma condição inicial de um dado. Portanto, a mudança no status de pagamento de pendente para aprovado é considerada um evento, e podemos utilizar um webhook para promover a comunicação entre as aplicações.

No nosso exemplo sobre a atualização do status de pagamento, o site de e-commerce é o sistema receptor que disponibiliza essa URL para receber os eventos ocorridos no sistema da carteira digital, que será o provedor da informação.

Portanto, no momento em que o pagamento for aprovado por ela, será enviada uma notificação de volta ao site, para informar que mudou o status do pagamento.

Além de disponibilizar a URL, precisamos informar ao sistema provedor qual será o gatilho para o envio do webhook, ou seja, em que momento será feito o disparo para a comunicação entre os dois sistemas.

Os dados recebidos em um webhook podem ser no formato JSON, XML ou como dados de formulário (application/x-www-form-urlencoded ou multipart/form-data).

Vale ressaltar que o formato mais utilizado é o JSON. É importante dizer que o webhook tanto pode receber quanto enviar dados, e ele pode ser utilizado para algumas funções específicas, como:

push: para enviar notificações em tempo real em aplicações web;

pipes: para permitir a integração entre aplicações por meio do processamento dos dados recebidos ou enviados pelo webhook;

plugins: para o desenvolvimento de plugins para adicionar funcionalidades em aplicações web, como a integração entre sistemas e o envio de notificações.

Quais as diferenças entre APIs e webhooks?

A API e os webhooks podem ser utilizados para promover a comunicação entre dois sistemas. Entretanto, existem diferenças em relação à finalidade de cada um e a forma como isso acontece.

Tanto a API quanto o webhook necessitam de um endpoint para funcionar. Entretanto, a API não funciona automaticamente, ou seja, é preciso que alguém ou algum processo faça uma solicitação para que ela seja executada.

Nesse momento, ela faz a conexão com o servidor para enviar ou receber os dados correspondentes à requisição. Após a conclusão dessa ação, a conexão com o servidor é fechada e não há mais o envio ou o recebimento de dados, até que algo ou alguém execute a API novamente.

Para obter dados por meio de uma API, usamos um processo chamado * pooling, que representa as solicitações feitas periodicamente ao servidor para verificar se há novos dados disponíveis. Portanto, sua arquitetura é baseada em requisições, também chamada de request-driven.

No nosso exemplo sobre a aprovação de pagamento, se fizéssemos a atualização do status por meio de uma API, seria necessário disparar periodicamente uma requisição para a carteira digital, a fim de verificar se o pagamento já foi aprovado.

Já o webhook funciona como um serviço que está sempre disponível para receber algo assim que determinado evento ocorrer no sistema provedor. Ele utiliza a arquitetura que em tempo real, e é disparada por um gatilho.

* Existem dois tipos principais de polling:

Polling por interrupção: Nesse método, o programa verifica constantemente a presença de uma interrupção ou evento. Se um evento ocorre, ele interrompe a execução normal do programa para lidar com o evento. Isso é comum em sistemas que usam hardware para gerar interrupções, como dispositivos de entrada/saída.

Polling por consulta: Neste método, o programa faz consultas regulares para verificar o estado de um dispositivo ou condição. Se o estado atender a determinadas condições, o programa realiza ações apropriadas. Isso é comum em sistemas que não têm suporte a interrupções ou quando a interrupção constante seria ineficiente.

Quando usar webhooks?

Apesar de ser um facilitador para a comunicação entre duas aplicações, nem sempre a utilização de webhooks é a escolha ideal. Portanto, confira algumas situações em que esse recurso representa uma boa alternativa.

  • Quando você não tem um padrão de mudança nos dados

O webhook é uma boa escolha quando precisamos obter alguma informação de um sistema externo, mas não sabemos em que momento ela estará disponível. Se utilizarmos uma API nesse caso, precisaremos enviar a requisição várias vezes, até que os dados necessários estejam disponíveis.

O webhook é uma forma de evitar esse excesso de requisições feitas pela API, pois será feita apenas uma comunicação no momento em que o sistema provedor tiver a informação que precisamos.

  • Para realizar atualizações rápidas

Os webhooks são uma excelente alternativa quando precisamos realizar pequenas atualizações quase em tempo real. As notificações de pagamento quando utilizamos os cartões bancários são um bom exemplo da importância desse recurso.

Ele permite notificar o cliente sempre que uma transação for realizada. Dessa forma, a pessoa consegue identificar movimentações indevidas e pode tomar uma ação imediata para evitar maiores prejuízos.

  • Quando a aplicação não oferece API

Nem sempre o sistema de que precisamos obter informações tem uma API disponível ou, mesmo que tenha, pode ser que ela não atenda às necessidades da aplicação.

Nesse caso, é possível utilizar ou desenvolver um webhook para promover a comunicação entre os sistemas e viabilizar a troca de dados entre eles.

Como fazer a implementação do webhook?

Nada melhor que visualizar na prática como esse recurso funciona. Para isso, vamos fazer a implementação de um webhook no WordPress para fazer uma pequena demonstração. Vamos utilizar o plugin WP Webhook, que permite enviar e receber dados para diversos sistemas externos, como WooCommerce, FluentCRM e muitos outros.

É importante entender o fluxo de implementação do webhook, pois a forma de configuração em cada sistema é feita de acordo com a finalidade da comunicação com a aplicação. Quando enviamos dados para um sistema receptor, é preciso que ele disponibilize uma URL para que a aplicação provedora possa fazer o envio.

Além disso, ao receber esses dados, o sistema receptor precisa tratá-lo de alguma forma, pois lembre-se de que essa comunicação é feita no formato JSON.

Portanto, a aplicação que recebe dados fornece uma URL de recepção, e a aplicação que envia cria uma URL (que é uma API), que só será disparada quando acontecer determinado evento nesse sistema. Confira o funcionamento desse fluxo, a seguir.

Para maiores informações visite o site Rockcontent, e fique por dentro de tudo para executar uma boa implementação do webhooks

WebSocket

SisAut

WebSocket é um protocolo de comunicação bidirecional, que pode enviar os dados do cliente para o servidor, ou do servidor para o cliente reutilizando o canal de conexão estabelecido (bidirecional). A conexão é mantida ativa até ser encerrada pelo cliente ou pelo servidor. Os WebSockets permitem que o servidor e o cliente enviem mensagens a qualquer momento, sem qualquer relação com uma solicitação anterior. Uma vantagem notável de usar WebSockets, é que quase todos os navegadores suportam o protocolo.

Em outras palavras, o protocolo WebSockets:

Por sua vez, possui a finalidade muito mais específica de ser implementado em navegadores web para comunicação persistente do código JavaScript com o servidor web, comunicando-se geralmente através da porta 80 e sempre sobre o protocolo TCP. O formato do protocolo é em texto e o handshake que inicia a comunicação é muito parecido com o HTTP, assim servidores web podem facilmente servir HTTP e WebSockets na mesma porta.

Veja mais no artigo protocolos.

Sites de notícias sobre TI


Gizmodo

O Gizmodo Brasil, como o próprio nome diz, é a versão brasileira do site americano. Inaugurado por aqui no dia 1 de setembro de 2008 este site que começou com foco em Gadgets, hoje dá espaço para os mais variados assuntos de tecnologia e inclusive ciência. Seus focos são: Notícias; Reviews Dicas de tecnologia; Espaço; Ciência e até mesmo ofertas.

gizmodo

Termos e Abreviaturas


Termos e Abreviaturas

Os Termos e Abreviaturas de informática são palavras, expressões ou siglas que são usadas na área da informática para descrever conceitos, objetos ou ações relacionados a computadores, redes, software e hardware.

Os termos e abreviaturas de informática podem ser divididos em duas categorias principais:

  • Termos técnicos: são palavras ou expressões que são usadas para descrever conceitos ou objetos técnicos da informática. Por exemplo, "bit" é um termo técnico que significa um dígito binário, "pixel" é um termo técnico que significa um ponto de imagem e "byte" é um termo técnico que significa um conjunto de oito bits.

  • Abreviaturas: são siglas que são usadas para representar termos técnicos ou objetos. Por exemplo, "ASCII" é uma abreviatura para "American Standard Code for Information Interchange", "TCP/IP" é uma abreviatura para "Transmission Control Protocol/Internet Protocol" e "GPU" é uma abreviatura para "Graphics Processing Unit".

Os termos e abreviaturas de informática são essenciais para quem trabalha na área de informática. Eles permitem que os profissionais se comuniquem de forma clara e precisa sobre conceitos e objetos técnicos.

Aqui estão alguns exemplos de termos técnicos:

  • Bit
  • Byte
  • Bytecode
  • Caractere
  • Circuito
  • Computador
  • Cursor
  • Dados
  • Disco rígido
  • Endereço de IP
  • Erro
  • Falha
  • Hardware
  • Interface
  • Memória
  • Menu
  • Rede
  • Software
  • Sistema operacional
  • Teclado
  • Unidade de processamento central (CPU)
  • Entre outros...

Aqui estão alguns exemplos de abreviaturas:

  • 3GPP - 3rd Generation Partenership Project
  • 6LoWPAN - IPv6 over Low Power Wireless Personal Area Networks
  • AMQP - Advanced Massage Queueing Protocol
  • ARP - Address Resolution Protocol
  • AS - Autonomous System
  • BLE - Bluetooth Low Energy
  • BSD - Berkley Software Distribuition
  • CoAP - Constrained Application protocol
  • CSMA - CA Carrier Sense Multiple Access with Collision Advoidance
  • DDS - Data Distribuition Service
  • DIO - Destination Information Object
  • DODAG - DestinationOriented Directed Acyclic Graph
  • DNS - Domain Name System
  • DAO - Destination Advertisement Object
  • DAO ACK - Destination Advertisement Object Acknowledgment
  • DPWS - Devices Profiles for Web Services
  • DTLS - Datagram Transport Layer Security
  • DV - Distance Vector
  • EIGP - Enhanced Interior Gateway Protocol
  • EPC - Envolved Packet Core
  • FFD - Fullfunction Devices
  • FTP - File Transfer Protocol
  • HSPDA - HighSpeed Downlink Packet Access
  • HTTP - Hypertext Transfer Protocol
  • ICMP - Internet Control Message Protocol
  • ICMPv6 - Internet Control Message Protocol Version 6
  • IEEE - Institute of Electrical and Electronics Engineers
  • IETF - Internet Engineering Task Force
  • IGMP - Internet Group Management protocol
  • IGP - Interior Gateway Protocol
  • IOS - International Organization for Standardization
  • IoT - Internet of Things
  • IP - Internet Protocol
  • ISP - Internet Service Provider
  • ITU - International Telecommunication Union
  • LCC - Link Control Protocol
  • LLN - Lowpower and Lossy Network
  • LTE - LongTerm Evaluation
  • LTEA - Long TermEvaluation Advanced
  • M2M - MachineToMachine
  • MAC - Medium Access Control
  • MIB - Management Information Base
  • MIMO - Multipleinput and Multipleoutput
  • MoM - Massage Oriented Middleware
  • MLD - Multicast Listener Discovery
  • MQTT - Message Queue Telemetry Transport
  • MQTT SN - Message Queue Telemetry Transport for Sensor Network
  • NCPs - Network Control Protocols
  • NAT - Network Address Translation
  • NVT - Network Virtual Terminal
  • OFDMA - Orthogonal Frequency Division Multiple Access
  • OSI - Open System Interconnect
  • OSPF - Open Shortest Path First
  • PAN ID - Personal Area Network Identifier
  • PDU - Protocol Data Unit
  • PLC - Power Line Communication
  • POP3 - Post Office Protocol Version 3
  • PPP - PointtoPoint Protocol
  • PPPoA - PointtoPoint Protocol Over ATM
  • PPPoE - PointtoPoint Protocol Over Ethernet
  • QUIC - Quick UPD Internet Connections
  • RLE - RunLength Encoding
  • REST - Representational State Transfer
  • RFC - Request for Comments
  • RIP - Routing Information Protocol
  • RPC - Remote Procedure Call
  • RPL - Routing over Low Power and Lossy Network
  • SMI - Structure of Management Information
  • SMTP - Simple Mail Transfer Protocol
  • SNMP - Simple Network Management Protocol
  • SOAP - Simple Object Access Protocol
  • SSL 3.0 - Secure Sockets Layer Version 3.0
  • TCP - Transmission Control Protocol
  • TCP/IP - Transmission Control Protocol/Internet Protocol
  • TFTP - Trivial File Transfer Protocol
  • TLS - Transport Layer Security
  • UDP - User Datagram Protocol
  • UMTS - Universal Mobile Telecommunications System
  • WiMax - Worldwide Interoperability for Microwave Access
  • WSSOAP - Wireless Sensor SOAP
  • WTLS - Wireless Transport Layer Security
  • XML - Extensible Markup Language
  • XMPP - Extensible Messaging and Presence Protocol
  • XNS - Xerox Network System

Designers & Designs


Designer Partner

O que é um Designer Partner?

Designer Partner e Designer de Software não são a mesma coisa.

Eis as diferenças entre eles:

Designer Partner - Cargo de liderança em uma empresa de tecnologia. Geralmente é responsável por liderar uma equipe de designers e designers de experiência do usuário (UX). Eles também trabalham com clientes para entender suas necessidades e criar soluções de design que atendam às suas necessidades.

Designer de Software - Profissional que cria a interface do usuário (UI) e a experiência do usuário (UX) de um software. Eles trabalham com desenvolvedores de software para criar software que seja fácil de usar e agradável.

Onde usar um Designer Partner?

Designer partners podem ser usados em qualquer contexto em que seja necessário o desenvolvimento de um produto ou serviço. Eles são particularmente úteis em casos em que é necessário o conhecimento e a expertise de profissionais com diferentes áreas de atuação.

Para que serve o Designer Partner?

Os designer partners servem para fornecer diferentes perspectivas e conhecimentos para o desenvolvimento de um produto ou serviço. Eles podem ajudar a garantir que o produto ou serviço atenda às necessidades dos usuários e do mercado.

Como usar e implementar o Designer Partner?:

A implementação de designer partners pode variar de acordo com o contexto específico. No entanto, existem alguns passos gerais que podem ser seguidos:

  1. Definir os objetivos do projeto: O primeiro passo é definir os objetivos do projeto. Isso ajudará a definir o perfil do designer partner ideal.
  2. Identificar os candidatos: Depois de definir os objetivos do projeto, é hora de identificar os candidatos potenciais. Isso pode ser feito por meio de pesquisa online, networking ou indicações.
  3. Realizar entrevistas: Uma vez identificados os candidatos potenciais, é importante realizar entrevistas para avaliar suas habilidades e experiência.
  4. Selecionar o designer partner: Após as entrevistas, é hora de selecionar o designer partner ideal.

Quais são as FERRAMENTAS usada por um Designer Partner? CDPP

Slack, Trello e Jira

Trabalho em conjunto entre os designer partners

Adobe Photoshop, Illustrator e Sketch

Cria interfaces de usuário, designs de produtos e outros elementos visuais

Axure RP, InVision e Proto.io

Cria protótipos interativos de produtos e serviços

UserTesting, Hotjar e Google Analytics

Coleta dados sobre os usuários, como suas necessidades, desejos e comportamentos

Quais são as ÁREAS usada por um Designer Partner? EuGIPS

Foca na experiência geral do usuário ao interagir com um produto ou serviço, garantindo que seja intuitivo, eficiente e agradável.

Criação de elementos visuais como logotipos, panfletos, banners e materiais de marketing.

Trabalha na aparência visual dos elementos de uma interface, como botões, menus e ícones.

Desenvolvimento de produtos físicos ou digitais, considerando estética, funcionalidade e experiência do usuário.

Considera a experiência do usuário em todos os pontos de contato com um serviço, desde a descoberta até a pós-utilização.

Aprenda!


Comentários em Linguagens de Programação



Editores de Texto


VS Code

O Visual Studio Code (VS Code) é um editor de texto multiplataforma desenvolvido pela Microsoft. Ele é extensível e possui suporte para múltiplas linguagens de programação.

Plataformas de Desenvolvimento Sem Codificação (No Code)


Appy Pie

Appy Pie permite criar aplicativos móveis para Android e iOS com uma interface intuitiva de arrastar e soltar.

Aprenda para concurso


Processo de Desenvolvimento

CMMI-DEV v2.0; ABNT NBR ISO/IEC/IEEE 12207:2021; MR-MPS-SW e UML 2.5; BPMN; Métodos Ágeis; Engenharia de requisitos; Engenharia de Software; Low-code e no-code software development.

Servidores Locais


WampServer

O WampServer é uma plataforma de desenvolvimento web no Windows, que permite criar aplicações web com Apache, PHP e MySQL.


Tutoriais - Videos - Apostilas e Scripts sobre Python


Apostilas sobre Python

Veja as versões on-line das apostilas sobre Python, elas estão selecionadas para auxiliar no aprendizado da linguagem.

  1. Apostila Python |
  2. Cronograma de estudo Python |
  3. Problemas Pyhton |
  4. Mapa do python |
  5. Sites para Deployment |
  6. Funções Especiais em Python |
  7. Resumo desenvolvimento WEB Python - Explicação |
  8. Resumo desenvolvimento WEB Python - Códigos |
  9. Resumo desenvolvimento WEB Python |
  10. Integração de APIs e Serviços Externos |
  11. Ambientes Virtuais |
  12. Extensões Flask |
  13. Recursos para aprender e praticar python |

RESUMO COMANDOS IMPORTANTES

  • Instalar o python do site oficial
  • python --version
  • python -m venv venv
  • .\venv\Scripts\Activate
  • pip list
  • pip show
  • pip check
  • pip freeze
  • pip freeze > requirements.txt
  • pip install -r requirements.txt
  • pw
  • Get-ExecutionPolicy
  • Set-ExecutionPolicy RemoteSigned
  • C:\> cd D:\MEUSSITESEPROJETOS\Projetos\Projetos-Python\Projetos-Python\Loterias\LotofaciL
  • .\Scripts\activate

RESUMO OUTROS COMANDOS

  • python -m pip install --upgrade pip (Atualiza o pip para a versão mais recente.)
  • python -m venv (Cria um novo ambiente virtual com o nome especificado.)
  • python (Executa um script Python diretamente do terminal.)
  • python -m pip uninstall (Desinstala um pacote Python específico.)
  • python -m pip check (Verifica a integridade das dependências instaladas.)
  • python -m http.server (Inicia um servidor HTTP simples para testar projetos localmente.)
  • python -c "<expressão>" (Executa uma expressão Python diretamente na linha de comando.)
  • pip install --upgrade (Atualiza um pacote Python para a versão mais recente disponível.)
  • python -m pdb (Executa um script Python no modo de depuração interativa.)
  • python -m cProfile (Analisa o desempenho de um script Python.)
  • python -m ensurepip (Garante que o pip esteja instalado para o ambiente Python.)
  • python -m venv --help (Exibe a ajuda sobre o módulo venv e suas opções.)
  • python -m site (Mostra as informações sobre o ambiente Python.)
  • pip install == (Instala uma versão específica de um pacote Python.)
Tabela com comandos PW

PYTHON - MANIPULAÇÃO RÁPIDA

    Acessando um diretório rapidamente
  • WPS
    Criando uma máquina virtual
  • python -m venv venv
  • .\venv\Scripts\Activate
    Instale os módulos necessários (Veja as instalações)
  • pip list
    Faça backup dos requisitos - Instale os requisitos em outro pc
  • pip freeze > requirements.txt
  • pip install -r requirements.txt
    Execute o script (Tanto pelo cmd ou IDE)
  • python d:/Projetos/Celio/Marcio_Fernando_Maia/Projetos-Python/MerginDocs/Docx/merge_docx_xlsx_pptx_app.py
Estrutura de pasta Estrutura
    import os
  • print("Arquivos estáticos na pasta 'static':")
  • print(os.listdir('static'))

Isso mostrará no console se os arquivos style.css e script.js estão na pasta correta.

PYPY3 - MAIS RÁPIDO QUE PYTHON

Passo Descrição
1. Baixar o instalador https://www.pypy.org/download.html
2. Extrair os arquivos
C:\pypy3
3. PATH
C:\pypy3
4. Teste
pypy3 --version

Python X Pypy3

Tarefa Python PyPy3
Verificar a versão python --version pypy3 --version
Iniciar um REPL python pypy3
Executar um script Python python meu_script.py pypy3 meu_script.py
Criar um av python -m venv nome_do_ambiente pypy3 -m venv nome_do_ambiente
Ativar o av nome_do_ambiente\Scripts\activate nome_do_ambiente\Scripts\activate
Desativar o av deactivate deactivate
Instalar um pacote python -m pip install nome_do_pacote pypy3 -m pip install nome_do_pacote
Listar pacotes python -m pip list pypy3 -m pip list
Salvar dependências (freeze) python -m pip freeze > requirements.txt pypy3 -m pip freeze > requirements.txt
Instalar dependências python -m pip install -r requirements.txt pypy3 -m pip install -r requirements.txt
Atualizar o pip python -m pip install --upgrade pip pypy3 -m pip install --upgrade pip

DJANGO

Passo Comando
1. Criar pasta (se necessário) PS D:\CURSO-PYTHON> mkdir projetos
PS D:\CURSO-PYTHON> cd projetos
2. Criar ambiente virtual PS D:\CURSO-PYTHON\projetos> python -m venv venv
3. Ativar ambiente virtual PS D:\CURSO-PYTHON\projetos> venv\Scripts\activate
4. Instalar Django (venv) PS D:\CURSO-PYTHON\projetos> pip install Django
5. Criar projeto Django (venv) PS D:\CURSO-PYTHON\projetos> django-admin startproject testando
6. Entrar na pasta do projeto (venv) PS D:\CURSO-PYTHON\projetos> cd testando
7. Rodar migrações iniciais (venv) PS D:\CURSO-PYTHON\projetos\testando> python manage.py migrate
8. Executar o servidor (venv) PS D:\CURSO-PYTHON\projetos\testando> python manage.py runserver
URL do servidor (acrescentado) http://127.0.0.1:8000/

IAs do ecossistema Google


Canais Oficiais de Novidades do Google

Fique atento no que rola nos bastidores da gigante da informática acompanhando seus canais oficiais de comunicação:

  • Google AI Blog
    • Anúncios oficiais de Gemini, Bard (antigo), Gemini Live e modelos novos.
    • Mudanças em IA, APIs e recursos.
    • É considerado o canal oficial mais confiável para atualizações de inteligência artificial.
  • Google Blog (The Keyword)
    • Notícias gerais da empresa.
    • Lançamentos de produtos (Pixel, Android, Gemini, etc.).
  • Google Developers
    • Atualizações técnicas (APIs do Gemini, AI Studio, Vertex AI).
    • Novos recursos para integração de IA voltada para desenvolvedores.
  • Google AI Studio
    • Onde você testa modelos Gemini diretamente.
    • Frequentemente mostra recursos e opções experimentais antes de chegar ao público geral.



IA Generativa: Especialização e Mercado


O Que é IA Generativa?

A IA Generativa é um subcampo da Inteligência Artificial voltado para a criação de novos conteúdos inéditos — textos, imagens, código, áudios e vídeos — a partir de instruções (prompts) fornecidas por usuários ou sistemas. Ao invés de apenas classificar dados ou prever resultados (como a IA Tradicional/Analítica), os modelos generativos "aprendem" os padrões estruturais de imensas bases de dados para produzir respostas originais.

Diferença fundamental: Enquanto a IA tradicional detecta fraudes num cartão de crédito ou classifica um e-mail como spam, a IA Generativa redige o e-mail, escreve o código do sistema e desenha as imagens da campanha publicitária.

🚀 Por que a demanda explodiu no mercado?

As empresas estão adotando a IA Generativa em massa, o que gerou um déficit de profissionais qualificados. O uso principal é para:

  • Automatizar fluxos de trabalho: gerar relatórios corporativos, resumir extensas documentações e criar assistentes de atendimento (chatbots avançados).
  • Acelerar o desenvolvimento de software: assistentes de programação (Code Assist/Copilot) e automação de rotinas de testes.
  • Personalização e Experiência do Usuário: agentes autônomos que consomem o histórico do usuário e interagem com contexto altamente natural.



Educação e Qualificação Profissional: 11 Plataformas Gratuitas com Certificado


EV.G / ENAP - Escola Virtual de Governo

1. Descrição Profissional: A Escola Virtual de Governo (EV.G), mantida pela ENAP (Escola Nacional de Administração Pública), é a principal plataforma governamental de capacitação unificada do Brasil. Focada em disseminar conhecimento de alto nível para a gestão pública e sociedade em geral.

História e Posicionamento no Mercado

Consolidada como um hub centralizado de aprendizado contínuo para servidores públicos e cidadãos, a EV.G democratiza o acesso ao conhecimento gerado por diversas instituições do Governo Federal. Com o tempo, ampliou seu catálogo abrangendo inovação, tecnologia e eficiência administrativa.

Principais Áreas de Estudo e Cursos em Destaque

Áreas de Estudo: Gestão Pública, Ética, Tecnologia da Informação (Excel, Informática), Inovação e IA, Atendimento ao Público, Orçamento e Finanças.

Cursos em Destaque: Introdução à Inteligência Artificial, Excel Avançado para Gestão, Fundamentos da LGPD e Gestão Ágil de Projetos.

Certificação e Reconhecimento

A plataforma oferece Certificados 100% Gratuitos com chancela governamental. A certificação é gerada automaticamente após a conclusão de todas as atividades avaliativas com a nota mínima exigida (geralmente 60% ou 70%). O reconhecimento no mercado é elevadíssimo, especialmente para progressão de carreira no setor público, concursos, e para enriquecimento de currículo no setor privado demonstrando atualização contínua.

Níveis, Modalidade e Flexibilidade

  • Nível dos Cursos: Iniciante a Intermediário, com alguns focos avançados em gestão.
  • Modalidade de Ensino: EAD (Ensino a Distância) Assíncrono.
  • Flexibilidade de Horários: Total flexibilidade, permitindo ao aluno estudar no seu próprio ritmo, 24 horas por dia, 7 dias por semana.

Público-Alvo e Perfil Ideal

Público-Alvo: Servidores públicos em busca de capacitação contínua, cidadãos comuns, estudantes e profissionais buscando qualificação sem custos.

Perfil Ideal de Aluno: Pessoas autodisciplinadas, com foco em gestão, inovação no setor público e que necessitam de flexibilidade total de horários para alavancar a carreira.

Diferenciais, Recursos e Acessibilidade

  • Diferenciais: Conteúdo desenvolvido diretamente por órgãos governamentais de excelência, garantindo rigor e relevância alinhada às políticas públicas atuais.
  • Recursos Extras Disponíveis: Trilhas de aprendizagem estruturadas, bibliotecas digitais, materiais em PDF para download e validação eletrônica de certificados.
  • Aplicativo Mobile (Android/iOS): Acesso totalmente responsivo via navegador mobile, proporcionando excelente leitura em smartphones, embora não possua aplicativo nativo (Android/iOS).
  • Idiomas Disponíveis: Focado majoritariamente em Português (PT-BR).

Benefícios e Oportunidades

Benefícios para Carreira Profissional: Ideal para obtenção de horas complementares nas universidades e essencial para a progressão funcional e adicionais de qualificação no serviço público.

Benefícios para Freelancers e Empreendedores: Excelente para adquirir noções sólidas de gestão, atendimento ao cliente, finanças e legislação sem investimento financeiro inicial.

Possibilidades para área de Tecnologia e IA: Oferece formações introdutórias essenciais em Excel e Inteligência Artificial, preparando a base tecnológica do aluno antes de avançar para plataformas técnicas densas.

Experiência da Plataforma e Qualidade

Experiência e Facilidade de Uso: A plataforma possui um design limpo, institucional e com curva de aprendizado quase nula. A navegação é direta e otimizada para foco total no conteúdo educacional.

Qualidade do Conteúdo: Alto padrão instrucional, com revisão técnica por especialistas em pedagogia e gestão da ENAP.

Comunidade e Suporte: Fóruns limitados de interação entre alunos; o suporte ocorre principalmente via central de ajuda, manuais e FAQs detalhados.

Vantagens

Totalmente gratuito, chancela oficial do Governo Federal, ampla variedade de cursos gerenciais, emissão imediata e validada de certificados.

Possíveis Limitações

Poucos cursos de nível técnico avançado em programação profunda ou engenharia de software.

Destaques Estratégicos e Conclusão Profissional

Destaques Estratégicos da Plataforma: Atua como o principal pilar educacional do Estado brasileiro, fornecendo as ferramentas essenciais para a modernização administrativa e capacitação cidadã de forma escalável.

Conclusão Profissional da Análise: A plataforma EV.G / ENAP é um recurso obrigatório para qualquer profissional brasileiro. Sua robustez institucional aliada à facilidade de acesso a torna uma ferramenta inestimável para a construção de um currículo sólido e confiável.




Git e GitHub



O que é Git

O Git é um sistema de controle de versão distribuído, criado por Linus Torvalds em 2005. Ele permite que desenvolvedores rastreiem mudanças no código-fonte ao longo do tempo, colaborem em projetos e revertam alterações quando necessário. Cada desenvolvedor possui uma cópia completa do histórico do projeto em sua máquina local.

Setup do Ambiente de Programação Instalar o Git Fluxo de ações git init / git clone

Dicas para um bom TCC...

Pré-requisitos para usar o Node.js

  • Node.js (versão 18 ou superior)
  • npm ou yarn
  • Conta no Convex (gratuita)

Node.js

Baixe e instale o Node.js (versão 18 ou superior) diretamente do site oficial: https://nodejs.org/

Essa parte é o que você precisa já ter instalado/configurado no seu computador antes de rodar o sistema.

  • LTS (Long Term Support) → recomendado para a maioria dos projetos (mais estável).
  • Current → versão mais nova, mas pode mudar rápido (boa para testes ou novos recursos).
  1. Node.js (versão 18 ou superior)

    O Node.js é o ambiente que permite rodar JavaScript no servidor ou no seu PC.

    Ele é necessário porque o frontend desse projeto usa Vite (um bundler moderno) e o backend usa ferramentas em Node (como o Convex).

    Você precisa instalar no mínimo a versão 18 (se já tiver uma mais nova, melhor ainda).

    Para conferir sua versão instalada:

    node -v

    Se aparecer algo como v18.x.x ou maior, está ok.

  2. npm ou yarn

    Tanto npm quanto yarn são gerenciadores de pacotes do Node.js.

    Eles servem para instalar e atualizar as dependências do projeto (as bibliotecas que o sistema precisa para funcionar).

    O npm já vem junto com o Node.js.

    O yarn é uma alternativa, mas precisa ser instalado separadamente:

    npm install -g yarn

    No projeto, você pode usar um ou outro, mas geralmente se recomenda usar o npm por padrão.

Em resumo:

  • Node.js → é o "motor" que faz o sistema rodar.
  • npm/yarn → são "os instaladores" que trazem as ferramentas do projeto.

Passo a Passo
  1. Clone/Download do Projeto
    # Se você tem o código em um repositório
    git clone [URL_DO_REPOSITORIO]
    cd [NOME_DA_PASTA]
    
    # Ou se você tem os arquivos localmente, navegue até a pasta
    cd caminho/para/o/projeto
  2. Instalar Dependências
    npm install
  3. Configurar o Convex
    1. Instalar Convex CLI globalmente
      npm install -g convex
    2. Fazer login no Convex
      npx convex login
    3. Inicializar o projeto Convex
      npx convex dev
  4. Configurar Variáveis de Ambiente
    CONVEX_DEPLOYMENT=seu-deployment-url
    VITE_CONVEX_URL=https://seu-deployment.convex.cloud
  5. Deploy do Backend
    npx convex deploy
  6. Inicializar Dados do Sistema
    npx convex run users:initializeAdmin
  7. Iniciar o Frontend
    npm run dev

Primeiro Acesso

Acesse http://localhost:5173

  • Email: admin@cosmopolis.sp.gov.br
  • Senha: Crie na primeira vez que acessar
< hr />

Resumo técnico — Pré-requisitos e passo a passo (Node.js + Convex)

Objetivo: ambiente mínimo para rodar frontend (Vite) e backend (Convex). Instruções compactas, orientadas a quem vai preparar/depurar o ambiente.

1) Pré-requisitos mínimos

  • Node.js v18 ou superior (recomendado: LTS). Verificar com node -v.
  • npm (vem com Node) ou yarn (opcional). Verificar com npm -v ou yarn -v.
  • Conta no Convex (plano gratuito) e Convex CLI.
  • Git (se for clonar o repositório) e acesso à rede para instalação de dependências.

2) Recomendações rápidas

  • Use a versão LTS do Node para estabilidade.
  • Se usar yarn, não misture lockfiles com npm.
  • Variáveis do Vite devem começar com VITE_ (ex.: VITE_CONVEX_URL).

3) Passo a passo — comandos (sequência mínima)

# (1) Clonar / entrar no diretório do projeto
git clone [URL_DO_REPOSITORIO]
cd [NOME_DA_PASTA]

# (2) Instalar dependências (npm ou yarn)
npm install
# ou
# yarn install

# (3) Instalar Convex CLI (global)
npm install -g convex

# (4) Autenticar no Convex
npx convex login

# (5) Inicializar ambiente de desenvolvimento Convex (local)
npx convex dev

# (6) Deploy do backend Convex (quando pronto)
npx convex deploy

# (7) Inicializar dados do sistema (ex.: criar admin)
npx convex run users:initializeAdmin

# (8) Rodar frontend (Vite)
npm run dev
# Acesse: http://localhost:5173

4) Configurar variáveis de ambiente

Crie um arquivo .env na raiz ou exporte variáveis no ambiente. Exemplo mínimo:

# arquivo .env (exemplo)
CONVEX_DEPLOYMENT=seu-deployment-url
VITE_CONVEX_URL=https://seu-deployment.convex.cloud

Export temporário (Linux/macOS):

export CONVEX_DEPLOYMENT=seu-deployment-url
export VITE_CONVEX_URL=https://seu-deployment.convex.cloud

PowerShell (sessão atual):

$env:CONVEX_DEPLOYMENT = 'seu-deployment-url'
$env:VITE_CONVEX_URL = 'https://seu-deployment.convex.cloud'

5) Deploy e inicialização do backend

  • Use npx convex deploy para publicar o backend — o comando retorna o URL do deployment.
  • Após deploy, atualize VITE_CONVEX_URL com o URL retornado ou configure via dashboard Convex.
  • Execute scripts de inicialização (seed data) com npx convex run <namespace>:<task>.

6) Primeiro acesso

# Frontend em dev
Acesse: http://localhost:5173

# Credenciais iniciais (exemplo)
Email: admin@cosmopolis.sp.gov.br
Senha: criar na primeira vez que acessar (fluxo do app)

7) Checklist rápido (antes de rodar)

Item Verificação
Node node -v (>= v18)
npm/yarn npm -v ou yarn -v
Convex CLI npx convex --help
Variáveis VITE_CONVEX_URL presente
Porta frontend 5173 livre (ou ajustar Vite)

8) Erros comuns e soluções rápidas

  • Node versão baixa: atualize para >=18 — pacotes nativos podem falhar.
  • Convex login falha: checar rede/credenciais; refazer npx convex login.
  • Vite não encontra VITE_: a variável deve começar com VITE_ para ser injetada no bundle.
  • Porta 5173 ocupada: mudar porta no script dev ou encerrar processo que usa a porta.

9) Comandos úteis de debug

# checar versão do node e npm
node -v && npm -v

# listar processos na porta 5173 (Linux/mac)
lsof -i :5173

# matar processo (Linux)
kill -9 <PID>

# testar se o convex está acessível (após deploy)
curl -I https://seu-deployment.convex.cloud

Observação: este fragmento presume que o repositório contém os scripts npm e a configuração Convex esperada. Ajustes (nomes de tasks, namespaces, seed data) dependem do projeto — verifique package.json e a pasta de funções Convex.

INSTALANDO O NODE.JS

Tecnologia Link Comando de Verificação
Node.js https://nodejs.org/pt/download node -v
NPM (vem junto com Node.js) npm -v
npm install --global yarn https://classic.yarnpkg.com/latest.msi yarn --version
Yarn (Chocolatey) Opcional https://chocolatey.org/packages/yarn choco install yarn

COMANDOS PRIMORDIAIS

Caso o yarn não funcione ative-o com estes comandos.. corepack enable | corepack prepare yarn@stable --activate

Então: Node -v | Npm -v | yarn -v

Comando Função Exemplo
yarn init -y Crie o arquivo package.json PS D:\Projetos\nodejs> yarn init -y
yarn add express Adicionar o express PS D:\Projetos\nodejs> yarn add express
where node / which node Verificar localização do executável PS D:\Projetos\nodejs> where node

USO DIÁRIO

Comando Função Exemplo
node arquivo.js Executar um script node server.js
node --watch app.js Executar com recarga automática node --watch index.js
npm init -y Criar package.json rapidamente npm init -y
npm install pacote Instalar dependência npm install express
npm uninstall pacote Remover dependência npm uninstall lodash
npm run script Rodar script do package.json npm run dev

MANUTENÇÃO

Comando Função Exemplo
npm list --depth=0 Listar pacotes instalados npm ls --depth=0
npm outdated Ver pacotes desatualizados npm outdated
npm update Atualizar dependências npm update
npm cache clean --force Limpar cache npm cache clean --force

Tutorial Node.js
Tutorial Node.js

Resumo técnico feito por Márcio Fernando Maia.

Mão na massa!

  1. Chef
  2. prompt resumido - 2000
  3. download and descompress project
  4. pw
  5. cd "pasta-do-projeto"
  6. node -v | Cheque se o node está instalado
  7. npm -v | Cheque se o npm está instalado
  8. yarn init -y | Crie um arquivo .json
  9. yarn add express | Adicione as dependencias express
  10. npm install | Instale as dependencias
  11. npm run dev ou npm start | Rode a aplicação
  12. Início automático
Ação / Recurso npm (package-lock.json) yarn (yarn.lock)
Iniciar projeto npm init -y yarn init -y
Instalar dependência npm install express yarn add express
Instalar dependência global npm install -g nodemon yarn global add nodemon
Instalar todas as dependências npm install yarn install
Remover dependência npm uninstall express yarn remove express
Atualizar dependência npm update express yarn upgrade express
Rodar script (ex: start) npm run start yarn start
Pasta de módulos node_modules node_modules

Bons costumes

Bons constumes
O que faz Comando Segurança
Criar .env no terminal New-Item -Path . -Name ".env" -ItemType "File" Adicione o .gitignore
Intale o pacote npm install dotenv Acessar este variável no Node/Expres
o Dotenv vai ler quando... ...require('dotenv').config(); index.js ou no app.js


HOSPEDAGEM NO FLY.IO - PASSO A PASSO
Etapa Descrição / Comandos
1️⃣ Acesso Fly.io
2️⃣ Instalar CLI (PowerShell)
iwr https://fly.io/install.ps1 -useb | iex

Se falhar, instale manualmente com o script:

https://fly.io/install.ps1
install-fly.io.ps1

Saída esperada:

Downloading flyctl...
flyctl was installed successfully to C:\Users\Marcio Fernando Maia\.fly\bin\flyctl.exe
Run 'flyctl --help' to get started
        
3️⃣ Verificar instalação
flyctl version
4️⃣ Login na conta Fly.io
flyctl auth login

Exemplo de saída:

Opening https://fly.io/app/auth/cli/...
Waiting for session... Done
successfully logged in as marciofernando.maia@yahoo.com.br
        
5️⃣ Criar app
flyctl apps create gerepalpitesprofissional
6️⃣ Criar arquivo Dockerfile

No diretório do projeto: D:\Projetos\python\GerePalpitesProfissional

Conteúdo do arquivo Dockerfile:

FROM python:3.10-slim

WORKDIR /app
COPY . .

RUN pip install --no-cache-dir -r requirements.txt

CMD ["python", "app.py"]
        
7️⃣ Criar arquivo fly.toml

Execute o comando abaixo:

flyctl launch
8️⃣ Deploy
flyctl deploy

Ou, se quiser especificar manualmente o app:

flyctl deploy -a gerepalpitesprofissional
9️⃣ Acesso ao app
🔟 Resumo rápido
pw cd ""
login
flyctl deploy
        

Exemplo real acesse: Gere Palpites Profissional


Banco de Dados Conexões Simultâneas Leitura Concorrente Escrita Concorrente Tipo de Bloqueio Suporte a Threads
SQLite Até ~1.024 (não recomendado mais que 100) Sim Apenas 1 por vez File-level locking Limitado (conexões separadas)
MySQL/MariaDB 100 a 100.000 Sim Sim Row-level / Table-level Sim
PostgreSQL 100 a 10.000 Sim Sim Row-level Sim
SQL Server 30.000+ Sim Sim Row-level Sim
Oracle Milhares Sim Sim Row-level Sim
MongoDB 10.000+ Sim Sim Document-level Sim
Redis 10.000+ Sim Sim (transações simples) Key-level Sim


Banco de Dados Suporte ACID Uso Recomendado Armazenamento
SQLite Sim (limitado) Desktop, mobile, local, protótipos 1 arquivo .db
MySQL/MariaDB Sim (com InnoDB) Sistemas web com múltiplos acessos Arquivos por tabela
PostgreSQL Sim (completo) Sistemas robustos e alta concorrência Segmentos binários
SQL Server Sim Corporativo, ERPs, BI Datafiles (MDF/LDF)
Oracle Sim Grandes empresas e alto volume Tablespaces binários
MongoDB Parcial APIs, apps distribuídas, NoSQL Documentos BSON
Redis Não ACID completo Cache, filas, sessões Memória + dump em disco

# Ferramenta Idioma / pt-BR Principais modelos / funcionalidades no plano gratuito Limitações do plano gratuito Comentários rápidos
1 HuggingChat Sim (multilíngue) Acesso a modelos open-source (ex: LLaMA, Mistral) Nem sempre modelos de ponta disponíveis Boa opção para explorar modelos abertos.
2 Perplexity AI Sim Chat focado em pesquisa com fontes e respostas rápidas Uso gratuito com limites; volume maior requer upgrade Ótimo para investigação rápida e referências.
3 ChatGPT Sim Assistente versátil; bom suporte em pt-BR Plano gratuito com limites de modelo/uso Excelente como porta de entrada para IA conversacional.
4 Google Gemini Sim Modelos da Google; integração com ecossistema Google Alguns recursos avançados podem ser pagos Ideal se você usa muito Gmail/Drive/Maps.
5 HIX AI (HIX Chat) Sim Agrega vários modelos; chat, geração de imagens, música Limitações de recursos premium no plano gratuito Bom para experimentar múltiplos recursos sem login.
6 ChatHub Sim Comparar respostas de vários modelos simultaneamente Pode exigir cadastro; limites no uso gratuito Útil para avaliar qual modelo responde melhor.
7 Monica (AI Assistant) Sim Assistente “all-in-one” para produtividade e busca Funcionalidades avançadas podem ser pagas Indicado para tarefas de produtividade e pesquisa.
8 AI Blaze Sim Usar IA em qualquer site com snippets e prompts salvos Recursos avançados e integrações podem ser pagos Ótimo para integrar IA ao fluxo de trabalho no navegador.
9 Insighto.ai Sim Plataforma no-code para chatbots e agentes de voz Recursos completos geralmente pagos Bom para criar assistentes e bots de suporte 24/7.
10 Character.ai Sim Conversas com personagens de IA; experiências criativas Mais voltado a entretenimento; limites no plano gratuito Ideal para bate-papo criativo e roleplay.


Técnico em Informática / WEB | Analista e Desenvolvedor de sistemas - Todos os direitos reservado - 2025