Oi pessoal, tudo bem? O blog andou um pouco parado nos últimos tempos, mas hoje eu tenho um ótimo motivo para quebrar essa monotonia por aqui, do InterCon 2012! Esta foi a nona edição de um evento que já é bem conhecido pelos profissionais de métricas, publicitários e até desenvolvedores. Eu confesso que não conhecia o evento - essa foi minha primeira participação - mas fiquei muito impressionado com a organização, infra, nível das palestras e todas aquelas coisas que costumam ser criticadas em grandes eventos. Aproveito para deixar meus parabéns ao iMasters e os organizadores!
Alem de ser minha primeira participação, ainda fui convidado a palestrar com meu amigo e colega de trabalho Vitor Franchito sobre Social Mining para métricas por um dos organizadores e também amigo de trabalho, o Leo Naressi. Nosso objetivo era mostrar, de forma prática, como extrair dados das redes sociais e como analisar estes dados para melhor aproveita-los para uma marca, e, claro, minha parte era a extração dos dados =D. Para isso desenvolvi alguns pequenos exemplos que gostaria de compartilhar com vocês!
sábado, 27 de outubro de 2012
sábado, 9 de junho de 2012
Decorator de decorators
E ai pessoal, tudo bem?
Bom, o post de hoje vai ser bem curto, pretendo apenas aproveitar uma oportunidade e abordar um assunto.
A alguns dias, um amigo do trabalho me perguntou se seria possível criar um decorator de decorators. O objetivo era simples, evitar a repetição de chamadas a decorators muito usados e essa a sintaxe feia abaixo:
Bom, o post de hoje vai ser bem curto, pretendo apenas aproveitar uma oportunidade e abordar um assunto.
A alguns dias, um amigo do trabalho me perguntou se seria possível criar um decorator de decorators. O objetivo era simples, evitar a repetição de chamadas a decorators muito usados e essa a sintaxe feia abaixo:
@decorator_a @decorator_b @decorator_c def teste(bla): print bla
quarta-feira, 16 de maio de 2012
Usando decorators para timing
E ai pessoal, tudo bem?
O último post foi bem extenso porque eu precisava dar um overview sobre o assunto, mas este será mais objetivo. Depois de escrever sobre profiling tive oportunidade de aplicar o que venho estudando em um projeto e ver, na prática, o quanto este conhecimento é importante. Também recebi boas criticas sobre a publicação anterior, sinal que o assunto é do interesse de mais gente! Por tanto, vamos a uma dica que tem me ajudado bastante.
Das ferramentas citadas no post anterior tenho usado muito o Django Debug Toolbar e o modulo timeit do Python, mas nenhum dos dois supriu minha necessidade de saber, de forma simples e rápida, quanto tempo um determinado método ou uma view do Django demora para ser executada. No inicio eu fiz a subtração do tempo, como o módulo time, no próprio método mas logo percebi que precisava de um decorator. Depois de pesquisar um pouco, cheguei a minha versão do mesmo que compartilho com vocês:
sexta-feira, 4 de maio de 2012
Performance de web apps Python com Django
E ai pessoal! Tem-se falado muito sobre a performance de aplicações Python e também sobre web apps Python feitas em Django, reflexo da crescente adoção destas tecnologias em projetos cada vez maiores. Meu caso não é diferente, trabalho com Python e Django e, devido as necessidades dos projetos, tenho estudado sobre esse assunto que acho muito interessante. O problema é que cada texto que encontrei tratava de apenas uma abordagem deste tema, seja o deployment, as tecnologias usadas, a arquitetura ou o profiling do código em si. Por isso resolvi escrever este post, uma tentativa de compilar todos estes pontos e criar um material que ajude, de forma geral, a conseguir um melhor desempenho de nossas aplicações.
Vou adotar como estratégia uma abordagem "de fora para dentro", na intenção de começar com fatores externos ao código que podem interferir na performance da aplicação, seguindo com os temas relacionados ao código e como podemos "medir" os mesmos.
Vou adotar como estratégia uma abordagem "de fora para dentro", na intenção de começar com fatores externos ao código que podem interferir na performance da aplicação, seguindo com os temas relacionados ao código e como podemos "medir" os mesmos.
Assinar:
Postagens (Atom)