Transifex - Desenvolvendo uma aplicação complexa na simplicidade do Django

1,119 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,119
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
36
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transifex - Desenvolvendo uma aplicação complexa na simplicidade do Django

  1. 1. Desenvolvendo uma aplicação complexa na simplicidade do Django Diego Búrigo Zacarão diegobz@indifex.com @diegobz Indifex
  2. 2. Transifex● Plataforma de gerenciamento de tradução open source● Agnóstico à repositórios e VCS´s● Conta com uma API poderosa● CLI – Aplicação Cliente em Linha de Comando● Eficiente e Efetivo● Total controle no processo de tradução Indifex
  3. 3. Visão geral Indifex
  4. 4. Indifex
  5. 5. Indifex
  6. 6. Indifex
  7. 7. Indifex
  8. 8. Indifex
  9. 9. O que está por trás do Transifex? Indifex
  10. 10. Um framework Web de alto nível escrito em Python que estimula o desenvolvimento rápido e limpo. Indifex
  11. 11. Componentes básicos do Django● Templates - Django Template Engine● Models - Django ORM (Mapeamento Objeto-Relacional)● Views – Classes/Funções escritas em Python● URL Patterns – Baseadas em expressões regulares Indifex
  12. 12. Criando um projeto Djangodjango­admin.py startproject transifex transifex/ __init__.py manage.py settings.py urls.py Indifex
  13. 13. Criando um aplicação Django./manage.py startapp project transifex/ project/     __init__.py     models.py     views.py     urls.py     templates/     templatetags/     ... Indifex
  14. 14. Problemas e Soluções Indifex
  15. 15. models.pyfrom django.db import modelsclass Project(models.Model):    name = models.CharField(max_length=50)# Criar tabelas# ./manage.py syncdb Indifex
  16. 16. Alterações no models.py● Syncdb não é capaz de manipular essas mudanças, mas uma aplicação chamada south é: – Esquema (alter table, etc...) – Migrações Forwards e Backwards – Tudo através de comandos de gerenciamento – Migra dados também Indifex
  17. 17. Carregamento dinâmico de apps● Django-addons – Carregamento de apps plugáveis ● Models, views, código em geral ● Com opção de habilitar/desabilitar apps ● Templates (com hooks) Indifex
  18. 18. Cache em todos os lugares● Django tem suporte a cache – memcache, db, filebased, etc...● O importante é saber como usar cache – Resultados de cálculos – Páginas inteiras ou seguimento específicos de páginas – Páginas em diferente idiomas Indifex
  19. 19. Múltiplos Dbs e roteamento● Django tem suporte à múltiplos banco de dados● Roteamento – Balanceamento de carga ● Escrita no db1, leitura no db2 – Aplicações com banco de dados independentes ● Login a partir de outro banco de dados – Configurável através de uma Classe Indifex
  20. 20. Indexação de dados● Django-haystack – Suporte à vários motores: Solr, Whoosh e Xapian. – Natural para quem usa Django ● Consultas de forma similar ao ORM do Django – Configurável através de modelos (models.py) – Opção de filtro ● Campos de um modelo e/ou por modelo Indifex
  21. 21. Desnormalização de dados● Pré-calcular algumas informações e armazenar no banco de dados.● O mecanismo de sinais do Django pode ser uma alternativa para disparar esses cálculos – pre_save, post_save, ou o que você quiser. Indifex
  22. 22. Enfim...Perguntas? Indifex
  23. 23. Obrigado! Diego Búrigo Zacarão diegobz@indifex.com @diegobzLicenciada sob Creative Commons CC-BY 3.0 Indifex

×