segunda-feira, 5 de agosto de 2024

Como Criar um Pull Request (PR) no GitHub

 

Como Criar um Pull Request (PR) no GitHub

Um Pull Request (PR) é um recurso essencial no GitHub que permite propor mudanças em um repositório. É como se você estivesse dizendo: "Ei, eu fiz algumas alterações aqui, por favor, dê uma olhada e veja se você quer incluí-las no projeto principal."

Passo a passo para criar um PR:

  1. Faça um Fork do Repositório:

    • O que é um fork? É uma cópia do repositório original em sua própria conta. Isso permite que você faça alterações sem afetar o repositório original.
    • Como fazer: Encontre o repositório que você deseja contribuir, clique no botão "Fork" no canto superior direito.
  2. Clone o seu Fork para sua máquina:

    • Use o comando git clone para baixar o fork para o seu computador.
    • Exemplo: git clone https://github.com/seu_usuario/nome_do_repositorio.git
  3. Crie um novo branch:

    • Por que um novo branch? Isolará suas alterações, permitindo que você trabalhe nelas sem afetar o branch principal do seu fork.
    • Como criar: Use o comando git checkout -b nome_do_seu_branch
    • Exemplo: git checkout -b feature-novo-funcionalidade
  4. Faça suas alterações:

    • Edite os arquivos, adicione novos arquivos, etc.
    • Adicione as alterações ao staging: git add .
    • Faça um commit: git commit -m "Descrição clara das suas alterações"
  5. Envie as alterações para o seu fork:

    • git push origin nome_do_seu_branch
  6. Crie o Pull Request:

    • No GitHub, vá para o seu fork.
    • Você verá uma notificação sobre o novo branch. Clique nela.
    • Clique em "Compare & pull request".
    • Escreva uma descrição clara e concisa do seu PR, explicando o que você fez e por que.
    • Clique em "Create pull request".

Observações importantes:

  • Revise seu PR: Antes de enviar, revise cuidadosamente suas alterações para garantir que tudo esteja funcionando como esperado.
  • Seja claro na descrição: Uma boa descrição facilita a revisão do seu código e aumenta as chances de seu PR ser aceito.
  • Esteja aberto ao feedback: Os mantenedores do projeto podem sugerir mudanças ou pedir mais informações. Seja receptivo a essas sugestões.
  • Respeite as convenções do projeto: Cada projeto tem suas próprias convenções de estilo de código e diretrizes de contribuição. Certifique-se de segui-las.

Recursos adicionais:

sábado, 9 de março de 2024

Pacotes em Python, como importá-los: import ou from ... import ...

Pacotes em Python



Quando importamos pacotes ou modulos em Python, podemos observar que encontramos duas nomenclaturas.

import nome_pacote

ou

from nome_pacote import nome_funcao


 Agora bem, podemos ter a 😏dúvida quando usar import ou from ... import .... ou simplesmente não entender😒 por que é implementada uma ou outra.


Tudo isso ocorre por desconhecimento, já que muitos iniciamos estudando Python, sem ter bem definidas as bases da linguagem. E é por isso que crie este post, para deixar bem explicado as duas nomenclaturas, eu sou Nadi Duno, e sou professora de TI e gosto de criar conteúdo para principiantes, altamente didático e ilustrativo.


Em caso que sejas principiante em Python e desejes, que te explique algum apartado da linguagem, com uma didática diferente que possas entender, deixa aqui tu solicitude, eu amaria💜 poder ajudar-te.

 

Agora sim, mãos na massa.👊

 

Iniciemos entendendo que é um pacote ou modulo.

 

Um pacote é um conjunto de códigos que oferecem funcionalidades especificas, para auxiliar-te.

 

Por exemplo, se desejas fazer um programa que apresente um número aleatório, só escreves uma linha de código e terás esse número aleatório, em lugar de criar um código com várias linhas; se já está criado e está disponível, o usamos, em conclusão, os pacotes estão para facilitar nossa vida.


Agora bem, para usar os pacotes e todas suas funcionalidades só devemos importá-las com a palavra-chave import.

 

Assim:

import random

 

Random é pacote que apresenta elementos aleatorios, ele contém diferentes funcionalidades como choice, randint, random,  ranrange, shuffle, entre outras.

 

Vamos a ver👀 como pegar as funcionalidades do random.


Caso import

Em caso de quer usar várias ou todas as funcionalidades do pacote implementamos import.


import random




E posteriormente usamos o nome do pacote como prefixo seguido de um ponto e o nome da função que você quer, assim:

nome_pacote.nome_funcao()

random.ranint(1,100)


 


 

Caso from .... import ...

Em caso de quer usar só uma funcionalidade do pacote implementamos from ... import ...


from random import choice



 

O choice você pode usá-la diretamente em seu código sem a necessidade de prefixá-la com o nome do pacote, assim:

nome_funcao()

choice('sim','não')









Em conclusão em Python, a diferença de usar import ou from ... import ... tem a ver com a forma como você acessa as funcionalidades do pacote.

 

A escolha entre import e from ... import ... geralmente depende da preferência pessoal, das convenções de estilo de código e da possibilidade de conflitos de nomes. Se você sabe que vai usar apenas um item específico de um pacote ou módulo.


Usar from ... import ... pode ser conveniente, pois evita a necessidade de digitar o nome do pacote ou módulo repetidamente. No entanto, se houver o risco de conflitos de nomes entre os itens que você está importando e outros itens em seu código, pode ser mais seguro usar a forma import para evitar ambiguidades.

 

Vou deixar dois códigos e o que eles apresentam em tela ao ser executados:

 

Caso import 



Executadando, obtemos



 

Caso from .... import ...



Executadando, obtemos


 


Nos exemplos usamos o pacote random, que não precisa de instalação por que ela faz parte da biblioteca padrão  de python, porém, alguns pacotes devemos instala-o separadamente antes de importá-lo,  para isso devemos usar um “gerenciador de pacotes”, chamado pip, o qual é ativado quando instalamos o python, só deves, ativar o PATH, na hora da instalação do programa, assim podes os comandos de python no terminal.












E um terminal, não é mais cedo que uma interface de linha de comando para interagir com o sistema operacional, mediante comandos de texto.

 









Em Windows podes usar o prompt de comando, para instalar o pacote desejado, usando a seguinte sintaxe:

pip install nome_pacote

 

Vamos a testar com um pacote que não vem na biblioteca padrão de Python, mtplotlib, Senão instalar previamente o pacote matplotlib e rodamos o código, vai gerar um erro indicando que o modulo ou pacote não foi encontrado ou instalado.

 

Bora a instalar,  recomendo abrir o terminal e rodar o comando

pip install matplotlib


Ao  finalizar apresenta um mensagem de sucesso, assim:


Testemos este código usando matplotlib.


Executadando, obtemos


 

Matplolib é um pacote para fazer gráficos que precisa ser instalado previamente.

 

👀Em Windows, recomendo usar o prompt de comando para rodar o pip install.👀


Para mais informação dos pacotes em python  podes entrar no site oficial

https://pypi.org/


Sempre verifica a documentação, é uma boa prática.   😎

terça-feira, 14 de novembro de 2023

Data com python

Você já teve que manipular datas em python?


Ela dá uma confusão e retorna a data errada. 😏

Olha o que estava acontecendo no meu código.

Ele estava retornando como data atual  15 de novembro sendo que hoje é 14 de novembro




Assim estava  meu código

#Importando a biblioteca import datetime
#Obter a data atual
date_today =datetime.datetime.now()

#Formatar a data em "dd/mm/aaaa"
date_formated= date_today.strftime("%d/%m/%Y")
print(date_formated)

15/11/2023


Tudo estava certinho, chamava a função, porém a data retornava errada.

Logo depois de dar umas pesquisadas, descobri 🙀🙀 que acontece pelo fuso horário ou localização incorreta no ambiente do sistema, ele pega a data e pela hora que estamos rodando o código, pode ter uma diferença de um dia.

É por isso que vamos melhorar o código definindo o fuso horário local

Vamos a usar uma nova biblioteca pytz e definimos explicitamente o fuso horário de 'America/São_Paulo'

Ficando o código assim

#Instalando pacote pytz com Pip Install Packages
pip install pytz

#Importando as bibliotecas
import datetime
import pytz  

# Obter a data e hora atual com o fuso horário local
datetime_now = datetime.datetime.now(pytz.timezone('America/Sao_Paulo'))

# Obter apenas a parte da data
date_today = datetime_now.date()

# Formatar a data em "dd/mm/aaaa"
date_formatted = date_today.strftime("%d/%m/%Y")

print(date_formatted)

14/11/2023



Agora sim 👌👌 imprime certinho o dia de hoje que é 14 de novembro



Código disponível em: https://github.com/nadiduno/linkColabGoogle/blob/main/datanadiduno.ipynb

sexta-feira, 10 de novembro de 2023

Atributo async e defer em JavaScript.

O atributo async é usado quando você está carregando um script externo e deseja que ele seja executado de forma assíncrona. Aqui estão algumas coisas importantes a saber:

  1. Carregamento Assíncrono:

    • Quando você inclui o atributo async em uma tag <script>, o navegador começa a baixar o arquivo JavaScript imediatamente, mas não bloqueia a renderização da página enquanto o arquivo está sendo baixado.
    • Isso é útil para melhorar o desempenho da página, especialmente quando você tem muitos scripts externos. A renderização da página não fica bloqueada esperando que todos os scripts sejam baixados.
  2. Ordem de Execução:

    • Scripts com o atributo async não garantem uma ordem específica de execução. O primeiro script que terminar de baixar será executado primeiro.
    • Se a ordem de execução for importante (por exemplo, se você tem dependências entre scripts), é melhor usar o atributo defer em vez de async.
  3. Compatibilidade com Navegadores:

    • O atributo async é suportado em navegadores modernos, mas pode não funcionar em navegadores mais antigos.
    • Certifique-se de testar seu código em diferentes navegadores para garantir a compatibilidade.
<script src="script.js" async></script>


Como Criar um Pull Request (PR) no GitHub

  Como Criar um Pull Request (PR) no GitHub Um Pull Request (PR) é um recurso essencial no GitHub que permite propor mudanças em um repositó...