Arquivo

Textos com Etiquetas ‘desenvolvimento’

Vaga desenvolvimento para Joinville

17, janeiro, 2010 Sem comentários

Olá.

Temos disponível uma vaga para desenvolvimento web em Joinville – SC.

Requisitos:

  • Conhecimento em PHP 5;
  • Conhecimento em Javascript;
  • Bom conhecimento de lógica de programação;
  • Flexibilidade para adaptar-se à mudanças;

Desejável:

  • Conhecimento em Zend Framework 1.8+;
  • Conhecimento em framework Javascript (preferenciamente ExtJS);
  • Experiência com RIA;

Contato: enviar e-mail para kassner@gmail.com.

Até mais.

Javascript e permissões de acesso

20, outubro, 2009 Sem comentários

Olá a todos.

Depois de algum tempo sem postar (ocupado em alguns projetos), estou de volta. Desta vez trago uma espécie de idéia que estou tentando aperfeiçoar e qualquer incremento à ela será muito bem vindo.

Estou entrando em um projeto onde utilizamos ExtJS, uma biblioteca Javascript que permite a criação de interfaces ricas, principalmente para desenvolver sistemas web. Um exemplo básico você pode encontrar no site do ExtJS ou neste pequeno aplicativo base que desenvolvi (usuário: admin, senha: 1234).

Se você reparar neste aplicativo base, existe uma área onde configuram-se permissões aos grupos de usuários (atrelados aos usuários), de tal modo que a idéia é que se um usuário não tenha acesso à determinada área (por exemplo, adicionar um novo usuário), a opção não seja exibida (e preferenciamente nada referente seja carregado para evitar Javascript Injection).

No lado do servidor, que processa as requisições Ajax, nenhum problema. Se o usuário logado não tem permissão para listar os grupos, o acesso à essa lista é bloqueado, com uma classe simples que desenvolvi:

<?php

class DMG_Acl {
	// algumas implementações anteriores
	public function canAccess ($rule) {
		/* aqui são executadas algumas verificações no banco de dados para determinar se o usuário logado atualmente tem acesso à área que eu designo, referenciada em $rule dentro deste método. A saída é basicamente true para acesso permitido e false para acesso negado. */
	}
	// algumas implementações posteriores
}

Certo. A questão é como fazer com que o Javascript utilizado para montar as interfaces no ExtJS seja mínimo e seguro, carregando apenas o necessário, sem furos para possíveis injeções de Javascript.

A solução xula que encontrei foi, juntar o Javascript ao PHP, e fazer verificações internas. Por exemplo, se o usuário não tem acesso à regra 10, que permite o acesso à inserção de novos usuários, o método que utilizei fica próximo à:

<?php if (DMG_Acl::canAccess(10)): ?>
			{
				text: 'Adicionar usuário',
				iconCls: 'silk-add',
				scope: this,
				handler: this._onBtnNovoUsuarioClick
			},
<?php endif; ?>

Ok. Eu processo os arquivos como PHP normalmente, e recebo em Javascript somente o código do qual as permissões do usuário deixam, logo, o código acima só seria retornado caso o usuário possuir permissão de acesso na regra 10.

O grande problema: essa implementação é falha durante a mudança de permissões. Se um usuário retirar as permissões de outro usuário enquanto este está utilizando o sistema, a os botões ou links não irão sumir. No lado do servidor a regra surtirá efeito, porém não na interface.

Outro grande problema é a mistura do PHP com o Javascript e uma pequena gambiarra para fazer esse sistema de permissões funcionar, que não me agrada nem um pouco.

Queria deixar aqui uma dica para quem precisa de uma implementação deste tipo, mas também um alerta, que, acredito eu, não seja a maneira mais eficaz de se fazer isso, e ainda, um pedido de ajuda à quem tiver idéias para resolver este problema de forma mais correta.

Até mais,
Rafael.

Palestra de Frameworks PHP no PHP SC Conf

30, maio, 2009 2 comentários

Olá.

Nesta sexta e sábado (29 e 30 de maio) houve o PHP SC conf, no campus da Univali em Itajaí. Rolaram diversas palestras sobre PHP e derivados. Eu levei uma palestra sobre Frameworks PHP, onde houve uma discussão no final, junto com o Elton Minetto da Drimio, o Silvano Girardi do PHP SC e outras pessoas da platéia.

Quem quiser, pode efetuar o download dos slides da palestra de Frameworks PHP (ou visualizar no SlideShare.net), e se tiverem dúvidas sobre Frameworks, precisarem de ajuda ou seja lá o que for sobre Frameworks, entre em contato comigo (e-mail, telefone, skype, twitter, sinal de fumaça, etc).

Atenciosamente,
Rafael.

Framework PHP: utilizar ou não, eis a questão

1, março, 2009 3 comentários

Olá a todos.

Sou assinante dos feed do POOMAX, e nas últimas entradas acabei vendo duas discussões. Josh Sharp, desenvolvedor Web, acredita que a utilização de um framework PHP venha a trazer grandes benefícios aos desenvolvedores:

  • Utilização do MVC, o um modelo de desenvolvimento que evita a salada entre os dados, a apresentação e o comportamento da página;
  • Imposição da padronização, onde o conhecedor da estrutura do framework saberá onde está o que ele procura;
  • URL’s amigáveis, nada mais que uma melhor apresentação (e otimização de busca) das suas URL’s;
  • Redução do tempo de desenvolvimento;
  • etc.

Realmente, esses argumentos de Sharp são válidos para a parte de desenvolvimento de uma aplicação, pois temos ganhos satisfatórios de tempo e facilidade no desenvolvimento de novas funções sobre o código já existente. Entretanto, a utilização de frameworks bate em uma tecla que deve merecer maior atenção a cada dia que se passa: a velocidade.

Rasmus Lerdorf, desenvolvedor inicial do PHP, acredita que o desenvolvimento em PHP utilizando frameworks não é bem vindo, pois eles fornecem uma baixa velocidade para apresentar uma página, em comparação ao PHP estruturado. Em partes, Lerdorf está certo, pois uma página simples, poderia ter uma acréscimo de mais de 100% no tempo de interpretação do script.

Certo, então qual seria o ideal?

Como atualmente o número de servidores que disponibilizam planos de recursos altos e preços baixíssimos está cada vez maior, no futuro não muito distante, os servidores que não praticam o chamado overselling (alugam o servidor para mais clientes que este suportaria) praticamente não existirão, e o processamento dos scripts PHP utilizando frameworks teria um drástico desempenho, sendo que muitas empresas forçariam o seu cliente a reduzir o processamento de suas páginas, devido ao excesso de clientes “pendurados” naquele servidor.

Além disso, a utilização de frameworks deixa uma grande diferença no número de páginas processadas, onde o framework teria uma real desvantagem quando o limite do servidor fosse alcançado. A utilização de compiladores poderia auxiliar no aumento da velocidade, porém os scripts sem framework novamente seriam mais velozes.

O ideal seria ao desenvolver o sistema, verificar se existe a possibilidade de não utilizar o framework, sem, é claro, perder muita produtividade. A utilização da orientação à objetos pode ser muito conveniente mesmo sem a utilização de frameworks, uma vez que sejam utilizadas apenas as classes que forem realmente necessárias, e não como em um framework, onde praticamente todo o Core do mesmo é carregado, mesmo que você deseje apenas fazer um script de Hello World.

Até mais.