SlideShare a Scribd company logo
1 of 63
Download to read offline
Globalcode	
  –	
  Open4education
Java – From old school to modern art
Marcos Roberto Ferreira
Engenheiro de Software - ContaAzul
• Engenheiro de Software na ContaAzul
• Formado em Sistemas de Informação pela UDESC
• +12 anos XP dev web
• +10 anos XP Java
• Colaborador do GUJavaSC
github.com/Marcos
about.me/marcos.ferreira
QUEM SOU EU?
MARCOS ROBERTO FERREIRA
marcos@contaazul.com
old school: ContaAzul antes de ser ContaAzul
modern art: ContaAzul Startup
APIs/Projetos usados no ContaAzul
AGENDA…
1
2
3
O que é ContaAzul?
5
6
Alguns números…
7
MPE’s que já utilizaram o
ContaAzul até agora
+350.000
Novas empresas que
começam a usar todo mês
23.000
8
Número de transações financeiras
15.000.000 48.000.000.000
Total de transações
Vendas criadas
2.500.000 ~4.000.000
Contatos na nossa plataforma
9
Tudo isso em 3 anos
10
old school…
https://c2.staticflickr.com/8/7217/7298542244_5c356381eb_b.jpg
2000
2005
eFinance
2000
2005
eFinance
2006
2000
2005
eFinance
2006
2009
AgilERP
/app
<%view%>Servlet
Business Object
public class MemberServlet extends HTTPServlet{
public void doGet(…) throws IOException{
List<Member> members = memberService.list();
request.setAttribute(“members”, members);
String jsp = “member.jsp";
request.getRequestDispatcher( )
.forward( request, response );
}
}
<%@ page contentType="text/html; charset=UTF-8"%>
<html>
<body>
<c:forEach var="member" items=“{member}”>
${member} <br/>
</c:forEach>
</body>
</body>
/app
<%viewA%>ControllerA
BusinessObjectA
<%viewB%>ControllerB
BusinessObjectB
ServletController
18
http://www.jajakarta.org/struts/struts1.2/documentation/ja/target/images/struts.gif http://www.techideator.com/wp-content/uploads/2015/03/Spring-MVC-e1410633092262.png
http://vraptor3.vraptor.org/assets/images/logo.png https://www.playframework.com/assets/images/logos/play_full_color.png
19
20
flexibilidade
verbosidade
escalabilidade
produtividade
X
21
modern art…
https://www.socwall.com/images/wallpapers/15185-3458x2306.jpg
1a. empresa
Brasileira
selecionada
500Startups
1a. empresa
Brasileira
selecionada
500Startups
Lançamento
oficial
26
27
flexibilidade
verbosidade
escalabilidade
produtividade
X
Como resolver o problema?
http://sustainablesurf.org/wp-content/uploads/2011/05/Me-and-shaping-dust.jpg
Construir um framework?
http://sustainablesurf.org/wp-content/uploads/2011/05/Me-and-shaping-dust.jpg
Mudar de stack?
Ou evoluir dentro da tecnologia?
http://www.railz.net/images/ocean/surf1/hangten/hangten.jpg
APIs e projetos no ContaAzul
34
lombok
35
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
36
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Getter
@Setter
private String name;
37
@Getter
@Setter
public class Member {
private Long id;
private String name;
}
38
@Getter
@Setter
public class Member {
private Long id;
private String name;
}
@Getter
@Setter
@ToString
@EqualsAndHashCode
public class Member {
private Long id;
private String name;
}
39
@Getter
@Setter
@ToString
@EqualsAndHashCode
public class Member {
private Long id;
private String name;
}
40
@Getter
@Setter
@ToString
@EqualsAndHashCode
public class Member {
private Long id;
private String name;
}
@Data
public class Member {
private Long id;
private String name;
}
41
public class Member {
private Long id;
private String name;
public Member() {}
public Member(Long id, String name) {
super();
this.id = id;
this.name = name;
}
}
42
public class Member {
private Long id;
private String name;
public Member() {}
public Member(Long id, String name) {
super();
this.id = id;
this.name = name;
}
}
@NoArgsConstructor
@AllArgsConstructor
public class Member {
private Long id;
private String name;
}
43
Member.builder()
.id(1L)
.name(“Marcos")
.build();
44
@Builder
public class Member {
private Long id;
private String name;
}
Member.builder()
.id(1L)
.name(“Marcos")
.build();
45
javaee
/app
<%viewA%>ControllerA
BusinessObjectA
ServletController formB.html
/rest/B
BusinessObjectB
formA.html
/rest/A
BusinessObjectA
/app
formB.html
/rest/B
BusinessObjectB
49
@Path("user")
@Produces(APPLICATION_JSON)
@Consumes(APPLICATION_JSON)
public class UserResource {
@POST
public User save(User user){
return userService.save(user);
}
@GET
public List<User> list(){
return userService.list();
}
}
REST + JSON
50
@PersistenceContext
private EntityManager entityManager;
private void save(Long userId, User user) {
if (userId == null)
entityManager.persist(user);
else {
user.setId(userId);
entityManager.merge(user);
}
}
persitência de
dados
51
@Stateless
public class UserService {
@TransactionAttribute(REQUIRES_NEW)
public void save(Long userId, User user) {
…
}
}
transações
@Stateless
public class UserService {
public void save(Long userId, User user) {
…
}
}
52
@Stateless
public class PaymentService {
@Asynchronous
public void update(User user){
…
}
}
@Inject
private PaymentService paymentService;
public User save(User user) {
paymentService.update(user);
}
processamento
assíncrono
53
@Stateless
public class UserJob {
@Schedule(hour="*",minute="*",second="*/20")
public void schedule(){
…
}
}
agendamento
54
querydsl
55
new JPAQuery(entityManager)
.from(member)
.list(member);
import static org.gujavasc.entities.QMember.member;
56
new JPAQuery(entityManager).from(post)
.innerJoin(post.member, member)
.list(QPost.create(member.name,
post.title, post.content));
import static org.gujavasc.entities.QMember.member;
import static org.gujavasc.entities.QPost.post;
57
new JPAQuery(entityManager).from(post)
.leftJoin(post.member, member)
.list(QPost.create(member.name, post.title,
post.content));
import static org.gujavasc.entities.QMember.member;
import static org.gujavasc.entities.QPost.post;
58
new JPAQuery(entityManager).from(post)
.leftJoin(post.member, member)
.where(post.status.eq(DRAFT))
.list(QPost.create(member.name, post.title,
post.content));
import static org.gujavasc.entities.QMember.member;
import static org.gujavasc.entities.QPost.post;
59
new JPAUpdateClause(entityManager, post)
.set(post.status, Status.PUBLISHED)
.execute();
import static org.gujavasc.entities.QPost.post;
60
new JPADeleteClause(entityManager,post)
.where(post.status
.in(Status.PUBLISHED,Status.DRAFT))
.execute();
import static org.gujavasc.entities.QPost.post;
61
Dúvidas?!
63
Obrigado!
github.com/Marcos
about.me/marcos.ferreira
marcos@contaazul.com

More Related Content

Viewers also liked

from old java to java8 - KanJava Edition
from old java to java8 - KanJava Editionfrom old java to java8 - KanJava Edition
from old java to java8 - KanJava Edition心 谷本
 
O Fundamentalismo Islâmico
O Fundamentalismo IslâmicoO Fundamentalismo Islâmico
O Fundamentalismo IslâmicoJailson Lima
 
50 new things you can do with java 8
50 new things you can do with java 850 new things you can do with java 8
50 new things you can do with java 8José Paumard
 
Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8AppDynamics
 
Java 8, Streams & Collectors, patterns, performances and parallelization
Java 8, Streams & Collectors, patterns, performances and parallelizationJava 8, Streams & Collectors, patterns, performances and parallelization
Java 8, Streams & Collectors, patterns, performances and parallelizationJosé Paumard
 

Viewers also liked (8)

from old java to java8 - KanJava Edition
from old java to java8 - KanJava Editionfrom old java to java8 - KanJava Edition
from old java to java8 - KanJava Edition
 
O Fundamentalismo Islâmico
O Fundamentalismo IslâmicoO Fundamentalismo Islâmico
O Fundamentalismo Islâmico
 
50 new things you can do with java 8
50 new things you can do with java 850 new things you can do with java 8
50 new things you can do with java 8
 
Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8
 
Java 8, Streams & Collectors, patterns, performances and parallelization
Java 8, Streams & Collectors, patterns, performances and parallelizationJava 8, Streams & Collectors, patterns, performances and parallelization
Java 8, Streams & Collectors, patterns, performances and parallelization
 
Java SE 8 best practices
Java SE 8 best practicesJava SE 8 best practices
Java SE 8 best practices
 
java 8
java 8java 8
java 8
 
Java tutorial PPT
Java tutorial PPTJava tutorial PPT
Java tutorial PPT
 

Similar to TDC 2015 - Java: from old school to modern art!

SoTWLG Intro to Code Bootcamps 2016 (Roger Nesbitt)
SoTWLG Intro to Code Bootcamps 2016 (Roger Nesbitt)SoTWLG Intro to Code Bootcamps 2016 (Roger Nesbitt)
SoTWLG Intro to Code Bootcamps 2016 (Roger Nesbitt)ruthmcdavitt
 
Building Single-Page Web Appplications in dart - Devoxx France 2013
Building Single-Page Web Appplications in dart - Devoxx France 2013Building Single-Page Web Appplications in dart - Devoxx France 2013
Building Single-Page Web Appplications in dart - Devoxx France 2013yohanbeschi
 
Get together on getting more out of typescript &amp; angular 2
Get together on getting more out of typescript &amp; angular 2Get together on getting more out of typescript &amp; angular 2
Get together on getting more out of typescript &amp; angular 2Ruben Haeck
 
Working effectively with legacy code
Working effectively with legacy codeWorking effectively with legacy code
Working effectively with legacy codeShriKant Vashishtha
 
Extreme Swift
Extreme SwiftExtreme Swift
Extreme SwiftMovel
 
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019Victor Rentea
 
Presentation on design pattern software project lll
 Presentation on design pattern  software project lll  Presentation on design pattern  software project lll
Presentation on design pattern software project lll Uchiha Shahin
 
NoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualNoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualWerner Keil
 
Java SE 8 for Java EE developers
Java SE 8 for Java EE developersJava SE 8 for Java EE developers
Java SE 8 for Java EE developersJosé Paumard
 
From Java 11 to 17 and beyond.pdf
From Java 11 to 17 and beyond.pdfFrom Java 11 to 17 and beyond.pdf
From Java 11 to 17 and beyond.pdfJosé Paumard
 
From Mess To Masterpiece - JFokus 2017
From Mess To Masterpiece - JFokus 2017From Mess To Masterpiece - JFokus 2017
From Mess To Masterpiece - JFokus 2017Sven Ruppert
 
Adopting F# at SBTech
Adopting F# at SBTechAdopting F# at SBTech
Adopting F# at SBTechAntya Dev
 
Clean Code @Voxxed Days Cluj 2023 - opening Keynote
Clean Code @Voxxed Days Cluj 2023 - opening KeynoteClean Code @Voxxed Days Cluj 2023 - opening Keynote
Clean Code @Voxxed Days Cluj 2023 - opening KeynoteVictor Rentea
 
Fast REST APIs Development with MongoDB
Fast REST APIs Development with MongoDBFast REST APIs Development with MongoDB
Fast REST APIs Development with MongoDBMongoDB
 
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Guillaume Laforge
 
2018 (codeone) Graal VM and MicroProfile a polyglot microservices solution [d...
2018 (codeone) Graal VM and MicroProfile a polyglot microservices solution [d...2018 (codeone) Graal VM and MicroProfile a polyglot microservices solution [d...
2018 (codeone) Graal VM and MicroProfile a polyglot microservices solution [d...César Hernández
 

Similar to TDC 2015 - Java: from old school to modern art! (20)

Tech talks#6: Code Refactoring
Tech talks#6: Code RefactoringTech talks#6: Code Refactoring
Tech talks#6: Code Refactoring
 
SoTWLG Intro to Code Bootcamps 2016 (Roger Nesbitt)
SoTWLG Intro to Code Bootcamps 2016 (Roger Nesbitt)SoTWLG Intro to Code Bootcamps 2016 (Roger Nesbitt)
SoTWLG Intro to Code Bootcamps 2016 (Roger Nesbitt)
 
Building Single-Page Web Appplications in dart - Devoxx France 2013
Building Single-Page Web Appplications in dart - Devoxx France 2013Building Single-Page Web Appplications in dart - Devoxx France 2013
Building Single-Page Web Appplications in dart - Devoxx France 2013
 
Get together on getting more out of typescript &amp; angular 2
Get together on getting more out of typescript &amp; angular 2Get together on getting more out of typescript &amp; angular 2
Get together on getting more out of typescript &amp; angular 2
 
Working effectively with legacy code
Working effectively with legacy codeWorking effectively with legacy code
Working effectively with legacy code
 
Extreme Swift
Extreme SwiftExtreme Swift
Extreme Swift
 
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
 
Legacy is Good
Legacy is GoodLegacy is Good
Legacy is Good
 
Presentation on design pattern software project lll
 Presentation on design pattern  software project lll  Presentation on design pattern  software project lll
Presentation on design pattern software project lll
 
NoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 VirtualNoSQL Endgame - Java2Days 2020 Virtual
NoSQL Endgame - Java2Days 2020 Virtual
 
Java SE 8 for Java EE developers
Java SE 8 for Java EE developersJava SE 8 for Java EE developers
Java SE 8 for Java EE developers
 
From Java 11 to 17 and beyond.pdf
From Java 11 to 17 and beyond.pdfFrom Java 11 to 17 and beyond.pdf
From Java 11 to 17 and beyond.pdf
 
From Mess To Masterpiece - JFokus 2017
From Mess To Masterpiece - JFokus 2017From Mess To Masterpiece - JFokus 2017
From Mess To Masterpiece - JFokus 2017
 
Adopting F# at SBTech
Adopting F# at SBTechAdopting F# at SBTech
Adopting F# at SBTech
 
Clean Code @Voxxed Days Cluj 2023 - opening Keynote
Clean Code @Voxxed Days Cluj 2023 - opening KeynoteClean Code @Voxxed Days Cluj 2023 - opening Keynote
Clean Code @Voxxed Days Cluj 2023 - opening Keynote
 
Arduino2013
Arduino2013Arduino2013
Arduino2013
 
Fast REST APIs Development with MongoDB
Fast REST APIs Development with MongoDBFast REST APIs Development with MongoDB
Fast REST APIs Development with MongoDB
 
Dev Day Andreas Roth.pdf
Dev Day Andreas Roth.pdfDev Day Andreas Roth.pdf
Dev Day Andreas Roth.pdf
 
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008
 
2018 (codeone) Graal VM and MicroProfile a polyglot microservices solution [d...
2018 (codeone) Graal VM and MicroProfile a polyglot microservices solution [d...2018 (codeone) Graal VM and MicroProfile a polyglot microservices solution [d...
2018 (codeone) Graal VM and MicroProfile a polyglot microservices solution [d...
 

More from Marcos Ferreira

Cloud Computing: Infraestrutura, Aplicações e Desafios
Cloud Computing: Infraestrutura, Aplicações e DesafiosCloud Computing: Infraestrutura, Aplicações e Desafios
Cloud Computing: Infraestrutura, Aplicações e DesafiosMarcos Ferreira
 
Carreira em desenvolvimento de software
Carreira em desenvolvimento de softwareCarreira em desenvolvimento de software
Carreira em desenvolvimento de softwareMarcos Ferreira
 
Andando nas nuvens, uma abordagem prática
Andando nas nuvens, uma abordagem práticaAndando nas nuvens, uma abordagem prática
Andando nas nuvens, uma abordagem práticaMarcos Ferreira
 
Apresentação Estágio UDESC
Apresentação Estágio UDESCApresentação Estágio UDESC
Apresentação Estágio UDESCMarcos Ferreira
 
Developer day 2010 - html-css
Developer day   2010 - html-cssDeveloper day   2010 - html-css
Developer day 2010 - html-cssMarcos Ferreira
 
Developer day 2010 - javascript
Developer day   2010 - javascriptDeveloper day   2010 - javascript
Developer day 2010 - javascriptMarcos Ferreira
 

More from Marcos Ferreira (8)

Cloud Computing: Infraestrutura, Aplicações e Desafios
Cloud Computing: Infraestrutura, Aplicações e DesafiosCloud Computing: Infraestrutura, Aplicações e Desafios
Cloud Computing: Infraestrutura, Aplicações e Desafios
 
Carreira em desenvolvimento de software
Carreira em desenvolvimento de softwareCarreira em desenvolvimento de software
Carreira em desenvolvimento de software
 
Introdução a TDD
Introdução a TDDIntrodução a TDD
Introdução a TDD
 
Andando nas nuvens, uma abordagem prática
Andando nas nuvens, uma abordagem práticaAndando nas nuvens, uma abordagem prática
Andando nas nuvens, uma abordagem prática
 
Apresentação Estágio UDESC
Apresentação Estágio UDESCApresentação Estágio UDESC
Apresentação Estágio UDESC
 
Developer day 2010 - html-css
Developer day   2010 - html-cssDeveloper day   2010 - html-css
Developer day 2010 - html-css
 
Developer day 2010 - javascript
Developer day   2010 - javascriptDeveloper day   2010 - javascript
Developer day 2010 - javascript
 
Kit Processos de Viagem
Kit Processos de ViagemKit Processos de Viagem
Kit Processos de Viagem
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 

TDC 2015 - Java: from old school to modern art!