Categorias
GNU/Linux Tecnologia

Vida pós-Vista

Depois de algum tempo tentando sair do Windows, mais especificamente, do Vista, estou conseguindo manter-me longe dele. Já havia feito várias incursões no mundo GNU/Linux, mas sempre me aparece algo forçando a usar a partição do Windows. Seja na hora de trabalhar ( como já havia dito, trabalho com Flash ), seja na hora do lazer ( também falei da minha Filmadora? pois é… ), mas cada dia que passo encontro um substituto, que se não há altura, quebra um galho.

Com relação ao Flash, passarei a utilizar o SDK do Flex, que é free e compatível com linux. Preciso me adaptar a isso. Com a filmadora, vou ter de continuar usando o Windows ( mas seu uso é bem exporádico ), já que não achei software para captura de video por USB, só FireWare. Para edição de filme, não consegui resolver a tempo, tive de recorrer ao Windows e ao Nero Vision, mas agora consegui criar algumas coisas usando o Kdenlive, tenho que aprender várias coisas, mas parece que ele vai servir “na medida” para meus propósitos. Fica aí a dica para quem não sabe um programa para edição e criação de videos no GNU/Linux, e mais especificamente no KDE: Kdenlive.

Bom, aos que interessam, estou atualmente utilizando o openSUSE como distribuição, anteriormente usei Gentoo, antes ainda o Slackware e minha primeira experiência foi com o SuSE v8.x

Categorias
Desenvolvimento Web PHP Programação Tecnologia

Diário de bordo

Tentando manter este espaço ativo, irei relatar minhas últimas atividades, e talvez as futuras.

Como comentei no post anterior, terminei a pouco o novo site para a Empresa de Análise Ambiental – Anambi, e como fiz a página utilizando o Adobe Flash e ActionScript2 ( não utilizei o ActionScript3 por conta do flashplayer ter de ser mais novo e reduzir o número de possíveis clientes ), os problemas que encontrei e como contornei. Acredito que será uma boa troca de experiência ( tem até uma parte de SEO, gostaria de saber se o que fiz é o melhor ou não ).

O PHPMS organizou o TestFest que havia comentado, e estive lá com a rapaziada. Foi divertido, apesar de não termos conseguido fazer muitos testes ( o sistema de testes é impressionante ), conseguimos discutir bastante sobre as funcionalidades do PHP 5.3. Tiramos algumas fotos e fiz um pequeno video, que estou upando para o YouTube neste exato momento. Se estiver interessado em ver, o enderço para as fotos é: http://www.flickr.com/photos/26464783@N02/ e para os videos veja em: http://br.youtube.com/phpms.

Por falar em video, trabalhar com video foi extremamente complicado pra mim. Como não tenho intenção nenhuma de mexer com esta área, não quero comprar nem aprender a usar programas complexos para edição de videos, e achar uma programa simples para isso é uma tarefa quase impossível, tanto no Windows quanto no Linux. Estou usando o openSUSE e o Windows Vista Business, e em ambos os sistemas tive muita dificuldade para conseguir fazer uma edição dos videos. Na verdade, no openSUSE eu nem consegui faze-lo. O programa simplesmente parava de responder toda vez que tentava adicionar um arquivo. Já no Windows eu tive de baixar o Nero e utilizar o Vision, já que o Movie Maker insistia em travar toda vez que tentava “compilar” o projeto.

Alguém aí já trabalhou com videos no Linux? Estou tentando abandonar o Windows de vez e uma das coisas que ainda me prende nele é descarregar minha filmadora ( uma Sony DCR-DVD, sem porta FireWare, que por acaso só tem driver para Windows ) e um programa para trabalhar com os videos descarregados. Alguem saberia um programa para fazer isso?

Categorias
Desenvolvimento Web PHP Programação

Voltando a ativa ( no bom sentido )

Faz muito tempo desde a última vez.

Estou fazendo este post para avisar 3 coisas:

  1. Estou vivo, sim, estou. E voltarei a fazer posts, com relativa frequência. Acabei com alguns serviços e agora estou tendo tempo para respirar, e até escrever;
  2. Sábado agora o PHP-MS estará organizando seu primeiro TestFest, trazendo o evento que é mundial para este fim de mundo. Para maiores informações, visitem o endereço do grupo: www.PHPMS.org, o evento será realizado na PetCursos de Campo Grande.
  3. Acabei de entregar um novo site para a Anambi – Análise Ambiental, um trabalho que gostei muito de fazer ( matei um pouco da saudade do velho Flash e o ActionScript ). Procuramos fazer junto com a empresa um site que fosse leve, agradável e que valorizasse a relação que a empresa tem com o meio ambiente. E aproveitando este embalo com o Flash, nos próximos posts estarei falando sobre alguns problemas enfrentados e como contornei os mesmos. Espero poder trocar experiências com vocês.

É isso, até breve( desta vez será breve mesmo).

Categorias
Joomla! Programação Tecnologia

Vamos lá…

Primeiro post do novo blog…

Pois é, depois de algum tempo inativo, acho que agora “Vai!”.
Dêem uma olhada na página “O que é isso?” no menu acima para ver o que esperar deste blog =]

Para começar, passo um site que conheci ontem, e estou aproveitando muito, o nome dele é Numa Boa, portal mantido pela vovó Vicki, com assuntos diversos, mas um prato especial para os Geeks/Nerds de plantão, confiram, vale realmente a pena.

A seção que tem me prendido ao site é a de tutoriais, especialmente os sobre o Joomla. Se você tinha alguma dúvida para trabalhar com este CMS, aproveite, entre na Aldeia e aprenda muito.

Já está adicionado aos favoritos.

Obrigado vovó =]

Categorias
Sem categoria Tecnologia

Quem ta vivo sempre aparece…

Pois é, estou vivo, mas muito ocupado, ainda não esqueci de minhas promessas de posts sobre vários temas, mas estou realmente sem tempo para tal. Acredito que a partir do próximo mês estarei mais folgado. Quem sabe não consigo botar isso aqui para funcionar lá de Porto Alegre, quando estiver participando do FISL. Estarei lá como curioso, ajudando a ENEC e junto com a galera do PHP-MS.

Quem estiver indo, e quiser bater um papo, já deixe um comentário aqui no post.

Aproveitando o post, queria indicar um serviço que eu imagino ser novo: http://meadiciona.com/ . Um local para você concentrar seus diferentes perfís na internet. Como diria o Cardoso, essa é uma daquelas idéias que você pensa “como não pensei nisso antes”. Não sei se vai se tornar febre, mas ao menos é útil.

Já criei meu perfil: http://meadiciona.com/dotti/
Dica do TRETA

Categorias
ActionScript PHP Programação

Falta de tempo…

Pois é…

Estou trabalhando, estudando e colaborando . Não estou conseguindo dedicar o tempo que gostaria a escrita neste blog. Mas não vou abortá-lo, pretendo apenas aumentar o já grande intervalo entre posts.

Meu próximo post na área de programação deverá ser sobre ActionScript. Pretendo mostrar a facilidade de se criar interfaces elaboradas com a linguagem.

Antes de encerrar, gostaria de avisar aos que já utilizam ou pretendem utilizar o Joomla! que a extensão que ajudei a traduzir para o nosso português está com uma nova versão: Attachments 1.2.2 ( Anexos 1.2.2 ).

Outra coisa, para os que se interessaram pela validação de dados em PHP5, vale a pena dar uma olhada nesta outra alternativa: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=7838. Onde é abordado o uso de filtros da própria linguagem para validar ( confesso que nunca utilizei, mas me pareceu algo extremamente funcional, e com ótimo potencial ). Fica então as dicas.

Até breve.

Categorias
Desenvolvimento Web PHP Programação

Validação de dados em PHP5 – final

Olá a todos,

Continuando e finalizando a sequência de artigos sobre validação ( veja também a parte 1, 2 e 3 ), iremos abordar a união de procedimentos na validação.

Como vimos anteriormente, todo cuidado é pouco, então quanto maior o número de testes que submetermos um dado, maior a chance de ele chegar a nós da forma que esperamos ( sem causar danos a integridade do sistema ).

Vimos que a utilização de ER é essencial, toda vez que soubermos o padrão do valor esperado. Ou seja, se sabemos que um número de telefone é da forma “3333-4444”, e que isso nunca irá mudar, teremos as ER’s como nossa arma mais forte.

Mas existem casos em que não temos idéia do que o usuáiro pode inserir em um campo. Nestes casos, uma ER não tem grande utilidade, e temos de recorrer a outros recursos, como algumas funções do próprio PHP ou MySQL/Postgree para “limpar” as informações, de modo que ela não prejudique o fucionamento do sistema. Algumas destas funções são:

  • strip_tags() , que tenta limpar ( retirar tags HTML e PHP ) e retornar uma string passada como parâmetro.
  • htmlentities() , substitui TODOS os caracteres que possuírem um correspondente html.

Unindo a utilização destas funções, ER ( quando convir, não se esqueça que para se utilizar uma ER temos de ter um padrão esperado ) e cuidado na hora de pegar valores dos arrays superglobais ( $_POST, $_GET, … ), teremos um sistema com uma boa segurança a injeção de códigos por terceiros.

Vamos então fazer uma função ( não farei uma classe pois a idéia é ser bem especifico, podendo a função ser utilizada como um método sem problemas ).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
function valida( $valor, $tipo )
{
$erCPF = '/[0-9]{3}\.[0-9]{3}\.[0-9]{3}\-[0-9]{2}/';
$erCEP = '/[0-9]{5}\-[0-9]{3}/';
$erFONE = '/(0((([0-9]{2}){2})|([0-9]{2})))?[0-9]{3,5}\-[0-9]{4}/';
$erEMAIL = '/[[:alnum:]]\@[[:alnum:]]+(\.[[:alnum:]])+/';
$erDATA = '/(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/[12][0-9]{3}/';
$erTEXTO = '/([a-z][A-Z])*/';//aceita somente letras
$erALPHANUM = '/[[:alnum:]]*/';//aceita numeros e letras
$erNUM = '/[0-9]*/';//aceita somente numeros
$erALL = '*';//aceita qualquer coisa
$tipo = strtoupper( trim($tipo) );
$padrao = 'er'.$tipo; //faço concatenação do prefixo 'er' com o tipo, para formar o nome da variavel com o padrao correto.
$valor = strip_tags( htmlentities(trim($valor)), '<a><b><i><p>' ); //limpo a variavel com valor, retirando possíveis funções do PHP ou tags HTML que possam ser prejudiciais ao sistema, mas permitindo algumas que podem ser uteis em determinados casos
 
if( preg_match( $$padrao, $valor ) )
{
echo 'O dado passou pela validação de padrão.<br/>';
//podemos validar melhor alguns dados
switch( $tipo )
{
case 'CPF':
if ( validaCPF( $valor ) )
echo 'O CPF é válido.';
else
{
echo 'O CPF não é valido';
return false;
}
break;
//você pode por um 'case' para cada tipo de dado que quiser validar com alguma formula especifica
default:
echo 'O dado foi validado';
break;
}
return true;
}
else
echo 'O dado não passou pela validação de padrão.<br/>';
 
return false;
}

Bom, este é um exemplo de função que poderíamos utilizar para validação de dados, podendo ser inserida em uma classe com um método dela.

Mas como utilizamos ela? Simples, veja( supondo que temos vindo de um formulário um campo email, via POST:

1
2
3
4
if( valida( $_POST['email'], 'email' ) )
echo 'Email válido';
else
echo 'Email inválido';

Fica fácil não?

Bom, nesta função, é chamada outra função ( validaCPF ), que não é de minha autoria, e que dei os devidos créditos na parte 3 desta série. Esta função implementa o algoritmo de validação do CPF, com seu digito verificador e tudo mais. É um algoritmo muito difundido, e bem documentado na internet, faça uma busca se estiver interessado no assunto. É interessante.

Função para validação de dado( veja o fonte )

É isso, espero ter ajudado, qualquer coisa, mail-me.

Até a próxima.

Categorias
Desenvolvimento Web PHP Programação

Validação de dados em PHP5 – Parte 3

Depois de um longo período sem nada útil, vamos continuar a série mais querida deste blog: “Validação de dados em PHP5”.

Está é a parte 3 da série, e talvez a última ( a menos que surjam pedidos ou dúvidas ) da série, se você não viu, veja: parte 1, parte 2.

Como falei na parte 2, o PHP trabalha com dois padrões de ER ( Expressões Regulares ): o padrão PCRE e o padrão POSIX. Adotaremos de agora em diante o padrão PCRE por ser recomendado pelo próprio manual do PHP.

Na última parte fizemos a validação de um número de CEP.

Agora veremos outros casos de uso, primeiro dois casos simples como o do CEP, um para validar um número de telefone ( possivelmente de celular ) e outro para validar um endereço de email – este último muito útil e utilizado, pois permite uma alta confiabilidade nos dados verificados.

Nossa ER para validar um telefone:

1
$telER =/(\([0-9]{2}\)\ )?[0-9]{4}\-[0-9]{4}/; //formato: (67) 9999-0000

Simples não é? Que tal “complicar” um pouco mais? Então compliquemos:

1
2
3
//formato: 0556733334444 ou 06733334444 ou 3333-4444
 
$telER = '/(0((([0-9]{2}){2})|([0-9]{2})))?[0-9]{3,5}[0-9]{4}/';

E como validar uma data? Fácil fácil…

1
2
3
//formato: 01/01/1001
 
$dataER = '/(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/[12][0-9]{3}/';

Validar um CNPJ:

1
2
3
//formato: 11.222.333/0001-01
 
$cnpjER = '/[0-9]{2}\.[0-9]{3}\.[0-9]{3}\/[0-9]{4}\-[0-9]{2}/';

Depois que a gente começa, não da vontade de parar, mas parem mesmo assim. Agora que já viram alguns exemplos de ER, tentem fazer a de vocês mesmos. Façam uma ER para validar uma idade ( considerem que existe gente com mais de 100 anos ).

Depois de você ter feito suas ER, pode continuar…

Vamos validar um endereço de email agora:

1
2
3
//formato: nome@host.com ou nome@subhost.host.com
 
$emailER = '/[[:alnum:]]\@[[:alnum:]]+(\.[[:alnum:]])+/';

Será que já ta bom?

Não, mas chega de mostrar ER pronta para vocês, ta, uma última vez, fiz um arquivo de teste explicando algumas ER: Expressões Regulares . Espero que seja útil.

Lembrem-se que estou utilizando o padrão PCRE, então nada de usar estas expressões com as funções “ereg”.

Enquanto escrevia esta parte, pensei em algumas coisas para continuação. Então, ainda esta semana concluo.

Até.

ps.: para quem ver o arquivo e ficar curioso sobre a verificação extra do CPF, saiba que é utilizado o Algoritmo de Validação do CPF ( procure por este termo no Google ) implementado em PHP pelo Jefferson Estanislau da Silva e disponibilizado no link: http://www.vivaolinux.com.br/scripts/verScript.php?codigo=401. Fiz algumas alterações, pois no original, usava ER no padrão POSIX. Darei mais detalhes na continuação.

Categorias
Programação Sem categoria

E os posts?

Calma, tudo ao seu tempo.

Já falei aqui que quero postar sobre Orientação a Objetos, sobre os livros que comprei recentemente, sobre o Joomla! e claro, continuar os artigos sobre validação ( afinal, temos de concluir o que iniciamos, não é? ). Meu próximo post será a continuação dos posts sobre validação. Não, eu ainda não o escrevi, mas o farei ainda hoje, mais tardar amanhã. Mas apesar de não ter escrito, já sei o que farei.

Em seguida, devo escrever um post sobre o Joomla! ( estou fazendo aquele componente que comentei anteriormente ), e está sendo uma experiência legal.

Neste meio tempo, provavelmente haverão alguns posts menos nerds, ou geek como preferirem. Minha vida acadêmica está voltando ao normal e com ela minhas responsabilidades com o Movimento Estudantil ( não, eu não fiquei a toa minhas férias e deixei tudo parado, não totalmente ). E com maior vivencia do assunto, as idéias, conflitos e reflexões vão “aflorando” e pretendo usar este espaço como válvula de escape, afinal, ninguém é de ferro – eu muito menos.

Está chegando a era da filosofia nerd neste blog ( não precisam se assustar, não serei tão incisivo, não no começo ), mas o mundo nerd não perderá mais um espaço, continuarei falando MUITO sobre programação, tecnologia ( que não comentei ainda ) e afins.

Até breve.

Categorias
ActionScript Joomla! Programação

Novidades…

Tirei um tempinho para falar de uma coisa que acabei de ver. Como alguns já sabem, sou fã do ActionScript, ou seja, do Adobe Flash ( antes Macromedia Flash ), acho esta linguagem de programação extremamente ágil e simpática. Foi uma das primeiras linguagens de programação na qual tive contato ( na verdade, quando à conheci, ainda não era considerada uma linhagem de programação, mais ou menos na época do Flash 4 ).

No começo de meus estudos, utilizada duas fontes de conhecimento: Ponto Flash e FlashMasters . Utilizava muito o primeiro, mas devido a falta de manutenção, acabei deixando de acessar. O segundo utilizo até hoje. Mas utilizo a seção que acho a mais importante deste portal, o Fórum.

O Fórum do FlashMasters é considerado o maior fórum do assunto em lingua portuguesa, e possui muita gente de fora do país. Eu mesmo já ajudei e fui ajudado por pessoas na França e em Portugal.

Acontece que o pessoal responsável pelo portal fez uma grande mudança na estrutura dele, na verdade, mudaram tudo. Adivinhem qual o sistema que agora gerencia o conteúdo do FlashMasters? Sim, acertou quem falou Joomla! ( devo estar obcecado por este CMS, hehehe ). Parabéns a todos que fizeram as alterações, ficou excelente, tanto visualmente como em funcionalidades ( segundo o William – diretor e criador do portal -, eles tiveram ajuda da comunidade Joomla Clube ).

Este novo portal até me deu vontade de voltar a participar do Fórum, e agora também, do portal ( é possível inserir conteúdo diretamente no portal, ótima idéia ). Dentre em breve estarei colocando lá umas classes que fiz em AS3 ( ActionScript 3 ).

Caso queiram me encontrar por lá, meu usuário é “Dotti”.

—- Atualizado —-

Ingratidão, escrevi na pressa e acabei esquecendo de falar do local onde mais aprendi: IRC . Sim, o bom e velho IRC ( que alguns chamam de mIRC ). Eu utilizava a rede Brasnet. Entrava nos canais #Flash , #PHP e alguns outros menos nerds ( #Porkaria, #Bingola, #Meleca e #Oakley ). Bons tempos.

No IRC conheci alguns dos usuários e agora administradores do FlashMasters. Gente que me ajudou muito e que devo certa gratidão. Daria até para citar alguns, mas acho que não seria justo com outros que também me ajudaram muito. De qualquer forma, obrigado a todos os velhos amigos do #Flash e agora do FlashMasters.

— Atualizado Novamente —

Links corrigidos, obrigado Gelinho.