Mitos sobre a Internet!
quarta-feira, agosto 25th, 2010testes seus conhecimentos sobre os mitos a respeito da Internet, nesta interessante matéria do portal G1:
Blog do Zé AndradeSoftware Livre, T.I., Eletrônica & Generalidades
|
testes seus conhecimentos sobre os mitos a respeito da Internet, nesta interessante matéria do portal G1:
Estive em Londrina-PR neste último fim de semana (24/04) para efetuar uma palestra sobre segurança e software livre.
acompanhe as datas e obtenha os conteúdos em :
www.circuito.pr.gov.br
Como eu fiz para funcionar:
baixar o Eclipse conforme sua linha de projetos (no meu caso PHP).
cd diretorio_onde_esta_o_pacote tar -xzf eclipse-php-galileo-SR2-linux-gtk.tar.gz cp -R eclipse /usr/lib/eclipse ln -s /usr/lib/eclipse/eclipse /usr/bin/eclipse ln -s caminho_para_o_java_jre /usr/lib/eclipse/jre
Obs: estou usando o JRE 1.6.0-20, obtido no site do Java
Daí é só usar! Boa sorte.
Em busca de desempenho, e acredito que inovação e agilidade de programação, o pessoal do Facebook surgiu este ano com algumas novidades em relação ao PHP . Uma delas é o HipHop, que seria um compilador para os códigos em PHP.
Nas minhas andanças pela web, a implementação do XHP chamou minha atenção. Pelo que vi, eles criaram uma extensão para o PHP , permitindo uma forma ‘hibrida’ de código com o HTML ou XML. Veja com seus próprios olhos:
Rasmus Lerdorf , um dos pais do PHP, também escreveu em seu blog um artigo com suas impressões sobre o XHP.
Será que a moda pega? Será que compensa?Hummm…
Uma piada nerd diz que o Emacs é um excelente “sistema operacional” em que só falta um “editor de texto”. O poder deste editor me surpreendeu esses dias.(confesso que nunca tinha usado o Emacs) . Meu camarada Leslie me apresentou o http://orgmode.org/ , que integrado ao Emacs, permite barbaridades em termos de organização. Resumindo, é a versão “bloco de notas” de uma agenda muito poderosa.
Emacs + OrgMode = um organizador para nerd nenhum botar defeito.
#!/usr/bin/python #-*- coding: UTF-8 -*- import os class Cmd(object): def __init__(self, cmd): self.cmd = cmd def __call__(self, *args): return os.system("%s %s" % (self.cmd, " ".join(args))) class Sh(object): def __getattr__(self, attribute): return Cmd(attribute) # exemplos de uso: sh = Sh() sh.ls('-la') sh.free() sh.ps('aux') sh.uname('-a')
uma dica legal que en contrei em :
http://code.activestate.com/recipes/440612/
Um script em Pyhon para ordenar as linhas de um arquivo:
#!/usr/bin/python # -*- coding: utf-8 -*- import sys map(sys.stdout.write, sorted(file(sys.argv[1]).readlines()))
1º – Baixe o código- fonte em :
http://downloads.sourceforge.net/inkscape/inkscape-0.47.tar.bz2
(também disponível em .gz)
2º – Descompacte o arquivo inkscape-0.47.tar.bz2
com usuário root:
3º- Instale as dependências e bibliotecas necessário. No meu caso, que uso um Debian Lenny sempre atualizado , foram requeridas:
apt-get install intltool libgc-dev liblcms1-dev pkg-config libgsl0-dev libsigc++-dev libxslt-dev libgsl0-dev libgtkmm-dev libgtkmm-2.4-dev libboost-dev libpopt-dev
(e demais automaticamente atreladas)
4º – Acesse o diretório “inkscape-0.47″ e digite ./configure
se ele reclamara de mais alguma dependência tente encontrá-la entre as ‘libs’ – e pegue sempre a ‘dev’ . Por ex: libpopt-dev
5º- No diretório , digite make
esta etapa demora um pouco e mostra muita coisa na tela…
6º – Ainda no diretório , digite make install
7º – Teste o inkscape 0.47 . Espero que dê certo para você, pois para mim funcionou legal.
Dicas quando o assunto é SQL e PHP.
<?php /* sanitizar: Esta função realiza : - remove espaços no começo e fim do parâmetro - remove os caracteres *?--%'&#@"/,; - remoção de acentos, torna tudo minúsculo, preserva apenas: letras, números, .:-_ */ function sanitizar($parametro=false) { $parametro=stripslashes(trim($parametro)); $parametro=str_replace(array("*","?", "--", "%", "'", "&", "#", "@", "\"", "/", ",", ";"), "", $parametro); $parametro=strtolower(preg_replace('/[^[:alnum:]|_|.|:|-]/', " ",strtr($parametro, "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ-:","aaaaeeiooouucAAAAEEIOOOUUC-:"))); return $parametro; } /* anti_sql: Esta função realiza : - remove caracteres e palavras reservadas de SQL. Obs: esta idéia foi retirada de um fórum de discussão. */ function anti_sql($varivel) { $varivel = preg_replace("/(from|union select|select|insert|delete| where|drop table|show tables|#|\*|--|;|=|@|\\\\)/i","",$varivel); $varivel = trim($varivel); return $varivel; } /* Para evitar XSS, ao exibir valores recuperados na tela, utilize a função nativa htmlentities exemplo: */ $str="não encontrei o valor"; echo $str."<br />"; $str="não encontrei o valor <img src='uma_imagem_nao autorizada.png' />"; echo $str."<br />"; echo htmlentities($str)."<br />"; /* Inserir valor de campos numericos não tratados sempre oferecem risco de SQL Injection devido a não utilização da aspa na composição da query ex: SELECT titulo,mensagem FROM noticia WHERE noticia_id=234; já em campos text/string a SQL Injection torna-se dificultada pela existência da aspa ex: SELECT titulo,mensagem FROM noticia WHERE noticia_titulo='Meu titulo'; porém pode ser contornada, se o interpretador não estiver habilitado para escapar aspas logo seguem algumas forma de evitar a SQL Injection: */ //campo numérico: /* ---- ERRADO: ---- */ $numero = $_GET['numero']; $sql= "SELECT titulo,mensagem FROM noticia WHERE noticia_id=".$numero; /* ---- Fazer: ---- */ $numero = (int) $_GET['numero']; //ou $numero = intval($_GET['numero']); $sql= "SELECT titulo,mensagem FROM noticia WHERE noticia_id=".$numero; /* ou então pode-se usar o sprintf */ $sql= sprintf( "SELECT titulo,mensagem FROM noticia WHERE noticia_id = %u",$numero); /* inclusive para casos compostos */ $numero=22; $titulo='Minha noticia'; $sql= sprintf( "SELECT titulo,mensagem FROM noticia WHERE noticia_id = %u OR titulo = '%s'",$numero, $titulo); /* a SQL Injection no meio da string irá exigir a entrada de uma aspa Ex: "SELECT titulo,mensagem FROM noticia WHERE titulo = 'Meu Teste' SQL Injection: "SELECT titulo,mensagem FROM noticia WHERE titulo = 'Meu Teste' OR 1=1 --' a entrada deverá ser: Meu Teste' OR 1=1 -- para resolver esta entrada, usar as funções pertinente conforme o banco de dados Ex: pg_escape_string pg_escape_bytea dbx_escape_string db2_escape_string maxdb_escape_string mysql_escape_string sqlite_escape_string mysqli_escape_string ingres_escape_string maxdb_real_escape_string mysql_real_escape_string */ $titulo = @pg_escape_string($_POST['titulo']); /* o 'arroba' à frente da função é usado para evitar warning oyu fatal error */ $sql="SELECT titulo,mensagem FROM noticia WHERE titulo = '".$titulo."'"; /* o uso das funções de preparação de query também é recomendado pois faz o trabalho de escapar e validar dados antes da execução ex: pg_prepare mysqli_stmt_prepare ingres_prepare pg_send_prepare ovrimos_prepare maxdb_stmt_prepare db2_prepare ifx_prepare odbc_prepare maxdb_prepare swish_prepare ibase_prepare sdo_das_relational_executepreparedquery exemplo retirado de: http://br2.php.net/manual/pt_BR/function.pg-prepare.php $dbconn = pg_connect("dbname=mary"); $result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1'); //---> Execute the prepared query. Note that it is not necessary to escape the string "Joe's Widgets" in any way: $result = pg_execute($dbconn, "my_query", array("Joe's Widgets")); //---> Execute the same prepared query, this time with a different parameter: $result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes")); */ /* alguns padrões podem ser verificados com o uso de expressões regulares seguem exemplos para uma máscare de telefone e uma máscara de CPF - mas sem validação dos dados, apenas do padrão. */ /*verdadeiro se o parâmetro for algo como (99)9999-9999 */ function checar_padrao_telefonico($valor=false) { return preg_match('/^\([0-9]{2}\)[0-9]{4}-[0-9]{4}$/',$valor)?true:false; } /*verdadeiro se o parâmetro for algo como 999.999.999-99 */ function checar_padrao_cpf($valor=false) { return preg_match('/^([0-9]{3}\.){2}[0-9]{3}-[0-9]{2}$/',$valor)?true:false; } ?>
Na próxima semana ocorre a 10ª edição do Fórum Internacional de Software Livre. De 24 a 27 de Junho de 2009, em Porto Alegre – RS – Brasil. Mais detalhes em www.fisl.org.br.