Pular para o conteúdo principal

Postagens

UV - Gerenciador moderno de pacotes para o Python

UV Gerenciador de Pacotes Python O UV é um gerenciador de pacotes para o Python desenvolvido pela Astral, e substitui o Pip para o gerenciamento de pacotes para o Python. O UV é desenvolvido em Rust e é muita mais rápido na instalação de pacotes Documentação UV Para realizar a instalação do UV no Windows, utilize o seguinte comando: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" Para verificar se o processo ocorreu corretamente utilize o comando: uv --version Iniciando um novo projeto Com o uv instalado para iniciar um projeto Python utilize o seguinte comando: uv init <nome_do_projeto> O gerenciador vai criar uma pasta com um projeto Python com essa estrutura: Instalando pacotes Para instalar um novo pacote, no terminal navegue até a pasta do projeto criado, e digite o seguinte comando: uv add <nome_pacote> Por exemplo para instalar o pacote pandas: uv add pandas O gerenciador de pacote...

Proteger as Chaves de API em uma aplicação Python

Explicando o Problema Em diversas aplicações, precisamos utilizar chaves de acesso a serviços de API. Essas chaves são privadas e não devem ser expostas ao público, pois, caso caiam em mãos erradas, podem causar prejuízos financeiros, vazamento de dados ou até bloqueio dos serviços. No desenvolvimento de aplicações localmente, esse risco é menor. Porém, quando utilizamos plataformas de versionamento de código, como o GitHub, é fundamental garantir que essas chaves não sejam enviadas para o repositório público ou compartilhado. Como Proteger as Chaves Utilizando o Arquivo config.py Uma forma simples e prática de proteger as chaves de API é utilizando um arquivo config.py para armazenar essas informações sensíveis. Esse arquivo não deve ser versionado, evitando que as chaves sejam expostas no repositório remoto. Exemplo de config.py api_key = "SUA_KEY" base_url = "SUA_URL_BASE" Utilizando as Variáveis na Aplicação Para utilizar essas...

Tratando o Clique em Células do DataGridView com o Evento CellMouseDown

Apesar do avanço de tecnologias mais modernas, como aplicações web e frameworks multiplataforma, o Windows Forms ainda possui grande relevância no desenvolvimento de sistemas corporativos, principalmente em ambientes internos (intranets), onde a rapidez no desenvolvimento e a integração com o Windows são diferenciais importantes. Um dos componentes mais utilizados nessa tecnologia é o DataGridView , que permite a exibição e manipulação de dados em forma de tabela de forma eficiente e interativa. Sua versatilidade o torna ideal para a criação de interfaces ricas e funcionais, como consultas, edições em massa e visualização de grandes volumes de dados. Em determinadas situações, é necessário executar uma ação quando o usuário clica em uma célula do DataGridView . Para esse tipo de tratamento, uma das abordagens mais comuns é utilizar o evento CellMouseDown . Neste artigo, veremos um exemplo simples de como utilizar esse evento para exibir o conteúdo da célula cli...

Como Vencer a Procrastinação e Estudar Tecnologia com Foco (Serve Para Qualquer Tema!)

Como Vencer a Procrastinação e Estudar Tecnologia com Foco O tópico sobre estudar de forma eficiente sempre foi um interesse meu. Trabalhando na área de tecnologia essa necessidade aumentou, pois a área está em constante mudança e precisamos nos manter atualizados. A inspiração para escrever um artigo sobre esse tema veio de uma leitura recente, o livro Ultra-aprendizado , do autor Scott Young. O tema do livro é sobre como estudar de forma eficiente, no capítulo 5 o autor mostra estratégias para resolver problemas comuns durante uma sessão de estudos e um dos problemas tratados é a procrastinação. Durante a leitura deste livro eu fiz várias correlações com outro livro que li, o livro Hábitos Atômicos , do autor James Clear. A intenção deste artigo não é taxar pessoas como preguiçosas. No mundo em que vivemos a quantidade de tempo disponível para o lazer e estudo não é igual para todos os indivíduos, algumas pessoas simplesmente não têm tempo para dedicar aos estudos. Este artig...

Python, como realizar conexão com Banco de Dados

Python, como realizar conexão com Banco de Dados O que é o PyODBC? No desenvolvimento de software, é comum a necessidade de acessar dados de fontes externas. Geralmente, esse acesso é realizado por meio de uma conexão com um banco de dados. No Python, existem diversas formas de estabelecer essa conexão, e uma delas é utilizando a biblioteca PyODBC. O PyODBC é um projeto open source que permite a conexão com bancos de dados utilizando a interface ODBC (Open Database Connectivity). Essa abordagem facilita a integração de aplicações Python com diversos sistemas de gerenciamento de bancos de dados, como SQL Server, MySQL, PostgreSQL, Oracle, entre outros, desde que o driver ODBC apropriado esteja instalado. Este artigo pode ser relacionado ao nosso artigo anterior sobre Pandas [link] , pois podemos utilizar essa conexão com o banco de dados para transferir os registros de uma tabela diretamente para um DataFrame do Pandas. No exemplo deste artigo, utilizaremos a mesm...

Aprenda Pandas utilizando exemplos de SQL e vice e versa (select, insert, update e delete)

O que é o Pandas? O Pandas é uma biblioteca open source do Python, criada para a função de análise de dados. Suas funções incluem limpeza, tratamento e análise exploratória de dados (EDA). É uma biblioteca muito utilizada para o trabalho de Machine Learning e Data Science, porém sua utilidade vai muito além disso, sendo uma ferramenta poderosa para programadores ou profissionais que lidam com grandes conjuntos de dados. Eu utilizo muito o Pandas para conferência de relatórios e bases de dados, e considero uma ferramenta muito útil, por exemplo, para profissionais de finanças, contabilidade, etc. Funcionamento do Pandas O funcionamento do Pandas está centrado em DataFrames, que são objetos para estruturar dados, algo parecido com uma planilha. Os dados são importados para um DataFrame, e as fontes de dados pode ser de diversos tipos, por exemplo: Excel Json SQL HTML Google Sheets A liberdade que o P...

Gerenciando Dependências no Python com requirements.txt

O que é o Pip? O Pip  (Package Installer for Python) é o gerenciador de pacotes do Python. Ele permite instalar, atualizar e remover bibliotecas e dependências de forma prática, garantindo que seu ambiente esteja sempre configurado corretamente. Como gerar um arquivo requirements.txt? Quando trabalhamos em projetos Python, muitas vezes precisamos garantir que todas as dependências necessárias estejam instaladas. Para facilitar essa gestão, podemos gerar um arquivo requirements.txt que contém a lista de pacotes e versões utilizadas no ambiente. Para gerar esse arquivo, execute o seguinte comando no terminal: pip freeze > requirements.txt Esse comando captura todas as bibliotecas instaladas no ambiente e as salva no arquivo requirements.txt . Geralmente trabalhamos com um ambiente virtual, o que é uma boa prática. Como instalar dependências a partir do requirements.txt? Se você precisa configurar um novo ambiente ou compar...

Deepseek com Python: Guia Prático

Guia Prático: Conectando sua Aplicação Python à API Deepseek O Deepseek é uma plataforma poderosa que fornece APIs para diversas aplicações de inteligência artificial e aprendizado de máquina, como chatbots inteligentes, análise de sentimentos e reconhecimento de imagens. Se você deseja integrar essas APIs em seus projetos Python, este guia vai te ajudar a fazer isso de forma rápida e eficiente. Passo 1: Criar uma Conta e Obter a Chave de API Antes de começar, você precisa criar uma conta. Acesse a página do Deepseek , https://www.deepseek.com/ e clique em “API Platform” no canto superior direito e realize o cadastro na plataforma. Para utilizar a plataforma Deepseek , você precisa recarregar seu crédito. No painel de controle, clique em 'Top up' e siga as instruções para realizar a recarga. Os valores de recarga começam em 2,12 dólares (aproximadamente R$ 10,00). Para isso, você precisará de um cartão de crédito internacio...

C#: Documentação XML

  Introdução Ao utilizar um método nativo do C#, o ambiente de desenvolvimento exibe automaticamente uma descrição detalhada, informando sua funcionalidade, os parâmetros aceitos e o valor retornado. Isso facilita a compreensão e a reutilização do código. Por exemplo, podemos observar o método “Replace” da classe “String”, conforme a imagem abaixo. Podemos observar que no momento da declaração do método a IDE exibe uma mensagem de “ajuda” explicando o tipo de retorno de método, quantidade de sobrecargas disponíveis e quais os parâmetros aceitos, esse é feito pelo IntelliSense . O que é o IntelliSense O IntelliSense é um conjunto de recursos de assistência ao código disponível em IDEs como Visual Studio , Rider e VS Code . Ele oferece sugestões inteligentes enquanto você digita, exibindo informações sobre métodos, classes e parâmetros, o que melhora a produtividade e reduz erros. Utilizar comentários de docume...

Curiosidade sobre o compilador do .NET C#

Introdução O compilador do .NET C# possui diversos mecanismos para garantir a segurança e consistência do código antes mesmo da execução. Um desses mecanismos está relacionado à inicialização de variáveis locais. Dependendo do fluxo de execução, o compilador pode aceitar ou rejeitar um código, mesmo que aparentemente semelhante a outros que compilam sem problemas. Vamos entender melhor essa dinâmica com exemplos práticos. Quando o compilador aceita códigos sem inicialização explícita Em alguns casos, o compilador C# consegue determinar, de forma inequívoca, que uma variável será sempre inicializada antes do uso. Por exemplo: int valor; if (true) { valor = 10; } Console.WriteLine(valor); // Compila sem problemas Neste caso, a condição if (true) sempre será satisfeita, o que significa que a variável valor será obrigatoriamente inicializada antes de ser utilizada. O compilador consegue prever esse fluxo e permite a compilação se...

C#: Quando usar o laço for em vez do foreach

Introdução Todas as linguagens de programação possuem uma estrutura para rodar em um bloco de código várias vezes. Na linguagem C# temos esses exemplos de laço de repetição. While : Utilizado para executar um bloco de código enquanto uma condição for verdadeira. Foreach : Como o próprio nome diz (for each = para cada), repete um bloco de código para cada elemento de uma matriz ou coleção. For : itera por meio de um bloco de código um número específico de vezes. À primeira vista os laços Foreach e For parecem executar a mesma função, porém, analisado de forma mais cuidadosa entendemos que são estruturas diferentes, com vantagens a aplicações diferentes. Explicação do Foreach A estrutura Foreach é muito utilizada devido a sua praticidade e estrutura de fácil entendimento. Ele é útil para repetir um bloco de código para cada elemento de uma matriz. string[] nomesPessoas = { "João", "Maria", "José", "Joana" }; ...

JSON e Python: Tudo o Que Você Precisa Saber para Manipular Dados

O Python possui funções embutidas (built in functions) para trabalhar com formato JSON, aqui um exemplo de como realizar uma requisição para uma API e trabalhar com o retorno em JSON. Esse código faz uma chamada à PokeApi e realiza a consulta do pokemon Pikachu. Caso a requisição retorne sucesso, o JSON é mostrado na tela. Para rodar esse código é necessário instalar o módulo " request ", com o comando " pip install request ". import requests import json url = " https://pokeapi.co/api/v2/pokemon/pikachu/" response = requests.get(url) if response.status_code == 200: data = response.json() print(json.dumps(data, indent=2)) else: print(f"Error: {response.status_code}") Trabalhando com dados aninhados No exemplo acima realizamos uma requisição para a PokeApi. O conteúdo da resposta está em um formato JSON aninhado, ou seja possui itens dent...

Desenvolvendo Procedures no SQL Server: Um Guia Rápido

  O que são Stored Procedures No SQL Server, os procedimentos armazenados desempenham um papel importante, sendo ferramentas incrivelmente úteis para otimizar o desempenho do banco de dados e simplificar consultas complexas. É importante que os desenvolvedores saibam como utilizar essa ferramenta.      As “ Stored Procedures” no SQL Server são conjuntos de instruções SQL armazenadas no banco de dados para execução posterior. Esses procedimentos oferecem eficiência de execução, reutilização de código e manutenção simplificada. Com a capacidade de aceitar parâmetros, elas permitem personalizar operações, tornando-se uma ferramenta flexível e poderosa no desenvolvimento e gerenciamento de bancos de dados. Caso prático Para demonstrar o poder e utilidade das “ Stored Procedure ”, vamos ilustrar este processo com um exemplo prático. Vamos supor que estamos trabalhando com uma tabela de lançamentos e precisamos de um procedimento que nos permita excluir todos os lançam...