Programação    HardcoreDesenvolvimento antes da Web e do Mobile
Quem sou?• Fernando “Fernandão” Cézar •   Quase Analista de Sistemas pela UFMS •   Trabalha com TI a 10 anos •   Sócio-Des...
Disclaimer
O MERCADOMENOSPREZA VOCÊ!
E AS INSTITUIÇÕES DE ENSINO   TE PREPARAM PARA ESSE  MERCADO DE TENDÊNCIAS.
Onde estão osPROGRAMADORES   HARDCORE?
Onde estão os      PROGRAMADORES         HARDCORE?Mercado deTendências
Onde estão os      PROGRAMADORES         HARDCORE?Mercado de     MeioTendências   Acadêmico
Onde estão os      PROGRAMADORES         HARDCORE?Mercado de     Meio      ConcursoTendências   Acadêmico    Público
Quem são esses caras?
Quem são esses caras?Steve Jobs
Quem são esses caras? Steve JobsDag Kittlaus
Quem são esses caras? Steve Jobs     Mark ZuckerbergDag Kittlaus
Quem são esses caras? Steve Jobs     Mark ZuckerbergDag Kittlaus    Avinash Lakshman
Onde eles estão?
Onde eles estão?
Onde eles estão?
Com o que os Programadores  HARDCORE trabalham?
Com o que os Programadores  HARDCORE trabalham?           Qualquer coisa! Linguagem / Tecnologia é Ferramenta!
OCR em Documentos da LínguaPortuguesa com Baixa Nitidez
OCR em Documentos da LínguaPortuguesa com Baixa Nitidez  •   Problema:
OCR em Documentos da LínguaPortuguesa com Baixa Nitidez  •   Problema:      •   Dificuldade de se obter bons resultados no...
OCR em Documentos da LínguaPortuguesa com Baixa Nitidez  •   Problema:      •   Dificuldade de se obter bons resultados no...
OCR em Documentos da LínguaPortuguesa com Baixa Nitidez  •   Problema:      •   Dificuldade de se obter bons resultados no...
OCR em Documentos da LínguaPortuguesa com Baixa Nitidez  •   Problema:      •   Dificuldade de se obter bons resultados no...
OCR em Documentos da LínguaPortuguesa com Baixa Nitidez  •   Problema:      •   Dificuldade de se obter bons resultados no...
OCR em Documentos da LínguaPortuguesa com Baixa Nitidez  •   Problema:      •   Dificuldade de se obter bons resultados no...
OCR em Documentos da LínguaPortuguesa com Baixa Nitidez  •   Problema:      •   Dificuldade de se obter bons resultados no...
OCR em Documentos da LínguaPortuguesa com Baixa Nitidez  •   Problema:      •   Dificuldade de se obter bons resultados no...
OCR em Documentos da LínguaPortuguesa com Baixa Nitidez  •   Problema:      •   Dificuldade de se obter bons resultados no...
Extração de Texto deDocumentos desestruturados
Extração de Texto deDocumentos desestruturados •   Problema:
Extração de Texto deDocumentos desestruturados •   Problema:     •   Extrair e organizar informações de textos não-estrutu...
Extração de Texto deDocumentos desestruturados •   Problema:     •   Extrair e organizar informações de textos não-estrutu...
Extração de Texto deDocumentos desestruturados •   Problema:     •   Extrair e organizar informações de textos não-estrutu...
Extração de Texto deDocumentos desestruturados •   Problema:     •   Extrair e organizar informações de textos não-estrutu...
Extração de Texto deDocumentos desestruturados •   Problema:     •   Extrair e organizar informações de textos não-estrutu...
Extração de Texto deDocumentos desestruturados •   Problema:     •   Extrair e organizar informações de textos não-estrutu...
Extração de Texto deDocumentos desestruturados •   Problema:     •   Extrair e organizar informações de textos não-estrutu...
Extração de Texto deDocumentos desestruturados •   Problema:     •   Extrair e organizar informações de textos não-estrutu...
Extração de Texto deDocumentos desestruturados •   Problema:     •   Extrair e organizar informações de textos não-estrutu...
Manipulação dearquivos digitais
Manipulação de           arquivos digitais•   Problema:
Manipulação de             arquivos digitais•   Problema:    •   Entrada de arquivos de texto em diferentes formatos e lay...
Manipulação de             arquivos digitais•   Problema:    •   Entrada de arquivos de texto em diferentes formatos e lay...
Manipulação de             arquivos digitais•   Problema:    •   Entrada de arquivos de texto em diferentes formatos e lay...
Manipulação de             arquivos digitais•   Problema:    •   Entrada de arquivos de texto em diferentes formatos e lay...
Manipulação de             arquivos digitais•   Problema:    •   Entrada de arquivos de texto em diferentes formatos e lay...
Manipulação de             arquivos digitais•   Problema:    •   Entrada de arquivos de texto em diferentes formatos e lay...
Manipulação de               arquivos digitais•   Problema:    •   Entrada de arquivos de texto em diferentes formatos e l...
Manipulação de               arquivos digitais•   Problema:    •   Entrada de arquivos de texto em diferentes formatos e l...
Processamento de    Imagens
Processamento de             Imagens•   Problema:
Processamento de              Imagens•   Problema:    •   Manipulação de mais 50.000 arquivos por dia
Processamento de              Imagens•   Problema:    •   Manipulação de mais 50.000 arquivos por dia    •   Binarização d...
Processamento de              Imagens•   Problema:    •   Manipulação de mais 50.000 arquivos por dia    •   Binarização d...
Processamento de              Imagens•   Problema:    •   Manipulação de mais 50.000 arquivos por dia    •   Binarização d...
Processamento de              Imagens•   Problema:    •   Manipulação de mais 50.000 arquivos por dia    •   Binarização d...
Processamento de              Imagens•   Problema:    •   Manipulação de mais 50.000 arquivos por dia    •   Binarização d...
Processamento de              Imagens•   Problema:    •   Manipulação de mais 50.000 arquivos por dia    •   Binarização d...
Contribuição comprojetos open-source
Contribuição com  projetos open-sourceGraphics Magick   Jarvis
Contribuição com              projetos open-source         Graphics Magick               Jarvis•   Problema:    •   Desemp...
Contribuição com               projetos open-source         Graphics Magick                    Jarvis•   Problema:    •   ...
Contribuição com               projetos open-source         Graphics Magick                    Jarvis•   Problema:    •   ...
Contribuição com               projetos open-source         Graphics Magick                                Jarvis•   Probl...
Contribuição com               projetos open-source         Graphics Magick                                   Jarvis•   Pr...
Infra-estrutura
Infra-estrutura•   Situação:
Infra-estrutura•   Situação:    •   Mais de 25 servidores para gerenciar
Infra-estrutura•   Situação:    •   Mais de 25 servidores para gerenciar    •   Aproximadamente 30 TB de dados
Infra-estrutura•   Situação:    •   Mais de 25 servidores para gerenciar    •   Aproximadamente 30 TB de dados    •   Mais...
Infra-estrutura•   Situação:    •   Mais de 25 servidores para gerenciar    •   Aproximadamente 30 TB de dados    •   Mais...
Infra-estrutura•   Situação:    •   Mais de 25 servidores para gerenciar    •   Aproximadamente 30 TB de dados    •   Mais...
Infra-estrutura•   Situação:    •   Mais de 25 servidores para gerenciar    •   Aproximadamente 30 TB de dados    •   Mais...
Infra-estrutura•   Situação:    •   Mais de 25 servidores para gerenciar    •   Aproximadamente 30 TB de dados    •   Mais...
Infra-estrutura•   Situação:    •   Mais de 25 servidores para gerenciar    •   Aproximadamente 30 TB de dados    •   Mais...
Infra-estrutura•   Situação:    •   Mais de 25 servidores para gerenciar    •   Aproximadamente 30 TB de dados    •   Mais...
Infra-estrutura•   Situação:    •   Mais de 25 servidores para gerenciar    •   Aproximadamente 30 TB de dados    •   Mais...
Infra-estrutura•   Situação:    •   Mais de 25 servidores para gerenciar    •   Aproximadamente 30 TB de dados    •   Mais...
Infra-estrutura•   Situação:    •   Mais de 25 servidores para gerenciar    •   Aproximadamente 30 TB de dados    •   Mais...
Dúvidas?          Contatos•   @focezar•   @gendocbr•   fernando@gendoc.com.br
Obrigado!
Próximos SlideShares
Carregando em…5
×

Programação hardcore: Desenvolvimento antes da web e do mobile

848 visualizações

Publicada em

Palestrar apresentada no Javaneiros 2012.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Programação hardcore: Desenvolvimento antes da web e do mobile

  1. 1. Programação HardcoreDesenvolvimento antes da Web e do Mobile
  2. 2. Quem sou?• Fernando “Fernandão” Cézar • Quase Analista de Sistemas pela UFMS • Trabalha com TI a 10 anos • Sócio-Desenvolvedor da Gendoc • Responsável pela parte web dos produtos da Gendoc • Já trabalhou com VB.
  3. 3. Disclaimer
  4. 4. O MERCADOMENOSPREZA VOCÊ!
  5. 5. E AS INSTITUIÇÕES DE ENSINO TE PREPARAM PARA ESSE MERCADO DE TENDÊNCIAS.
  6. 6. Onde estão osPROGRAMADORES HARDCORE?
  7. 7. Onde estão os PROGRAMADORES HARDCORE?Mercado deTendências
  8. 8. Onde estão os PROGRAMADORES HARDCORE?Mercado de MeioTendências Acadêmico
  9. 9. Onde estão os PROGRAMADORES HARDCORE?Mercado de Meio ConcursoTendências Acadêmico Público
  10. 10. Quem são esses caras?
  11. 11. Quem são esses caras?Steve Jobs
  12. 12. Quem são esses caras? Steve JobsDag Kittlaus
  13. 13. Quem são esses caras? Steve Jobs Mark ZuckerbergDag Kittlaus
  14. 14. Quem são esses caras? Steve Jobs Mark ZuckerbergDag Kittlaus Avinash Lakshman
  15. 15. Onde eles estão?
  16. 16. Onde eles estão?
  17. 17. Onde eles estão?
  18. 18. Com o que os Programadores HARDCORE trabalham?
  19. 19. Com o que os Programadores HARDCORE trabalham? Qualquer coisa! Linguagem / Tecnologia é Ferramenta!
  20. 20. OCR em Documentos da LínguaPortuguesa com Baixa Nitidez
  21. 21. OCR em Documentos da LínguaPortuguesa com Baixa Nitidez • Problema:
  22. 22. OCR em Documentos da LínguaPortuguesa com Baixa Nitidez • Problema: • Dificuldade de se obter bons resultados no reconhecimento de imagens de documentos com baixa qualidade.
  23. 23. OCR em Documentos da LínguaPortuguesa com Baixa Nitidez • Problema: • Dificuldade de se obter bons resultados no reconhecimento de imagens de documentos com baixa qualidade. • Falta de conhecimento de regras linguísticas aplicadas à Língua Portuguesa.
  24. 24. OCR em Documentos da LínguaPortuguesa com Baixa Nitidez • Problema: • Dificuldade de se obter bons resultados no reconhecimento de imagens de documentos com baixa qualidade. • Falta de conhecimento de regras linguísticas aplicadas à Língua Portuguesa. • Tecnologia:
  25. 25. OCR em Documentos da LínguaPortuguesa com Baixa Nitidez • Problema: • Dificuldade de se obter bons resultados no reconhecimento de imagens de documentos com baixa qualidade. • Falta de conhecimento de regras linguísticas aplicadas à Língua Portuguesa. • Tecnologia: • Python
  26. 26. OCR em Documentos da LínguaPortuguesa com Baixa Nitidez • Problema: • Dificuldade de se obter bons resultados no reconhecimento de imagens de documentos com baixa qualidade. • Falta de conhecimento de regras linguísticas aplicadas à Língua Portuguesa. • Tecnologia: • Python • C++
  27. 27. OCR em Documentos da LínguaPortuguesa com Baixa Nitidez • Problema: • Dificuldade de se obter bons resultados no reconhecimento de imagens de documentos com baixa qualidade. • Falta de conhecimento de regras linguísticas aplicadas à Língua Portuguesa. • Tecnologia: • Python • C++ • OCRopus
  28. 28. OCR em Documentos da LínguaPortuguesa com Baixa Nitidez • Problema: • Dificuldade de se obter bons resultados no reconhecimento de imagens de documentos com baixa qualidade. • Falta de conhecimento de regras linguísticas aplicadas à Língua Portuguesa. • Tecnologia: • Python • C++ • OCRopus • Rede neurais (Perceptron de Múltiplas Camadas)
  29. 29. OCR em Documentos da LínguaPortuguesa com Baixa Nitidez • Problema: • Dificuldade de se obter bons resultados no reconhecimento de imagens de documentos com baixa qualidade. • Falta de conhecimento de regras linguísticas aplicadas à Língua Portuguesa. • Tecnologia: • Python • C++ • OCRopus • Rede neurais (Perceptron de Múltiplas Camadas) • K-means (Segmentação de Página)
  30. 30. OCR em Documentos da LínguaPortuguesa com Baixa Nitidez • Problema: • Dificuldade de se obter bons resultados no reconhecimento de imagens de documentos com baixa qualidade. • Falta de conhecimento de regras linguísticas aplicadas à Língua Portuguesa. • Tecnologia: • Python • C++ • OCRopus • Rede neurais (Perceptron de Múltiplas Camadas) • K-means (Segmentação de Página) • kNN (Modelo de Reconhecimento de Caracteres)
  31. 31. Extração de Texto deDocumentos desestruturados
  32. 32. Extração de Texto deDocumentos desestruturados • Problema:
  33. 33. Extração de Texto deDocumentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados.
  34. 34. Extração de Texto deDocumentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados. • Textos com baixa qualidade
  35. 35. Extração de Texto deDocumentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados. • Textos com baixa qualidade • Performance de processamento
  36. 36. Extração de Texto deDocumentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados. • Textos com baixa qualidade • Performance de processamento • Tecnologia:
  37. 37. Extração de Texto deDocumentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados. • Textos com baixa qualidade • Performance de processamento • Tecnologia: • Java HARDCORE com forte paralelização de Processos
  38. 38. Extração de Texto deDocumentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados. • Textos com baixa qualidade • Performance de processamento • Tecnologia: • Java HARDCORE com forte paralelização de Processos • Regular Expressions
  39. 39. Extração de Texto deDocumentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados. • Textos com baixa qualidade • Performance de processamento • Tecnologia: • Java HARDCORE com forte paralelização de Processos • Regular Expressions • Lucene
  40. 40. Extração de Texto deDocumentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados. • Textos com baixa qualidade • Performance de processamento • Tecnologia: • Java HARDCORE com forte paralelização de Processos • Regular Expressions • Lucene • Named Entity Recognition
  41. 41. Extração de Texto deDocumentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados. • Textos com baixa qualidade • Performance de processamento • Tecnologia: • Java HARDCORE com forte paralelização de Processos • Regular Expressions • Lucene • Named Entity Recognition • Zookeeper (Sistemas Distribuídos)
  42. 42. Manipulação dearquivos digitais
  43. 43. Manipulação de arquivos digitais• Problema:
  44. 44. Manipulação de arquivos digitais• Problema: • Entrada de arquivos de texto em diferentes formatos e layouts
  45. 45. Manipulação de arquivos digitais• Problema: • Entrada de arquivos de texto em diferentes formatos e layouts • Estruturar as entradas em um layout único
  46. 46. Manipulação de arquivos digitais• Problema: • Entrada de arquivos de texto em diferentes formatos e layouts • Estruturar as entradas em um layout único • Saída em um único arquivo, com layout pré-definido
  47. 47. Manipulação de arquivos digitais• Problema: • Entrada de arquivos de texto em diferentes formatos e layouts • Estruturar as entradas em um layout único • Saída em um único arquivo, com layout pré-definido• Tecnologia:
  48. 48. Manipulação de arquivos digitais• Problema: • Entrada de arquivos de texto em diferentes formatos e layouts • Estruturar as entradas em um layout único • Saída em um único arquivo, com layout pré-definido• Tecnologia: • Consumo dos componentes Ole e COM
  49. 49. Manipulação de arquivos digitais• Problema: • Entrada de arquivos de texto em diferentes formatos e layouts • Estruturar as entradas em um layout único • Saída em um único arquivo, com layout pré-definido• Tecnologia: • Consumo dos componentes Ole e COM • Delphi
  50. 50. Manipulação de arquivos digitais• Problema: • Entrada de arquivos de texto em diferentes formatos e layouts • Estruturar as entradas em um layout único • Saída em um único arquivo, com layout pré-definido• Tecnologia: • Consumo dos componentes Ole e COM • Delphi • Java
  51. 51. Manipulação de arquivos digitais• Problema: • Entrada de arquivos de texto em diferentes formatos e layouts • Estruturar as entradas em um layout único • Saída em um único arquivo, com layout pré-definido• Tecnologia: • Consumo dos componentes Ole e COM • Delphi • Java • PHP
  52. 52. Processamento de Imagens
  53. 53. Processamento de Imagens• Problema:
  54. 54. Processamento de Imagens• Problema: • Manipulação de mais 50.000 arquivos por dia
  55. 55. Processamento de Imagens• Problema: • Manipulação de mais 50.000 arquivos por dia • Binarização de imagens de todas essas imagens
  56. 56. Processamento de Imagens• Problema: • Manipulação de mais 50.000 arquivos por dia • Binarização de imagens de todas essas imagens • Conversão de formatos
  57. 57. Processamento de Imagens• Problema: • Manipulação de mais 50.000 arquivos por dia • Binarização de imagens de todas essas imagens • Conversão de formatos• Tecnologia:
  58. 58. Processamento de Imagens• Problema: • Manipulação de mais 50.000 arquivos por dia • Binarização de imagens de todas essas imagens • Conversão de formatos• Tecnologia: • PHP
  59. 59. Processamento de Imagens• Problema: • Manipulação de mais 50.000 arquivos por dia • Binarização de imagens de todas essas imagens • Conversão de formatos• Tecnologia: • PHP • C#
  60. 60. Processamento de Imagens• Problema: • Manipulação de mais 50.000 arquivos por dia • Binarização de imagens de todas essas imagens • Conversão de formatos• Tecnologia: • PHP • C# • C (Graphics Magick)
  61. 61. Contribuição comprojetos open-source
  62. 62. Contribuição com projetos open-sourceGraphics Magick Jarvis
  63. 63. Contribuição com projetos open-source Graphics Magick Jarvis• Problema: • Desempenho da binarização de imagens
  64. 64. Contribuição com projetos open-source Graphics Magick Jarvis• Problema: • Desempenho da binarização de imagens• Solução: • Reimplementar o calculo de limite adaptativo (LAT) utilizando Programação Dinâmica
  65. 65. Contribuição com projetos open-source Graphics Magick Jarvis• Problema: • Desempenho da binarização de imagens• Solução: • Reimplementar o calculo de limite adaptativo (LAT) utilizando Programação Dinâmica
  66. 66. Contribuição com projetos open-source Graphics Magick Jarvis• Problema: • Problema: • Desempenho da binarização de imagens • Monitoramentos dos softwares em produção• Solução: • Reimplementar o calculo de limite adaptativo (LAT) utilizando Programação Dinâmica
  67. 67. Contribuição com projetos open-source Graphics Magick Jarvis• Problema: • Problema: • Desempenho da binarização de imagens • Monitoramentos dos softwares em produção• Solução: • Solução: • Reimplementar o calculo de limite adaptativo (LAT) utilizando • Implementar um camada de serviço ao IRC-BOT para além de responder Programação Dinâmica à comandos, ter autonomia para emitir alertas e comandos.
  68. 68. Infra-estrutura
  69. 69. Infra-estrutura• Situação:
  70. 70. Infra-estrutura• Situação: • Mais de 25 servidores para gerenciar
  71. 71. Infra-estrutura• Situação: • Mais de 25 servidores para gerenciar • Aproximadamente 30 TB de dados
  72. 72. Infra-estrutura• Situação: • Mais de 25 servidores para gerenciar • Aproximadamente 30 TB de dados • Mais de 400 serviços para serem monitorados
  73. 73. Infra-estrutura• Situação: • Mais de 25 servidores para gerenciar • Aproximadamente 30 TB de dados • Mais de 400 serviços para serem monitorados• Problema:
  74. 74. Infra-estrutura• Situação: • Mais de 25 servidores para gerenciar • Aproximadamente 30 TB de dados • Mais de 400 serviços para serem monitorados• Problema: • Organização, localização e acesso
  75. 75. Infra-estrutura• Situação: • Mais de 25 servidores para gerenciar • Aproximadamente 30 TB de dados • Mais de 400 serviços para serem monitorados• Problema: • Organização, localização e acesso • Backup, Como eu transfiro 30 TB com 50mb de banda?
  76. 76. Infra-estrutura• Situação: • Mais de 25 servidores para gerenciar • Aproximadamente 30 TB de dados • Mais de 400 serviços para serem monitorados• Problema: • Organização, localização e acesso • Backup, Como eu transfiro 30 TB com 50mb de banda? • Monitoramento
  77. 77. Infra-estrutura• Situação: • Mais de 25 servidores para gerenciar • Aproximadamente 30 TB de dados • Mais de 400 serviços para serem monitorados• Problema: • Organização, localização e acesso • Backup, Como eu transfiro 30 TB com 50mb de banda? • Monitoramento• Tecnologia:
  78. 78. Infra-estrutura• Situação: • Mais de 25 servidores para gerenciar • Aproximadamente 30 TB de dados • Mais de 400 serviços para serem monitorados• Problema: • Organização, localização e acesso • Backup, Como eu transfiro 30 TB com 50mb de banda? • Monitoramento• Tecnologia: • Virtualização (Xen)
  79. 79. Infra-estrutura• Situação: • Mais de 25 servidores para gerenciar • Aproximadamente 30 TB de dados • Mais de 400 serviços para serem monitorados• Problema: • Organização, localização e acesso • Backup, Como eu transfiro 30 TB com 50mb de banda? • Monitoramento• Tecnologia: • Virtualização (Xen) • Script próprio de backup (Incremental, Criptografia, Diferencial, e-mail)
  80. 80. Infra-estrutura• Situação: • Mais de 25 servidores para gerenciar • Aproximadamente 30 TB de dados • Mais de 400 serviços para serem monitorados• Problema: • Organização, localização e acesso • Backup, Como eu transfiro 30 TB com 50mb de banda? • Monitoramento• Tecnologia: • Virtualização (Xen) • Script próprio de backup (Incremental, Criptografia, Diferencial, e-mail) • Nagios, Icinga com Check_mk
  81. 81. Infra-estrutura• Situação: • Mais de 25 servidores para gerenciar • Aproximadamente 30 TB de dados • Mais de 400 serviços para serem monitorados• Problema: • Organização, localização e acesso • Backup, Como eu transfiro 30 TB com 50mb de banda? • Monitoramento• Tecnologia: • Virtualização (Xen) • Script próprio de backup (Incremental, Criptografia, Diferencial, e-mail) • Nagios, Icinga com Check_mk • Gestão Centralizada no IRC (Alertas, Gestão completa de servidores)
  82. 82. Dúvidas? Contatos• @focezar• @gendocbr• fernando@gendoc.com.br
  83. 83. Obrigado!

×