| Autor |
Mensagem |
|
|
Fox McCloud wrote:Uma outra idéia, se o seu professor não quiser que você use recursos prontos, ou se você quiser conhecer outras possibilidades...
Use uma estrutura de dados do tipo PILHA (LIFO - last in first out). Você pode usar algo pronto ou criar um objeto pilha que utiliza um vetor de cinco posições e tem os métodos push() (inserir) e pop() (remover).
Vá pegando cada caractere do String (do 1º ao último) e inserindo um por um na pilha.
Se podemos complicar, pra que simplificar?
|
 |
|
|
O caractere da posição i deve ser igual ao da posição length - i, para todo i.
Pense um pouco e tente fazer com essa idéia antes de ver o código pronto
|
 |
|
|
Bom...minha experiência é só com AspectJ e alguns sistemas acadêmicos que nem valem a pena comentar.
Mas o problema de usar AspectJ é que o AJDT ainda está muito ruim; na lista de discussão de AJ grande parte das dúvidas e reclamações são quanto a bugs bizarros e absurdos do AJDT (do tipo não mostrar mensagens de erro de compilação a não ser que você converta o projeto pra Java e depois de volta pra AspectJ).
Além disso, a sintaxe herdada do AspectWerkz pra AOP escrito só em Java (sem extensão de linguagem) é péssima...um exemplo:
vira, na notação com anotações (putz)
Como load-time weaving não depende dessa sintaxe, eu a acho totalmente desnecessária...mas parece que muita gente na comunidade de desenvolvedores prefere a sintaxe com anotações por ser "Java puro"...
|
 |
|
|
Fabrício Cozer Martins wrote:
Massa!
Como você tratou a opção de Load-time weaving ?
O weaver usado nos dois é o mesmo...a diferença é que o estático salva as classes modificadas em arquivos class, e o dinâmico é integrado a um class loader pra fazer tudo em memória durante o carregamento das classes.
Mas cuidado pq AspectJ não tem "run-time" weaving diretamente; o weaving é feito no carregamento de classes -- não tem jeito de remover ou adicionar aspectos com o programa em execução como em alguns outros sistemas.
[]'s
|
 |
|
|
Meu trabalho no mestrado é sobre otimizações do código gerado por compiladores AspectJ
Como um teste inicial eu usei AspectJ pra implementar minha otimização no código-fonte do weaver do ajc... ficou fácil
PS.: o código-fonte do ajc é a besta do apocalipse...
|
 |
|
|
O livro do Laddad é muito bom tb:
AspectJ in Action
|
 |
|
|
AOP resolve muitos problemas enjoados de OO de forma simples, simples...tem aspectos pequenininhos que parecem mágica.
Acho que AspectJ em si deve acabar pegando, mas talvez daqui a uns 8-10 anos (Java foi criado em 95 e o boom demorou bastante). Mas pelo menos a formalização de um ambiente executável de AOP ajudou a todo mundo enxergar que a idéia é bacana, e agora muitos frameworks implementam algum nível de AOP, como o WebWork, com seus interceptors, por exemplo.
O maior problema de AspectJ, na minha opinião, é a sintaxe. Algumas coisas ficam bem difíceis de serem lidas depois de escritas. Em termos de eficiência, tem melhorado bastante nas últimas versões, com novas técnicas de weaving e tal.
Ah é, e como o lipe falou do AJDT: não use AOP sem uma boa ferramenta...só vai te dar dor de cabeça
|
 |
|
|
Notícia:
INFOOnline wrote: Por incrível que pareça, a Microsoft está com dificuldade de encontrar profissionais para prencher vagas de engenheiro de desenvolvimento de software e de engenheiro de suporte técnico.
Fonte:
http://info.abril.com.br/aberto/infonews/042006/10042006-13.shl
O mais interessante: fiquei curioso e fui olhar as vagas no site da Microsoft. Dêem uma olhada nos requisitos para a vaga "Software Developer Engineering":
Microsoft wrote:We are looking for skilled developers with
· solid C#, Java or X++ experience
· a passion about technology, desiring to make products with high quality
...
A Microsoft procura profissionais com conhecimentos sólidos em Java!
http://members.microsoft.com/careers/international/default.asp?lang=EN&loc=BRA
PS.: por favor, o que é X++? Erro de digitação do RH, que devia ser C++, ou alguma tecnologia que eu não conheço?
|
 |
|
|
Bom, como herança múltipla, como implementada em C++, é coisa do lado negro da força, criaram interfaces em Java para permitir um mecanismo similar, mas sem as características que tornaram esse conceito tão famigerado (acabei de ver um filme francês, desculpem o português prolixo )
Mas interfaces definem...bem...interfaces...quer dizer...uma interface define um modo de interagir com um objeto...por exemplo, se um objeto é comparável (Comparable), todo mundo sabe que ele tem um método compareTo, e sabe como esse método funciona e o que ele deve retornar.
Quanto a quando utilizá-las, acho que o resto do pessoal tem mais experiência em projetos maiores e pode te ajudar melhor
|
 |
|
|
Como String implementa a interface Comparable, você vai fazer
Lembrando a bronca do cv, prefira ArrayList, que tem a mesma interface e desempenho melhor, ok?
|
 |
|
|
Dê uma segunda olhada na mensagem, você vai ver que o Eclipse não tentou compilar, e o erro que ele mostrou foi na execução; ele acusou
Eclipse wrote:Unresolved compilation problem
ou seja, "erro de compilação não-resolvido". O erro que ele dá antes da compilação, no próprio editor, é o mesmo do javac (coloque o mouse sobre o sublinhado vermelho de erro e você vai ver a mensagem, ou vá na view Problems)
|
 |
|
|
Esse site tem uns artigos legaizinhos:
http://www.tableless.com.br/
|
 |
|
|
https://jogl.dev.java.net/
|
 |
|
|
Java Virtual Machine wrote:possible loss of precision
Ferramentas de idiomas Google wrote:perda possível da precisão
escordeiro, corrigindo o tradutor wrote:possível perda de precisão
|
 |
|
|
Por causa do "working-directory" onde sua aplicação é chamada (diretório onde o comando java é executado)
Pra experimentar com isso, faça o seguinte:
|
 |
|
|