Manipulação de imagens com Codeigniter

Olá para todo e sejam bem vindos a mais uma postagem.

Primeiro quero agradecer a todos que visitam minha página e principalmente aqueles que deixam suas dúvidas, criticas e elogios nos comentários, a vocês o meu mais sincero obrigado, pois, por meio da opnião de todos, a cada dia vamos melhorando.

Uma dúvida frequente, porém não muito comum para os visitantes deste site, é a manipulação de imagens. Uma prática corriqueira é a redução da mesma por meio de funções que, após o upload da imagem, a redimensionam para um proporção que se adequá a necessidade do utilizador. Quando reduzimos uma imagem a um proporção fixa essa tarefa se torna simples, porém, quando a mesma tem que ser apresentada em varias resoluções, dimensionar várias imagens torna-se uma trabalho desgastante e sobre tudo desnecessário. Uma solução é redimensionar por demanda, ou em outras palavras, manter a imagem original e manipular apenas a que será apresentada para o usuário. O Codeigniter por default traz dentre sua biblioteca a “Image Manipulation Class” ( Classe para manipulação de imagens ), a qual nos permite executar as seguintes ações:

  • Redimensionar Imagens
  • Criar miniaturas
  • Cortar (Crop)
  • Rotacionar
  • Criar marca d´agua

Vamos a prática! A qual é muito simples. Criamos uma classe a qual utilizará a library citada acima.

class Imagens extends MX_Controller
{
   public function thumbs($imagem, $largura, $altura)
   {
       $config['image_library'] = 'gd2';
       $config['source_image'] = str_replace("-", "/", $imagem);
       $config['maintain_ratio'] = true;
       $config['dynamic_output'] = true;
       $config['width'] = $largura;
       $config['quality'] = "100%";
       $config['height'] = $altura;
       $this->load->library('image_lib', $config);
       $this->image_lib->resize();
   }
}

A partir desta classe nós podemos redimensionar a imagem desejado simplesmente passando os parâmetro, a qual é representada no source da tag img como 250/250, ou seja, altura e largura.

<img src=”http://www.site.com.br/index.php/imagens/thumbs/arquivos-fotos-imagens-imagem.jpg/250/250″ />

Parametros da URL:

http://www.site.com.br/ ( Site :P )
index.php/
imagens/ ( Classe )
thumbs/ ( Método )
arquivos-fotos-imagens-imagem.jpg/ ( Caminho para a imagem )
250/250 ( Proporção altura e largura )

Realmente muito simples. Para mais informações, visite a documentação do Codeigniter neste link http://codeigniter.com/user_guide/libraries/image_lib.html

Publicado em CodeIgniter, Programação | Deixar um comentário

Algoritmo de Permutação sem Variável Auxiliar

Olá a todos sejam bem vindos a mais uma postagem. Como todos bem sabem, normalmente em meu blog posto materiais referentes ao Framework Codeigniter, porém hoje, vamos romper um pouco com esta rotina e vamos cria um Algoritmo.

Um Algoritmo nada mais é do que “uma seqüência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita” (pt.wikipedia.org/wiki/Algoritmo). Logo, ao escrever um bloco de códigos, criamos nada mais nada mesmos que alguns instruções seqüenciais que realizarão algo que referente a ela é esperado.

Como exemplo desta sequencia,  e fazendo jus ao título deste Post, criaremos um algoritmo que trocara os valores das variáveis, no caso 2, sem utilizar um outra variável chamada de auxiliar. Aparentemente uma tarefa simples, mas ao mesmo tempo complexa.

Antes de colocarmos a mão na massa vamos a nossa velha e querida matemática.

Sabemos que:

x = a  e  y = b  => x – a = 0 e y – b = 0 => x – a = y – b 

Logo para obtermos a equação que fará a permutação teremos que isolar cada variável

x = y – b + a  e  y = x – a + b

Portanto, se x = y – b + a, para permutarmos, devemos no lugar de x (a que tem o x isolado) utilizarmos a variável y e conseqüentemente o contrário na outra.

y = y – b + a  e  x = x – a + b

Algoritimamente falando, nossa seqüencia de passos ficaria assim:

algoritmo "permutacao"
 
var
   a, b, aa, bb: inteiro
 
inicio
      escreva("Digite o Valor de A: ")
      leia(a)
      escreva("Digite o Valor de B: ")
      leia(b)
      aa := a + (-(a)+(b))
      bb := b + (-(b)+(a))
      escreva("O Novo Valor de A: ")
      escreva(aa)
      escreva(" ")
      escreva("O Novo Valor de B: ")
      escreva(bb)
fimalgoritmo

Função em PHP

function TrocaValores($a, $b)
{
    echo "Seu valor de B: ";
    echo $b + (-($b) + ($a));
    echo " ";
    echo "Seu valor de A: ";
    echo $a + (-($a) + ($b));
}
 
TrocaValores(100000, -100)

Então pessoal e somente isso, um pequeno post para não deixar o blog em “Jejum”. Até a próxima.

Publicado em Programação | Com a tag , , , | Deixar um comentário

Projeto OpenSource

Olá amantes da web, sejam bem vindos a mais uma postagem.

Quando o assunto é Software Livre várias discussões surgem mediante ao tema. Alguns apoiam a ideia, outro, contrários a mesma, relatam que o modelo de distribuição não se adequá as necessidades e segurança que o mercado necessita. Contudo, contrário a esta última afirmação, quem vós escreve é absolutamente favorável ao modelo livre de software acreditando que o futuro da internet, como o seu passado, foram e serão baseados nesta filosofia.

Ao longo de pesquisas na internet e algumas amizades feitas durante do Campus Party do ano de 2012, me deparei com um framework php que se encaixava perfeitamente em meu perfil de desenvolvedor, o Spaghetti. Criado em 2008 e, infelizmente, extinguido em 2011, o Spaghetti é/foi um framework que agradou alguns desenvolvedores por sua simplicidade, mas que, por não haver uma empresa por traz do mesmo, como é o caso do CodeIgniter, ou uma comunidade forte, teve seu processo findado em sua versão 0.2. Todavia, como o seu ex-desenvolvedor deixou claro, esse projeto foi de início impulsionado com a licença GNU, logo, abro aqui um novo parecer para alguns desenvolvedores que adentram meu blog, ou que conheçam outros que possam deixar um pouco de seu conhecimento através de um projeto livre. Quem tiver o interesse em manter esse projeto entre em contato pelo meu e-mail luizpicolo@ibest.com.br para que possamos trocar algumas ideas sobre o mesmo.

Um grande abraço a todos.

Publicado em Programação | Deixar um comentário

Criando um Crud com o CodeIgniter – Parte 1

Olá pessoal, primeiro de tudo quero desejar a todos um ótimo ano novo cheio de sucesso e conquistas. Nesta primeira aula do ano de 2012, venho demostrar a todos como criar um crud no Ci, claro que, esse classe será a princípio básica, porém, no decorrer das aulas, ela se tornará satisfatória para todos.

Como prometido segue os links para os downloads:

 http://www.luizpicolo.com.br/wp-content/uploads/2012/01/videoaula.tar.gz

http://codeigniter.com/user_guide/database/active_record.html

Publicado em Programação, Video Aula | 11 comentários

Adaptando seu layout em uma aplicação com CodeIgniter módular

Olá amantes da web, sejam todos bem vindos a mais uma vídeo aula sobre o Framework Codeigniter.

Nesta aula, daremos continuidade ao ciclo de vídeo aulas sobre modularização no CI, em que, demonstro como adaptar seu layout em um aplicação módular.

Como vocês já devem ter percebido, esta aula ficou um pouco extensa, aproximadamente 30 minutos, por este motivo, ao perceber alguns erros, preferi não gravar tudo novamente. Contudo, deixo aqui uma falha que surgiu ao criar a base dentro de nosso controler, em que a mesma, deve conter o caminho application/public/modules/layout/componentes/.

Porém é só isso, aguardem mais vídeo aulas e não deixem de postar suas dúvidas. Um grande abraço e até mais.

Segue o link para o Sorce desta aula: Arquivos

Publicado em Programação, Video Aula | Deixar um comentário

Utilizando o CodeIgniter através de Módulos – Parte 2

Olá amantes da web, sejam todos bem vindos a mais uma vídeo aula sobre o CodeIgniter. Nesta aula, vamos demostrar para você como estar separando em sua aplicação a área administrativa da parte visual do usuário, ou seja, o seu layout.

Infelizmente o final da aula foi cortada, porém, o conteúdo está de fácil intendimento.

Segue o link para o exemplo desta aula: Exemplo desta aula

OBS: A qualidade não está boa, porém vou converter novamente para melhorar.

Publicado em Programação, Video Aula | Com a tag , , , | 10 comentários

O “Anonimato” na Internet

Ao navegar em algumas redes sociais deparei-me com uma frase que me norteou a escrever esta coluna “porque muitas pessoas tem a coragem de escrever e não de falar na cara?” (retirada do facebook). O pequeno texto era bem simples, porém ao mesmo tempo, além da inspiração, ele se tornava uma forma de insinuar à alguém um fato muito comum, e que, devido a grande difusão dos crimes cibernéticos impulsionados pelos “anonymous” tornou-se conhecido de todos, o anonimato. Contudo, você já deve estar pensando, se alguém supostamente parafraseou para outra pessoa, como isto pode ser algo anônimo? Para tanto caro leitor, em nossa coluna desta semana, vamos discutir um pouco sobre este assunto.

 Conservar-se anônimo e navegar ao mesmo tempo na Internet é quase impossível. Ao se conectar, antes de visualizar as páginas, você já recebe um endereço IP (Internet Protocol), o qual já o torna rastreável, sendo o mesmo, através de alguma ferramente de Geo Localização, facilmente identificado em qualquer parte do globo. “Se conectar à Internet nunca será um gesto oculto. Nesta era de vídeo vigilância e de seleção de ficheiros administrativos, o Web não foge à regra. Toda a conexão deixa traços sistematicamente. Os cookies fazem parte dessa espionagem desastrosa. Esses pequenos arquivos inseridos no seu micro cada vez que visita um site contém informações que serão reutilizadas no momento da sua próxima conexão”. Mas, mesmo assim, ao se sentar em frente de seu computador, um certo “ar” de anonimato se apoderá de cada um, ou em outras palavras, nós sentimos como dotados de um “poder” de invisibilidade que da a cada um o direito de escrever, falar e ver, tudo que queremos. Ao escrever um certo texto, como nossa coluna por exemplo, a internet “da” o direto de se falar e escrever tudo o que “temos” o direito. No momento em que estou redigindo este texto, esta sensação, mesmo que na maioria as vezes no inconsciente, toma conta de cada um de nós devido ao ar de anonimato que a internet dá a cada um, mas que porém sabemos que não é bem assim. Voltando a nossa frase, ela representa aquilo que queremos dizer neste texto. Quantas vezes, cara a cara, agente não conseguiu falar algo para alguém, quantas vezes foram feitas ofensas a pessoas no Twitter por exemplo. Um caso bem recente foi o da estudante que ofendeu os imigrantes nordestinos os chamando de porcos (http://migre.me/73s7B), um comentário infeliz mas que passou do oculto para o público e, por causa desta passagem, a estudante acabou sendo processada. Mas ofender ou dizer algo não é o foco que queremos, mas o próprio gesto só é feito por causa do anonimato que pensamos estar contidos dentro dele. Já que estou a centenas de kilometros, na frente de um celular ou de um computador, falo o que quero pois quem esta lendo não me afetará!

Portanto este texto, a qual não falo anonimamente, fica para a nossa reflexão sobre o que acontece. Claro que não sou contra ao que acontece na rede, devido ao ar anônimo que a internet tornou-se o que ela é, pessoas podem criar vídeos, escrever e falar tudo o que querem, gerando assim conteúdo diversos, mas pensar profundamente sobre algo que aparentemente é trivial torna-se interessante para todos.

 E você caro leitor o que pensa sobre o nosso assunto? Por favor, comente, deixe a sua opinião,pois ela é de grande valia para todos nós.

Publicado em Colunista | Deixar um comentário

Novo site com matérias sobre o CodeIgniter

Olá amantes da web, espero que estejam todos bem e programando muito. Bem, a princípio quero deixar os meus mais sinceros pedidos de desculpa a todos que visitam periodicamente minha página em busca de tutoriais sobre o CodeIgniter. Como já devem ter visto, não estou postando muitas coisas referentes ao CI, porém, isso será sanado logo.

Para tanto, estou criando uma nova página, ou melhor, um novo portal, o www.codeigniterbrasil.com.br para postar todo o conteúdo referente ao CI. Portanto, para quem deseja aprender mais sobre o framework, acessem o CodeIgniter Brasil

Outro ponto é a qualidade. Na medida do possível, quero que me ajudem a melhora-lo, dando dicas para que ele seja o melhor para todos.

Um grande abraço a todos.

Publicado em Diversos | 2 comentários

Inovação Digital – Linux

Em uma coluna anterior tratamos de apresentar para você leitor a evolução do Windows, demonstrando desde a primeira versão, o 1.01, até o Windows Seven, o qual, junto ao Windows XP, é o sistema operacional (SO) mais usado no mundo. Contudo, não são todos os computadores pessoais e empresariais que estão munidos deste sistema. Em nossa coluna desta semana, vamos demonstrar um outro SO, o Linux.

O nome Linux surgiu da junção de Linus + Unix, sendo Linus o nome do criador do Linux, Linus Torvalds, e Unix, o nome de outro sistema operacional ligado ao Multics, criado na década de 60 no Institute of Technology (MIT). Desviando um pouco da história, a qual por ser extensa poderá ser tratada em outra coluna, o Linux torno-se, isso devido ao grande número de colaboradores e suas distribuições livres, um ótimo SO, mas que porém, não angariou muitos usuários devido em partes a grande difusão do Windows, que mesmo possuindo versões valhas é um bom software, e outra ao próprio SO que as vezes torna-se um transtorno para se instalar um determinado programa ou simples jogar aquele game que você tanto gosta. (Claro que essas falta de portabilidade de programas vai além de uma simples faltar de vontade dos seus desenvolvedores, porém, isso também é assunto para outra coluna). Outro ponto forte do Linux é o seu uso em servidores. Como os gastos são grandes, manter um SO não baseado em OpenSorce (Software Livre) seria um gasto a mais para o usuário final (No caso da Web) ou para a empresa que possui um estrutura de rede ampla. Claro que, por ser um SO de pouco uso, para se manter um servidor com o Linux instalado requer as vezes contratação de empresas especializadas, sendo que este é um dos diferenciais que não tornaram ele o preferido para os usuários domésticos.

Ao contrário do Windows ou de outro SO de código fechado, o Linux não possui exatamente uma evolução no seu desenvolvimento, mas sim uma ramificação de distribuições. Um exemplo é um dos mais conhecidos, o Ubuntu. A empresa que o desenvolveu, a Canonical, utilizou um outro SO Linux para isto, o Debian, ou em outras palavras, o Ubuntu é “Filho” do Debian, ou como também pode ser chamado, uma ramificação dele. Já outros sistemas surgem ramificando-se ao Ubuntu e assim sucessivamente. Logo, não existe uma evolução dos SO em um grau amplo mas sim em especifico, ou seja, há uma evolução do Ubuntu e do Debian, mas não exatamente de um SO único.

Para você leitor que ficou curioso para saber um pouco mais sobre o Linux segue abaixo uma lista de distribuições que podem ser baixadas livremente. Algumas rodam direto de mídias como DVD, CDS e PenDrivers. Segue também um tutorial de como instalar o SO Linux em uma Pendriver, assim você poderá fazer um teste do sistema e saber se ele se encaixa em suas necessidades. Outra iniciativa muito interessante é o Linux Install Fest ( Festa de Instalação do Linux ). É um evento geralmente patrocinado por um Grupo de Usuários Linux ou universidade, em que pessoas se reúnem para realizar instalações em massa de sistemas operacionais de computador ou software, principalmente o sistema operacional Linux e outros softwares de código aberto. Esse tipo de evento ocorreu em nossa cidade vinculado pela IFMS e nomeado como InstallFest Nova Andradina no dia 21/10/2011, uma bela iniciativa dos alunos e professores. Link da Matéria: http://bit.ly/sAOeph

Lista de Distros:

Como instalar o linux através de uma Pendriver:

http://www.pendrivelinux.com/

http://tutorial-info-dica.blogspot.com/2010/10/appsuniversal-usb-installer-123-e-linux.html

Publicado em Colunista | Com a tag , , , , | Deixar um comentário

Inovação Digital – Internet de QUALIDADE para todos.

Internet para todos! Essa é uma frase corriqueira que permeia a mente de muitos quando o assunto é o plano nacional de Banda Larga. Ligado a esta militância, mas nem sempre debatida com maior enfase, outro foco deve ser dados para que o plano nacional possa dar certo. Desta forma, um “adjetivo” deve ser acrescentado a esta frase, a Qualidade.

Desde o surgimento da internet, e infelizmente até os dias atuais, o acesso a rede não é facilitado a todos. Hoje para ter uma banda larga deve-se pagar, e, para que a qualidade desse serviço seja satisfatória, este pagamento provavelmente será maior comparado ao preço do serviço contratado anteriormente. Contudo, com o plano nacional de Banda Larga esse paradigma, em partes, deverá ser mudado. Com a proposta de planos baixos, o governo brasileiro embutirá, isso nos planos primordiais, internet nas casas da maioria dos brasileiro. Mas, um adendo importante deve ser posto: como fica a qualidade? Não seria apenas mais uma massificação e não uma globalização? O serviço que hoje tem uma qualidade garantida em apenas 10% continuará assim? Essas e outras perguntas são excelentes para que se possa pensar no futuro da internet no Brasil.

A massificação não é benigna! Quando algo é massificado problemas relacionados surgirão. Um bom exemplo são os grandes centros urbanos. Pessoas vindas de vários lugares do Brasil levadas por uma possível expectativa de uma vida melhor e de trabalhos dignos adentraram os estados gerando por conseguinte um crescimento desorganizado. Consequentemente, surge ligado a este acontecimento problemas de infraestrutura, saneamento básico, dentro outros. Já a internet, com o grande crescimento previsto até 2014, poderá sofrer se ele for desorganizado. O governo brasileiro, planejando levar uma internet barata para toda a população, deve pensar na infraestrutura que para este feito é necessária. Hoje os brasileiros internautas sofrem, principalmente o terceiro setor, com estruturas fracas que necessariamente precisam ser modernizadas para satisfazer a demanda. Qualidade em muitos casos não chega nem aos mínimo previsto em contrato quanto mais aos 60% que a ANATEL junto ao INMETRO em umas de suas medições especificaram como a porcentagem da qualidade do serviço prestado no Brasil ( Teste feito em apenas 3 capitais brasileiras ).

Portanto, esse pequeno texto não vem a ser uma forma de estar a esquerda de algo bom para a sociedade, mas coloca em xeque situações comuns que devem ser vistas antes de se pensar apenas no futuro preço que a internet terá. Claro que o preço não deve em nenhum momento ser alto, porém a qualidade sim, esta deve sempre estar acima do esperado para que o Brasil possa se assemelhar a países mais desenvolvidos. Logo, ao se criar militâncias pedindo uma internet mais barata deve-se lembrar que além do preço ela deverá vir com uma qualidade que hoje não é alcançada.

Publicado em Colunista | Deixar um comentário