sábado, 7 de maio de 2011

CTRL+C / CTRL+V do dia - AlgoramaA


Binários, Hexa?






Que informática é inteiramente baseada em números já não deve restar dúvida. 
A informática foi derivada da lógica matemática, e foi por meio dela que houve a possibilidade de se criar máquinas. Mas até que ponto a matemática que conhecemos chega? 
Será que não há possibilidade de estender nosso conhecimento sobre números, e aplica-los na informática?
SIM! Os seres humanos sempre tentaram usar os números a seu favor, por isso somos chamados de seres racionais. Desde a descoberta do fogo, passando pela primeira invenção do mundo, a roda, até os dias atuais, em que você pode conversar com uma pessoa que mora a 3000 km de você bastando um toque. A tecnologia depende do conhecimento humano, o conhecimento humano depende da lógica e a lógica depende da matemática. Mas a matemática não se faz apenas dos números que nós, estudantes, conhecemos. Muitas vezes temos que ir além.
O sistema de classificação de capacidade física e lógica na informática é baseado na potência de 2. Existem bits, bytes, kilobytes, megabytes, gibabytes, terabytes... Cada um desses tem uma correlação com o nível anterior, que geralmente vai na ordem de 1024, menos o byte. O bit é a unidade elementar da informática, é considerado a menor unidade de medida. Oito bits formam umbyte, que é o caracter (considera-se caracter qualquer elemento que possa compor um texto, seja ele letra, número ou símbolo, e que esteja presente no código ASCII). A partir daí, 1024 bytes formam um kilobyte, 1024 kilobytes formam um megabyte, 1024 megabytes formam um gigabyte, e assim por diante.
Em 1703, na Alemanha, um matemático chamado Gottfried Leibniz elaborou um artigo científico traduzido como "Explicação da Aritmética Binária", em que se desenvolvia operações e cálculos matemáticos apenas com dois números: 0 e 1. Foi considerado o marco inicial do Sistema Binário moderno, pois, pela primeira vez, questionou-se o sistema já tão utilizado e conhecido de 10 algarismos (0, 1, 2, 3, 4, 5, 6, 7, 8 e 9). No começo é bem difícil calcular de cabeça, por exemplo, a soma de dois números binários, mas, se analisar ao fundo, veremos que se trata de um mesmo padrão utilizado na aritmética decimal. Em decimais, um número com um algarismo chama-se unidade, com dois chama-se dezena, com três chama-se centena, e por aí vai. O número de referência para a quantidade de algarismos que um número tem é sempre a base numérica (neste caso, decimal = 10) elevado à posição do último algarismo. Então, partindo-se do pressuposto que a matemática sempre conta como princípio o número 0, temos: 
100 = 1 (unidade);
101 = 10 (dezena);
102 = 100 (centena);
103 = 1000 (milhar)...
No caso dos binários, a base é 2, ou seja, só existem dois algarismos possíveis de se utilizar: 0 e 1. Então, utiliza-se o mesmo padrão de posicionamento:

20 = 1;
21 = 2;
22 = 4;
23 = 8...
(Xy Lê-se: X na base Y. Base é o sistema de numeração que se está utilizando. Binários são na base 2, decimais são na base 10, hexadecimais são na base 16, e assim por diante.)
No sistema de contagem decimal, temos que os algarismos representam quantas unidades, dezenas, centenas, milhares, etc. temos nas respectivas posições, ou seja:
49210 = 400 + 90 + 2 (4 centenas + 9 dezenas + 2 unidades)
Já nos binários, temos apenas duas possibilidades de quantidades: ou uma ou nenhuma. Portanto, fica mais fácil para a máquina decidir qual será o resultado final do número. Observando o método formal de formação dos números, temos que:

49210 = 4.102 + 9.101 + 2.100
11012 = 1.23 + 1.22 + 0.21 + 1.20 = 1310

Como na informática, o byte é composto de 8 bits, o bit pode estar ligado ou desligado, temos a comparação com os binários. Um byte (uma cadeia de bits) é um conjunto de 8 números binários, ou seja, as sequências binárias chegam até 8 posições. Assim sendo, o byte tem a capacidade de 28 = 256, portanto, podemos contar de 0 até 255 usando um byte. Percebem que, usando um número relativamente grande, nós só consumimos uma mínima parte da capacidade do computador? É esse o objetivo dos binários: simplificar para amplificar.
Aqui vai um bom e interessante exemplo sobre binários. Um desafio: como contar até 32 em apenas uma mão? Um dedo levantado representa 1, e dedo abaixado representa 0. Perceba como é a formação dos números sequenciais: Clique aqui
Agora, os hexadecimais. Se números com apenas duas possibilidades já foram meio difíceis de entender, imagina o que tem DEZESSEIS possibilidades! Ora, é o mesmo padrão usado. Mas como, se eu só conheço 10 números, de 0 a 9? Há novos números que eu nunca vi? Na verdade não. Até o número 9, utilizamos os números normais, mas a partir do 9, completamos com letras, de A a F, completando 16 elementos. Assim, correlacionando com decimais, A16 = 1010, B16 = 1110, C16 = 1210, D16 = 1310, E16 = 1410, F16 = 1510 (lembrando que a contagem começa do zero). Como a principal unidade de medida do computador chega até 255, então é de se presumir que um conjunto de Fs (o valor máximo com um único algarismo em hexadecimal) dará este valor em decimal. Mas um conjunto de quantos Fs?
Em binários, chegamos ao valor de 256 elevando a base ao número de posições. Podemos fazer ao contrário para descobrir quantos hexadecimais darão 255 em decimal.

16x = 256
16 = x√256
O único número que ao tirar raiz de 256 dá resultado Inteiro é 2, portanto:
162 = 256

Então, um simples FF já resulta em 255, o máximo que um byte pode alcançar. Usamos os hexadecimais para configurações do computador, principalmente para cores. As cores, no computador, possuem uma codificação hexadecimal, e respeitam o padrão dos bytes. Geralmente, um computador possui 256 cores, para seguir o estabelecimento hexadecimal, mas, ao invés de umbyte, são usados três. Como se faz isto? Apenas utilizando três pares de hexadecimais, formando seis algarismos, que ajudam a compor as cores baseado na intensidade de cores fundamentais e que formam todas as cores que existem na tela do computador, televisão e qualquer monitor: Vermelho, Verde e Azul (padrão RGB, em inglês). A intensidade varia de 0 (00) a 255 (FF), podendo passar por quaisquer valores entre eles, exemplo: 0A, 9B, 75, BD, CC, etc... O padrão para definir que um número é hexadecimal é colocar uma hash (#) antes do número: #FF0000 (Vermelho), #FFFF00 (Amarelo), #00FFFF (Ciano), #FFAA00 (Laranja), #FFFFFF (Branco - mistura de todas as cores), #000000 (Preto - ausência de cor).

Copiado e colado de João Elias Arruda.

Muito obrigado.

Abraços

segunda-feira, 28 de fevereiro de 2011

Coisas de Programador

   Ser desenvolvedor de sistemas já é difícil. Mas é potencializado quando se é freelancer ou autônomo.
   Para quem vai começar na área, sugiro que faça todos os possíveis trabalhos que encontrar, mas não se prostituindo, fazendo sistemas ganhando míseros trocados por hora. O porquê de se fazer todos os trabalhos possíveis é simples. Isto aumenta o seu QI (quem indica). O seu nome fica conhecido e isso atrai ou repele, depende de como seu nome está, mais trabalho e o melhor, mais desafios.
   Mas ser desenvolvedor é somente para quem gosta, pois sair de casa, munido do seu notebook, ir para o cliente, ter exaustivas reuniões, bem como noites acordado pensando nos problemas e erros que ocorreram no desenvolvimento é somente para quem tem fôlego e estomago.
   O salário varia muito. Depende da cidade e do seu QI. No começo pode-se ganhar R$15,00 por hora, no interior de São Paulo, mas pode-se conseguir trabalhos ganhando R$50,00 a hora depois que tiver um QI mais alto e uma experiência maior no mercado. Tudo depende somente do seu potencial.
   Os maiores problemas do setor de desenvolvimento são os clientes que não sabem o valor do seu trabalho, sempre chorando para que o sistema saia mais barato. Ao invés de chamar atenção nos problemas dos outros, diga o que o seu sistema tem de inovador. Por exemplo, quando um cliente diz que minha hora é muito cara, saliento para ele o tempo que dedico estudando e me aprimorando na área, bem como todos os procedimentos que utilizo quando estou desenvolvendo o dito e cujo sistema, como segurança e técnicas para agilizar o serviço dele.
   Quando o cliente é ponderado, o que se pode fazer é diminuir o preço aumentando a data de entrega do sistema, pois ai você pode intercalar outros sistemas, podendo assim, ganhar o que o cliente quis de desconto.
   Tudo isso irá fazer com que você seja um profissional renomado, e possivelmente irá abrir as portas para possíveis trabalhos mais complexos. Como alguns amigos também desenvolvedores, que hoje trabalham para a polícia federal e outros para “pequenas” empresas, como Petrobrás e até mesmo a Vale.

   Existe uma frase que acredito que todos os desenvolvedores deveriam ter como mantra.

“A informação só é preciosa quando se sabe o que fazer com ela.” - Desconhecido.

Texto escrito por: Roberto
Contato: kamicazejapa@gmail.com
Em agradecimento - Renan Fernandes

terça-feira, 15 de fevereiro de 2011

Criando um site nos padrões Web

   Um grande parceiro e amigo Nicolas Luís Huber desenvolveu um belo tutorial de como desenvolver um site nos padrões atuais da Web.
   Segue abaixo as 7 partes do vídeo.










Nícolas Luís Huber: Olá galera como prometido vou deixar os arquivos utilizados na contrução da página aqui. Qualquer dúvida  post seu comentário que irei ter prazer em respoder.    

Criado e desenvolvido por Nicolas Luís Huber.
   Em todo meu agradecimento e cumprimento, Renan Fernandes

domingo, 13 de fevereiro de 2011

Começo no Ubuntu

Começo no Ubuntu

Este tutorial morará como dar os primeiros passos no Ubuntu 10.10, conhecendo a área de trabalho, instalar os pacotes necessários, os programas equivalentes do Windows para o Ubuntu, entre varias outras dicas.

Atualização do sistema



Como mostra a imagem acima é assim a área de trabalho do Ubuntu 10.10 após a instalação, simplesinha não?
Pois bem agora vamos dar nossos primeiros passos para podermos desfrutar do bom e do melhor que o Ubuntu 10.10 tem para nós. Como podem ver na imagem acima já sera pedido logo que a instalação for completada para que você faça as atualizações necessárias do Ubuntu 10.10, dependendo de sua internet isso pode demorar um pouco, então bote para atualizar e se quiser pode ir tomar cafezinho.
Clique em “Instalar atualizações” o Ubuntu 10.10 pedira sua senha de root. Se lembram aquela que configuramos na instalação do Ubuntu 10.10 no tutorial passado?
Digitem sua senha e deixem o restante com o Ubuntu.
Dica: Caso o “Gerenciador de atualizações” não aparecer de imediato você pode ir ao terminal no caminho Aplicativos > Acessórios > Terminal e digitar
Código: #update-manager -d
Após a instalação das atualizações do seus sistema você deve reiniciar o mesmo para os próximos passos.
Conhecendo seu desktop




Depois da primeira atualização já feita vamos conhecer um pouco o desktop.
Podemos ver na barra do Gnome (a barra superior) do lado direito, os ícones: Liga/Desliga, o nome do usuário logado, relógio, data, o aplicativo da caixa de e-mail, controle do som e o ícone conexões de rede.
Do lado esquerdo temos os seguintes menus:
  • Aplicativos: Onde ficam divididos por categorias seus programas e ferramentas.
  • Locais: Onde ficam suas partições, pastas e outras coisas.
  • Exemplo: Imagens, Músicas, Vídeos, HD's etc.
  • Sistema: É onde ficam suas configurações de sistema e suas preferências.
  • Na barra inferior, temos da esquerda para direita, o ícone para mostrar o desktop (minimizar todas as janelas abertas de uma só vezes), ao decorrer da barra todas os programas, pastas, aplicativos que estão em execução, a quantidade de áreas de trabalho que você tem para poder navegar entre elas e finalizando o ícone da ligeira.
Clicando com o botão direito do mouse na área de trabalho e escolhendo “Alterar Plano de Fundo” vamos chegar nesta tela:

Tema



Na aba “Tema” você pode mudar por completo todo o aspecto do seu desktop, o Ubuntu 10.10 e versões anteriores já vem com alguns temas por padrão. Temas podem ser encontrados pela internet aos montes, de todos os gostos e maneiras. Podemos ainda com botão “Personalizar” mudar ícones, cores, etc. Chegando neste ponto fica da imaginação de cada um fazer ao gosto.

Plano de fundo



Nesta parte temos vários planos de fundos para podermos escolher e variar nosso desktop, podemos com a opção “Adicionar...” colocarmos planos de fundos de nossa preferência, na opção “Obter mais planos de fundo online” o Ubuntu te direciona para uma página da internet ao qual você poderá encontrar centenas de planos de fundos bem legais, alterar o “Estilo” e “Cores” isso vai ficar a critério de cada um.

Fontes




Aqui poderemos escolher varias fontes de todos os tipos e formas.
Dica: Caso você queira ter aquelas fontes do Windows você pode instalar um pacote com as mesmas. Vá ate o terminal Aplicativos > Acessórios > Terminal e digite o comando
Código: #sudo apt-get install -y msttcorefonts

Efeitos Visuais



Na aba “Efeitos visuais” podemos escolher alguns efeitos legais, fica a critério de cada um usar como queira. Eu particularmente gosto de usar o “Extra”.

Instalação de programas
Existem três modos de se instalar programas no Ubuntu, pela “Central de Programas do Ubuntu”, “Gerenciador de pacotes Synaptic” e o “Terminal” ao qual falaremos mais aprofundamente em outro tutorial.

Central de Programas do Ubuntu



Um dos modos mais fáceis de se instalar programas no Ubuntu 10.10 e versões anteriores é pela “Central de Programas do Ubuntu” como mostrado na imagem acima.
Os desenvolvedores do Ubuntu fazem referencia a utilização desta ferramenta pois aqui estão vários programas que foram testados, tanto do próprio fabricante, como de parceiros da Canonical. Para Adicionar/Remover programas com essa ferramenta é simples, no lado superior direito podemos observar um campo de busca, basta digitarmos o programa que necessitamos da instalação neste campo, o mesmo será apresentado na lista abaixo, depois clique em “Instalar” para ser feita a instalação.

Gerenciador de pacotes Synaptic



Aqui temos o “Gerenciador de pacotes do Synaptic” outro dispositivo de simples utilidade para também fazer a instalação de programas no Ubuntu. Nós aprofundaremos mais nesse Gerenciador de pacotes em outro tutorial.

Tipos de arquivos para instalação
Existem vários tipos de arquivos de instalação no GNU/Linux os mais usados no Ubuntu independente da versão são os arquivos .deb, que são fáceis de ser instalados bastando apenas dois clique nos mesmos e o programa será instalado imediatamente (como se fosse um .exe do Windows).
Os arquivos “Package” com dois cliques no mesmo ele abrira o terminal e se instalara sozinho, serão necessários pacotes autopackage para ser instalado este tipo de arquivo, sua senha root sera solicitado para tal função.
Arquivos .tar são empacotamento de arquivos sem compressão (seu nome vem de tape archive). É usado para backups principalmente, pois conserva os atributos originais dos arquivos, como dono, grupo, etc. Sua extensão típica é ".tar". Arquivos .tar tem de serem compilados par que possam ser instalados.
Existem outras várias extenções de arquivos para o linux, mais as mais usadas no Ubuntu são essas três.

Programas Equivalentes do Windows para Ubuntu
No link abaixo temos uma lista de programas do windows para o Ubuntu, vale apena testar.

Feito por: Raphael Siqueira de Oliveira
Muito Obrigado Rapha