▶ Vídeos Ver todos
Tutorial

Opera Browser Lets You Apply Dark Mode to Web Page

por Blog do KDS  –  30 abr 2026

Você já desmontou uma plaquinha de carregamento e se deparou com três fios — vermelho, preto e azul — e percebeu que, sem o fio azul conectado corretamente, a placa simplesmente não funciona? Então este artigo é para você.

✅ O que é essa plaquinha?

A placa analisada é a SX-W25-Charger-V1.4, comum em dispositivos como fones de ouvido TWS, powerbanks ou caixas de som. Ela possui:

  • Conector USB-C para entrada de energia;
  • LEDs indicadores;
  • Botão de acionamento;
  • E três fios: vermelho (VCC), preto (GND) e azul (sensor).

📌 Função do fio azul

O fio azul está conectado a um sensor de temperatura (termistor NTC) que fica na bateria. A placa verifica a resistência desse sensor antes de liberar a carga, como uma proteção contra superaquecimento.

Se o fio azul não estiver com a resistência esperada, a placa não ativa a saída de energia.

🎯 Como simular esse sensor?

A forma mais simples e segura de “burlar” ou simular o sensor é utilizando um resistor de 10kΩ entre os fios azul e preto.

Passo a passo:

  1. Identifique os fios:
    🔴 Vermelho: VCC
    ⚫ Preto: GND
    🔵 Azul: Sensor
  2. Solde um resistor de 10kΩ (1/4W ou menor) entre o fio azul e o fio preto.
  3. Conecte a alimentação na entrada USB-C da placa.
  4. O LED da placa deve acender, indicando que a simulação funcionou.

💡 Posso usar um LED ou lâmpada no lugar do resistor?

Não é recomendado. O sensor espera uma resistência fixa, e componentes como LEDs ou lâmpadas não têm esse comportamento.

⚠️ Isso pode impedir o funcionamento do carregador ou até danificar a placa.

🔌 Quer um indicador visual? Use um LED externo!

Você pode adicionar um LED indicador externo da seguinte forma:

  • Ligue o LED entre o fio vermelho (VCC) e o fio preto (GND), com um resistor de 220Ω para limitar a corrente.
  • Assim, você terá o sistema funcionando com o resistor de 10kΩ e um LED acendendo quando a placa receber energia.

📷 Imagens do projeto:

📌 Ligação do resistor na prática:
Ligação do resistor entre fio azul e preto

📌 Diagrama ilustrado:
Diagrama de ligação do resistor de 10kΩ

✅ Conclusão

Ao simular corretamente o sensor com um resistor de 10kΩ, você pode reaproveitar placas de carregamento que normalmente exigiriam sensores originais. É uma solução simples, funcional e segura para projetos de eletrônica e reaproveitamento de hardware.


🛠️ Como Simular o Sensor de Temperatura em Placas Carregadoras com um Resistor de 10kΩ

Leia mais

Ilustração explicando a remoção da tag version em arquivos modernos do Docker Compose
Ilustração explicando a remoção da tag version em arquivos modernos do Docker Compose

Se você trabalha com Docker Compose há algum tempo, certamente já se deparou com a propriedade version no topo dos seus arquivos docker-compose.yml. Essa linha, que antes era considerada essencial, agora se tornou oficialmente obsoleta.


Neste artigo, vamos explorar por que essa mudança aconteceu e como você pode modernizar seus projetos Docker de forma simples e eficaz.


O Que Mudou no Docker Compose?

Para entender melhor essa transformação, vamos analisar um exemplo prático. Considere este arquivo Docker Compose tradicional:


yaml

version: '3.8'


services:


  auth-db:

    image: postgres:11

    container_name: auth-db

    restart: always

    environment:

      

      - POSTGRES_DB=auth-db


      - POSTGRES_USER=admin


      - POSTGRES_PASSWORD=123456

    ports:

      - 5432:5432

Ao executar docker compose up com esse arquivo, você provavelmente verá este aviso:


WARN[0000] \\Documents\\git\\curso-comunicacao-servicos\\docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"

⠀⠀⠀⠀

Por Que a Propriedade Version Se Tornou Obsoleta?

A Evolução do Docker Compose

Originalmente, a propriedade version tinha uma função importante: especificar qual versão do schema do Compose file seria utilizada. Isso era fundamental para manter a compatibilidade com versões anteriores e garantir que diferentes recursos funcionassem adequadamente.


No entanto, o Docker Compose evoluiu significativamente. Hoje, ele utiliza automaticamente a Compose Specification mais recente como padrão, tornando desnecessário especificar uma versão manualmente.


Benefícios da Nova Abordagem

Simplicidade: Menos configuração manual significa menos chances de erro

Atualizações automáticas: Você sempre terá acesso aos recursos mais recentes

Menos manutenção: Não precisa mais se preocupar em atualizar versões nos arquivos

Como o Docker Compose Funciona Atualmente?

A Compose Specification

O Docker Compose agora se baseia inteiramente na Compose Specification para interpretar seus arquivos docker-compose.yml. Esta especificação é constantemente atualizada para incluir:


Novos recursos e funcionalidades

Melhorias de performance

Correções de bugs

Otimizações de segurança

Detecção Automática

Quando você executa o Docker Compose, ele automaticamente:

Analisa seu arquivo de configuração

Aplica o schema mais recente suportado

Utiliza todos os recursos disponíveis

O Que Você Deve Fazer Agora?

1. Remova a Propriedade Version

É completamente seguro deletar a linha version dos seus arquivos docker-compose.yml. Sua funcionalidade permanecerá intacta. Veja como fica o exemplo anterior:


yaml

services:


  auth-db:

    image: postgres:11

    container_name: auth-db

    restart: always

    environment:

      

      - POSTGRES_DB=auth-db


      - POSTGRES_USER=admin


      - POSTGRES_PASSWORD=123456

    ports:

      - 5432:5432

2. Aproveite os Recursos Mais Recentes

Com a Compose Specification sempre atualizada, você pode:


Usar novos tipos de volume

Implementar recursos de rede avançados

Aproveitar melhorias de performance

Utilizar novas opções de deploy

3. Ignore os Avisos (Por Enquanto)

Se você ainda tem arquivos com a propriedade version, os avisos podem ser ignorados com segurança. No entanto, é uma boa prática removê-la para manter seus arquivos limpos e atualizados.


Dicas Práticas Para Modernizar Seus Projetos

Auditoria dos Arquivos Existentes

Faça uma verificação em todos os seus projetos:


Identifique arquivos com version especificada

Teste a remoção em ambiente de desenvolvimento

Documente as mudanças para sua equipe

Automatização da Limpeza

Considere criar um script simples para remover automaticamente as linhas version dos seus arquivos:


bash

# Exemplo básico para remover linhas version

sed -i '/^version:/d' docker-compose.yml

Mantenha a Documentação Atualizada

Atualize sua documentação interna para refletir essas mudanças e eduque sua equipe sobre as melhores práticas atuais.


Benefícios de Seguir as Práticas Atuais

Para Desenvolvedores

Menos configuração: Foco no que realmente importa - seus serviços

Compatibilidade garantida: Sempre usando a versão mais estável

Aprendizado contínuo: Acesso automático a novos recursos

Para Equipes

Padronização: Todos usando a mesma abordagem

Manutenção simplificada: Menos pontos de configuração para gerenciar

Produtividade: Menos tempo gasto com configurações técnicas

Conclusão: Simplifique e Modernize

A remoção da propriedade version representa mais do que uma simples mudança técnica - é um reflexo da maturidade do Docker Compose como ferramenta. Ao eliminar essa necessidade, o Docker tornou a experiência do desenvolvedor mais fluida e intuitiva.


Lembre-se: O foco deve estar sempre no conteúdo do seu arquivo Compose - na definição dos seus serviços, redes, volumes e outros componentes - e não em preocupações com versionamento.


Está pronto para modernizar seus projetos Docker? Comece removendo a propriedade version dos seus arquivos e aproveite a simplicidade que a evolução do Docker Compose trouxe para o seu workflow de desenvolvimento.


Quer se aprofundar ainda mais em Docker e containerização? Explore recursos avançados da Compose Specification e descubra como otimizar ainda mais seus projetos com as melhores práticas atuais do mercado.


Ainda Usando Version no Docker Compose? Descubra Por Que É Hora de Parar

Leia mais

 

Script Python para deletar registros antigos do SQL Server com leitura de JSON e geração de log automático.
Script Python para deletar registros antigos do SQL Server com leitura de JSON e geração de log automático.

Manter a base de dados enxuta e saudável é fundamental para a performance de qualquer sistema. Mas, como fazer isso de forma prática, segura e sem precisar mexer em cada detalhe do código a cada nova execução?

Neste artigo, vou te mostrar como criar um script em Python que deleta registros antigos de uma tabela no SQL Server com base em um intervalo de datas, usando um arquivo de configuração .json. E mais: o script gera logs automáticos com a quantidade de registros excluídos — tudo sem complicação!

🧠 Por que automatizar a exclusão de dados?

Com o tempo, bancos de dados crescem demais e começam a apresentar problemas como lentidão nas consultas, travamentos e até erros de sincronização. Ao automatizar a limpeza periódica, você:

  • Melhora o desempenho das consultas;

  • Evita acúmulo de dados desnecessários;

  • Ganha tempo ao não depender de comandos manuais;

  • Cria um processo reversível e seguro (com logs para rastreabilidade).


🛠️ O que esse script Python faz?

  • Lê dados de conexão e intervalo de datas a partir de um arquivo .json;

  • Executa a exclusão de registros com base em uma coluna de data;

  • Gera um log.txt informando data, tabela e número de registros deletados;

  • Roda de forma simples e reutilizável para diferentes tabelas ou datas.


📁 Estrutura do Projeto

bash

/limpador_sql/ │ ├── main.py # Script principal ├── configuracao.json # Arquivo com os parâmetros └── log.txt # Registro automático da execução

📦 Exemplo de configuracao.json

json

{ "conexao": { "server": "SEU_SERVIDOR", "database": "SUA_BASE", "username": "SEU_USUARIO", "password": "SUA_SENHA", "driver": "ODBC Driver 17 for SQL Server" }, "consulta": { "tabela": "nome_da_tabela", "coluna_data": "data_criacao", "data_inicio": "2023-01-01", "data_fim": "2023-12-31" } }


Script Python


import pyodbc import json from datetime import datetime def carregar_configuracao(caminho_arquivo): with open(caminho_arquivo, 'r', encoding='utf-8') as f: return json.load(f) def registrar_log(tabela, qtd_linhas, data_inicio, data_fim): log_entry = ( f"[{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] " f"Tabela: {tabela} | Linhas deletadas: {qtd_linhas} | " f"Período: {data_inicio} até {data_fim}\n" ) with open("log.txt", "a", encoding="utf-8") as log_file: log_file.write(log_entry) def deletar_registros(config): conn_info = config['conexao'] consulta = config['consulta'] server = conn_info['server'] database = conn_info['database'] username = conn_info['username'] password = conn_info['password'] driver = conn_info['driver'] tabela = consulta['tabela'] coluna_data = consulta['coluna_data'] data_inicio = consulta['data_inicio'] data_fim = consulta['data_fim'] dt_inicio = datetime.strptime(data_inicio, "%Y-%m-%d") dt_fim = datetime.strptime(data_fim, "%Y-%m-%d") conn_str = f"""DRIVER={{{driver}}}; SERVER={server}; DATABASE={database}; UID={username}; PWD={password}""" try: conn = pyodbc.connect(conn_str) cursor = conn.cursor() query = f""" DELETE FROM {tabela} WHERE {coluna_data} >= ? AND {coluna_data} <= ? """ cursor.execute(query, dt_inicio, dt_fim) qtd = cursor.rowcount conn.commit() print(f"[OK] {qtd} registros deletados da tabela '{tabela}'.") registrar_log(tabela, qtd, data_inicio, data_fim) except Exception as e: print(f"[ERRO] Falha ao deletar registros: {e}") registrar_log(tabela, "ERRO", data_inicio, data_fim) finally: if 'cursor' in locals(): cursor.close() if 'conn' in locals(): conn.close() if __name__ == "__main__": config = carregar_configuracao("configuracao.json") deletar_registros(config)

Basta alterar as datas e o nome da tabela no .json e rodar o script novamente. Isso evita alterações diretas no código!


🔥 Como executar o script

Com Python e a biblioteca pyodbc instalados, digite no terminal:

bash

python main.py

E pronto! Os registros serão apagados e você verá algo como:

csharp

[OK] 1.243 registros deletados da tabela 'pedidos'.

E o arquivo log.txt será automaticamente atualizado:

yaml

[2025-06-27 22:15:38] Tabela: pedidos | Linhas deletadas: 1243 | Período: 2023-01-01 até 2023-12-31


✅ Benefícios dessa abordagem

  • Modularidade: separação entre código e configuração.

  • Segurança: nenhuma informação sensível exposta no script.

  • Controle: log detalhado de todas as execuções.

  • Facilidade: qualquer um da equipe pode rodar o script apenas atualizando o .json.


📌 Dica extra: agende a execução!

Se quiser que o script rode automaticamente todo mês, por exemplo, basta configurá-lo no Agendador de Tarefas do Windows ou usar o cron no Linux.


🧩 O próximo passo?

Se quiser ir além, você pode:

  • Exportar os registros deletados para um backup .csv antes da exclusão;

  • Adicionar múltiplas tabelas ao JSON;

  • Criar uma interface simples com data de início/fim para qualquer usuário executar.


💬 Conclusão

Automatizar a limpeza do banco de dados com Python é uma solução inteligente, segura e escalável. E o melhor: você pode reutilizar o mesmo script com diferentes tabelas e datas, apenas trocando o conteúdo do arquivo de configuração.

Gostou da ideia? Que tal começar agora mesmo a aplicar essa solução no seu ambiente?

🐍 Como Automatizar a Limpeza de Registros no SQL Server com Python e JSON (Com Log)

Leia mais

Como criar pendrive bootável Windows 10 no celular Android usando Ventoy e pendrive OTG sem precisar de computador
Passo a passo para criar pendrive bootável com Windows 10 no celular Android com Ventoy, pendrive OTG SanDisk e sem usar PC

 Você não tem um computador disponível e precisa criar um pendrive bootável com Windows 10? Sem problema! Neste guia, vou te mostrar como fazer isso usando apenas seu celular Android, sem precisar de PC, de forma simples, rápida e funcional.

Antes de iniciar a instalação do Windows pelo pendrive, é recomendável ter um plano de otimização para depois que o sistema estiver instalado. Preparamos uma lista com 10 arquivos BAT prontos para otimizar o Windows 10, 11 e Windows 12 — basta executar e o sistema já fica limpo e rápido automaticamente.

💡 DICA: Neste tutorial, além do tradicional uso de cabo OTG, também ensino como fazer usando um pendrive com conexão OTG, como o SanDisk 64GB Ultra Dual Drive Luxe Metal, que usei no meu próprio processo e funciona perfeitamente!

 

🚀 O Que Você Vai Precisar?

  • ✔️ Celular Android (qualquer modelo com suporte a OTG).

  • ✔️ Pendrive com conexão OTG (ex.: SanDisk Ultra Dual Drive Luxe Metal 64GB), ou um pendrive comum + cabo OTG.

  • ✔️ Arquivo ISO do Windows 10, salvo no seu celular.

  • ✔️ App Ventoy, disponível na Play Store.


⚠️ Atenção! Aviso Importante Antes de Começar

  • 🛑 Todo o conteúdo do pendrive será apagado. Faça backup antes.

  • 🛑 Procedimento 100% funcional, mas requer atenção nos passos. Não nos responsabilizamos por qualquer erro ou perda de dados.

  • 🛑 Este tutorial tem caráter educativo, feito para ajudar quem está sem acesso a um computador.


🔧 Passo a Passo para Criar um Pendrive Bootável Windows 10 Usando Apenas o Celular


1. Baixe e Instale o App Ventoy

  • Abra a Play Store.

  • Procure por “Ventoy” (desenvolvedor MixApplications).

  • Instale o app normalmente.


2. Conecte o Pendrive no Celular

  • Se estiver usando um pendrive OTG, como o SanDisk Ultra Dual Drive Luxe, é só conectar diretamente na entrada USB-C ou micro USB do celular.

  • Se for um pendrive comum, conecte utilizando um cabo OTG compatível.

  • Abra o app Ventoy e clique em “OK” quando ele pedir permissão para acessar o dispositivo USB.


3. Prepare o Pendrive para Ser Bootável

  • No Ventoy, toque no botão “Instalar”.

  • Isso formatará o pendrive no padrão bootável.

  • Confirme em “OK” nas mensagens que surgirem.

💡 Obs.: O app exibe anúncios que você precisa assistir para liberar alguns processos. Caso o botão de anúncio não funcione, vá em:
Configurações → Rede e Internet → DNS Privado → Desative temporariamente.

 

4. Envie a ISO do Windows 10 para o Pendrive

  • Toque em “Copiar arquivo para USB” no app Ventoy.

  • OK para autorizar.

  • Ele abrirá o gerenciador de arquivos.


5. Selecione o Arquivo ISO do Windows 10

  • Ative o filtro “Arquivos grandes” no canto superior.

  • Localize a ISO do Windows 10 que você já tenha salvo no seu celular.

  • Toque sobre ela para iniciar a transferência para o pendrive.


6. Aguarde o Processo Concluir

  • O app irá configurar o pendrive como bootável e transferir o Windows.

  • Ao finalizar, clique em “OK” para ejetar o dispositivo de forma segura.


🖥️ Próximos Passos: Instalando o Windows 10

  • Conecte o pendrive no PC onde você deseja instalar o Windows.

  • Ligue o computador e pressione a tecla de acesso à BIOS/Boot Menu (geralmente F12, ESC, DEL ou F2, dependendo do fabricante).

  • Escolha o pendrive na lista.

  • Siga o processo normal de instalação do Windows 10.


🎯 FAQ – Perguntas Frequentes

🔹 Funciona só com Windows 10?

❌ Não! Funciona também para Windows 11, 8.1, 7, Linux e outros sistemas.

🔹 Precisa ter root no celular?

❌ Não. Funciona perfeitamente em Android sem root.

🔹 O pendrive precisa ser especial?

✔️ Não necessariamente. Você pode usar:

  • ✔️ Pendrive com conexão OTG, como o SanDisk Ultra Dual Drive Luxe Metal 64GB (altamente recomendado pela praticidade).

  • ✔️ Ou um pendrive comum + um cabo OTG.


💡 Conclusão: Simples, Prático e Funcional!

Criar um pendrive bootável do Windows 10 diretamente pelo seu celular nunca foi tão fácil. Seja com um pendrive OTG moderno ou com um adaptador simples, este método resolve aquele problema de não ter outro computador disponível.

Agora, sempre que você precisar reinstalar, formatar ou reparar um Windows, já sabe como fazer diretamente do seu smartphone Android!

Se você prefere criar o pendrive bootável no próprio computador com mais controle e opções avançadas, veja nosso tutorial sobre o Rufus 4.14 — instalação automática do Windows sem nenhum clique, a ferramenta mais completa para criar pendrives bootáveis no PC.

✅ Como Criar um Pen Drive Bootável com Windows 10 Usando Apenas um Celular Android (Sem PC e Sem Complicação!)

Leia mais

Mais lidos esta semana

Mais Lidos

Ver ranking
4 de 20 posts

✓ Todos os posts foram carregados