Jump to content
Fórum Script Brasil
  • 0

[Desenvolvimento] Novo compactador


Marcelo Utikawa da Fonseca
 Share

Question

Olá a todos!

Já faz um bom tempo que eu tenho uma idéia de um compactador diferente mas nunca tive tempo / motivação para desenvolver. Agora resolvi postar aqui para compartilhar a idéia e quem sabe alguém resolver ajudar ou ao menos incentivar o desenvolvimento...

Eu já vi por cima alguns algoritmos de compactação/descompatação e acredito que há uma forma melhor de se trabalhar. Pelo que eu já vi o normal é, a partir dos dados do arquivo, se identificarem os padrões dos dados, montar as tabelas e criar referências a estes padrões internamente. Assim o arquivo final inclui essa sequência de padrões (ou ao menos a forma de criá-los com os dados) além do restante dos dados.

O que eu imagino é o seguinte: ao invés de o arquivo carregar os dados e estruturas de compactação, poderíamos ter os dados fora do arquivo. Os padrões fariam parte do programa em si. O arquivo compactado, dessa forma, não conteria os dados originais. Ele seria, em uma forma bem simples de se descrever, uma "receita" indicando como montar o arquivo final a partir dos padrões existentes no compactador.

Ou seja: ao invés de o compactador possuir apenas o programa em si, passaria a ter diversas sequências de dados. Isso tornaria o programa bem maior, algo como 100 MB, por exemplo. Mas nos tempos atuais, com boas conexões de internet, acho que não seria um problema.

Além disso, de acordo com o uso, poderiam ser desenvolvidas novas sequências de dados. A atualização poderia ser pela internet, como ocorre com os antivírus, por exemplo. Assim existiriam os padrões específicos para o arquivo sendo compactado, como uma imagem .jpg, um vídeo em flv, um executável...

E então, o que acham disso?

Sugestões? Críticas? Tudo é bem-vindo! :rolleyes:

Abraços,

Marcelo Utikawa da Fonseca

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0
Se precisar de ajuda, eu posso ajudar em tudo que eu tiver o conhecimento.

Ótimo! Vou usar este tópico para dar detalhes de como está a idéia e querendo ajudar é só falar!

Nunca usei, mas já ouvi falar e não vejo problema. Será feito em C ou C++?

Por mim pode ser qualquer um deles. Não planejei nada ainda, só lancei a idéia para saber as opiniões, se alguém via algum problema que eu não houvesse imaginado.

Vou criar o projeto no github então. Lá poderemos discutir sobre como será feito.

A minha idéia é usar o Eclipse como IDE padrão pois é a em que eu trabalho. A vantagem de todos usarem a mesma IDE é poder compartilhar configurações do projeto, simplificando para que outras pessoas possam trabalhar no código pois o projeto já estaria no github, não apenas o código.

Como das outras vezes, aberto a críticas e sugestões! :)

Link to comment
Share on other sites

  • 0

Eu preferiria em C++, pois é a linguagem que tenho mais facilidade. No entanto, se necessário, posso me adaptar. Quanto ao Eclipse, irei baixa-lo o mais rápido possível.

Sobre o projeto, tem algum algoritmo de base?

Link to comment
Share on other sites

  • 0

Não tenho nada... Apenas a idéia! :)

Eu já pensei em como seria o formato do arquivo e algumas outras coisas... Mas tudo precisa ser feitodo zero mesmo!

A única base em si poderia ser algum algoritmo para identificar os padrões nos arquivos.

Eu criei o projeto no github. Procure por utikawa/pba

Abraços,

Marcelo Utikawa da Fonseca

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.8k
    • Total Posts
      648.7k
×
×
  • Create New...