Como se dar bem com Java

                                                                    Wagner R. dos Santos
                                                                         Arquiteto Java


® P R O FI S S Ã I O J A V A , é um evento de G L O B A L C O D E
Apresentação


• Arquiteto Java EE / Scrum Master
• Lead Editor da Queue Arquitetura do Portal InfoQ
  Brasil (http://infoq.com/br).
• Participação na tradução / testes do NetBeans 5.5
• Palestrante de eventos como Just Java, Sun Tech
  Days, Campus Party.
• Premiações em competições de tecnologia .
• Autor de artigos para as revistas Mundo Java e
  Java Magazine.
• Participação em diversos projetos Open Source.
• Certificações: SCJA, SCJP, SCSNI, SCJWSD, SCBCD,
  SCEA (I), Duke Awards e CSM.
• Mantém o blog http://netfeijao.blogspot.com
Agenda




              Introdução
           Primeiros Passos
         Pragmatic Programmer
         Roadmap para o Sucesso
               Java Efetivo
              Conclusão
Warning



          • Tenha um
            computador.

          • Saiba mexer no seu
            computador.

          • Conheça um pouco
            seu Sistema
            Operacional.
Primeiros Passos



E por último, o mais importante ...




  Ame seu

  COMPUTADOR
Primeiros Passos


                                 R ec eios e m ito s
               Como faço para    • O que é Orientação a
               aprender Java ?     Objeto ?
                                 • Java é difícil !!!
                                 • Medo do mercado de
                                   trabalho.
                                 • Vivo no mundo
                                   procedural.
                                 • Não sei inglês.
                                 • Não tenho
                                   experiência.
                                 • Idade.
Primeiros Passos




                   L ó g ic a de
                    P ro g ra m a ç ã o
Primeiros Passos




                   E s trutura de
                    D a do s
Primeiros Passos




                   B a nc o de
                    D a do s
Primeiros Passos




                   I ng lês
Primeiros Passos




                   G a m es
                   G a dg ets
                   A s tro no m ia
                   C o m ic s
                   I nternet
                   R o bó tic a
                   S ta r W a rs
Roadmap para o Sucesso


Rumo ao uma carreira de sucesso
Roadmap para o Sucesso



 A jornada contínua ...
Programador Pragmático
Programador Pragmático


P ens e a res peito do s eu tra ba lho

• PENSAR é o mantra do programador pragmático

• Entenda o porquê da atividade que esta sendo
  feita.

• Pense sobre o que você esta fazendo enquanto
  programa.
Programador Pragmático



D ê opç ões . S em des c ulpa s es fa rra pa da s .

• Antes de dar uma desculpa de que algo não
  funcione, pare e pense!

• Tente Refatoração.

• Não entendeu direito o programa. Tente protótipos
  Post-its!
Programador Pragmático



T enha na m ente s em pre o todo .

• O que esta sendo desenvolvido esta de
  acordo com o objetivo de sistema?
Programador Pragmático



Q ua lida de é um requis ito obrig a tó rio
Programador Pragmático



I nvis ta no s eu c o nhec im ento reg ula rm ente

•   Aprenda uma linguagem nova por ano.
•   Leia um livro técnico a cada 3-4 meses.
•   Leia livros não técnicos também.
•   Participe de grupos de usuário
•   Tente ambientes diferentes.
•   Mantenha-se informado.
Roadmap para o Sucesso



      Rumo ao sucesso
Roadmap para o Sucesso


• 1º P a s s o: Treinamentos
Roadmap para o Sucesso



• 2º P a s s o : Certificações
Roadmap para o Sucesso

• 3º P a s s o : Livros Essenciais
Roadmap para o Sucesso


• 4º P a s s o : Eventos
Roadmap para o Sucesso

• 5º P a s s o : Saiba das últimas

•   I nfoQ - http://www.infoq.com/


•   T he S erver S ide - http://www.theserverside.com/


•   D Z one - http://www.dzone.com/


•   J a va S un - http://java.sun.com/


•   ja va .net - http://www.java.net/


•   e um a infinida de de blog s ...
Roadmap para o Sucesso


• 6º P a s s o : Open Source
Roadmap para o Sucesso

• 7º P a s s o : Competições.
Outras Dicas



• A prenda s o bre
          infra -es trutura

   –   Redes
   –   Telecomunicações
   –   Sistemas Operacionais
   –   Banco de Dados
   –   Segurança




• “ Lembre-se que por trás de um grande sistema, existe
  uma grande infra-estrutura.”.
Outras Dicas


U tilize feeds e fique a tua liza do , s eg ue a lg uns feeds
   úteis .
•   J a va P o s s e: http://feeds.feedburner.com/javaposse
•   J a va S pec ia lis ts : http://w w w .ja va s pec ia lis ts .eu/a rc hive/tjs n.rs s
•   O ´ eilly N ew s : http://feeds 2.feedburner.c o m /o reilly/ja va ? fo rm a t=rs s 2
       R
•   C o re J a va : http://blog s .s un.c om /C o reJ a va T ec hT ips /feed/entries /a to m
•   M a rtin Fo w ler: http://martinfowler.com/bliki/bliki.rss
•   A g ile: http://leadinganswers.typepad.com/leading_answers/atom.xml
•   A rtim a : http://www.artima.com/spotlight/feeds/spotlight.rss
•   D Z o ne J a va : http://w w w .dzo ne.c o m /link s /feed/fro ntpa g e/ja va /rs s .x m l


     Jogue tudo no                               e ...
     ..divirta –se...
Outras Dicas



Ferra m enta s pa ra c o nhec er.

• I D E : NetBeans, Eclipse, JDeveloper.
• T es te U nitá rio: JUnit, TestNG.
• I nteg ra ç ã o C ontínua : CruiseControl, Hudson.
• A ná lis e E s tá tic a : FindBugs
• P a c otes de R a s trea m ento de R ede:
  WireShark
• V irtua liza ç ã o: VMWare, Xen, VirtualBox,
Outras Dicas



P a c o tes O brig a tó rio s do J D K .

• ja va .la ng .reflec t.
• ja va x .s c ript.
• ja va x .m a na g m ent / ja va x .la ng .m a na g m ent.
• ja va .util.c o nc urrent.
• ja va .util.*
• ja va .util.log g ing :
• ja va .bea ns
• ja va x .s ec urity
• ja va x .x m l.pa rs er.* ; ja va x .x m l.bind;
Outras Dicas



T endênc ia s

•   Cloud Computing.
•   Closure em Java.
•   Linguagens Dinâmicas.
•   SOA.
•   Metodologias Ágeis.
•   Redes Sociais.
Programador Java Efetivo



C la s s es e I nterfa c es

• Minimize o Acesso das classes e membros.

• Favoreça composição ao invés de Herança

• Prefira Interfaces do que Classes Abstratas.

• Minimize Mutabilidade
Programador Java Efetivo



C ria ç ã o de O bjeto s
Procure user métodos static factory ao invés de
  construtores.
 public static Boolean valueOf(boolean b) {

     return b ? Boolean.TRUE : Boolean.FALSE;

V a nta g ens :
  }
• Diferente de Construtores, métodos tem nome.
• Não requer criar um novo objeto sempre que
  invocado.
• Retornam um objeto de qualquer subtipo.
Programador Java Efetivo



C ria ç ã o de O bjeto s
Considere utilizar Builder quando tiver muitos
 Parâmetros no Construtor.

•   Dificil de escreve código cliente.
•   Dificil de ler.
•   Posso trocar um parâmetro
•   Posso ser forçado a colocar parâmetros
    indesejados.
Fazendo Networking


N o fina l quem g a nha é vo c ê ....
Agradecimentos




OBRIGADO !!!!
E m a il: wrsconsulting@gmail.com
B lo g : http://netfeijao.blogspot.com
T w itter: http://twitter.com/wrsantos



e até a próxima...

Como Se Dar Bem Com Java

  • 1.
    Como se darbem com Java Wagner R. dos Santos Arquiteto Java ® P R O FI S S Ã I O J A V A , é um evento de G L O B A L C O D E
  • 2.
    Apresentação • Arquiteto JavaEE / Scrum Master • Lead Editor da Queue Arquitetura do Portal InfoQ Brasil (http://infoq.com/br). • Participação na tradução / testes do NetBeans 5.5 • Palestrante de eventos como Just Java, Sun Tech Days, Campus Party. • Premiações em competições de tecnologia . • Autor de artigos para as revistas Mundo Java e Java Magazine. • Participação em diversos projetos Open Source. • Certificações: SCJA, SCJP, SCSNI, SCJWSD, SCBCD, SCEA (I), Duke Awards e CSM. • Mantém o blog http://netfeijao.blogspot.com
  • 3.
    Agenda Introdução Primeiros Passos Pragmatic Programmer Roadmap para o Sucesso Java Efetivo Conclusão
  • 4.
    Warning • Tenha um computador. • Saiba mexer no seu computador. • Conheça um pouco seu Sistema Operacional.
  • 5.
    Primeiros Passos E porúltimo, o mais importante ... Ame seu COMPUTADOR
  • 6.
    Primeiros Passos R ec eios e m ito s Como faço para • O que é Orientação a aprender Java ? Objeto ? • Java é difícil !!! • Medo do mercado de trabalho. • Vivo no mundo procedural. • Não sei inglês. • Não tenho experiência. • Idade.
  • 7.
    Primeiros Passos L ó g ic a de P ro g ra m a ç ã o
  • 8.
    Primeiros Passos E s trutura de D a do s
  • 9.
    Primeiros Passos B a nc o de D a do s
  • 10.
  • 11.
    Primeiros Passos G a m es G a dg ets A s tro no m ia C o m ic s I nternet R o bó tic a S ta r W a rs
  • 12.
    Roadmap para oSucesso Rumo ao uma carreira de sucesso
  • 13.
    Roadmap para oSucesso A jornada contínua ...
  • 14.
  • 15.
    Programador Pragmático P ense a res peito do s eu tra ba lho • PENSAR é o mantra do programador pragmático • Entenda o porquê da atividade que esta sendo feita. • Pense sobre o que você esta fazendo enquanto programa.
  • 16.
    Programador Pragmático D êopç ões . S em des c ulpa s es fa rra pa da s . • Antes de dar uma desculpa de que algo não funcione, pare e pense! • Tente Refatoração. • Não entendeu direito o programa. Tente protótipos Post-its!
  • 17.
    Programador Pragmático T enhana m ente s em pre o todo . • O que esta sendo desenvolvido esta de acordo com o objetivo de sistema?
  • 18.
    Programador Pragmático Q ualida de é um requis ito obrig a tó rio
  • 19.
    Programador Pragmático I nvista no s eu c o nhec im ento reg ula rm ente • Aprenda uma linguagem nova por ano. • Leia um livro técnico a cada 3-4 meses. • Leia livros não técnicos também. • Participe de grupos de usuário • Tente ambientes diferentes. • Mantenha-se informado.
  • 20.
    Roadmap para oSucesso Rumo ao sucesso
  • 21.
    Roadmap para oSucesso • 1º P a s s o: Treinamentos
  • 22.
    Roadmap para oSucesso • 2º P a s s o : Certificações
  • 23.
    Roadmap para oSucesso • 3º P a s s o : Livros Essenciais
  • 24.
    Roadmap para oSucesso • 4º P a s s o : Eventos
  • 25.
    Roadmap para oSucesso • 5º P a s s o : Saiba das últimas • I nfoQ - http://www.infoq.com/ • T he S erver S ide - http://www.theserverside.com/ • D Z one - http://www.dzone.com/ • J a va S un - http://java.sun.com/ • ja va .net - http://www.java.net/ • e um a infinida de de blog s ...
  • 26.
    Roadmap para oSucesso • 6º P a s s o : Open Source
  • 27.
    Roadmap para oSucesso • 7º P a s s o : Competições.
  • 28.
    Outras Dicas • Aprenda s o bre infra -es trutura – Redes – Telecomunicações – Sistemas Operacionais – Banco de Dados – Segurança • “ Lembre-se que por trás de um grande sistema, existe uma grande infra-estrutura.”.
  • 29.
    Outras Dicas U tilizefeeds e fique a tua liza do , s eg ue a lg uns feeds úteis . • J a va P o s s e: http://feeds.feedburner.com/javaposse • J a va S pec ia lis ts : http://w w w .ja va s pec ia lis ts .eu/a rc hive/tjs n.rs s • O ´ eilly N ew s : http://feeds 2.feedburner.c o m /o reilly/ja va ? fo rm a t=rs s 2 R • C o re J a va : http://blog s .s un.c om /C o reJ a va T ec hT ips /feed/entries /a to m • M a rtin Fo w ler: http://martinfowler.com/bliki/bliki.rss • A g ile: http://leadinganswers.typepad.com/leading_answers/atom.xml • A rtim a : http://www.artima.com/spotlight/feeds/spotlight.rss • D Z o ne J a va : http://w w w .dzo ne.c o m /link s /feed/fro ntpa g e/ja va /rs s .x m l Jogue tudo no e ... ..divirta –se...
  • 30.
    Outras Dicas Ferra menta s pa ra c o nhec er. • I D E : NetBeans, Eclipse, JDeveloper. • T es te U nitá rio: JUnit, TestNG. • I nteg ra ç ã o C ontínua : CruiseControl, Hudson. • A ná lis e E s tá tic a : FindBugs • P a c otes de R a s trea m ento de R ede: WireShark • V irtua liza ç ã o: VMWare, Xen, VirtualBox,
  • 31.
    Outras Dicas P ac o tes O brig a tó rio s do J D K . • ja va .la ng .reflec t. • ja va x .s c ript. • ja va x .m a na g m ent / ja va x .la ng .m a na g m ent. • ja va .util.c o nc urrent. • ja va .util.* • ja va .util.log g ing : • ja va .bea ns • ja va x .s ec urity • ja va x .x m l.pa rs er.* ; ja va x .x m l.bind;
  • 32.
    Outras Dicas T endência s • Cloud Computing. • Closure em Java. • Linguagens Dinâmicas. • SOA. • Metodologias Ágeis. • Redes Sociais.
  • 33.
    Programador Java Efetivo Cla s s es e I nterfa c es • Minimize o Acesso das classes e membros. • Favoreça composição ao invés de Herança • Prefira Interfaces do que Classes Abstratas. • Minimize Mutabilidade
  • 34.
    Programador Java Efetivo Cria ç ã o de O bjeto s Procure user métodos static factory ao invés de construtores. public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; V a nta g ens : } • Diferente de Construtores, métodos tem nome. • Não requer criar um novo objeto sempre que invocado. • Retornam um objeto de qualquer subtipo.
  • 35.
    Programador Java Efetivo Cria ç ã o de O bjeto s Considere utilizar Builder quando tiver muitos Parâmetros no Construtor. • Dificil de escreve código cliente. • Dificil de ler. • Posso trocar um parâmetro • Posso ser forçado a colocar parâmetros indesejados.
  • 36.
    Fazendo Networking N ofina l quem g a nha é vo c ê ....
  • 37.
    Agradecimentos OBRIGADO !!!! E ma il: wrsconsulting@gmail.com B lo g : http://netfeijao.blogspot.com T w itter: http://twitter.com/wrsantos e até a próxima...