Sem resumo de edição
Linha 7: Linha 7:
* 01. Linux -> Basic
* 01. Linux -> Basic
** Tutoria: Josiane
** Tutoria: Josiane
* 02. Java8 -> Give a look (lambdas, streams)
** Tutoria: Kethllen e Mauro Ramos
*** Java OO - Oriented Programing
*** JavaEE 6 and/or 7
**** JPA ("Hibernate")
**** CDI ("Spring", Tools for Dependency Injection)
**** JTA
**** EJB
**** Java Servlet
**** JAX-RS (Restful)
**** JMX (Monitoring)
**** JSF (Desirable)
** Books:
** Java 8 – Ensino Didático - Desenvolvimento e Implementação de Aplicações - Sérgio Furgeri
*** Clean Code - A Handbook of Agile Software Craftsman  - Robert C. Martin
*** Effective Java (2nd Edition) - Joshua Bloch
*** Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
*** Growing Object-Oriented Software, Guided by Tests - Steve Freeman e Nat Pryce
** Good Practices
*** https://github.com/twitter/commons/blob/master/src/java/com/twitter/common/styleguide.md




* 02.  
* 03. Spring Framework - Additional to Java EE CDI
* 03.  
** What is Inversion of Control Containers and the Dependency Injection pattern
* 04.  
*** http://www.martinfowler.com/articles/injection.html
* 05.  
** Spring Framework Inversion of Control
* 06.  
*** http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html
* 07.  
** SpringFramework -> http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans
*** -> Spring MVC -> http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc
*** -> Spring Boot -> http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/
 
 
* 04. Hibernate Basic Concepts And Examples - Additional to Java EE JPA:
** https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/tutorial.html
 
 
* 05. Git
 
 
* 06. Maven -> http://maven.apache.org/ (goals, usage - command line)
** Build Applications With Maven:
*** http://tutorials.jenkov.com/maven/maven-tutorial.html
<br>
<br>
* 07. SQL


== B2C - Business To Consumer ==
== B2C - Business To Consumer ==
* Ben-Hur - https://www.facebook.com/benhurcarlos.langonijunior?fref=ts
* Lucas - http://lattes.cnpq.br/5431138608159842
<br>
* Design Patterns
** Refatoring to patterns
** Anti-patterns
** Books:
*** Head First Design Patterns, - Eric T Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra
*** Refactoring to patterns - Joshua Kerievsky
*** Implementation Patters - Kent Beck
* Resful API Checklist
** Articles:
*** http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
* Tutorials
** http://blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/
<br>
<br>


== Platforms TIC  ==
== Platforms TIC  ==
* Mauro Ramos - http://lattes.cnpq.br/0090146247740439
* Natal Neto - http://lattes.cnpq.br/8832508738840570
<br>
* Junit -> http://junit.org/junit4/
<Br>
<Br>


== Mobile ==
== Mobile ==
* Marco Antônio - http://buscatextual.cnpq.br/buscatextual/busca.do
* Gustavo Henrique Garcia Silva - https://br.linkedin.com/in/gustavo-henrique-garcia-silva-40901454/en
* Vitor Oliveira Gomes - https://www.facebook.com/vitorolivg?fref=ts
<br>
* MySql
* Android Java
* PHP
* Phonegap
* Javascript
* AngularJS
** Angular Official Reference - https://docs.angularjs.org/api
** Starting Angular JS on video 6 -  https://www.youtube.com/playlist?list=PLKvsMn7xWutbSELeX5j8CXF2Lxd2cj19J
* HTML + CSS
<br>
<br>


== OSS - Operating Support System ==
== OSS - Operating Support System ==
* Alisson Marques Alvarenga - https://www.facebook.com/alissonmbr?fref=ts
<br>
<br>


* FlyWay
* JaxRS
* JPA - Hibernate
* Apache DeltaSpike
* WildFly
* AngularJS
* NPM
* Bower
* Gulp
<br>
<br>
= Desafios =
* '''Desafio 1'''
O primeiro desafio tem como objetivo o estudo das ferramentas: JAVA 8, Json, Spring Boot, Spring MVC, Maven e GitHub.
A tarefa desse desafio é construir uma aplicação Rest com JSON e JAVA8, utilizando Spring boot e Spring MVC. Essa aplicação terá 3 serviços expostos, são eles:
1º - Serviço que recebe um objeto via JSON e guarda o mesmo em memória (não precisa ser persistente).
2º - Serviço que recebe uma requisição GET com o parâmetro "nome" e retorna o objeto correspondente em JSON.
3º - Serviço que recebe uma requisição GET com o parâmetro "cpf" e retorna o objeto correspondente em JSON.
É solicitado também que o projeto seja inserido no GitHub.
Segue abaixo as entradas e saídas esperadas para cada serviço: 
'''Serviço 1 -''' 
Method: POST
Entrada:
{
:"nome": "Joao",
:"cpf": "05425687435",
:"idade": 23,
:"sexo":' M'
}
Saída:
{
:"Status": 0 //0 Sucesso e 1 falha
}
'''Serviço 2 -'''
Method: GET
Entrada: nome.  Ex: {URL}/?nome=Joao
Saída:
{
:"nome": "Joao",
:"cpf": "05425687435",
:"idade": 23,
:"sexo":' M'
}
'''Serviço 3 -'''
Method: GET
Entrada: cpf. Ex: {URL}/?cpf=05425687435
Saída:
{
:"nome": "Joao",
:"cpf": "05425687435",
:"idade": 23,
:"sexo":' M'
}
<nowiki>----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</nowiki>
* '''Desafio 2'''
Este desafio tem como objetivo o estudo das ferramentas: JAVA 8, Json, Spring Boot, Spring MVC, Maven, GitHub, JDBC, MySql, Angular JS e HTML.
Criar um CRUD (create, read, update, delete) básico entre duas entidades, FUNCIONÁRIO e DEPARTAMENTO, onde um funcionário pode estar em um departamento e um departamento pode ter vários funcionários. 
No Front end deve ser possível:
* Cadastrar, editar e excluir funcionário e departamento;
* Listar todos funcionários e seu respectivo departamento;
* Listar todos funcionário de um departamento;
* Listar as informações do funcionário bem como as informações do departamento;
Também é solicitado que no Front end utilize-se :
* O modelo MVC com Spring MVC para integrar com o back end;
* AngularJS;
* Spring Boot.
No Back end é solicitado utilizar:
*  O modelo MVC com Spring MVC para integrar com o front end;
* JDBC para persistência (banco de dados);
* Mysql como SGBD;
* Spring Boot.
A criação do DER (diagrama entidade-relacionamento) é opcional. Abaixo segue o mínimo que se espera em cada entidade:<br>
- FUNCIONÁRIO
* Código
* Nome
* Cargo
* Idade
- DEPARTAMENTO
* Código
* Nome

Edição das 17h28min de 27 de janeiro de 2017

Formation Plan


Common Level


  • 01. Linux -> Basic
    • Tutoria: Josiane
  • 02. Java8 -> Give a look (lambdas, streams)
    • Tutoria: Kethllen e Mauro Ramos
      • Java OO - Oriented Programing
      • JavaEE 6 and/or 7
        • JPA ("Hibernate")
        • CDI ("Spring", Tools for Dependency Injection)
        • JTA
        • EJB
        • Java Servlet
        • JAX-RS (Restful)
        • JMX (Monitoring)
        • JSF (Desirable)
    • Books:
    • Java 8 – Ensino Didático - Desenvolvimento e Implementação de Aplicações - Sérgio Furgeri
      • Clean Code - A Handbook of Agile Software Craftsman - Robert C. Martin
      • Effective Java (2nd Edition) - Joshua Bloch
      • Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
      • Growing Object-Oriented Software, Guided by Tests - Steve Freeman e Nat Pryce
    • Good Practices




  • 05. Git



  • 07. SQL

B2C - Business To Consumer



Platforms TIC



Mobile



OSS - Operating Support System


  • FlyWay
  • JaxRS
  • JPA - Hibernate
  • Apache DeltaSpike
  • WildFly
  • AngularJS
  • NPM
  • Bower
  • Gulp


Desafios

  • Desafio 1


O primeiro desafio tem como objetivo o estudo das ferramentas: JAVA 8, Json, Spring Boot, Spring MVC, Maven e GitHub.

A tarefa desse desafio é construir uma aplicação Rest com JSON e JAVA8, utilizando Spring boot e Spring MVC. Essa aplicação terá 3 serviços expostos, são eles:

1º - Serviço que recebe um objeto via JSON e guarda o mesmo em memória (não precisa ser persistente).

2º - Serviço que recebe uma requisição GET com o parâmetro "nome" e retorna o objeto correspondente em JSON.

3º - Serviço que recebe uma requisição GET com o parâmetro "cpf" e retorna o objeto correspondente em JSON.

É solicitado também que o projeto seja inserido no GitHub.

Segue abaixo as entradas e saídas esperadas para cada serviço:

Serviço 1 -

Method: POST

Entrada:

{

"nome": "Joao",
"cpf": "05425687435",
"idade": 23,
"sexo":' M'

}

Saída:

{

"Status": 0 //0 Sucesso e 1 falha

}

Serviço 2 -

Method: GET

Entrada: nome. Ex: {URL}/?nome=Joao

Saída:

{

"nome": "Joao",
"cpf": "05425687435",
"idade": 23,
"sexo":' M'

}

Serviço 3 -

Method: GET

Entrada: cpf. Ex: {URL}/?cpf=05425687435

Saída:

{

"nome": "Joao",
"cpf": "05425687435",
"idade": 23,
"sexo":' M'

}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • Desafio 2

Este desafio tem como objetivo o estudo das ferramentas: JAVA 8, Json, Spring Boot, Spring MVC, Maven, GitHub, JDBC, MySql, Angular JS e HTML.

Criar um CRUD (create, read, update, delete) básico entre duas entidades, FUNCIONÁRIO e DEPARTAMENTO, onde um funcionário pode estar em um departamento e um departamento pode ter vários funcionários.


No Front end deve ser possível:

  • Cadastrar, editar e excluir funcionário e departamento;
  • Listar todos funcionários e seu respectivo departamento;
  • Listar todos funcionário de um departamento;
  • Listar as informações do funcionário bem como as informações do departamento;


Também é solicitado que no Front end utilize-se :

  • O modelo MVC com Spring MVC para integrar com o back end;
  • AngularJS;
  • Spring Boot.


No Back end é solicitado utilizar:

  • O modelo MVC com Spring MVC para integrar com o front end;
  • JDBC para persistência (banco de dados);
  • Mysql como SGBD;
  • Spring Boot.


A criação do DER (diagrama entidade-relacionamento) é opcional. Abaixo segue o mínimo que se espera em cada entidade:

- FUNCIONÁRIO

  • Código
  • Nome
  • Cargo
  • Idade


- DEPARTAMENTO

  • Código
  • Nome