Pesquisar

segunda-feira, 29 de março de 2010

Freelancer Java - Tive bons resultados.

Freelancer Java

De acordo com a Wikipedia: "Freelancer é o termo inglês para denominar o profissional autônomo, que se auto-emprega em diferentes empresas ou, ainda, guia seus trabalhos por projetos, captando e atendendo seus clientes de forma independente. É uma tendência muito em voga no mercado de jornalismo, design, propaganda, web, tecnologia da informação, música e muitos outros."
Há - muito - tempo atrás li um post interessantíssimo denominado o guia de guerra para freelancers. E eu também tentei me aventurar pelo mundo dos serviços de freelancer java. Até que me posicione bem no google, se você pesquisar "trabalho freelancer java" no google, meu blog aparecerá no fim da primeira página ou no inicio da segunda, claro (quase) todos os créditos aos trabalhos que obtive foram vindos do google. Para minha surpresa tive alguns contatos bem rápidos e um ponto interessante foi que a maioria deles não moravam próximo a mim. Todo trabalho desenvolvido (para os clientes) foi baseado na confiança e a comunicação basicamente foi por emails. Dá pra ganhar uma graninha extra com disciplina e responsabilidade. =D

terça-feira, 9 de março de 2010

boasPraticas.add deploy, tdd, ddd

Recebi a visita de um super amigo das antigas (leia-se VB.NET), eu tinha que entegrar um simples gerenciador de conteúdo e meu amigo me acompanhou e ficou questionando sobre por que eu fazia assim, usava aquilo, não fazia isso... no fim ele disse que precisava de desenvolver com mais qualidade, controle e facilidade. Ele ainda me pediu uma lista de livros pra ler e quais praticas eu usava, naquele momento começei a falar tanta coisa, ferramenta, framework, metodo... que ele mesmo disse "escreva uma lista dessas boas práticas"! E aqui estou eu, vou tentar apenas listar os tópicos e os links que acho interessante.

Não reivente a roda - quase sempre há uma common pronta, então quando surgir uma necessidade pesquise antes sobre o assunto. Tive uma péssima experiência com um agendador de tarefas (que eu criei) em Java, tudo isso porque não conhecia o Quartz.
Melhore seu design OO - por mais que pareça esgotado esse assunto, ainda há pessoas que não compreendaram assuntos básicos, esse tópico (sobre OO) não dá pra ser resolvido com uns poucos links mas se eu pudesse indicar um site seria o do Philip Calçado. PS: outras boas práticas abaixo listadas podem lhe ajudar também num design mais charmoso.
TDD - uma ótima prática que pode lhe livrar de dores de cabeças infernais. No inicio pode parecer perda de tempo mas com tempo você vai ver o valor de usar Test Driven Development.
Logging - não há nada mais chato do que ler grandes arquivos de logging não é mesmo?! Há sim, debugar! :P então: prefira Logar do que Degubar! Pode começar lendo um tutorial de log4j.
Deploy - Automatizar suas construções e criar um processo de deploy continuo :)
Boas práticas com JPA - às vezes passamos raiva só por desconhecimento (profundo) de um certo recurso do framework. Logo digo leia esse ótimo post sobre os bons habitos de usar JPA.
Integração continua - Leia o post de Integração continua ahhh outra dica automatize tudo o possível.
Aprenda outra linguagem - Sua cabeça pode se tornar viciada numa linguagem só e isso pode lhe privar de conhecer ou melhor entender como outros organismos funcionam. Além do mais é divertido aprender Ruby e ver como as pessoas resolvem problemas de maneiras tão distintas.
Comunidade - Nem só de código fonte a comunidade open-source se alimenta, usar forums para aprender e ensinar é algo muito valioso.
Outros bons livros :)

Tudo isso pode parecer plágio de um grande blog de ótimo desenvolvedores, mas não é :) Juro!

terça-feira, 23 de fevereiro de 2010

Como usar JavaScript na plataforma Java

Em minha mente o assunto scripting na plataforma Java já estava bem explorado e difundido. Mas hoje fui supreendido por um amigo com um mini-framework que servia de analisador e parser para simples fórmulas matemáticas como p.ex:
2+2-1*3/3
(2+2)*10

Usando Java 6 basta esse simples código.

ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
try {
String script = " 10 + 2 * 2 "; //ou sua expressão
Object result = engine.eval(script);
System.out.println(result);
} catch (ScriptException ex) {
System.out.println("deu erro :P "+ex);
}

sábado, 13 de fevereiro de 2010

JTableAnnotations - Um jeito mais simples de criar JTable

JTableAnnotations
Há algum tempo atrás escrevi um mini-framework para criação de JTable por anotação. Talvez esse pedaço de código possa lhe servir, criar JTable sempre é uma tarefa chata e tediosa (e para alguns dificil). O JTableAnnotations propõe uma simplificação no processo de configuração e preenchimento das tabelas.

Basicamente você precisará anotar suas entidades

@JTableConfiguration(rowHeight=48)
public class Product {
@JTableColumnConfiguration(order=1,width=55)
private Long id;
@JTableColumnConfiguration(order=2,width=300,editable=true,align=Align.CENTER)
private String name;
@JTableColumnConfiguration(order=3,name="Price",decimalFormat="U$ 0.00")
private BigDecimal value;
@JTableColumnConfiguration(order=4,name="Costumer Name",width=300)
private Customer customer;
@JTableColumnConfiguration(order=0,name="Photo",cellRender=IconCellRender.class)
private String picturePath;

E então o trabalho de configurar e popular fica a cargo da classe Configurator:

Customer master = new Customer();
master.setName("Master");
master.setUserName("Admin");
list = new ArrayList();
list.add(
createProduct(
master, 0L,
"Nintendo Wii",
"pictures/wii.jpg",
new BigDecimal(999.50)));
list.add(
createProduct(
master, 1L,
"XBox360",
"pictures/xbox360.jpg",
new BigDecimal(1020.85)));
list.add(
createProduct(
master, 2L,
"PS3",
"pictures/ps3.jpg",
new BigDecimal(1000.0)));
list.add(
createProduct(
master, 3L,
"PSP",
"pictures/psp.jpg",
new BigDecimal(490.0)));
list.add(
createProduct(
master, 4L,
"Nintendo DS",
"pictures/nds.jpg",
new BigDecimal(359.59015)));
new Configurator().configureAndPopulateJTable(jTable, list);
E voilá!
(odeio essa resolução do blogspot)
[Clique aqui para ver a figura abaixo]

Mais informações na página do projeto http://code.google.com/p/jtableannotations/

quarta-feira, 27 de janeiro de 2010

Vagas Agile Funny - OFF

Com o título Vagas na Fibonacci Soluções Agéis - foi um anuncio feito pelo GOJava (legal) veja:

Requisitos:

Imprescindíveis:

- Gostar muito de programação
- Não achar que a carreira ideal é aquela em que você começa como programador, é "promovido" para analista e um dia se torna gerente de "sua própria equipe"
- Preferir trabalhar em uma equipe auto-gerenciável
- Não acreditar que uma única tecnologia é a solução para todos os problemas, mas sim que existe a ferramenta correta para cada trabalho
- Ser bom em google-fu

Desejáveis

- Experiência/conhecimento em Desenvolvimento Orientado a Testes, Desenvolvimento para Web, Arquitetura de Software, Desenvolvimento Orientado a Objetos, Metodologias Ágeis
- Saber jogar truco
- Ser ala-direita ou centro-avante no futebol (precisamos completar o time)
- Gostar de video-game

Benefícios:

- Os tradicionais vale-transporte e plano de saúde
- Uma cozinha com lanche disponível o tempo todo e dois horários de lanche por dia (de manhã e de tarde)
- Não ter chefe, porque aqui não é nenhuma tribo.
- Você nunca vai ter que explicar seu trabalho nem vai ser avaliado com base em um Diagrama de Gantt


Quem derá as empresas tivessem um pouco mais desse espírito.
PS: não trabalho, não conheço nada nem ninguém da empresa.

quarta-feira, 23 de dezembro de 2009

Jpcsp - v0.4 lançado - Castelvania Dracula X Chronicles

JPCSP - O emulador do PSP feito em Java

A muito tempo não dou mais nenhuma contribuição no projeto Jpcsp mas não deixo de acompanhar o progresso do projeto. (Pra quem não sabe o que é o Jpcsp!) A última notícia foi mesmo um presente de natal, a versão 0.4 do Jpcsp foi lançada e já está disponível para download.

Sinto um pouco de orgulho por ter conseguido participar, efetivamente, e realizar um dos meus sonhos de moleque. (Criar um emulador :) )... agora deixando de conversa fiada segue alguns screenshots!

Castlevania - Dracula X Chronicles


Heatseeker


God of war (In menu)



Feliz Natal! ho ho ho - Veja mais notícias do Jpcsp ou os meus posts antigos sobre Jpcsp.