Pular para o conteúdo principal

· Leitura de 4 minutos
Anderson Marlon

"Este artigo aborda o tema da apresentação de projetos e os primeiros passos para utilizar o GitHub Pages como plataforma de hospedagem."

Ao desenvolver um projeto, é importante apresentá-lo de forma adequada e torná-lo acessível para outras pessoas. Para isso, é necessário contar com uma apresentação bem estruturada e uma solução de hospedagem confiável. O GitHub Pages oferece uma excelente plataforma para apresentar seus projetos ao mundo, proporcionando uma maneira simples e gratuita de hospedar sites estáticos diretamente dos repositórios do GitHub, ou seja, se seu projeto usa apenas HTML, CSS e JS, essa é uma boa prática.

Neste artigo, exploraremos o processo de utilização do GitHub Pages e os primeiros passos para criar a apresentação dos seus projetos.

O que é o GitHub Pages?

O GitHub Pages é um serviço de hospedagem de sites estáticos oferecido pelo GitHub. Ele permite que você crie um site a partir do conteúdo dos seus repositórios do GitHub, tornando-os acessíveis através de um URL personalizado, e a cada commit que subir, ele irá atualizar automaticamente. Isso significa que você pode compartilhar seus projetos com outras pessoas, fornecer documentação, exibir portfólios e muito mais, tudo de forma simples e gratuita.

Primeiros Passos com o GitHub Pages

Para começar a utilizar o GitHub Pages, siga estes passos:

Crie um repositório no GitHub

Se você ainda não possui um repositório para o seu projeto, crie um no GitHub. Certifique-se de que seu repositório contenha os arquivos HTML, CSS e JavaScript necessários para o seu site estático.

Ative o GitHub Pages para o seu repositório

Antes de qualquer commit, acesse as configurações do seu repositório no GitHub e role a página até encontrar a seção "GitHub Pages". Nessa seção, selecione a branch que contém o código do seu site estático e clique em "Save" (Salvar). O GitHub Pages irá utilizar essa branch para gerar o site.

Escolha um tema (opcional)

O GitHub Pages oferece uma variedade de temas para personalizar a aparência do seu site. Selecione um tema que melhor se adeque ao seu projeto ou opte por não utilizar um tema e criar seu próprio design personalizado.

Acesse o seu site

Após ativar o GitHub Pages e escolher um tema (ou criar um design personalizado, como seu próprio código), você poderá acessar o seu site através do URL fornecido. O GitHub Pages geralmente segue o seguinte formato de URL: https://seunomeusuario.github.io/nomerepositorio.

Personalize o seu site

Agora que o seu site está ativo, você pode começar a personalizá-lo de acordo com as necessidades do seu projeto. Edite os arquivos HTML, CSS e JavaScript do seu repositório para adicionar conteúdo, fazer ajustes de layout e implementar funcionalidades específicas, cada commit, o Github Pages automaticamente irá atualizar a nova versão na URL que mencionamos acima.

Bônus

Além dos passos básicos mencionados acima, o GitHub Pages oferece recursos adicionais para melhorar a apresentação dos seus projetos. Alguns desses recursos incluem:

  • Registro de domínio personalizado: É possível registrar um domínio personalizado para o seu site no GitHub Pages, tornando-o ainda mais profissional.
  • Uso de subdomínios: Caso você possua um domínio personalizado, é possível configurar subdomínios para diferentes projetos hospedados no GitHub Pages.
  • Integração com Jekyll: O GitHub Pages possui integração nativa com o Jekyll, uma ferramenta de criação de sites estáticos, permitindo a utilização de recursos avançados, como geração automática de páginas, layouts personalizados e muito mais.

Finalizando

O GitHub Pages é uma excelente opção para apresentar seus projetos de forma profissional e acessível. Com os primeiros passos descritos neste artigo, você estará pronto para criar e compartilhar seus sites estáticos de maneira fácil e gratuita. Aproveite os recursos oferecidos pelo GitHub Pages para personalizar seu site e tornar a experiência dos usuários ainda mais agradável.

Não esqueça de adicionar a URL do seu projeto em todos os repositórios, se você for iniciante, é uma boa prática para que outras pessoas vejam como anda seu desenvolvimento e como você está evoluindo.

Agora é hora de mostrar ao mundo o seu talento e compartilhar seus projetos com a comunidade!

· Leitura de 6 minutos
Anderson Marlon

"É normal questionar se TypeScript é ou não uma linguagem de programação por algumas razões. Primeiramente, TypeScript é um superset de JavaScript, o que significa que é uma extensão da sintaxe e recursos da linguagem JavaScript."

Afinal, TypeScript é uma linguagem de programação?

É normal questionar se TypeScript é ou não uma linguagem de programação por algumas razões. Primeiramente, TypeScript é um superset de JavaScript, o que significa que é uma extensão da sintaxe e recursos da linguagem JavaScript.

No entanto, é importante entender que, embora o TypeScript compile em JavaScript, ele é uma linguagem de programação de alto nível que possui suas próprias características, como a tipagem estática, sua própria sintaxe, recursos e compilador.

Passo a passo para iniciar um projeto

  1. Certifique-se de ter o Node.js instalado em sua máquina.
  2. Abra um terminal e navegue até o diretório onde você deseja criar o seu projeto.
  3. Execute o seguinte comando para criar um novo projeto com o npm:
npm init
  1. Em seguida, instale o TypeScript como uma dependência de desenvolvimento:
npm install -g typescript
  1. Crie um arquivo de configuração do TypeScript chamado tsconfig.json. Este arquivo contém as opções de configuração do TypeScript para o seu projeto. Você pode criar este arquivo manualmente ou executar o seguinte comando para criar um arquivo padrão:
npx tsc --init

Agora você pode começar a escrever código TypeScript em arquivos com a extensão .ts

O que é tipagem estática?

A tipagem estática é uma característica do TypeScript que permite definir o tipo de dados de uma variável durante a sua declaração. Isso ajuda a identificar erros de tipos em tempo de compilação, antes que o código seja executado, evitando assim erros de programação que podem causar bugs e afetar o funcionamento do software.

Em JavaScript, podemos definir uma variável com a palavra-chave "const" sem especificar seu tipo.

const idade = 21;

Já em TypeScript, podemos definir o tipo da variável "idade" como "number", da seguinte forma:

const idade: number = 21;

Isso significa que a variável "idade" só pode armazenar valores do tipo "number". Caso tentemos atribuir um valor de um tipo diferente a essa variável, como por exemplo uma string, o TypeScript detectará um erro em tempo de compilação e sinalizará um aviso.

No entanto, é importante ressaltar que mesmo que o código não apresente erros de compilação, ainda podem ocorrer comportamentos inesperados durante a execução. Precisamos lembrar que todo o código TypeScript é removido no processo de compilação e o servidor em produção rodará o código JavaScript resultante. Portanto, declarar um tipo em TypeScript não implica que um valor de tipo diferente aparecerá na variável durante a execução do programa.

Tipos de Dados: Primitivos e Não-Primitivos

Os tipos de dados primitivos são valores básicos e simples que representam dados diretamente. Esses tipos incluem number, string, boolean, null, undefined, symbol, e bigint.

Por outro lado, os tipos de dados não primitivos são complexos e não representam diretamente valores, mas sim referências a objetos que contêm valores. Esses tipos incluem object, array, function, e class.

Type VS Interface

Essa é uma discussão imensa na comunidade e por isso decidi exemplificar o que são e deixar você decidir como usar.

Basicamente, um type é uma forma de definir uma estrutura de dados, que pode ser usado para definir o tipo de uma variável, função, parâmetro ou qualquer outra coisa que tenha um tipo.

export type Metrics = "px" | "em" | "rem" | "vh" | "vw" | "%";

Já uma interface é uma forma de definir uma estrutura de dados que descreve a forma ou formato que um objeto deve ter. Ela define um conjunto de propriedades que um objeto deve ter, bem como os tipos dessas propriedades.

As interfaces podem ser usadas para descrever objetos, classes, funções e outros tipos de estruturas de dados.

export interface Genre {
id: number;
name: string;
}

As principais diferenças entre os dois são:

  • Flexibilidade: Type é mais flexível e permite a definição de tipos complexos, como uniões (demonstrado no exemplo acima), tipos de diferença e inferência de tipos. Já as interfaces são mais restritas e têm como objetivo principal definir a estrutura de objetos.

  • Herança: Tanto as interfaces quanto os tipos são capazes de oferecer herança, porém as interfaces possuem uma sintaxe mais amigável e suportam a união de diversas interfaces em uma única, enquanto os tipos usam o operador Union para criar um novo tipo a partir da união de outros tipos existentes.

  • Nomenclatura: Em geral, interfaces são usadas para representar objetos, enquanto type é usado para representar qualquer tipo de dados, incluindo objetos.

type Animal = {
name: string;
eat: (food: string) => void;
}

type Dog = Animal & {
breed: string;
bark: () => void;
}
interface Animal {
name: string;
eat(food: string): void;
}

interface Dog extends Animal {
breed: string;
bark(): void;
}

Como tipar Objetos e Funções

Para tipar objetos, podemos utilizar interfaces. Interfaces são uma forma de definir um conjunto de propriedades e tipos que um objeto deve ter. Por exemplo, para definir um objeto que representa uma pessoa com nome e idade, podemos fazer:

interface Pessoa {
nome: string;
idade: number;
}

Neste exemplo, definimos a interface Pessoa com duas propriedades: nome, que é uma string, e idade, que é um número. Agora, podemos utilizar essa interface para tipar um objeto que representa uma pessoa:

const pessoa: Pessoa = {
nome: "Justin",
idade: 30
};

Assim, garantimos que o objeto pessoa possui as propriedades e tipos definidos na interface Pessoa.

Para tipar uma função, é necessário especificar os tipos dos seus parâmetros e também o tipo do seu retorno. Por exemplo, para definir uma função que recebe dois parâmetros numéricos e retorna a soma desses valores, podemos fazer:

function soma(a: number, b: number): number {
return a + b;
}

Neste exemplo, utilizamos a sintaxe : number para especificar que a função retorna um valor numérico.

Referências

Ao escrever este artigo, foi dada a devida importância em utilizar fontes confiáveis de informação, visando garantir a precisão e a relevância do conteúdo abordado. A única fonte utilizada foi a documentação oficial do TypeScript.

· Leitura de 5 minutos
Anderson Marlon

"Realizar o update NodeJS com certa frequência é o melhor caminho para ter acesso a todas as novidades que são lançadas de tempos em tempos no software. "

Afinal, assim como acontece com outras tecnologias de código-aberto, o NodeJS está em constante evolução, seja para aumentar a estabilidade e segurança da ferramenta ou, então, para corrigir bugs e adicionar novas features.

Sim, saber como atualizar Node é importantíssimo. A boa notícia é que existem muitos métodos que podem ser usados com esse propósito – portanto, não há desculpas para ficar para trás. Para ajudá-lo nessa missão, reunimos algumas das maneiras mais simples e eficazes para realizar o update NodeJS para a versão mais recente em máquinas Linux, Windows e MacOS.

Antes de começarmos, temos uma dica: verifique qual versão do NodeJS você está usando atualmente. Isso pode ser feito executando node -v em um terminal!

Três formas de dar update NodeJS em máquinas Linux

Quando o assunto é atualizar Node Linux, há três formas principais com as quais isso pode ser feito. Na sequência, daremos detalhes sobre cada uma delas.

Meu node/npm não está instalado

Apenas execute esse comando, ele irá instalar uma versão antiga do node, já considerada deprecated ou desatualizada, mas como iremos atualizar em seguida, não terá problema.

O comando cURL é:

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs

Usando nvm

O Node Version Manager, mais conhecido como NVM, é de longe a melhor maneira para se dar update NodeJS em máquinas Linux.

Para isso, você precisará de um compilador de C++, do pacote build-essential e da biblioteca libssl-dev. Rode um update primeiro para depois instalar os pacotes, de acordo com os comandos abaixo:

Atualização: sudo apt-get update

Instalação dos pacotes: sudo apt-get install build-essential checkinstall libssl-dev

Para instalar ou atualizar o NVM, por sua vez, você pode conseguir o script de instalação usando o cURL: curl -o https://raw.githubusercontent.com/creationix/nvm/v0.35.2/install.sh | bash

Após fechar e abrir o terminal, você poderá verificar se a instalação foi um sucesso rodando: nvm -v

Se tudo tiver ocorrido da forma esperada, o comando irá retornar a versão do nvm. Depois de configurar, você verá que dar update NodeJS será bem mais fácil!

Além disso, você pode verificar quais versões estão atualmente instaladas com o comando no terminal nvm ls e ver o que está disponível para instalação usando o nvm ls-remote.

Baixe, instale e compile versões mais recentes do NodeJS com nvm install #.#.#. Lembrando que é preciso substituir os #s pela versão do NodeJS desejada.

Já para verificar qual é a versão mais recente, basta acessar o site do NodeJS.

Usando um gerenciador de pacotes

Se o NVM não funcionou para você ou prefere um jeito mais tranquilo, um gerenciador de pacotes é agora o seu melhor caminho.

O Node Package Manager, ou NPM, pode te ajudar a descobrir, compartilhar e usar código, junto com dependências. E o melhor de tudo é que o NodeJS já vem com o NPM pré-instalado, porém, ele é atualizado com mais frequência que o Node.

Para verificar qual é a sua versão atual, basta rodar npm -v no terminal. Na sequência, rode npm install npm@latest g para instalar a versão mais recente (caso já não esteja usando-a) e npm –v novamente, para ter certeza de que a atualização deu certo.

Após essa etapa, será o momento de finalmente realizar o sonhado update NodeJS. E, para isso, você precisará instalar um módulo do NPM chamado “n”.

Portanto, para limpar o cache do NPM, instalar o módulo “n” e instalar a mais recente versão do NodeJS, rode as seguintes linhas de código no seu terminal:

sudo npm cache clean -f

sudo npm install -g n

sudo n stable

Para você instalar a versão mais recente, seja estável ou não, rode sudo n latest. Outra alternativa é rodar n #.#.#, para atualizar NodeJS para uma versão específica.

Usando pacotes binários

Vamos ser honestos, você provavelmente não quer seguir este caminho…

Mas, se as outras opções não deram certo e você estiver desesperado, existe a possibilidade de ir para a página oficial de downloads para conseguir um pacote binário 32-bit ou 64-bit para dar update NodeJS ou instalar.

Você pode instalar o pacote pelo próprio browser, mas, caso prefira usar o terminal, tenha em mente que a versão específica do Node pode mudar enquanto atualizações forem lançadas. wget https://nodejs.org/dist/node-latest.tar.gz

Para descompactar o arquivo, você precisará instalar o pacote xz-utils. Portanto, rode o seguinte comando no seu terminal:
sudo apt-get install xz-utils

Já para instalar o pacote binário em /usr/local, rode: tar -C /usr/local –strip-componentes 1 -xJf node-latest.tar.gz

Agora que você tem o Node e o NPM em mãos, considere dar uma nova chance para a opção 2 na próxima vez que for atualizar Node Linux.

Update NodeJS no Windows e no macOS

Agora que já explicamos como atualizar Node no Linux, partiremos para a segunda parte deste conteúdo, que é voltada para quem utiliza Windows ou MacOS.

Você pode começar essa jornada acessando a página de downloads do Node, afinal, lá é possível encontrar pacotes binários para atualizar Node Windows e para o MacOS.

Usar os pré-instaladores, com extensão .msi para o Windows e .pkg para o macOS, é o melhor caminho para tornar o processo de instalação e update do NodeJS muito mais fácil e eficiente! Basta fazer o download, rodar o arquivo e deixar o instalador cuidar de todo o resto! Com cada update instalado, as novas versões do NodeJS e do NPM vão repor as versões mais velhas.

Alternativamente, os usuários de macOS podem também usar a opção do npm e do módulo “n” e os usuários Windows, caso possuam WSL, também usar a opção do npm e do módulo “n”.

· Leitura de 3 minutos
Anderson Marlon

"Se você é um desenvolvedor React, provavelmente já deve ter ouvido falar sobre o Create-React-App (CRA). Por anos, ele tem sido a escolha padrão para inicializar e configurar projetos React. No entanto, recentemente, o time do React anunciou que não recomenda mais o uso do CRA."

O padrão da indústria já não era mais o CRA por algum tempo, que foi substituído pela performance imbatível do Vite aliado ao seu suporte nativo ao TypeScript, isso até mesmo para mim, passei a utilizar o Vite pelo bundle ser bem menor e mais rápido de criar.

O CRA é uma ferramenta de linha de comando que ajuda a criar um novo projeto React com uma configuração padrão. Ele vem com todas as dependências necessárias e um ambiente de desenvolvimento configurado prontos para serem utilizados. Por outro lado, o Vite é um construtor de projetos que se concentra na eficiência de desenvolvimento em ambientes de desenvolvimento modernos. Ele é projetado para ser mais rápido e mais leve do que o CRA.

Mas por que o Vite está se tornando a nova escolha padrão para projetos React? Vamos dar uma olhada em algumas das principais diferenças entre essas duas ferramentas.

  • Mais rápido e mais leve do que o Create-React-App
  • Usa o esbuild para compilação, que é significativamente mais rápido do que o webpack
  • Permite que os desenvolvedores construam e recarreguem projetos mais rapidamente
  • Projetado para trabalhar com outras tecnologias modernas, como o TypeScript e o Vue.js (Vite e Vue.js têm o mesmo criador, Evan You)
  • Possui um ambiente de desenvolvimento mais moderno e atualizado
  • Suporta HMR (Hot Module Replacement) para atualizações de módulo mais rápidas durante o desenvolvimento
  • Permite importações dinâmicas com melhor suporte a tipos para otimização de carregamento de módulos
  • Oferece uma experiência de desenvolvimento mais suave e produtiva em geral.

Outra diferença importante é a forma como eles lidam com a inicialização do projeto. O CRA cria uma configuração padrão para o projeto, o que significa que você tem menos controle sobre a estrutura do projeto, tendo que ejetá-lo para fazer qualquer configuração personalizada. O Vite permite que você escolha como deseja configurar seu projeto, dando aos desenvolvedores mais flexibilidade e controle.

Em resumo, o Vite se tornou a escolha padrão para projetos React. Ele é mais rápido, mais leve e mais flexível do que o CRA, e é projetado para trabalhar com outras tecnologias modernas. Se você ainda não experimentou o Vite, agora é a hora de dar uma chance e ver como ele pode ajudar a melhorar sua eficiência de desenvolvimento.

· Leitura de 16 minutos
Anderson Marlon

"À medida que avançamos tecnologicamente, mais e mais produtos e serviços estão sendo transformados em serviços prontos para software. E muitos deles estão sendo feitos de código aberto."

Esse é um artigo é adaptado por mim e traduzido diretamente do inglês: https://www.freecodecamp.org/news/how-to-contribute-to-open-source-projects-beginners-guide/

A maioria dos desenvolvedores e empresas depende de ferramentas e softwares de código aberto para fazer seus produtos funcionarem. E acho que você vai concordar comigo que o número de contribuições para o código aberto realmente cresceu ultimamente – não apenas para desenvolvedores individuais, mas também de empresas.

O motivo disso? É criar uma manutenção, soluções e desenvolver features de uma forma tão rápida com a comunidade que todo mundo vai ter um pedacinho naquela criação e isso faz uma baita diferença.

Minhas primeiras contribuições para a comunidade de código aberto foram durante os projetos da KalifyInc e isso começou em torno de 2015 mais ou menos, fora outros eventos como o Hackathon da AMBEV e muitos outros.

Agora, se você está lendo este artigo é porque quer fazer parte da grande comunidade de código aberto – mas talvez não saiba por onde começar? Bem, você está no lugar certo.

Neste guia abordaremos:

  • O que exatamente é código aberto?
  • Como você pode começar a contribuir?
  • O que você deve esperar?

Bem, neste artigo vamos cobrir tudo isso e muito mais.

Vamos começar!

O que é código aberto?

Em palavras simples, podemos descrever um projeto de código aberto como um código-fonte disponibilizado ao público para visualização, uso, modificação e distribuição sob uma licença permissiva.

Como exemplo para explicar isso, vamos usar um cenário de sala de aula. Um professor pode compartilhar um documento em uma plataforma como o Google Docs. Nesta plataforma os alunos podem editar o documento e até fazer cópias próprias. Mas sempre que fazem edições, precisam ser aprovadas pelo professor antes de refletir sobre o documento novamente. Assim, ele saberá quais são as mudanças no documento original e deverão ser aprovadas para não afetar a ideia original.

É assim que funciona o código-fonte aberto: depois que ele se torna público e você precisa adicionar um recurso ou fazer alterações, o proprietário precisa aprovar as alterações adicionadas e publicá-las para que outras pessoas vejam.

Os projetos de código aberto mais bem-sucedidos são resultado de contribuições de pessoas com todos os níveis de habilidade – e não apenas habilidades de codificação, mas também outras habilidades como redação, traduções, documentação e assim por diante.

Sempre que alguém corrige um erro de digitação, adiciona um alerta sobre um possível aviso do compilador, corrige um bug ou até mesmo adiciona documentação detalhada a um projeto, há progresso. Se pegarmos todas essas pequenas contribuições de diferentes pessoas com diferentes habilidades e as juntarmos, grandes coisas podem acontecer.

Assim como Vincent van Gogh disse:

Grandes coisas são feitas por uma série de pequenas coisas reunidas.

Por que você deve contribuir para o código aberto

Contribuir para projetos de código aberto pode ser uma forma gratificante de aprender, ensinar, compartilhar e construir experiência.

Existem muitas razões pelas quais você deve contribuir para um projeto de código aberto, como:

  • Para melhorar o software em que você confia e/ou usa diariamente.
  • Para encontrar um mentor, se precisar de um.
  • Para aprender novas habilidades ou melhorar as existentes.
  • Para compartilhar suas habilidades.
  • Para obter um conhecimento muito mais profundo sobre o software que você está usando.
  • Para construir sua reputação e ajudar a crescer sua carreira.
  • Além disso, é divertido e lhe dá satisfação pessoal, de dever cumprido.

Guia passo a passo sobre como contribuir para o código aberto

Quando dizemos contribuir para o código aberto, isso não significa necessariamente que você precisa saber codificar. Existem diferentes maneiras pelas quais você pode contribuir, mesmo que não seja um programador - mas ter algumas habilidades de codificação ajudará você (e os projetos) muito.

Algumas contribuições comuns podem ser feitas através de:

  • Adicionar uma descrição à documentação de um projeto para detalhar um determinado ponto, geralmente chamado de arquivo README (consulte este guia sobre como escrever um bom arquivo README).
  • Dando orientação sobre um projeto específico e como usá-lo.
  • Adicionando saída de amostra para mostrar como o código funciona.
  • Escrever tutoriais detalhados para o projeto.
  • Adicionando tradução para um projeto.
  • Responder a perguntas sobre um projeto (como no StackOverflowFlow, comunidade no Discord ou Reddit)
  • Você pode se oferecer para orientar outro colaborador.
  • Você pode corrigir erros de digitação e organizar a pasta de trabalho do projeto corretamente.

Todas essas formas, e muitas outras, contam para contribuições. Agora, o que exatamente você deve saber antes de começar a contribuir para um projeto de sistema operacional?

O que saber antes de contribuir para um projeto de sistema operacional

Assim como esperamos que cada produto de código aberto seja diferente, as comunidades também são. Cada comunidade tem suas próprias regras e terá diferentes diretrizes e papéis, e se você tiver sorte, alguns também darão recompensas depois que você contribuir.

Mas, apesar de tudo isso, existem alguns recursos comuns que se aplicam a todos os projetos de SO, e é sobre isso que vamos falar:

Em um projeto típico de SO, teremos as seguintes pessoas:

  • Autor - Esta é a pessoa que criou o projeto. Eles têm o poder de atribuir novas funções a outros membros para ajudar na manutenção do projeto.
  • Proprietário - O proprietário tem propriedade administrativa do projeto (e pode ser a mesma pessoa que o autor)
  • Mantenedores - Essas pessoas são responsáveis por conduzir a visão e os objetivos do projeto. Geralmente são pessoas que se sentem responsáveis pela direção do projeto e que se empenham em melhorá-lo.
  • Contribuidores - Os contribuidores adicionam ao projeto de uma forma ou de outra. Eles seguem o mesmo processo de revisão de código, estão sujeitos aos mesmos requisitos de estilo de código e assim por diante.
  • Membros/usuários da comunidade - Esses membros valiosos da comunidade podem fornecer feedback sobre recursos, relatórios de bugs e muito mais.

Deve ter elementos em todos os projetos de SO

Quando se fala em um projeto de SO, eles são categorizados de várias formas dependendo da estrutura, tipo de plataforma do produto, linguagem de programação utilizada, se é patrocinado ou totalmente independente, e muito mais.

Todas essas informações devem ser descritas com a ajuda das orientações e informações:

Licença Se um projeto não possui uma licença de código aberto, ele não é de código aberto. A licença ajuda a proteger colaboradores e usuários. Empresas e desenvolvedores experientes geralmente não tocam em um projeto sem essa proteção. Se você está se perguntando como obter um e escolher o correto para o seu projeto, confira o site oficial da licença do sistema operacional: https://choosealicense.com/.

Arquivo README Este é um manual que explica como iniciar um projeto. Ele lista os requisitos para contribuir com o projeto, as etapas a serem seguidas para contribuir com o projeto, etc... Um bom README deve conter tudo o que um colaborador em potencial gostaria de saber sobre o projeto. Se você já tem um projeto e está tentando escrever um bom arquivo README, este guia será útil: Como escrever um bom arquivo README.

Diretrizes de Contribuição São diretrizes que ajudam as pessoas que contribuem com o projeto a saber exatamente o que se espera delas. E mesmo que não seja obrigatório, é sempre uma boa prática adicionar um. Se você precisar de ajuda para escrever um ou entender o que isso implica, o site oficial do sistema operacional tem um guia de modelo para ajudá-lo: Modelo de diretrizes do colaborador em inglês

Código de Conduta Um código de conduta é um documento que estabelece suas expectativas sobre como seus colaboradores e participantes se comportam. Adotar e fazer cumprir um código de conduta pode ajudar a criar um ambiente positivo e acolhedor para sua comunidade. O guia do sistema operacional explica mais sobre o que isso implica: https://opensource.guide/code-of-conduct/.

Como indivíduo ou organização executando um projeto Open-Source, trata-se de criar uma comunidade onde as pessoas possam crescer juntas. Isso significa que você terá que desenvolver um ambiente amigável onde as pessoas possam compartilhar ideias, trabalhar em desafios e até mesmo conversar aleatoriamente em algum momento.

Existem algumas opções aqui, e você pode usar ferramentas como:

Issue Tracker É aqui que você acompanha seu trabalho no GitHub e como o desenvolvimento acontece. Caso haja algum problema, um colaborador pode criar um problema e vinculá-lo a uma solicitação pull e outros colaboradores podem optar por tentar corrigi-lo. Então, depois de consertado, é fechado.

Pull Requests Eles permitem que você informe outras pessoas sobre as alterações que você enviou para uma branch em um repositório no GitHub. Depois que uma pull request é aberta, você pode discutir e revisar as possíveis alterações com o colaborador e adicionar confirmações de acompanhamento antes de serem mescladas na ramificação base.

Canal de bate-papo Embora não seja obrigatório, você pode considerar uma boa prática fazer parte de um canal da comunidade de SO. Destina-se especificamente para as pessoas compartilharem suas ideias e conversarem. Algumas das mídias mais comuns para esse fim incluem Slack e Discord.

Então, agora você tem uma ideia do que é um projeto de sistema operacional e o que esperar ao contribuir para um. Passando para a parte mais importante, como saber para qual projeto contribuir?

Como encontrar um projeto de código aberto para contribuir

Contribuir funciona em todos os níveis, não há necessidade de pensar demais em como você fará isso. Em vez disso, pense em alguns dos projetos que você já usa e como pode alterá-los ou melhorá-los.

A pesquisa mostrou que cerca de 30% das contribuições casuais são documentação, correções de erros de digitação ou até mesmo traduções.

No início prometi compartilhar alguns dos projetos que me ajudaram quando dei minha primeira contribuição. Boa sorte, se você é um contribuidor de primeira viagem – o que todo mundo é em algum momento – aqui estão alguns links que o ajudarão a começar no mundo do código aberto e que são da Kalify Inc:

E caso você queira encontrar mais, você pode acessar nossa ala de projetos

No mundo do software de código aberto, os problemas são relatados e corrigidos rapidamente. Portanto, uma boa maneira de dar o pontapé inicial é assumir um problema e tentar trabalhá-lo imediatamente.

Como escolher um projeto de código aberto

Depois de encontrar o projeto com o qual deseja contribuir, é hora de fazer uma pequena verificação. Certifique-se de que ele atenda aos seguintes critérios para que você saiba que será um bom projeto para trabalhar:

  • Verifique se tem um arquivo de licença.
  • Verifique quando foi feito o último commit. Isso ajudará você a saber se os mantenedores estão ativos e também fornecerá uma estimativa de quanto tempo levará para responder à sua contribuição.
  • Procure o número de contribuintes.
  • Verifique com que frequência as pessoas fazem commits.

Se você vir muitas atividades recentes, isso é um bom sinal – significa que a comunidade está ativa e os mantenedores também.

Agora, se a primeira "verificação" der certo, prossiga para verificar também os seguintes pontos:

  • Tem alguma issue em aberto? Se sim, isso pode ser um bom sinal, você terá por onde começar.
  • Quanto tempo leva para os mantenedores responderem? Isso será determinado pela frequência com que os problemas são fechados e os PRs mesclados.
  • Existe uma discussão ativa sobre um assunto?
  • Os problemas estão sendo fechados regularmente?
  • Quantas pull requests existem abertas?
  • Há quanto tempo as solicitações pull mais recentes foram mescladas?
  • Os mantenedores agradecem as pessoas por contribuírem?

Se esse processo de verificação final for aprovado, você estará pronto para começar sua contribuição.

O que considerar antes de ir para o código aberto

Sei que você está empolgado e pronto para arrasar no mundo dos projetos open source, mas sabe o que procurar em um projeto?

Como mencionado acima, existem diferentes maneiras pelas quais você pode contribuir. Mas antes de fazer sua primeira contribuição é bom observar algumas coisas sobre o projeto que você vai escolher, como:

Qual linguagem de programação o projeto usa? A tecnologia mais fundamental por trás de qualquer aplicativo é a linguagem de programação que ele usa. Algumas das linguagens mais populares no GitHub são JavaScript, Typescript, Python, Java, Ruby e PHP – mas existem muitas outras. Há uma infinidade de projetos que podem atender às suas habilidades e interesses. Portanto, basta encontrar um em que você se sinta confortável trabalhando.

Tipo de projeto Depois de escolher o idioma com o qual deseja trabalhar, você também precisará escolher o tipo de projeto de sua preferência. Basta dar uma olhada e escolher um projeto ou um tema que lhe interesse. Depois de encontrar um projeto, você realmente deseja fazer contribuições. E você fará isso enviando pull request. Vamos falar sobre isso agora.

O que é um pull request?

Lembra do exemplo sobre o Google Docs? Bem, uma pull request é semelhante, só que desta vez trata-se de código.

Podemos descrever uma pull request como quando um contribuidor envia alterações – seja código, documentação ou outro lugar – e pede a um mantenedor para verificar, certificar-se de que está tudo bem e, em seguida, mesclar com o projeto base.

Então, como você envia um?

Como enviar uma pull request

Se você está nesta fase, significa que encontrou um projeto e está pronto para dar sua contribuição. Então, vamos falar sobre como realmente enviar uma pull request.

Etapas para enviar um PR / Pull Request

  • Fork o repositório

No canto superior direito, você verá o termo "fork". Tudo o que você precisa fazer é clicar nele e terá criado uma cópia do mesmo projeto em sua conta.

image

Após esta operação a URL do projeto mudará para:

https://github.com/<YourUserName>/projectname

Clone o projeto em sua máquina local Para que você execute esta etapa, você deve ter o Git instalado localmente em sua máquina. Caso contrário, consulte os documentos oficiais do Git sobre como começar. Copie a URL do projeto bifurcado e prossiga para sua máquina local onde você abrirá o git bash e prossiga com o comando abaixo:

git clone https://github.com/<YourUserName>/<projectname> Isso criará uma cópia do projeto em sua máquina local. Agora que você clonou o repositório, precisaremos fazer duas coisas:

A primeira é fazer as alterações/contribuições necessárias e confirmar essas alterações. Depois de fazer suas alterações e adicionar novos arquivos, é hora de adicionar essas alterações em uma ramificação separada antes de enviá-las para o controle remoto.

Mas, primeiro vamos criar uma ramificação. No seu git bash, altere o caminho no diretório do seu repositório. Para fazer isso use este comando: cd project folder name

Agora, para criar uma ramificação, usaremos o comando: git checkout -b nome-da-sua-nova-filial

Aqui está um exemplo: git checkout -b lary-mak

É hora de adicionar as novas alterações ao branch que criamos. Para ver todas as alterações que você fez, usaremos o comando: git status

O comando listará todas as alterações feitas. Para adicioná-los usaremos o git add, que adicionará todos os arquivos ao nosso branch. git add *

Vamos adicionar uma mensagem de commit, explicando brevemente o que adicionamos: git commit -m "<mensagem aqui>"

Empurre as alterações para a base remota

Agora que tudo está definido, é hora de deixar nosso mantenedor saber o que adicionamos. Isso é possível pressionando as alterações com este comando:git push origin <add-your-branch-name> substituindo <add-your-branch-name> pelo nome do branch que você criou anteriormente, no meu caso será git push origin yagasaki.

Enviar alterações Se você acessar seu repositório no GitHub e atualizar a página, verá um botão Compare and pull request. Clique nesse botão. Em breve, o mantenedor irá mesclar todas as suas alterações no branch master deste projeto (a menos que precisem de alterações suas). Você receberá um e-mail de notificação assim que as alterações forem mescladas.

Criar um pull request tem algumas vantagens, como:

  • Ele permite que você contribua para outro repositório sem precisar de privilégios administrativos para fazer alterações no repositório.
  • Ele permite que outras pessoas revisem suas alterações e sugiram correções, acréscimos, edições e assim por diante.
  • Ele dá aos administradores do repositório controle sobre o que é adicionado ao repositório do projeto.

Parabéns 🥳🎉, Você acabou de concluir o fork padrão: clonar -> editar -> pull request e isso resume sua primeira contribuição.

Você usará isso frequentemente como colaborador! Então, o que vem a seguir?

O que vem depois do seu primeiro pull request?

Isso não marca o fim! Agora é só encontrar mais projetos e continuar contribuindo. Além disso, fique atento ao mês dedicado a contribuições de código aberto todos os anos, administrado pela Digital Ocean, para ter a chance de ganhar alguns presentes incríveis.

Mais uma coisa para falar um pouco mais antes de terminarmos. Ou seja, por que contribuir com o open source é gratificante.

Benefícios de Contribuir para o Código Aberto

  • As pessoas que contribuem para um projeto de código aberto conhecem a tecnologia em um nível muito mais profundo do que simplesmente usando a tecnologia.
  • Você pode concentrar seus esforços em adicionar e alavancar recursos que beneficiarão os negócios com base na experiência com o que funciona e o que não funciona no mundo real.
  • Ele constrói sua moral e reputação. As pessoas que contribuem para projetos de código aberto têm acesso às percepções e experiências de outros membros da comunidade.
  • Contribuir para o código aberto fornece uma visão clara do futuro de um projeto
  • Se você estiver no GitHub, grande parte das coisas que você faz nessa plataforma são públicas. Use isso a seu favor, sempre fazendo o seu melhor ao contribuir e se comunicar com outros colaboradores.

Por que você deve contribuir para o código aberto como desenvolvedor

  • Isso ajudará a aprimorar suas habilidades de codificação e melhorar a escrita de código limpo.
  • Isso ajuda a comunidade e seus colegas a conhecê-lo. Esse reconhecimento pode lhe trazer muitas oportunidades em sua carreira.
  • Ele ajuda você a aprender mais sobre gerenciamento de projetos e pode deixá-lo inspirado para iniciar seu próprio projeto.

VAMOS NESSA!

Como mencionei, o código aberto está aberto para todos participarem. Existem muitas oportunidades que você pode aproveitar e aprender algo novo. Tudo que você precisa é decidir começar e começar.

O CÓDIGO ABERTO ESTÁ ESPERANDO POR VOCÊ

Se você leu até aqui, eu realmente aprecio isso. Compartilhe sua opinião, serei grato pelo seu feedback!

Conecte-se comigo no Twitter | Linkedin | GitHub | Discord

Aproveite! ❤

· Leitura de 6 minutos
Anderson Marlon

Imagine que você precisa de um aplicativo para solucionar um problema, mas ele precisa estar tanto como um aplicativo, seja no mobile, seja desktop. Você pode criar um aplicativo nativo para cada plataforma, mas isso pode ser um pouco caro e demorado. Então, você pode criar um PWA (Progressive Web Application), que é um aplicativo web que pode ser instalado em qualquer dispositivo, seja ele mobile ou desktop.

Mas afinal, o que é um PWA?

Um PWA é um aplicativo web que pode ser instalado em qualquer dispositivo, seja ele mobile ou desktop. Ele é construído com tecnologias web modernas, como HTML, CSS e JavaScript, e pode ser instalado em qualquer dispositivo e a experiência que eu tive foi simplesmente sensacional, o motivo? Transformei o Essentials em PWA e agora ele está disponível para instalação em qualquer dispositivo, até mesmo como um aplicativo no desktop, o que facilita e muito de manter-se atualizado e sem depender de um navegador ou acessar a página para ficar lembrando de instalar novos programas.

A ideia final é transformar vários de nossos produtos assim, dessa maneira, eliminamos a necessidade de usarmos o Electron por exemplo para criar aplicativos desktop, pois o PWA é apenas um conversor simples que é gerado ao fazer a build da ferramenta. Enquanto no Electron, ele seria um novo aplicativo, uma nova abordagem, remontar o código, pensar em uma nova arquitetura, etc.

Tá, mas como você criou o PWA?

Existem várias maneiras de desenvolver um PWA, como eu sou focado em Javascript, acabei usando um pacote específico para o framework que eu estava utilizando, no caso o next-pwa para atender a necessidade do Essentials que é desenvolvido em Next.JS, mas saiba que existem vários pacotes que podem fazer isso, pra entender como eles funcionam, é só você ler com calma a documentação de cada um deles. No caso do VueJS, você pode usar o vue-plugin-pwa e no React, você pode seguir direto a documentação.

O que eu fiz? Inicialmente eu instalei o pacote next-pwa e adicionei ele no next.config.js:

const withPWA = require('next-pwa')

module.exports = withPWA({
pwa: {
dest: 'public',
},
})

Depois disso, eu adicionei o arquivo manifest.json na pasta public:

{
"name": "Essentials",
"short_name": "Essentials",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#ffffff",
"description": "Essentials é uma ferramenta para gerenciar seus projetos de forma simples e rápida.",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}

E após isso, com a ajuda do next-pwa, eu não preciso criar manualmente o service-worker.js ou sw.js, ele é gerado quando eu peço a build do projeto, então eu só precisei rodar a build e o arquivo foi gerado automaticamente, claro, eu tive que colocar todos os detalhes, adicionar os tamanhos de imagens 192x192 e 512x512 e o tipo de imagem que é png e pronto, além de claro, definir no theme_color (aonde vai ficar a cor do cabeçalho do aplicativo) e voilà, o PWA já estava funcionando.

Não consegui testar localmente, claro, porque ele depende de estar em produção pra funcionar, por conta da comunicação que ele tem com o navegador para gerar o aplicativo, mas você pode ver através do Essentials que isso funciona e é muito gratificante como uma ferramenta tão pequena pode ser tão útil. Se tiver dificuldades para ver como ele funciona, você pode ver a nossa documentação sobre o aplicativo. E fiquei ainda mais com a sensação de dever cumprido, em saber que um aplicativo que foi desenvolvido para web pode se transformar em aplicativo e acessar vários dispositivos, comportar várias situações sem ter que adaptar inteiramente o código, fazer toda a transformação, mudar a arquitetura, enfim, foi uma experiência demais.

Por que você deveria transformar seu Web App em PWA?

  • O PWA permite que sua aplicação tenha um modo offline por meio da configuração de um service worker. Dá um pouco de trabalho e exige dedicação, mas funciona muito bem!
  • Normalmente os PWAs ocupam menos espaço no celular do usuário, pois o navegador só guarda o cache da sua aplicação.
  • Ele pode te ajudar a economizar em requisições! Sim, você pode configurar o seu service worker para interceptar requisições. Caso os dados da requisição já estejam guardados no cache, ele vai pegar os seus dados por meio do service worker e retornar sem fazer a requisição.
  • Construir um app PWA é muito mais fácil que construir um app nativo, seja ele realmente nativo como os apps em Swift (Objective C), Android Studio (Java), ou seja ele um framework híbrido, como React Native ou Ionic. Isso se dá pelo fato de que, na verdade, um PWA é apenas um web app adicionado em fullscreen na tela inicial do seu celular por meio de um navegador já instalado.
  • A diferença entre um app nativo e um PWA é quase irreconhecível (caso o layout dele seja bem feito). É ótimo para testar aquele famoso MVP da sua startup.
  • Você não precisa passar pela burocracia das lojas, principalmente da Apple Store para subir atualizações. É só subir.

Desvantagens

Se você quer que seu app tenha algum recurso que envolva a câmera do celular e seu público alvo possui iOS, desista do PWA. No Android funciona bem, você consegue acessar a câmera do dispositivo tanto em legacy mode (usando o app nativo da câmera do celular) ou direto pelo app (caso seu servidor tenha https).

Já o Safari (único app capaz de adicionar PWA à tela inicial no iOS,) só permite acesso à câmera em modo legacy. Nesse caso, seria interessante criar um PWA em android e um app nativo para iOS. Ou utilizar um framework como React Native para fazer um app híbrido.

Push Notifications Novamente, o Safari possui limitações quanto a push notifications, é como se você tivesse que desenhar dois códigos de push diferentes: um para todo mundo, outro para a apple. É simplesmente irritante.

Nos casos em que você quer apenas oferecer uma interface mobile mais interessante para o usuário, já possui um layout feito para ser responsivo, vale à pena tentar implementar o PWA.

· Leitura de 4 minutos
Anderson Marlon

"Git é um sistema de controle de versão distribuído que permite que várias pessoas trabalhem juntas em um projeto. Ele permite que você acompanhe as alterações em seus arquivos, reverta a um estado anterior, ramifique-se em diferentes versões e trabalhe em colaboração com outros desenvolvedores."

GitHub é uma plataforma de hospedagem de código fonte baseado no Git que permite que você armazene, compartilhe e gerencie seu código-fonte. É uma plataforma muito popular e amplamente utilizada para desenvolvimento colaborativo.

Neste guia, vamos apresentar os principais conceitos e comandos do Git e GitHub para ajudá-lo a começar a usar essas ferramentas no desenvolvimento de seus projetos.

Instalação

Antes de começar a trabalhar com Git e GitHub, você precisará instalá-los em sua máquina. Existem várias maneiras de fazer isso, dependendo do seu sistema operacional. Aqui estão alguns links úteis para ajudá-lo a começar:

Configuração inicial

Após a instalação do Git, você precisará fazer algumas configurações iniciais. Isso inclui definir seu nome e endereço de e-mail, que serão usados para identificar você em suas contribuições ao projeto.

Para configurar seu nome e endereço de e-mail, abra o terminal e execute os seguintes comandos:

git config --global user.name "Seu nome aqui"
git config --global user.email "Seu e-mail aqui"

Comandos básicos do Git

Aqui estão alguns dos comandos básicos do Git que você precisará conhecer para começar a trabalhar com o sistema de controle de versão:

git init

O comando git init é usado para inicializar um novo repositório Git em um diretório existente. Isso cria um novo subdiretório oculto chamado .git, que contém todos os arquivos necessários para o controle de versão.

git add

O comando git add é usado para adicionar um arquivo ao índice (também conhecido como área de preparação) para o controle de versão. Você pode adicionar um arquivo específico ou adicionar todos os arquivos em um diretório usando o . caractere.

git add arquivo.txt
git add .
git commit

git commit

O comando git commit é usado para criar uma nova revisão no histórico de versão. Ele grava uma mensagem de confirmação que descreve as alterações que você fez.

git commit -m "Adicionando arquivo.txt"
git status

git status

O comando git status é usado para ver o status atual do seu repositório. Ele informa quais arquivos estão em rastreamento, quais arquivos foram modificados e quais arquivos estão prontos para serem confirmados.

git status
git log

git log

O comando git log é usado para exibir o histórico de confirmações em seu repositório. Ele mostra informações como a mensagem de confirmação, o autor, a data e a hora da confirmação.

git log

Comandos básicos do GitHub

Aqui estão alguns dos comandos básicos do GitHub que você precisará conhecer para começar a trabalhar com a plataforma:

git clone

O comando git clone é usado para clonar um repositório remoto para o seu computador local. Isso permite que você baixe o código-fonte completo do projeto para sua máquina e trabalhe nele localmente.

git clone https://github.com/usuario/nome-do-repositorio.git
git push

git push

O comando git push é usado para enviar as alterações locais para um repositório remoto. Isso atualiza o repositório remoto com as suas alterações locais.

git push origin nome-do-branch
git pull

git pull

O comando git pull é usado para atualizar o repositório local com as alterações do repositório remoto. Isso é útil quando outras pessoas estão trabalhando no mesmo projeto e você precisa garantir que possui as versões mais atualizadas dos arquivos.

git pull origin nome-do-branch
git branch

git branch

O comando git branch é usado para exibir as ramificações (também conhecidas como branches) em seu repositório local. As ramificações permitem que você trabalhe em diferentes versões do projeto ao mesmo tempo.

git branch
git checkout

git checkout

O comando git checkout é usado para alternar entre diferentes ramificações em seu repositório local.

git checkout nome-do-branch

Conclusão

Este guia apresentou os principais conceitos e comandos do Git e do GitHub para ajudá-lo a começar a usá-los em seus projetos. Lembre-se de que há muito mais a aprender sobre essas ferramentas, mas com estes comandos básicos, você já pode começar a trabalhar com controle de versão e colaboração em equipe.

· Leitura de 3 minutos
Anderson Marlon

"Lembrando que esse conteúdo é para fins educativos, e o uso dele é inteiramente de sua responsabilidade"

O que é o uTorrent?

O uTorrent é um programa de compartilhamento de arquivos P2P (Peer-to-Peer) que permite que você baixe arquivos de outros usuários. O uTorrent é um dos programas de compartilhamento de arquivos mais populares do mundo, e é usado por milhões de pessoas em todo o mundo, ele atualmente é responsável por mais de 1/3 de todo o tráfego de download na internet e é o programa responsável pelo compartilhamento de jogos, filmes, músicas e outros arquivos.

Passos a seguir

O que precisamos fazer de inicio para começarmos a usar o torrent? Escolher um responsável por captar esse conteúdo, e o uTorrent é um dos melhores programas para isso, se você for do que opta por projetos open source, pode utilizar o BitTorrent também.

Para quem estiver no computador, LEIA TUDO, não me responsabilizo por você baixar Opera, Norton ou qualquer antivirus que venha junto com o instalador por apenas você clicar "Next" atrás de "Next" sem ler o que está escrito.

Entre em um dos sites deles e faça o download do programa, se for em computador.

Se for em celular, busque pelo aplicativo na loja de aplicativos do seu celular e faça o download.

Usando o uTorrent

Agora que você já tem o programa instalado, vamos aprender a usá-lo.

O torrent, nada mais é que um link (magnético) que você se comunica com outros computadores para receber todas as informações do aplicativo, programa, jogo, filme, música, etc. que você deseja baixar. E ele faz uma conexão em túnel com outros computadores que também estão baixando o mesmo arquivo, e assim, cada um desses computadores, te dá um pedacinho daquele arquivo completo, facilitando em se comunicar e em trocar informações, tornando o arquivo mais rápido de ser adquirido, quanto mais seeds (sementes) tiver no link magnético, mais rápido ele vai baixar, porque não depende de apenas um servidor, tornando uma linha reta, mas sim de comunicações com todos os outros que também baixaram o mesmo arquivo e acelerando ainda mais o download.

Vamos lá, através de qualquer site, você consegue adquirir um link magnético, ou até mesmo gerar um para arquivos que você deseja compartilhar, mas lembrando, quanto mais seeds, mais rápido.

Será algo semelhante a isso:

magnet:?xt=urn:btih:0e392fe0359a83defed331dbbba5719211ff78b&dn=Atmos.x264-SMURF%5Brartv%5D&tr=http%3A%2F%2Ftracker.trackerfix.com%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2730&tr=udp%3A%2F%2F9.rarbg.to%3A2870&tr=udp%3A%2F%2Ftracker.slowcheetah.org%3A14720&tr=udp%3A%2F%2Ftracker.fatkhoala.org%3A13790

É confuso, mas é importante apenas para o programa conseguir ler esse link.

E como você manda isso para o aplicativo? Basta acessar qualquer navegador e pedir para abrir esse link (estando em um computador) ou peça para adicionar um Torrent através do celular e insira o link.

Após alguns minutos, ele começará a se comunicar com uma rede de computadores que já possui esse mesmo arquivo e vai começar a fazer o download. É importante que depois que termine o download, você não delete aquele gerador (exceto em dispositivo móvel), pois ele irá continuar a se comunicar com novos computadores para facilitar os próximos download, ajudando ainda mais a comunidade que disponibilizou esse arquivo e te tornando mais um seed.

E é isso, bem simples, rápido e fácil.

Dúvidas? Entre em contato comigo no Twitter que vou tentar te ajudar da melhor maneira possível.

· Leitura de 3 minutos
Anderson Marlon

"Comunicação com sua equipe ou grupo de amigos que estão desenvolvendo é um pequeno passo para alcançar ainda mais o sucesso. Com o Webhook do Discord, isso fica mais fácil, todo mundo sabe o que acontece e quando acontece e claro, tudo direitinho"

Imagine que você está trabalhando em um projeto com sua equipe e você precisa enviar uma mensagem para o grupo toda vez que um commit é feito no repositório. Isso é possível com o Webhook do Discord. E qual é a vantagem disso? COMUNICAÇÃO. Seja para receber informações do commit, seja para informar a equipe - sem precisar ficar indo até o Github - para informar que uma pull request foi aberta, informar que uma issue foi fechada, essas coisas ...

O que é Webhook?

Webhook é um recurso que permite que você receba mensagens de eventos de terceiros. Ou seja, no nosso caso, iremos receber mensagens do Github e enviar pelo Discord automaticamente, sem precisar de muitas permissões e sem precisar ficar indo até o Github para ver o que aconteceu, além de ser uma forma de comunicação rápida e direta, sem ter que ficar dando permissão pra tudo.

Configurando

Primeiro, você precisa criar um Webhook no Discord. Para isso, você precisa ter permissão de administrador no servidor. Depois, vá em Configurações do Servidor > Integração > Webhooks e clique em Criar Webhook. Você pode dar um nome e uma imagem para o Webhook, mas não é obrigatório. Depois, você vai receber um link para o Webhook, que será algo como https://discord.com/api/webhooks/1234567890/1234567890. Esse link é o que você vai usar para enviar as mensagens.

Agora, você precisa criar o Webhook no Github. Para isso, vá em Settings > Webhooks > Add webhook. Você vai precisar de um nome para o Webhook, o link que você recebeu do Discord e um segredo. O segredo é uma senha que você vai usar para validar que a mensagem que está chegando é realmente do Github, a não ser que você compartilhou isso com outra pessoa, mas não é necessário essa senha. Adicione o link que recebeu e no final coloque /github, ficando algo como https://discord.com/api/webhooks/1234567890/1234567890/github isso é extramente importante. Depois, você vai precisar selecionar os eventos que você quer receber. No nosso caso, vamos selecionar apenas o Push. Depois, troque o Content Type por Application/JSON e clique em Update Webhook.

Agora, você precisa fazer um commit no repositório para testar se está tudo funcionando. Depois, você vai receber uma mensagem no Discord. Se você não receber, verifique se você configurou tudo corretamente e se você tem permissão de administrador no servidor do Discord.

Para receber mais informações como issue e pull request, você deverá colocar para ouvir todos os eventos daquele repositório ao invés de apenas o Push. Para isso, vá em Settings > Webhooks > Edit e selecione todos os eventos.

Percebeu como é fácil configurar um simples webhook? Mas atente-se, pessoas mal intencionadas podem enviar outro tipo de mensagem para o seu servidor se tiverem acesso a esse link, então tome cuidado. Abaixo, vou deixar um exemplo de como ficou o primeiro push que fiz no repositório do Onigiri Hardcore lá no servidor da Kalify.

Webhook Discord

· Leitura de 4 minutos
Anderson Marlon

"Essa publicação aborda como fazer isso no Windows 10, mas deve funcionar com Windows 11 e qualquer WSL que suporte a execução do Docker. Digo "deveria" porque não experimentei pessoalmente todas as distros, mas não há nada sobre isso que indique que não funcionará em outras distros."

Anteriormente eu havia escrito um artigo no TabNews sobre como fazer para rodar o Docker no Windows sem a necessidade do Docker Desktop. Hoje, novamente, alguns meses depois, trago uma melhoria dessa evolução. E muito mais instruída para que você não fique perdido em como rodar a aplicação por debaixo dos panos.

O processo para rodar contêineres Windows é muito fácil, você precisa primeiro habilitar essa funcionalidade. Faça isso em um terminal administrativo usando PowerShell:

Enable-WindowsOptionalFeature -Online -FeatureName Containers

Você provavelmente vai precisar reiniciar. Se ele reclamar, você pode precisar primeiro habilitar a funcionalidade de Hyper-V:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Então instale o Docker. Estou usando o Scoop, porque ele já traz também o dockerd.exe através do Windows, sem precisar de interação direta no WSL, mas você pode usar outro método se preferir, baixando esses executáveis diretamente no site do Docker. O Rancher Desktop trará o docker.exe, mas não o dockerd.exe, então não é suficiente para este passo, mesmo que você o tenha instalado.

Lembrando que o Scoop é usado fora de um terminal administrativo.

Pra ganhar o docker.exe e o dockerd.exe

scoop install docker

Então, em um terminal administrativo (WSL por exemplo), instale e configure o serviço do Docker:

Cria o Serviço NT Docker

dockerd --register-service

Configura o serviço para iniciar manualmente assim ele não inicia com o Windows

Set-Service docker -StartupType Manual

Inicia o serviço

Start-Service docker

Checa se o pipe foi criado

Get-Item //./pipe/docker_engine

Verifica se o Docker está funcionando no terminal de admin

docker info

Até esse momento você precisou de um terminal administrativo para usar o Docker, mas agora vamos permitir que seu usuário faça o acesso por um terminal normal. O Docker usa o named pipe //./pipe/docker_engine para se comunicar. Alguns tutoriais indicam mexer nas ACLs deste pipe, mas isso não é o ideal. A melhor opção é alterar o arquivo de configuração do Docker e deixá-lo controlar o acesso, assim (de novo no terminal administrativo):

Configura o Docker para funcionar com o usuário atual sem precisar de um terminal admin

mkdir $env:ProgramData\docker\config
@{ group = "docker-users" } | ConvertTo-Json | Out-File $env:ProgramData\docker\config\daemon.json

Coloca usuário atual no grupo docker-users, se ele já não existe e já está lá

$dockerUsers = Get-LocalGroup docker-users -ErrorAction SilentlyContinue
if (!($dockerUsers)) {
dockerUsers = New-LocalGroup docker-users
Add-LocalGroupMember -Group $dockerUsers -Member $(whoami)
} else {
if (!(Get-LocalGroupMember $dockerUsers | ? { $_.Name -eq $(whoami) })) {
Add-LocalGroupMember -Group $dockerUsers -Member $(whoami)
}
}

Reinicia o serviço do Docker

Stop-Service docker
Start-Service docker

E a partir daí você já pode usar o Docker direto pelo terminal não-administrativo:

docker info
docker ps
docker build ...

Lembrando que você não vai poder usar o Rancher (ou qualquer outro runtime de contêineres) enquanto o serviço do Docker estiver rodando. Para usá-lo, pare o serviço primeiro:

Stop-Service docker

E, quando for usar contêineres Windows, primeiro inicie o serviço:

Start-Service docker

Consigo instalar o Docker via CLI usando WSL diretamente?

Sim, caso você utilize o WSL, você irá adicionar o docker as dependências da apt

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Em seguida, você irá instalar a última versão do Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

E depois você poderá verificar se o Docker está instalado corretamente

docker --version

É isso. Muito simples, né? Espero que tenha ajudado.

Caso você ainda queira revisar a primeira versão desse artigo.