anúncios

sábado, 28 de janeiro de 2023

Conhecendo o Bitwarden

O que é Bitwarden?

Bitwarden é uma ferramenta de gerenciamento de senhas open source que permite armazenar e gerenciar senhas, cartões de crédito e outras informações sensíveis de forma segura. Com ele, você pode criar senhas fortes e únicas para cada conta, e acessá-las a partir de qualquer dispositivo com segurança.

A ferramenta é baseada em criptografia de ponta-a-ponta, o que significa que suas informações são criptografadas localmente em seu dispositivo antes de serem enviadas para o servidor. Isso significa que somente você tem acesso às suas informações, mesmo que alguém intercepte as informações enquanto elas estão sendo transmitidas.

Bitwarden também oferece recursos adicionais, como gerenciamento de senhas na equipe de trabalho, onde você pode compartilhar senhas com sua equipe de trabalho de maneira segura e controlar quem tem acesso a elas, e a capacidade de preencher automaticamente formulários de login com suas informações. Além disso, ele tem aplicativos para várias plataformas, incluindo Windows, Mac, Linux, iOS e Android, e também tem extensões de navegador para o Chrome, Firefox, Edge e Safari. Isso é especialmente útil para empresas e equipes que precisam compartilhar contas de serviços on-line.Em resumo, Bitwarden é uma ferramenta poderosa e fácil de usar para gerenciar suas senhas e informações sensíveis de forma segura. Com seus recursos de criptografia de ponta-a-ponta e gerenciamento de equipe, ele ajuda a garantir a segurança de suas informações enquanto facilita o compartilhamento e o acesso.

O Bitwarden é um sistema de código aberto distribuído. Isso significa que pode instalar e configurar no servidor em sua própria infraestrutura ou VPS (Virtual Private Server). Desta forma, os usuários têm mais controle sobre os dados, incluindo onde e como os dados são armazenados e como são processados. Além disso, garante que seus dados fiquem fora de centros de dados de terceiros, tornando-os menos vulneráveis a violações de segurança.

Além disso, também permite que personalize sua instalação, incluindo suporte para autenticação de SSO, integração com outros sistemas e configuração de políticas de segurança. Isso é especialmente útil para organizações que têm requisitos de segurança e conformidade rigorosos.

Instalando o Bitwarden no GNU/Linux (Debian ou Ubuntu)

Segue os procedimentos de instalação do Bitwarden na distro Linux Debian e serve também para Ubuntu

1. $ wget https://github.com/bitwarden/core/releases/download/v1.29.0/bitwarden_1.29.0_amd64.deb

2. $ sudo dpkg -i bitwarden_1.29.0_amd64.deb

3. Inicie o serviço do Bitwarden usando o comando systemctl

$ sudo systemctl start bitwarden

4. Configure o Bitwarden para iniciar automaticamente no boot

$ sudo systemctl enable bitwarden

5. Configure o firewall para permitir tráfego na porta HTTP (80) e HTTPS (443)

$ sudo ufw allow 80
$ sudo ufw allow 443

6. Certifique-se de ter um certificado SSL válido instalado e configurado para o seu domínio.

Para ambiente local, pode seguir um dos tutoriais: SSL self-signed-ssl no Apache OU SSL self-signed-ssl no Nginix . Caso seja em uma VPS, pode utilizar Let's Encrypt

7. Agora você pode acessar o Bitwarden no browser que utiliza, digite o endereço IP ou hostname do seu servidor.

8. Siga os passos de configuração inicial e configuração de segurança para concluir a instalação.

Nota: É importante manter seu servidor e o Bitwarden atualizado com as últimas correções de segurança e recomenda-se configurar a autenticação de dois fatores para aumentar a segurança da sua conta.

Referências

https://bitwarden.com/

Feito!

sábado, 21 de janeiro de 2023

Configurando servidor FTP no Linux (Debian, Ubuntu)

O File Transfer Protocol (FTP) é uma forma padrão de transferir arquivos entre computadores em uma rede. Ele é usado principalmente para transmissão de dados de servidores web para um computador local.

O FTP é um dos protocolos de rede mais antigos e foi originalmente criado em 1971. Desde então, o FTP se tornou um dos principais métodos de transferência de dados na web. É usado para hospedar sites, compartilhar arquivos e realizar backups.

A importância do FTP é que ele fornece uma maneira segura e eficaz de transferir arquivos entre computadores. É seguro porque os arquivos são transferidos com criptografia, o que significa que ninguém pode acessar os dados sem a autorização correta. Além disso, o FTP é extremamente rápido, pois os arquivos são transferidos diretamente entre os computadores, sem a necessidade de um servidor intermediário.

Outra vantagem significativa do FTP é que ele é compatível com quase todos os sistemas operacionais, incluindo Windows, Mac, Linux e Unix. Isso significa que os usuários de computadores diferentes podem transferir arquivos uns para os outros sem problemas.

O FTP também é uma ferramenta útil para aqueles que desejam hospedar seus próprios sites. Ao contrário de outros serviços de hospedagem, o FTP permite que os usuários façam upload de seus arquivos diretamente para o servidor, o que torna muito mais fácil criar e gerenciar um site.

Em suma, o FTP é um dos protocolos de rede mais antigos e mais importantes. É seguro, rápido e compatível com a maioria dos sistemas operacionais. Além disso, ele é ideal para aqueles que desejam hospedar seus próprios sites.

Portanto, o FTP é uma tecnologia e também uma ferramenta essencial para todos aqueles que trabalham com a web.

Instalando o FTP no Linux (Debian / Ubuntu)


$ sudo apt update

$ sudo apt install proftpd

Editar o arquivo de configuração do Proftpd

$ sudo vim /etc/protfpd/protpd.conf

Em ServerName coloque o nome de seu servidor

Em ServerType deixe standalone

Descomente a linha DefaultRoot e substitua ~ pelo caminho absoluto, por exemplo: /home/ftpusuario1 ou o diretório de sua escolha.

Salvar e sair do editor Vim, tecle ESC e digite :wq ou :x

Criando usuários e adicionado ao grupo para o FTP


$ sudo useradd -m -s /bin/false ftpusuario1

$ sudo passwd ftpusuario1

$ sudo usermod -aG ftp ftpusuario1

$ sudo usermod -d /home/ftp/usuario1 ftpusuario1

Isso irá criar o usuário sem acesso ao terminal, pois é exclusivo para acessar o servidor FTP.

Nota: Para usuários sem acesso a shell, é importante configurar o diretório home do usuário para o diretório de upload, para evitar que o usuário acesse outras partes do sistema.

Reiniciando o serviço Proftpd


$ sudo systemctl stop proftpd

$ sudo systemctl start proftpd

Para verificar se o proftpd esta em execução digite:

$ sudo ps aux | grep proftpd

Agora com o servidor FTP inicializado, em outro computador instale um cliente FTP, como o FileZilla, informando o IP, usuário, senha e porta.

O lado esquerdo são os arquivos de sua máquina e o lado direito do servidor.

Feito!

sexta-feira, 20 de janeiro de 2023

10 livros que todo programador deveria ou (poderia) ler

O objetivo do presente post é apresentar 10 livros que todo programador deveria ou poderia ler, cada livro foi também apresentado o resumo da ideia central para você ter uma noção do que se trata, e assim tomar a decisão de adquirir pelo menos um dos livros mencionados.

  1. Clean Code (Código Limpo) (Robert Martin)
  2. Clean Code, ou Código Limpo, é uma filosofia de desenvolvimento de softwares que consiste em aplicar técnicas simples que facilitam a escrita e a leitura de um código. Tornando-o, assim, de fácil compreensão.

  3. Introduction to Algorithms (Thomas Cormen)
  4. O livro começa considerando os fundamentos matemáticos da análise de algoritmos e mantém esse rigor matemático ao longo da obra. As ferramentas desenvolvidas nestas seções de abertura são aplicadas à classificação, estruturas de dados, gráficos e uma variedade de algoritmos selecionados, incluindo geometria computacional, algoritmos de cadeia de caracteres, modelos paralelos de computação, transformações rápidas de Fourier (FFTs) e muito mais. A explicação em pseudocódigo dos algoritmos, juntamente com a prova de sua precisão, torna este livro um excelente recurso sobre as ferramentas básicas usadas para analisar o desempenho dos algoritmos.

  5. Structure and Interpretation of Computer Programs
  6. O livro descreve conceitos de Ciência da Computação usando Scheme, um dialeto de Lisp. Ele também usa uma máquina de registro virtual e montador para implementar interpretadores e compiladores Lisp.

  7. The Clean Coder
  8. A Code of Conduct for Professional Programmers, o lendário especialista em software Robert C. Martin apresenta as disciplinas, técnicas, ferramentas e práticas do verdadeiro artesanato de software. Este livro está repleto de conselhos práticos sobre tudo, desde estimativa e codificação até refatoração e teste. Abrange muito mais do que técnica: trata-se de atitude. Martin mostra como abordar o desenvolvimento de software com honra, auto-respeito e orgulho; trabalhar bem e trabalhar limpo; comunicar e estimar fielmente; enfrentar decisões difíceis com clareza e honestidade; e entender que o conhecimento profundo vem com a responsabilidade de agir.

  9. Code Complete (Steve McConnel)
  10. McConnell sintetiza as técnicas mais eficazes e os princípios obrigatórios em orientações claras e pragmáticas. Não importa qual seja o seu nível de experiência, ambiente de desenvolvimento ou tamanho do projeto, este livro irá informar e estimular o seu pensamento - e ajudá-lo a construir o código da mais alta qualidade.

  11. Design Patterns Elements of Reusable Object-Oriented Software
  12. Capturando uma riqueza de experiência sobre o design de software orientado a objetos, quatro designers de alto nível apresentam um catálogo de soluções simples e sucintas para problemas de design comuns. Anteriormente não documentados, esses 23 padrões permitem que os designers criem designs mais flexíveis, elegantes e reutilizáveis, sem ter que redescobrir as próprias soluções de design. Os autores começam descrevendo o que são padrões e como eles podem ajudá-lo a projetar software orientado a objetos. Eles então nomeiam, explicam, avaliam e catalogam sistematicamente projetos recorrentes em sistemas orientados a objetos. Com os Design Patterns como seu guia, você aprenderá como esses padrões importantes se encaixam no processo de desenvolvimento de software e como você pode aproveitá-los para resolver seus próprios problemas de design com mais eficiência.

  13. The Pragmatic Programmer
  14. O programador pragmático é um daqueles raros livros de tecnologia que você vai ler, reler e ler novamente ao longo dos anos. Quer você seja novo na área ou um profissional experiente, sempre terá novos insights.

  15. Head First Design Patterns
  16. A qualquer momento, alguém luta com os mesmos problemas de design de software que você. E, provavelmente, outra pessoa já resolveu seu problema. Esta edição de Head First Design Patterns mostra os padrões testados e aprovados usados por desenvolvedores para criar software funcional, elegante, reutilizável e flexível. Ao terminar este livro, você será capaz de aproveitar as melhores práticas e experiências de design daqueles que lutaram contra a besta do design de software e triunfaram.

  17. Refactoring
  18. A refatoração melhora o design do código existente e aumenta a capacidade de manutenção do software, além de tornar o código existente mais fácil de entender. O signatário original do Manifesto Ágil e líder em desenvolvimento de software, Martin Fowler, fornece um catálogo de refatorações que explica por que você deve refatorar; como reconhecer código que precisa de refatoração; e como realmente fazê-lo com sucesso, não importa o idioma que você usa.

  19. The Art of Computer Programming
  20. Se você acha que é um bom programador leia "The Art of Computer Programming". E depois você deve definitivamente me enviar um currículo se conseguir ler tudo e entender as ideias do livro, afirmou Bill Gates em uma coluna de jornal que o bilionário costumava escrever.

    "If you think you’re a really good programmer… read [Knuth’s] Art of Computer Programming… You should definitely send me a résumé if you can read the whole thing." Bill Gates.

    Inúmeros leitores falaram sobre a profunda influência pessoal da obra de Knuth. Os cientistas ficaram maravilhados com a qualidade e elegância de sua análise, enquanto os programadores comuns aplicaram com sucesso suas soluções de "livro de receitas" para seus problemas do dia-a-dia. Todos admiram Knuth pela amplitude, clareza, precisão e bom humor encontrados em seus livros.

Feito!

segunda-feira, 16 de janeiro de 2023

Conhecendo You.com

Prepare-se para conhecer a próxima evolução em inteligência artificial: You.com. Com capacidade de processamento e compreensão de linguagem natural ainda mais avançadas do que o ChatGPT, essa solução é a escolha perfeita para pessoas quem buscam usar a IA para estudar e criar conteúdo. Sua interface intuitiva e fácil de usar permite que você acesse recursos avançados de forma simples e rápida. Ele também é altamente personalizável, permitindo que você treine e adapte o modelo para atender às suas necessidades específicas.

Com You.com , você pode fazer pesquisas precisas. E também pode ser usado para melhorar sua escrita, fornecendo sugestões de palavras e frases, além de correção gramatical e ortográfica. Além disso, você pode usá-lo para gerar idéias e inspiração para seus projetos, tornando-o um valioso aliado para sua criatividade.

Feito!

sexta-feira, 30 de dezembro de 2022

Configurando um ambiente com jogos retrô

Uma distro Linux com nome Batocera, dedicada à execução de retrogaming, baseada no RecalboxOS e que está disponível para computadores na arquitetura 32 e 64 bits, também no Raspberry.

A distro Batocera pode ser executada a partir de um pendrive USB ou cartão SD, permitindo a transferência entre computadores.

Além dos jogos retrô, inclui o Kodi Media Center para assistir suas séries e filmes.

Quais emuladores tem a distro Batocera?

Permite executar ROMs de jogos antigos como Atari , SNES, Mastersystem , arcade e outros.

Procedimentos de instalação da distro Batocera

  1. Download conforme o dispositivo ou arquitetura no site https://batocera.org/download
  2. Download e instalação do BalenaEtcher https://www.balena.io/etcher/
  3. Extrair batocera-(version)-(arch)-(date).img.gz (irá gerar um arquivo ISO)
  4. Conecte o pendrive na porta USB ou o MicroSD Card (Recomendado 16GB)
  5. Selecione a imagem ISO no BalenaEtcher e click em Flash
  6. Após finalizar, verifique se contém o diretório "boot"
  7. Reinicie a máquina com o pendrive USB ou MicroSD Card e coloque a ordem de boot pelo USB MicroSD
  8. Teste o boot pelo pendrive ou MicroSD. Se desejar, faça a instalação, basta seguir o fluxo do setup.

Referências

https://wiki.batocera.org/start

Feito!

quinta-feira, 29 de dezembro de 2022

Podman alternativa ao Docker

Podman é um gerenciador de contêineres que foi projetado para ser uma alternativa segura e eficiente ao Docker. É construído sobre a biblioteca de contêineres do kernel do Linux, o que significa que não precisa de um daemon para funcionar e pode ser executado diretamente no Sistema Operacional. Isso o torna mais leve e mais fácil de usar do que o Docker.

Podman é uma ferramenta de linha de comando que permite criar, gerenciar e executar contêineres de forma fácil e rápida. Permite que você crie imagens de contêineres a partir de arquivos Dockerfile e as execute em seu sistema. Além disso, ele também pode ser usado para gerenciar o ciclo de vida dos contêineres, incluindo a criação, inicialização, parada e exclusão de contêineres.

Uma das principais vantagens do Podman é que ele é seguro e não expõe a porta de rede do daemon do Docker. Isso significa que não há risco de exposição de vulnerabilidades de segurança no daemon do Docker, tornando o Podman uma opção mais segura para uso em ambientes de produção. Além disso, o Podman também suporta a criação de contêineres "desacoplados", o que significa que eles não dependem de nenhum daemon para funcionar. Isso torna o Podman ideal para ambientes de produção onde é importante minimizar o número de processos em execução no sistema.

Outra vantagem do Podman é muito fácil de usar, pois possui uma interface de linha de comando clara e intuitiva, e é muito parecido com o Docker, o que significa que é fácil para os usuários do Docker aprender a usá-lo. Além disso, o Podman também possui integração com o Kubernetes, o que significa que pode ser usado para gerenciar clusters de contêineres em grande escala.

Em resumo, o Podman é uma ferramenta de gerenciamento de contêineres segura e fácil de usar. É construído sobre a biblioteca de contêineres do kernel do Linux, o que significa que não precisa de um daemon para funcionar e é mais leve e mais fácil de usar do que o Docker. Permite criar, gerenciar e executar contêineres de forma fácil e rápida, e possui integração com o Kubernetes para gerenciamento em grande escala. Se você estiver procurando uma alternativa segura e eficiente ao Docker, o Podman.

Instalação do Podman

GNU/Linux

Debian / Ubuntu

$ sudo apt-get -y install podman

RHEL

$ sudo yum module enable -y container-tools:rhel8
$ sudo yum module install -y container-tools:rhel8

Arch Linux / Manjaro

$ sudo pacman -S podman

Fedora

$ sudo dnf -y install podman

openSUSE

$ sudo zypper install podman

Alguns comandos Podman

Com o Podman instalado na distro Linux, abre o terminal e digite: $ podman --help

Se você já conhece Docker deve ter notado que os comandos são basicamente os mesmos, apenas substituindo docker por podman, os argumentos são praticamente quase todos os mesmos.

Referências

https://podman.io/

Feito!

sábado, 17 de dezembro de 2022

Conhecendo o poder do Chat GPT Open AI

O chat GPT é uma ferramenta poderosa para aqueles que buscam uma maneira eficiente e precisa de gerar conteúdo de qualidade. Com o uso do aprendizado de máquina, o GPT é capaz de criar textos que parecem escritos por seres humanos, tornando-o ideal para criar conteúdo para sites de notícias, blogs ou redes sociais.

Além disso, o GPT também pode ser usado para responder a perguntas sobre uma ampla variedade de tópicos, tornando-o uma excelente opção para sistemas de assistentes virtuais. Isso pode ser muito útil em situações em que é preciso fornecer informações precisas e atualizadas de maneira rápida e eficiente.

Experimente o chat GPT hoje e descubra a facilidade de criar conteúdo de qualidade. Com o GPT, você pode economizar tempo e esforço na criação de conteúdo, permitindo que se concentre em outras áreas importantes do seu negócio. Além disso, o GPT também pode ajudá-lo a alcançar um público maior e aumentar o tráfego do seu site, o que pode levar a um aumento nos lucros. Não perca mais tempo, experimente o chat GPT agora e comece a usufruir dos seus benefícios.

O GPT é um modelo de linguagem treinado por meio de aprendizado de máquina, não é uma linguagem de programação em si mesma. Ele foi treinado para prever a próxima palavra em um texto com base no contexto das palavras que o precederam, e não foi projetado para escrever código de programação. No entanto, é possível que ele possa gerar código de programação se for alimentado com exemplos de código e instruções adequadas, mas isso é algo que ultrapassa suas capacidades atuais.

Porém olhem o que o Chat GPT faz na criação de códigos mesmo o sistema de IA dizendo que ele não escreve nada 😂

Chat GPT é uma sigla que significa "modelo de linguagem gerada pelo treinamento profundo". É um tipo de modelo de aprendizado de máquina que foi treinado para prever a próxima palavra em um texto com base no contexto das palavras que o precederam. O Chat GPT pode ser usado para gerar texto que parece escrito por um ser humano, para responder perguntas sobre vários tópicos ou para realizar outras tarefas relacionadas a linguagem natural. Isso pode ser útil em muitas situações diferentes, como criar conteúdo de qualidade para sites de notícias, redes sociais ou blogs, ou para ajudar a responder perguntas em um sistema de assistente virtual.

A OpenAI é uma empresa líder em pesquisa e desenvolvimento de inteligência artificial (IA). Fundada em 2015 por Elon Musk e Sam Altman, entre outros, a empresa tem como missão tornar a IA disponível para todos, a fim de beneficiar a humanidade e aumentar a resiliência da sociedade.

A OpenAI realiza pesquisas em diversas áreas da IA, incluindo aprendizado profundo, processamento de linguagem natural e sistemas de tomada de decisão. Isso lhe permite desenvolver tecnologias avançadas que podem ser usadas em aplicações comerciais e científicas.

Além disso, a OpenAI também é comprometida com a responsabilidade e a segurança na IA. Ela trabalha em estreita colaboração com os principais pesquisadores e empresas do setor para promover o uso ético e seguro da IA e garantir que seus avanços tecnológicos beneficiem a humanidade.

Acesse o site Oficial do Chat GPT e faça seus experimentos.

https://chat.openai.com/chat

Feito!