SlideShare a Scribd company logo
Software Design in
Practice
Ganesh Samarthyam
Entrepreneur; author; speaker
ganesh@codeops.tech
www.codeops.tech
Discussion Question
Which one of the following is MOST IGNORED aspect in
software development?
โ– Code quality
โ– Software testing
โ– Software design
โ– Programming
Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)
"... a delightful, engaging, actionable read... you have
in your hand a veritable ๏ฌeld guide of smells... one
of the more interesting and complex expositions of
software smells you will ever ๏ฌnd..."
- From the foreword by Grady Booch (IBM Fellow and Chief Scientist for
Software Engineering, IBM Research)
Why Care About Principles?
Poor software quality costs
more than $150 billion per year
in U.S. and greater than $500
billion per year worldwide
- Capers Jones
Source: Estimating the Principal of an Application's Technical Debt, Bill Curtis, Jay
Sappidi, Alexandra Szynkarski, IEEE Software, Nov.-Dec. 2012.
Source: Consortium of IT Software Quality (CISQ), Bill Curtis, Architecturally Complex Defects, 2012
โ€“Craig Larman
"The critical design tool for software development
is a mind well educated in design principles"
For Architects: Design is the Key!
Design Thinking
Fundamental Principles in Software Design
Principles*
Abstrac/on*
Encapsula/on*
Modulariza/on*
Hierarchy*
Proactive Application: Enabling Techniques
Reactive Application: Smells
$ cat limerick.txt
There was a young lady of Niger
Who smiled as she rode on a tiger.
They returned from the ride
With the lady inside
And a smile on the face of the tiger.
$ cat limerick.txt | tr -cs "[:alpha:]" "n" | awk '{print length(), $0}' | sort | uniq
1 a
2 as
2 of
2 on
3 And
3 Who
3 she
3 the
3 was
4 They
4 With
4 face
4 from
4 lady
4 ride
4 rode
5 Niger
5 There
5 smile
5 tiger
5 young
6 inside
6 smiled
8 returned
List<String> lines
= Files.readAllLines(Paths.get("./limerick.txt"), Charset.defaultCharset());
	 	 Map<Integer, List<String>> wordGroups
	 	 = lines.stream()
	 .map(line -> line.replaceAll("W", "n").split("n"))
	 .flatMap(Arrays::stream)
	 .sorted()
	 .distinct()
	 .collect(Collectors.groupingBy(String::length));
	 	 wordGroups.forEach( (count, words) -> {
	 	 words.forEach(word -> System.out.printf("%d %s %n", count, word));
	 	 });
1 a
2 as
2 of
2 on
3 And
3 Who
3 she
3 the
3 was
4 They
4 With
4 face
4 from
4 lady
4 ride
4 rode
5 Niger
5 There
5 smile
5 tiger
5 young
6 inside
6 smiled
8 returned
Parallel Streams
race conditions
Software Design in Practice (with Java examples)
deadlocks
Software Design in Practice (with Java examples)
I really really hate
concurrency problems
Parallel code
Serial code
long numOfPrimes = LongStream.rangeClosed(2, 100_000)
.๏ฌlter(PrimeNumbers::isPrime)
.count();
System.out.println(numOfPrimes);
Prints 9592
2.510 seconds
Parallel code
Serial code
Letโ€™s ๏ฌ‚ip the switch by
calling parallel() function
long numOfPrimes = LongStream.rangeClosed(2, 100_000)
.parallel()
.๏ฌlter(PrimeNumbers::isPrime)
.count();
System.out.println(numOfPrimes);
Prints 9592
1.235 seconds
Wow! Thatโ€™s an awesome ๏ฌ‚ip
switch!
Internally, parallel streams make
use of fork-join framework
Discussion Question
What is refactoring?
โ– Needless rework!
โ– Changing internal structure without changing external
behaviour
โ– Changing external quality (scalability, performance, etc)
โ– Fixing hidden or latent defects
Whatโ€™s that smell?
public'Insets'getBorderInsets(Component'c,'Insets'insets){'
''''''''Insets'margin'='null;'
'''''''''//'Ideally'we'd'have'an'interface'de๏ฌned'for'classes'which'
''''''''//'support'margins'(to'avoid'this'hackery),'but'we've'
''''''''//'decided'against'it'for'simplicity'
''''''''//'
''''''''if'(c'instanceof'AbstractBuEon)'{'
'''''''''''''''''margin'='((AbstractBuEon)c).getMargin();'
''''''''}'else'if'(c'instanceof'JToolBar)'{'
''''''''''''''''margin'='((JToolBar)c).getMargin();'
''''''''}'else'if'(c'instanceof'JTextComponent)'{'
''''''''''''''''margin'='((JTextComponent)c).getMargin();'
''''''''}'
''''''''//'rest'of'the'code'omiEed'โ€ฆ'
Refactoring
Refactoring
!!!!!!!margin!=!c.getMargin();
!!!!!!!!if!(c!instanceof!AbstractBu8on)!{!
!!!!!!!!!!!!!!!!!margin!=!((AbstractBu8on)c).getMargin();!
!!!!!!!!}!else!if!(c!instanceof!JToolBar)!{!
!!!!!!!!!!!!!!!!margin!=!((JToolBar)c).getMargin();!
!!!!!!!!}!else!if!(c!instanceof!JTextComponent)!{!
!!!!!!!!!!!!!!!!margin!=!((JTextComponent)c).getMargin();!
!!!!!!!!}
Design Smells: Example
Discussion Example
Design Smells: Example
Discussion Example
// using java.util.Date
Date today = new Date();
System.out.println(today);
$ java DateUse
Wed Dec 02 17:17:08 IST 2015
Why should we get the
time and timezone details
if I only want a date? Can
I get rid of these parts?
No!
So What!
Date today = new Date();
System.out.println(today);
Date todayAgain = new Date();
System.out.println(todayAgain);
System.out.println(today.compareTo(todayAgain) == 0);
Thu Mar 17 13:21:55 IST 2016
Thu Mar 17 13:21:55 IST 2016
false
What is going
on here?
Refactoring for Date
Replace inheritance
with delegation
Joda API
JSR 310: Java Date and Time API
Stephen Colebourne
java.time package!
Refactored Solution
LocalDate today = LocalDate.now();
System.out.println(today);
LocalDate todayAgain = LocalDate.now();
System.out.println(todayAgain);
System.out.println(today.compareTo(todayAgain) == 0);
2016-03-17
2016-03-17
true
Works ๏ฌne
now!
Refactored Example โ€ฆ
You can use only date,
time, or even timezone,
and combine them as
needed!
LocalDate today = LocalDate.now();
System.out.println(today);
LocalTime now = LocalTime.now();
System.out.println(now);
ZoneId id = ZoneId.of("Asia/Tokyo");
System.out.println(id);
LocalDateTime todayAndNow = LocalDateTime.now();
System.out.println(todayAndNow);
ZonedDateTime todayAndNowInTokyo = ZonedDateTime.now(ZoneId.of("Asia/Tokyo"));
System.out.println(todayAndNowInTokyo);
2016-03-17
13:28:06.927
Asia/Tokyo
2016-03-17T13:28:06.928
2016-03-17T16:58:06.929+09:00[Asia/Tokyo]
More classes in Date/Time API
Whatโ€™s that smell?
Liskovโ€™s Substitution Principle (LSP)
It#should#be#possible#to#replace#
objects#of#supertype#with#
objects#of#subtypes#without#
altering#the#desired#behavior#of#
the#program#
Barbara#Liskov#
Refactoring
Replace inheritance
with delegation
Whatโ€™s that smell?
switch'(transferType)'{'
case'DataBu๏ฌ€er.TYPE_BYTE:'
byte'bdata[]'='(byte[])inData;'
pixel'='bdata[0]'&'0x๏ฌ€;'
length'='bdata.length;'
break;'
case'DataBu๏ฌ€er.TYPE_USHORT:'
short'sdata[]'='(short[])inData;'
pixel'='sdata[0]'&'0x๏ฌ€๏ฌ€;'
length'='sdata.length;'
break;'
case'DataBu๏ฌ€er.TYPE_INT:'
int'idata[]'='(int[])inData;'
pixel'='idata[0];'
length'='idata.length;'
break;'
default:'
throw' new' UnsupportedOperaQonExcepQon("This' method' has' not' been' "+' "implemented'
for'transferType'"'+'transferType);'
}'
Replace conditional with polymorphism
protected(int(transferType;! protected(DataBu๏ฌ€er(dataBu๏ฌ€er;!
pixel(=(dataBu๏ฌ€er.getPixel();(
length(=(dataBu๏ฌ€er.getSize();!
switch((transferType)({(
case(DataBu๏ฌ€er.TYPE_BYTE:(
byte(bdata[](=((byte[])inData;(
pixel(=(bdata[0](&(0x๏ฌ€;(
length(=(bdata.length;(
break;(
case(DataBu๏ฌ€er.TYPE_USHORT:(
short(sdata[](=((short[])inData;(
pixel(=(sdata[0](&(0x๏ฌ€๏ฌ€;(
length(=(sdata.length;(
break;(
case(DataBu๏ฌ€er.TYPE_INT:(
int(idata[](=((int[])inData;(
pixel(=(idata[0];(
length(=(idata.length;(
break;(
default:(
throw( new( UnsupportedOperaRonExcepRon("This( method(
has( not( been( "+( "implemented( for( transferType( "( +(
transferType);(
}!
Discussion Question
What is the biggest deterrent to performing refactoring?
โ– Deadlines! (Lack of time and resources)
โ– Fear of breaking the working code
โ– Not able to get management buy-in for refactoring
โ– Lack of technical skills to perform refactoring
Configuration Smells!
Language Features & Refactoring
public static void main(String []file) throws Exception {
// process each file passed as argument
// try opening the file with FileReader
try (FileReader inputFile = new FileReader(file[0])) {
int ch = 0;
while( (ch = inputFile.read()) != -1) {
// ch is of type int - convert it back to char
System.out.print( (char)ch );
}
}
// try-with-resources will automatically release FileReader object
}
public static void main(String []file) throws Exception {
Files.lines(Paths.get(file[0])).forEach(System.out::println);
}
Java 8 lambdas and streams
Tangles in
JDK
Copyright ยฉ 2015, Oracle and/or its af๏ฌliates. All rights reserved
Copyright ยฉ 2015, Oracle and/or its af๏ฌliates. All rights reserved
Structural Analysis for Java (stan4j)
JArchitect
InFusion
SotoArc
CodeCity
Name the ๏ฌrst
object
oriented
programming
language
BANGALORE CONTAINER CONFERENCE 2017
Sponsorship
Deck
Apr 07
Bangalore
www.containerconf.in
ganesh@codeops.tech @GSamarthyam
www.codeops.tech slideshare.net/sgganesh
+91 98801 64463 bit.ly/ganeshsg

More Related Content

What's hot (19)

PDF
Java Generics - by Example
Ganesh Samarthyam
ย 
PDF
The best language in the world
David Muรฑoz Dรญaz
ย 
PPT
Groovy Introduction - JAX Germany - 2008
Guillaume Laforge
ย 
PDF
Advanced Debugging Using Java Bytecodes
Ganesh Samarthyam
ย 
DOCX
Lab manual data structure (cs305 rgpv) (usefulsearch.org) (useful search)
Make Mannan
ย 
DOC
Ds lab manual by s.k.rath
SANTOSH RATH
ย 
PDF
Coding Guidelines - Crafting Clean Code
Ganesh Samarthyam
ย 
PDF
Functional Programming Patterns (BuildStuff '14)
Scott Wlaschin
ย 
PDF
ยซiPython & Jupyter: 4 fun & profitยป, ะ›ะตะฒ ะขะพะฝะบะธั…, Rambler&Co
Mail.ru Group
ย 
PPTX
Java 7, 8 & 9 - Moving the language forward
Mario Fusco
ย 
PDF
C# 7.x What's new and what's coming with C# 8
Christian Nagel
ย 
PDF
Laziness, trampolines, monoids and other functional amenities: this is not yo...
Mario Fusco
ย 
PDF
Lambdas and Streams Master Class Part 2
Josรฉ Paumard
ย 
PDF
Java 8 Stream API. A different way to process collections.
David Gรณmez Garcรญa
ย 
PPTX
Python
Wei-Bo Chen
ย 
PDF
Effective Object Oriented Design in Cpp
CodeOps Technologies LLP
ย 
PPTX
07. Java Array, Set and Maps
Intro C# Book
ย 
PPTX
Functional Programming in JavaScript by Luis Atencio
Luis Atencio
ย 
PDF
The Rust Borrow Checker
Nell Shamrell-Harrington
ย 
Java Generics - by Example
Ganesh Samarthyam
ย 
The best language in the world
David Muรฑoz Dรญaz
ย 
Groovy Introduction - JAX Germany - 2008
Guillaume Laforge
ย 
Advanced Debugging Using Java Bytecodes
Ganesh Samarthyam
ย 
Lab manual data structure (cs305 rgpv) (usefulsearch.org) (useful search)
Make Mannan
ย 
Ds lab manual by s.k.rath
SANTOSH RATH
ย 
Coding Guidelines - Crafting Clean Code
Ganesh Samarthyam
ย 
Functional Programming Patterns (BuildStuff '14)
Scott Wlaschin
ย 
ยซiPython & Jupyter: 4 fun & profitยป, ะ›ะตะฒ ะขะพะฝะบะธั…, Rambler&Co
Mail.ru Group
ย 
Java 7, 8 & 9 - Moving the language forward
Mario Fusco
ย 
C# 7.x What's new and what's coming with C# 8
Christian Nagel
ย 
Laziness, trampolines, monoids and other functional amenities: this is not yo...
Mario Fusco
ย 
Lambdas and Streams Master Class Part 2
Josรฉ Paumard
ย 
Java 8 Stream API. A different way to process collections.
David Gรณmez Garcรญa
ย 
Python
Wei-Bo Chen
ย 
Effective Object Oriented Design in Cpp
CodeOps Technologies LLP
ย 
07. Java Array, Set and Maps
Intro C# Book
ย 
Functional Programming in JavaScript by Luis Atencio
Luis Atencio
ย 
The Rust Borrow Checker
Nell Shamrell-Harrington
ย 

Viewers also liked (20)

DOCX
Rรฉsumรฉ 2016
Katherine Kereszturi
ย 
PDF
L04 Software Design Examples
ร“lafur Andri Ragnarsson
ย 
PDF
a wild Supposition: can MySQL be Kafka ?
vishnu rao
ย 
PDF
Punch clock for debugging apache storm
vishnu rao
ย 
PDF
Build your own Real Time Analytics and Visualization, Enable Complex Event Pr...
vishnu rao
ย 
PPTX
Do you need microservices architecture?
Manu Pk
ย 
PDF
Demystifying datastores
vishnu rao
ย 
PPTX
Better java with design
Narayann Swaami
ย 
PDF
Visualising Basic Concepts of Docker
vishnu rao
ย 
PDF
Spring IO '15 - Developing microservices, Spring Boot or Grails?
Fรกtima Casaรบ Pรฉrez
ย 
PDF
Java Generics - by Example
CodeOps Technologies LLP
ย 
PPTX
Effective DB Interaction
CodeOps Technologies LLP
ย 
PPTX
Java 8 concurrency abstractions
Nawazish Mohammad Khan
ย 
PDF
Let's Go: Introduction to Google's Go Programming Language
Ganesh Samarthyam
ย 
PDF
Microservices with Spring Boot
Joshua Long
ย 
PDF
Microservices with Java, Spring Boot and Spring Cloud
Eberhard Wolff
ย 
PDF
Core Java - Quiz Questions - Bug Hunt
CodeOps Technologies LLP
ย 
PDF
Microservice With Spring Boot and Spring Cloud
Eberhard Wolff
ย 
DOCX
Spm file33
Poonam Singh
ย 
PDF
2013 Social Admissions Report
Uversity, Inc.
ย 
Rรฉsumรฉ 2016
Katherine Kereszturi
ย 
L04 Software Design Examples
ร“lafur Andri Ragnarsson
ย 
a wild Supposition: can MySQL be Kafka ?
vishnu rao
ย 
Punch clock for debugging apache storm
vishnu rao
ย 
Build your own Real Time Analytics and Visualization, Enable Complex Event Pr...
vishnu rao
ย 
Do you need microservices architecture?
Manu Pk
ย 
Demystifying datastores
vishnu rao
ย 
Better java with design
Narayann Swaami
ย 
Visualising Basic Concepts of Docker
vishnu rao
ย 
Spring IO '15 - Developing microservices, Spring Boot or Grails?
Fรกtima Casaรบ Pรฉrez
ย 
Java Generics - by Example
CodeOps Technologies LLP
ย 
Effective DB Interaction
CodeOps Technologies LLP
ย 
Java 8 concurrency abstractions
Nawazish Mohammad Khan
ย 
Let's Go: Introduction to Google's Go Programming Language
Ganesh Samarthyam
ย 
Microservices with Spring Boot
Joshua Long
ย 
Microservices with Java, Spring Boot and Spring Cloud
Eberhard Wolff
ย 
Core Java - Quiz Questions - Bug Hunt
CodeOps Technologies LLP
ย 
Microservice With Spring Boot and Spring Cloud
Eberhard Wolff
ย 
Spm file33
Poonam Singh
ย 
2013 Social Admissions Report
Uversity, Inc.
ย 
Ad

Similar to Software Design in Practice (with Java examples) (20)

PDF
Refactoring for software design smells XP Conference 2016 Ganesh Samarthyam...
XP Conference India
ย 
PDF
Refactoring for Software Design smells - XP Conference - August 20th 2016
CodeOps Technologies LLP
ย 
PDF
Refactoring for Software Design Smells - Tech Talk
CodeOps Technologies LLP
ย 
PPTX
Java best practices
Ray Toal
ย 
PDF
Functional solid
Matt Stine
ย 
PDF
Clean code
Khou Suylong
ย 
PDF
Architecture refactoring - accelerating business success
Ganesh Samarthyam
ย 
PDF
How to Apply Design Principles in Practice
Ganesh Samarthyam
ย 
PDF
LECTURE 6 DESIGN, DEBUGGING, INTERFACES.pdf
SHASHIKANT346021
ย 
PPT
Dependable Software Development in Software Engineering SE18
koolkampus
ย 
PDF
A Philosophy Of Software Design Ousterhout John
boonegalayd9
ย 
PDF
LECTURE 6 DESIGN, DEBasd, INTERFACES.pdf
ShashikantSathe3
ย 
PPTX
Slides for Houston iPhone Developers' Meetup (April 2012)
lqi
ย 
KEY
2 the essentials of effective java
Honnix Liang
ย 
PDF
A Philosophy Of Software Design John Ousterhout
funkiesamm
ย 
PPTX
Functional Leap of Faith (Keynote at JDay Lviv 2014)
Tomer Gabel
ย 
PPTX
Does Java Have a Future After Version 8? (Belfast JUG April 2014)
Garth Gilmour
ย 
KEY
Maintainable code
RiverGlide
ย 
PDF
core java
dssreenath
ย 
PPTX
Writing clean code in C# and .NET
Dror Helper
ย 
Refactoring for software design smells XP Conference 2016 Ganesh Samarthyam...
XP Conference India
ย 
Refactoring for Software Design smells - XP Conference - August 20th 2016
CodeOps Technologies LLP
ย 
Refactoring for Software Design Smells - Tech Talk
CodeOps Technologies LLP
ย 
Java best practices
Ray Toal
ย 
Functional solid
Matt Stine
ย 
Clean code
Khou Suylong
ย 
Architecture refactoring - accelerating business success
Ganesh Samarthyam
ย 
How to Apply Design Principles in Practice
Ganesh Samarthyam
ย 
LECTURE 6 DESIGN, DEBUGGING, INTERFACES.pdf
SHASHIKANT346021
ย 
Dependable Software Development in Software Engineering SE18
koolkampus
ย 
A Philosophy Of Software Design Ousterhout John
boonegalayd9
ย 
LECTURE 6 DESIGN, DEBasd, INTERFACES.pdf
ShashikantSathe3
ย 
Slides for Houston iPhone Developers' Meetup (April 2012)
lqi
ย 
2 the essentials of effective java
Honnix Liang
ย 
A Philosophy Of Software Design John Ousterhout
funkiesamm
ย 
Functional Leap of Faith (Keynote at JDay Lviv 2014)
Tomer Gabel
ย 
Does Java Have a Future After Version 8? (Belfast JUG April 2014)
Garth Gilmour
ย 
Maintainable code
RiverGlide
ย 
core java
dssreenath
ย 
Writing clean code in C# and .NET
Dror Helper
ย 
Ad

More from Ganesh Samarthyam (20)

PDF
Wonders of the Sea
Ganesh Samarthyam
ย 
PDF
Animals - for kids
Ganesh Samarthyam
ย 
PDF
Applying Refactoring Tools in Practice
Ganesh Samarthyam
ย 
PDF
CFP - 1st Workshop on โ€œAI Meets Blockchainโ€
Ganesh Samarthyam
ย 
PDF
Great Coding Skills Aren't Enough
Ganesh Samarthyam
ย 
PDF
College Project - Java Disassembler - Description
Ganesh Samarthyam
ย 
PDF
Bangalore Container Conference 2017 - Brief Presentation
Ganesh Samarthyam
ย 
PDF
Bangalore Container Conference 2017 - Poster
Ganesh Samarthyam
ย 
PDF
OO Design and Design Patterns in C++
Ganesh Samarthyam
ย 
PDF
Bangalore Container Conference 2017 - Sponsorship Deck
Ganesh Samarthyam
ย 
PPT
Google's Go Programming Language - Introduction
Ganesh Samarthyam
ย 
PDF
Java Generics - Quiz Questions
Ganesh Samarthyam
ย 
PDF
Software Architecture - Quiz Questions
Ganesh Samarthyam
ย 
PDF
Docker by Example - Quiz
Ganesh Samarthyam
ย 
PDF
Core Java: Best practices and bytecodes quiz
Ganesh Samarthyam
ย 
PDF
Refactoring for Software Architecture Smells - International Workshop on Refa...
Ganesh Samarthyam
ย 
PDF
Refactoring for Software Architecture Smells - International Workshop on Refa...
Ganesh Samarthyam
ย 
PDF
Writing an Abstract - Template (for research papers)
Ganesh Samarthyam
ย 
PDF
How to Write Abstracts (for White Papers, Research Papers, ...)
Ganesh Samarthyam
ย 
PDF
Java Concurrency - Quiz Questions
Ganesh Samarthyam
ย 
Wonders of the Sea
Ganesh Samarthyam
ย 
Animals - for kids
Ganesh Samarthyam
ย 
Applying Refactoring Tools in Practice
Ganesh Samarthyam
ย 
CFP - 1st Workshop on โ€œAI Meets Blockchainโ€
Ganesh Samarthyam
ย 
Great Coding Skills Aren't Enough
Ganesh Samarthyam
ย 
College Project - Java Disassembler - Description
Ganesh Samarthyam
ย 
Bangalore Container Conference 2017 - Brief Presentation
Ganesh Samarthyam
ย 
Bangalore Container Conference 2017 - Poster
Ganesh Samarthyam
ย 
OO Design and Design Patterns in C++
Ganesh Samarthyam
ย 
Bangalore Container Conference 2017 - Sponsorship Deck
Ganesh Samarthyam
ย 
Google's Go Programming Language - Introduction
Ganesh Samarthyam
ย 
Java Generics - Quiz Questions
Ganesh Samarthyam
ย 
Software Architecture - Quiz Questions
Ganesh Samarthyam
ย 
Docker by Example - Quiz
Ganesh Samarthyam
ย 
Core Java: Best practices and bytecodes quiz
Ganesh Samarthyam
ย 
Refactoring for Software Architecture Smells - International Workshop on Refa...
Ganesh Samarthyam
ย 
Refactoring for Software Architecture Smells - International Workshop on Refa...
Ganesh Samarthyam
ย 
Writing an Abstract - Template (for research papers)
Ganesh Samarthyam
ย 
How to Write Abstracts (for White Papers, Research Papers, ...)
Ganesh Samarthyam
ย 
Java Concurrency - Quiz Questions
Ganesh Samarthyam
ย 

Recently uploaded (20)

PDF
Alur Perkembangan Software dan Jaringan Komputer
ssuser754303
ย 
PPTX
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
ย 
PDF
Best Software Development at Best Prices
softechies7
ย 
PDF
AI Software Development Process, Strategies and Challenges
Net-Craft.com
ย 
PPTX
CV-Project_2024 version 01222222222.pptx
MohammadSiddiqui70
ย 
PDF
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
ย 
PDF
Writing Maintainable Playwright Tests with Ease
Shubham Joshi
ย 
PPTX
IObit Driver Booster Pro Crack Download Latest Version
chaudhryakashoo065
ย 
PPTX
Agentforce โ€“ TDX 2025 Hackathon Achievement
GetOnCRM Solutions
ย 
PDF
capitulando la keynote de GrafanaCON 2025 - Madrid
Imma Valls Bernaus
ย 
PPTX
For my supp to finally picking supp that work
necas19388
ย 
PDF
Automated Testing and Safety Analysis of Deep Neural Networks
Lionel Briand
ย 
DOCX
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
SEOLIFT - SEO Company London
ย 
PPTX
Android Notifications-A Guide to User-Facing Alerts in Android .pptx
Nabin Dhakal
ย 
PDF
Mastering VPC Architecture Build for Scale from Day 1.pdf
Devseccops.ai
ย 
PDF
TEASMA: A Practical Methodology for Test Adequacy Assessment of Deep Neural N...
Lionel Briand
ย 
PPTX
declaration of Variables and constants.pptx
meemee7378
ย 
DOCX
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
ย 
PDF
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
ย 
PDF
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
ย 
Alur Perkembangan Software dan Jaringan Komputer
ssuser754303
ย 
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
ย 
Best Software Development at Best Prices
softechies7
ย 
AI Software Development Process, Strategies and Challenges
Net-Craft.com
ย 
CV-Project_2024 version 01222222222.pptx
MohammadSiddiqui70
ย 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
ย 
Writing Maintainable Playwright Tests with Ease
Shubham Joshi
ย 
IObit Driver Booster Pro Crack Download Latest Version
chaudhryakashoo065
ย 
Agentforce โ€“ TDX 2025 Hackathon Achievement
GetOnCRM Solutions
ย 
capitulando la keynote de GrafanaCON 2025 - Madrid
Imma Valls Bernaus
ย 
For my supp to finally picking supp that work
necas19388
ย 
Automated Testing and Safety Analysis of Deep Neural Networks
Lionel Briand
ย 
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
SEOLIFT - SEO Company London
ย 
Android Notifications-A Guide to User-Facing Alerts in Android .pptx
Nabin Dhakal
ย 
Mastering VPC Architecture Build for Scale from Day 1.pdf
Devseccops.ai
ย 
TEASMA: A Practical Methodology for Test Adequacy Assessment of Deep Neural N...
Lionel Briand
ย 
declaration of Variables and constants.pptx
meemee7378
ย 
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
ย 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
ย 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
ย 

Software Design in Practice (with Java examples)