• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Betovsky

[Closed Source] HAstronomyDomine

13 mensagens neste tópico

Título do Projecto: HAstronomyDomine

Última Versão: N/A

Líder do projecto: Betovsky

Descrição do Projecto:

HAstronomyDomine visa ser uma aplicação para analisar interactivamente o espaço ocupado em disco.

A aplicação irá receber como argumento um directório a analisar e após a sua completa análise (sendo recursiva) irá gerar uma espécie de gráfico que irá demonstrar a ocupação nesse directório. O utilizador poderá interagir com o gráfico para poder obter mais detalhes.

Exemplificação:

O utilizador resolve analizar a pasta A. Após a análise a aplicação indica que a pasta a pasta A ocupa X bytes (MB, GB, etc). A pasta A irá ser um gráfico que por exemplo indica que 40% do espaço é devido à pasta B, 20% à pasta C, 5% à pasta D, 5% à pasta E e o restante em ficheiros. O utilizador poderá então clicar na pasta B e então irá ser visualizado um novo gráfico mas agora relativo à pasta B em vez da pasta A. E assim por adiante permitindo ao utilizador subir ou descer na árvore de directórios tendo o directório dado inicialmente como a raiz.

A parte de análise dos directórios já está feita, é simples  :D

Agora estou a pensar em como representar os gráficos, talvez por como um rectângulo ou círculo e cada sub-directório irá ser uma parcela do rectângulo/circulo em que a sua área irá ser proporcional ao tamanho que ocupa.

Estou numa primeira fase, a planear a geração do grafismo em OpenGL e depois numa versão futura gerar antes (ou então à escolha do utilizador) um ficheiro SVG.

Espero por volta do fim-de-semana ter já pronto uma versão simplificada do projecto. Entretanto são bem-vindas sugestões de novas funcionalidades na aplicação.  :ipool:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

humm... parece interessante, quando poderes mostrar uma screenzinha assim inicial agente agradece :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Men, so te digo uma coisa. O noem a primeira vista parecia que era um software de astronomia. :P

Cumps :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Queres algo deste género portanto?

printip1.th.jpg

Nice, é mesmo algo tipo isso.

Excepto de haver a lista à esquerda para uma pessoa interagir e ver os detalhes. Estava a pensar era interagir directamente com o gráfico.

Esse gráfico é estático ou também dá para interagir?

Tipo, uma pessoa poder clicar na "fatia" Pedro e o gráfico passar a mostrar os detalhes disso.

A ideia final é mesmo criar um SVG, é a principal razão da aplicação (apeteceu-me aprender SVG). Simplesmente vai haver um passo intermédio que será em OpenGL já que me parece mais fácil.

Em relação ao nome é simples. Não sabia o que chamar portanto segui o raciocínio lógico

Espaço (de Disco) -> Space Rock -> Astronomy Domine (Pink Floyd)  :)

O 'H' no inicio veio por arrasto, devido estar a fazer em Haskell. O que encaixava fixe já que Astronomy começa por um 'A'  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim tu se carregares na pasta ela abre e analisa essa pasta :)

Anyway saca o live-cd de ubuntu e vê por ti mesmo :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Yay, já está pronta a primeira versão  :biggrin:

Ainda está muito rudimentar. O que já faz:

  • Analisa completamente os directórios
  • Desenha um círculo a representar um directório. Cada fatia desse círculo representa um sub-directório. O tamanho da fatia é proporcional ao tamanho do sub-directório em relação ao pai.
  • O directório para que se está a apontar com o rato é indicado no título da janela.
  • Completa navegação pelos directórios com o uso dos botões do rato.
    • Left-Click: Entra num sub-directório.
    • Right-Click: Volta para o directório pai.

Durante o testing descobri um bug. :P

Para ficheiros muito grandes (mais de 2 GB), o valor retornado do seu tamanho é negativo. É bug de uma das bibliotecas do compilador. Já o submeti, agora é esperar. Se demorar muito tempo, provavelmente pego e altero para se detectar um desses casos, abrir o ficheiro e contar o seu tamanho à mão. Queria evitar isso, já que o seu processamento seria bem mais lento...

Deixo aqui em anexo o código fonte para quem quiser experimentar. É em Haskell, por isso precisam do GHC (versão 6.6.1 de preferência). Em principio a aplicação é portável, mas só experimentei em Windows por isso não garanto. Precisam do GLUT (OpenGL) caso se ainda não tiverem.

Próximos passos.

  • Juntar a info do tamanho ao nome do directório quando este é mostrado
  • Não mostra a info no título da janela e passar antes para junto do gráfico
  • Permitir mostrar mais do que um nível de directórios e seus filhos.
  • Ficheiro de configuração de parâmetros da aplicação.

Como presumo que a maior parte do pessoal não tenha o GHC. Amanhã ponho umas imagens ou mesmo um vídeo a mostrar o seu funcionamento. Agora já faz tarde...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para primeira versão muito bom trabalho!

Agora tenta meter isso mais user-friendly, talvez com um GUI todo bonitinho.

Continua! :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Thx!

Em relação ao user-friendly isso fica para mais tarde, por enquanto vou pensando nas funcionalidades. Aliás como já referi antes o principal objectivo é gerar um SVG, portanto não estou muito a dar importância ao GUI. A primeira fase é desenvolver até ter um produto que ache em condições em termos funcionais e então passar para gerar o código para o SVG. Que acho bem mais útil, por exemplo, será possível fazer uma página web que na altura do request execute a aplicação e que embebe a imagem gerada na página permitindo ao utilizador pela internet analizar o espaço em disco de forma simpática ;)

Claro que depois quando chegar a essa fase, terei mais cuidado com o seu aspecto. Mas até lá, ainda vão demorar muito tempo, porque nem sempre posso pegar nisto...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Gostaria de ver uns screens uma vez que não posso executar a aplicação !

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Gostaria de ver uns screens uma vez que não posso executar a aplicação !

Não conseguiste ver o video?

Bem, eu amanhã posto aqui uma imagem, já que é sempre igual o que muda é o directório que se está a analisar.

halh1.th.jpg

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites