Cuidado, digitar andando é mais perigoso do que você pensa
Não é preciso muito tempo para ver quanta gente anda pelas ruas e
calçadas da cidade assim: cabeça baixa, olhos fixos no smartphone, dedos
a todo vapor e pouquíssima atenção com o que acontece ao seu redor. A
impressão que dá é que poderia cair um meteoro ali e muita gente nem
perceberia. Digital: digitar e dirigir não combinam. É uma equação tão perigosa
quanto dirigir bêbado. Agora, e nas calçadas ou atravessando as ruas?
Acredite, o perigo se repete.
Nos Estados Unidos, um estudo da Universidade de Washington
constatou que um em cada três pedestres se distrai na hora de atravessar
a rua porque está mexendo no celular. E, digitar é a atividade mais
arriscada na hora de cruzar uma via. Na análise, as pessoas que
digitavam demoravam quase 20% mais tempo do que a média para fazer a
travessia; pior, foram até quatro vezes mais propensas a ignorar os
semáforos, atravessar em lugar errado ou deixar de olhar para os dois
lados.
Foram poucos minutos conversando pra se
distrair no smartphone e, depois de alguns esbarrões. Seria ainda mais engraçado se não
fosse trágico. Pouco tempo atrás, em uma trilha em Belo Horizonte, a
distração com o celular por pouco não lhe rendeu um belo par de
muletas...
Existe um monte de Vinicius por aí. No YouTube encontramos uma
coleção de desastres de gente distraída com o celular. Um outro estudo,
este da Universidade de Queensland, na Austrália, diz que enviar mensagens enquanto se está caminhando pode até afetar o equilíbrio do corpo e, obviamente, multiplicar a chance de algum acidente.
Para quem ainda está rindo, saiba que o negócio está ficando sério.
Em Nova Jersey, nos Estados Unidos, andar e digitar pode se tornar crime
muito em breve. Isso mesmo: crime, com multa de até 50 dólares e até 15
dias de prisão, se a proposta de lei de uma congressista for aprovada.
Pode parecer exagero, mas...
Veja a diferença, benefícios e vantagens e desvantagens entre a programação estruturada e a programação orientada a objetos.
Muito se fala sobre programação orientada a
objetos, hoje em dia já é algo tão familiar aos programadores que se
acaba esquecendo que há algum tempo a programação estruturada dominava
amplamente. Nas universidades a iniciação as linguagens de programação,
são em sua grande maioria linguagens estruturadas, por ser uma fase de
adaptação a lógica que escrever códigos impõe.
Definição de programação estruturada (PE)
ou procedural:
É uma forma de escrever os
códigos sem encapsular dados, ou seja, que em qualquer parte do código
seja possível utilizar um dado guardado em uma variável, sem a
necessidade de permissão. Com o auxílio de métodos estruturados pode-se
modificar e retornar dados em variáveis. Não há organização em camadas,
que veremos logo mais neste artigo como funciona, assim sendo, todos os
tipos de códigos estão nos mesmos arquivos. Certamente é a mais fácil de
aprender e mais fácil de controlar o fluxo da estrutura do código, daí o
nome de programação estruturada.
é uma forma de programação de computadores que
preconiza que todos os programas possíveis podem ser reduzidos a apenas
três estruturas: sequência, decisão e iteração (esta última também é
chamada de repetição), desenvolvida por Michael A. Jackson no livro
"Principles of Program Design" de 1975.
Tendo, na prática, sido transformada na programação modular, a programação estruturada orienta os programadores para a
criação de estruturas simples nos programas, usando as sub-rotinas e as
funções. Foi à forma dominante na criação de software anterior à
programação orientada por objetos. (Wikipédia).
Exemplos de linguagem:
C. COBOL (Linguagem Comum Orientada para os Negócios ),
Fortran (IBM Mathematical FORmula TRANslation System"),
Definição de programação orientada a objetos (POO):
A orientação a
objetos se dá ao fato da escrita do código tentar trazer objetos do
mundo real para se tornar parte do código. Com o uso de classes, podemos
encapsular estes objetos e utilizá-los apenas se estivermos estas
classes instanciadas e se ela permitir o uso externo ou não. Outra parte
importante da orientação é podermos usufruir de camadas de programação.
Na internet, por exemplo, podemos ter a camada de interface, onde os
métodos da linguagem base do site ou sistema conversam através de
métodos com a linguagem HTML. Então, temos a camada de interface, a
camada de métodos de união entre a interface e o backend (camada de
inteligência e mecanismo de manipulação dos dados).
Ainda podemos dizer que a linguagem de
orientação a objetos é uma forma melhor de se reaproveitar códigos, pois
todos os métodos criados têm uma finalidade e podem ser invocados toda
vez que se fizer necessário.
Exemplo: Um método para inserir um registro
no banco de dados. Esta função vai ser chamada toda vez que você quiser
inserir um registro em uma determinada tabela, desta forma, precisa-se
fazer uma vez o código e sempre reutilizá-lo.
Facilita para a organização do projeto, separar estes conjuntos de
objetos em classes.
Definição encontrada na internet:
A orientação a objetos é um modelo de
análise, projeto e programação de sistemas de software baseado na
composição e interação entre diversas unidades de software chamadas de
objetos. Em alguns contextos, prefere-se usar modelagem orientada ao
objeto, em vez de programação. De fato, o paradigma "orientação a
objeto", tem bases conceituais e origem no campo de estudo da cognição,
que influenciou a área de inteligência artificial e da linguística, no
campo da abstração de conceitos do mundo real.
Na qualidade de método de modelagem, é tida
como a melhor estratégia para se eliminar o "gap semântico",
dificuldade recorrente no processo de modelar o mundo real do domínio do
problema em um conjunto de componentes de software que seja o mais fiel
na sua representação deste domínio. Facilitaria a comunicação do
profissional modelador e do usuário da área alvo, na medida em que a
correlação da simbologia e conceitos abstratos do mundo real e da
ferramenta de modelagem (conceitos, terminologia, símbolos, grafismo e
estratégias) fosse a mais óbvia, natural e exata possível.
PE: É possível reutilizar códigos na programação estruturada (a reutilização de códigos), porém em
muitos casos você será obrigado a utilizar o famoso "CTRL C + CTRL V".
POO: Com a POO você é capaz de elaborar um relacionamento entre diversos
componentes, estabelecendo comunicação entre eles e facilitando assim, e
muito a reutilização de código, além da facilidade de se herdar
atributos e comportamentos de outros objetos.
Manutenção do código:
PE: A manutenção do código se baseia no que o programador que criou o
código fez para deixar de comentários no próprio código ou se escreveu
um roteiro sobre o que o programa faz.
POO: Na POO, se o código seguir os padrões de construção, qualquer
programador que conheça os padrões pode facilmente encontrar problemas,
utilizar o código escrito ou até mesmo melhorá-lo se assim se fazer
necessário.
Forma de execução:
PE: A forma de execução da programação estruturada se dá pelo uso de
resolução de tarefas, um código resolvendo um problema.
POO: A programação orientada a objetos tenta fazer com que os problemas
sejam resolvidos de forma que possamos resolvê-los futuramente com a
mesma eficiência.
Considerações finais:
A
ideia de construir um algoritmo para resolver um problema (PE), salvar
aquele arquivo e vê-lo funcionando, brilha os olhos de quem o criou. Mas
a forma de resolver um problema, salvar e passar a tentar resolver
outro não se mostrou muito eficiente.
POO, A manipulação dos dados, a construção dos
objetos, a tentativa de resolver mais de um problema com o mesmo código
fazem você se apaixonar ainda mais pela tecnologia envolvida.
"Todo mundo deveria saber programar, o
mundo seria melhor se todos soubessem".
Uma Rede Particular Virtual (Virtual Private Network – VPN),
como o próprio nome sugere, é uma forma de conectar dois computadores
utilizando uma rede pública, como a Internet (a rede pública mais
utilizada para este propósito). Para ajudar a entender melhor, pense em
uma empresa que precisa interligar duas de suas filiais. Existem algumas
alternativas para solucionar o problema:
Comprar equipamentos wireless e conectar as filiais por meio de um link de rádio.
Conectar as duas por meio de um cabo de rede, o que pode ser totalmente inviável dependendo da distância entre estas.
Pagar uma linha privada (LP) para que as filiais possam se comunicar.
Utilizar uma VPN.
Estes são os quatro recursos mais utilizados por empresas, mas alguns
deles podem se tornar financeira ou geograficamente inviáveis, como é o
caso dos itens 1, 2 e 3. A melhor solução, na maioria dos casos, acaba sendo a VPN, pois seu custo é pequeno se comparado as outras opções.
Segurança e privacidade
Como
a Internet é uma rede pública, é preciso criar alguns mecanismos de
segurança para que as informações trocadas entre os computadores de uma
VPN não possam ser lidas por outras pessoas. A proteção mais utilizada é
a criptografia, pois essa garante que os dados transmitidos por um dos
computadores da rede sejam os mesmo que as demais máquinas irão receber.
Depois de criptografados, os dados são então encapsulados e
transmitidos pela Internet, utilizando o protocolo de tunelamento, até
encontrar seu destino.
Falando em tunelamento...
Quando se
fala em VPNs, a palavra tunelamento se faz muito presente. O
tunelamento consiste em criar um túnel (sugestivo, não?!) para que os
dados possam ser enviados sem que outros usuários tenham acesso.
A idéia
é a mesma de um túnel rodoviário: uma entrada, uma saída e, quem está
do lado de fora, não consegue ver quem está passando pelo interior (é como criasse um "túnel" de dados, onde apenas o o PC emissor e o PC receptor consegue "enxergar")
Como funciona
Para criar uma rede VPN não é preciso mais do
que dois (ou mais) computadores conectados à Internet e um programa de VPN (para iOS) instalado em cada máquina. O processo para o envio dos dados é o
seguinte:
Os dados são criptografados e encapsulados.
Algumas informações extras, como o número de IP da máquina remetente,
são adicionadas aos dados que serão enviados para que o computador
receptor possa identificar quem mandou o pacote de dados.
O pacote contendo todos os dados é enviado através do “túnel” criado até o computador de destino.
A máquina receptora irá identificar o computador remetente através das informações anexadas ao pacote de dados.
Os dados são recebidos e desencapsulados.
Finalmente os dados são descriptografados e armazenados no computador de destino.
Utilização
As
redes VPN são muito utilizadas por grandes empresas, principalmente
aquelas em que os funcionários viajam com freqüência ou trabalham em
casa, por exemplo. Mas nada impede que usuários comuns, no seu
dia-a-dia, utilizem as redes privadas virtuais.
No entanto, se o
tempo de transmissão dos dados é crucial para a empresa ou para o
usuário, este tipo de rede pode não ser o mais indicado, pois elas
dependem diretamente da velocidade da Internet disponível, o que pode
acarretar em atrasos e problemas sobre os quais o técnico ou usuários
não terá controle algum.
Conclusão
Para a implementação de redes virtuais privadas é
preciso ter um bom domínio do conteúdo de redes como: protocolos, IPs,
máscaras de rede, gateways, etc. Além disso, é preciso muito estudo e
uma análise criteriosa no que diz respeito à segurança, custos e
facilidades que o serviço trará para a empresa.
Mas talvez o mais
importante, principalmente se tratando de empresas, seja o desempenho
oferecido pelo serviço de redes VPN, uma vez que a transmissão de dados
por essas redes normalmente são mais lentos e requer uma Internet
razoavelmente rápida.
A melhor forma de decidir se vale ou não a pena é pesar os prós e contras em utilizar VPN e ver qual dos lados pesa mais!