O documento discute tópicos relacionados à programação hardcore, incluindo:
- Onde estão os programadores hardcore e como eles trabalham com qualquer linguagem ou tecnologia;
- Exemplos de programadores hardcore como Steve Jobs e Mark Zuckerberg.
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.
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)
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)
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
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)
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.
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)