Writing Um blog. Viagem, diversão, cultura, curiosidades, dia-a-dia. Papo à toa.


Usando o Dojo como ferramenta de projetos

otavio publicou em 25/10, 03:36 hs , e editou pela última vez há mais de 3 anos atrás.

Recentemente contamos com a consultoria da K21 para mudar a forma como desenvolvemos para nosso portfólio de projetos. Um dos processos que implantamos, como sugestão da consultoria, foi o Dojo .

O Dojo tem como objetivo a reunião de grupo de desenvolvedores com foco nas boas práticas de desenvolvimento. Dentro da visão de gerenciamento de projetos, estamos usando o Dojo para:

  • Difusão de bons padrões de programação
    • que gera qualidade de código do desenvolvedor, difunde os critérios de aceitação e diminui o número de correções;
  • Funciona como uma ferramenta para ensino de regras de negócio
    • que gera reflexos no time como maior capacidade de análise do time e;
    • sugestões para melhorias nos projetos ou para melhor definição de funcionalidades
  • Motivação do time
    • Programador de verdade gosta de aprender e evoluir sempre
  • O time fica mais coeso e amigo
  • Aumento de produtividade do time no longo prazo

Vou colocar algumas regras para depois discutir o porquê de cada uma. Estamos em constante evolução nesse aspecto, essa é a terceira versão dessa lista:


(continua...)

Page Caching com dependências de expiração

otavio publicou em 22/10, 02:45 hs , e editou pela última vez há mais de 4 anos atrás.

Criando page caching com dependências ao invés de controle de tempo apenas

Além da expiração por tempo, uma forma útil é expirar por dependência. A dependência pode ser por alteração de um arquivo (no Rails se usava muito um touch em tmp/restart.txt para recarregar uma aplicação em produção) ou uma consulta que retornava um valor (ver mais aqui). Todas são interessantes e úteis em algum momento.


(continua...)

Caching no Yii - usando o cache dinâmico

otavio publicou em 04/10, 21:28 hs , e editou pela última vez há mais de 4 anos atrás.

Um dos melhores recursos de caching do Yii é o page caching, por seu padrão não obstrusivo do código. Mas esse recurso sozinho, em ambientes logados, é difícil de ser implementado. É comum (quase padrão) que aplicações tenham diferentes tipos de usuários (user roles).

Com isso, informações como o menu, a sidebar de usuário logado e informações específicas do mesmo caducariam com o uso simples do page caching. Ou passariamos a ter uma página de cache por cada tipo de usuário, e, às vezes, usuário por usuário.


(continua...)

Caching no Yii

otavio publicou em 04/10, 04:08 hs , e editou pela última vez há mais de 4 anos atrás.

O Yii, como todos os bons frameworks de desenvolvimento modernos, possui um conjunto de mecanismos para tornar o processo de cache mais simples.

A grande vantagem do uso de componentes de caching integrados não está na criação do cache. Criar, por exemplo, uma tabela de resumo de dados não é, nem de perto, ciência espacial. A grande vantagem é usar com agilidade a grande capacidade de mecanismos de expiração (seja por tempo total, seja por alguma trigger externa, como a atualização de algum dado usado no cache).

Não vamos aqui falar de aplicações como o Varnish , que funcionam como um proxy e muito usado em sites de alto tráfego com páginas abertas (como grandes sites de e-Commerce e de notícias).

Aqui vamos falar um pouco sobre o quando, o que e o como do uso de cache em sua aplicação, direcionado à solução proposta pelo Yii. Para que não fique muito extenso, alguns aspectos mais avançados serão colocados em posts subsequentes.

Algo importante é: cache é dado descartável e que pode ser gerado novamente a qualquer momento. Informações como: “quantos usuários existiam na base em janeiro?” ou “Com quantas lojas o vendedor X trabalhava em abril de 2012?” são informações que devem ser persistidas adequadamente para consulta futura.


(continua...)

Caching no Yii e Internacionalização (I18n)

otavio publicou em 04/10, 02:48 hs , e editou pela última vez há mais de 4 anos atrás.

Um recurso importante em seu projeto pode ser a Internacionalização (ou, abreviando, I18n). Em casos como esse, o caching de páginas deixa de ser simples. Ele tem que suportar as diferentes línguas do seu sistema.

Para que seu usuário americano não enxergue a página em português, uma dica é usar o varyByExpression comparando o atributo de linguagem da sessão do usuário. Como no exemplo abaixo:

public function filters()
{
 return array(
  'accessControl',
  array(
   'COutputCache + index, search',
   'duration' => 3600,
   varyByExpression => Yii::app()->language,
  ),
 );
}

O que podemos aprender com Han van Meegeren?

otavio publicou em 15/08, 03:48 hs , e editou pela última vez há mais de 4 anos atrás.

Há alguns anos, talvez 5, li um livro muito interessante chamado Eu fui Vermeer. A fantástica e real história de Han van Meegeren, que faturou até o final da 2ª guerra mundial us$50 milhões criando falsificações de quadro do pintor holandês Johannes Vermeer. Um resumo dela pode ser visto nesse vídeo.

O julgamento de Van Meegeren

Bom, o que essa história tem a ver com tecnologia? Nada. Mas tem a ver com inovação. E com marketing, produtos, com certeza.


(continua...)

if(typeof jQuery == 'undefined'){ document.write("