Uma introdução à Programação Orientada a Objetos em C++ (Parte I)

Introdução

C++_programming
Este “curto” artigo tem o objetivo de dar um pontapé inicial para quem deseja obter uma introdução à programação orientada a objetos. O uso da linguagem C++ é mais ou menos casual, aqui.
A abreviatura do conceito em inglês é OOP, enquanto em portuguẽs é comum usar POO. O problema é que poo, em inglês quer dizer cocô — motivo pelo qual espero que você entenda por que nós vamos evitar o seu uso.

O que é Programação Orientada a Objetos (OOP)

A OOP é, sem dúvida, uma das mais complexas técnicas de programação para se explicar. Na verdade, trata-se de mais do que “técnica”. Estamos falando de um novo método de abordar a programação, em si.
Como há uma variada gama de livros sobre o assunto, não faz sentido este artigo se aprofundar em todos os meandros filosóficos e em todas as implicações que envolvem a OOP. Para entender este conceito, acreditamos que seja importante para você entender primeiro como era a programação antes dele.
Naquele tempo, a estória era assim: um programa é uma sequência lógica de instruções a serem executadas pelo computador. Só. Nada animador, não?
Isto era o que se chama de programação estruturada.
Pois bem, no final dos anos 50, no MIT, o paradigma da orientação a objetos começava a ser gestado. Veio à tona há uns 20 anos e vem ganhando força nos dias atuais.
Na programação orientada a objetos se enfatiza os dados ou os ‘objetos’ manipulados e em como o programador os manipula. No paradigma anterior, números eram apenas endereços na memória; sequencias de bytes que não tinham significados relevantes.
Um programa deve oferecer meios de solucionar qualquer que seja o problema que você tenha a sua frente. Isto é feito olhando pros objetos que definem os problemas e usando funções que manipulam estes objetos.
Ainda que estes conceitos lhe pareçam confusos, eles não são tão necessários para que você possa fazer uso efetivo da OOP em seus programas. É programando que se aprende a programar, qualquer que seja a metodologia usada.

Continuação…

Como resolver problemas com o GPS no RunKeeper

O RunKeeper é um aplicativo (app) de monitoramento de suas atividades físicas. Similar a outros, como Runtastic, Nike+, Endomondo etc. As dicas dadas aqui podem ser aproveitadas, sem problemas, em outros apps desta mesma categoria.

O GPS é do seu celular

runkeeper-test-android-peteÉ importante entender que o software de monitoramento recebe informações do software que controla o hardware do GPS no seu aparelho. Aparelhos diferentes, têm softwares e hardwares relacionados ao Sistema de Posicionamento Global (GPS) diferentes. Alguns têm um conjunto de melhor qualidade, outros não.
Ainda assim, tudo pode e deve funcionar bem e nós vamos abordar alguns dos problemas mais comuns e que podem ser resolvidos de forma simples.

Ative o GPS primeiro

Ativar GPS no RunKeeperAntes de iniciar o aplicativo de monitoramento, ligue o GPS do seu aparelho. Nada impede que você faça o contrário. Mas é uma forma mais segura de permitir que o aplicativo se conecte ao hardware do sistema de posicionamento via satélite.

Tenha paciência

A conexão com o satélite demora um pouco. Esta demora pode variar em função do tipo de hardware que você tem instalado em seu smartphone. Ou seja, a marca e o modelo do seu aparelho pode influenciar.

Antecedência

Experimente ativar o GPS antes de sair de casa para ir treinar. Você pode ligar o RunKeeper também. Quando você chegar ao local do treino, tudo já estará sincronizado e funcionando – bastará tocar o botão “iniciar a atividade”.
Se você vai a pé até o local onde você pratica suas atividades, melhor ainda. Ao ar livre, durante a caminhada, o GPS vai funcionar melhor.

Concluindo

Mais sobre o RunKeeper

Evite ligar o GPS e o RunKeeper “em cima da hora”, pouco antes do exercício. Faça isto sempre com alguns minutos de antecedência à sua atividade.
Tenha um bom treino!

10 dicas para criar senhas à prova de hackers.

Vou enumerar as dicas que hackers e especialistas em segurança digital seguem para lidar com as próprias senhas. Você pode usar algumas delas e adaptar outras à sua realidade.

LEIA MAIS:

Conheça a regra “8 por 4” para criar senhas seguras e fáceis de memorizar.

Crie uma senha nova e única a cada cadastro novo

Site novo, cadastro novo… senha nova! E não vale criar sequencias do tipo minhasenha1, minhasenha2 etc. A senha tem que ser inteiramente diferente das anteriores.
vpn-secure-network1-150x150

Mude todas as suas senhas, em todas as suas contas, a cada 6 meses

É semelhante à regra para substituir sua escova de dentes.
Marque em um calendário as datas para trocar suas senhas. Ataques de força bruta podem levar algum tempo para se concretizar e permitir a invasão. Se no meio disto, o cracker se deparar com uma troca de senha programada por você, seu ataque será frustrado, ainda em andamento — o “coitado” vai ter que começar tudo zero.

Não anote suas senhas

De que adianta evitar uma senha fraca e cometer o erro de deixá-la anotada em uma folha de papel?
Há estudos mostrando o quanto é comum as pessoas deixarem suas senhas anotadas em algum lugar perto de seus computadores. Saiba que os invasores já leram todos estes estudos.
Gerenciadores de senhas são a solução ideal para quem precisa lembrar suas senhas.

Não compartilhe

Senhas não são compartilháveis — Lembra da escova de dentes? Pois é.
Há outras formas de se compartilhar conteúdos que sejam do interesse de outras pessoas, sem a necessidade de entregar-lhes as suas senhas.
O problema aqui, geralmente, não é confiar ou não na sua esposa ou no seu marido. O problema está no fato de que você vai ter que dizer a senha em voz alta ou escrevê-la em um papelzinho para passar pra outra pessoa. Acredite nos especialistas: isto não dá certo.

Sites diferentes, senhas diferentes

As pessoas me odeiam quando eu digo isto…
Recentemente, um importante fórum na Internet teve sua segurança quebrada. Os invasores tiveram acesso a todas as senhas de seus usuários. Este incidente deixou vulneráveis todos os que utilizavam aquela mesma senha em outros sites, webmail, redes sociais, blogs etc.
Evite também usar a mesma senha para as contas de webmail, outra senha única para todas as redes sociais etc.

Alguém por perto? Cuidado ao digitar a sua senha

Tenha o cuidado de não digitar a sua senha quando alguém está olhando por cima do seu ombro. Se você usa apenas um dedo para digitar ou é lento, é muito fácil descobrir sua senha desta forma.

Não envie senhas por email

Sites de bancos ou que forneçam serviços online nunca vão te pedir seu nome de usuário ou senha. Um invasor pode se fazer passar por suporte técnico e te pedir informações deste tipo. Não caia nessa.

Troque senhas comprometidas

Se a segurança de algum site, no qual você tinha cadastro, foi comprometida, troque sua senha imediatamente. Se desconfiou que alguém pode ter descoberto sua senha, troque-a.

A opção de lembrar senha no navegador

Embora seja uma grande comodidade, esta solução apresenta graves riscos.
Estes riscos podem ser minimizados com algumas atitudes:

  • Se o seu navegador tiver a opção de perfil, use-a
  • Se o seu sistema operacional tiver a opção de perfil, use-a. Mesmo em computadores compartilhados por vários membros da família, o ideal é que cada um faça seus acessos dentro de seu próprio perfil
  • Se o computador usado não te pertence, lembrar a senha no navegador é uma péssima ideia

Evite digitar senhas em computadores que não te pertencem

Invasores podem instalar key loggers para capturar as senhas digitadas na máquina. Portanto, evite este tipo de situação.
Algumas pessoas instalam seu próprio sistema em um pendrive para fazer uso dele em cyber cafes e outros computadores públicos.

Saiba mais…

Use a regra 8 por 4 para criar uma senha segura.

Sempre que se vai criar uma nova conta, em um website (rede social, forum, email, portal etc) o dilema senha segura vs senha fácil de lembrar volta à tona.
Neste artigo, vou abordar o problema e mostrar algumas soluções práticas que você pode adotar agora mesmo. As dicas, que seguem, podem e devem ser adaptadas para atender às suas próprias necessidades. Afinal, as senhas são suas.
Cadeados

LEIA MAIS:

As 10 dicas dos hackers sobre senhas.

O processo de criação de senhas tem, essencialmente, duas regras

Ao seguir estas duas premissas, você estará no caminho para criar uma senha de relevantemente segura.

  • O comprimento da senha: Senhas devem ter, no mínimo 8 caracteres. Quanto maior o comprimento da sua senha, melhor. Senhas com mais de 10 caracteres são mais difíceis para quebrar através da força bruta.
  • Complexidade da senha: Alguns grupos de caracteres devem estar sempre incluídos na formulação das suas senhas:
    355232758_4689237613_m

    • letras minúsculas;
    • letras maiúsculas;
    • números;
    • caracteres especiais.

Alguns autores chamam a combinação das duas regras de regra 8 por 4, uma vez que se resume a escolher senhas que tenham, pelo menos 8 caracteres, dentre os quais, 4 (no mínimo) satisfazem a regra anterior, da complexidade da senha.
Se você satisfizer estas duas exigências a cada senha criada, já estará no caminho mais seguro.

Guia para criar suas novas senhas

  • Siga a regra acima: 8 por 4. Este é o fundamento de todo o processo;
  • Use caracteres únicos: dos 8 caracteres contidos na sua senha, 5 não se repetem – ou seja, são únicos;
  • Use um gerenciador de senhas: uma vez que as senhas mais fortes são mais difíceis de lembrar, um bom software pode ser de grande valia para te ajudar neste ponto;
  • Crie senhas baseadas em frases que lhe sejam fáceis de lembrar. Vale usar letras, estrofes, títulos de músicas etc. Por exemplo:

    “I used to buy my faith in worship” pode se transformar em “Iu2bmFiW”

    Como evitar as senhas fracas

    Há uma série de práticas que devem ser evitadas a todo custo, na hora de criar uma senha. Fuja destas ciladas:

    1. senha igual ao nome de usuário;
    2. nomes de pessoas da sua família, do seu cachorro, gato etc;
    3. que contenham informações pessoais sobre você ou membros da sua família: o que inclui datas de nascimento/casamento, números de telefone, placa do veículo, nome da sua rua etc;
    4. sequencias, quaisquer que sejam, alfabéticas ou numéricas. Evite coisas como abcde, 12345, poiuy etc;
    5. palavras do dicionário. Se a sua senha pode ser encontrada em um dicionário, ela é ruim. Ainda que você acrescente um ou outro caractere alfanumérico para “complicar”, ela não serve;
    6. palavras do dicionário de outro idioma também não serve;
    7. substituição de letras por números nas palavras é um truque velho e previsível para qualquer invasor;
    8. qualquer uma das situações anteriores, só que em ordem inversa;
    9. senha nenhuma;

4 comandos fatais e proibidos pro Linux.

Há comandos que são extremamente danosos pro seu sistema operacional Linux, se executados inadvertidamente.
Felizmente, nenhum deles pode ser executado sem privilégios administrativos — mas você deve ser cuidadoso, mesmo assim.
Captura_de_tela-Breaking.Bad.S01E04.avi-1Se o seu objetivo é o aprendizado, o ambiente mais seguro para testar estes e muitos outros comandos é o virtual. Aprenda a criar uma máquina virtual e vá brincar com segurança dentro dela.

O comando que apaga tudo

A função do comando rm é remover arquivos — e ele pode remover diretórios inteiros também, sem pedir qualquer confirmação.
Ao executar o comando rm -rfv /, com privilégios de root todos os arquivos e diretórios do seu sistema serão eliminados.
Veja o que ele faz:

  • r — indica a recursividade. Todos os arquivos do diretório atual e seus subdiretórios sofrerão a ação do comando;
  • f — indica a ‘forçabilidade’. Todos os arquivos serão forçosamente removidos, independente de suas permissões;
  • v — liga a ‘verbosidade’. Torna tudo mais lindo ao exibir os arquivos à medida em que são eliminados no seu terminal;
  • / — indica o local em que a operação ocorrerá. Neste caso, a raiz. É isto que torna o comando todo tão perigoso;

Se você executar a linha sem privilégios administrativos, só os arquivos nos quais você tem permissão de escrita serão afetados.

Como executar uma fork bomb

Esta é uma das formas de se fazer um ataque de negação de serviços, que consiste em, basicamente, saturar os recursos de um servidor ao ponto de torná-lo indisponível.
A fork bomb apresentada a seguir faz com que o Linux ou o Unix opere definindo uma função, chamada ‘:’ e que refira-se a si mesma duas vezes – em background e foreground:

: (){ : | : & };:

No Linux, o administrador pode prevenir este tipo de ataque com o comando ulimit que impõe restrições à quantidade de processos simultâneos por usuário.

Formatar uma partição

Qualquer instalação decente do Linux estará distribuída em várias partições. O comando:

mkfs.ext4 /dev/sdaX</code>

vai aplicar uma formatação completa à partição /dev/sdaX.
Formatar um disco completamente, desta forma, pode ser útil no caso de se estar repassando a máquina para uma outra pessoa.

Escrever diretamente no disco rígido

Ao enviar a saída de um comando diretamente pro endereço do dispositivo de disco rígido não é apenas desaconselhável. É uma ação muito perigosa e danosa pro sistema de arquivos, em sua máquina.
Pode ser feito da seguinte forma:

ls > /dev/sda

Há várias outras formas de se danificar um sistema Linux/Unix — e, na maior parte delas, é necessário ter privilégios especiais para ter sucesso.
Distribuições Linux voltadas para usuários com menor nível de conhecimento costumam vir com algumas configurações que previnem a maior parte dos acidentes.

Seja responsável! 😉