Postagens

Linux - Dicas rápidas sobre Lynx

Imagem
Lynx é um navegador baseado em texto, ou seja, ele não tem uma interface gráfica e nem exibe gráficos (imagens, html renderizado, etc). Mas então, podem me perguntar, para que usar este programa? Bem, o Lynx é muito utilizado para outras tarefas mais 'robóticas' ou dentro de programas. Em um cronjob do linux, por exemplo, o lynx pode ser utilizado para 'chamar' uma URL de tempos em tempos e rodar uma tarefa. Em um programa o lynx pode ler um site e pegar todos os links dele, sem a necessidade do programa ter de ler todo o HTML diretamente e tentar encontrar os links com expressões regulares ou qualquer outra técnica. Outra utilização do Lynx é visualizar uma página da mesma forma que um crawler, ou um robô de indexação como o do google, a enxerga. Isto ajuda no planejamento do SEO de páginas ou mesmo no planejamento ou implantação de acessibilidade para portadores de deficiência. O lynx é bem útil mas acredito que é pouco utilizado. Sendo assim, a ideia deste po...

Php - Criando uma library Curl no Codeigniter

Vamos começar criando uma classe Curl.php. A ideia é que esta classe possa fazer requisições POST através do PHP, ao invés de utilizar um formulário, por exemplo. Para começar a trabalhar com Libraries devemos ter em mente algumas regras do Codeigniter: - Nomes de arquivos devem ter a primeira letra maiuscula. Exemplo:  Myclass.php - A declaração da classe deve ter a primeira letra maiuscula. Exemplo:  class Myclass - O nome da classe e o nome do arquivo devem ser os mesmos. - O Arquivo deve ficar dentro de 'application/libraries', caminho existente dentro da instalação do Codeigniter. Com estes pré-requisitos em mente podemos começar a trabalhar. Vamos colocar nosso arquivo "Curl.php" dentro de 'application/libraries' O conteúdo do arquivo é o que segue abaixo: <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Curl { private $ch; public function post($url,$data) { echo $url."...

JQuery - Utilizando Ajax - Entendendo o modo Assíncrono e Síncrono

As palavras síncrono e assíncrono podem soar estranhas quando aplicados ao mundo da TI. Serão mais dois dentre os tantos termos inventados por 'gurus' da web para vender livros? É bem provável que, sim, que a adoção destes termos tenha sido feita por escritores ou editoras da área porém acredito que estas palavras são bem interessantes para descrever a real funcionalidade de tais sistemas. Utilizamos muito estes conceitos no javascript (como você já deve saber), mais especificamente na utilização do chamado Ajax (outro termo de gurus ?) . Vamos tratar do assunto utilizando o serviço do Google Maps como exemplo, mais especificamente o serviço de busca de endereços. Este serviço pode ser acessado utilizando-se a seguinte URL: http://maps.googleapis.com/maps/api/geocode/json?address=endereco&sensor=false Além disto vamos utilizar jQuery para fazer as requisições ajax e manitulação do DOM Recomento fortemente a utilização Google Chrome (Firefox...

Linux/Apache - Reescrevendo URLs no padrão wordpress ou extensão html com .htaccess e php.

Está ai algo bem interessante e que eu passei certo tempo pesquisando. Para quem não pretende utilizar frameworks, como wordpress por exemplo, para criar web sites mas gosta bastante do modelo de url que estas ferramentas disponibilizam esta dica é bem interessante. Esta técnica também permite criar diretórios lógicos, ou seja, ao invés de criar pastas para colocar seus arquivos esta técnica permite que os diretórios sejam interpretados como parâmetros. Para isto utilizamos um arquivo chamado .htaccess do Apache. O .htaccess nada mais é do que um arquivo colocado em qualquer pasta do seu servidor Apache que serve para modificar as regras padrão de busca e interpretação de arquivos, ou seja, podemos mudar o comportamento de como o Apache faz a busca quando digitamos um endereço no browser. Hoje vou apresentar um exemplo muito simples mas extremamente útil e que eu mesmo utilizo em meus projetos. Este truque me ajudou a manter a antiga estrutura que eu utilizava, sem a necess...

MySQL - Função LOAD INFILE não funciona? Uma dica rápida

Dependendo das configurações de instalação do MySQL podemos ter problemas na hora de carregar arquivos com dados (.csv por exemplo) para dentro de uma tabela. Exemplo: LOAD DATA INFILE 'data.txt' INTO TABLE db2.my_table; Caso ocorram erros ao efetuar este tipo de operação, abra o terminal do DOS ou Linux e tente acessar o banco de dados através do comando abaixo: DOS: c:\caminho_para_o_mysql\mysql -uusuario -psenha --local-infile Linux: $ mysql -uusuario -psenha --local-infile onde 'usuario' é o seu usuário e 'senha' sua senha. Após acessar o banco por meio desta operação tente efetuar novamente o procedimento de LOAD INFILE.

MySQL - Trabalhando com IFs e CASEs

Não, não é só nas linguagens de programação que temos IF's e CASE's, no SQL também os temos e este artigo é justamente para falarmos um pouco sobre eles e algumas utilizações. Vamos iniciar exibindo a nossa tabela teste id nome idade estado 1 Pedro 50 SP 2 Antonio 30 RJ 3 Amélia 20 SP 4 Marta 15 SP 5 Maria 80 SP 6 NULL NULL RJ Trabalhando com IF A sintaxe básica é a que segue abaixo SELECT *,IF(estado = 'SP', 'São Paulo','Rio de Janeiro') AS nome_do_estado FROM teste id nome idade estado nome_do_estado 1 Pedro 50 SP São Paulo 2 Antonio 30 RJ Rio de Janeiro 3 Amélia 20 SP São Paulo 4 Marta 15 SP São Paulo 5 Maria 80 SP São Paulo 6  NULL NULL RJ Rio de Janeiro Ou seja, IF(campo = 'valor1', 'resposta 1','resposta 2') onde 'resposta 1' ocorre se o valor de um determinado regisro de "campo" for igual a ...

MySQL - Utilizando variáveis do MySQL com subqueries

Um assunto que acredito ser pouco discutido, ou que pelo menos eu vejo muito pouco, são as variáveis em SQL. Estas funcionam de maneira semelhante a variáveis das linguagens de programação, ou seja guardam um determinado valor, apenas a implementação delas é ligeiramente diferente. Uma utilização interessante das variáveis é o incremento de linha, ou seja, criar uma lista ordenada numerada 'artificialmente'. Talvez eu tenha sido pouco claro na explicação acima, mas os exemplos dirão por si próprios. Para começarmos vamos adotar a nossa tabela de teste id nome idade estado 1 Pedro 50 SP 2 Antonio 30 RJ 3 Amélia 20 SP 4 Marta 15 SP 5 Maria 80 SP Vamos ordenar a tabela por nome, por exemplo. SELECT * FROM teste ORDER BY nome Temos a tabela ordenada da seguinte forma id nome idade estado 3 Amélia 20 SP 2 Antonio 30 RJ 5 Maria 80 SP 4 Marta 15 SP 1 Pedro 50 SP O problema, se é que podemos dize...