By Edgar Silva, on August 30th, 2006%
Leiam a dica de como fazer isto aqui [inglês]
By Edgar Silva, on August 30th, 2006%
Há 2 dias comecei um projeto que o code-nome ainda é GBrails (Greenbox On Rails).
A inspiração/metáfora vem do RubyOnRails, que é uma ferramente bem produtiva, apesar de alguns problemas de deployment.
Vários, eu disse váaaaarios usuários questionam, as razões pelas quais o Greenbox roda tao “plugado” no Netbeans, há vários motivos, mas este questionamento comecou aqui mesmo na empresa, onde há pessoas que usam o InteliJ IDEA e o Eclipse.
Havia um projeto de um desenvolvedor do Greenbox de tornár o que há para o NetBeans, real para o Eclipse, infelizmente o foco dele teve que ser um pouco diferente.
Bom, resolvi então criar algumas coisas para o mundo Eclipse, pelo menos montar uma forma simples de usar o Greenbox, dentro desta IDE.
Greenbox OnRails - Requisitos
1 - Usuário faz o Download de zip ou tar.gz
2 - Decompacata numa pasta por exemplo /opt/java/gbrails
3 - A estrutura desta pasta deve ser:
-build.xml
-build.properties
-web [arquivos app web ]
-src [arquivos fonte ]
-lib [bibliotecas (*.jar)]
-gb.sh ou gb.bat [utiliário shellscript e cmd(win)]
-structure [ pasta contendo a estrutura do projeto com arquitetura JSF+Spring+hibernate]
-projects [pasta com o projeto com build.xml, libs, src, xmls e etc de base para projetos novos, use a como workspace no eclipse]
4 - Criando um projeto:
./gb.sh create-project locadora =>Resultado: Deve criar uma pasta com nome locadora na pasta projects
5 - Na pasta project/locadora/src/app/ crie uma classe chamada TipoPagamento.java, e copie o seguinte código:
@Greenbox(tableName="tipo_conta")
public class TipoConta {
@GreenboxField(primaryKey="yes",columnName="codigo",label="Codigo")
public Integer codigoConta;
@GreenboxField(columnName="nome",label="Nome da Conta") public String nomeConta;
6 - Agora execute ant gb-generate no seu projeto Eclipse
7 - Verifique Sources Gerados.
Basicamente, estes sao os passos do GBRails.
Basicamente o que fiz foi criar uma nova Task Ant que descente de Javac, e processar as anotacoes dentro desta task, executando os parsers dos templates velocity. O resultado está satisfatório. Uma feature que devo implementar, é um controle de comparacao, para have restrições para evitar geração duplicadas, como NAO acontece na task Javac, devido a um método especial da mesma[1].
Registrando mais uma vez, que quem quiser receber o beta para realizar testes, basta enviar um e-mail para edgar (em) summa-tech.com , que disponibilizarei um endereco para baixar esse EARLY-ACCESS, cheio de bugs para que vocês ajudem e colaborem com um projeto que pode BENEFICIAR bastante voces.
[]’s
Edgar
[1] protected void scanDir(File srcDir, File destDir, String[] files)
By Edgar Silva, on August 25th, 2006%
Como as traduções para esse texto são péssimas, aqui a orginal:
- Chuck Norris serializes objects straight into human skulls.
- Chuck Norris doesn’t deploy web applications, he roundhouse kicks them into the server.
- Chuck Norris always uses his own design patterns, and his favorite is the Roundhouse Kick.
- Chuck Norris could use anything in java.util.* to kill you, including the javadocs.
- Chuck Norris can hit you so hard your web app will turn into a swing application, and a very bad swing application containing lots of icons of human skulls.
- Chuck Norris demonstrated the meaning of Float.POSITIVE_INFINITY by counting to it, twice.
- A synchronize doesn’t protect against Chuck Norris, if he wants the object, he takes it.
- Chuck Norris doesn’t use javac, he codes java by using a binary editor on the class files.
- Chuck Norris’ java code never needs to be optimized. His code is so fast that it broke the speed of light during a test run in Sun’s labs killing 37 people.
- When someone attempts to use one of Chuck Norris’ deprecated methods, they automatically get a roundhouse kick to the face at compile time.
- The java.lang package originally contained a ChuckNorris class, but it punched its way out the package during a design review and roundhouse kicked Bill Joy in the face.
- Chuck Norris never has a bug in his code, EVER!
- Chuck Norris doesn’t write code. He stares at a computer screen until he gets the progam he wants.
- Code runs faster when Chuck Norris watches it.
- Chuck Norris’ binary edited classes ignore Java bytecode verifier.
- Chuck Norris methods doesn’t catch exceptions becuase no one has the guts to throw any at them.
- Chuck Norris will cast a value to any type just by staring at it.
- If you get a ChuckNorrisException you’ll probably die.
- Chuck Norris is the only one who can use goto and const in Java.
- Chuck Norris can compile Java code in .NET Framework, obviously just by staring at it.
- Chuck dont need to catch an Exception because Java is afraid of the “flying tornado kick” at the moment it throws
- Chuck Norris’s code can roundhouse kick all other Java Objects’ privates
- Java visibility levels are public, default, protected, private and “protected by Chuck Norris”, don’t try to access a field with this last modifier!!
- Chuck Norris eats JavaBeans and Roundhouse Kicks JavaServer Faces!
- Chuck Norris can divide by 0!
- Garbage collector only runs on Chuck Norris code to collect the bodies.
- Chuck Norris code uses agressive heap natively
- Every single line code of Chuck Norris runs in real time. Even in a multi threading application.
- When a CPU load a Chuck Norris class file, it doubles the speed.
- Chuck Norris can execute 64bit lenght instructions in a 32bit CPU.
- Chuck Norris implements “Indestructible”. All the other creatures implements “Killable”.
- Chuck Norris only program Java web applications to get a .WAR in the end.
- Chuck Norris once roundhouse kicked a Java class very hard. The result is known as a inner class.
- Chuck Norris can do multiple inheritance in Java.
- JVM never throws exceptions to Chuck Norris, not anymore. 753 killed Sun engineers is enough.
- Chuck Norris doesn’t need unit tests because his code always work. ALWAYS.
- Chuck Norris workstation has so memory and it’s so powerful that he could run all java applications in the world and get 2% of resources usage.
- Chuck Norris codes generics since 1.3.
- Chuck Norris’ classes can’t be decompiled… don’t bother trying.
By Edgar Silva, on August 25th, 2006%
No último JavaOne (2006), várias pessoas me perguntavam:
É verdade que quase tudo no Brasil é Gratuito e OpenSource ?
A resposta quase sempre era: “Sim e as empresas estão convergindo para essa realidade, tanto que venda de produtos hoje no Brasil é uma tarefa ardua e difícil”.
Os jargões ManagedOpenSource ou OpenSource 2.0, servem para muitas empresas justificarem o empacotamento destas soluções e ganharem com serviços. Isso é errado? No meu ponto de vista Não.
Ora Edgar, então o que é errado então na sua visão?
Não vejo nada como muito errado, mas uma coisa que é super estranha é capturar vários projetos OpenSource, juntar num NOVO produto, e esse produto ser completamente fechado, vendido e pior: Super Caro! 
Pegando um caso como a Summa Technologies, ela possui um framework de produtividade focado em cenários corporativos chamado: Genesis, o qual usa uma séria de frameworks OpenSource, entre eles:
- AspectWerkz
- Jakarta Commons
- XDoclet
- Ant
- Thinlet
- BCEL
- CODEC e vários outros
Sendo assim, nada mais justo que o Genesis seja também OPEN SOURCE.
Caso tão ruim quanto vender, são os FORKS, isso acontece quando você pega um projeto, altera, melhora em seu benefício, e nem ao menos pergunta para os commtters se alguma de suas melhorias podem ser devolvidas a árvore principal. Também a quebra de compatibilidade é uma forma de Fork, ou seja, alterando classes base, impedindo que co-exista com a versão “original” do projeto.
Atuando como desenvolvedor do Greenbox, eu já passei por situações super complicadas umas 3 vezes no Brasil, com FORKS absurdos, e pior, alguns deles EFETIVAMENTE, muito bons, porém muito longe do CVS do projeto, não prejudicando, mas também não ajudando uma porção de pessoas e empresas na comunidade.
Tenho que terminar urgentemente o módulo que suporta relacionamentos no Greenbox, pois isso vai pertmitir novas arquiteturas, entre elas:
- JBoss Seam
- Wicket + Spring + Hibernate
- Genesis + JSF
A mensagem final é: Ganhe o máximo de $$$ que puderes com OpenSource, mas não esqueça dos princípios básicos, que não é ser comunista, mas tentar ajudar, tentar contribuir de alguma forma, seja com testes, documentações, samples, qualquer forma de ajudar é sempre válida! É sempre mais bonito, cortez poder jogar limpo com os desenvolvedores, comunidade e mercado em geral! Pense nisto!
By Edgar Silva, on August 4th, 2006%
Depois de exatos 4 anos, eu voltarei a Morar em São Paulo, decidimos hoje, então, os amigos que quiserem visitar Porto Alegre…Agora ferrou! Mas espero por aqui pela terrinha da “garoa”.
[]’s
Ed
|
|
|