SlideShare a Scribd company logo
Google
Guava
Scott
Leberknight
"Guava is the open-sourced version of
Google's core Java libraries: the core utilities
that Googlers use every day in their code."
"Guava has been battle-tested in
production at Google"
"Guava has staggering numbers of unit
tests: as of July 2012, the guava-tests
package includes over 286,000
individual test cases."
WAT???
"Guava is under active development and
has a strong, vocal, and involved user base."
collections
concurrency
primitives
reflection
comparison
I/o
math
strings
hashing
caching
in-memory pub/sub
net/http
Examples...
preconditions
checkArgument(age >= drinkingAge,
"age must be greater than %s", drinkingAge);
checkNotNull(input, "input cannot be null");
"Null sucks" - Doug Lea
avoiding nulls
Optional<String> value = Optional.fromNullable(str);
if (value.isPresent()) {
// ...
}
joining strings
List<String> fruits =
Arrays.asList("apple", null, "orange", null, null, "guava");
String joined = Joiner.on(", ").skipNulls().join(fruits);
// "apple, orange, guava"
List<String> fruits =
Arrays.asList("apple", null, "orange", null, null, "guava");
String joined =
Joiner.on(", ).useForNull("banana").join(fruits);
// "apple, banana, orange, banana, banana, guava"
splitting strings
String input = ",, ,apple, orange ,,, banana,, ,guava, ,,";
Iterable<String> split =
Splitter.on(',').omitEmptyStrings().trimResults().split(input);
// [ "apple", "orange", "banana", "guava" ]
CharMatcher
CharMatcher matcher =
CharMatcher.DIGIT.or(inRange('a', 'z').or(inRange('A', 'Z')));
if (matcher.matchesAllOf("this1will2match3")) {
// ...
}
String input = " secret passcode ";
String result = CharMatcher.WHITESPACE.trimFrom(input);
Objects
Objects.equal
Objects.toStringHelper
compareTo() via ComparisonChain
Ordering
Multiset
Track frequencies of
elements, e.g. "word counting"
Iterable<String> words = Splitter.on(' ').split(document);
Multiset<String> wordCounts = HashMultiset.create(words);
for (Multiset.Entry<String> entry : wordCounts.entrySet()) {
String word = entry.getElement();
int count = counts.count(element);
System.out.printf("%s appears %d timesn", word, count);
}
Map<String, List<String>>
Tired of this?
Multimap
Multimap<String, String> mm =
ArrayListMultimap.create();
Collection<String> smiths = mm.get("Smith");
// empty collection (never null)
mm.put("Smith", "John");
mm.put("Smith", "Alice");
mm.put("Smith", "Diane");
smiths = mm.get("Smith");
// [ "John", "Alice", "Diane" ]
Sets
Set<String> set1 = Sets.newHashSet("apple", "orange", "guava");
Set<String> set2 = Sets.newHashSet("guava", "clementine");
Sets.SetView<String> diff1to2 = Sets.difference(set1, set2);
// "apple", "orange"
Sets.SetView<String> diff2to1 = Sets.difference(set2, set1);
// "clementine"
Table
Table<R, C, V>
Ranges &
Domains
Range<Integer> range = Range.openClosed(0, 10);
ContiguousSet<Integer> contiguousSet =
ContiguousSet.create(range, DiscreteDomain.integers());
ImmutableList<Integer> numbers = contiguousSet.asList();
// [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
FP in Guava
FluentIterable<Integer> squaresOfEvens = FluentIterable.from(numbers)
.filter(new Predicate<Integer>() {
@Override
public boolean apply(@Nullable Integer input) {
checkNotNull(input, "nulls are not allowed here!");
return input % 2 == 0;
}
})
.transform(new Function<Integer, Integer>() {
@Nullable
@Override
public Integer apply(@Nullable Integer input) {
checkNotNull(input, "nulls are not allowed here!");
return input * input;
}
});
// [ 4, 16, 36, 64, 100 ]
WAT?
Until Java 8...
List<Integer> squaresOfEvens = Lists.newArrayList();
for (Integer number : numbers) {
if (number % 2 == 0) {
squaresOfEvens.add(number * number);
}
}
// [ 4, 16, 36, 64, 100 ]
"Excessive use of Guava's functional programming idioms
can lead to verbose, confusing, unreadable, and inefficient
code.These are by far the most easily (and most
commonly) abused parts of Guava, and when you go to
preposterous lengths to make your code "a one-liner," the
Guava team weeps."
ListenableFuture
// setup...
ExecutorService delegate = Executors.newFixedThreadPool(MAX_THREADS);
ListeningExecutorService executorService =
MoreExecutors.listeningDecorator(delegate);
// submit tasks...
ListenableFuture<WorkResult> future = executorService.submit(worker);
Futures.addCallback(future, new FutureCallback<WorkResult>() {
@Override
public void onSuccess(WorkResult result) {
// do something after success...
}
@Override
public void onFailure(Throwable t) {
// handle error...
}
}, executorService););
@Beta
"...subject to change..."
"Guava deprecates, and yes, deletes
unwanted features over time. It is
important to us that when you see a
feature in the Javadocs, it represents
the Guava team's best work, and not
a feature that in retrospect was a bad
idea."
Get some
Guava!
References
https://code.google.com/p/guava-libraries/
https://code.google.com/p/guava-libraries/wiki/GuavaExplained
https://code.google.com/p/guava-libraries/downloads/list
http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/
index.html
http://www.tfnico.com/presentations/google-guava
http://codingjunkie.net/tag/guava/
Photo Attributions
* this one is iStockPhoto (paid) -->
http://www.morguefile.com/archive/display/138854
http://www.flickr.com/photos/hermansaksono/4297175782/
http://commons.wikimedia.org/wiki/File:Guava_ID.jpg
http://www.flickr.com/photos/88845568@N00/2076930689/
http://www.flickr.com/photos/mohannad_khatib/6352720649/
https://github.com/sleberknight/google-guava-samples
Sample code
available at:
My Info
scott dot leberknight at nearinfinity dot com
twitter.com/sleberknight www.sleberknight.com/blog
www.nearinfinity.com/blogs/scott_leberknight/all/
scott dot leberknight at gmail dot com

More Related Content

What's hot

Google guava - almost everything you need to know
Google guava - almost everything you need to knowGoogle guava - almost everything you need to know
Google guava - almost everything you need to know
Tomasz Dziurko
 
JEEConf 2017 - Having fun with Javassist
JEEConf 2017 - Having fun with JavassistJEEConf 2017 - Having fun with Javassist
JEEConf 2017 - Having fun with Javassist
Anton Arhipov
 
Lambda functions in java 8
Lambda functions in java 8Lambda functions in java 8
Lambda functions in java 8James Brown
 
The Groovy Puzzlers – The Complete 01 and 02 Seasons
The Groovy Puzzlers – The Complete 01 and 02 SeasonsThe Groovy Puzzlers – The Complete 01 and 02 Seasons
The Groovy Puzzlers – The Complete 01 and 02 Seasons
Baruch Sadogursky
 
Java 8 Puzzlers [as presented at OSCON 2016]
Java 8 Puzzlers [as presented at  OSCON 2016]Java 8 Puzzlers [as presented at  OSCON 2016]
Java 8 Puzzlers [as presented at OSCON 2016]
Baruch Sadogursky
 
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloadingRiga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Anton Arhipov
 
Jquery 1.3 cheatsheet_v1
Jquery 1.3 cheatsheet_v1Jquery 1.3 cheatsheet_v1
Jquery 1.3 cheatsheet_v1
Sultan Khan
 
Jquery 13 cheatsheet_v1
Jquery 13 cheatsheet_v1Jquery 13 cheatsheet_v1
Jquery 13 cheatsheet_v1
ilesh raval
 
Groovy 1.8の新機能について
Groovy 1.8の新機能についてGroovy 1.8の新機能について
Groovy 1.8の新機能について
Uehara Junji
 
GeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassleGeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassle
Anton Arhipov
 
5-minute intro to property-based testing in Python with hypothesis
5-minute intro to property-based testing in Python with hypothesis5-minute intro to property-based testing in Python with hypothesis
5-minute intro to property-based testing in Python with hypothesis
Franklin Chen
 
Java 8 new features or the ones you might actually use
Java 8 new features or the ones you might actually useJava 8 new features or the ones you might actually use
Java 8 new features or the ones you might actually use
Sharon Rozinsky
 
0003 es5 핵심 정리
0003 es5 핵심 정리0003 es5 핵심 정리
0003 es5 핵심 정리
욱래 김
 
LetSwift RxSwift 시작하기
LetSwift RxSwift 시작하기LetSwift RxSwift 시작하기
LetSwift RxSwift 시작하기
Wanbok Choi
 
CodeCamp Iasi 10 march 2012 - Practical Groovy
CodeCamp Iasi 10 march 2012 - Practical GroovyCodeCamp Iasi 10 march 2012 - Practical Groovy
CodeCamp Iasi 10 march 2012 - Practical GroovyCodecamp Romania
 
Ejemplo radio
Ejemplo radioEjemplo radio
Ejemplo radio
lupe ga
 
Important java programs(collection+file)
Important java programs(collection+file)Important java programs(collection+file)
Important java programs(collection+file)Alok Kumar
 
EMFPath
EMFPathEMFPath
EMFPath
mikaelbarbero
 
RxSwift 활용하기 - Let'Swift 2017
RxSwift 활용하기 - Let'Swift 2017RxSwift 활용하기 - Let'Swift 2017
RxSwift 활용하기 - Let'Swift 2017
Wanbok Choi
 
Scala in practice
Scala in practiceScala in practice
Scala in practice
andyrobinson8
 

What's hot (20)

Google guava - almost everything you need to know
Google guava - almost everything you need to knowGoogle guava - almost everything you need to know
Google guava - almost everything you need to know
 
JEEConf 2017 - Having fun with Javassist
JEEConf 2017 - Having fun with JavassistJEEConf 2017 - Having fun with Javassist
JEEConf 2017 - Having fun with Javassist
 
Lambda functions in java 8
Lambda functions in java 8Lambda functions in java 8
Lambda functions in java 8
 
The Groovy Puzzlers – The Complete 01 and 02 Seasons
The Groovy Puzzlers – The Complete 01 and 02 SeasonsThe Groovy Puzzlers – The Complete 01 and 02 Seasons
The Groovy Puzzlers – The Complete 01 and 02 Seasons
 
Java 8 Puzzlers [as presented at OSCON 2016]
Java 8 Puzzlers [as presented at  OSCON 2016]Java 8 Puzzlers [as presented at  OSCON 2016]
Java 8 Puzzlers [as presented at OSCON 2016]
 
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloadingRiga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
 
Jquery 1.3 cheatsheet_v1
Jquery 1.3 cheatsheet_v1Jquery 1.3 cheatsheet_v1
Jquery 1.3 cheatsheet_v1
 
Jquery 13 cheatsheet_v1
Jquery 13 cheatsheet_v1Jquery 13 cheatsheet_v1
Jquery 13 cheatsheet_v1
 
Groovy 1.8の新機能について
Groovy 1.8の新機能についてGroovy 1.8の新機能について
Groovy 1.8の新機能について
 
GeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassleGeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassle
 
5-minute intro to property-based testing in Python with hypothesis
5-minute intro to property-based testing in Python with hypothesis5-minute intro to property-based testing in Python with hypothesis
5-minute intro to property-based testing in Python with hypothesis
 
Java 8 new features or the ones you might actually use
Java 8 new features or the ones you might actually useJava 8 new features or the ones you might actually use
Java 8 new features or the ones you might actually use
 
0003 es5 핵심 정리
0003 es5 핵심 정리0003 es5 핵심 정리
0003 es5 핵심 정리
 
LetSwift RxSwift 시작하기
LetSwift RxSwift 시작하기LetSwift RxSwift 시작하기
LetSwift RxSwift 시작하기
 
CodeCamp Iasi 10 march 2012 - Practical Groovy
CodeCamp Iasi 10 march 2012 - Practical GroovyCodeCamp Iasi 10 march 2012 - Practical Groovy
CodeCamp Iasi 10 march 2012 - Practical Groovy
 
Ejemplo radio
Ejemplo radioEjemplo radio
Ejemplo radio
 
Important java programs(collection+file)
Important java programs(collection+file)Important java programs(collection+file)
Important java programs(collection+file)
 
EMFPath
EMFPathEMFPath
EMFPath
 
RxSwift 활용하기 - Let'Swift 2017
RxSwift 활용하기 - Let'Swift 2017RxSwift 활용하기 - Let'Swift 2017
RxSwift 활용하기 - Let'Swift 2017
 
Scala in practice
Scala in practiceScala in practice
Scala in practice
 

Viewers also liked

Guava
GuavaGuava
Guava
PPRC AYUR
 
Guava diseases ppt
Guava diseases pptGuava diseases ppt
Guava diseases ppt
susheel kumar
 
Meadow orchrad in_guava
Meadow orchrad in_guavaMeadow orchrad in_guava
Meadow orchrad in_guava
Momin Saeed
 
Guava and its prouduction technology
Guava and its prouduction technologyGuava and its prouduction technology
Guava and its prouduction technology
Shahzad Ali
 
B.sc. agri i po h unit 4.4 cultivation practices of guava
B.sc. agri i po h unit 4.4 cultivation practices of guavaB.sc. agri i po h unit 4.4 cultivation practices of guava
B.sc. agri i po h unit 4.4 cultivation practices of guava
Rai University
 
Apache ZooKeeper
Apache ZooKeeperApache ZooKeeper
Apache ZooKeeper
Scott Leberknight
 
Guava Overview. Part 1 @ Bucharest JUG #1
Guava Overview. Part 1 @ Bucharest JUG #1 Guava Overview. Part 1 @ Bucharest JUG #1
Guava Overview. Part 1 @ Bucharest JUG #1
Andrei Savu
 
Презентация 100 t производства креветок_rus_9.03.2016
Презентация 100 t производства креветок_rus_9.03.2016Презентация 100 t производства креветок_rus_9.03.2016
Презентация 100 t производства креветок_rus_9.03.2016
Gints Dzelme
 
Google guava(최종)
Google guava(최종)Google guava(최종)
Google guava(최종)Heekyung Jung
 
17. medicinal plants problems of marketing of medicinal plants in pakistan By...
17. medicinal plants problems of marketing of medicinal plants in pakistan By...17. medicinal plants problems of marketing of medicinal plants in pakistan By...
17. medicinal plants problems of marketing of medicinal plants in pakistan By...
Mr.Allah Dad Khan
 
Guava medicinal value
Guava   medicinal valueGuava   medicinal value
Guava medicinal valueArise Roby
 
Cloudera Impala, updated for v1.0
Cloudera Impala, updated for v1.0Cloudera Impala, updated for v1.0
Cloudera Impala, updated for v1.0
Scott Leberknight
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScript
Scott Leberknight
 
Rack
RackRack
jps & jvmtop
jps & jvmtopjps & jvmtop
jps & jvmtop
Scott Leberknight
 
Nutrition, diet, factors, bmr, food serving
Nutrition, diet, factors, bmr, food servingNutrition, diet, factors, bmr, food serving
Nutrition, diet, factors, bmr, food serving
slideshareacount
 
iOS
iOSiOS
wtf is in Java/JDK/wtf7?
wtf is in Java/JDK/wtf7?wtf is in Java/JDK/wtf7?
wtf is in Java/JDK/wtf7?
Scott Leberknight
 

Viewers also liked (20)

Guava
GuavaGuava
Guava
 
Guava diseases ppt
Guava diseases pptGuava diseases ppt
Guava diseases ppt
 
Meadow orchrad in_guava
Meadow orchrad in_guavaMeadow orchrad in_guava
Meadow orchrad in_guava
 
Guava and its prouduction technology
Guava and its prouduction technologyGuava and its prouduction technology
Guava and its prouduction technology
 
B.sc. agri i po h unit 4.4 cultivation practices of guava
B.sc. agri i po h unit 4.4 cultivation practices of guavaB.sc. agri i po h unit 4.4 cultivation practices of guava
B.sc. agri i po h unit 4.4 cultivation practices of guava
 
Apache ZooKeeper
Apache ZooKeeperApache ZooKeeper
Apache ZooKeeper
 
Guava Overview. Part 1 @ Bucharest JUG #1
Guava Overview. Part 1 @ Bucharest JUG #1 Guava Overview. Part 1 @ Bucharest JUG #1
Guava Overview. Part 1 @ Bucharest JUG #1
 
Презентация 100 t производства креветок_rus_9.03.2016
Презентация 100 t производства креветок_rus_9.03.2016Презентация 100 t производства креветок_rus_9.03.2016
Презентация 100 t производства креветок_rus_9.03.2016
 
Google guava(최종)
Google guava(최종)Google guava(최종)
Google guava(최종)
 
17. medicinal plants problems of marketing of medicinal plants in pakistan By...
17. medicinal plants problems of marketing of medicinal plants in pakistan By...17. medicinal plants problems of marketing of medicinal plants in pakistan By...
17. medicinal plants problems of marketing of medicinal plants in pakistan By...
 
Guava medicinal value
Guava   medicinal valueGuava   medicinal value
Guava medicinal value
 
Polyglot Persistence
Polyglot PersistencePolyglot Persistence
Polyglot Persistence
 
Cloudera Impala, updated for v1.0
Cloudera Impala, updated for v1.0Cloudera Impala, updated for v1.0
Cloudera Impala, updated for v1.0
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScript
 
Rack
RackRack
Rack
 
jps & jvmtop
jps & jvmtopjps & jvmtop
jps & jvmtop
 
Layering
LayeringLayering
Layering
 
Nutrition, diet, factors, bmr, food serving
Nutrition, diet, factors, bmr, food servingNutrition, diet, factors, bmr, food serving
Nutrition, diet, factors, bmr, food serving
 
iOS
iOSiOS
iOS
 
wtf is in Java/JDK/wtf7?
wtf is in Java/JDK/wtf7?wtf is in Java/JDK/wtf7?
wtf is in Java/JDK/wtf7?
 

Similar to Google Guava

New syntax elements of java 7
New syntax elements of java 7New syntax elements of java 7
New syntax elements of java 7
Orange and Bronze Software Labs
 
Java 7 & 8 New Features
Java 7 & 8 New FeaturesJava 7 & 8 New Features
Java 7 & 8 New Features
Leandro Coutinho
 
Softshake 2013: 10 reasons why java developers are jealous of Scala developers
Softshake 2013: 10 reasons why java developers are jealous of Scala developersSoftshake 2013: 10 reasons why java developers are jealous of Scala developers
Softshake 2013: 10 reasons why java developers are jealous of Scala developers
Matthew Farwell
 
Not your father's tests
Not your father's testsNot your father's tests
Not your father's tests
Sean P. Floyd
 
devday2012
devday2012devday2012
devday2012
Juan Lopes
 
Java best practices
Java best practicesJava best practices
Java best practices
Ray Toal
 
What is new in java 8 concurrency
What is new in java 8 concurrencyWhat is new in java 8 concurrency
What is new in java 8 concurrency
kshanth2101
 
Testing Java Code Effectively
Testing Java Code EffectivelyTesting Java Code Effectively
Testing Java Code Effectively
Andres Almiray
 
Comparing JVM languages
Comparing JVM languagesComparing JVM languages
Comparing JVM languages
Jose Manuel Ortega Candel
 
Java 7 Whats New(), Whats Next() from Oredev
Java 7 Whats New(), Whats Next() from OredevJava 7 Whats New(), Whats Next() from Oredev
Java 7 Whats New(), Whats Next() from Oredev
Mattias Karlsson
 
모던자바의 역습
모던자바의 역습모던자바의 역습
모던자바의 역습
DoHyun Jung
 
Beyond java8
Beyond java8Beyond java8
Beyond java8
Muhammad Durrah
 
OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?
OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?
OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?
Henri Tremblay
 
Devoxx 15 equals hashcode
Devoxx 15 equals hashcodeDevoxx 15 equals hashcode
Devoxx 15 equals hashcodebleporini
 
Javaslang Talk @ Javaland 2017
Javaslang Talk @ Javaland 2017Javaslang Talk @ Javaland 2017
Javaslang Talk @ Javaland 2017
David Schmitz
 
Understanding JavaScript Testing
Understanding JavaScript TestingUnderstanding JavaScript Testing
Understanding JavaScript Testing
jeresig
 
Testing, Performance Analysis, and jQuery 1.4
Testing, Performance Analysis, and jQuery 1.4Testing, Performance Analysis, and jQuery 1.4
Testing, Performance Analysis, and jQuery 1.4
jeresig
 
Junit and testNG
Junit and testNGJunit and testNG
Junit and testNG
Марія Русин
 
Intro to scala
Intro to scalaIntro to scala
Intro to scalaJoe Zulli
 

Similar to Google Guava (20)

New syntax elements of java 7
New syntax elements of java 7New syntax elements of java 7
New syntax elements of java 7
 
Java 7 & 8 New Features
Java 7 & 8 New FeaturesJava 7 & 8 New Features
Java 7 & 8 New Features
 
Softshake 2013: 10 reasons why java developers are jealous of Scala developers
Softshake 2013: 10 reasons why java developers are jealous of Scala developersSoftshake 2013: 10 reasons why java developers are jealous of Scala developers
Softshake 2013: 10 reasons why java developers are jealous of Scala developers
 
Not your father's tests
Not your father's testsNot your father's tests
Not your father's tests
 
devday2012
devday2012devday2012
devday2012
 
Java best practices
Java best practicesJava best practices
Java best practices
 
What is new in java 8 concurrency
What is new in java 8 concurrencyWhat is new in java 8 concurrency
What is new in java 8 concurrency
 
Testing Java Code Effectively
Testing Java Code EffectivelyTesting Java Code Effectively
Testing Java Code Effectively
 
Comparing JVM languages
Comparing JVM languagesComparing JVM languages
Comparing JVM languages
 
Java 7 Whats New(), Whats Next() from Oredev
Java 7 Whats New(), Whats Next() from OredevJava 7 Whats New(), Whats Next() from Oredev
Java 7 Whats New(), Whats Next() from Oredev
 
모던자바의 역습
모던자바의 역습모던자바의 역습
모던자바의 역습
 
Beyond java8
Beyond java8Beyond java8
Beyond java8
 
OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?
OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?
OracleCode One 2018: Java 5, 6, 7, 8, 9, 10, 11: What Did You Miss?
 
Devoxx 15 equals hashcode
Devoxx 15 equals hashcodeDevoxx 15 equals hashcode
Devoxx 15 equals hashcode
 
Javaslang Talk @ Javaland 2017
Javaslang Talk @ Javaland 2017Javaslang Talk @ Javaland 2017
Javaslang Talk @ Javaland 2017
 
Understanding JavaScript Testing
Understanding JavaScript TestingUnderstanding JavaScript Testing
Understanding JavaScript Testing
 
Testing, Performance Analysis, and jQuery 1.4
Testing, Performance Analysis, and jQuery 1.4Testing, Performance Analysis, and jQuery 1.4
Testing, Performance Analysis, and jQuery 1.4
 
Junit and testNG
Junit and testNGJunit and testNG
Junit and testNG
 
Scala ntnu
Scala ntnuScala ntnu
Scala ntnu
 
Intro to scala
Intro to scalaIntro to scala
Intro to scala
 

More from Scott Leberknight

JShell & ki
JShell & kiJShell & ki
JShell & ki
Scott Leberknight
 
JUnit Pioneer
JUnit PioneerJUnit Pioneer
JUnit Pioneer
Scott Leberknight
 
JDKs 10 to 14 (and beyond)
JDKs 10 to 14 (and beyond)JDKs 10 to 14 (and beyond)
JDKs 10 to 14 (and beyond)
Scott Leberknight
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Scott Leberknight
 
SDKMAN!
SDKMAN!SDKMAN!
JUnit 5
JUnit 5JUnit 5
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
Scott Leberknight
 
Dropwizard
DropwizardDropwizard
Dropwizard
Scott Leberknight
 
RESTful Web Services with Jersey
RESTful Web Services with JerseyRESTful Web Services with Jersey
RESTful Web Services with Jersey
Scott Leberknight
 
httpie
httpiehttpie
Java 8 Lambda Expressions
Java 8 Lambda ExpressionsJava 8 Lambda Expressions
Java 8 Lambda Expressions
Scott Leberknight
 
Cloudera Impala
Cloudera ImpalaCloudera Impala
Cloudera Impala
Scott Leberknight
 
HBase Lightning Talk
HBase Lightning TalkHBase Lightning Talk
HBase Lightning Talk
Scott Leberknight
 
Hadoop
HadoopHadoop

More from Scott Leberknight (14)

JShell & ki
JShell & kiJShell & ki
JShell & ki
 
JUnit Pioneer
JUnit PioneerJUnit Pioneer
JUnit Pioneer
 
JDKs 10 to 14 (and beyond)
JDKs 10 to 14 (and beyond)JDKs 10 to 14 (and beyond)
JDKs 10 to 14 (and beyond)
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
SDKMAN!
SDKMAN!SDKMAN!
SDKMAN!
 
JUnit 5
JUnit 5JUnit 5
JUnit 5
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
Dropwizard
DropwizardDropwizard
Dropwizard
 
RESTful Web Services with Jersey
RESTful Web Services with JerseyRESTful Web Services with Jersey
RESTful Web Services with Jersey
 
httpie
httpiehttpie
httpie
 
Java 8 Lambda Expressions
Java 8 Lambda ExpressionsJava 8 Lambda Expressions
Java 8 Lambda Expressions
 
Cloudera Impala
Cloudera ImpalaCloudera Impala
Cloudera Impala
 
HBase Lightning Talk
HBase Lightning TalkHBase Lightning Talk
HBase Lightning Talk
 
Hadoop
HadoopHadoop
Hadoop
 

Recently uploaded

Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

Google Guava