Últimas notícias do evento

Treinamento Completo de Programador Java EAD

Postado em Atualizado em

Objetivos

Objetivo deste pacote de cursos é dar formação completa para um programador profissional Java. Esse pacote agrupa total de 7 cursos de JSE, gradualmente e didaticamente sequenciados, desde os recursos do Java1 até a versão do Java8, oferecendo capitação completa com 20% de desconto sobre o valor total de todos os cursos individuais.

Público Alvo

Estudantes que almejem se tornar programadores profissionais Java, se capacitando para o mercado de trabalho.

Investimento

R$ 984,00

Pré-requisitos

  • Lógica de programação ou conhecimentos em alguma linguagem de programação.
  • Pc contendo no mínimo de 2 GB RAM com Windows VISTA/WIN7/WIN10.

Exercícios

Total de 185 exercícios, 10 minutos em média de tempo para cada um.

Tempo de Aula

  • +- 48h30 de videos em aulas.
  • +- 31h30 de exercícios práticos.
  • Total aproximado de 80h00 de horas em aula.

Disponibilidade

Acesso por 1 ano a partir da matrícula.

Grade

Segue abaixo todos os cursos que compõe esse pacote. Acesse cada um para ver sua respectiva grade:

  1. Java SE F1 – Fundamentos de Programação Java Básico
  2. Java SE F2 – Programação Orientada a Objetos com Java
  3. Java SE F3 – Programação Java Avançado 1
  4. Java SE JDBC – Banco de Dados Relacionais com Java
  5. Java SE F4 – Programação Java Avançado 2
  6. Java SE F5 – Desenvolvedor Funcional Java 8
  7. AQT M1 – Introdução a Arquitetura de Software com Java

Vantagens desse pacote

  • Os cursos são ministrados gradualmente sequenciados, proporcionando um aprendizado didaticamente correto e adequado.
  • Acesso por 1 ano, podendo rever qualquer aula de qualquer curso.
  • Pagamento parcelado em até 12 x.
  • Desconto de R$ 246,00, sendo que o valor total de todos o cursos fica em R$ 1.230,00.
  • Novos cursos serão adicionados sem custo adicional para alunos ativos nesse pacote.

Acesse – Java SE P1 – Pacote Programador Profissional Java

“Com um coração sincero eu te louvarei à medida que for aprendendo os teus justos ensinamentos.” Salmos 119:7

Para quem não sabe para onde vai, qualquer caminho serve

Postado em Atualizado em

574eeb8b9af513-13393298alice-no-pais-das-maravilhas-dublado-1080pHá uma cena que quero comentar na obra “Alice no país das maravilhas” o encontro de Alice com o gato. Na cena, Alice está perdida, e de repente, vê no alto da árvore o gato. Ela olha para ele lá em cima e diz assim:

Alice: “Você pode me ajudar?”
Gato: “Sim, pois não.”
Alice: “Para onde vai essa estrada?”
Gato: “Para onde você quer ir?”
Alice: “Eu não sei, estou perdida.”
Gato: “Para quem não sabe para onde vai, qualquer caminho serve.”

Muitas vezes vejo essa cena se repetir com o pessoal de desenvolvimento perguntando nos fóruns, e-mails e listas algo como:

“Qual melhor framework jA ou jB? Qual a melhor plataforma A , B, C? Qual melhor arquitetura em fazer C, D ou F? Qual framework web usar jWeb1, jWeb2 ou jWeb3?”

Como alguém poderia decidir por exemplo em usar JSF ou VRaptor ou ExtJ se não sabe os detalhes relacionados aos requisitos, contexto, ambiente e restrições da solução? A resposta seria igual ao do gato:

“Para quem não sabe para onde vai, qualquer caminho serve”.

Ou até pior, os céticos poderiam detonar uma opção e exaltar a outra ou pode aparecer aqueles “amantes emocionais” de tecnologia dizendo “usa aquela opção que é legal, eu gosto muito”.

O responsável por essa decisão, normalmente um arquiteto, deveria fazer suas escolhas arquiteturais e tecnológicas baseadas em justificativas coerentes no próprio cenário de requisitos existente a ser alcançado, características, restrições e outros limitadores corporativos externos como: custo, investimento, capacitação, curva de aprendizado, produtividade, gestão de equipe, cronograma e etc, e não em gosto, preferência, opiniões sem contexto ou qualquer outra coisa sem fundamentos lógicos e coerente.

As características da solução irão inevitavelmente se contradizer, alguma decisão deverá ser tomada, não será possível endereçar solução a todas as situações, mas algum caminho precisará ser traçado. Um exemplo comparativo simples, seria algo assim:

Exemplo 1

Contexto: Preciso viajar de Curitiba para São Paulo
Soluções: moto? carro? caminhão? avião?
Decisão: carro.
Justificativa: moto demora, não tenho carteira para caminhão e não tenho dinheiro para passagem de avião.

Exemplo 2

Contexto: Preciso viajar de Curitiba para São Paulo e levar uma geladeira
Soluções: moto? carro? caminhão? avião?
Decisão: caminhão.
Justificativa: moto não resolve, carro não resolve, e não tenho dinheiro para passagem de avião.

Exemplo 3

Contexto: Preciso viajar de Curitiba para São Paulo, levar uma geladeira e participar de uma reunião de negocio daqui 2 horas.
Soluções: moto? carro? caminhão? avião?
Decisão: sou obrigado a gastar com avião.
Justificativa: moto não resolve, carro não resolve, caminhão não resolve.

Como pode ser percebido, se existir um requisito tal de produtividade, talvez o framework A pode ser a melhor que o B, mas caso exista outro requisitos relacionado com segurança que pese mais que outras características, o framework B pode mais adequado que o A.

Não existe framework Java melhor ou pior, tudo esta relacionado em abrir um ponto de visão baseado em conhecer as opções, suas vantagens, desvantagens, virtudes, fraquezas e contrastar com os pesos das caraterísticas dos requisitos! Java é fantástico possuindo vários opções de framework para fazer diferente a mesma coisa. Então querido, seja livre, seja Java! Não se limite! Seja maduro e não tenha sentimentos para frameworks, use o que precisar, quando precisar! Toda produto/framework tem seu valor!

Com este ponto de vista, dizemos que a arquitetura emerge destas informações. Uma vez que o projeto começa a andar e pequenas fatias de releases começam a ser entregues, a solução pode passar mudanças de requisitos, características, ambientes e restrições precisando então ser melhorada e evoluída para um próximo nível, necessitando ou não a troca das opções de frameworks feitas anteriormente. Outra arquitetura emerge então destas novas informações respondendo, rapidamente a necessidades e cenários emergentes.

“O céu e a terra desaparecerão, mas as minhas palavras ficarão para sempre.” Mateus 24:35

Lançamento de Curso EAD – Java F4 Programação Java Avançado 2

Postado em

org-320%2fschool-320%2f98ceb518900492e685dedd62545b3891%2fjava-100432255-primary-idge-1Objetivos

Objetivo deste curso é dar continuidade na grade de cursos JSE M2 – Pacote Programador Básico 1, acrescentando conhecimentos relacionados com tópicos avançados de: linguagem de programação, orientação a objetos, sincronismo e agendamento de tarefas.

Público Alvo

Estudantes e desenvolvedores Java que almejem se apronfundar e se especializar no desenvolvimento de soluções com Java.

Nível de Dificuldade

Intermediario

Pré-requisitos

  • Tem feito o curso JSE M2 ou possuir conhecimentos dos seus tópicos.
  • Pc contendo no mínimo de 2 GB RAM com Windows VISTA/WIN7/WIN10.

Exercícios

Total de 40 exercícios, 10 minutos em média de tempo para cada um.

Tempo de Aula

  • 8h56 de videos em aulas.
  • 6h04 de exercícios práticos.
  • Total aproximado de 15h00 de horas em aula.

Para todas as informações, acesse Java SE F4 – Programação Java Avançado 2.

“Que a esperança que vocês têm os mantenha alegres; aguentem com paciência os sofrimentos e orem sempre.” Romanos 12:12

Aula Grátis EAD – Combinando Generics com Polimorfismo

Postado em

Veja nessa aula a como misturar generics com polimorfismo, gerando um design orientado a objetos poderoso e flexível:

Veja nosso curso Java Avançado 2 – Java SE F4 

Combo Domain Driven Design

Postado em

71lfru1pyalNo dia 22/02 foi liberado a terceira edição do livro Domain Driven Design – Atacando as complexidades No Coração do Software. A comunidade de desenvolvimento de softwares reconhece que a modelagem de domínios é fundamental para o design de softwares. Através de modelos de domínios, os desenvolvedores de software conseguem expressar valiosas funcionalidades e traduzi-las em uma implementação de software que realmente atenda às necessidades de seus usuários. Mas, apesar de sua óbvia importância, existem poucos recursos práticos que explicam como incorporar uma modelagem de domínios eficiente no processo de desenvolvimento de softwares. O Domain-Driven Design atende essa necessidade. Este não é um livro sobre tecnologias específicas. Ele oferece aos leitores uma abordagem sistemática com relação ao domain-driven design, ou DDD, apresentando um conjunto abrangente de práticas ideais de design, técnicas baseadas em experiências e princípios fundamentais que facilitam o desenvolvimento de projetos de software que enfrentam domínios complexos. Reunindo práticas de design e implementação, este livro incorpora vários exemplos baseados em projetos que ilustram a aplicação do design dirigido por domínios no desenvolvimento de softwares na vida real. Com este livro em mãos, desenvolvedores orientados a objetos, analistas de sistema e designers terão a orientação de que precisam para organizar e concentrar seu trabalho, criar modelos de domínio valiosos e úteis, e transformar esses modelos em implementações de software duradouras e de alta qualidade.

51cx1lbp-ll-_sx336_bo1204203200_Para completar o estudo sobre o assunto, existe tambem o livro chamado Implementando Domain-Driven Design que te ensina a implementar o DDD. Implementando Domain-Driven Design apresenta uma abordagem completa para o entendimento de domaindriven design (DDD), a fim de conectar fluentemente padrões estratégicos às ferramentas táticas fundamentais de programação. Vaughn Vernon une abordagens guiadas para implementação com arquiteturas modernas, destacando a importância e o valor de focar no domínio de negócios e, ao mesmo tempo, equilibrar com considerações técnicas. Baseado no livro do seminário de Eric Evans, o autor apresenta técnicas práticas de DDD por meio de exemplos a partir de domínios familiares. Cada princípio é fundamentado com exemplos realistas de Java — todos aplicáveis aos desenvolvedores de C# — e todo o conteúdo é complementado por um único estudo de caso: a entrega de um sistema SaaS baseado em Scrum de larga escala para um ambiente multitenant. O autor o leva a uma viagem além da abordagem “DDD-lite”, que engloba o DDD somente como ferramenta técnica, e mostra como alavancar os “padrões de projeto estratégicos” usando o Contexto Delimitado, Mapa do Contexto e a Linguagem Ubíqua. Ao usar essas técnicas e exemplos, você pode reduzir o tempo de mercado e melhorar a qualidade, já que constrói um software mais flexível, escalável e precisamente alinhado com suas metas comerciais.

Bons estudos para todos!!

“O que você diz pode salvar ou destruir uma vida; portanto, use bem as suas palavras e você será recompensado.” Provérbios 18:21

Java Frameworks – Persistência em Banco de Dados Relacionais

Postado em Atualizado em

sgbd1Segue opções de frameworks java para persistência em banco de dados relacionais:

Provedores de JPA

Para todas as informações, veja o post inicial.

“Pois o SENHOR, seu Deus, está com vocês; ele é poderoso e os salvará.” Sofonias 3:17

Dicas de Arquitetura de Software com Java

Postado em Atualizado em

org-320%2fschool-320%2f7d9bfc5e9dc56593d4a38668fdf743e1%2farquiteto2No curso AQT  M1 – Arquitetura de Software com Java, nós ajudamos os desenvolvedores Java a subir um pouco mais o nível de seus conhecimentos, deixando de ser meros programadores e passando a ter uma visão de arquiteto de software, compreendendo questões e princípios básicos de arquitetura. No final do curso, nós implementamos uma solução completa em java, desde de interfaces gráficas desktop , web, regras de negócio, até a persistência em banco de dados relacionais, provando então todos esses conceitos na prática.

Dezenas de alunos e profissionais tem feito o curso e além do feedback 100% positivo, eles tem me perguntando “como” poderiam evoluir a proposta arquitetural ministrado no curso, para um nível mais sofisticado e mais profissional. Hoje eu gostaria abrir essa conversa e dar cinco dicas sobre isso, a como adicionar mais produtos e melhorar a arquitetura proposta:

1.Validação de Negócio

No curso, a validação de negócio ficou dentro da classe domínio Cliente [domain model pattern], implementada de forma manual. Uma sofisticação dessa opção seria substituir a validação manual pela especificação java bean validation, evitando assim DRY e tendo uma melhor produtividade na validação. Sugiro provedor hibernate validation.

2.Fabricas

No curso, a criação do objeto responsável pela implementação da persistência seguindo o contrato da camada repositório [domain model repository pattern] ClienteJdbcImp, foi a classe FabricaPersistencia [Factory method pattern] implementada de forma manual. Uma sofisticação dessa opção seria substituir a fabrica manual pela injeção de dependência de uma especificação de um container IoC, evitando DRY e uma melhor produtividade. Sugiro provedor Spring IoC.

3.Persistência JDBC

No curso, o framework adotando como tecnologia de persistência da camada repositório foi o JDBC. Uma sofisticação dessa opção seria substituir o JDBC pelo JPA, evitando implementação improdutiva e burocrática das API de baixo nível, seus DRY e uma melhor produtividade. Sugiro provedor hibernate JPA.

4.Comandos SQL

No curso, os comandos SQL’s foram colocados dentro de atributos estáticos finais no formato string na classe ClienteJdbcImp. Uma sofisticação dessa opção seria não fazer SQL, deixando JPA gerar todos essas instruções dinamicamente via estratégia de ORM, evitando DRY e uma melhor produtividade. Sugiro provedor hibernate JPA.

5.Transação JDBC

No curso, os controle transacional ficou a a cargo JDBC usado de forma automática via connection=autocommit na classe ClienteJdbcImp. Uma sofisticação dessa opção seria usar controle de transações declarativas por AOP, evitando DRY, uma melhor produtividade e consistência. Sugiro Spring transactions.

Conclusão

Como pode ser visto, seria impossível e impraticável ensinar cada um desses produtos/tecnologias nesse mesmo curso, ficando ai de sugestão para você, aluno do nosso curso estudar e avançar gradualmente em cada um desses tópicos, a medida que você se despertar para eles. Eu me coloco a total disposição para ajudar sobre o assunto. Até a próxima 🙂 !

“Portanto, não percam a coragem, pois ela traz uma grande recompensa. Vocês precisam ter paciência para poder fazer a vontade de Deus e receber o que ele promete.” Hebreus 10:35-36