Posted: March 9th, 2010 | Author: Mayck Xavier | Filed under: Algoritmos, Browser, Chrome, Firefox, IE, Javascript, Programação, Treinamento | Tags: Algoritmos, Javascript, programa, programação, tutorial | 1 Comment »
Fala galera. Há algumas semanas que criei um material de Algoritmos para a empresa onde eu estava trabalhando, mas como a linguagem escolhida por mim para o material foi Javascript eles pediram para eu refazer em Português Estruturado. Considero Javascript uma boa linguagem para começar por não precisar de nada instalado (geralmente o sistema operacional terá tudo o que você precisa) e por você já poder trabalhar com ela assim que aprender bem. Caso haja algum erro, por favor avise por comentário ou por e-mail.
Sem mais delongas. Vamos ao curso.
Algoritmos
Um algoritmo é uma seqüência de instruções definidas para serem executadas mecanicamente. Todos os dias realizamos algoritmos e não percebemos. Basicamente todas as manhãs nós nos levantamos da cama, tomamos o café da manhã, nos arrumamos e vamos ao trabalho. Entre cada uma dessas ações descritas, realizamos várias outras ações. Nosso próprio corpo realiza algoritmos o tempo inteiro realizando decisões. Se nos machucamos, sentimos dor. Se o ambiente externo tem temperatura baixa, o corpo treme para tentar aumentar a temperatura novamente.
Todo algoritmo segue uma seqüência lógica. Geralmente um algoritmo é lido de cima pra baixo e da esquerda pra direita. Cada linha de código é lida e, caso não haja nenhum erro, executada e logo depois é lida a próxima linha e assim sucessivamente até terminarem as linhas do algoritmo.
Como exemplo de algoritmo podemos pensar em um ser humano andando. Observe:
1. Levantar a perna direita
2. Inclinar o corpo para frente
3. Baixar a perna direita
4. Apoiar o pé direito no chão
5. Levantar a perna esquerda
6. Baixar a perna esquerda
7. Apoiar o pé esquerdo no chão
8. Levantar a perna direita…
Outro exemplo de algoritmo seria fazer um calculo simples como a soma ou multiplicação de dois números como no exemplo abaixo:
1. Ler primeiro número
2. Ler segundo número
3. Somar os dois números lidos
4. Exibir o resultado
O que é um programa?
Um programa é um ou mais algoritmos escritos numa linguagem de programação. Existem diversas linguagens de programação atualmente. A grosso modo as linguagens mais fáceis são chamadas de “linguagens de alto nível” e as mais difíceis são chamadas de “linguagens de baixo nível”. As Linguagens de Baixo nível são assim chamadas por que você precisa trabalhar mandando comandos e recebendo respostas direto para o hardware. As Linguagens de Alto nível são assim chamadas por que elas “escondem” as tarefas difíceis como trabalhar direto com hardware, o que facilita o desenvolvimento do código e aumenta a velocidade de programação.
Exercícios:
1. Escreva um algoritmo para pentear o cabelo. Tente ser bem especifico e detalhado em cada ação realizada.
Entrada e saída de dados
Muitas vezes não percebemos, mas para haver o processamento de informações, é necessário ter informações para que elas sejam processadas. Um programa precisa que dados sejam inseridos nele para que eles sejam processados e retorne algum resultado daquele processamento. Esses dados podem ser inseridos pelo usuário do programa e algumas vezes o usuário não sabe que está inserindo dados. Digitar texto em um formulário eletrônico ou o simples ato de copiar um arquivo para o seu computador é considerado entrada de dados.
Exercício: Escreva alguns modos de entrada e saída de dados. Ao lado de cada um, diga se é entrada ou saída.
Por enquanto é só pessoal. Aguardem a próxima aula até o fim da semana.
Posted: November 24th, 2009 | Author: Mayck Xavier | Filed under: CodeIgniter, Php, Uncategorized | 2 Comments »
Nos últimos meses eu tenho usado o Code Igniter pra refazer um sistema da empresa onde estava trabalhando. O que mais chamou a minha atenção no CodeIgniter foi o fato de ele ser simples. Ele não te prende como os outros frameworks em php. Tudo bem. O foco aqui não é falar do CodeIgniter em si. Para mais detalhes, visite www.codeigniter.com.
O foco aqui é mostrar como a simplicidade pode melhorar muito o código. Por exemplo, várias vezes eu preciso preencher dropdowns (ou combobox, ou simplesmente selects) com resultados de requisições ajax.
Vamos para um exemplo:
Tenho um dropdown onde escolho um estado e assim que selecionar o estado, o dropdown de cidades será preenchido com as cidades daquele estado. Deixando o javascript de lado, vou direto ao código em php.
Assim que buscar no banco de dados as cidades daquele estado, eu preencho uma variável com os resultados como options em html do seguinte modo usando o Code Igniter:
$sql = “select id,nome from cidades where estado = ?”;
$query = $this->db->query($sql,$estado);
$html = “<select name=’cidade’>”;
foreach($query->result() as $row){
$html .= “<option value=’” . $row['id'] . “‘>”. $row['nome'] . “</option>”;
}
$html .= “</select>”;
Esse pode ser o modo que a maioria dos programadores faz, mas o CodeIgniter pode tornar isso mais simples. Veja só:
$sql = “select id,nome from cidades where estado = ?”;
$query = $this->db->query($sql,$estado);
foreach($query->result() as $row){
$array[$row['id']] = $row['nome'];
}
$html = form_dropdown(‘cidade’,$array);
O que quero mostrar é que utilizando um helper do CodeIgniter, meu código ficou mais limpo e, consequentemente, melhor para dar manutenção.
Na minha opinião, o CodeIgniter é um ótimo framework para quem não quer perder tempo.
Para mais detalhes, http://www.codeigniter.com
Posted: March 23rd, 2009 | Author: Mayck Xavier | Filed under: IDE, Programação | Tags: aptana, eclipse, java, Php, Ubuntu, ubuntu 8.04, ubuntu 8.10 | No Comments »
Há uns dias atrás atualizei meu Ubuntu 8.04 LTS pelo novo 8.10 apenas pelo fato de ele ser mais novo e ter as versões mais novas dos programas e tal… Tudo estava bem. Wireless funcionando, placa de vídeo funcionando e atualizações feitas. Comecei a instalar os programas que frequentemente uso como o Thunderbird, VirtualBox, Apache, PHP, Komodo Edit e o Aptana que é uma IDE que tenho gostado bastante de usar. Conheci o Aptana há muito tempo quando ele ainda estava nascendo, mas como sempre fui de usar o VI pra tudo, acabei deixando ele de lado. Nesse ano eu conheci o Eclipse (que também ignorei por que achava que nunca ia programar em Java) e descobri que o Aptana é baseado no Eclipse. “Que legal! Agora posso usar o Aptana nos meus projetos web por que já conheci, é bonito, é legal e funciona!”.
O que acontece é que depois de tudo funcionando, o bendito não funcionava. Fechava no meio do caminho. Nem sequer abria a primeira janela. “Danou-se! Tenho que voltar pra 8.04.” Foi então que eu pensei em instalar o Fedora 10 que já tá aqui há um tempão pra eu testar, e como diz meu amigo Lonely Spooky a cada versão do Fedora: “Essa versão é a melhor de todas!”. Testei e foi o mesmo problema.
Foi aí que cheguei à conclusão que o problema não era com a distro, mas sim com qualquer outra coisa que não sei o que era, mas era.
Pesquisei algo no Oráculo e encontrei uma resposta. O grande problema é o Firefox. Sim! Nosso amado Firefox! Não sei o motivo, mas depois que as distros começaram a usar o Firefox 3, o Aptana parou de funcionar. Meu Eclipse também não funcionou no 8.10, mas aí não sei se é coincidência ou algum outro motivo.
Vamos aos passos pra resolver esse problema por que esse texto já tá grande demais e eu preciso dormir. =)
Passo 1 – Instalar o Java
Sempre me dizem que é preciso apenas instalar o JRE para funcionar, mas eu sempre instalo também o JDK pra não perder tempo e por que sou preguiçoso e não gosto de ficar voltando no terminar e instalando mais um pacote que voltou. Vou levar em consideração que você sabe usar o apt e sabe pelo menos procurar e instalar um pacote, então vamos instalar o pacote sun-java6-jre e, caso necessário, o pacote sun-java6-jdk.
Passo 2 – Instalando o Firefox 2
“Peraí! Instalar o Firefox2? o.O”
Sim! Vamos instalar o Firefox 2. Uma das vantagens de se usar GNU/Linux é ter várias versões do mesmo programa no sistema. Nesse caso vamos utilizar os repositórios do Hardy. Não se preocupe. Não vai doer. =)
Para fins de segurança, mova seus repositórios atuais para um novo arquivo de nome diferente.
sudo mv /etc/apt/sources.list /etc/apt/sources.list.antigo
Depois disso crie um novo sources.list com o seguinte conteúdo:
deb http://archive.canonical.com/ubuntu hardy partner
deb http://br.archive.ubuntu.com/ubuntu/ hardy main universe restricted multiverse
deb http://security.ubuntu.com/ubuntu/ hardy-security universe main multiverse restricted
deb http://br.archive.ubuntu.com/ubuntu/ hardy-updates universe main multiverse restricted
deb http://packages.medibuntu.org/ hardy free non-free
Então basta fazer o apt-get update e o apt-get install firefox-2
Voltando com o sources original
Lembra do sources.list que você fez backup? Então… Pegue ele e volte com o nome original (sources.list). Você pode fazer isso via terminal ou interface gráfica.
Após isso, basta fazer um update com apt-get update que seus repositórios voltarão ao normal
Instalando e rodando o Aptana
Baixe o Aptana em http://aptana.com/studio/download e crie um script para rodar ele seguindo os passos.
1 – Crie um arquivo texto (Nada de .doc heim!) chamado startAptana ou com qualquer outro nome que ache melhor.
2 – Adicione o conteúdo no arquivo:
ATENÇÃO! No bloco abaixo, é levado em consideração que o Aptana está descompactado em /usr/local. Caso você prefira manter ele em outro local, substitua a linha referente.
#!/bin/bash
export MOZILLA_FIVE_HOME=/usr/lib/firefox
/usr/local/aptana/AptanaStudio
3 – Torne o arquivo executável com chmod a+x startAptana.
Depois disso, basta executar o startAptana e ir pra galera. =)
Troubleshooting (ou, o que eu faço se der merda?)
Se ocorrer algum erro de Java, substitua a linha /usr/local/aptana/AptanaStudio
por
/usr/local/aptana/AptanaStudio –vm /usr/lib/jvm/java-6-sun-1.6.0.10/jre/bin/java (ou pelo caminho de onde quer que esteja o seu Java) em seu arquivo startAptana.
Bom… É isso aí. Espero ter ajudado. Como já disse antes, meu Eclipse e Aptana estavam com problema no Fedora. Se isso funcionar no Fedorento, me avisem.
Original em http://andrewbleakley.com/blog/2008/11/01/installing-and-running-aptana-on-ubuntu-810/
fcD
Posted: August 7th, 2008 | Author: mayckxavier | Filed under: Banco de Dados, Coisas, Dia a dia, Php | 1 Comment »
Passei hoje o dia inteiro fazendo um orçamento de uns relatórios em php e mysql que pegam dados dentro das tabelas nos bancos de dados de várias instalações do moodle e encontrei uma pequena barreira no meio do caminho. O relatório seria feito por data e quanto fui pegar as datas dos logs na tabela de log, vi que a data era inserida como Unix Format (que é um formato parecido com isso “1218139221″). Você entendeu? Eu não, e precisava transformar isso em data normal.
Descobri o primeiro modo fazendo com o php (que é a linguagem em que serão desenvolvidos os relatórios):
<?php
$dataUnix = time(); //A função time retorna a data atual em Unix Format
$dataFormatada = date(“H:i:s d-m-Y”,$dataUnix); //Assim você converterá a data em Unix Format para a data atual
?>
Então pensei “Deve haver um modo de fazer isso direto no banco” e comecei a procurar uma solução pra isso no MySql. Foi então que descobri uma função interna do MySql chamada “FROM_UNIXTIME”. Tente adivinhar o que ela faz. Ela pega a data em Unix Format e transforma em fornato normal. Basta utilizar do seguinte modo:
SELECT FROM_UNIXTIME(coluna_em_unix_format) where condicao;
Pronto. A data vai vir bonitinha direto do banco. Agora é correr pro abraço.
fcD