RSS .92| RSS 2.0| ATOM 0.3
  • Home
  • Artigos
  • Publicações
  • Apresentações
  • Interviews
  • Livros
  • Contact
  • About
  • Dicas de estudo para se tornar um desenvolvedor web produtivo

    April 27th, 2009

    Um amigo meu me pediu umas dicas de estudo para se tornar um desenvolvedor web produtivo e com boa empregabilidade. O ideal para ele é ter como base a plataforma Java, mas sem ficar restrito a Java. Talvez isso possa ser útil para outras pessoas também, então colocarei as dicas a seguir.

    Framework web Java

    Considerando o critério empregabilidade, é fundamental conhecer razoavelmente Struts 1.x. Eu creio que poucos projetos hoje em dia sejam iniciados usando o Struts 1.x, mas a quantidade de aplicações em produção com esse framework é enorme, e durante um bom tempo essa realidade ainda se manterá.

    Depois do Struts 1.x, nenhum outro framework web Java conseguiu adoção semelhante, então é difícil recomendar uma opção mais moderna que garanta alguma coisa. É provável que a melhor opção “moderna” em termos de empregabilidade seja Java Server Faces, mas não me sinto bem em recomendar que ninguém estude JSF. Se alguém quer seguir na linha do JSF, eu recomendaria o JBoss Seam, do qual ouvi boas avaliações, mas nunca usei.

    Dos frameworks web Java mais recentes, o meu preferido é o Spring MVC 2.5.x. O importante da versão 2.5 em diante é que os controllers suportam anotações para configuração, em vez dos XMLs monstros que eram a opção anterior. A maioria dos frameworks web está seguindo numa abordagem RESTful de arquitetura, o que me agrada também. O Spring MVC é um dos que está fazendo isso, e com uma abordagem legal.

    Além disso, todos os componentes do Spring acabam te “seduzindo” a usar outros componentes dele, pela conveniência e pela qualidade dos mesmos. Então se você usar o Spring MVC, é muito provável que use a injeção de dependências, o controle transacional, talvez o web flow, entre outras coisas.

    Frameworks web da “nova geração”

    Qualquer desenvolvedor web hoje em dia TEM OBRIGAÇÃO de olhar pelo menos um entre Django, Grails e Ruby on Rails. O ideal mesmo é avaliar os três e ter um deles como opção principal. Eu já conheço legal o Grails e estou evoluindo rápido com o Django. Em algum momento esse ano eu dedicarei um bom tempo avaliando e fazendo algo relevante com Ruby on Rails também.

    Pode parecer que leva um tempo enorme para conhecer os 3, mas isso não é verdade. Os 3 são extremamente produtivos e têm muitas características semelhantes. Quando você começa a utilizar um deles já tendo experiência com outro, a curva de aprendizado fica muito rápida.

    Um aspecto muito legal do aprendizado desses frameworks da “nova geração” é que você tem contato com outras formas de fazer software (para quem tem um background Java), outras comunidades, e várias idéias interessantes que te farão um programador melhor em qualquer linguagem ou plataforma. Se você ainda não conhece nenhum dos 3, não perca mais tempo e escolha um para começar. E de preferência conheça os outros em seguida também :)

    HTML, CSS, Web Standards

    Estamos em 2009. Embora ainda vejamos muitos sites bisonhos que só funcionam com o IE, se você é um desenvolvedor que se preza você precisa conhecer bem HTML, CSS e os web standards. Na verdade, fazer o site funcionar no IE 6 por exemplo é secundário. Você precisa aprender primeiro a gerar HTML e CSS válido de acordo com as normas da W3C, que garantem padrões de qualidade e interoperabilidade entre browsers. Leia de cabo a rabo todos os tutoriais referentes a essas coisas no W3Schools. É muito rápido estudar por lá, e é uma ótima referência depois.

    Depois que você conhecer isso, um pouco de prática na escola norueguesa de software fará suas aplicações rodarem no IE 6 também :)

    Javascript

    Ainda há pessoas que escrevem javascript na unha, mas acho que elas são cada vez mais raras. Temos hoje uma oferta enorme de bibliotecas javascript para resolver todos os problemas comuns dos desenvolvedores web. Eu era um fiasco em javascript antes de conhecer o jQuery, mas há um bom tempo eu gosto MUITO de javascript, e minha produtividade no client-side melhorou absurdamente.

    O jQuery tem uma abordagem que eu acho excepcional. Temos 3 aspectos claramente distintos para tratar em uma página web: Estrutura (HTML), Estilo/Visual (CSS) e Comportamento (Javascript). Se você fizer tudo direitinho e usar o jQuery, essas 3 coisas ficam totalmente desamarradas.

    Você não precisará colocar nenhuma declaração de estilo na estrutura (leia-se: sem CSS inline). A definição do comportamento fica totalmente por fora da estrutura. A beleza do jQuery está em aplicar todo o comportamento da página de uma maneira não-intrusiva, e com uma abordagem muito limpa. Ah, e o javascript funcionará em todos os browsers sem você ter que tratar disso explicitamente. Um sonho, não é mesmo? :)

    Há várias outras opções, e não estou defendendo a idéia de que se use apenas uma. Eu uso o jQuery para tudo que posso, e até hoje não precisei de outra biblioteca, mas vá em frente e experimente algumas opções até encontrar o que lhe atender melhor.

    Plugins legais do Firefox

    Firebug

    Além do jQuery, outra descoberta que mudou minha opinião e gosto por client-side foi o Firebug. Ele ajuda MUUUUUITO na criação do HTML/CSS das páginas, pois você consegue inspecionar de forma fácil o conteúdo e o estilo, e aplicar mudanças imediatas sobre o que está vendo. Depois de acertar as coisas pelo Firebug, você simplesmente aplica as mudanças no HTML/CSS originais e continua implementando sua página. Além disso, ele te permite debugar javascript e analisar as requisições HTTP detalhadamente. Eu já o utilizo há pouco mais de 1 ano, e ele contribuiu muito para meu amadurecimento no client-side, e me dá muito mais produtividade.

    Web Developer

    Um companheiro freqüente do Firebug é o Web Developer. Ele te permite inspecionar detalhadamente uma porção de coisas na sua página, como informações de todas as imagens, todos os formulários, estilos, entre outras coisas. Além disso, permite a manipulação de cookies, valida HTML/CSS/Javascript, e tem muitas outras funcionalidades úteis. É indispensável para trabalhar com web, assim como o Firebug.

    Screengrab

    É muito comum termos que mostrar uma página para outras pessoas, e nem sempre elas têm acesso à nossa máquina. Para facilitar isso, podemos usar o Screengrab, que é semelhante a um Print Screen, mas salva o conteúdo completo da página como uma imagem. Isso é bem melhor do que o Print Screen, pois pega apenas a área útil da página (sem pegar barras do Firefox e barra de tarefas) e pega toda a área útil. As regiões da página que precisam ser “roladas” para visualização também são incluídas na imagem, o que é certamente o desejado.

    NoScript

    O NoScript é um plugin bem incômodo para uso em geral. Ele bloqueia a maioria dos javascripts e você precisa ficar liberando a execução de scripts toda hora. Quando não estou desenvolvendo eu sempre deixo ele desligado.

    Entretanto, para desenvolver ele ajuda em algumas situações. Por exemplo, você pode precisar desabilitar alguns scripts específicos da sua página para testar alguma coisa, ou testar se a página funciona sem scripts. Ou então você pode ter uma situação como uma recente minha.

    Eu tive que customizar um plugin do jQuery que faz algumas animações, e aí o HTML da página ficava mudando o tempo todo. Eu precisava customizar o HTML/CSS de vários “instantes” da animação, mas era impossível fazer isso com a animação rodando. Para resolver isso, eu usei o NoScript para interromper os scripts exatamente no trecho da animação que eu precisava mudar o HTML/CSS. Com isso, eu conseguia um HTML estático que eu podia mexer pelo Firebug, e consegui trabalhar tranqüilamente nas customizações que eu precisava fazer.

    Conclusão

    Deixei algumas opiniões e dicas sobre algumas coisas de desenvolvimento web, mas é óbvio que eu também tenho muita coisa a aprender. Se alguém discordar de alguma opinião minha ou quiser acrescentar sugestões, estejam convidados a participar :)  Além disso, se alguém tiver mais dicas de extensões do Firefox para desenvolvimento web, eu sempre estou interessado.


    Microsoft coloca o Office na Web

    November 16th, 2008

    Eu considero a Microsoft bem fraca em termos de atuação na Web, mas achei bem legal uma iniciativa recente deles.

    Foi anunciado recentemente o Microsoft Office Web. Embora não seja nada inovador, pois o Google Docs já existe há algum tempo, eu gostei dessa novidade. O serviço ainda não está disponível, mas um FAQ sobre ele já foi publicado.

    Achei interessante que o Office Web suportará o Firefox e o Safari além do IE. Além disso, usuários de qualquer sistema operacional poderão usar o serviço, contanto que tenham um dos browsers suportados. Quando eu soube que lançariam o Office Web, a primeira coisa que veio à minha cabeça foi que só funcionaria com o IE e que seria necessário instalar algum add-on que só funcionasse no Windows. Saber que isso não é verdade foi uma ótima surpresa.

    Eu utilizo com freqüência o Google Docs, e gosto muito da praticidade do serviço. A facilidade de compartilhar documentos e editá-los de forma simultânea é ótima. Desde que comecei a usar o Google Docs, eu raramente uso o Open Office ou Word. Praticamente só uso um dos 2 quando eu tenho que escrever alguma coisa com preocupações em relação a estilos e formatação. O Google Docs é bem limitado neste sentido, infelizmente.

    Com o Office Web, provavelmente o suporte a estilos e formatação será melhor que no Google Docs, e isto pode me estimular bastante a usá-lo e aposentar o OpenOffice e Word, e viver ainda mais na Web.

    Algumas conseqüências bacanas podem surgir deste novo serviço. A competição entre o Office Web e o Google Docs provavelmente trará muitos benefícios aos usuários finais, que deverão ter serviços web gratuitos e de ótima qualidade.

    Além disso, o Office Web fará a Microsoft sofrer um pouco com as incompatibilidades entre os browsers. Suportar as mesmas funcionalidades no IE, Firefox e Safari dará um certo trabalho. Talvez isso desperte uma iniciativa da Microsoft de consertar o IE, e fazer com que os desenvolvedores web em geral tenham menos trabalho com essas incompatibilidades.

    Se o Office Web trouxer essas 2 mudanças, terá sido uma das melhores iniciativas que a Microsoft já teve. Torço para que esse projeto ganhe força e que todos possamos usufruir dos benefícios :)


    Agriões, chuchus e maniçobas de software

    November 3rd, 2008

    Eu estava pensando hoje sobre coisas que já estudei em software e em possíveis formas de classificá-las, e acabei chegando em categorias um tanto peculiares :)

    Algumas coisas a gente estuda com um pouco de desânimo, sem tanto tesão. Sabemos que são coisas úteis e importantes, mas não muito prazerosas de estudar. Esta categoria eu vou chamar de Agrião. É meio amargo de digerir, mas é nutritivo e acaba fazendo bem.

    Estudos meus nesta categoria incluem a minha preparação para as provas SCJP e SCWCD, minha experiência com Ant e também meus estudos de Web Services WS-I. No período em que estudei essas coisas, não me diverti muito, mas elas me trouxeram conhecimentos úteis e importantes, e eu achei bastante válido o período que investi engulindo esses agriões :)

    Uma segunda categoria de conhecimentos é a que parece que te trará benefícios, mas no final das contas parece que o estudo foi uma perda de tempo. São semelhantes àqueles alimentos que não são muito gostosos, mas você supõe que devem fazer bem à saúde, para acabar se decepcionando ao saber que eles não te acrescentam em nada. São os perfeitos chuchus!

    Dentro desta categoria eu incluo a minha preparação para a prova de arquiteto Java (SCEA), a parte de custom taglibs da prova SCWCD e um período no qual eu estudei bastante sobre desenvolvimento para Palm OS. Não aprendi quase nada estudando pra SCEA, odiei estudar custom taglibs e nunca tive necessidade e nem vi sentido em escrever uma custom tag e o Palm OS está de mal a pior, e o que eu aprendi sobre ele nunca me foi útil.

    Uma terceira categoria classifica as coisas que inicialmente a gente não gosta da aparência. Temos uma certa rejeição inicial e ficamos um pouco afastados. Quando finalmente resolvemos enfrentar a feiura, descobrimos um valor enorme atrás daquele aspecto medonho, e nos perguntamos porque não havíamos dado uma chance àquilo antes. Esta é a categoria da Maniçoba! (Alerta: eu pessoalmente nunca comi Maniçoba, estou me baseando no relato de algumas pessoas com experiência no assunto… hehehe)

    Dentro desta categoria para mim estão Javascript, CSS e Maven. Até uns 2 anos atrás, eu não gostava de Javascript e CSS. Eu sempre achava um saco mexer com isso, e definitivamente não era muito produtivo. Claro que eu acabei vendo que isso era uma visão míope minha, e que Javascript e CSS além de muito úteis, são interessantes e divertidos depois que você pega a manha.

    Devo dizer que e jQuery e os plugins Web Developer e Firebug foram fundamentais para minha mudança de mentalidade. O poder e simplicidade dessas ferramentas me ajudaram a ver o poder de Javascript e CSS, e eu acabei me interessando cada vez mais por ambos, e hoje em dia eu gosto de mexer com isso.

    O Maven eu demorei séculos para estudar e conhecer. Eu tinha sempre uma certa resistência, porque eu já conhecia bem o Ant. E o Maven não é uma ferramenta óbvia de se utilizar. É necessário conhecer razoavelmente a idéia geral da coisa e os principais detalhes envolvidos. Caso contrário você se irritará demais e a sua experiência será péssima. Entretanto, depois de conhecê-lo, o Maven é extremamente poderoso e produtivo, e é uma ferramenta muito profissional que ajuda muito na construção de software componentizado.

    Um professor meu da faculdade dizia que SQL é muito fácil para coisas fáceis, e muito difícil para coisas complexas. Penso que o mesmo pode ser dito sobre o Maven. Entretanto, se você comparar o esforço de utilizá-lo com o esforço de fazer as coisas com o Ant, definitivamente vale a pena investir no Maven.

    E aí, quais são os seus Agriões, seus Chuchus e suas Maniçobas?? Você tem se alimentado bem ultimamente ou só tem ingerido porcarias??

    Bons profissionais de software precisam de uma dieta equilibrada de conhecimentos, então é importante saber selecionar o que você vai consumir, para que seu rendimento seja ótimo, e se possível, que o processo seja saboroso ;)


    Scribefire

    April 5th, 2008

    Ontem descobri o ScribeFire através do Bairos. O ScribeFire é um plugin do Firefox que oferece uma interface para publicação em blogs.
    Eu não gosto do editor visual do Wordpress. Ele possui uma área de escrita muito pequena, e é muito pesado. Escrever a minha página de livros nele foi horrível. Como a página é muito grande e cheia de imagens, ficava muito ruim navegar por ele.

    O ScribeFire já traz uma interface de publicação bem melhor, com a caixa de texto ajustável e com todas as funcionalidades do editor do Wordpress. O editor de texto traz todas as opções de formatação normalmente usadas. Dá pra preencher as categorias e tags do post, adicionar imagens e praticamente qualquer coisa que você pretenda fazer num post de blog. Eu gostei bem mais de escrever por ele e passarei a usá-lo sempre para publicar aqui no blog. Segue abaixo um screenshot da interface:

    ScribeFire

    Update: Depois que escrevi este post eu vi que o Wordpress atualizou a versão da sua engine nos blogs que hospeda, e meus motivos para reclamar do editor do Wordpress diminuíram muito. O editor de texto nesta versão 2.5 passou a ser ajustável, e dá até pra colocar em tela cheia. Além disso a interface melhorou um pouco a usabilidade. Já consigo usar legal o editor agora, mas também gostei do Scribefire. Acho que os posts sem imagens eu vou escrever no Scribefire e os com imagens eu escrevo no Wordpress, pois as opções ao inserir imagens são melhores neste.


    RESTFox update

    March 4th, 2008

    Após algumas conversas recentemente aqui na Globo, algumas pessoas se mostraram interessadas no RESTFox, pois facilitaria bastante os testes de nossas interfaces REST.

    Após alguma pesquisa e alguns testes, descobri que o Firefox suporta de fato os métodos HTTP PUT e HTTP DELETE. Eles não podem ser usados em formulários, entretanto. Se você tentar utilizar algum método diferente de GET e POST em um formulário, o browser converte a requisição para GET.

    Já o XmlHttpRequest suporta estes métodos, e o RESTFox certamente faria uso disto, e não de um formulário. Sabendo que a idéia é válida, tentarei em breve começar o desenvolvimento do plugin, e quando já tver algo concreto coloco aqui.


    RESTFox

    February 26th, 2008

    Eu tenho trabalhado bastante com web services REST ultimamente. Para testar meus serviços, a forma padrão que eu uso para testar é criar alguns testes unitários que montam as requisições e recebem as respostas com o commons-http-client.

    O commons-http-client é perfeito para testes unitários, e para uso por uma aplicação. Para testar manualmente, entretanto, eu gostaria de algo mais prático. Pensando um pouco nas características dos testes que eu faço, um plugin do Firefox seria a ferramenta perfeita. Eu precisaria criar requisições HTTP com qualquer método (além de GET e POST) e especificar o corpo da requisição (onde for o caso), assim como alguns headers também.

    O caso de uso principal deste plugin seria a criação de requisições GET, POST, PUT ou DELETE nas quais eu pudesse especificar os XMLs do corpo (aplicável apenas para POST e PUT) e pudesse conferir a resposta HTTP completa, incluindo todos os headers. Isso já seria uma facilidade enorme. Para refinar, deveria ser possível guardar alguns templates de XMLs de entrada. Um exemplo claro que me vem à cabeça é um template de XML no formato Atom, que poderia ser usado para requisições à Google Data API, entre diversos outros serviços que já utilizam o Atom como formato padrão de documentos.

    Eu dei uma procurada boa e não achei nenhum plugin que fizesse nem uma parte disso que eu quero. Caso vocês conheçam alguma ferramenta do gênero (mesmo que não seja plugin do Firefox) por favor me avisem. Se eu não descobrir nenhuma ferramenta que ofereça isso ao menos de forma parcial, pretendo desenvolver eu mesmo esse plugin para o Firefox. Eu ainda nem comecei a fazer nada desse plugin, mas já gosto do nome RESTFox. Vamos ver se sai algo bacana daí… eu nunca desenvolvi plugins para o Firefox, mas me parece que este será o primeiro :)


    Problemas com o CSS do Wordpress

    January 19th, 2008

    Algum tempo atrás eu fiz umas modificações no CSS do meu blog, pois não estava plenamente satisfeito com o mesmo. De uma maneira geral, havia apenas aumentado a largura do corpo da página e diminuído um pouco a largura da barra lateral do blog. A outra coisa que eu havia feito é justificar o texto dos posts.Após fazer estas modificações, achei que a disposição da página deixou a leitura mais agradável, mas em algumas máquinas o blog estava pesado no Firefox, a rolagem da página não estava leve. Eu não sabia o motivo disso, mas após diversos testes hoje pela manhã, removi apenas a opção de justificar o texto, e parece que o blog voltou ao normal, não está mais pesado no Firefox.

    Eu gostaria de ter o texto justificado, mas como isto estava trazendo problemas para a usabilidade no Firefox, prefiro abrir mão disso para melhorar a “experiência do usuário” (confesso, eu mesmo estava ficando irritado.. hehehehe) :) Aqui em casa o blog já está leve novamente, mas caso alguém perceba problemas com a rolagem da página, por favor me avise.


  • rheumatoid arthritis medications
  • medicine for pets
  • natural treatments for insomnia
  • sleep disorder treatment
  • anti vomiting
  • blood sugars
  • generic reglan
  • pharmacy no prescription
  • drugs for sale
  • muscles human body
  • anabolic creatine
  • online diet meds
  • acne cure pills
  • cialis benefits
  • metronidazole dose
  • women body building
  • otc claritin
  • cetirizine drug
  • cialis 5mg
  • baby acne
  • lipitor use
  • throat gonorrhea
  • cheap phentermine without a prescription
  • how does viagra work?
  • valium high
  • chest pain symptoms
  • prescription drug store online
  • cheap pain meds
  • acne face medication
  • pet health websites
  • anxiety order
  • what is premature ejaculation
  • dog skin
  • hair loss drug
  • online paxil
  • coupon zantac
  • effects of folic acid
  • buy canada drugs
  • curing premature ejaculation
  • carisoprodol cheapest
  • side effects of cancer treatments
  • women heart attack
  • lowest price generic viagra
  • pet supplies plus
  • vitamin supplement ratings
  • diabetes treatment
  • zoloft discount
  • coupon claritin
  • women insomnia
  • buy aciphex
  • cialis on line
  • treatment for hepatitis b
  • order metformin online
  • cialis cheap cialis online
  • claritin allergies
  • mexico pharmacies
  • how to lower blood pressure
  • diclofenac tablet
  • ordering medications online
  • cancer drugs
  • diflucan purchase
  • how to get birth control
  • dog skin infection
  • lowering blood pressure naturally
  • clonazepam pharma
  • health products women
  • buy cialis
  • soma or valium
  • pre diabetes
  • side effects blood pressure tablets
  • discount pain relief
  • dog med
  • osteoporosis calcium drug
  • tramadol without a prescription
  • zoloft drug
  • treatment high blood pressure
  • sildenafil 100mg
  • discount herbals and vitamins
  • aricept generic
  • asthma information
  • bupropion anxiety
  • free acai
  • top hair loss
  • yeast diflucan
  • health care for dogs
  • green tea products
  • cheapest place to buy phentermine
  • canada pharmacy drug perscription
  • high cholesterol treatment
  • viagra free trial
  • cancer cure
  • treatment to stop smoking
  • arthritis pain medicine
  • buy vardenafil online
  • generic viagra generic
  • vitamin list
  • discount soma online
  • facial skin care products
  • buy vitamin supplement
  • cialis alternative
  • viagra for cheap
  • sildenafil
  • online diet drugs
  • online drug
  • benicar tablets
  • purchase medicine on line
  • what is ambien
  • online prescription drug
  • hair loss disease
  • medicine that prevents blood clots
  • antifungal drug
  • medicine for vomiting
  • how to take a beta-blocker
  • san diego soma
  • vascular edema
  • acne skin care treatment products
  • how does viagra work?
  • reduce blood pressure
  • phentermine with no prescription
  • chlamydia treatment online
  • buy levitra on-line
  • beta blocker uses
  • viagra fedex
  • giving cats pills
  • menopause natural treatment
  • oral fluconazole
  • stop smoking today
  • prescription pain medicines
  • menopause natural treatment
  • fda avandia
  • actonel dosage
  • haldol medication
  • how to burn fat
  • all natural antibiotics
  • healthy dog food recipe
  • reduce swelling methods
  • prescription drugs on line
  • drugs use in arthritis
  • weight loss meds on line
  • cheap weight loss
  • pain in chest
  • chlamydia treatment
  • acai cleanse
  • online pharmacies with no prescription needed
  • cancer medications
  • clomid dosage
  • generic pravachol
  • what pills look like phentermine
  • dosage of viagra
  • how to prevent pregnancy
  • treatment for cancer
  • buy generic cialis
  • when is viagra needed
  • no hangover
  • water pills
  • what is generic viagra
  • antianxiety
  • buy asthma meds
  • acyclovir information
  • bronchitis pregnancy
  • treatment for alzheimer's disease
  • medicine chlamydia
  • mail order medicine
  • new treatments for lung diseases
  • cheap pain pills
  • constipation large stool
  • hand pain
  • stopping hair loss
  • antibiotics diarrhea
  • medication without prescription
  • help for infertility
  • weight loss diet
  • body building diets
  • atenolol interaction
  • medical heart failure
  • small dog products
  • stress pills
  • singulair generic
  • what is heart failure
  • new diet pills
  • discount viagra generic
  • order alli
  • treatment for infant diarrhea
  • buy prescription medication online
  • insomnia disorders
  • medical treatments for acne
  • skin disorders in cats
  • zantac medication
  • antibiotics bactrim
  • high blood calcium levels
  • vitamin supplement store
  • jelly kamagra
  • stress drug
  • health products for men
  • health supplement woman
  • us online pharmacy
  • energy saving products
  • about zocor
  • high amount of acid in blood
  • malaria medicines
  • Bruno Pereira is Digg proof thanks to caching by WP Super Cache!