SlideShare uma empresa Scribd logo
1 de 83
Programação
    Hardcore
Desenvolvimento 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-Desenvolvedor da Gendoc
 •   Responsável pela parte web dos produtos da
     Gendoc
 •   Já trabalhou com VB.
Disclaimer
O MERCADO
MENOSPREZA VOCÊ!
E AS INSTITUIÇÕES DE ENSINO
   TE PREPARAM PARA ESSE
  MERCADO DE TENDÊNCIAS.
Onde estão os
PROGRAMADORES
   HARDCORE?
Onde estão os
      PROGRAMADORES
         HARDCORE?




Mercado de
Tendências
Onde estão os
      PROGRAMADORES
         HARDCORE?




Mercado de     Meio
Tendências   Acadêmico
Onde estão os
      PROGRAMADORES
         HARDCORE?




Mercado de     Meio      Concurso
Tendências   Acadêmico    Público
Quem são esses caras?
Quem são esses caras?




Steve Jobs
Quem são esses caras?




 Steve Jobs




Dag Kittlaus
Quem são esses caras?




 Steve Jobs     Mark Zuckerberg




Dag Kittlaus
Quem são esses caras?




 Steve Jobs     Mark Zuckerberg




Dag 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íngua
Portuguesa com Baixa Nitidez
OCR em Documentos da Língua
Portuguesa com Baixa Nitidez
  •   Problema:
OCR em Documentos da Língua
Portuguesa com Baixa Nitidez
  •   Problema:

      •   Dificuldade de se obter bons resultados no reconhecimento de
          imagens de documentos com baixa qualidade.
OCR em Documentos da Língua
Portuguesa 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.
OCR em Documentos da Língua
Portuguesa 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:
OCR em Documentos da Língua
Portuguesa 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
OCR em Documentos da Língua
Portuguesa 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++
OCR em Documentos da Língua
Portuguesa 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
OCR em Documentos da Língua
Portuguesa 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)
OCR em Documentos da Língua
Portuguesa 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)
OCR em Documentos da Língua
Portuguesa 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)
Extração de Texto de
Documentos desestruturados
Extração de Texto de
Documentos desestruturados
 •   Problema:
Extração de Texto de
Documentos desestruturados
 •   Problema:

     •   Extrair e organizar informações de textos não-estruturados.
Extração de Texto de
Documentos desestruturados
 •   Problema:

     •   Extrair e organizar informações de textos não-estruturados.

     •   Textos com baixa qualidade
Extração de Texto de
Documentos desestruturados
 •   Problema:

     •   Extrair e organizar informações de textos não-estruturados.

     •   Textos com baixa qualidade

     •   Performance de processamento
Extração de Texto de
Documentos desestruturados
 •   Problema:

     •   Extrair e organizar informações de textos não-estruturados.

     •   Textos com baixa qualidade

     •   Performance de processamento

 •   Tecnologia:
Extração de Texto de
Documentos 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
Extração de Texto de
Documentos 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
Extração de Texto de
Documentos 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
Extração de Texto de
Documentos 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
Extração de Texto de
Documentos 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)
Manipulação de
arquivos digitais
Manipulação de
           arquivos digitais
•   Problema:
Manipulação de
             arquivos digitais
•   Problema:

    •   Entrada de arquivos de texto em diferentes formatos e layouts
Manipulação de
             arquivos digitais
•   Problema:

    •   Entrada de arquivos de texto em diferentes formatos e layouts

    •   Estruturar as entradas em um layout único
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
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:
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
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
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
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
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 de imagens de todas essas imagens
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
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:
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
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#
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)
Contribuição com
projetos open-source
Contribuição com
  projetos open-source
Graphics Magick   Jarvis
Contribuição com
              projetos open-source
         Graphics Magick               Jarvis
•   Problema:

    •   Desempenho da binarização de
        imagens
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
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
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
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.
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 de 400 serviços para serem monitorados
Infra-estrutura
•   Situação:

    •   Mais de 25 servidores para gerenciar

    •   Aproximadamente 30 TB de dados

    •   Mais de 400 serviços para serem monitorados

•   Problema:
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
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?
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
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:
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)
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)
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
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)
Dúvidas?




          Contatos

•   @focezar

•   @gendocbr

•   fernando@gendoc.com.br
Obrigado!

Mais conteúdo relacionado

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

Produtividade - Conferência do Proz
Produtividade - Conferência do ProzProdutividade - Conferência do Proz
Produtividade - Conferência do ProzVal Ivonica
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraCDS
 
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...BHack Conference
 
Desenvolvimento Web com Software Livre
Desenvolvimento Web com Software LivreDesenvolvimento Web com Software Livre
Desenvolvimento Web com Software LivreGivanaldo Rocha
 
Doctrine 2 camada de persistência para php
Doctrine 2   camada de persistência para phpDoctrine 2   camada de persistência para php
Doctrine 2 camada de persistência para phpFabio B. Silva
 
Web Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQLWeb Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQLOtávio Calaça Xavier
 
MEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupMEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupAndré Cruz
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...Adolfo Guimaraes
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
Java e Mercado de Trabalho
Java e Mercado de TrabalhoJava e Mercado de Trabalho
Java e Mercado de TrabalhoEduardo Carvalho
 
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...Miguel Gallardo
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA CareerMarcus Vinicius Miguel Pedro
 
Aprensentacao oo-trincheiras
Aprensentacao oo-trincheirasAprensentacao oo-trincheiras
Aprensentacao oo-trincheirasHigor César
 

Semelhante a Programação hardcore: Desenvolvimento antes da web e do mobile (20)

Produtividade - Conferência do Proz
Produtividade - Conferência do ProzProdutividade - Conferência do Proz
Produtividade - Conferência do Proz
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infra
 
Slides .pptx.pdf
Slides .pptx.pdfSlides .pptx.pdf
Slides .pptx.pdf
 
Introdução ao Python com Django
Introdução ao Python com DjangoIntrodução ao Python com Django
Introdução ao Python com Django
 
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
Palestra Tony Rodrigues - OctaneLabs WarpSpeed Project – Computação Forense e...
 
Aula 1 - Seja um programador Java
Aula 1 - Seja um programador JavaAula 1 - Seja um programador Java
Aula 1 - Seja um programador Java
 
Aula 1 pc - slides
Aula 1   pc - slidesAula 1   pc - slides
Aula 1 pc - slides
 
Desenvolvimento Web com Software Livre
Desenvolvimento Web com Software LivreDesenvolvimento Web com Software Livre
Desenvolvimento Web com Software Livre
 
Doctrine 2 camada de persistência para php
Doctrine 2   camada de persistência para phpDoctrine 2   camada de persistência para php
Doctrine 2 camada de persistência para php
 
Desvendando o mundo iOS
Desvendando o mundo iOSDesvendando o mundo iOS
Desvendando o mundo iOS
 
Web Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQLWeb Semântica e bancos de dados NoSQL
Web Semântica e bancos de dados NoSQL
 
MEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon MeetupMEO Cloud - Python Lisbon Meetup
MEO Cloud - Python Lisbon Meetup
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
Minicurso: O que o twitter está pensando? Extraindo informações do twitter ut...
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Java e Mercado de Trabalho
Java e Mercado de TrabalhoJava e Mercado de Trabalho
Java e Mercado de Trabalho
 
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
Elasticsearch: Motor de busca e além. Lições aprendidas criando Tu Próximo...
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
 
Aprensentacao oo-trincheiras
Aprensentacao oo-trincheirasAprensentacao oo-trincheiras
Aprensentacao oo-trincheiras
 

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

  • 1. Programação Hardcore Desenvolvimento antes da Web e do Mobile
  • 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.
  • 5. E AS INSTITUIÇÕES DE ENSINO TE PREPARAM PARA ESSE MERCADO DE TENDÊNCIAS.
  • 7. Onde estão os PROGRAMADORES HARDCORE? Mercado de Tendências
  • 8. Onde estão os PROGRAMADORES HARDCORE? Mercado de Meio Tendências Acadêmico
  • 9. Onde estão os PROGRAMADORES HARDCORE? Mercado de Meio Concurso Tendências Acadêmico Público
  • 10. Quem são esses caras?
  • 11. Quem são esses caras? Steve Jobs
  • 12. Quem são esses caras? Steve Jobs Dag Kittlaus
  • 13. Quem são esses caras? Steve Jobs Mark Zuckerberg Dag Kittlaus
  • 14. Quem são esses caras? Steve Jobs Mark Zuckerberg Dag Kittlaus Avinash Lakshman
  • 18. Com o que os Programadores HARDCORE trabalham?
  • 19. Com o que os Programadores HARDCORE trabalham? Qualquer coisa! Linguagem / Tecnologia é Ferramenta!
  • 20. OCR em Documentos da Língua Portuguesa com Baixa Nitidez
  • 21. OCR em Documentos da Língua Portuguesa com Baixa Nitidez • Problema:
  • 22. OCR em Documentos da Língua Portuguesa com Baixa Nitidez • Problema: • Dificuldade de se obter bons resultados no reconhecimento de imagens de documentos com baixa qualidade.
  • 23. OCR em Documentos da Língua Portuguesa 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. OCR em Documentos da Língua Portuguesa 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. OCR em Documentos da Língua Portuguesa 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. OCR em Documentos da Língua Portuguesa 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. OCR em Documentos da Língua Portuguesa 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. OCR em Documentos da Língua Portuguesa 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. OCR em Documentos da Língua Portuguesa 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. OCR em Documentos da Língua Portuguesa 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. Extração de Texto de Documentos desestruturados
  • 32. Extração de Texto de Documentos desestruturados • Problema:
  • 33. Extração de Texto de Documentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados.
  • 34. Extração de Texto de Documentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados. • Textos com baixa qualidade
  • 35. Extração de Texto de Documentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados. • Textos com baixa qualidade • Performance de processamento
  • 36. Extração de Texto de Documentos desestruturados • Problema: • Extrair e organizar informações de textos não-estruturados. • Textos com baixa qualidade • Performance de processamento • Tecnologia:
  • 37. Extração de Texto de Documentos 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. Extração de Texto de Documentos 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. Extração de Texto de Documentos 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. Extração de Texto de Documentos 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. Extração de Texto de Documentos 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)
  • 43. Manipulação de arquivos digitais • Problema:
  • 44. Manipulação de arquivos digitais • Problema: • Entrada de arquivos de texto em diferentes formatos e layouts
  • 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. 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. 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. 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. 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. 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. 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. Processamento de Imagens
  • 53. Processamento de Imagens • Problema:
  • 54. Processamento de Imagens • Problema: • Manipulação de mais 50.000 arquivos por dia
  • 55. Processamento de Imagens • Problema: • Manipulação de mais 50.000 arquivos por dia • Binarização de imagens de todas essas imagens
  • 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. 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. 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. 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. 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)
  • 62. Contribuição com projetos open-source Graphics Magick Jarvis
  • 63. Contribuição com projetos open-source Graphics Magick Jarvis • Problema: • Desempenho da binarização de imagens
  • 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. 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. 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. 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.
  • 69. Infra-estrutura • Situação:
  • 70. Infra-estrutura • Situação: • Mais de 25 servidores para gerenciar
  • 71. Infra-estrutura • Situação: • Mais de 25 servidores para gerenciar • Aproximadamente 30 TB de dados
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Dúvidas? Contatos • @focezar • @gendocbr • fernando@gendoc.com.br

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n