2. Bacharel em Ciências da Computação
pela Universidade Luterana do Brasil.
10 anos de experiência em
desenvolvimento de software.
Clarion, PHP, Delphi, Asp.Net e C#.
Atualmente trabalho no Portal Zap
Imóveis.
3. Criar 3 arquivos Comma Separated
Values. A partir de 3 querys T-Sql.
Arquivos com cabeçalho e “;” como
separador.
Enviar os arquivos para um FTP.
4. Arquitetura DDD.
Injeção de dependências com Ninject.
Dapper na camada de acesso a banco.
Paralelismo.
Testes unitários.
5. Arquivos criados com sucesso.
Envio para o FTP 100%.
Ferramenta quase 100% testada.
Cliente feliz.
6. Volume bem elevado de dados.
3GB de ram para exportação.
Estouro de memória.
Cliente infeliz sem os seus arquivos.
7.
8.
9.
10.
11.
12. Substituição de uma classe dinâmica que
criava os arquivos conforme a classe.
Troca do StringBuilder por uma
concatenação de strings comum.
13.
14. Substituição do Dapper pelo ADO.
Criação de uma paginação para limpeza
da memória após uma certa quantidade
de registros.
15. Atingimos a meta de 50MB de memória.
Deixamos em 150MB por página.
Ainda podemos melhorar.
16. O cliente pediu uma ferramenta para
exportar um grande número de dados e
utilizamos o que tínhamos de melhor para
facilitar o desenvolvimento, mas,
comprometemos a ferramenta quando o
mais simples resolvia.
Apaixonado pelo que faz, tem 10 anos de experiência em desenvolvimento de software trabalhando com linguagens como Clarion, PHP, Delphi, Asp.Net e C#. Bacharel em Ciências da Computação pela Universidade Luterana do Brasil. Atualmente trabalho no Portal Zap Imóveis.
Exportar uma série de dados separados em 3 arquivos texto.
Os arquivos devem conter cabeçalho e seus registros separados por “;”
A ferramenta deve suportar a exportação de um volume bem grande de dados.
Resolvemos utilizar uma aplicação na arquitetura DDD.
Para injeção de dependências utilizamos o Ninject
Para acesso a banco Dapper
Implementamos paralelismo
Criamos Testes unitários.
3 arquivos exportados
Aumento da base
Substituição de uma classe dinâmica que criava os arquivos conforme a classe.
Substituição de uma classe dinâmica que criava os arquivos conforme a classe.
Substituição de uma classe dinâmica que criava os arquivos conforme a classe.
Substituição de uma classe dinâmica que criava os arquivos conforme a classe.
Substituição de uma classe dinâmica que criava os arquivos conforme a classe.
Substituição de uma classe dinâmica que criava os arquivos conforme a classe.