SlideShare a Scribd company logo
REDIS
For Developer
3rd WEEK
SATURDAY, JULY 06, 2013 – SUNDAY, JULY 07, 2013
GEEK ACADEMY 2013
INSTRUCTOR TEAM
TAVEE SOMKIAT THAWATCHAI
Tavee (Vee) Khunbida Somkiat (Pui) Puisungnuen Thawatchai (Boy) Jongsuwanpaisan
Siam Chamnan Kit
tavee@sprint3r.com
Siam Chamnan Kit
somkiat@sprint3r.com
Siam Chamnan Kit
thawatchai@sprint3r.com
WHAT IS REDIS ?
o REmote DIrectory Server
o By Salvatore Sanfilippo (@antirez) working at VMWare
o March 2009
o redis.io
WHAT IS REDIS ?
o REmote DIrectory Server
o NOSQL => Key-Value
o Data Structure Server
NOSQL ( Not Only SQL )
o Key-Value Store
o Document Database
o Column Store
o Graph Database
http://www.10gen.com/nosql
NOSQL ( Not Only SQL )
o Key-Value Store
o Redis, Riak, Memcached, Tokyo Cabinet, LevelDB
o Document Database
o MongoDB, CouchDB, RethinkDB
o Column Family Store
o Cassandra, Hadoop, HBase
o Graph Database
o Neo4J, HyperGraphDB, InfoGrid
WHY WE USE REDIS ?
o Very Fast ( In memory )
o Few Dependencies
o Single Thread
o Lot of client available
o Java
o Ruby
o PHP
o Python
o .Net
FEATURES
o Values Type
o String
o List
o Set
o Hash
o Sorted Set
o Persistence
o Memory
o Snapshot
o Append Only Log ( AOL )
FEATURES
o Replication
o Master-Slave
o Pub-Sub
o Clustering ( Beta version )
WHO USE REDIS ?
http://redis.io/topics/whos-using-redis
REDIS IN PRACTICE
o View Count
o Presence
o Activity Feed
o Suggestion
o Caching
o Tracking
o Logging
o ….
DATA STRUCTURE
GEEK ACADEMY 2013
List
o List of String
o Sorted by insertion order
o Max length of List = 232 -1
o Big O
o Add operation = O(1)
o Access operation = O(S+N)
o Update = O(1)
o Delete = O(1)
Set
o Unordered collections of String
o Not repeat members
o Max length of List = 232 -1
o Operation => Union, Intersection, Different
o Big O
o Add operation = O(N)
o Access operation = O(N)
o Update = O(1)
o Delete = O(1)
o Exists = O(1)
Sorted Set
o Like Set BUT …
o Ordered collections of String by Score
o Big O
o Add operation = O(log(N))
o Access operation = O(log(N)+M)
o Delete = O(M*log(N))
Hash
o Mapping Key-Value
o Max length of List = 232 -1
o Big O
o Add operation = O(N)
o Access operation = O(1)
o Delete = O(1)
Summary
INSTALLATION FOR
DEV
GEEK ACADEMY 2013
FOR WINDOWS
o Download at
o https://github.com/dmajkic/redis/downloads
o Commands
o redis-server.exe
o redis-cli.exe
o redis-benchmark
FOR UNIX
$ wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz
$ tar xzf redis-2.6.14.tar.gz
$ cd redis-2.6.14
$ make
Starting server
$ src/redis-server
Interact with Redis
$ src/redis-cli
FOR MAC
o Up to you
INSTALLATION FOR
DEVOPS
GEEK ACADEMY 2013
VAGRANT + PUPPET
o OS = Ubuntu
o Configure repository of Redis
o Install with apt-get
Configure repository
Install and Starting Redis Service
Install on Virtual Machine
$vagrant up
$vagrant reload
$vagrant provision
BASIC USAGE
GEEK ACADEMY 2013
LET’S DEMO
o redis-cli
o http://try.redis.io/
o http://redis.io/commands
DEMO 1
o PING
o INFO
o KEYS
o EXISTS
o DEL
o FLUSHDB
DEMO 2 :: Working with String
o SET
o GET
o GETRANGE
o APPEND
DEMO 3 :: Counter
o INCR
o INCRBY
o DECR
o DECRBY
DEMO 4 :: Working with List
o LPUSH
o RPUSH
o LRANGE
o LTRIM
o LLEN
DEMO 5 :: Working with Set
o SADD
o SMEMBERS
o SINTER
o SPOP
o SRANDMEMBER
o SUNIONSTORE
DEMO 6 :: Working with Sorted Set
o ZADD
o ZRANGE
o ZRANGEBYSCORE
o ZRANK
o ZINCRBY
o ZREVRANGE
DEMO 7 :: Working with Hash
o HSET
o HGET
o HGETALL
o HDEL
o HEXISTS
o HLEN
o HMSET
o HMGET
REDIS#VIEW COUNT
GEEK ACADEMY 2013
View count with Redis
REDIS#PRESENCE
GEEK ACADEMY 2013
Presence with Redis
o Presence = Who’s Online ?
o What’s Data Structure ?
Presence with Redis
Online
Users Friends
Data Structure ?
o List
o Set
o Sorted Set
Implementation ?
o Set
o Define Key
o Online user
o Key = user:online:<time>
o Value = <user id>
o Friends
o Key = user:friend:<user id>
o Value = <user id>
Implementation ?
o Online Users
o sadd user:online:1 1
o sadd user:online:1 2
o sadd user:online:1 3
o sadd user:online:2 3
o sadd user:online:2 4
Implementation ?
o Friends by User
o sadd user:friend:1 2
o sadd user:friend:1 3
Implementation ?
o Find Friends are online in last 2 minutes
o sunionstore online_users user:online:1 user:online:2
o sinter online_users user:friend:1
Presence with Redis
REDIS#SUGGESTION
GEEK ACADEMY 2013
Keyword Suggestion with Redis
DBRMS Solution
o SELECT KEYWORD
o FROM SOME_TABLE
o WHERE LOWER(KEYWORD) LIKE “redis%”
Redis Solution
o What is Data Structure ?
o List
o Set
o Sorted Set
Implementation ?
o Sorted Set
o Example => redis
o r
o re
o red
o redi
o redis
Specified word
o Example => redis
o r
o re
o red
o red*
o redi
o redis
o redis*
Algorithm
o Called N-gram
http://en.wikipedia.org/wiki/N-gram
http://books.google.com/ngrams/
Add data to Redis Sorted Set
o zadd my_data 0 r
o zadd my_data 0 re
o zadd my_data 0 red
o zadd my_data 0 red*
o zadd my_data 0 redi
o zadd my_data 0 redis
o zadd my_data 0 redis*
List of data in Sorted Set
o zrange my_data 0 -1
o zrank my_data r
o zrank my_data re
How to apply in application ?
o Let’s discussion
REDIS#CACHING
GEEK ACADEMY 2013
Caching
o Denormalization Data
o Generalization Cache with LRU, TTL
Redis :: Memory policy
o Volatile-LRU
o Volatile-TTL
o Volatile-Random
o AllKeys-LRU
o AllKeys-Random
o NoEviction
WORKING WITH JAVA
GEEK ACADEMY 2013
Redis Client Library
o Jedis
o JRedis
o JDBC-Redis
o RJC
o Redis-protocol
o Lettuce
http://redis.io/clients
For Traditional Developer
o Goto web
o Search and Download
o Copy to build path of project !!!!
o Not for geek ….
For Geek
o Use Maven or Gradle
Jedis
o https://github.com/xetorthio/jedis
o Maven Dependency
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.0.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
Jedis :: Easy to use
Jedis jedis = new Jedis("localhost");
jedis.set("foo", "bar");
String value = jedis.get("foo");
WORKING WITH
SPRING FRAMEWORK
GEEK ACADEMY 2013
Let’s go
o We use Spring Data with Redis
o http://www.springsource.org/spring-data/redis
Working with Maven
<repository>
<id>spring-release</id>
<name>Spring Maven RELEASE Repository</name>
<url>http://maven.springframework.org/release</url>
</repository>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.0.5.RELEASE</version>
</dependency>
Working with Annotation
@Configuration
public class RedisConfig {
@Bean
JedisConnectionFactory jedisConnectionFactory() {
JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
jedisConnectionFactory.setHostName(redisHost);
jedisConnectionFactory.setPort(redisPort);
return jedisConnectionFactory;
}
@Bean
RedisTemplate<String, String> redisTemplate() {
final RedisTemplate<String, String> template = new RedisTemplate<String, String>();
template.setConnectionFactory(jedisConnectionFactory());
template.setKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(new GenericToStringSerializer<Object>(Object.class));
template.setValueSerializer(new GenericToStringSerializer<Object>(Object.class));
return template;
}
}
Using RedisTemplate in Repository
@Repository
public class LoggingDaoImpl implements LoggingDao {
private final static String LOGGING_KEY = "logging";
@Autowired
RedisTemplate<String, String> redisTemplate;
public void addData(String key, String value) {
redisTemplate.opsForList().rightPush(LOGGING_KEY, key);
redisTemplate.opsForValue().set(key, value);
System.out.println( LOGGING_KEY );
System.out.println( key );
}
}
See more
o https://github.com/up1/geeky_week3_demo
o https://github.com/up1/Spring-Framework-
Demo/tree/master/SpringRedis
Question ?
GEEK ACADEMY 2013
THANK YOU FOR
YOUR TIME
GEEK ACADEMY 2013

More Related Content

Viewers also liked

Подходы компании «ЭОС» к организации обследования системы делопроизводства и ...
Подходы компании «ЭОС» к организации обследования системы делопроизводства и ...Подходы компании «ЭОС» к организации обследования системы делопроизводства и ...
Подходы компании «ЭОС» к организации обследования системы делопроизводства и ...
Natasha Khramtsovsky
 
Burgerinitiatieven in Brussel en Londen (Jim Segers)
Burgerinitiatieven in Brussel en Londen (Jim Segers)Burgerinitiatieven in Brussel en Londen (Jim Segers)
Burgerinitiatieven in Brussel en Londen (Jim Segers)
Socius - steunpunt sociaal-cultureel werk
 
Minette's Snowman
Minette's SnowmanMinette's Snowman
Minette's Snowman
jbirdink
 
Recensioni2.0 a Webdays2008 by Di Tomaso - Blogmeter
Recensioni2.0 a Webdays2008 by Di Tomaso - BlogmeterRecensioni2.0 a Webdays2008 by Di Tomaso - Blogmeter
Recensioni2.0 a Webdays2008 by Di Tomaso - Blogmeter
guest66bbf5
 
Special Hot Air Balloons2
Special Hot Air Balloons2Special Hot Air Balloons2
Special Hot Air Balloons2Sojourner1
 
If-If-If-If
If-If-If-IfIf-If-If-If
If-If-If-If
Somkiat Puisungnoen
 
Nursing Home Joke
Nursing Home JokeNursing Home Joke
Nursing Home JokeSojourner1
 
M P R Tech 2008 R T E
M P R Tech 2008  R T EM P R Tech 2008  R T E
M P R Tech 2008 R T Eandychang
 
Ctel Module3 Sep07 1
Ctel Module3 Sep07 1Ctel Module3 Sep07 1
Ctel Module3 Sep07 1mrounds5
 
Lab van Troje (Dries Gysels)
Lab van Troje (Dries Gysels)Lab van Troje (Dries Gysels)
Lab van Troje (Dries Gysels)
Socius - steunpunt sociaal-cultureel werk
 
Зарубежный опыт создания государственных электронных архивов
Зарубежный опыт создания государственных электронных архивовЗарубежный опыт создания государственных электронных архивов
Зарубежный опыт создания государственных электронных архивов
Natasha Khramtsovsky
 
Workshop 'Omgevingsanalyse'
Workshop 'Omgevingsanalyse'Workshop 'Omgevingsanalyse'
Workshop 'Omgevingsanalyse'
Socius - steunpunt sociaal-cultureel werk
 
Changemakers
ChangemakersChangemakers
Sociaal-culturele methodiek
Sociaal-culturele methodiekSociaal-culturele methodiek
Sociaal-culturele methodiek
Socius - steunpunt sociaal-cultureel werk
 
Public relations?!
Public relations?!Public relations?!
Установление сроков хранения документов: государственный и корпоративный подходы
Установление сроков хранения документов: государственный и корпоративный подходыУстановление сроков хранения документов: государственный и корпоративный подходы
Установление сроков хранения документов: государственный и корпоративный подходы
Natasha Khramtsovsky
 
PROEXPOSURE We are family
PROEXPOSURE We are familyPROEXPOSURE We are family
PROEXPOSURE We are familyPROEXPOSURE CIC
 
PROEXPOSURE Baba Dos Amigos
PROEXPOSURE Baba Dos Amigos PROEXPOSURE Baba Dos Amigos
PROEXPOSURE Baba Dos Amigos PROEXPOSURE CIC
 
Fmc Ver 1.3 June 27 2007
Fmc Ver 1.3 June 27 2007Fmc Ver 1.3 June 27 2007
Fmc Ver 1.3 June 27 2007
Jack Brown
 

Viewers also liked (20)

Подходы компании «ЭОС» к организации обследования системы делопроизводства и ...
Подходы компании «ЭОС» к организации обследования системы делопроизводства и ...Подходы компании «ЭОС» к организации обследования системы делопроизводства и ...
Подходы компании «ЭОС» к организации обследования системы делопроизводства и ...
 
Burgerinitiatieven in Brussel en Londen (Jim Segers)
Burgerinitiatieven in Brussel en Londen (Jim Segers)Burgerinitiatieven in Brussel en Londen (Jim Segers)
Burgerinitiatieven in Brussel en Londen (Jim Segers)
 
Minette's Snowman
Minette's SnowmanMinette's Snowman
Minette's Snowman
 
Recensioni2.0 a Webdays2008 by Di Tomaso - Blogmeter
Recensioni2.0 a Webdays2008 by Di Tomaso - BlogmeterRecensioni2.0 a Webdays2008 by Di Tomaso - Blogmeter
Recensioni2.0 a Webdays2008 by Di Tomaso - Blogmeter
 
Special Hot Air Balloons2
Special Hot Air Balloons2Special Hot Air Balloons2
Special Hot Air Balloons2
 
If-If-If-If
If-If-If-IfIf-If-If-If
If-If-If-If
 
Nursing Home Joke
Nursing Home JokeNursing Home Joke
Nursing Home Joke
 
M P R Tech 2008 R T E
M P R Tech 2008  R T EM P R Tech 2008  R T E
M P R Tech 2008 R T E
 
Ctel Module3 Sep07 1
Ctel Module3 Sep07 1Ctel Module3 Sep07 1
Ctel Module3 Sep07 1
 
Lab van Troje (Dries Gysels)
Lab van Troje (Dries Gysels)Lab van Troje (Dries Gysels)
Lab van Troje (Dries Gysels)
 
Зарубежный опыт создания государственных электронных архивов
Зарубежный опыт создания государственных электронных архивовЗарубежный опыт создания государственных электронных архивов
Зарубежный опыт создания государственных электронных архивов
 
Workshop 'Omgevingsanalyse'
Workshop 'Omgevingsanalyse'Workshop 'Omgevingsanalyse'
Workshop 'Omgevingsanalyse'
 
Changemakers
ChangemakersChangemakers
Changemakers
 
Sociaal-culturele methodiek
Sociaal-culturele methodiekSociaal-culturele methodiek
Sociaal-culturele methodiek
 
Public relations?!
Public relations?!Public relations?!
Public relations?!
 
Установление сроков хранения документов: государственный и корпоративный подходы
Установление сроков хранения документов: государственный и корпоративный подходыУстановление сроков хранения документов: государственный и корпоративный подходы
Установление сроков хранения документов: государственный и корпоративный подходы
 
PROEXPOSURE We are family
PROEXPOSURE We are familyPROEXPOSURE We are family
PROEXPOSURE We are family
 
Git 101 for_tarad_dev
Git 101 for_tarad_devGit 101 for_tarad_dev
Git 101 for_tarad_dev
 
PROEXPOSURE Baba Dos Amigos
PROEXPOSURE Baba Dos Amigos PROEXPOSURE Baba Dos Amigos
PROEXPOSURE Baba Dos Amigos
 
Fmc Ver 1.3 June 27 2007
Fmc Ver 1.3 June 27 2007Fmc Ver 1.3 June 27 2007
Fmc Ver 1.3 June 27 2007
 

Similar to Geek Academy Week 3 :: Redis for developer

SQL Server - Introduction to TSQL
SQL Server - Introduction to TSQLSQL Server - Introduction to TSQL
SQL Server - Introduction to TSQLPeter Gfader
 
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Jeffrey Breen
 
Redispresentation apac2012
Redispresentation apac2012Redispresentation apac2012
Redispresentation apac2012
Ankur Gupta
 
ACADILD:: HADOOP LESSON
ACADILD:: HADOOP LESSON ACADILD:: HADOOP LESSON
ACADILD:: HADOOP LESSON
Padma shree. T
 
Beyond relational database - Building high performance websites using Redis a...
Beyond relational database - Building high performance websites using Redis a...Beyond relational database - Building high performance websites using Redis a...
Beyond relational database - Building high performance websites using Redis a...Dinh Pham
 
User biglm
User biglmUser biglm
User biglm
johnatan pladott
 
DrupalCon Chicago Practical MongoDB and Drupal
DrupalCon Chicago Practical MongoDB and DrupalDrupalCon Chicago Practical MongoDB and Drupal
DrupalCon Chicago Practical MongoDB and Drupal
Doug Green
 
ComputeFest 2012: Intro To R for Physical Sciences
ComputeFest 2012: Intro To R for Physical SciencesComputeFest 2012: Intro To R for Physical Sciences
ComputeFest 2012: Intro To R for Physical Sciencesalexstorer
 
Anatomy of Open edX at DjangoCon 2018 (San Diego)
Anatomy of Open edX at DjangoCon 2018 (San Diego)Anatomy of Open edX at DjangoCon 2018 (San Diego)
Anatomy of Open edX at DjangoCon 2018 (San Diego)
Nate Aune
 
groovy rules
groovy rulesgroovy rules
groovy rulesPaul King
 
Bringing the Semantic Web closer to reality: PostgreSQL as RDF Graph Database
Bringing the Semantic Web closer to reality: PostgreSQL as RDF Graph DatabaseBringing the Semantic Web closer to reality: PostgreSQL as RDF Graph Database
Bringing the Semantic Web closer to reality: PostgreSQL as RDF Graph Database
Jimmy Angelakos
 
SQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDBSQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDB
Marco Segato
 
20180420 hk-the powerofmysql8
20180420 hk-the powerofmysql820180420 hk-the powerofmysql8
20180420 hk-the powerofmysql8
Ivan Ma
 
RMySQL Tutorial For Beginners
RMySQL Tutorial For BeginnersRMySQL Tutorial For Beginners
RMySQL Tutorial For Beginners
Rsquared Academy
 
R & CDK: A Sturdy Platform in the Oceans of Chemical Data}
R & CDK: A Sturdy Platform in the Oceans of Chemical Data}R & CDK: A Sturdy Platform in the Oceans of Chemical Data}
R & CDK: A Sturdy Platform in the Oceans of Chemical Data}Rajarshi Guha
 
Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)
Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)
Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)
Serban Tanasa
 
Stored-Procedures-Presentation
Stored-Procedures-PresentationStored-Procedures-Presentation
Stored-Procedures-PresentationChuck Walker
 
Overview of running R in the Oracle Database
Overview of running R in the Oracle DatabaseOverview of running R in the Oracle Database
Overview of running R in the Oracle Database
Brendan Tierney
 
RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)
Daniel Nüst
 
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
Codemotion
 

Similar to Geek Academy Week 3 :: Redis for developer (20)

SQL Server - Introduction to TSQL
SQL Server - Introduction to TSQLSQL Server - Introduction to TSQL
SQL Server - Introduction to TSQL
 
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
Big Data Step-by-Step: Using R & Hadoop (with RHadoop's rmr package)
 
Redispresentation apac2012
Redispresentation apac2012Redispresentation apac2012
Redispresentation apac2012
 
ACADILD:: HADOOP LESSON
ACADILD:: HADOOP LESSON ACADILD:: HADOOP LESSON
ACADILD:: HADOOP LESSON
 
Beyond relational database - Building high performance websites using Redis a...
Beyond relational database - Building high performance websites using Redis a...Beyond relational database - Building high performance websites using Redis a...
Beyond relational database - Building high performance websites using Redis a...
 
User biglm
User biglmUser biglm
User biglm
 
DrupalCon Chicago Practical MongoDB and Drupal
DrupalCon Chicago Practical MongoDB and DrupalDrupalCon Chicago Practical MongoDB and Drupal
DrupalCon Chicago Practical MongoDB and Drupal
 
ComputeFest 2012: Intro To R for Physical Sciences
ComputeFest 2012: Intro To R for Physical SciencesComputeFest 2012: Intro To R for Physical Sciences
ComputeFest 2012: Intro To R for Physical Sciences
 
Anatomy of Open edX at DjangoCon 2018 (San Diego)
Anatomy of Open edX at DjangoCon 2018 (San Diego)Anatomy of Open edX at DjangoCon 2018 (San Diego)
Anatomy of Open edX at DjangoCon 2018 (San Diego)
 
groovy rules
groovy rulesgroovy rules
groovy rules
 
Bringing the Semantic Web closer to reality: PostgreSQL as RDF Graph Database
Bringing the Semantic Web closer to reality: PostgreSQL as RDF Graph DatabaseBringing the Semantic Web closer to reality: PostgreSQL as RDF Graph Database
Bringing the Semantic Web closer to reality: PostgreSQL as RDF Graph Database
 
SQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDBSQL vs NoSQL, an experiment with MongoDB
SQL vs NoSQL, an experiment with MongoDB
 
20180420 hk-the powerofmysql8
20180420 hk-the powerofmysql820180420 hk-the powerofmysql8
20180420 hk-the powerofmysql8
 
RMySQL Tutorial For Beginners
RMySQL Tutorial For BeginnersRMySQL Tutorial For Beginners
RMySQL Tutorial For Beginners
 
R & CDK: A Sturdy Platform in the Oceans of Chemical Data}
R & CDK: A Sturdy Platform in the Oceans of Chemical Data}R & CDK: A Sturdy Platform in the Oceans of Chemical Data}
R & CDK: A Sturdy Platform in the Oceans of Chemical Data}
 
Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)
Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)
Get up to Speed (Quick Guide to data.table in R and Pentaho PDI)
 
Stored-Procedures-Presentation
Stored-Procedures-PresentationStored-Procedures-Presentation
Stored-Procedures-Presentation
 
Overview of running R in the Oracle Database
Overview of running R in the Oracle DatabaseOverview of running R in the Oracle Database
Overview of running R in the Oracle Database
 
RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)
 
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
Perchè potresti aver bisogno di un database NoSQL anche se non sei Google o F...
 

More from Somkiat Puisungnoen

Next of Java 2022
Next of Java 2022Next of Java 2022
Next of Java 2022
Somkiat Puisungnoen
 
Sck spring-reactive
Sck spring-reactiveSck spring-reactive
Sck spring-reactive
Somkiat Puisungnoen
 
Part 2 :: Spring Boot testing
Part 2 :: Spring Boot testingPart 2 :: Spring Boot testing
Part 2 :: Spring Boot testing
Somkiat Puisungnoen
 
vTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring BootvTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring Boot
Somkiat Puisungnoen
 
Lesson learned from React native and Flutter
Lesson learned from React native and FlutterLesson learned from React native and Flutter
Lesson learned from React native and Flutter
Somkiat Puisungnoen
 
Angular :: basic tuning performance
Angular :: basic tuning performanceAngular :: basic tuning performance
Angular :: basic tuning performance
Somkiat Puisungnoen
 
Shared code between projects
Shared code between projectsShared code between projects
Shared code between projects
Somkiat Puisungnoen
 
Distributed Tracing
Distributed Tracing Distributed Tracing
Distributed Tracing
Somkiat Puisungnoen
 
Manage data of service
Manage data of serviceManage data of service
Manage data of service
Somkiat Puisungnoen
 
RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2
Somkiat Puisungnoen
 
Visual testing
Visual testingVisual testing
Visual testing
Somkiat Puisungnoen
 
Cloud Native App
Cloud Native AppCloud Native App
Cloud Native App
Somkiat Puisungnoen
 
Wordpress for Newbie
Wordpress for NewbieWordpress for Newbie
Wordpress for Newbie
Somkiat Puisungnoen
 
Sck Agile in Real World
Sck Agile in Real WorldSck Agile in Real World
Sck Agile in Real World
Somkiat Puisungnoen
 
Clean you code
Clean you codeClean you code
Clean you code
Somkiat Puisungnoen
 
SCK Firestore at CNX
SCK Firestore at CNXSCK Firestore at CNX
SCK Firestore at CNX
Somkiat Puisungnoen
 
Unhappiness Developer
Unhappiness DeveloperUnhappiness Developer
Unhappiness Developer
Somkiat Puisungnoen
 
The Beauty of BAD code
The Beauty of  BAD codeThe Beauty of  BAD code
The Beauty of BAD code
Somkiat Puisungnoen
 
React in the right way
React in the right wayReact in the right way
React in the right way
Somkiat Puisungnoen
 

More from Somkiat Puisungnoen (20)

Next of Java 2022
Next of Java 2022Next of Java 2022
Next of Java 2022
 
Sck spring-reactive
Sck spring-reactiveSck spring-reactive
Sck spring-reactive
 
Part 2 :: Spring Boot testing
Part 2 :: Spring Boot testingPart 2 :: Spring Boot testing
Part 2 :: Spring Boot testing
 
vTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring BootvTalk#1 Microservices with Spring Boot
vTalk#1 Microservices with Spring Boot
 
Lesson learned from React native and Flutter
Lesson learned from React native and FlutterLesson learned from React native and Flutter
Lesson learned from React native and Flutter
 
devops
devops devops
devops
 
Angular :: basic tuning performance
Angular :: basic tuning performanceAngular :: basic tuning performance
Angular :: basic tuning performance
 
Shared code between projects
Shared code between projectsShared code between projects
Shared code between projects
 
Distributed Tracing
Distributed Tracing Distributed Tracing
Distributed Tracing
 
Manage data of service
Manage data of serviceManage data of service
Manage data of service
 
RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2
 
Visual testing
Visual testingVisual testing
Visual testing
 
Cloud Native App
Cloud Native AppCloud Native App
Cloud Native App
 
Wordpress for Newbie
Wordpress for NewbieWordpress for Newbie
Wordpress for Newbie
 
Sck Agile in Real World
Sck Agile in Real WorldSck Agile in Real World
Sck Agile in Real World
 
Clean you code
Clean you codeClean you code
Clean you code
 
SCK Firestore at CNX
SCK Firestore at CNXSCK Firestore at CNX
SCK Firestore at CNX
 
Unhappiness Developer
Unhappiness DeveloperUnhappiness Developer
Unhappiness Developer
 
The Beauty of BAD code
The Beauty of  BAD codeThe Beauty of  BAD code
The Beauty of BAD code
 
React in the right way
React in the right wayReact in the right way
React in the right way
 

Recently uploaded

GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 

Recently uploaded (20)

GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 

Geek Academy Week 3 :: Redis for developer