Vida de Programador Store

Precisamos melhorar as entregas 13/09/2018 10:08

#include <potter.h>

Feliz do Dia do Programador! Dizem que alguns programadores são gênios! Mas será que eles fazem mágica?

Essa tirinha foi feita em parceria com a BRQ. Por ocasião do Dia do Programador, fizeram um levantamento interno de sugestões de tirinhas e a história da vida de programador do Guilherme Sester Araujo foi a mais votada e virou essa tirinha!

Parabéns a todos nós pelo dia e vamos comemorar com muito café e código! :)

Ah, esse é o Guilherme:

Guilherme Araujo

Transcrição ↓

Usuário: Precisamos melhorar as entregas da sprint!
Programador: Podemos usar um framework.. Os componentes já virão prontos, daí diminui o tempo de desenvolvimento. Por outro lado, aumenta o tempo de customização...
Programador: Nós poderíamos ter mais desenvolvedores atuando nessas demandas...
Usuário: Isso aumenta o custo... Não existe uma forma de reduzir o tempo de desenvolvimento, de customização, melhorar a qualidade nas entregas, já com os testes feitos, com metade dos recursos?
Programador: Olha, existe. Esse tipo de processo já está há um bom tempo no mercado, mas não é muito confiável e é difícil de implementar...
Usuário: Sério? Qual processo?
Programador: Mágica!
Usuário: PLOFT!
--
Camiseta: #include <potter.h>

[Vídeo] As mulheres e a programação 13/09/2018 07:54

Por que será que a área de T.I. (programação ou demais) tem poucas mulheres? O que afasta as mulheres da T.I.?

Nesse vídeo trago alguns fatos históricos sobre a programação que começou e foi levada por um bom tempo por mulheres.

Mencionados no vídeo:

Grupo no telegram

Artigos:

As programadoras do ENIAC apagadas da história da computação

A nerdinha que salvou a Apollo 11

Documentário: The computers

Camiseta

Baby look

Pela lógica 12/09/2018 09:42

tirinha
Inclua essa tirinha em seu site
COLE ESSE CÓDIGO EM SEU SITE x
Transcrição ↓

real historia;
string sender = "José Pio";

Programador: Olha, chefe, essa procedure está com erro...
Chefe: Que erro?
Programador: Pela lógica, ela não deveria executar essa ação...
Chefe: Para tudo! Você não pode programar pela lógica!
Programador: PLOFT!
--
Camiseta: Programação por inspiração divina

Aconteceu uma coisa 11/09/2018 10:43

tirinha
Inclua essa tirinha em seu site
COLE ESSE CÓDIGO EM SEU SITE x
Transcrição ↓


string sender = "kraw";

Chefe: Programador, por que você ainda não entregou a tarefa?
Programador: Chefe, aconteceu um problema. Minha máquina foi atingida por um taco de baseball...
(Silêncio de ambos)
Programador: Várias vezes...
--
Camiseta: Ela que começou...

Música no site 10/09/2018 13:42

tirinha
Inclua essa tirinha em seu site
COLE ESSE CÓDIGO EM SEU SITE x
Transcrição ↓

real historia;
string sender = "Guilherme Costa";

Alonso: Cara, me ajuda aqui com uma coisa... Eu estou tentando colocar música no site do cliente, mas não está dando, não...
Programador: Deixa eu ver...
Programador: PLOFT!
Na tela do Alonso: <input type="radio" src="musica.mp3">
--
Camiseta: Às vezes está só na estação errada

[Vídeo] Está chegando o Dia do Programador 04/09/2018 08:54

O Dia do Programador está chegando e estamos nos preparando para comemorar! Comemore também com a sua equipe ou sozinho, mas de alguma forma comemore!

Os programadores merecem esse dia especial! Aproveite o dia, se valorize e valorize seus programadores!

Camiseta do vídeo: It's not a bug, it's a feature

Para não correr riscos 01/09/2018 10:27

tirinha
Inclua essa tirinha em seu site
COLE ESSE CÓDIGO EM SEU SITE x
Transcrição ↓

real historia;
string sender = "Hyosung";

Programador: Daí nós criamos um cadastro genérico de promoções onde vocês podem cadastrar qualquer promoção...
Usuário: Muito bom, mas eu preciso das informações separadas. Vai salvar tudo junto?
Programador: Não, internamente as informações ficam em uma mesma tabela, mas são separadas por uma chav...
Usuário: Não! Eu preciso dos dados separados para não misturar!
Programador: Mas são separados pela chave, senão ia ter que ter N tabelas por promoção! Não concorda, chefe?
Chefe: Eu concordo! O cliente está certo... Tem que colocar uma promoção em cada tabela para não correr o risco de misturar tudo!
Programador: PLOFT!
--
Camiseta: Não prefere um caderno?

5 erros graves que impactam a segurança do software 30/08/2018 09:40

Muito tem se falado sobre segurança de dados e transformação digital, mas antes de mais nada, devemos falar em desenvolvimento seguro de software, onde tudo começa objetivando a proteção contra a introdução acidental de vulnerabilidades de segurança nos sistemas.

Defeitos, bugs e falhas lógicas são consistentemente a principal causa de vulnerabilidades de softwares comumente exploradas. Por meio da análise de milhares de vulnerabilidades relatadas, os profissionais de segurança descobriram que a maioria das vulnerabilidades se origina de erros comuns de programação.

Ao identificar as práticas de codificação inseguras que levam a esses erros e instruir os desenvolvedores sobre alternativas seguras, as organizações podem adotar medidas proativas para ajudar a reduzir ou eliminar significativamente as vulnerabilidades no software antes da implantação.

Dada a gravidade deste cenário, tanto as empresas mais desenvolvidas quanto os países como Brasil, e até a União Europeia, estão se movimentando para criar regras específicas e capacitar cada vez mais seus profissionais de desenvolvimento focado na área de segurança.

A LGPD, Lei de Proteção de Dados brasileira, recém sancionada pelo presidente, tem regras específicas que garante maior controle dos cidadãos sobre suas informações pessoais, exigindo consentimento explícito para coleta e uso dos dados e obriga a oferta de opções para o usuário visualizar, corrigir e excluir esses dados.

Outro ponto importante é a criação da figura do encarregado pelo tratamento de dados pessoais que deverá orientar os funcionários e os contratados da entidade a respeito das práticas a serem tomadas em relação à proteção de dados pessoais visando a garantia da segurança dos dados, impedindo acessos não autorizados e qualquer forma de vazamento.

Durante meus últimos 10 anos de trabalho encontrei diversas falhas de desenvolvimento e codificação absurdas que deixaram os muitos dados sensíveis corporativos expostos a ataques de hackers. Abaixo listo os 5 erros mais graves que impactam diretamente a segurança do software com dicas de como evita-los e diversos insights. Se você trabalha em qualquer área de desenvolvimento de software, deve ler cuidadosamente cada um dos itens abaixo:

1. Falha ao Controlar Geração de Código (também conhecida como 'Code Injection')

Embora seja difícil negar a sensualidade do código gerado dinamicamente, os invasores acham isso igualmente atraente. Ele se torna uma séria vulnerabilidade quando seu código é chamado diretamente por pessoas não autorizadas, se entradas externas podem afetar qual código é executado ou se essas entradas são alimentadas diretamente no próprio código

2. Uso inadequado da Criptografia

Criptografia Grow-Your-Own é uma visão bem-vinda para os atacantes. A criptografia é difícil. Se matemáticos brilhantes e cientistas da computação em todo o mundo não conseguem acertar - e estão regularmente desatualizando suas próprias técnicas - então você também não pode.

A codificação de uma conta secreta e senha em seu software é extremamente conveniente - para engenheiros reversos qualificados. Se a senha for a mesma em todo o seu software, todos os clientes ficarão vulneráveis quando essa senha for inevitavelmente conhecida. E porque é hard-coded, é uma dor enorme para consertar.

3. Validação de entrada incorreta

Certifique-se de que sua entrada seja válida. Se você está esperando um número, não deve conter letras. Nem o preço de um carro novo deve ser um dólar. A validação de entrada incorreta pode levar a vulnerabilidades quando os invasores podem modificar suas entradas de maneiras inesperadas. Muitas das vulnerabilidades mais comuns de hoje podem ser eliminadas, ou pelo menos reduzidas, com validação de entrada restrita.

4. Codificação imprópria e consultas de banco estruturadas inadequadas (também conhecido como SQL injection)

A codificação de saída insuficiente está na raiz da maioria dos ataques baseados em injeção. Um invasor pode modificar os comandos que você pretende enviar para outros componentes, levando possivelmente a um comprometimento completo de seu aplicativo - sem mencionar a exposição dos outros componentes a explorações que o invasor não conseguiria iniciar diretamente. Quando o programa gera saídas para outros componentes na forma de mensagens estruturadas, como consultas ou solicitações, separe as informações de controle e os metadados dos dados reais.

Se os invasores puderem influenciar o SQL que você envia ao banco de dados, eles poderão modificar as consultas para roubar, corromper ou alterar os dados subjacentes. Se você usar consultas SQL em controles de segurança, como a autenticação, os invasores poderão alterar a lógica dessas consultas para ignorar a segurança.

5. Controle de acesso inadequado (Autorização)

Se você não garantir que os usuários do seu software estejam fazendo apenas o que eles têm permissão, os invasores tentarão explorar sua autorização inadequada e exercer essa funcionalidade não autorizada.

Seu software pode precisar de privilégios especiais para executar determinadas operações; empunhar esses privilégios por mais tempo que o necessário é arriscado. Ao executar com privilégios extras, seu aplicativo tem acesso a recursos que o usuário do aplicativo não pode alcançar diretamente. Sempre que você inicia um programa separado com privilégios elevados, os invasores podem potencialmente explorar esses privilégios.

Essa lista de erros durante o desenvolvimento de software atende ao mesmo propósito de aumentar a conscientização das pessoas envolvidas nesse processo. Uma grande parte do sucesso é reconhecer os erros mais comuns e os modos de falha. Assim, você pode - pelo menos em teoria - perceber quais deles você está cometendo.

Nós cobrimos alguns dos erros mais comuns de programação e codificação neste artigo, mas, caso você queira se aprofundar, clique aqui para acompanhar um curso gratuito em desenvolvimento seguro e evite outros erros muito comuns.

Alcyon Junior é Gestor de Segurança da Informação no SEBRAE, Líder do Capítulo OWASP de Brasília, instrutor credenciado pela EXIN, Professor na UnB e IESB e mantenedor do PortalTIC.com. Especialista em Redes de Computador pela CISCO, MBA em Governança de TI e pós-graduado em CyberSecurity. Mestre em Gestão do Conhecimento e da Tecnologia da Informação com ênfase em Segurança Cibernética pela Universidade Católica de Brasília. Doutorando em Engenharia Elétrica com ênfase em Segurança da Informação e Comunicações na Universidade de Brasília (UnB). Além de possuir as certificações: Ethical Hacking Foundation, Information Security Based on ISO/IEC 27002, ITIL® Foundation Certificate in IT Service Management, Cisco Networking Academy Program, McAfee Vulnerability Manager e Linux Server Professional 1.

Redes 29/08/2018 11:10

tirinha
Inclua essa tirinha em seu site
COLE ESSE CÓDIGO EM SEU SITE x
Transcrição ↓

real historia;
string sender = "Fagner";

Programador: Alonso, você entende de redes?
Alonso: Mais ou menos... Tem uma lá em casa, mas faltam aqueles ganchinhos pra pendurar
Programador: PLOFT!
--
Camiseta: Alonso entende de nuvem...

[Vídeo] Verdades que você não pode dizer para sua mãe 27/08/2018 16:59

Como programadores, existem frases que dizemos que podem transmitir sentidos errados e, por isso, temos que cuidar para não falar essas frases perto de alguém que pode pegar fora de contexto e se escandalizar com isso.

Seguem aqui algumas frases que você tem que cuidar para não falar perto da sua mãe ou de pessoas sensíveis.

Camiseta Coffee In Code Out

 

↑ Voltar ao Topo