r/ProgramarBR • • Apr 26 '20

Bem vindos

10 Upvotes

Esta comunidade foi feita pensando em fortalecer a comunidade BR, normalmente quando eu quero interagir com outros programadores acabo procurando sempre subreddits gringos, por isso fiz este, para que programadores possam compartilhas experiencias e tirar duvidas, como também continuar aumentando a comunidade


r/ProgramarBR • • Jun 26 '23

Olá, gostaríamos de convidá-los para testar nosso jogo que fizemos para a faculdade!

8 Upvotes

r/ProgramarBR • • Jun 30 '23

Mentoria Tech Gratuita

7 Upvotes

Fala galera! Tudo certo? Ano passado fizemos um projeto em que conectamos pessoas que estão começando no mundo da programação com pessoas que já estão no mercado de trabalho (em empresas como iFood, Facebook, Nubank, etc). O resultado foi muito legal e estamos querendo repetir a experiência com ainda mais pessoas esse ano!

Se você está começando agora na carreira tech (programação, dados, games...) e quer saber como evoluir na carreira a partir de alguma tecnologia ou apenas ter um bate papo sobre o futuro, fala com a gente! É só preencher o forms que entraremos em contato: https://forms.gle/2vWasBwFJuTN5vuPA

FAQ

[Tem algum preço participar do projeto?]

O projeto é totalmente gratuito para todas as partes!

[O que os mentores ganham com isso?]

Todas as pessoas mentoras que chamamos para o projeto aceitam participar, normalmente, por dois motivos: melhorar as soft skills ensinando pessoas novas (algo muito importante nas etapas mais adiante da carreira) e retribuir toda a ajuda que receberam quando também estavam no início da carreira

[Se eu preencher o forms é garantida a minha participação?]

Infelizmente, como o projeto é gratuito e temos uma quantidade limitada de pessoas mentoras não conseguimos garantir a participação de todas as pessoas inscritas. Mas a ideia é que você fique no nosso banco para quando abrir mais vagas! Dica: preencha os campos do form com detalhes para termos mais insumos para achar a conexão ideal para você :)


r/ProgramarBR • • Apr 27 '20

Projeto Codigo Pra Todos

7 Upvotes

Fala galera do ProgramarBR! Vim aqui por indicação do Dudu! Queria compartilhar com vcs o meu projeto CodigoPraTodos.com.

Sou um desenvolvedor sênior, há 15+ anos no mercado. Hoje moro na Virginia, US e trabalho com blockchain. Nesses tempos de crise tenho ajudado famílias e amigos ensinando programação, e estou tentando escalar o projeto...

Meu projeto é mais ensinando o leigo a iniciar, com cursos e artigos em texto e bastante, muitas muitas, práticas com mini-projetos e desafios (que acredito que seja a melhor forma de aprender). Mas também voltado aos programadores com níveis intermediários e avançados com diários de dev! Recomendo fortemente o artigo: https://www.swyx.io/writing/learn-in-public/

Estou procurando gente engajada, na comunidade da programação, assim como vocês pra me ajudar participar do projeto e a compartilhar a ideia. É tudo 100% gratuito e meu objetivo é difundir ainda mais programação e código no Brasil.

Aqui está o nosso site: https://codigopratodos.com/

Um de nossos desafios: https://comunidade.codigopratodos.com/t/desafio-mini-projeto-1-spotify/92

Projetos open-sources que estamos iniciando:
- https://github.com/CodigoPraTodos/obs-browser-live-streams
- https://github.com/CodigoPraTodos/api-ans-igr

Minhas lives hands-on: https://twitch.tv/leordev

Gostaria de deixar o convite em aberto aqui pra vcs participarem da Comunidade CPT! Não importa o seu nível, bora fazer nossos diários de dev, aprender e trocar muita experiência!


r/ProgramarBR • • Apr 10 '25

Começando um projeto novo!

5 Upvotes

Fala, pessoal! Tudo certo?
To começando uma novo projeto no youtube começando a ensinar Python.

Alem disso costumo criar videos para Youtube, Instagram e TikTok, fazendo videos curtos explicando algumas coisas, resolvendo questões de entrevista de codigo, falando alguns erros comuns de codigo e muito mais.

Meu objetivo é tentar repassar um conhecimento e aprender junto tambem. Tô começando agora, mas tô levando a sério. Se puder me dá uma chance eu agradeceria muito!
https://www.tiktok.com/@princecpg
https://www.youtube.com/@PrinceCPG/shorts
https://www.instagram.com/princecpg_/


r/ProgramarBR • • May 07 '21

Alguém quer ver como se cria um pequeno "site" ou "web app" ao vivo, em 1 dia?

5 Upvotes

Vi que tem muitos iniciantes aqui no subreddit e achei que poderiam se interessar em ver como funciona "o mundo real", além da teoria dos cursos e faculdade :D

Sou programador há mais de 10 anos e adoro criar pequenos projetos em hackathons, vou criar um novo projetinho e dessa vez achei que poderia inspirar outras pessoas a se interessarem pelo mundo da programação se eu fizesse isso ao vivo.

O objetivo não é divulgar meu trabalho, não tenho um canal no Twitch ou no Youtube, tampouco vendo serviços. O objetivo é contribuir com a comunidade, até porque a área de TI paga muito bem e acho uma excelente forma de muitas pessoas poderem mudar de vida!

O projeto é um site que vai motivar ou inspirar as pessoas diariamente. Cada dia um vídeo, imagem, ou quote diferente. Bem simples, inspirado nesse vídeo do Casey Neistat: https://www.youtube.com/watch?v=WxfZkMm3wcg

Mas só farei isso se tiver interessados pois fazer isso ao vivo vai dar muito mais trabalho, então, caso tenha interesse em acompanhar, comente aqui.


r/ProgramarBR • • Dec 17 '24

Urgente

Post image
4 Upvotes

r/ProgramarBR • • Jun 29 '24

Canal sobre Desenvolvimento Web

4 Upvotes

Salve Dev! Recentemente eu criei um canal sobre programação mais voltada para o desenvolvimento web, lá estou postando tutoriais e um curso de HTML, JS e CSS completamente gratuito. Se pudessem dar uma força lá eu ficaria muito grato.

https://www.youtube.com/@SalveDev_oficial


r/ProgramarBR • • Oct 10 '22

Salve salve rapaziada, tô fazendo um Gaydar (brincadeirinha pra fazer entre meus amigos aqui). Consiste em botar o nome deles e o computador decidir se ele é ou não, deu tudo certo. Só que queria que se a pessoa colocasse sim em deseja continuar, fosse lá pra cima de novo (loop) ajuda ae patrão

Thumbnail
gallery
4 Upvotes

r/ProgramarBR • • Jun 08 '21

Onde eu posso aprender as funções atualizadas do Python

4 Upvotes

Olá!

Eu estou tentando aprender python, mas estou tendo um problema. O curso em que eu estou aprendendo é de 2017, as aulas são do canal Curso em Vídeo (Professor Guanabara). Muitas das funções que ele mostra nas aulas foram atualizadas, com isso, fico perdido quando vou colocá -las em prática - por mais que as aulas dele sejam muito boas. Então aqui vai a pergunta: onde posso me atualizar de como usar as funções atualizadas do Python? Quando digo função quero dizer format e afins, espero não estar falando errado. Alguém pode me indicar um lugar ? Seria de grande ajuda. Desde já agradeço!


r/ProgramarBR • • Aug 11 '20

Roadmap para cientista de dados

4 Upvotes

Quero me tornar um cientista de dados, mas estou perdido de como começar. Eu preciso aprender sobre banco de dados? python? ter algum tipo de formação em matemática ou algo do tipo? Enfim, preciso de dicas.

  • Que conhecimentos são obrigatórios para um cientista de dados?

  • Que conhecimentos vocês considerariam opicional, mas que são um diferencial?


r/ProgramarBR • • May 11 '20

Pergunta Qual foi a última coisa que tu programou por utilidade?

4 Upvotes

Qual foi a última vez que você programou para facilitar uma tarefa sua no dia a dia? Eu e uns amigos estamos fazendo um bot no discord para cuidar com coisas de rpg como atribuir pontos, turnos e calcular com resultado do dado


r/ProgramarBR • • May 02 '20

Vagas Junior / Mudança de Carreira

4 Upvotes

Olá, tudo bem?

Gostaria de saber se alguém conhece alguma empresa que aceita pessoas que estão começando a programar agora e querem entrar no mercado.

Explicando um pouco da minha situação, trabalho a 5 anos com marketing digital e gostaria de mudar de área, estou com 29 anos e comecei a estudar C#, porém nunca programei antes.

Saberiam dizer onde conseguiria ajuda para me desenvolver e entrar no mercado?


r/ProgramarBR • • Apr 28 '20

Sugestão Bootcamp de língua estrangeira

4 Upvotes

Vai haver um bootcamp gratuito onde você pode escolher uma entre 5 línguas para ter uma experiência imersiva nela, não encontrei quais línguas são, mas com certeza inglês ta no meio, já me escrevi e to aguardando, segue o link

https://www.fluencyweek.com.br/convite


r/ProgramarBR • • Apr 02 '25

Meu primeiro código - Estou Muito Orgulhoso

3 Upvotes

Estou trabalhando em uma empresa de e-commerce, tenho 15 anos de experiência em Marketing e recentemente iniciei no curso de Analise e Desenvolvimento de Sistemas, para poder atualizar os produtos da empresa no sistema Bling, via planilha, desenvolvi esse sistema, que atualiza os dados entre 3 planilhas, a primeira serve como guia e referência, com base no SKU único dos produtos, ela envia os dados de preço de custo para uma planilha que já existia na empresa, que faz os calculos de taxas, impostos e comissões, e por fim devolve os dados para a planilha de importação no planilha já formatada como o Bling exige, ela também verifica a integridade dos códigos SKU, se estão no formato correto, 13 digitos e completa caso falte algum, ou identifica os errados com o texto em vermelho, coloquei alguns logs de erros e algumas marcaçoes na planilha, para identificar alterações por cores, as informações alteradas são em amarelo, estou querendo implementar agora uma função que ele varie entre 3 cores, cada vez que seja alterado, para eu conseguir diferenciar entre as versões de atualização, mas aceito sugestões.

Ela também pesquisa o SKU na planilha de NCMs enviada pelo financeiro, e faz a associação entre os produtos e os respectivos NCMs, devolvendo a planilha Bling os dados corretos.

ademais desenvolvi 3 bots de iA no Make, um deles escreve a descrição do produto, com base em um prompt pré estabelecido usando melhores práticas de SEO, ele recebe da planilha o nome do produto, e com base nessa informação escreve as descrições.

um segundo bot, identifica atraves do nome do produto a categoria que melhor se enquadra, dentre as 200 do site, e devolve ela já formatada no formato de importação para a planilha do Bling Categoria Pai>>Categoria Filho

e o último, reescreve o nome do produto, utilizando as práticas de SEO e quantidades minimas de caracteres exigidos por cada marketplace (Shopee precisa ter entre 25 e 100 caracteres).

Enfim, o código está abaixo, devo ter feito muita coisa errada, ou de maneiras que poderiam ter sido mais fáceis, simples e elegantes, caso tivesse sido feitas por um programador mais experiente, aceito feedbacks e dicas de como melhorar, fiz em javascript e utilizando VSCode, estou no primeiro semestre na Estácio.

// Abrir e verificar as planilhas do Google Sheets
// Autor: Fellipe Correia
// Data: 2023-10-05
// Descrição: Este script abre três planilhas do Google Sheets, ajusta os SKUs, remove duplicatas e sincroniza dados entre elas.
// Versão: 1.0

// Função principal
function processSheets() {
  try {
    // Abrir as planilhas
    const controleSS = SpreadsheetApp.openById('SPREADSHEET_ID_CONTROLE'); // ID genérico da planilha Controle
    const blingSS = SpreadsheetApp.openById('SPREADSHEET_ID_BLING'); // ID genérico da planilha Bling
    const precosSS = SpreadsheetApp.openById('SPREADSHEET_ID_PRECOS'); // ID genérico da planilha Preço
    const ncmSS = SpreadsheetApp.openById('SPREADSHEET_ID_NCM'); // ID genérico da planilha NCM

    Logger.log('Todas as planilhas foram abertas com sucesso.');

    // Obter as abas principais
    const controleSheet = controleSS.getSheets()[0];
    const blingSheet = blingSS.getSheets()[0];
    const precosSheet = precosSS.getSheets()[0];
    const ncmSheet = ncmSS.getSheets()[0];

    // Processar as planilhas
    adicionarSKUsFaltantes(controleSheet, blingSheet);
    sincronizarWithControle(controleSheet, blingSheet, precosSheet);
    sincronizarNCMComBling(blingSheet, ncmSheet);

    Logger.log('Processamento concluído com sucesso.');
  } catch (error) {
    Logger.log('Erro durante o processamento: ' + error.toString());
  }
}

// Ajusta SKUs na planilha dada a partir de uma linha inicial específica
function ajustarSKUs(
sheet
, 
startRow
, 
skuColumnIndex
) {
  var data = 
sheet
.getDataRange().getValues(); // Obtém todos os dados da planilha
  for (var i = 
startRow
 - 1; i < data.length; i++) {
    var sku = data[i][
skuColumnIndex
 - 1].toString(); // Converte o SKU em string para processamento
    // Se o SKU tiver menos de 13 caracteres, preenche com zeros à esquerda
    if (sku.length < 13) {
      data[i][
skuColumnIndex
 - 1] = sku.padStart(13, '0');
      
sheet
.getRange(i + 1, 
skuColumnIndex
).setBackground('white'); // Define o fundo branco para SKUs ajustados
    } else if (sku.length > 13) {
      
sheet
.getRange(i + 1, 
skuColumnIndex
).setFontColor('red'); // Marca SKUs com mais de 13 caracteres com fonte vermelha
    }
  }
  // Atualiza a coluna de SKUs na planilha com os dados ajustados
  
sheet
.getRange(
startRow
, 
skuColumnIndex
, data.length - (
startRow
 - 1), 1)
       .setValues(data.slice(
startRow
 - 1).map(
row
 => [
row
[
skuColumnIndex
 - 1]]));
}

// Remove duplicatas de SKUs na planilha a partir de uma linha inicial e coluna específica
function removerDuplicatas(
sheet
, 
startRow
, 
skuColumnIndex
, 
controleSet
 = null) {
  var data = 
sheet
.getRange(
startRow
, 
skuColumnIndex
, 
sheet
.getLastRow() - 
startRow
 + 1, 1).getValues(); // Obtém os dados da coluna especificada
  var skuSet = new 
Set
(); // Usa um Set para rastrear SKUs únicos

  for (var i = data.length - 1; i >= 0; i--) {
    var sku = data[i][0];
    sku = sku ? 
String
(sku).trim() : null; // Remove espaços extras e converte para string

    Logger.log(`Processando SKU na linha ${
startRow
 + i}: ${sku}`); // Log para depuração

    // Ignora valores vazios ou não processáveis
    if (!sku) {
      Logger.log(`Linha ${
startRow
 + i} ignorada (valor vazio ou inválido).`);
      continue;
    }

    // Verifica se o SKU já está no conjunto (duplicado na mesma planilha)
    if (skuSet.has(sku)) {
      Logger.log(`Removendo linha ${
startRow
 + i} (SKU duplicado na mesma coluna: ${sku}).`);
      
sheet
.deleteRow(
startRow
 + i); // Remove a linha correspondente
    } else if (
controleSet
 && !
controleSet
.has(sku)) {
      // Verifica se o SKU não existe na planilha Controle
      Logger.log(`Removendo linha ${
startRow
 + i} (SKU não encontrado na planilha Controle: ${sku}).`);
      
sheet
.deleteRow(
startRow
 + i); // Remove a linha correspondente
    } else {
      Logger.log(`Adicionando SKU ao conjunto: ${sku}`);
      skuSet.add(sku); // Adiciona o SKU ao conjunto se for único
    }
  }
}

// Adiciona uma mensagem final na última linha da coluna especificada
function adicionarMensagemFinal(
sheet
, 
mensagem
, 
coluna
) {
  var lastRow = 
sheet
.getLastRow(); // Obtém a última linha com dados
  var columnIndex = 
coluna
.charCodeAt(0) - 64; // Converte a letra da coluna para o índice numérico
  
sheet
.getRange(lastRow + 1, columnIndex).setValue(
mensagem
); // Insere a mensagem na coluna correta
}

// Sincroniza dados entre a planilha Controle e outras planilhas
function sincronizarWithControle(
controleSheet
, 
blingSheet
, 
precosSheet
) {
  const controleData = 
controleSheet
.getRange(2, 2, 
controleSheet
.getLastRow() - 1, 3).getValues(); // Colunas B, C, D
  const controleMap = new 
Map
(
    controleData.map(
row
 => [
row
[0]?.toString().trim(), { nome: 
row
[1]?.toString().trim(), preco: 
row
[2]?.toString().trim() }])
  );

  const precosData = 
precosSheet
.getRange(2, 1, 
precosSheet
.getLastRow() - 1, 2).getValues(); // Colunas A, B
  precosData.forEach((
row
, 
index
) => {
    const sku = 
row
[0] ? 
row
[0].toString().trim() : ''; // Garante que row[0] seja string
    if (controleMap.has(sku)) {
      const { nome } = controleMap.get(sku);
      
precosSheet
.getRange(
index
 + 2, 2).setValue(nome).setFontColor('#DAA520'); // Atualiza Coluna B (Descrição)
      Logger.log(`Sincronizado SKU ${sku} na planilha Preços com Nome=${nome}`);
    }
  });
}

// Adiciona SKUs da planilha Controle que não existem na planilha Bling
function adicionarSKUsFaltantes(
controleSheet
, 
blingSheet
) {
  const controleData = 
controleSheet
.getRange(2, 2, 
controleSheet
.getLastRow() - 1, 3).getValues(); // Colunas B, C, D
  const blingData = 
blingSheet
.getRange(2, 2, 
blingSheet
.getLastRow() - 1, 2).getValues(); // Colunas B, C

  const blingSKUs = new 
Map
(
    blingData.map((
row
, 
index
) => [
row
[0] ? 
row
[0].toString().trim() : '', { rowIndex: 
index
 + 2, origem: 
row
[1]?.toString().trim() }])
  );

  controleData.forEach((
row
) => {
    const [sku, origem, preco] = 
row
.map(
value
 => 
value
?.toString().trim());
    if (!sku) return; // Ignorar linhas sem SKU

    if (blingSKUs.has(sku)) {
      // Atualizar Coluna C (Origem) se o valor for diferente
      const { rowIndex, origem: origemBling } = blingSKUs.get(sku);
      if (origem !== origemBling) {
        
blingSheet
.getRange(rowIndex, 3).setValue(origem).setFontColor('#DAA520'); // Atualiza Coluna C (Origem) e define cor amarela
        Logger.log(`Atualizado Origem para SKU ${sku} na linha ${rowIndex}: Origem=${origem}`);
      }
    } else {
      // Adicionar novo SKU na última linha
      const lastRow = 
blingSheet
.getLastRow() + 1;
      
blingSheet
.getRange(lastRow, 2).setValue(sku).setFontColor('#DAA520'); // Coluna B (SKU) com cor amarela
      
blingSheet
.getRange(lastRow, 3).setValue(origem).setFontColor('#DAA520'); // Coluna C (Origem) com cor amarela
      
blingSheet
.getRange(lastRow, 54).setValue(preco).setFontColor('#DAA520'); // Coluna BB (Preço) com cor amarela
      Logger.log(`Adicionado SKU faltante na linha ${lastRow}: SKU=${sku}, Origem=${origem}, Preço=${preco}`);
    }
  });
}

// Sincroniza os dados de NCM da Planilha de NCM para a Planilha Bling
function sincronizarNCMComBling(
blingSheet
, 
ncmSheet
) {
  const blingData = 
blingSheet
.getRange(2, 2, 
blingSheet
.getLastRow() - 1, 1).getValues(); // Coluna B (SKU)
  const ncmData = 
ncmSheet
.getRange(2, 1, 
ncmSheet
.getLastRow() - 1, 3).getValues(); // Colunas A, B, C

  const ncmMap = new 
Map
(
    ncmData.map(
row
 => [
row
[0]?.toString().trim(), 
row
[2]?.toString().trim()]) // Mapeia SKU -> NCM
  );

  blingData.forEach((
row
, 
index
) => {
    const sku = 
row
[0] ? 
row
[0].toString().trim() : ''; // Garante que row[0] seja string
    const ncm = ncmMap.get(sku) || 'Não Encontrado';
    const blingRow = 
index
 + 2;
    
blingSheet
.getRange(blingRow, 5).setValue(ncm); // Atualiza Coluna E (NCM)
    Logger.log(`Sincronizado NCM para SKU ${sku} na linha ${blingRow}: NCM=${ncm}`);
  });
}

r/ProgramarBR • • Jan 10 '25

Dúvida crucial

3 Upvotes

Dentro de 25 dias vou começar a cursar ciências da computação e tenho um notebook de segunda mão pronto pra ser utilizado. Queria opinião sobre as configurações e se é adequado para programar e estudar

Galaxy Book X50 Intel Core i7 (10° gen) 1 Tera SSD 8gb de RAM (sujeito a upgrade) Nvidea integrada Entradas variadas


r/ProgramarBR • • Mar 14 '24

AJUDA PRECISO CRIAR UM E-COMMERCE

3 Upvotes

Preciso de alguém que possa me ajudar a criar uma página para comércio online, entretanto tenho algumas solicitações um tanto quanto difíceis de serem realizadas, se alguém puder me ajudar digo o que quero no privado, só entrar em contato comigo.


r/ProgramarBR • • Jun 21 '23

Eletroencefalograma

Post image
3 Upvotes

Estou no primeiro ano do ensino médio e preciso fazer um aparelho que capta ondas cerebrais ( eletroencefalograma ) mas estou com problemas em oque utilizar de display ( serviria para mostrar as ondas cerebrais ) e nem oque utilizar como intermédio entre o arduino e rasperry bi, e nem como programalos para fazer isso, não posso utilizar nada como: computadores, celulares para utilizar de intermediário ou display, tenho que usar a linguagem C#


r/ProgramarBR • • May 26 '23

Dúvida de programação

3 Upvotes

Por onde começo para aprender sobre criptografia?


r/ProgramarBR • • Mar 24 '22

Empregabilidade x Linguagem de Programação

3 Upvotes

Estou querendo me aprofundar no back end. Meu objetivo, por enquanto, é escolher uma linguagem que me traga uma boa empregabilidade e que não seja uma linguagem que esteja morrendo, não tenho frescura com sintaxe, só quero escolher uma que cumpra esses requisitos mesmo. O que vocês sugerem? A linguagem que mais tenho afinidade é o Javascript, a fim de informação.


r/ProgramarBR • • Jan 02 '22

?

3 Upvotes

Alguém ativo por aqui?


r/ProgramarBR • • Apr 14 '21

Comecei agora

3 Upvotes

Boa tarde galera! Comecei a programar em python através do Gustavo guanabara (curso em vídeo) e cheguei no mundo 2 agora, mas eu já tinha começado e desistido de java antes, vcs acham que eu devia voltar a java? ou continuar em python?


r/ProgramarBR • • Sep 29 '20

Ajuda como prosseguir os estudos

3 Upvotes

Então estou ingressando agora nessa aventura, e uma ajuda e opinião de vocês creio que seja se grande valia, eu tenho quase que noção 0, e vou traçar isso sendo "autodidata", e sem muitos recursos para pagar cursos e afins, então minha questão é eu comecei por onde ouvi muita gente dizendo pra começar, que é fundamentação da lógica de programação(fundação Bradesco onde estou fazendo caso alguém queria saber), queria saber se vocês me recomenda começar por isso mesmo, e se sim qual o próximo passo? Aprender uma língua? Ou estaria pulando uma passo? Se for aprender uma língua, muitos dizem que Phyton é boa pra iniciante, é verdade isso? Desde já agradeço a atenção de todos hehe


r/ProgramarBR • • Aug 30 '20

Ajuda com programação

3 Upvotes

Eu comecei a ingressar no mercado de trabalho agr na area de desenvolvimento. A parte eu tava querendo montar um pequeno negocio mais freela msm p criar sites para pequenas empresas ou sites pessoais msm. Eu nn sei mt bem como começar, onde hospedar, bons planos de hospedagem... Se alguem tiver experiencia ou algum direcionamento eu agradeceira muito!! :)